Github拉请求问题

mar*_*ark 10 git github

我有以下场景:

  • 我的Github默认分支是"开发"
  • 我有三个拉动请求"开发"分支
  • 构建并验证3个拉取请求(通过CI服务器)
  • 然后将一个拉取请求手动合并为"开发".'$ bumpversion --commit dev'自动执行,版本构建和发布.因此,包含版本的所有文件都在"develop"上更改(.bumpversion.cfg,module/__ init__.py)
  • 到现在为止还挺好.现在,由于"开发"中的更改,剩余的两个拉取请求变得无效,无法再通过Github GUI合并.我需要检查分支并与"开发"合并,如@Anirudha详细描述.
  • 我不希望我的拉取请求因这两个文件的更改而变得无效

我相信对于知道如何解决这个问题的git专家来说,解决方案是显而易见的.到目前为止我找不到它,所以请分享.

小智 6

您需要做的就是结账这些拉动请求:git checkout PR1

拉动开发分支的最新变化.git pull origin develop

查看相应的更改.并推送到各自的公关.git远程PR会随着新的更改而更新,您的CI也会相应地批准.


Vir*_*ral 5

我建议你git rebase为这个场景做一个.

Git Rebase官方文件

它的作用是,在执行rebase时检查你指定的分支,假设你有pr#2和pr#3挂起,你克隆了repo并在生成PR的分支中执行,

git rebase develop
Run Code Online (Sandbox Code Playgroud)

它会说退货,所以,你去解决这个过程中的冲突,做一个

git add
Run Code Online (Sandbox Code Playgroud)

现在,如果没有更多的冲突,rebase要么继续要么停止.如果有,您可以在终端中读取状态,继续,

git rebase --continue
Run Code Online (Sandbox Code Playgroud)

现在,这样做直到所有冲突都解决了.

最后当你结帐到那个PR的分支时,你应该看到没有冲突,并且分支可以自动合并(通过显然推送到远程仓库).

现在,为pr#3重复相同的过程,你就完成了.

综上所述,

git rebase develop
git add <files>
git rebase --continue
Run Code Online (Sandbox Code Playgroud)

对pr#3也重复这一点.