在make過程中,我創建了我嵌入到鏈接輸出中的字符串字段。很有用。什麼是在Git工作區中檢測修改文件的簡單方法?
除了git status
命令的複雜sed
/grep
解析,如何可以容易地確定,如果在工作空間中的文件已經根據git
修改?
在make過程中,我創建了我嵌入到鏈接輸出中的字符串字段。很有用。什麼是在Git工作區中檢測修改文件的簡單方法?
除了git status
命令的複雜sed
/grep
解析,如何可以容易地確定,如果在工作空間中的文件已經根據git
修改?
git status --porcelain
似乎給出了一個很好的可分析輸出。
非常好。由於其他原因會有用。 – Jamie 2010-10-07 16:05:46
這真是太好了,我只是用它來自動化git commit摘要(就像你從GitHub的web界面中獲得的),我真正想到了這個問題:[單向添加,提交和推送](https:// github。 COM/lmmx/devnotes /維基/自動-git的狀態 - 摘要)。 – 2015-04-25 22:22:26
如果你只是想要一個簡單的「有從頭部什麼區別嗎?」:
git diff-index --quiet HEAD
如果退出代碼爲0,則沒有任何差異。
如果你想「從頭部已經改變了哪些文件?」:
git diff-index --name-only HEAD
如果你想「從頭部已經改變了哪些文件,以及以何種方式有他們改變(添加,刪除,更改)? 「:
git diff-index --name-status HEAD
添加-M
(和-C
)如果你想重新命名(及複印件)檢測。
這些命令將檢查階段性內容(索引中的內容)和工作樹中的文件。諸如git ls-files -m
之類的替代方法將僅針對索引檢查工作樹(即,它們將忽略也在工作樹中的任何分階段(但未提交)的內容)。
git diff --name-only
做同樣的(可能是更直觀...)
如果你只在乎曾經知道的東西是否已經變化(沒有哪些已經改變)參見[如何以編程方式確定是否有未提交更改?](http://stackoverflow.com/q/3878624/193688) – 2010-10-10 06:31:56