我想獲取所有匹配某些條件的提交中更改的文件。所以我有以下內容:git log --grep=123
,我需要將該提交中更改的文件作爲彙總列表(例如,如果文件在多次提交中發生更改,則只能在結果列表中包含一次。這就像選擇在烏龜SVN日誌窗口多次提交,它列出了在選定的更改過的所有文件提交git list在幾次提交中更改文件
4
A
回答
5
git log
不應該用於腳本,但這裏有一個快速的解決方案:
git log --grep=pattern --name-only --pretty=format:'' | sort -u
0
不準確的答案,但如果你的病情開始和一致提交一系列的git結束的位置是隨時準備提供幫助:
git diff --name-only <SHA, tag start> <SHA, tag end>
相關問題
- 1. git rebase在todo中提交每次提交的文件
- 2. git分支前幾次提交?
- 3. git merge缺少幾次提交
- 4. 撤銷git merge幾次提交前
- 5. 如何在Git中多次提交後撤銷文件中的更改?
- 6. Git:提前一次提交頭文件
- 7. Git更改沒有提交提交和未跟蹤文件
- 8. 如何查看日誌中每次提交的更改文件?
- 9. 用Git更改文件夾名稱,然後提交更改?
- 10. 如何刪除使用Git在幾次提交中檢查過的文件?
- 11. Git:提交部分更改
- 12. 更改Git提交信息
- 13. 提交Git配置更改
- 14. 自上次提交GitPython後發生更改的列表文件
- 15. 顯示傳入的git提交中更改了哪些文件
- 16. git可能會在文件更改時自動提交?
- 17. git:如何在提交時忽略對文件的更改?
- 18. 如何查看在集市中每次提交更改的文件?
- 19. 重置上次提交後git中的所有更改
- 20. Git掛鉤,修改提交文件
- 21. 更改Netbeans中的Git提交者
- 22. Git恢復提交併添加更改,即使在提交更多提交後
- 23. 提交到git的java文件更新
- 24. 複製上次提交中更改的所有文件
- 25. 可能應用2次提交中的所有更改文件?
- 26. 在兩次提交之間收集所有更改的文件
- 27. 在git中,如何將文件恢復爲3次提交前?
- 28. 在git中查找第一次提交文件
- 29. 取消幾次提交只有一個在git
- 30. GIT預提交掛鉤更改文件,但不添加到提交
爲什麼'git的log'不應該在腳本中使用? – 2012-02-16 16:37:11
因爲它是一個所謂的瓷命令,用於人類用戶消費,而提供用於機消耗量(腳本)的管道命令。要正確地寫上面一行,應該使用'git的REV-list'和'git的差異,tree'或東西... – knittl 2012-02-16 16:40:22
@knittl:我不完全同意這種說法。 'git-log'對於腳本*來說是非常合理的,如果你仔細控制輸出格式*,就像'git status'不好,但'git status --porcelain'好。你真的會建議運行'git rev-list ...'並用'git show --format = ...'循環它,而不是簡單地使用'git log ... --format = ...'? – Cascabel 2012-02-16 17:08:59