这常常发生在我身上: 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
经过这种方式,我能够快速查看自上次签入以来我在该文件中所作的工做。 命令行
若是你想看看你尚未git add
ed: code
git diff myfile.txt
或者若是您想查看已添加的更改 it
git diff --cached myfile.txt
你为git commit
尝试了-v
(或--verbose
)选项吗? 它在消息编辑器中添加了提交的差别。 io
我认为这是保证GUI的完美用例。 - 虽然我彻底理解它在命令行中也能够很好地实现。 ast
就我的而言,个人每一次承诺,我都是从git-gui作的。 若是有意义的话,我能够在其中使用单独的hunks / lines进行屡次原子提交。
Gut Gui能够在格式良好的彩色界面中查看差别,至关清淡。 看起来这也是你应该结帐的东西。
git diff HEAD file
将显示您在上次提交时添加到工做树中的更改。 将显示全部更改(暂存或未暂存)。
要检查本地差别:
git diff myfile.txt
或者您可使用diff工具(若是您想要还原某些更改):
git difftool myfile.txt
要更有效地使用git difftool
,请安装并使用您喜欢的GUI工具,如Meld,DiffMerge或OpenDiff。
注意:您也可使用.
(而不是文件名)来查看当前目录的变化。
为了检查每行的更改,请使用: git blame
,它将显示在哪一个提交中提交的行。
要在提交以前查看实际文件(其中master
是您的分支),请运行:
git show master:path/my_file