标签: merge-conflict-resolution

如何解决这场Mercurial冲突?

我对Mercurial和Python感到沮丧,因为它让事情变得简单.我有一个微不足道的冲突,因为Mercurial没有提出任何建议,我甚至不知道如何解决这个琐碎的文件冲突:

KDiff3

冲突是微不足道的,但如果我无法解决这个问题,我也无法解决任何复杂问题.我可以将文件编辑为我想要的方式并从任何地方再次提交吗?我该跑hg merge吗?为什么Mercurial甚至不能让我选择一个版本来保留?如果不挖掘1000篇写得不好的联机文章,为什么几乎不可能做到这一点?

merge mercurial kdiff3 merge-conflict-resolution

11
推荐指数
2
解决办法
1万
查看次数

eGit合并解决方案 - 使用您的副本

我还是eGit的新手.我试图找出如何让eGit使用我的副本解决合并冲突,没有变化.我指的是eGit Wiki上的笔记:

http://wiki.eclipse.org/EGit/User_Guide#Possible_merge_results

但是,当我添加我的副本来解决冲突时,eGit仍然在文件"<<<<<<< HEAD","=======",">>>>>>>中留下差异标记".该文档说使用Merge-Tool后添加:

编辑工作树版本,直到您满意为止Team>添加合并资源以将冲突标记为已解决通过Team> Commit提交合并提交

但是,在我使用我的副本解决冲突之后,它仍然在文件中留下了diff标记,这实际上没有变化,因此不需要保存.我的问题是如何让eGit接受,添加和提交我的副本而不在文件中留下差异标记?这些标记会在最终提交时消失吗?

git git-merge egit merge-conflict-resolution

11
推荐指数
1
解决办法
3396
查看次数

为什么git在两个明显相同的添加文件之间显示冲突?

我有一个在TFS中启动的项目,然后转移到Git.不幸的是,将它移动到Git的人只是检查当前文件而不是使用git-tfs.我试图在我使用git-tfs从TFS中提取的提交之后,在Git中重新设置他的新提交.

要做到这一点,我只是简单地在git-tfs提交之上重新提交他的提交.(我意识到这会弄乱远程Git分支机构,但我们是一个小团队,它会没事.我也尝试过挑选樱桃,但我遇到了同样的问题.)

我遇到的问题是一组看起来像这样的冲突:

<<<<<<< HEAD
namespace OurNiftyProject
{
    public enum CardType
    { 
        Visa = 0,
        MasterCard = 1
    }
}
||||||| merged common ancestors
=======
namespace OurNiftyProject
{
    public enum CardType
    { 
        Visa = 0,
        MasterCard = 1
    }
}
>>>>>>> Add a bunch of stuff.
Run Code Online (Sandbox Code Playgroud)

看来这是添加这些文件的TFS端提交和添加它们的Git端提交之间的冲突(因为Git repo开始为空).

逻辑上可能是跳过这个提交,但也有一些文件(比如几百个中的十个)是新的.当然,那些不会引起冲突.

为什么Git不能自己弄清楚两个文件是否相同?即使我在使用--ignore-whitespacerebase时使用,Git仍会显示几十个这样看似相同的文件.我对如何解决这个问题感到茫然.

git git-rebase merge-conflict-resolution git-cherry-pick

11
推荐指数
2
解决办法
7316
查看次数

未在 Visual Studio Code 中获取 GitHub 合并冲突顶部栏

我无法获取此 GitHub 合并冲突顶栏来解决 Visual Studio Code 中的冲突。

我尝试添加此命令"editor.codeLens": true但没有效果。

这就是我在进行更改后得到的结果在此输入图像描述

这就是我拉完后想要的。 在此输入图像描述

我使用的是 VS Code 1.70.1

git git-merge merge-conflict-resolution git-merge-conflict visual-studio-code

11
推荐指数
1
解决办法
2362
查看次数

Git - 自动为冲突版本创建不同的文件

当Git在合并期间检测到冲突时,默认行为是使用<<< >>> ===标记填充文件.

这在大多数情况下都可以,但有时候我想以不同的方式解决冲突,我只想让Git创建不同的文件:

  • 原始版本,
  • 改变版本A,
  • 更改版本B.

怎么实现呢?


如果没有简单的命令一次性创建这些文件(这有点令人惊讶),也许有一种方法来扩展Git以便它可以做到这一点?习俗mergetool还是什么?只是一个想法.


解:

我已经找到了@Karl Bielefeldt的答案:

