我需要从我的主分支推出一些更改,但没有几个已经存在的提交。
如果我使用当前更改从“master”分支,然后返回“master”并恢复到以前的提交。在 git-revert 之前,我的分支是否会与“master”保持一致?
在我的脑海中,我觉得这将允许我更改“master”,推出一个版本,然后从我之前创建的分支中挑选其他提交回到“master”。
我可以这样做吗?
我需要从我的主分支推出一些更改,但没有几个已经存在的提交。
如果我使用当前更改从“master”分支,然后返回“master”并恢复到以前的提交。在 git-revert 之前,我的分支是否会与“master”保持一致?
在我的脑海中,我觉得这将允许我更改“master”,推出一个版本,然后从我之前创建的分支中挑选其他提交回到“master”。
我可以这样做吗?
git checkout master # switch to master
git branch branchname # create a new branch with the changes from master
git reset --hard commitname #reset the master back.
这将使您的主人因一些提交而退缩。
但你确定你不想只是
git checkout REVISION # set the working dir to another commit.
在已发布的分支上更改历史记录是个坏主意。只是在你的工作树中展开更改将为你提供你想要的提交,而无需实际改变其他人的视图。这称为分离头模式。可以在这里找到更深入的解释