GIT在推送分支B后创建新的分支C.

时间:2015-04-10 14:55:38

标签: git branch push

我有一个master分支。我创建了一个分支B,将分支B推送到存储库所需的更改。 我的同伴尚未合并更改。

与此同时,我需要处理不同的任务而且我做了

git checkout master
git checkout -b C   

当我运行git branch --contains时,我可以看到

* C
master
B

为什么我看到B分支?如果我从B创建一个新的分支,我想我会看到B.,

git checkout B
git checkout -b C  

如果之前的分支尚未合并,并且我想使用新分支处理新任务,那么在新分支中避免不需要的分支更改的最佳方法是什么

我几天前遇到一个问题,推送分支更改似乎出现在我的新分支中,我必须通过将所需的更改再次复制到新分支来解决。

感谢。

2 个答案:

答案 0 :(得分:1)

来自the docs for git branch

  

使用--contains,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支)...如果参数缺失,则默认为 HEAD < / em>(即当前分支的提示)

此命令显示包含给定提交的分支。由于您没有提供,因此您会看到包含分支C的提示的提交。

由于您尚未向分支C提交任何新内容,因此分支C顶端的提交包含在分支B中(实际上它与分支B)。

答案 1 :(得分:0)

它显示了分支B,因为该分支在master之前,你从master创建了C,因此你的HEAD提交(如果未指定commit则使用)在分支B内。

http://git-scm.com/docs/git-branch

  

- contains []仅列出包含指定提交的分支(如果未指定,则为HEAD)。意思是 - 列表。