[Git] Rebase


Gitでは,1つのブランチから別のブランチにマージする方法は2つある.一つはMerge、もう一つはRebaseです.
  • three-way mergeの場合、履歴にはmerge commitが残ります.これを避ける方法は、再開です.
  • インフラストラクチャの活用
    3ウェイmergeの場合、どのように速く前進しますか?
  • git checkout testBranch
  • git rebase master
  • git checkout master
  • git merge testBranch
  • ブランチ間のベースの使用
    サーバブランチを作成してサーバ機能を追加し、ブランチにクライアントブランチを再作成してクライアント機能を追加します.
    テストされていないサーバブランチを保持し、クライアントブランチのみをmasterに統合する場合を考えてみましょう.サーバに関係のないクライアントコミットはC 8,C 9である.この2つのコミットをプライマリブランチに適用するには、「--To」オプションを使用して次のコマンドを実行します.
    git rebase --onto master server client
    
    別のトピックブランチから分離したトピックブランチを復元
  • は、プライマリブランチに戻ることができ、
  • を迅速に転送することができるようになった.
     git checkout master
     git merge client
    基礎リスク
    公開リポジトリにプッシュされたコミットを再ベースにしないでください
    Rebaseは既存のコミットを使用しないで、同じ内容の異なる新しいコミットを作成します.新しいコミットをサーバにプッシュし、同僚の誰かがコミットをプッシュすることで作業します.ただし、このコミットをGit rebaseに変更してプッシュすると、同僚が再びプッシュする場合、同僚は再マージする必要があります.そして、同僚が再び合併した内容を発表すると、私のコードは非常に悪くなります.
    n/a.結論
    ローカルブランチで作業中は、履歴をクリーンアップするためにリセットできますが、RemoteなどのPushにエクスポートすることはできません.
  • Reference
  • https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0