Git图没有显示分支

时间:2013-04-25 14:24:07

标签: git

为什么我创建一个新分支并对其进行提交时,我没有看到它在我的图形中分支。

这是我正在做的代码:

git init

git add .
git commit -a

... other commits in here

git checkout -b mynewbranch

git add .
git commit -a

git checkout master
git merge mynewbranch

git add .
git commit -a

当我执行git log --graph

时,这是我期望在脑海中看到的
* 47926e1 This is a commit back on master
 \
  * f3dc827 How come i am not seeing a branch in my tree
  * 1cd3018 This should be on my new branch  
 /
* 47f3716 This is my third commit
* 878b018 This is my second commit 
* 2db9f83 Initial commit 

但我看到了这一点:

* 47926e1 This is a commit back on master
* f3dc827 How come i am not seeing a branch in my tree
* 1cd3018 This should be on my new branch
* 47f3716 This is my third commit
* 878b018 This is my second commit
* 2db9f83 Initial commit

我不明白吗?

1 个答案:

答案 0 :(得分:6)

如果您在mynewbranch上工作时没有提交要求,那么您的历史记录将如您所示。在这种情况下,不需要实际合并;合并的主人与mynewbranch的提示相同。如果是这种情况,git将(默认情况下)执行所谓的快进合并; master的分支指针刚刚更新为与合并提示相同的提交。这通常会导致更简单的提交历史记录更容易使用,尤其是在远程存储库中也进行工作时。

如果你想强制合并在git中记录为合并,你可以在git merge上使用--no-ff选项。

在git中,通常认为在可能的情况下避免合并是一种好习惯。