2016-11-14 449 views
1

对于单个文件,我可以获取合并到git中当前分支的时间吗? 我想找出当文件被合并了(我可以看到在git log只提交时间,谁做了相同的合并范围内的合并以及可能的其他文件。在git中显示合并文件的时间

回答

1
git log --first-parent --merges -1 -- path/to/it 

,并得到其他文件

git rev-list --first-parent --merges -1 @ -- path/to/it \ 
| git show -m --name-only --stdin 

git show -m --name-only $(git rev-list --first-parent --merges -1 @ -- path/to/it) 
+0

试过'git的日志--first父母--merges -1 -m --name只 - 路径/到/ it' - 好像它不改变输出,但是 – eXavier

+0

你必须删除路径,但是这样做,你的'git log'可能会选择另一个提交(更靠近'HEAD')。因此,相反,首先使用第一个命令查找哈希ID,然后运行'git log -m --name-only -1 '(或用'--no-walk'替换'-1',这实际上是类似的更好,但需要更多的打字)。如果你不想从第一步输出完整的'git log',使用'git rev-list',除了只打印哈希ID之外,它就像'git log'。 (或者你可以使用'--format =%H',它指示'git log'打印hash ID;我更喜欢'git rev-list',因为它更高效。) – torek

+0

噢。它只显示一个文件。固定。谢谢@torek。 – jthill