我有一个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
如果之前的分支尚未合并,并且我想使用新分支处理新任务,那么在新分支中避免不需要的分支更改的最佳方法是什么
我几天前遇到一个问题,推送分支更改似乎出现在我的新分支中,我必须通过将所需的更改再次复制到新分支来解决。
感谢。
答案 0 :(得分:1)
使用
--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)。意思是 - 列表。