在IntelliJ中,我从一个名为stage
的远程分支上创建了一个新的分支。
我的分支名叫PM-43655-stage
。
我提交了我的更改并执行了git push -u origin PM-43655-stage
。它创建了一个合并请求到stage
分支。现在它显示源分支比目标分支落后2个提交。
虽然没有合并冲突。
我对git pull
和git fetch
之间的区别感到困惑,并不确定在这种情况下该怎么做。
在IntelliJ中,我从一个名为stage
的远程分支上创建了一个新的分支。
我的分支名叫PM-43655-stage
。
我提交了我的更改并执行了git push -u origin PM-43655-stage
。它创建了一个合并请求到stage
分支。现在它显示源分支比目标分支落后2个提交。
虽然没有合并冲突。
我对git pull
和git fetch
之间的区别感到困惑,并不确定在这种情况下该怎么做。
git pull
命令完成此操作,它既可以获取远程更改,也可以应用它们。但我个人更喜欢拥有更多的控制,并重新基于当前分支进行变基,以便在必要时解决冲突。git fetch origin
git rebase origin/stage
完成后,您需要推送更新的分支:
git push --force origin PM-43655-stage
编辑:
关于评论中提出的你不想提交的本地更改问题,最简单的方法可能是将它们储藏起来-也就是在拉取和推送时将它们放在一边,然后再恢复它们:
# 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