源分支是目标分支后面的两次提交
Source branch is two commits behind the target branch
在 IntelliJ 中,我正在从一个名为 stage
的远程分支创建一个新分支。
我的分支叫做 PM-43655-stage
。
我提交了我的更改并做了 git push -u origin PM-43655-stage
。它在 stage
分支中创建了一个合并请求。现在它显示源分支比目标分支落后 2 个提交。
虽然没有合并冲突。
我在 git pull
和 git 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
在 IntelliJ 中,我正在从一个名为 stage
的远程分支创建一个新分支。
我的分支叫做 PM-43655-stage
。
我提交了我的更改并做了 git push -u origin PM-43655-stage
。它在 stage
分支中创建了一个合并请求。现在它显示源分支比目标分支落后 2 个提交。
虽然没有合并冲突。
我在 git pull
和 git 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