如何将更改从一个分支移动到另一个分支git?

我应该先创build一个分支,然后在那里进行修改。 但是,我在工作副本master分支中进行了更改。

现在,在做了一系列更改之后,我创build了一个与我正在处理的JIRA事件相关的分支。 如何将我的更改从master分支移动到新创build的分支,并保持主分支完好无损?

你可以使用git branch branchname创build一个指向当前提交的新分支(如果你想直接检查它,可以使用git checkout -b branchname )。 这将基本上复制你的主分支,所以你可以继续在那里工作。

如果你已经成功地复制了分支,你可以通过使用git reset --hard commit来将master重置为原来的位置,其中commit是应该是master上最后一个commit的哈希。

所以举个例子,你有这样的情况:

 ---- 1 ---- 2 ---- 3 ---- 4 ---- 5 ---- 6 ^ ^ original master master commit 

所以你已经检查了提交6 master ,并且你想创build一个新的分支机构指向6而重新设置master3

 git branch ticket git reset --hard 3 git checkout ticket 

然后你在ticket指着提交6 ,而master指向3

如果你在意识到自己应该在一个分支之后犯了两次错误,那就简单的做吧

 git branch work_branch git reset --hard HEAD~2 

用您想要去的提交数量replace2。 在这一点上你仍然是主人,如果你想转移到分支继续工作,只是git checkout work_branch

请参阅git rev-parse --help如果你想了解如何遍历你的提交树的语法,像HEAD~2

从你应该有的地方创build一个新的分支,然后樱桃select不正确的分支上的变化到新的分支。

然后,您可以删除坏的分支,假设您没有将其推到其他地方,并对其进行了其他更改。