1

我已经对 git repo 创建了一些更改,并将它们提交给 master(但是,我没有将更改推送到 GitHub)。我现在需要做的是创建一个新分支,并将我的提交转移到这个新分支。更改非常大,因此无法在新分支上手动重做更改 - 希望有一些命令可以将 master 倒回到我的提交之前,将我的提交移动到新分支上,然后将它们向上推送。

我确实搜索了其他问题,但我没有看到任何完全适合我的情况,所以想得到一个准确的答案。

提前致谢!

4

2 回答 2

3

这很容易:

# make sure you're on master
git checkout master
# create a new branch that is identical to master
git branch mystuff master
# reset your local master branch to the state of the remote master
git reset --hard origin/master
# push your new branch to the remote
git push origin mystuff
于 2013-03-27T11:38:22.137 回答
1

首先,创建新分支,然后倒带 master:

git branch new_branch
git reset --hard <sha1-id>

要查找所需的 sha1-id,请检查git log.

之后,您可以将该分支推送到您的远程:

git checkout new_branch
git push -u origin new_branch

请注意,这-u将设置一个跟踪分支,这意味着您可以从现在开始发布git pull并且git push无需指定origin new_branch

于 2013-03-27T11:22:19.207 回答