源分支是目标分支后面的两次提交

Source branch is two commits behind the target branch

在 IntelliJ 中,我正在从一个名为 stage 的远程分支创建一个新分支。 我的分支叫做 PM-43655-stage。 我提交了我的更改并做了 git push -u origin PM-43655-stage。它在 stage 分支中创建了一个合并请求。现在它显示源分支比目标分支落后 2 个提交。

虽然没有合并冲突。

我在 git pullgit fetch 之间感到困惑,我不确定在这种情况下该怎么做。

此消息表示您尝试将 合并到 的分支(在本例中为 stage)自从您从它分支出来创建 MR .如果没有合并冲突,它仍然可以被合并,但是在合并之前将其更新通常是一个好习惯,这样您可以确保 CI 在将被合并的实际代码上运行。

您可以使用 git pull 执行此操作,它既可以获取远程更改并应用它们,但就我个人而言,我更喜欢拥有更多控制权并重新定位自己,以防出现我想要解决的冲突:

git fetch origin
git rebase origin/stage

完成后,您需要推送更新的分支:

git push --force origin PM-43655-stage

编辑:
关于在评论中提出的您不想提交的本地更改问题,最简单的方法可能是将它们隐藏起来 - 即,在您拉动和推动时将它们放在一边,然后 return 它们:

# Put your local changes aside
git stash save

# Pull the stage branch
git pull origin stage

# Push the updated branch
git push --force origin PM-43655-stage

# Retrieve the uncommited changes and go back to work
git stash pop