Rebase (2)

1856 ワード

インフラストラクチャの活用


Rebaseは、ブランチをマージするだけでなく、他の用途に使用できます.
他のテーマ分岐から分離されたテーマ分岐のような歴史があります

サーバ機能を追加するサーバブランチを作成します.
このブランチで、クライアントブランチを再作成して、クライアント機能を追加します.
最後に、サーバブランチに移動し、いくつかの機能を追加します.
次に、テストされていないサーバブランチを片側に置いて、クライアントブランチだけをmasterに統合する場合を考えてみましょう.(キィキィ、起きようとしているようです)
サーバブランチとは無関係のクライアントブランチのコミットはC 8,C 9である.
この2つのコミットをプライマリブランチに適用するには、--toオプションを使用して次のコマンドを実行します.
// 현재 client 브랜치에 있음. 
git rebase --onto master server client
このコマンドは、プライマリ・ブランチからサーバ、クライアント・ブランチへの共通の祖先をコミットします.
クライアントブランチから削除したい場合に使用します.
クライアントブランチにのみ変更されたpatchを作成し、プライマリブランチにクライアントブランチに基づいて新しいpatchを作成して適用します.
[運転結果]

マスターに戻って速く進むことができます
git checkout master
git merge client
[運転結果]

サーバブランチの作業も完了してmasterにマージすると、
この場合、チェックアウトせずにサーバブランチをプライマリブランチとしてRebaseすることができます.
コマンド:git rebase
このコマンドは、トピックブランチ(サーバ)に署名し、プライマリブランチに基づいています.
git rebase master server
[運転結果]

そしてMaster Branch Fast-forwardを
git checkout master
git merge server
[運転結果]

次の授業ではRebaseの危険性について話します...
[出典]https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0