如何在提交以前在git中查看文件差别

这常常发生在我身上: git

我在一两天内同时处理了几个相关的更改,当须要提交时,我最终忘记了特定文件中的更改。 (这只是一个我的的git repo,因此我能够在提交中有多个更新。) 编辑器

有没有办法预览个人本地文件(即将签入)和该文件的最后一次提交之间的更改? 工具

就像是: ui

git diff --changed /myfile.txt

它会打印出以下内容: spa

line 23
  (last commit): var = 2+2
  (current):     var = myfunction() + 2

line 149
  (last commit): return var
  (current):     return var / 7

经过这种方式,我能够快速查看自上次签入以来我在该文件中所作的工做。 命令行


#1楼

若是你想看看你尚未git add ed: code

git diff myfile.txt

或者若是您想查看已添加的更改 it

git diff --cached myfile.txt

#2楼

你为git commit尝试了-v (或--verbose )选项吗? 它在消息编辑器中添加了提交的差别。 io


#3楼

我认为这是保证GUI的完美用例。 - 虽然我彻底理解它在命令行中也能够很好地实现。 ast

就我的而言,个人每一次承诺,我都是从git-gui作的。 若是有意义的话,我能够在其中使用单独的hunks / lines进行屡次原子提交。

Gut Gui能够在格式良好的彩色界面中查看差别,至关清淡。 看起来这也是你应该结帐的东西。


#4楼

git diff HEAD file

将显示您在上次提交时添加到工做树中的更改。 将显示全部更改(暂存或未暂存)。


#5楼

要检查本地差别:

git diff myfile.txt

或者您可使用diff工具(若是您想要还原某些更改):

git difftool myfile.txt

要更有效地使用git difftool ,请安装并使用您喜欢的GUI工具,如Meld,DiffMerge或OpenDiff。

注意:您也可使用. (而不是文件名)来查看当前目录的变化。

为了检查每行的更改,请使用: git blame ,它将显示在哪一个提交中提交的行。


要在提交以前查看实际文件(其中master是您的分支),请运行:

git show master:path/my_file
相关文章
相关标签/搜索