Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何将这些提交从我的主分支拉到它们自己的分支中,以便稍后合并它们?_Git - Fatal编程技术网

Git 如何将这些提交从我的主分支拉到它们自己的分支中,以便稍后合并它们?

Git 如何将这些提交从我的主分支拉到它们自己的分支中,以便稍后合并它们?,git,Git,自原点以来的提交未被推送 我没有很好的计划,并且意识到目标利益和Appodeal都是涉及大量代码的重大承诺,可能会破坏一些东西,因此我想将这些承诺从我的主分支转移到他们自己的分支中,计划稍后将它们合并 我该怎么做?以下是您需要遵循的步骤 在origin/master创建一个新分支feature\u branch,并将其签出 樱桃选择appodal和目标兴趣进入feature\u分支 在Fix Android linking上创建一个新分支temp,并将其签出 Cherry将master分支上的

原点以来的提交未被推送

我没有很好的计划,并且意识到
目标利益
Appodeal
都是涉及大量代码的重大承诺,可能会破坏一些东西,因此我想将这些承诺从我的主分支转移到他们自己的分支中,计划稍后将它们合并


我该怎么做?

以下是您需要遵循的步骤

  • origin/master
    创建一个新分支
    feature\u branch
    ,并将其签出
  • 樱桃选择
    appodal
    目标兴趣
    进入
    feature\u分支
  • Fix Android linking
    上创建一个新分支
    temp
    ,并将其签出
  • Cherry将
    master
    分支上的
    temp
    中的所有提交(需要搁置的提交除外)挑选到
    temp
    分支中
  • 硬复位
    master
    分支到同一提交
    temp
    所指向的位置
  • 删除
    temp
    分支
  • 在开始之前,最好在提交处创建一个新分支,其中
    master
    分支指向该分支,这样,如果您做错了什么,就更容易恢复。另外,在做任何事情之前备份存储库也是一个好主意

  • master
    git branch backup appodal
    ,以防我出错
  • origin/master
    git checkout-b appodal
  • appodeal
    git cherry pick
    我要从
    master
    移动的提交
  • master
    git-rebase-i
    放下刚刚挑选的提交,这些提交被移动到
    appodal

  • 我没有时间写一个完整的答案,但这里有一个提纲:在
    origin/master
    创建一个新分支,切丽选择有问题的提交,然后在交互模式下使用
    git-rebase
    master
    分支中删除提交。您还可以通过创建一个临时分支并将除这两个提交之外的所有提交都选中,然后用该临时分支替换
    master
    。@Dolda2000谢谢!今天我学会了如何
    git-rebase-I
    !太强大了。