2013-05-10 85 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