我从远程存储库remote_repo的主分支克隆了一个项目。我创建一个新分支,并将其提交给该分支。其他程序员将remote_repo推到主分支。

我现在需要将我的本地分支RB重置到remote_repo的主分支上。

如何做到这一点?在终端上输入什么命令?


当前回答

简单的解决方案:

Git checkout master && Git pull

Git结帐分支

Git rebase master ->解决冲突

转到添加 。

Git rebase—继续

Git push——force-with-lease origin分支

其他回答

在向分支提交更改后,签出master并从repo中获取其最新更改:

git checkout master
git pull origin master

然后签出你的分支,并在master上重新调整你的更改:

git checkout RB
git rebase master

...或者一行中的最后两个命令:

git rebase master RB

当试图推回原点/RB时,你可能会得到一个错误;如果你是唯一一个使用RB的人,你可以强制push:

git push --force origin RB

...如果git配置正确,则如下所示:

git push -f

首先从上游存储库中获取新的master,然后在此基础上重新构建你的工作分支:

git fetch origin            # Updates origin/master
git rebase origin/master    # Rebases current branch onto origin/master

更新:请参阅Paul Draper的回答,以获得更简洁的方法—最近的Git版本提供了一种更简单的方法来执行上述两个命令的等效操作。

步骤1:

git fetch origin

步骤2:

git rebase origin/master

第三步:(修正任何冲突)

git add .

步骤4:

git rebase --continue

步骤5:

git push --force

简单的解决方案:

Git checkout master && Git pull

Git结帐分支

Git rebase master ->解决冲突

转到添加 。

Git rebase—继续

Git push——force-with-lease origin分支

git pull --rebase origin master