トラブルシューティングgitブランチマージの問題が発生しました

2780 ワード

gitブランチマージの問題が発生しました


Intro


git branchについての講座を聞いて、小さな課題をくれました.課題の内容は以下の通りです.(著作権の問題があれば、いくつか変更しました.🤲)
practice
  • ironman.mdを作成し、次の情報を演じる俳優ごとにブランチを作成して可視化します.
  • を完了したブランチは、プライマリブランチにマージする必要があります.
  • 件の提出は、公開年順に存在しなければならない.
  • Format
  •   # {Movie Name}
      - Year:
      - Name:
  • Robert John Downey branch
  •   # Iron Man1
      - Year: 2008
      - Name: Tony stark
      # Iron Man2
      - Year: 2010
      - Name: Tony stark
      ...
  • Jon Favreau. Jon Favreau branch
  •   # Iron Man1
      - Year: 2008
      - Name: Tony stark
    上図に示すように,それぞれ出現陣の分岐を作成し,公開年ごとにマージすればよい.

    一緒に行った他のメンバーが完成した支線は上と同じようにきれいに描かれていて、完成した私の支線は一字型でとても穏やかで、内容が削除されるなど、きれいな形から抜け出しました.🤣.

    どんな問題があるのか、このように試して、そのように試して、branchの目的と意義さえ失って、repoを再クローンして作って、無限の循環に陥りました.😭

    問題の原因


    1.問題の意図を認識できない


    講師が上記の問題を提起したのは,合併過程における衝突を体験し,これらの衝突を解決しようとしたためである.

    2.テキストコピーの貼付け


    ジョブを受信したら、copyfishを使用してジョブpdfファイルからテキストをコピーし、片側に整理し、各ブランチに貼り付けられたironmanをコピーします.mdを修正しました.
    しゅぶんき
    :メインストリートのironman.mdファイルの作成後にFormatテキスト=>git add=>git commitを作成
    /* mian 브랜치의 ironman.md 파일 */
      # {Movie Name}
      - Year:
      - Name:
    A分岐
    :Aブランチ(git branch A)を作成した後、Aブランチのironma.mdファイルの内容をチェックすると、メインブランチの内容がまだ含まれていると判断できます.ここで問題が発生しました.
    //기존 내용 삭제 후 아래 내용 붙여넣기
      # Iron Man1
      - Year: 2008
      - Name: Tony stark
      # Iron Man2
      - Year: 2010
      - Name: Tony stark
      ...
    すなわち、修正モードに入ると、元の内容を削除し、コピーしたテキストを元の場所に貼り付ける.😭
    merge競合の原因
  • は、ブランチごとに同一のファイルを修正してマージしようとしたときに競合が発生したのは、同一部分での修正が発生し、Gitのどの内容が正しいのかを特定できないため、その判断の決定権をユーザに渡すためである.
  • いっそ削除して統合すると,Aブランチの内容は主ブランチの内容を上書きする.
    (この状態でbブランチを作成すると、bブランチにはaブランチで上書きされた内容が含まれ、再びファイルからすべての内容を削除して貼り付け直し、mainでBをマージすると、BテキストがAを上書きします.)
    ここでは、コピー&ペーストではなく、既存のFormatコンテンツの重複部分を修正し、残りの部分を貼り付けることで、簡単に問題を解決できます.😊
    mergeの合併と衝突に関する情報がもっと必要なら、マージと競合をよく整理して、文章を読むのもいいです.

    反省する。


    事実の意図を把握し、それに基づいて課題を行えば問題は起こらない.しかし、1つ目の問題がうまく把握できず、問題解決を繰り返していたため、後から意図を把握したときには、頭の中のbranchの概念がめちゃくちゃになっていたので、問題がどこにあるのか把握できていないようです.
    常に問題や解決すべき問題がある場合は、意図や関数や命令の意味(使用理由)を再検討し、問題に近づく練習をします.