Gitのマージとブランチの削除の基本

Basics Git Merging



分岐は、作業を整理するのに役立ちます。ただし、作業を一貫性のあるものにするためには、作業をマージできる必要があります。ブランチをマージして削除しないと、履歴が混沌として理解できなくなる可能性があります。

マージとブランチ削除の操作

最初にマスターブランチを作成し、いくつかのコミットを入れ、featuresという新しいブランチを作成し、いくつかのコミットを追加してから、マスターに戻ってもう一度コミットしましょう。コマンドは次のとおりです。







$mkdirmygame
$CDmygame
$git init
$捨てた 「設計決定1:ブレインスターム」 >>design.txt
$git add -に
$git commit -NS 「C0:開始プロジェクト」
$捨てた 「設計上の決定2:コードを書く」 >>design.txt
$git add -に
$git commit -NS 「C1:提出されたコード」
$gitブランチ特徴
$git checkout特徴
$捨てた 「機能1を追加」 >>feature.txt
$git add -に
$git commit -NS 「C2:機能1」
$捨てた 「機能2を追加」 >>feature.txt
$git add -に
$git commit -NS 「C3:機能2」
$git checkout主人
$捨てた 「マスターを再び変更する」 >>design.txt
$git add -に
$git commit -NS 「C4:マスターモディファイド」

上記のコマンドにより、次の状況が発生しました。





2つのブランチの履歴をチェックして、それらがどのようなコミットを持っているかを確認できます。





$gitステータス
ブランチマスターについて
コミットするものはなく、作業ディレクトリはクリーンです
$gitログ --oneline
2031b83 C4:マスターが変更されました
1c0b64c C1:送信されたコード

$git checkout特徴
ブランチに切り替えました'特徴'

$gitログ --oneline
93d220b C3:機能2
ad6ddb9 C2:機能1
1c0b64c C1:送信されたコード
ec0fb48 C0:プロジェクトを開始しました

ここで、featuresブランチからmasterブランチにすべての変更を加えたいとします。マージの宛先からプロセスを開始する必要があります。マスターブランチにマージしたいので、そこからプロセスを開始する必要があります。それでは、マスターブランチをチェックしてみましょう。

$git checkout主人
ブランチに切り替えました'主人'

$gitステータス
ブランチマスターについて
コミットするものはなく、作業ディレクトリはクリーンです

次に、マージを作成しましょう。



$gitマージ特徴

マージに競合がない場合は、コメント付きのテキストエディタが開きます。

ブランチをマージ'特徴'

#このマージが必要な理由を説明するコミットメッセージを入力してください。
#特に、更新されたアップストリームをトピックブランチにマージする場合。

#「#」で始まる行は無視され、空のメッセージは中止されます
#コミット。

コメントを変更するか、デフォルトのコメントを受け入れることができます。マージ出力には、次のような結果が表示されます。

によって行われたマージ「再帰的」ストラテジー。
feature.txt| 2++
1 ファイルかわった、2挿入((+)。
作成モード100644feature.txt

マージ後、次の条件が発生します。

ログを確認すると、次のことがわかります。

$gitステータス
ブランチマスターについて
コミットするものはなく、作業ディレクトリはクリーンです

$gitログ --oneline
46539a3 C5:ブランチをマージ'特徴'
2031b83 C4:マスターが変更されました
93d220b C3:機能2
ad6ddb9 C2:機能1
1c0b64c C1:送信されたコード
ec0fb48 C0:プロジェクトを開始しました

これで、変更が正常にマージされました。ただし、機能ブランチはまだ存在しています。

$gitブランチ -に
特徴
*主人

次のコマンドで削除できます。

$gitブランチ -NS特徴

ここで確認すると、マスターブランチのみが表示されます。

$gitブランチ -に
*主人

結論

未使用のブランチを定期的にチェックして削除してください。ナビゲートと理解を容易にするために、リポジトリをクリーンに保つ必要があります。

参考文献: