ほとんどのコード統合はマージで行われますが、開発者が代わりにリベースを介してローカルコードをマスターブランチに追いつけたい場合があります。 この例では、mergeコマンドを使用する代わりにブランチをmasterにgit rebaseする方法を示しながら、git rebase to master操作を実行することの影響を指摘します。
Git rebase to masterとはどういう意味ですか?,
このチュートリアルでは、developという名前のブランチをmasterの先端にリベースします。
developブランチはcommit Cでmasterから切り離されたため、両方のブランチがファイルを共有しますa.html,b.html そしてc.html—– これを視覚化するには、以下の画像を参照してください。
ブランチが発生したので、マスターはDとEをコミット追加しました。d.html そしてe.html—–,
これは、gitリポジトリがマスターにリベースする前にどのように見えるかです。
さらに、分割以来、developブランチに二つの新しいコミットがあり、ファイルを追加していますf.html そしてg.html—– これらは、developブランチがmasterブランチにはないファイルです。
これはGitLabリポジトリがgitをマスターにリベースした後にどのように見えるかです。,
Git rebaseの影響
マスターリベースへのdevelopブランチが成功した後:
- マスターブランチ内のファイルは変更されません
- developブランチはマスターブランチの新しいファイルをすべて取得します
- 開発ストリームのブランチポイントが変更されます。
- マスターブランチでcommit E後にdevelopブランチが分割されたかのように表示されます。
- リベースの前に、developブランチはコミットCでmasterから分割されます。,
Git rebase to masterコマンド構文
Git rebase to masterを実行する操作は簡単です。 コマンドの最後にソースブランチの名前を追加し、次にrebaseするブランチの名前を追加するだけです。 コマンドをマスターするために開発をリベースするには、次のようになります。
git rebase master develop
警告:git rebase on switchがあり、開発者がrebaseコマンドに含める必要があると誤って信じていることがあります。 そうすると、コミットが破棄され、ファイルが失われます。, Git rebase on操作を実行するのを間違えないでください。
リベースの前に、developブランチには五つのファイルしかありませんでした。
各ブランチには、gitがマスター操作にリベースする前に五つのファイルがあります。
Git rebaseをmasterにリベースした後、developブランチには七つのファイルがあります。 それは元のファイルをすべて保持し、masterブランチの先端から二つの新しいファイルを取得しました。, ただし、masterブランチ内のファイル数は変更されません。