1 min read

Git pull ile local dosyalar nasıl üzerine yazdırılır?

⚠ Uyarı:
Commit edilmemiş tüm local değişiklikler, tracked dosyalar da dahil olmak üzere kaybolur. Hatta bu değişiklikler staged bile olsa. Ancak, Git tarafından takip edilmeyen dosyalar etkilenmez ve olduğu gibi kalır.

İlk olarak, tüm origin/ referanslarını güncellemek için aşağıdaki komutu kullanın:

git fetch --all

Şu anki branch’inizi yedekleyin (örneğin main):

git branch backup-main

Ardından, origin/main üzerindeki son commit'e geçin ve bu dosyaları checkout yapın:

git reset --hard origin/main

Açıklama:

git fetch, remote’daki son güncellemeleri indirir, ancak hiçbir merge ya da rebase işlemi yapmaz.

git reset --hard, local branch’inizi fetch ettiğiniz duruma sıfırlar. Bu komut, tüm local dosyalarınızı origin/main’deki dosyalarla aynı hale getirir.

Mevcut local commit’leri koruma:

Eğer local commit'lerinizi kaybetmek istemiyorsanız, reset işleminden önce bir branch oluşturabilirsiniz. Bu sayede mevcut commit'ler korunur:

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/main

Bu işlemin ardından eski commit'ler, yeni oluşturduğunuz branch’de korunur.

Commit edilmemiş değişiklikler:

Commit edilmemiş tüm değişiklikler, staged olsa dahi kaybolur. İhtiyacınız olan dosyaları kaybetmemek için, bu değişiklikleri stash’e alabilir ya da commit edebilirsiniz. Aşağıdaki komutla stash’e alabilirsiniz:

git stash

git reset işleminden sonra, bu uncommitted changes’larınızı geri yüklemek için şu komutu kullanın:

git stash pop

Bu rehberle, local dosyalarınız üzerine yazdırarak git pull işlemi gerçekleştirebilir ve mevcut commit'lerinizi koruma altına alabilirsiniz.