如何在git log <file>中显示合并提交?

时间:2017-09-18 01:23:04

标签: git merge

我碰巧遇到这样一种情况:合并可以有效地回滚提交,而不会以任何简单的方式跟踪任何日志,我知道:

*   fcfea4c merge   code.txt:1                       other.txt:a
|\
| * b0f6762 conflict code.txt:1                      other.txt:b
* | 9fe5de2 other  code.txt:2                       other.txt:a
|/
* e0d9522 previous   code.txt:1
* 7a466e5 init    touch code.txt

左侧分支为master,右侧分支为feature,在fcfea4c合并时,文件other.txt存在冲突(code.txt应自动合并为git),如果我在master上运行git checkout HEAD~ .(e0d9522先前提交)然后结束提交。git log code.txt将只显示init(7a466e5)previous(e0d9522)提交以及{{1}提交丢失了。那么有一种简单的方法可以跟踪other(9fe5de2)(显示code.txtother提交)的情况吗?

2 个答案:

答案 0 :(得分:1)

你应该尝试:

git checkout --ours -- others.txt

这应保留合并的历史记录,同时保留您所追求的内容。

答案 1 :(得分:1)

git log --first-parent --graph --all -- code.txt就是答案,--first-parent实际上意味着将合并视为该特定分支(Follow only the first parent commit upon seeing a merge commit.)上的正常提交。