理解git --graph的颜色“逻辑”

时间:2014-11-26 09:46:48

标签: git logging graph colors

如果我尝试用

显示我的git历史记录

git log --graph --decorate

output of: git log  --graph --decorate 我理解分支上颜色变化的逻辑是个问题:

提交 56c477 分支中的颜色从绿色变为红色,而 fix2 <上的 d8fe756 / strong>分支颜色没有变化(仍为绿色)。那么git中颜色变化背后的逻辑是什么?

1 个答案:

答案 0 :(得分:0)

使输出更具人性化

对于您的特定情况,我认为是因为您的提交0abd2有2个孩子,所以绿色保留。然后,因为56c477在合并提交(f21f4)之前,所以颜色会发生变化,因此您可以看到它。

我认为如果您为提交0ffb0

反转了合并,那将会有所不同

您可以使用git rebase来避免复杂的图形,并且每次合并到同一个分支(例如,当您在分支fix3上完成工作时,您可以执行以下操作(某些步骤)可以避免)

# sync your repo
git checkout master
git fetch
git merge --ff origin/master
# rebase your working branch to master
git checkout -
git rebase master
# merge with --no-ff (so you will see the branch in your graph)
git checkout -
git merge --no-ff gix3