【问题标题】:Resolving merge conflict in a pull request locally在本地解决拉取请求中的合并冲突
【发布时间】:2020-01-21 04:06:47
【问题描述】:

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

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

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

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

【问题讨论】:

  • 这里的典型做法是签出功能分支,然后拉出目标分支(即要合并到的分支)。这将在您的计算机上为您提供 本地 合并冲突,然后您可以合并这些冲突。之后,通过推送更新您的拉取请求,警告消息应该会消失。
  • 另外,为什么是 GitHub 标签?

标签: git bitbucket


【解决方案1】:

根据您的问题,我了解到您目前正在本地处理 cosmo-folk 分支,当您尝试将更改推送到开发分支时,您会遇到冲突。

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

  • 结帐到开发分支
  • 最新拉取
  • 结帐回您尝试从
  • 推送更改的分支
  • 运行git merge develop
  • 现在,无论您使用什么 ide,都会显示合并冲突已解决并暂存并提交更改
  • 现在推送更改并提出拉取请求

希望对你有帮助

【讨论】:

    【解决方案2】:

    第 1 步:签出 Cosmo-Folk/feature/devops 或您要在本地合并的分支。

    git checkout <branch you want to merge>

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

    git merge origin developgit merge origin mastergit 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

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      相关资源
      最近更新 更多