1
假設提交X更改了文件foo.java的第500行。我希望看到所有過去的提交都改變了這一行。列出在特定提交中更改特定行的所有提交
受this thread的啓發,我明白自git 1.8.4以後,我們可以使用-L
選項git log
來查看特定行範圍的演變。所以我用git log -L 500,500:foo.java
但是,我得到了一個錯誤說
文件foo.java只有450線
我懷疑的原因是,我git log
命令的頭部動作。但是在提交X和HEAD之間,文件foo.java已經被修改,最後只有450行。
那麼,我怎樣才能得到所有提交已經改變這條線500從提交X?
願你解釋有關命令的更多內容?我應該在哪裏放置提交SHA1?什麼是'HEAD | xargs'和'2>/dev/null'?非常感謝! – Ida
@lda是基本腳本,使用重定向unix.stackexchange.com/questions/70963/difference-between-2-2-dev-null-dev-null-and-dev-null-21和pipe |。你不必把一個SHA1:git rev-list應該在你的repo中列出* all * SHA1。 – VonC
@lda但是,如果您必須放置SHA1「X」,則可以使用'git rev-list X..HEAD':用您的SHA1替換''X''。 – VonC