我现在对控制台中 git-diff 的默认配色方案中各种颜色的含义有点迷失。我似乎找不到任何关于它们的文档。我在 Manjaro/XFCE 中使用 xfce4-terminal。
看起来 git-diff 的默认配色方案是“斑马纹”。我的 diff 中有八个导入语句,以七种不同的颜色表示。我觉得这有点疯狂。
谢谢。
因此,我有一个 GitHub 工作流程,它在推送时运行并检查特定目录中的更改,并在有更改时运行脚本。然而,对于当前的实现 ( git diff HEAD^ HEAD),它仅检查最后 2 次提交之间的差异。完全有可能推送超过 1 个提交,因此我正在寻找一种方法来比较最后 2 个推送的提交。
如果有人能帮助我,那就太好了!
我已尝试以下所有方法来查询更改给定文件的最后两次提交之间的差异(不仅仅是最近的两次提交,而是具有特定效果的两个特定提交)。不幸的是,没有一个对我有用。
git版本1.8.3.1
$ git diff HEAD^^ HEAD main.c
$ git diff HEAD^^..HEAD -- main.c
$ git diff HEAD~2 HEAD -- main.c
Run Code Online (Sandbox Code Playgroud)
唯一有效的方法是提供两个提交哈希版本。
问题> 你知道为什么我不能用上面的 HEAD 来比较吗?
这是我尝试过的:
$ git lg1 abc.xml |head -n 3
* 3f13aa1 - (3 hours ago) test 2 - guest
* d59d3bc - (8 months ago) test 1 - guest
* 3a19f36 - (1 year, 2 months ago) test 0 - guest
$ git diff d59d3bc..3f13aa1 abc.xml
diff --git a/abc.xml b/abc.xml
index 5db0595..2790562 …Run Code Online (Sandbox Code Playgroud) 该行取自原始差异,包括2852个文件更改(切换多个库).
diff --git "a/system/cms/config/database.php\n" "b/system/cms/config/database.php\n"
Run Code Online (Sandbox Code Playgroud)
在所有2852个文件更改中,这是唯一的差异,其中文件名用引号括起来并以"\n"结尾.每个其他相关的行都符合这种模式.
diff --git a/system/cms/config/constants.php b/system/cms/config/constants.php
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
为什么我们需要这两者?在什么情况下它们在命令行上给出的输出会有所不同?
您能否解释一下两者在添加文件、暂存和修改等不同场景下的差异。那么什么是分阶段和非分阶段的变化呢?