下面2個命令有什麼區別。我看到不同的輸出。
兩者都從具有單個分支的克隆運行。「git whatchanged - 文件名」和「git rev-list - 文件名」有什麼區別
git whatchanged -m -- foo.c
git rev-list --reverse --all -- foo.c
下面2個命令有什麼區別。我看到不同的輸出。
兩者都從具有單個分支的克隆運行。「git whatchanged - 文件名」和「git rev-list - 文件名」有什麼區別
git whatchanged -m -- foo.c
git rev-list --reverse --all -- foo.c
表演提交日誌和diff的輸出每次提交介紹。
命令內部調用git rev-list
通過管道連接到git diff-tree
,並對這兩個命令採用命令行選項。
「通過管道連接到git diff-tree
」將解釋兩個命令之間的不同輸出。
您可以在「In git, how can I get the diff between all the commits that occured between two dates?」中找到git rev-list
結合git diff
的示例。
更新2013年9月:
的new version of the man page for git whatchanged now emphasizes:鼓勵
新用戶使用
git log
代替。whatchanged
命令與git log
基本相同,但默認顯示原始格式diff輸出並跳過合併。該命令主要是由於歷史原因;許多早在
git log
被髮明出之前就已經學過Git的人的手指通過閱讀Linux內核郵件列表進行了訓練。
Thanks!,所以如果我想看看文件發生了什麼(檢查合併或代碼中的代碼丟失),哪個命令應該是最好的? –
@SenthilAKumar:如果涉及檢查* content *的變化,那麼'git whatchanged'是一個好的開始。我在答案中鏈接的問題提供了基於'git diff'的其他替代方法。 – VonC
@SenthilAKumar:我沒有看到您的編輯。你最初的問題似乎沒有改變。 – VonC