2017-04-22 81 views
1

origin以来的提交没有被推送。如何将这些提交从我的主分支中提取出来并放入他们自己的分支中,以便以后可以合并它们?

enter image description here

我没有计划非常好,并且意识到Targeted InterestsAppodeal是触及了大量的代码,并可能打破东西大提交,所以我想移动这些提交了我的主分支,进入他们自己的分支,计划在晚些时候合并他们。

我该怎么做?

+1

我没有写一个完整的答案的时候,但这里是一个概述:创建在'产地/ master'的一个新的分支,樱桃挑问题提交到那里,然后用交互模式下的'git rebase'去除'master'分支的提交。你*也可以通过创建一个临时分支并选择所有*,但是*这两个提交到那里来完成后者,然后用该临时分支替换'master'。 – Dolda2000

+0

@ Dolda2000谢谢!我今天学会了'git rebase -i'!如此强大。 – kayla

回答

1

以下是您需要遵循的步骤。

  1. 创建一个新分支feature_branchorigin/master并检查出来。
  2. Cherry pick Appodeal and Targeted interests into feature_branch
  3. 创建一个新分支tempFix Android linking并检查出来。
  4. 樱桃挑选分支以上的所有提交temp分支除了您需要放在一边的提交,temp分支。
  5. 硬复位master分支到相同的提交temp指向。
  6. 删除temp分支。

在开始之前,最好在提交时指定master分支处创建一个新分支,因此如果您做错了事情,它将更容易恢复。另外,在做任何事之前备份存储库也是一个好主意。

0
  1. master,git branch backup-appodeal万一我拧了。
  2. At origin/mastergit checkout -b appodeal
  3. appodeal,git cherry-pick提交我想从master移动。
  4. mastergit rebase -idrop刚挑选的樱桃提交,它被转移到appodeal

enter image description here

瞧!

enter image description here

相关问题