例如你在本地修改了程式碼,提交了20多次。現在你要將這些程式碼push上去了,你想再檢查一下程式碼,但你需要統計一下,這20次commit一共修改了哪些檔案?每個文件分別修改了哪些地方?
在這個時候,你就需要用到這個指令了,能輕鬆查看,所有修改的檔案清單和差異。
列出所有修改文件列表,但不顯示差異。
列出所有修改文件列表,並且顯示出所有的修改差異。
怪我咯2017-05-02 09:25:16
這是我目前找到最適合的答案:
git diff origin/分支名...HEAD
git diff origin/分支名...HEAD --name-status
莫名奇妙被踩了一下,也不知道是誰踩的,希望站出來,有本事提供更簡單易用的答案,回答不上來就亂踩別人,這是什麼心理?
ringa_lee2017-05-02 09:25:16
git log
可以指定時間範圍、起止 commit、檔案路徑、分支/標籤等等條件,並且可以對輸出結果進行篩選,輕鬆滿足你的第一個要求。
git show
或者 git diff
都能滿足你的第二要求,使用的參數會有差異。
具體的命令我就是任性不說,自己看文檔吧。
不過我可以奉送一個trick,如果你認為commit 的跨度是問題,你完全可以新建一個臨時分支,然後往前進行interactive rebase (squash all commit)一直到你要比較的初始commit,這樣一來你需要比較的commit 就只有兩個了,一個是起點,一個是包含了後續n 的commits 的總和。
我想大声告诉你2017-05-02 09:25:16
其實我覺得下載一個Github的客戶端吧,用起來很直覺很方便的,最近更新了,新增專案的工作流程的圖,我用的是windows版的,Mac版不了解囉…