Git是什么?
它是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。git的使用也是实际开发工作中不必可少的、必须熟练掌握的技能之一
学习请继续:
git 中专有名词
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
1、从0使用git
在当前目录新建一个Git代码库
git init
新建一个目录,将其初始化为Git代码库
git init [project-name]
下载一个项目和它的整个代码历史
git clone [url]
2、工作中常用的命令
查看状态
git status
添加
git add .
git commit -m'xxxx'
拉取远程库中的代码
git pull
把本地的更改推到远程
git push
3、我遇到的坑
1、git 认证问题!!!!
fatal: unable to access 'https://git.***********': SSL certificate problem: unable to get local issuer certificate
git config --global http.sslVerify false
2、git clone 时提示警告
提示warning: remote HEAD refers to nonexistent ref, unable to checkout.并且只显示.git文件
原因是.git目录下.git/refs/heads不存在HEAD指向的文件,这个时候可以用git show-ref命令查看
获得如下打印:
f73460e266dec525ca2f9480d3b2d254ce9a1325 refs/remotes/origin/dev
......类似
继续执行命令:
git branch //输入出空
git branch -a //输出 remotes/origin/dev
git checkout remotes/origin/dev // checkout的是git branch -a输出的内容
这样通过ll命令查看,代码下载到工作目录了
接着创建分支:git checkout -b remotes/origin/dev
git branch //可以看到输出*remotes/origin/dev了,不再为空
git branch -m remotes/origin/dev master //重命名分支叫master
git show-ref命令查看也能看到head了
至此,代码都显示出来,问题得到解决。
3、关于重定向基址的解决办法
git status
git add .
git commit -m''
git pull --rebase
git push
if有冲突
git add .
git rebase --continue
git push
4、关于本地与远程不知名冲突
eg:
解决办法:
1、回滚到的冲突之前的那个版本
git reset --hard commit_id (后面的commit_id是你要回滚的指定id)
2、 git status 可以看到本地落后远程 n 次提交
3、然后强制推送 push --force
推荐点我查看哦
Git最出色的一点是:它几乎是100%易上手误操作的。
记住以下几点会让你晚上睡得更香:
- Git基本上不删除数据。即使是那些看起来是删除数据的操作,实际上是为了让你更快的撤销删除,而在向系统添加数据。
- Git基本可以撤销所有操作。我鼓励你更多的实验和探索你的想法,因为这就是使用版本控制系统系统的最主要的好处之一。
- 你团队的每一个成员都在他/她的计算机中有各自的副本。本质上这更像是整个版本控制项目中的冗余备份(包括包括整个历史纪录),你捅了大娄子而且还没办法还原这种情况是极其少见的。