如果我有一個給定的提交SHA,只顯示通過該提交添加的文件的最佳方式是什麼?謝謝。如何顯示從git提交中添加的文件?
回答
經過多一點研究,這似乎是一個非常可靠的解決方案。
混帳顯示-m --name狀態-1 -U | grep的$ 'A \ T'
請注意,如果您將'feature'合併到'master'中,並且'master'中有一個文件'',則回答「添加文件意味着什麼」 yoink'不在'feature'中,你會看到它(儘管'master'可能被認爲是這裏的「主線」)。 – torek
「最佳」是棘手的(這是什麼的雪糕最好的味道?),但也有很多的方法。
最短輸出,但假定提交不是合併[編輯:或者,好,見下文]:
git diff --name-only --diff-filter=A <id>^ <id>
使用這種
最簡單的方法可能是用git的別名:
git config alias.files-added '!git diff --name-only --diff-filter=A $1^'
(注意,不帶參數運行git files-added
會給一個奇怪的「壞版本」的消息,但哦)。
如果您需要處理合並提交,你必須決定是什麼意思,「添加文件」。添加的文件是否不在父母的任何?如果它不是在父母全部?例如,假設你已經合併subtopic-A
,,並subtopic-C
到topic
,並提交xyz
是存在於和topic
,但不存在於任何subtopic-A
或subtopic-C
。是xyz
「加」?
編輯:如果「添加」來定義「中的大多數會召喚‘主線’在合併之前是不是」,這個命令會工作。也就是說,如果你在分支topic
如上,你合併一個或多個其他分支到topic
,並最終合併提交包含文件galumph
時topic
沒有命名galumph
之前,這會被認爲是「加」文件(無論合併後的分支機構是否擁有它)。
- 1. 如何在JIRA中添加git提交
- 2. 如何在git上顯示所有提交的sql文件
- 3. 如何顯示之前刪除多個提交的git文件
- 4. Git - 如何在提交中顯示每個文件的文件內容?
- 5. git提交新文件,即使沒有添加和提交
- 6. Git預提交鉤子在提交後添加文件
- 7. Git - 在提交時顯示提交者
- 8. 從非git文件夾添加/提交裸露回購
- 9. 無法從Virtualenv添加/提交git
- 10. Git從舊提交添加代碼
- 11. GIT添加或提交?
- 12. git diff:僅顯示兩個提交中存在的文件
- 13. 顯示傳入的git提交中更改了哪些文件
- 14. 從.git文件夾提取提交ID
- 15. Git:從提交請求中排除已提交的文件
- 16. 在提交n時將文件添加到git。我如何添加它而不是提交n-m?
- 17. 如何處理文件被添加到git中的錯誤提交?
- 18. 如何從Git的早期提交中刪除一些文件?
- 19. 如何從以前的git提交中打開文件?
- 20. 如何從git repo中刪除以前提交的文件?
- 21. 如何從已推入的git提交中刪除文件
- 22. 在git倉庫中添加並提交文件不工作
- 23. 如何在Git中交互添加未跟蹤的文件?
- 24. 是否有工具從git提交文件中提取文件
- 25. 如何在本地提交Git文件?
- 26. ZSH提示不顯示git unstaged文件
- 27. Git擴展沒有顯示一次提交的所有文件
- 28. Git的不斷顯示文件被提交
- 29. Git在提交後仍然顯示已刪除的文件
- 30. 停止顯示在git的某個文件提交
的可能重複[列表中的所有文件在Git的提交(http://stackoverflow.com/questions/424071/list-all-the-files-for-a-commit -in-git) – lurker
該答案沒有指定如何過濾僅通過提交添加的文件的提交。 – Monwe
'git show --name-status SHA'或'git show --name-only SHA'如何? – lurker