您的位置:首页 > 其它

git分支--branch

2016-03-06 17:09 357 查看
分支创建:

$ git branch testing


显示分支:

$ git branch
iss53
* master
testing

如果需要查看每一个分支的最后一次提交
$ git branch -v
iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes


  
--merged
--no-merged
这两个有用的选项可以过滤这个列表中已经合并或尚未合并到当前分支的分支。 如果要查看哪些分支已经合并到当前分支,可以运行
git branch --merged


$ git branch --merged
iss53
* master

查看所有包含未合并工作的分支
$ git branch --no-merged
testing


  

分支切换:

$ git checkout testing


  如果在分支c1有修改且未提交前,切换分支c2,c2指向c1的当前状态(即有修改且未提交的状态),并且c1现场保存。从c2切换回c1后,c1现场恢复(即有修改且未提交的状态)。提交修改后,切换分支c2,c2的未提交状态(即有修改且未提交的状态)消除。

分支创建并切换:

$ git checkout -b iss53
Switched to a new branch "iss53"


  

显示分支情况:

git log --oneline --decorate --graph --all


  


删除分支:

$ git branch -d hotfix
Deleted branch hotfix (3a0874c).


  强制删除:

$ git branch -D hotfix


  

三方合并:

  master
分支所在提交并不是
iss53
分支所在提交的直接祖先。 出现这种情况的时候,Git 会使用两个分支的末端所指的快照(
C4
C5
)以及这两个分支的工作祖先(
C2
),做一个简单的三方合并。



  Git 将此次三方合并的结果做了一个新的快照并且自动创建一个新的提交指向它。 这个被称作一次合并提交,它的特别之处在于他有不止一个父提交。Git 会自行决定选取哪一个提交作为最优的共同祖先,并以此作为合并的基础。



解决冲突:

$ git mergetool


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: