第 4 章 git ブランチ操作

、
左から右に見た図

私自身の理解: 通常の状況では、開発者は複数のブランチで開発し、最終的にメイン ブランチにマージできます。テスターは運用と保守をテストし、サーバーにデプロイします。ブランチを確立するにはサーバー コードをアップグレードする必要があります。

4.1 ブランチとは何ですか?

バージョン管理プロセスでは、複数のタスクを同時に進めるために、タスクごと
に個別のブランチを作成できます。ブランチを使用すると、プログラマが自分の作業をメインの開発ラインから切り離すことができ、独自のブランチを開発する場合でも
、メインラインのブランチの動作には影響しません。初心者にとって、ブランチはコピーとして単純に理解でき、ブランチは
別のコピーです。(ブランチの最下層は実際にはポインタへの参照です)

简单来说就是在使用版本控制工具开发的过程中,同时推进多个任务(并行互不影响)

ここに画像の説明を挿入します

4.2 分岐の利点

  1. 複数の機能の開発を同時に並行して推進し、開発効率を向上
  2. 各ブランチの開発プロセス中に、1 つのブランチの開発が失敗しても、他のブランチには影響がありません。失敗したブランチを削除して、再度開始してください。

4.3 分岐操作コマンド

支店名 効果
git ブランチ ブランチ名 ブランチを作成する
git ブランチ -v ブランチを表示する
git checkout ブランチ名 分岐を切り替える
git merge ブランチ名 指定されたブランチを現在のブランチにマージします
git Branch -D ブランチ名 ブランチを削除する

4.3.1 支店の運営

①ブランチの作成とブランチの切り替え

* は、現在のブランチがマスターであることを示します。

ここに画像の説明を挿入します

② 2 つの異なるブランチで異なる変更を加えます。

ブランチをマージする場合は、2 つのブランチが関与する必要があります。これら 2 つのブランチのうちの 1 つは「現在のブランチ」、もう 1 つは「ターゲット ブランチ」です。
コマンドの書き方: git merge target Branch
つまり、ブランチ マージ コマンドの本質は、「ターゲット ブランチ」を「現在のブランチ」にマージすることです。

例如:把hotfix合并到master git merge hotfix 需要确保当前所在的分支是master

例如:把master合并到hotfix git merge master 需要确保当前所在的分支是hotfix

現在のバージョンのホットフィックスをマスター ブランチにマージします。
ここに画像の説明を挿入します

②ブランチの競合をマージする

競合の原因:
ブランチをマージするときに、同じ場所の異なるブランチの同じファイルに対して 2 つの完全に異なる変更セットがある場合、競合が発生します。
git はどれを使用するかを決定するのに役立ちません。新しいコードの内容は手動で決定する必要があります。
ここに画像の説明を挿入します

紛争の具体的な内容

ここに画像の説明を挿入します

(1) 紛争の解決
  1. 特殊記号を削除し、必要に応じて変更します。
    特殊記号
<<<<< HEAD 
内容冲突1
=======
内容冲突2
>>>>>>hot-fix
  1. ステータスを確認します (ファイルに 2 つの変更があることが検出されます) MERGING は競合を示します
    ここに画像の説明を挿入します
  2. ローカル ライブラリを送信するための一時記憶領域を追加します
    。 注: ファイル名を指定して git commit コマンドを使用することはできません。ファイル名を指定すると、エラーが報告されます。
    ここに画像の説明を挿入します

4.3.2 ブランチの基礎となる実装

ここに画像の説明を挿入します
マスターとホットフィックスは、実際には特定のバージョン レコードへのポインターです。現在のブランチは実際には HEAD によって決定される
ため、ブランチ作成の本質は、もう 1 つのポインターを作成することです。"
HEAD が master を指している場合、現在は master ブランチ上にいます。HEAD
が hot-fix を指している場合、現在は hot-fix ブランチ上にいます。
したがって、ブランチを切り替える本質は、HEAD ポインタを移動することです。

HEAD がどのブランチを指しているかは、
ローカル ライブラリの .git フォルダーにある次のファイルで確認することもできます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/wyr1235/article/details/128826197