我上演了一些改变来承诺; 如何查看为下一次提交而暂存的所有文件的差异?我知道git状态,但我想看到实际的差异 - 而不仅仅是分阶段文件的名称.
我看到git-diff(1)手册页说
git diff [--options] [ - ] [...]
此表单用于查看您对索引所做的更改(下一次提交的暂存区域).换句话说,差异是你可以告诉git进一步添加到索引但你还没有.您可以使用git-add(1)暂存这些更改.
不幸的是,我无法理解这一点.必须有一些方便的单行,我可以创建一个别名,对吗?
合并两个分支时,合并失败很多次,我将单独解决差异.
一些成功合并的文件,我可以看到它的差异
git diff --staged <merged-file>
Run Code Online (Sandbox Code Playgroud)
问题是对于未合并路径,当我尝试检查引入的差异时,我什么也看不见.
git diff <unmerged-file>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用远程主分支进行区分时,会出现差异.
git diff origin/master <unmerged-file>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?> 合并操作是否更新了我的本地HEAD或其他什么?
此外,当我git add用来标记分辨率时,他们永远不会进入临时区域,这是为什么git diff没有显示任何东西?
在Visual Studio中(如果您使用的是git存储库),可以右键单击已修改的文件,然后选择"与未修改比较".在那里你可以看到一个diff,你可以在其中编辑文件的当前版本.为了澄清:与最新提交相比,您可以在diff视图中编辑源文件中当前未提交的更改.相比之下,比较diff视图中的2个提交仅显示temp文件夹中这些文件的只读副本,您无法编辑这些副本.
但是当你在查看当前版本和一些旧版本之间的差异时(通过选择顶部提交和一个较旧的版本,使用Ctrl-单击并在右键单击菜单中选择"比较提交......"),无法编辑当前版本的文件.
有没有办法在将任何旧版本(不仅仅是前一版本)与当前版本进行比较时,在Visual Studio中的diff视图中编辑当前版本文件?
旁注:开发人员讨厌的一个奇怪的技巧是通过"保持更改"并进行提交重置为所需的旧版本,从而可以"与未修改比较",就好像它是先前的提交一样.但这是hacky和不受欢迎的.