在一个远程特性分支上有许多提交。同一分支的本地副本已经过时,我想用远程功能分支更新它。然而,远程分支的最终提交是有问题的,我想在更新期间忽略它。在分行的本地副本上,我应如何办理手续?
注意:
我的本地分支与远程分支不同。我已经用不同的分支名称为自己做了一个副本。
如果您想用远程分支的倒数第二个提交来重新构建本地分支,只需签出本地分支并执行:
git rebase $remote/${remote_branch}^1
也就是说,如果本地分支称为feature
,远程分支称为rfeature
,远程分支称为origin
,您将执行:
git checkout feature
git fetch origin # make sure things are up-to-date
git rebase origin/rfeature^1
如果你还没有加入本地的分支机构,那就加入吧。说
git fetch
git merge origin/otherBranch~1
将另一个分支合并到你的分支中,但没有上次提交的问题。
当你从我所知道的拉出时,你真的不能忽略最后一次提交。但是你可以拉出所有的东西,然后修改为你想要的提交,像这样:
git checkout COMMIT_ID
我建议不要丢弃最后一次提交,而是恢复它。使用这种方法,当您必须推动远程分支时,您将不必强制它。
git pull --rebase
git revert HEAD