Gitで2つのブランチをマージする方法

How Merge Two Branches Git



gitリポジトリには1つ以上のブランチが含まれています。 gitユーザーは、さまざまなトピックに基づいてファイルやフォルダーを保存するためのさまざまなブランチを作成します。これは、ユーザーがコードを簡単に管理するのに役立ちます。開発プロセスでは、プロジェクトの目的で、リポジトリの一方のブランチをもう一方のブランチと組み合わせる必要がある場合があります。 ` gitマージ `コマンドはこのタスクに使用されます。このコマンドは、マージブランチの2つのコミットポインタを調べることによって共通ベースコミットコマンドを見つけ、コマンドの実行後に変更を結合するための新しいマージを生成します。マージコマンドを実行する前に、ローカルリポジトリとリモートリポジトリの両方を更新する必要があります。このチュートリアルでは、2つのブランチをローカルでマージする方法を示しました。

Gitマージオプション

オプション 目的
-専念 マージ後に結果をコミットするために使用され、–no-commitをオーバーライドするために使用できます。
–編集、-e 自動生成されたマージメッセージを編集するためにマージをコミットする前にエディタを開くために使用されます。
–ff これは、マージを迅速に解決するために使用されます。つまり、ブランチポインターは、マージされたブランチと一致するために使用されますが、マージコミットは作成されません。
–no-ff これは、マージのすべての場合にマージコミットを作成するために使用されます。
–ffのみ 可能であれば、マージを早送りとして解決するために使用されます。それ以外の場合は、マージを拒否し、ゼロ以外のステータスで終了します。
-サインオフ これは、コミットメッセージの最後にコミッターによって署名された行を追加するために使用されます。
–サインオフなし これは、サインオフバイラインを追加しないために使用されます。
-州 マージの最後にdiffstatを表示するために使用されます。
-n、–no-stat マージの終了時にdiffstatを表示しないために使用されます。
–上書き-無視 マージ結果から無視されたファイルを上書きするために使用されます。これがデフォルトの動作です。
-ヘルプ これは、すべてのマージオプションに関する詳細情報を取得するために使用されます。

前提条件

1.GitHubデスクトップをインストールします
GitHubデスクトップは、gitユーザーがgit関連のタスクをグラフィカルに実行するのに役立ちます。 Ubuntu用のこのアプリケーションの最新のインストーラーはgithub.comから簡単にダウンロードできます。このアプリケーションを使用するには、ダウンロード後にこのアプリケーションをインストールして構成する必要があります。 UbuntuにGitHubデスクトップをインストールするためのチュートリアルをチェックして、インストールプロセスを正しく知ることもできます。







2.GitHubアカウントを作成します
このチュートリアルで使用されているコマンドを確認するには、GitHubアカウントを作成する必要があります。



3.ローカルおよびリモートリポジトリを作成します
ローカルリポジトリの2つのブランチをマージするために使用されるコマンドを確認するには、リモートサーバーで公開されている複数のブランチを持つローカルリポジトリを使用する必要があります。



ローカルリポジトリの2つのブランチをマージする

次のコマンドを実行して、という名前のローカルリポジトリのブランチリストを確認します。 ファイルをアップロードする





$ gitブランチ

次の出力は、リポジトリに3つのブランチが含まれていることを示しています。 主要 ブランチは現在アクティブです。



次のコマンドを実行して、コンテンツを1つのブランチから別のブランチにマージします。最初 チェックアウト コマンドはに切り替わります 主人 ブランチ。 NS 追加 コマンドは追加します upload4.php リポジトリ内のファイル。 NS 専念 コマンドはコミットメッセージを追加します。次に、2番目のチェックアウトコマンドがに切り替わります 主要 ブランチ。 NS 行く コマンドは、コンテンツを結合します 主人 との分岐 主要 ブランチ。

$ gitチェックアウトマスター
$ git add upload4.php
$ git commit -m 'テキストファイルをアップロードします。'
$ gitチェックアウトメイン
$ gitマージマスター

上記のコマンドを実行すると、次の出力が表示されます。 upload4.php ファイルは現在の場所に存在します。

の場合 主人 コンテンツをにマージした後、ブランチがリポジトリに存在する必要はありません 主要 ブランチの場合、削除できます 主人 ブランチ。最初のブランチコマンドは、削除する前に既存のブランチリストを表示します。との分岐コマンド -NS オプションは削除します 主人 ブランチ。最後のブランチコマンドは、削除後に既存のブランチリストを表示します。

$ gitブランチ
$ ls
$ git branch -d master
$ ls
$ gitブランチ

ブランチを削除すると、次の出力が表示されます。

次のコマンドを実行して、という名前の新しいブランチを作成します 臨時雇用者 、という名前のファイルを追加します upload5.php コミットメッセージを使用してタスクをコミットします。 NS チェックアウト とのコマンド -NS オプションは新しいブランチを作成します。 NS 追加 コマンドは、新しいファイルをリポジトリに追加します。 NS 専念 コマンドは、コミットメッセージを使用してタスクをコミットします。

$ git checkout -b temp
$ git add upload5.php
$ git commit-m画像ファイルをアップロードする

上記のコマンドを実行すると、次の出力が表示されます。 upload5.php ファイルは現在の場所に存在します。

次のコマンドを実行して現在のブランチリストを確認し、一時ブランチをとマージします –ノーオフ オプション、および削除します 臨時雇用者 不要になった場合は分岐します。

$ gitブランチ
$ git merge --no-ff temp
$ git branch -d temp

上記のコマンドを実行すると、次の出力が表示されます。

リポジトリがから開かれている場合 GitHubデスクトップ、 次に、次の情報が表示されます。リポジトリの履歴には、このチュートリアルの前の部分でターミナルからgitコマンドを実行することによって実行されたすべてのタスクが表示されます。 2つのコミットメッセージと2つのマージ操作が履歴リストに表示されています。これらのタスクはすべて、ローカルリポジトリでのみ実行されています。ローカルリポジトリの新しい変更でリモートリポジトリのコンテンツを更新する場合は、をクリックします。 原点を引く のボタン GitHubデスクトップ

結論

ブランチのマージは、gitユーザーが2つのブランチのコンテンツを結合したい場合のブランチの便利な機能です。このチュートリアルでは、2つの既存のブランチをマージし、新しいブランチを作成してブランチをマージする方法を示しました。ターミナルでコマンドを入力したくない場合は、GitHubデスクトップアプリケーションを使用して、リポジトリの2つのブランチをマージできます。