如何在git中指向分支头来掌握?

时间:2015-07-31 00:25:39

标签: git

我需要进行圈出的提交,链接到主人的头部~1。换句话说,除了一次提交,我想删除所有提交和分支 enter image description here

3 个答案:

答案 0 :(得分:1)

如果我理解你的问题:

  • 您想要放弃batter-icons分支。这很简单:

    $ git branch -D batter-icons
    
  • 您想在ups-icons-support rebase master~1。所以,做到这一点:

    $ git checkout ups-icons-support
    $ git rebase master~1
    

现在你有:

           * ups-icons-support
  master * |
          \|
           * master~1

如果你的目标是替换旧的主分支,你可以:

$ git checkout master
$ git reset --hard ups-icons-support

答案 1 :(得分:0)

您需要完成两项任务:

  • 删除其他分支。

你需要大写的“d”,因为这些提交将丢失所有引用以获取它们。

git branch -D batter-icons
  • 只接受master~1
  • 中ups-icons-support的最后一次提交

这是通过git rebase --onto

完成的
git checkout ups-icons-support
git rebase --onto master~1 HEAD~1 ups-icons-support
  1. - 在master~1上你想要启动rebase。
  2. HEAD~1是您想要改装的第一个提交。
  3. ups-icons-support是rebase的终结。

答案 2 :(得分:0)

感谢您的回答,这是我如何做到的

<强> git log --oneline --decorate --all --graph * dd9bda6 (origin/batter-icons, batter-icons) на всякий * 16b9233 battery to primary * cb61d3a icons 1 | * 3824a5e (origin/ups-icons-support, ups-icons-support) XFCE-powemanager-UPS-icons | * 4c8ecae Reverted index.theme to original(as was after forking) |/ * 7ca1226 (HEAD, origin/master, origin/HEAD, master) 96 support * 66c295a folders and index for panel folder * c4ca2a7 1.3.1

<强> git branch -D batter-icons

<强> git branch -D --remote origin/batter-icons

git checkout ups-icons-support

<强> git rebase --onto master~1 HEAD~1 ups-icons-support

<强> git branch -D --remote origin/master origin/ups-icons-support

<强> git rebase --onto master~2 HEAD~1 ups-icons-support

<强> git log --oneline --decorate --all --graph * c49c5e2 (ups-icons-support) XFCE-powemanager-UPS-icons | * 7ca1226 (HEAD, master) 96 support | * 66c295a folders and index for panel folder |/ * c4ca2a7 1.3.1