问题标签 [mergetool]
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 - 将 KDiff3 设置为默认合并工具
在安装KDiff3
用于管理冲突后git
,默认的仍然为我打开:
这是此答案中提到的配置:
注意:我可以KDiff3
使用简单文件单独运行,但不能在我的 git 项目中运行它。任何想法?
编辑:这是我的 .gitconfig :
visual-studio - Visual Studio 是否有内置的合并工具?
我在 Visual Studio 的命令行选项列表中看不到合并开关:https ://msdn.microsoft.com/en-us/library/xee0c8y7.aspx
我在开关上使用了 diff 工具:\diff
我问是因为我想使用 IDE 工具作为我与 P4VS 的合并工具。我已经弄清楚如何使用 Visual Studio 的 diff 工具:Using the Built in Visual Studio Diff Tool to View P4VS's Diffs
我知道有一个合并工具,因为微软必须支持 Team Foundation Server:https ://msdn.microsoft.com/en-us/library/ee341461(v=expression.40).aspx# sectionSection1 有什么办法可以吗访问该合并工具?
git - 即使合并一个文件失败,是否可以要求“git mergetool”自动继续尝试其他文件?
我正在尝试为 git 构建一个自定义合并工具,它比 git 更了解特定文件。
该程序将分析在合并冲突期间弹出的文件,对于其中一些文件,在某些特定情况下,它将知道如何成功处理它们。
我像这样执行这个工具:
这成功运行了我的程序。
但是,如果程序无法合并文件,因此以非零退出代码退出,我会从 git 收到此提示:
有没有办法让我配置 git,或者返回一个特定的退出代码,告诉 git 在没有用户干预的情况下继续尝试其余文件?
IE。就像是:
还是一些具有相同含义的魔术退出代码(或任何其他相同的方法)?
如果这很重要,我已经用“trustExitCode = true”配置了我的合并工具。
最终目标是,如果发生合并冲突,我将首先运行自动程序,然后使用普通的合并工具,如 KDiff3 或 Beyond Compare,手动合并其余文件。
git - Git:关于合并算法、冲突格式以及与合并工具的相互作用的困惑
具体我不知道,但据我了解的合并和冲突解决的过程是这样的(假设仓库只有一个文件,在两个分支中修改):
- 用户发出
git merge
命令。 - Git 应用一些特定于 git 的算法来自动合并两个修改过的文件。为此,它会创建文件的 BASE、LOCAL、OTHER 和 BACKUP 版本。
- 然后它将合并结果写入原始跟踪文件(称为 MERGED)。
- 假设存在冲突。Git 使用某种格式来表示冲突(
<<<<<<<
,|||||||
,=======
,>>>>>>>
标记)。然后它将其状态设置为“正在合并”或类似的。 - 如果用户随后发出
git mergetool ...
配置的外部合并工具,则会打开,参数指向 BASE、LOCAL、OTHER,当然还有 MERGED。
有几点我很困惑:
- 该工具会始终理解 Git 的冲突格式吗?是否标准化?
diff3
选项呢?外部工具也普遍理解吗? - 该工具会应用它自己的(可能是不同的)合并算法并完全丢弃 Git 的输出吗?
- 当 Git 需要执行递归合并(因为有多个合并基础)——并且中间合并会产生冲突——它是否会将内部冲突标记视为纯文本,就像任何其他非冲突文本一样?还是冲突格式本身是递归的?
我找不到任何能真正说明整个故事的解释。
git - 使用 git 配置 p4merge 工具
我刚刚在我的客户端服务器上配置了 gittool p4merge。当我执行 git mergetool 时,我得到了 meld 而不是 p4merge 的弹出窗口:
{local}:修改过的文件 {remote}:修改过的文件 点击返回开始合并解析工具(meld):
我检查了 git config 文件并没有在 .gitconfig 中配置 meld id。
我的 .gitconfig 文件内容是:
为什么它的采摘融合而不是 p4merge。有人可以建议为什么会这样吗?
git - 合并工具创建的 .orig 文件的预期目的是什么?
文档没有说明.orig
默认创建文件的原因。此外,它们在下一次合并后的内容是未定义的。尽管如此,必须有一些理由默认创建它们。
我最好的猜测是,纠正失败的合并很常见,并且在存在现有.orig
文件时也更容易(而不是重复合并),但显然大多数用户不知道如何处理它们。
git - 如何使用 Visual Studio Code 作为 Git MergeTool 的默认编辑器
今天我尝试git mergetool
在 Windows 命令提示符下使用 并意识到它默认使用Vim,这很酷,但我更喜欢VS Code。
如何让Visual Studio Code功能作为我的 GUI 来处理 Git 的合并冲突(甚至作为差异工具)?
git - git合并/git合并工具后获取修改文件列表
我有一个 master、branch1 和 branch2。
我使用'git merge' 然后'git mergetool' 将增量(即master 和branch2 之间的变化)合并到branch1 中。
现在我想识别 branch1 下所有修改过的文件作为上述合并的结果,并将所有这些修改过的文件复制到一个单独的文件夹中以发送给某人。
这样做的正确方法是什么?
谢谢!p/s:如果这个问题太琐碎,我很抱歉,我是 GIT 的新手