在本地解决拉取请求中的合并冲突

问题描述 投票:0回答:2

我正在使用位桶。我在一个位桶组中有一个名为 Cosmo 的存储库。我拿了一块并用我的叉子工作。我们称之为 Cosmo-Folk。 Cosmo 有 2 个分支:develop 和 master。开发用于放置所有开发人员的最新代码。稍后管理员检查开发并将其合并到 master,这样它将触发 CI CD 服务器。

在我的 Cosmo-Folk 中,我有 master 和我的功能分支 (devops)。我将 Cosmo(开发)的最新代码交给我的主人。然后将其合并到我的功能分支(我目前正在工作)。

然后,工作后,我从名为 origin(云 Cosmo-Folk)的远程进行拉取并解决冲突并将其与我的本地存储库同步。这意味着 Cosmo-folk 和我的电脑现在有相同的代码。毕竟,我从 Cosmo-Folk/feature/devops -> Cosmo/develop 创建了一个拉取请求。然后我在合并之前遇到合并冲突。下图对此进行了解释。

所以我的问题是,就像在位桶中一样,我无法编辑文件,我需要在本地拉取冲突并解决它,然后推送或执行任何操作以使合并冲突消失并将拉取请求合并到 Cosmo/develop 。我怎样才能做到这一点?我是 git 的新手,答案的解释将很有价值。谢谢!

git bitbucket
2个回答
0
投票

从你的问题中我了解到,你目前正在本地的 cosmo-folk 分支上工作,当你尝试将更改推送到开发分支时,你会遇到冲突。

当其他人在您尝试推送的同一文件中进行了一些更改时,通常会发生这种情况。要解决此问题,请执行以下步骤:-

  • 签出开发分支
  • 拿最新的拉动
  • 签出回您尝试从中推送更改的分支
  • 奔跑
    git merge develop
  • 现在,无论您使用什么IDE,都会向您显示合并冲突、解决它们并暂存并提交更改
  • 现在推送更改并提出拉取请求

我希望这有帮助


-1
投票

第1步:在本地签出

Cosmo-Folk/feature/devops
或要合并的分支。

git checkout <branch you want to merge>

第2步:合并要合并到本地的master/develop分支

git merge origin develop
git merge origin master
git merge origin <branch you want to merge with you current checkout branch>

第3步:它将显示您在BitBucket中可以看到的所有冲突文件。在本地解决冲突,然后提交冲突的文件。

git add <resolved files>

git commit -m "<message to be tracked>"

git push

© www.soinside.com 2019 - 2024. All rights reserved.