问题描述
不幸的是,我在那里创建了很多新功能并提交了更改,但我还没有推送它们。
现在我想在另一台计算机上工作,所以我的想法是从 main
上已提交但未推送的更改创建一个新分支。
所以我的问题是:
如何创建一个名为 version3
的新分支,其中包含来自 main
的所有未推送的更改,并在此之后从 main
中删除这些提交以获得一个 main
-branch在合并之前不包含新功能?
解决方法
您可以执行以下操作:
# Create a new branch `version3` based on `main` and check it out
git checkout -b version3 main
# Push `version3` (-u to make the local branch track the remote branch)
git push -u
# Go on `main` and remove the commits you do not want
git checkout main
git reset --hard origin/main