2013-05-10 83 views
0

當我有一個文件,例如git中的x.java,如何在git中看到與以前版本的區別?
在Clearcase中,我們通過圖形或cli來進行diff?
我們如何在cli模式下在git中執行此操作?我們如何區分git?

+1

你是詢問['混帳diff'(https://www.kernel.org/pub/software/scm/git/文檔/ GIT-diff.html)? – 2013-05-10 05:39:14

+0

Git還支持圖形模式,嘗試'git gui' - 這會產生一個UI,它允許瀏覽整個版本歷史,包括與以前版本的差異(打開「Repository/Visualize all Branch history」) – 2013-05-10 05:40:50

+0

@Andreas:只需鍵入'git gui' in cli? – Jim 2013-05-10 05:44:19

回答

2

git diff HEAD~1 x.java

這會比較同一文件的文件一次提交回

最新文件的變化是

git log -n 1 -- x.java,那麼您可以複製提交哈希使用它git diff

您還可以gitk x.java

+0

如果我想與10個版本的文件進行比較,該怎麼辦?與HEAD〜10相同的命令? – Jim 2013-05-10 05:40:39

+0

是的,它是一樣的 – 2013-05-10 05:41:13

+0

當然,該文件在上次提交(或最近的10次提交)中可能沒有更改。 – innaM 2013-05-10 05:57:08

1

運行GUI如果你知道犯號和要比較這個文件之間提交,你可以做到這一點的命令。

git diff <commit> <commit> x.java 

,或者您也可以安裝和使用任何外部工具使用difftool比較

git difftool x.java 

,你應該已經安裝並在您的本地配置difftool。

0

檢查何時以及如何特定文件改變時,最簡單的方法是:

git log -p x.java 

這會告訴你,改變file.java(忽略不把提交)與描述變化之間的差異會提交文件。定位感興趣犯(S)後,您可以使用產生的diff:

git diff COMMIT_ID x.java    # diff between COMMIT_ID and HEAD 
git diff COMMIT_ID1 COMMIT_ID2 x.java # diff between COMMIT_ID1 and COMMIT_ID2