我进行了一些更改以进行确认;如何查看下一次提交暂存的所有文件的差异?我知道git status,但我想查看实际的差异-不仅是暂存文件的名称。我看到git-diff(1)手册页说git diff [--options] [-] […]该表格用于查看您相对于索引(下一次提交的临时区域)所做的更改。换句话说,区别就是您可以告诉git进一步添加到索引中,但是您仍然没有。您可以使用git-add(1)进行这些更改。不幸的是,我对此不太理解。必须有一些方便的单行代码,我可以为其创建别名,对吗?
3 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
应该只是:
git diff --cached
--cached表示相对于当前缓存/索引的更改(即分段更改)HEAD。--staged是的同义词--cached。
--staged并--cached没有指出HEAD,只是关于差异HEAD。如果您使用git add --patch(或git add -p)选择要提交的内容,--staged则将返回已暂存的内容。
拉丁的传说
TA贡献1789条经验 获得超8个赞
一个简单的图形使这一点更加清晰:
简单的Git差异
git diff
显示工作目录和索引之间的更改。这显示了已更改但未上演提交的内容。
git diff-缓存
显示索引和HEAD(这是该分支上的最后一次提交)之间的更改。这显示了已添加到索引中并已暂存的内容。
git diff头
显示工作目录和HEAD之间的所有更改(包括索引中的更改)。这显示了自上次提交以来的所有更改,无论它们是否已上演提交。
另外:
365Git上有更多详细信息。
青春有我
TA贡献1784条经验 获得超8个赞
如果您对可视并排视图感兴趣,可以使用“ 漫反射视觉差异”工具。如果已执行部分但不是全部更改,它甚至将显示三个窗格。在发生冲突的情况下,甚至会有四个窗格。
带有阶段性和非阶段性编辑的diffuse屏幕截图
调用
diffuse -m
在您的Git工作副本中。
如果您问我,十年来最好的视觉效果就与众不同。此外,它并非特定于Git:它可与大量其他VCS(包括SVN,Mercurial,Bazaar,...)互操作。
- 3 回答
- 0 关注
- 480 浏览
添加回答
举报
0/150
提交
取消