如何配置Git使用不同的工具与.gitconfig文件进行区分?
我在.gitconfig中有这个:
[diff]
tool = git-chdiff #also tried /bin/git-chdiff
Run Code Online (Sandbox Code Playgroud)
这是行不通的; 它只是打开常规命令行diff.当我做
export GIT_EXTERNAL_DIFF=git-chdiff
Run Code Online (Sandbox Code Playgroud)
然后git diff将打开外部差异工具(所以我知道外部差异工具脚本工作正常).我的.gitconfig配置对于diff工具有什么问题吗?
对不起,如果这个问题存在,我出乎意料地找不到它:/
如何git diff在同一分支和同一提交中执行两个文件?
即 git diff fileA.php fileB.php
(理想情况下,提供易于阅读的颜色编码,git或者与BeyondCompare的程序类似!)
我有一个带有两个分支的git存储库:master和gh-pages.如果我想将文件复制foo从master到gh-pages没有将它们合并.我应该使用什么命令?非常感谢.
在GitHub上比较同一分支的历史对我来说非常困惑.我经常挣扎:
如果我compare/master在github repo名称之后使用URL,我可以根据下拉菜单中的选项与repo中的其他分支进行比较
https://help.github.com/articles/comparing-commits-across-time/
但是,我通常想比较master上的几个提交.
这怎么容易做到?我能得到一个更明确的例子吗?
我有两个文件调用vvn.c,aqu.c
我做了更改vvn.c,我有我的git提交.如何樱桃选择相同的变化aqu.c
唯一的区别是API.
vvn.c 包含API作为 vvn_function_names()
而aqu.c包含API的unions_function_names()
我不知道该怎么做.我知道樱桃采摘到同一个文件.有没有办法做到这一点?
我有一个文本文件(.yml),我输入一些文本到我的系统使用.但现在我们需要立刻知道新的线路.我想用git来解决我们的问题,但我找不到明确的命令来做到这一点.
这可能吗?
我试图显示上一次提交和之前提交之间的差异:
git diff HEAD^ HEAD <filename>
Run Code Online (Sandbox Code Playgroud)
但这什么也没显示。我实际上知道两次提交之间存在差异。
我在做什么错,应该如何纠正?
PS:我认为这已经被讨论过很多次了,但是以某种方式找不到任何有用的参考。
我已尝试以下所有方法来查询更改给定文件的最后两次提交之间的差异(不仅仅是最近的两次提交,而是具有特定效果的两个特定提交)。不幸的是,没有一个对我有用。
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)