19
如果我有一個尚未推送到源的提交哈希,我如何才能爲該提交生成補丁。我想使用git log -p --no-names
,但看不到交換機要傳遞特定的提交哈希。我應該使用不同的git命令嗎?如何爲特定提交獲取「git log」補丁
如果我有一個尚未推送到源的提交哈希,我如何才能爲該提交生成補丁。我想使用git log -p --no-names
,但看不到交換機要傳遞特定的提交哈希。我應該使用不同的git命令嗎?如何爲特定提交獲取「git log」補丁
對於git的日誌補丁:
git log -p -1 <commit>
您應該使用git format-patch
補丁,但:
git format-patch -1 <commit>
http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html
感謝。 format-patch而不是'git log -p'有什麼好處? – 2011-05-05 03:03:30
@Jonathan:這兩種方式都可以作爲一個旨在被人類使用的diff(例如用於審查),但是'git format-patch'的輸出將作者信息和提交消息(以及diff文本)封裝在標準格式,以便它可以被其他工具可靠地解析(例如,'git send-email'將它們作爲電子郵件發送,'git am'應用一個或多個補丁(例如一些已經作爲收到的電子郵件收集到的補丁))。 – 2011-05-05 15:34:21
感謝@Chris,這很有幫助。看起來ubuntu補丁有問題解析'git log -p'的輸出,所以可能是解決方案 – 2011-05-06 00:34:06