検索

ホームページ  >  に質問  >  本文

Gitで誤って他のブランチをベースに新しいブランチを作成してしまいましたが、メインブランチをベースに新しいブランチを作成したいのですが、どうすればよいでしょうか?

uop-387 に基づいて新しいブランチ uop-151 を作成しましたが、メイン ブランチに基づいてビルドしたいのですが、現在は開発されて送信されていますが、uop-151 のみを送信したいと考えています。 uop-387 を送信したくないのですが、どう対処すればよいでしょうか?

一番上のコミットのみを送信したいので、後続のコミットは送信したくないです。主なことは、リモートブランチにプッシュしたことです。

曾经蜡笔没有小新曾经蜡笔没有小新2709日前1036

全員に返信(7)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-23 09:14:17

    リモコンにプッシュされているかどうかは関係ありません。たとえ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 これはあなた自身のコミットであり、保持する必要があります。

    まず

    を実行し、操作したいブランチにいることを確認してください。 git checkout uop-151

    それでは

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

    結果:

    A - G'

    返事
    0
  • 阿神

    阿神2017-06-23 09:14:17

    リーリー

    返事
    0
  • 欧阳克

    欧阳克2017-06-23 09:14:17

    Git にはチェリーピック コマンドがありますが、それがあなたのニーズを満たすかどうかはわかりません。使用方法はBaiduからダウンロードしてください

    返事
    0
  • 阿神

    阿神2017-06-23 09:14:17

    操作をローカルでのみ実行し、上流サーバーにプッシュしていない場合は、git rebaseuop-151 rebase到masterアップロードを使用できます。

    公式 Git Rebase ドキュメント (ファイアウォールを回避する必要があります)
    https://git-scm.com/docs/git-...

    その他の参考資料
    http://blog.csdn.net/hudashi/...

    返事
    0
  • 習慣沉默

    習慣沉默2017-06-23 09:14:17

    マスターへの開発送信のコミット ID をチェリーピックします。

    返事
    0
  • 代言

    代言2017-06-23 09:14:17

    まだプッシュしていない場合は、uop-387 ブランチで git reset xxxx 操作を実行できます。ここで、xxxx は uop-151 ブランチの最新のハッシュです。

    その後、master ブランチに切り替えて、master に基づいてブランチを再度構築します。 --mergeパラメータを使用することを忘れないでください。


    git に精通している場合は、cherry-pic コマンドを使用できます。

    返事
    0
  • 学习ing

    学习ing2017-06-23 09:14:17

    メインブランチをチェックアウトしたら、新しいブランチを作成するだけです。

    返事
    0
  • キャンセル返事