Git与beyond compare合并
我最近购买了beyond compare pro来合并与git共享的代码(我对其了解非常有限)。 我现在有两个分支,一个是Git与beyond compare合并,git,github,merge,beyondcompare,beyondcompare4,Git,Github,Merge,Beyondcompare,Beyondcompare4,我最近购买了beyond compare pro来合并与git共享的代码(我对其了解非常有限)。 我现在有两个分支,一个是主机和一个功能。我最近从远程拉取了主机,因此现在主机比主机和功能之间的共同祖先早了几次提交 由于我的分支feature有大部分删除,我想将master合并到feature中,而不是相反(这有意义吗?)。所以我基本上做到了 git checkout master git pull origin master git push origin master 因此,在这一点上,我的
主机
和一个功能
。我最近从远程拉取了主机
,因此现在主机
比主机
和功能
之间的共同祖先早了几次提交
由于我的分支feature
有大部分删除,我想将master
合并到feature
中,而不是相反(这有意义吗?)。所以我基本上做到了
git checkout master
git pull origin master
git push origin master
因此,在这一点上,我的功能
是在主控
之前的几次提交和几次提交。要将master
的提交合并到feature
中,我执行了以下操作:
git checkout feature
git merge master
git mergetool
现在,我收到一系列消息提示,如
Deleted merge conflict for 'ED/build/make/rules.mk':
{local}: deleted
{remote}: modified file
Use (m)odified or (d)eleted file, or (a)bort? m
Normal merge conflict for 'ED/src/driver/ed_model.F90':
{local}: modified file
{remote}: modified file
merge of ED/src/driver/ed_model.F90 failed
Continue merging other unresolved paths [y/n]? y
所有其他文件都会出现失败的合并错误,甚至没有打开beyondcompare合并工具进行合并
- 第一个提示是
,这是否意味着由于合并,我必须在本地和远程之间选择哪个文件(m)odified或(d)eleted
- 第二个提示告诉我合并失败,为什么会发生这种情况
[diff]
tool = bc3
[difftool]
prompt = false
[difftool "bc3"]
trustExitCode = true
[core]
fileMode = false
symlink = false
ignorecase = true
[merge]
tool = bc3
[mergetool "bc3"]
trustExitCode = true
[alias]
difftool = difftool --dir-dif --no-symlinks
如果要在Beyond Compare中查看未解决的冲突,可以运行
git mergetool
,它将打开与默认合并工具的冲突。如果您还没有安装git,则必须首先将其设置为使用Beyond Compare
有关配置的说明已找到
第一个提示是(m)odified或(d)eleted,这是否意味着由于合并,我必须在本地和远程之间选择哪个文件
对。假设您希望这些文件在功能
分支中保持删除状态,并且不关心自您最初删除它们以来它们可能已被更改,那么您可能希望选择(d)eleted状态
通常,您的主机
应始终与遥控器同步。本地更改(如删除文件)在功能
分支中正确完成,这很好。如果您的更改纯粹是本地的,从未打算成为主项目的永久部分,那么它们将永远停留在功能
分支中,并且您偶尔会从主功能
合并到功能
,只要您从远程获取新的更新,就像您正在做的那样。您要从feature
合并回master
然后push
的唯一时间是为使用该项目的每个人更改某些内容
第二个提示告诉我合并失败,为什么会发生这种情况
- 您是否解决了《超越比较》中提到的所有冲突(在页边空白处用“!”标记)
- 你的中间栏是否看起来像你想要的那样
- 你保存合并的文件了吗
这似乎很奇怪。通常git会一个接一个地继续。很抱歉,我无法在此提供更多帮助。在运行合并工具后,将显示错误。我按照指示设置了它。这不是设置的问题,因为我已经在不同的场合运行了mergetool。因此,您在过去解决了与Beyond Compare的合并冲突,还是这是第一次它不是自动解决的?因此,情况如下:最初我尝试将功能分支合并到主功能中。我认为这本身更有意义。然而,我后来注意到,我在功能中删除的所有内容都包含在合并文件中,因为它在主控台上。然后,我决定将主机合并到功能中。在第一种情况下,当将功能合并到主功能中时,BC mergetool将弹出所有3个窗口和合并的窗口。现在,它只对.gitignore执行此操作,并跳过所有其他文件,并显示我报告的错误消息…请向我们显示您的合并工具的配置。我猜错误部分与BC有(/被git激活)有关3个文件比较的路径错误,因为地址都是相同的,并附加了本地/远程/基本关键字。请尝试指定beyond compare 3的路径。如果BC正确打开,会有什么变化?这也是它通常的设置方式。所以你是说,超越比较实际上是开放的吗?对不起,我错过了。