Sobes.tech
Junior

Тафовут байни фармонҳои pull ва fetch дар Git чист?

sobes.tech AI

Ҷавоб аз AI

git fetch тағйиротҳоро аз анбори дуркашӣ боргирӣ мекунад, аммо онҳоро ба шохаи ҳозира татбиқ намекунад. git pull як git fetch анҷом медиҳад ва сипас автоматӣ (merge) тағйиротҳои гирифташударо бо шохаи ҳозира мепайвандад.

Фарқиятҳои асосӣ:

Команда Ҳаракат Тасир дар нусхаи корӣ / шоха
git fetch Объектҳоро (коммитҳо, файлҳо) боргирӣ мекунад Нагузошта, ки нусхаи корӣ ё шохаи ҳозира тағйир ёбад
git pull Объектҳоро боргирӣ мекунад ва тағйиротҳоро мепайвандад Шохаи ҳозира ва нусхаи кориро навсозӣ мекунад

Маслиҳат барои истифода:

Барои дидани он ки дар сервери дур чӣ тағйирот рух додааст:

git fetch origin

(Таҳлил кардани тағйирот бо git log origin/<шоха>)

Барои гирифтани тағйирот ва автоматӣ татбиқ кардани онҳо ба шохаи ҳозира:

git pull origin main # масалан

git pull дар асл баробар аст бо иҷрои пайдарпайи git fetch ва git merge ё git rebase (ба вобаста ба танзимот).

# Баробар бо git pull
git fetch origin
git merge origin/main # агар шохаи ҳозира main бошад ва стратегияи мепайвандадро истифода баред

Истифодаи git fetch назорати бештар медиҳад, зеро имкон медиҳад, ки тағйиротҳои даромадашударо пеш аз мепайвандад кардан баррасӣ кунед. git pull барои синхронкунии зуд қулай аст.