21 lines
1.0 KiB
Plaintext
21 lines
1.0 KiB
Plaintext
git fetch i git pull służą do synchronizacji z zdalnym repozytorium, ale różnią się zakresem działania: fetch tylko pobiera zmiany, pull pobiera i automatycznie integruje.
|
||
|
||
git fetch
|
||
Pobiera najnowsze commity i informacje o gałęziach ze zdalnego repozytorium do lokalnych referencji (np. origin/main), ale nie modyfikuje bieżącej gałęzi ani plików roboczych. Pozwala sprawdzić zmiany przed ich scaleniem, bezpieczne przy potencjalnych konfliktach.
|
||
|
||
|
||
Przykład:
|
||
git fetch origin
|
||
git log HEAD..origin/main # Sprawdź nowe commity
|
||
|
||
|
||
git pull
|
||
Równoważne git fetch + git merge (domyślnie) – pobiera zmiany i natychmiast scalają je z bieżącą gałęzią, aktualizując pliki robocze. Szybkie, ale może spowodować konflikty merge.
|
||
|
||
Przykład:
|
||
git pull origin main
|
||
Wariant z rebase: git pull --rebase origin main
|
||
|
||
Kiedy co używać
|
||
Używaj fetch do inspekcji zmian przed merge (np. git fetch && git merge origin/main), pull do szybkiej synchronizacji na czystym branchu. Fetch jest bezpieczniejszy w zespołach.
|