savefiles.sh

#!bash
BASE=$1
LOCAL=$2
REMOTE=$3
MERGED=$4

cp "$BASE" "$MERGED.git_BASE"
cp "$LOCAL" "$MERGED.git_LOCAL"
cp "$REMOTE" "$MERGED.git_REMOTE"

# never mark the conflict as merged
exit 1 
Run Code Online (Sandbox Code Playgroud)

配置

mergetool.savefiles.cmd=/path/to/savefiles.sh $BASE $LOCAL $REMOTE $MERGED
mergetool.savefiles.trustexitcode=true
Run Code Online (Sandbox Code Playgroud)

git version-control merge-conflict-resolution

10
推荐指数
2
解决办法
1271
查看次数

我如何解决与Git的冲突?

我有一个拉请求,GitHub告诉我"这个分支有必须解决的冲突." 我试过了:

~/src/networkx: git rebase origin/master
Current branch topo is up to date.
~/src/networkx: git merge origin/master
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

git merge github git-merge merge-conflict-resolution

10
推荐指数
3
解决办法
6050
查看次数

Github 解决冲突总是将基础分支合并到我当前的分支

我在 PHP Storm 的本地分支机构工作。任务完成后,我提交我的分支并推送到 git。

在 Github 页面上,我创建了一个 Pull 请求 DEV <- 我的分支。Dev 是基础分支,我将把我的分支合并到其中。

到目前为止这还可以。但如果某些文件存在冲突 - 根据本文https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving- github 上的合并冲突

就我而言,相同的文件已在其他分支中更新并之前合并到 DEV 中。现在在我的分支中有相同的文件和其他更改。

当我解决冲突(甚至可以是一行)时,我将其标记为已解决并提交合并。

现在,整个 DEV 基础分支被合并到我自己的分支中,这不太好。

因为我正在将我的分支合并到 DEV,而不是相反。如何才能避免这种情况呢?

我尝试重新创建相同的分支,但是一旦开发合并到这里,它就始终存在。每次冲突都会发生这种情况,这是无稽之谈 - 正如上述网络的第 8 点所说:

解决所有合并冲突后,单击提交合并。这会将整个基础分支合并到您的头分支中。

在此输入图像描述

merge github merge-conflict-resolution

10
推荐指数
1
解决办法
6635
查看次数

如何在git中存储未合并的代码?

我做了一个git pull,发现我的一个文件需要合并.

我现在不想合并该文件 - 我还有另一个需要处理的分支,稍后我会回到这个分支来解决合并问题.

对我来说"撤消"这种拉动的最佳做法是什么?或者,在我准备好处理它之前,我怎么能推迟这个合并呢?我需要做些什么才能更改分支,然后在我的代码中返回到这个未合并状态?

git git-merge merge-conflict-resolution

9
推荐指数
1
解决办法
6451
查看次数

GitHub Pull Request复杂冲突

GitHub在一个月前添加了一个功能来解决Web界面上的合并冲突,但它只适用于"简单"的合并冲突:

没有冲突 GitHub Pull Request  - 没有冲突

简单的冲突

GitHub Pull Request  - 解决简单冲突

复杂的冲突

GitHub Pull Request  - 解决复杂的冲突

在介绍新功能的博客文章中,GitHub提到了竞争的线路变化,其范围从相当简单到非常复杂.

什么是合格的冲突太复杂,无法在网页编辑器中解决?

git github merge-conflict-resolution git-merge-conflict

9
推荐指数
1
解决办法
2462
查看次数

在 VSTS (Azure DevOps) 中重新检查合并冲突

设置

主分支策略:推送新更改时:重置所有批准投票

  • 创建从 dev 分支到 master 分支的拉取请求 (PR1)
  • VSTS 执行策略检查。

在此处输入图片说明

  • 在用户能够完成 PR1 之前,另一个 PR (PR2) 已完成并合并到 master。

问题/问题 PR1 状态仍然显示“无合并冲突/上次检查 # 分钟前”;但是,由于更新了目标(主)分支,情况可能不再如此。如果用户在本地执行合并(将 master (PR2) 合并到 dev)并推送新合并的代码,则投票会重置。现在用户必须再次等待评论。

有没有办法在 PR 中手动触发合并冲突检查,或者在用户推送新更改时不重置投票,但这些更改只是“从 master 合并”。

merge-conflict-resolution pull-request azure-devops

9
推荐指数
1
解决办法
1413
查看次数