创建与合并分支
我们创建 dev 分支,然后切换到 dev 分支:
1 | $ git checkout -b dev |
git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:
1 | git branch dev |
然后,用git branch
命令查看当前分支:
1 | $ git branch |
git branch
命令会列出所有分支,当前分支前面会标一个*
号。
然后,我们就可以在dev
分支上正常提交,比如对readme.txt
做个修改,加上一行内容:
1 | 5.创建了一个新分支 |
然后提交:
1 | $ git add readme.txt |
现在,dev
分支的工作完成,我们就可以切换回master
分支:
1 | $ git checkout master |
切换回master
分支后,再查看一个readme.txt
文件,刚才添加的内容不见了!因为那个提交是在dev
分支上,而master
分支此刻的提交点并没有变:
1 | $ cat readme.txt |
现在,我们把dev
分支的工作成果合并到master
分支上:
1 | $ git merge dev |
git merge
命令用于合并指定分支到当前分支。合并后,再查看readme.txt
的内容,就可以看到,和dev
分支的最新提交是完全一样的。
合并完成后,就可以放心地删除dev
分支了:
1 | $ git branch -d dev |
删除后,查看branch
,就只剩下master
分支了:
1 | $ git branch |
常用分支命令
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
删除远程分支:git push origin --delete <name>
本地新建分支后提交到远程: git push origin <name>
多人协作
当你从远程仓库克隆时,实际上 Git 自动把本地的master
分支和远程的master
分支对应起来了,并且,远程仓库的默认名称是origin
。
要查看远程库的信息,用git remote
:
1 | git remote |
或者,用git remote -v
显示更详细的信息:
1 | $ git remote -v |
上面显示了可以抓取和推送的origin
的地址。如果没有推送权限,就看不到push
的地址。
推送分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git 就会把该分支推送到远程库对应的远程分支上:
1 | $ git push origin master |
如果要推送其他分支,比如dev
,就改成:
1 | $ git push origin dev |