Sobes.tech
Junior

Чӣ гуна муноқишаҳоро дар Git ҳал мекунед?

sobes.tech AI

Ҷавоб аз AI

Ҳангоми иҷрои pull ё rebase тағйиротҳо ба ҳам мепайванданд. Агар Git натавонад автоматӣ хатҳои дар низоъ дар файлҳоро ҳал кунад, онҳоро бо маркерҳои махсус нишон медиҳад:

<<<<<<< HEAD
хат аз шохаи ҳозира
=======
хат аз шохае, ки мо мепайвандем
>>>>>>> feature/нав-вазифа

Барои ҳалли низоъ:

  1. Файли дар низоъ қарор доштаашро дар редактор кушоед.

  2. Файлиро дастӣ таҳрир кунед, қисмҳои заруриро аз ҳар ду версия интихоб кунед ё якҷоя созед.

  3. Маркерҳои <<<<<<<, =======, >>>>>>>-ро тоза кунед.

  4. Файлро сабр кунед.

  5. Файли ҳалшударо бо git add ба индекс илова кунед:

    # Иловаи файли мушаххас
    git add роҳ/ба/файли/ҳалшуда
    
    # Иловаи ҳамаи файлҳои ҳалшуда
    git add .
    
  6. Барои анҷом додани ҳамҷоягӣ, commit кунед:

    # Дар вақти ҳамҷоягӣ
    git commit -m "Ҳал кардани низоъ"
    
    # Дар вақти rebase
    git rebase --continue
    

Агар низоъҳо зиёд ё мураккаб бошанд, метавонед аз воситаҳои ҳамҷоягӣ истифода баред:

git mergetool

Ин як воситаи графикӣ мекушояд, ки кӯмак мекунад, ки қадам ба қадам дар низоъҳо гузаред.

Дар ҳолати мушкилот дар вақти rebase, метавонед истифода баред:

  • git rebase --abort: Rebase-ро бекор кунед ва ба ҳолати пешина баргардед.
  • git rebase --skip: Ҳамон коммити дар низоъ қарор доштаашро гузаред (мумкин аст, хатарнок бошад).

Муҳим аст, ки пас аз ҳалли низоъҳо, тағйиротро санҷед, то боварӣ ҳосил кунед, ки коди кор мекунад.