好吧。如果我在一个分支(比如working)上,并且我想合并来自另一个分支(比如master)的更改,那么我在working分支上运行命令git-merge master,这些更改就会合并进来,而根本不需要重新设置历史的基址。如果我运行git-rebase master,那么master中的更改将被重新设置为将放在我的working分支的顶部。但是,如果我想合并来自master的更改,但将我在working中的更改重新设置为最高,该怎么办?我该怎么做?这是可以做到的吗?
我可以在我的master分支上运行git-rebase working以将我的更改放在master分支的顶部,但是我希望能够在我的working分支中这样做,而且我不知道如何做到这一点。我能想到的最接近的做法是从master创建一个新的分支,然后在此基础上更改working的更改,但这样我就有了一个新的分支,而不是更改working分支。
发布于 2011-09-04 12:18:30
你已经得到了rebase向后做的事情。git rebase master做了你所要求的-接受当前分支上的更改(因为它与主分支不同),并在master上重放它们,然后将当前分支的头设置为新历史的头。它不会在当前分支的顶部重放来自master的更改。
发布于 2012-11-22 23:01:00
另一种看待它的方法是将git rebase master视为:
将当前分支重新设置为基于
master的基础
这里,'master‘是上游分支,这解释了为什么在rebase期间使用ours and theirs are reversed。
发布于 2022-01-14 15:43:19
在主文件上重新设置当前更改的基址时,您可以:
rebase下拉最新的git checkout <branch_name>
git pull <remote_name> master
git checkout <branch_name>
git rebase master允许您将远程分支(例如,源/主分支)的更改重新设置为本地分支而不在本地更新远程分支的替代路径是:git rebase origin/master
https://stackoverflow.com/questions/7297379
复制相似问题