GITマージとリベースの違いは何ですか

目次:

Anonim

NS 主な違い GITマージとリベースの間は Rebaseは、GITMergeよりもはるかにクリーンなプロジェクト履歴を提供します。

GITは人気のあるバージョン管理システムです。これにより、開発者は共同で作業し、作業履歴を維持できます。さらに、Gitで分岐を実行する方が簡単です。ブランチは、新しい機能を作成するために使用されます。その機能を完了した後、開発者はそのブランチをマスターブランチとマージし、そのブランチを削除できます。さらに、コミットを実行した後、HEADは最新のコミットで更新されます。全体として、GITマージとリベースは、あるブランチから別のブランチへの変更を統合するのに役立ちます。

GIT、GITマージ、リベース

GITマージとは

開発者は、次のコマンドを使用して、マスターブランチを機能ブランチにマージできます。機能ブランチに新しい「マージコミット」を作成します。また、両方のブランチの履歴を接続します。

gitチェックアウト機能

gitマージマスター

次のコマンドを使用することもできます。

gitマージ機能マスター

このコマンドは、非破壊操作を実行します。既存のブランチは変更されません。一方、マスターがアクティブな場合、機能ブランチの履歴に影響を与える可能性があります。 git logオプションは、この問題を減らすのに役立ちます。ただし、他の開発者がプロ​​ジェクトの履歴を理解するのが難しくなる可能性があります。

リベースとは

開発者は、リベースを使用して、機能ブランチをマスターブランチにマージできます。コマンドは次のとおりです。

gitチェックアウト機能

git rebase master

これらのコマンドは、機能ブランチ全体を移動して、マスターブランチの先端から開始します。これは、すべての新しいコミットをマスターに組み込みます。さらに、Rebaseは、元のブランチのコミットごとに新しいコミットを作成することにより、プロジェクト履歴を書き換えます。

リベースは不要なコミットを排除します。したがって、よりクリーンなプロジェクト履歴を提供します。言い換えれば、それは線形のプロジェクト履歴を維持します。開発者は機能のヒントに従うことができ、フォークなしでプロジェクトの最初に進むことができます。さらに、gitlogやgitkなどのコマンドを使用してプロジェクト内を移動する方が簡単です。ただし、開発者は、アップストリームの変更がいつ機能に組み込まれたかを確認できません。

GITマージとリベースの違い

意味

GITマージは、gitブランチが作成した独立した開発ラインを取得して単一のブランチに統合できるようにするGITコマンドです。一方、Rebaseは、一連のコミットを新しい基本コミットに移動または結合するGITコマンドであり、機能の分岐ワークフローを簡単に視覚化できます。したがって、これがGITマージとリベースの主な違いです。

プロジェクトの歴史

さらに、Rebaseは、GITMergeよりもクリーンなプロジェクト履歴を提供します。

ナビゲーション

環境

GITマージでは、開発者はアップストリームの変更がいつ機能に組み込まれたかを確認できます。一方、Rebaseでは、開発者はアップストリームの変更がいつ機能に組み込まれたかを確認できません。したがって、これはGITマージとリベースの違いでもあります。

結論

簡単に言うと、GITマージとリベースはどちらも、あるブランチから別のブランチに変更を統合するためのコマンドです。 GITマージとRebaseの主な違いは、RebaseがGITマージよりもはるかにクリーンなプロジェクト履歴を提供することです。

参照:

1.アトラシアン。 「Gitマージ| AtlassianGitチュートリアル。」アトラシアン、こちらから入手できます。 2.アトラシアン。 「Gitリベース| AtlassianGitチュートリアル。」アトラシアン、こちらから入手できます。

画像提供:

1.」 Gitのロゴ」JasonLong –(CC BY 3.0)CommonsWikimedia経由

GITマージとリベースの違いは何ですか