git不小心基於其他分支新建了一個分支,但我是想基於主分支新建分支,該如何處理?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-23 09:12:17
0
7
964

新建了一個分支uop-151,是基於uop-387的,但是我想基於主分支建的,但是現在已經開發並提交了,但是我只想提交uop-151的東西,不想提交uop- 387的,如何處理?

#我只想提交最上面那個commit,下面的都不想提交。主要的是我已經推送到遠端分支。

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆 (7)
过去多啦不再A梦

跟是否推送到遠端無關的。就算push了你也可以push -f修改啊。 。

這種情況直接用git rebase --onto就可以了。文件:https://git-scm.com/docs/git-...

你的情況可以抽象化:A - B - C - D - E - F - G。其中A是最初的起始點(master),B C D E F是來自uop-387的,而且你不打算要。G是你自己的 commit,要保留。

先執行git checkout uop-151,確保你在要操作的分支上。

然後git rebase --onto uop-151~6 uop-151~1 uop-151

結果:A - G'

    阿神

    雷雷

      学霸

      git有cherry-pick的指令,不知道是不是滿足你的需求。用法自行百度下吧

        阿神

        如果你只是在本地做了操作,還沒推送到伺服器上游,可以使用git rebaseuop-151rebase到master上。

        官方Git Rebase文件(需翻牆)
        https://git-scm.com/docs/git-...

        其他參考文件
        http://blog.csdn.net/hudashi/...

          習慣沉默

          將你開發提交的commit id, cherry-pic到master即可。

            代言

            如果還沒有 push,可以在 uop-387 分支進行git reset xxxx操作。其中 xxxx 是 uop-151 分支最新的 hash。

            然後切換點 master 分支,重新基於 master 建造分支。別忘了使用--merge參數。


            如果你對 git 比較熟悉,可以使用 cherry-pic 指令。

              学习ing

              checkout回主分支後,再建立一個新分支就行了。

                最新下載
                更多>
                網站特效
                網站源碼
                網站素材
                前端模板
                關於我們 免責聲明 Sitemap
                PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!