将代码移动到新的本地分支,重置master然后推送到新的远程分支

时间:2018-05-22 08:44:52

标签: git git-branch master

我在master分支上完成了一些工作(忘记在启动之前创建新分支)。现在,我希望这个代码存在于我的新本地分支上,将master分支重置为我工作之前的状态,然后将我的新本地分支推送到新的远程分支。有帮助吗?如果我不够清楚,请告诉我。

2 个答案:

答案 0 :(得分:0)

首先从master中创建一个新分支 切换到主git checkout master并结帐到新分支git checkout -b new-branch

如果您有一些未提交的文件而不是提交它们,请切换回master并转到您要回滚的提交,在与工作相关的提交之前应该在新分支上完成

使用git reset commit-hashgit reset HEAD~2回滚2次提交(使用git log可以在日志中看到提交哈希),现在只需将当前本地头推送(强制)到HEAD在原点git push --force

会有很多上传文件,因为它们位于新分支中,您可以使用' git reset --hard` 非常苛刻来丢弃它们因为这将删除所有文件更改这些文件,最好先切换到新分支并检查所有更改是否存在

答案 1 :(得分:0)

由于您已经说过您还没有推送到远程,我建议先在master分支上执行混合(默认)重置,然后再创建一个新分支。

我发现如果他们使用哈希重置而不是使用 head~x 方法,那么通常会获得正确的提交。因此,运行git log并找到要回滚的提交并复制该commit-hash。

然后git reset commit-hash将更改删除到您的工作目录中。现在创建一个新分支并提交这些更改。 git checkout -b new-branch; git add . && git commit -m "some message"

现在当你回到主人的时候,它就会出现在你想要的地方,可以推到你的遥控器上。