Git学习第三天
git库操作|分支管理|
Git库操作
关联一个库:
git remote add origin git@server-name:path/repo-name.git
如:git remote add origin git@github.com:anzhihe/study.git
第一次推送master分支的所有内容:
git push -u origin master
以后使用命令git push origin master
推送最新修改克隆本地库:
git clone git@github.com:anzhihe/study.git
分支管理
分支的意义
并行工作,隔离干扰,协调统一
分支使用==>[学习地址]
查看分支:
git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
解决冲突==>[学习地址]
当Git无法自动合并分支时,必须解决冲突,然后再提交,合并。修改内容统一才能合并
用git log --graph
命令可以查看分支合并图如($ git log --graph --pretty=oneline --abbrev-commit
),git status
可以查看冲突的文件,也可以直接查看文件的内容,Git用<<<<<<<,=======,>>>>>>>
标记出不同分支的内容分支管理策略==>[学习地址]
BUG分支==>[学习地址]
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场。Feature分支==>[学习地址]
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。多人协作==>[学习地址]
1.首先,可以试图用git push origin branch-name推送自己的修改; 2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 3.如果合并有冲突,则解决冲突,并在本地提交; 4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果
git pull
提示“no tracking information”
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
。
整理自廖雪峰Git教程: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000