问题标签 [git-difftool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git difftool Beyond Compare 4 不区分本地和远程
我正在使用 CYGWIN 和 Beyond Compare 4 Pro Edition。我已经设置了以下 .gitconfig 文件:
在对本地文件进行小幅更改后,我在 CYGWIN 中运行以下命令:
Beyond Compare 4 可以正确启动,但只有左侧全为红色。右边是空的。
我希望通过将本地更改(左)与远程(右)进行简单比较来启动它。
我假设这是默认行为?我是否缺少其他设置或仅此设置可用
git - 如何使 git log 显示相对于当前目录的文件路径?
我正在处理的当前基于 Git 的项目,我通常总是在一个子目录中。
下面是我git log --name-only
从存储库根目录的子目录运行命令时的输出。
我如何改为git log
输出类似下面的内容?这使得比较列出的文件非常容易,只需复制文件路径并运行,git diff HEAD~ {copied_file_path}
而不必手动修改文件路径然后运行命令。
我查看了git log
文档,但没有什么特别突出的。我可以编写一个脚本来执行此操作,但我很好奇 Git 是否有内置方式。
git - git difftool 通过分阶段和非分阶段的变化给出奇怪的结果
meld
(例如)被选择用于 git difftool 调用:
给出:
我有一个文件只有分阶段的更改,另一个文件有未分阶段的更改。
当我运行时git difftool
,我希望只显示未分级的更改(使用融合)。但令我惊讶的是,我看到它git diff --cc xxx_file_with_staged_changes_xxx
被调用了,就在预期的文件合并调用之前,只有未暂存的更改。
然而,GIT 手册指出:
git diff [--options] [--] […] 这个表格是用来查看你相对于索引(下一次提交的暂存区)所做的更改。换句话说,差异是您可以告诉 Git 进一步添加到索引中但您仍然没有添加的内容。您可以使用 git-add[1] 暂存这些更改。
所以只应该显示未分级的更改,不是吗?git diff
并注意在我的情况下产生的奇怪调用git difftool
,就在预期调用“difftool”(这里是融合)之前。
git - git difftool diff 历史版本,显示这么多窗口
当我使用 git difftool 比较 1 个文件的 2 个历史版本时。我遇到了一个问题。我输入命令后,它会显示数百个窗口。
有什么问题?
git - 如何配置 Visual Studio 2017 以使用外部 difftool 和 mergetool
我在 git 全局配置中为 difftool 和 mergetool 配置了 DiffMerge。我读到 Visual Studio 尊重全局 git 配置的这种设置。这是我的 git 配置:
但是如果尝试从 Visual Studio 中查看差异,它会打开 vs 自己的差异工具。如何打开或配置打开外部工具?
git - Overlay A' project over early A project: Seeking Git Use Case/Pattern to delete A files no longer need?
假设具有子目录 (A) 的非版本控制项目目录。一年后,该目录被复制并进行了进一步的开发(A')。
我刚刚将早期版本 A 添加到 Git。本着版本控制的精神,我希望将 A' 文件复制到 A 文件上(毕竟它们是同一个项目),但我试图系统地删除以后 A' 版本中不再存在的 A 文件。
我已经用谷歌搜索了很长一段时间,但似乎无法找到(我敢打赌)经常发生的这种情况的最佳实践,所以我希望有一个众所周知的“秘诀”可以在不写的情况下完成它自定义代码。
是否可以使用 git-diff --diff-filter=D ("Deleted") 来生成 rm's,以便 A 的“残基”不再驻留在源代码管理中?
git - 为什么 vsdiffmerge 总是打开一个新的 VisualStudio 而不是显示差异
我想使用 vsdiffmerge 作为 git diff 工具。我设置了.git/config
以下。
我发现它有时可以很好地工作,但它会打开一个新的 VisualStudio 并且不显示差异选项卡。我尝试删除//t
但没有帮助。
我想问两个问题:
如何让 vsdiffmerge 在打开的 VisualStudio 中打开 diff 选项卡?
一旦我不想将所有文件输入到
y
. 我看到我应该按 133 的文件数是 133y
。
git - 使用远程分支的分阶段或非分阶段更改之间的 Git 差异
有没有办法在远程分支的分阶段/非分阶段更改之间进行 git diff,比如 origin/branch1。git difftool 有类似的选项吗?
或者
有没有办法使用 git 远程分支来区分我的本地文件系统中的更改(忘记暂存或未暂存)?我想要的只是在提交之前检查我的更改。一旦我完成了更改并解决了与远程分支的冲突,这真的很有用。
git - 分支之间的 git difftool 目录
这个问题包含两个分开但密切相关的问题:
第一的; 我正在尝试比较位于不同分支中的两个文件(THIS_BRANCH、OTHER_BRANCH)
文件 (file.txt) 路径已在分支之间移动。THIS_PATH\file.txt 和 OTHER_PATH\file.txt(其中 THIS_PATH!=OTHER_PATH)
执行 git difftool THIS_BRANCH OTHER_BRANCH -- THIS_PATH\file.txt 这(预期)产生将文件与不存在的文件进行比较,基本上将其与无比较。
如何使用 git difftool 做到这一点?[我正在使用超越比较(已经配置为我的 git difftool)]
第二; 同样,我想比较来自两个不同分支(THIS_DIR,OTHER_DIR)的两个目录,它们具有不同的路径(THIS_PATH,OTHER_PATH)。再次,使用超越比较作为我的差异工具。这怎么可能实现?
欣赏它。
git - 具有无可比拟的 Git difftool
我正在尝试比较两个 git 分支。用 git 我会做
使用 Beyond Compare 工具,我尝试过
但现在看起来它正在逐个文件比较分支文件。所以我添加了--dir-diff (-d)
标志
但现在我得到一个错误
我该如何解决?