我們的git存儲庫中有一個文件正在工作,我想知道誰將這個文件合併到一個分支中。你如何找到誰合併到一個分支的git提交?
我有提交散列標識提交(可以說552a976f1a25f9bad57efb9455e951f6b7b3367f
)引入該文件,並且我知道該文件位於分支staging
。
如何找到合併上述提交到staging
分支的提交的散列?我想查找合併的用戶以及合併的日期。
我們的git存儲庫中有一個文件正在工作,我想知道誰將這個文件合併到一個分支中。你如何找到誰合併到一個分支的git提交?
我有提交散列標識提交(可以說552a976f1a25f9bad57efb9455e951f6b7b3367f
)引入該文件,並且我知道該文件位於分支staging
。
如何找到合併上述提交到staging
分支的提交的散列?我想查找合併的用戶以及合併的日期。
git log <commit-id>..<branch> --ancestry-path --merges --reverse
會給你,因爲你有興趣和的當前狀態的<commit-id>
所發生合併的列表<branch>
。根據您的合併工作流程,您感興趣的合併可能是列表中的第一個或下一個。
這將是大有裨益的
git log --oneline --graph --decorate --ancestry-path --boundary <commit-id>..<branch>
看可視化歷史相關的部分爲您<commit-id>
靠近圖形的底部(其將屬於「圖形界面」 - 標有o
而非*
) 。
git log -1 --merges <hash>
將顯示自<hash>
提交(包括其自身)以來最近的合併提交日誌。
這是一個很好的解決方案,有時合併是第一次合併,但並非總是如此。就我而言,這是我感興趣的第二次合併。 –
'git log
如果我理解正確的話,你有C5,而你正在尋找C6。如果是這樣的話,你可能正在尋找:
git rev-list --merges HEAD --not <hash> --reverse
它會給你你的哈希提交後發生的合併提交列表。我在此命令中使用HEAD
,認爲您在master
(在本例中)或staging
(在您的情況下)。
在一個不太複雜的環境中,你可能正在爲之後發生的第一合流你提交的...但是如果你沒有這樣的機會,你可以試試:
git log --graph --decorate HEAD...<hash>^
或者任何圖形工具來探索你的歷史記錄(如gitk
)...
這是一個實際的合併(與快進合併相對)嗎?你不能只使用'git log path/to/the file'(或'gitk')? – svick
git log顯示提交文件的人的名字,我想查找誰將合併提交到臨時分支上。 –