Git领先于master,如何将更改放入新的本地分支?

时间:2016-09-19 17:29:37

标签: git

我在

Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)

在我的本地主分支中进行并进行一些更改之后的状态。

如何将本地更改添加到新分支中?

我想要的结果是:local / master与origin / master同步,我有一个本地分支,其中有两个提交。

2 个答案:

答案 0 :(得分:8)

第一

git checkout -b newBranchName

这将创建一个新分支,与您正在处理的当前主分支相同。

之后,

git checkout master

这将选择master作为您当前的分支。

最后

git reset --hard origin/master

这将从master删除这两个提交,但它们仍然可以在newBranchName

中使用

编辑:作为@ShmulikKlein提及,请注意--hard ..您可以随时使用--soft,然后放弃更改

答案 1 :(得分:1)

@Matias是对的,但首先,你应该非常小心使用git reset --hard以及最后两次提交,它还会消灭你完全工作的目录和暂存区域(又名,unstated和uncommited变化)。

其次,我认为当你在git reset --hard HEAD~2分支时,最后一步应该是master,因为你只想恢复最后2次提交,因为你不知道如何{自您发布问题后{1}}已更改...(除非您使用origin/master检查...)