我是git新手,我有一个用例,在这里我提出了新的提交并将它发送到代码审查,但是我意识到我的本地主线分支并不是最近提交的,我的团队中的someOne已经将新提交推到了远程主线分支。
让我们看看斯堪里奥:
A->B->C <--我最近在C.
但我的团队提出了新的提交,并将其合并到远程branch.Let,表示它是提交D。
因此,我想要取得的成就如下:
A->B->D-->C
HoW我能做到以上的变化。例如,从主线(即D)中提取最新的更改,然后将我的更改(即C)作为最新提交推到它之上。
谢谢。
发布于 2022-01-17 07:18:10
git fetch
同步最新的主程序。
之后,在您的分支中运行git rebase -i origin/master
。
将分支重定向到远程git push --force
之后。
现在,您的分支与master
保持一致,您的提交是链中最新的。
在您的分支中使用git push --force
是可以的(如果您在那里单独开发的话),但是在主板上使用它是不可以的,所以要小心。
发布于 2022-01-17 08:05:46
我总是使用(自从Git 2.6, Q3 2015)
git config --global pull.rebase true
git config --global rebase.autoStash true
这样,一个简单的git pull
就足以自动获得A-->B-->D--->C
。
发布于 2022-01-17 07:23:08
保存您的更改并进行拉,然后应用更改(并在发生冲突时解决冲突)并推送代码。
git获取同步最新的主程序。之后,在您的分支中运行git重基-i原产地/母版。在把你的分支推到远程后,推力。现在,您的分支与master保持一致,您的提交是链中最新的。@tarmo
https://stackoverflow.com/questions/70737646
复制相似问题