git简单指令
首先放一张学习路线

1、创建版本库
1 2 3
| mkdir huzai //创建一个空目录 cd huzai //进入此目录 git init //初始化git仓库
|
2、添加文件到版本库
1 2
| git add file //将文件添加到缓存区 git commit -m "post message" //提交并附带提交信息
|
3、版本回退
1 2 3
| git reset --hard HEAD^ //HEAD是一个指针,指向当前的版本,^代表上一代版本,HEAD^^代表上两代 git reflog //查询每次提交的commit_id git reset --hard commit_id //根据id进行回退
|
4、管理修改
1
| git diff HEAD -- file //查看工作区(file)与最新版本(HEAD)的区别
|
5、撤销修改
1 2 3 4
| git checkout -- file //直接丢弃工作区的修改(可用于恢复误删的文件) //对于已经添加到缓存的修改 git reset HEAD file //撤销缓存区的修改 git checkout -- file
|
6、删除文件
1 2 3
| rm file //删除本地文件 git rm file //删除版本库中的文件 git commit -m "post delete" //提交删除事务
|
7、连接远程仓库
1 2 3 4 5 6 7
| //先生成连接密钥 ssh-kengen -t rsa -C username //将id_rsa.pub中的内容复制到github的密钥管理中 //再根据github的提示将本地仓库与远程仓库进行关联 git remote add origin git@github.com:username/repository //再推送master分支的所有内容到远程仓库 git push -u origin master
|
8、从远程仓库进行下载
1
| git clone git@github.com:username/repository
|
9、创建新的分支并切换到该分支下
1 2 3
| git checkout -b branchname //创建并切换 git branch branch_name //创建 git checkout branch_name //切换
|
10、合并指定分支到当前分支
11、删除分支
1
| git branch -d branch_name
|
12、如果合并时出现冲突
1 2
| cat conflic_filename //git 会用<<<<< ===== >>>>>>显示不同分支的内容,你则需要手动解决冲突
|
13、分支管理策略
master分支应该是非常稳定的,也就是用于发布最新版本的,平时不应该在上面干活,干活都应该在dev分支上
也就是说dev分支是不稳定的,到了某个时候将dev分支合并到master分支上,你和你的小伙伴应该在各自的分支上干活,然后推送到dev分支上
14、bug分支
1 2 3 4
| git add now_file git stash //保护现场 //这里修改bug git stash pop //提取现场,继续工作
|
15、丢弃一个没有被合并的分支
1
| git branch -D branch_name
|
16、多人协作
1、尝试git push origin branch_name
2、如果推送失败,说明远程分支比你的版本新,则你git pull 拉取远程文件
3、合并你两的分支,如果有冲突则手动解决问题
4、重复1
- 注:如果git pull 提示 no tracking information 则说明远程分支和本地分支没有关联用下面的命令进行关联
1
| git branch --set-uostream-to branch_name origin/branch_name
|
或者你不知道有什么分支
1 2 3
| git remote -v //查看远程仓库的信息 git checkout -b branch_name origin/branch_name //创建本地分支以及远程分支 git branch --set-upstream-to branch_name origin/branch_name //进行关联
|