git-提交前当前更改的差异
我已经更改了git存储库中的几个文件,但尚未提交它们 我只需调用git-提交前当前更改的差异,git,ssh,diff,meld,Git,Ssh,Diff,Meld,我已经更改了git存储库中的几个文件,但尚未提交它们 我只需调用git status就可以得到一个更改列表。但是,除了文件名之外,我如何获得已更改的行或内容的列表 我最初考虑使用,但它似乎只对比较已经提交的更改有用 通常我只做meld.,但在这种情况下,我通过ssh连接到外部服务器。git diff默认情况下显示工作目录和索引之间的差异(下一次提交的暂存区域) 如果您已经将更改添加(暂存)到暂存区域,则执行作业。暂存区是由git commit形成下一次提交的数据 对Git初学者来说,最好的阅读(
git status
就可以得到一个更改列表。但是,除了文件名之外,我如何获得已更改的行或内容的列表
我最初考虑使用,但它似乎只对比较已经提交的更改有用
通常我只做
meld.
,但在这种情况下,我通过ssh连接到外部服务器。git diff
默认情况下显示工作目录和索引之间的差异(下一次提交的暂存区域)
如果您已经将更改添加(暂存)到暂存区域,则执行作业。暂存区是由git commit
形成下一次提交的数据
对Git初学者来说,最好的阅读(IMO):
- (大多数章节;它解释了Git背后的模型并回答了大多数典型问题)
- 然后立即(使用提示)
git diff HEAD *
这将显示自上次提交以来的更改。尽管它在某种程度上可以更快地与
git diff .
或
要查看以前的git add
ed文件的更改,请使用staged
标志:
git diff --staged
暂存是否仅适用于尚未添加的文件?我想你必须使用cached标志。@peterbond
man git diff
说,--staged是--cached
@peterbond技术上是staged的同义词,表示添加到暂存区域,但尚未提交。我已经在编辑中澄清了这一点。@Misha说,git diff
的默认行为是计算工作目录和索引之间的差异,而不是HEAD
我没有想到调用没有参数的git diff。谢谢
git diff --staged