Yerel dosyanın üzerine yazılmasını sağlamak için menşe deposunda ne var?


224

Depodaki en son dosyayı almak ve yerel olarak sahip olduğum dosyanın üzerine yazmak istiyorum. Bunu git istemcisi ile nasıl yapabilirim?

Yanıtlar:


443

Yalnızca bir dosyanın üzerine yazmak istiyorsanız:

git fetch
git checkout origin/master <filepath>

Değiştirilen tüm dosyaların üzerine yazmak istiyorsanız :

git fetch
git reset --hard origin/master

(Bu, masteryerel olarak çalıştığınızı ve başlangıç ​​noktasındaki değişiklikleri istediğinizi varsayar master- bir şubedeyseniz, bunun yerine bunun yerine koyun.)


Bu tam tersini yaptı. Yanlışlıkla yerel dosyalarımla birlikte deponun üzerine yazdı.
C_Rod

git fetch git reset --hard origin/masterveya/<branch name>
adrian filipescu

Bu harika ... Tam da aradığım şey. Teşekkürler
Thiago Passos

@C_Rod'un ne yaptığından emin değilim, ancak bu muhtemelen deposu etkileyemez
Brad Mace

26

İstediğiniz dosyanın bulunduğu dalda çalıştığınızı varsayarak en basit sürüm:

git checkout path/to/file.

Bunu o kadar sık ​​yapıyorum ki, bir takma ad ayarladım gc='git checkout'.


4
Basit, zarif ve işi yapar. Daha önce 'git getirmeyi' unutmayın.
Almir Campos

6
git checkout path/to/filebenim için çalıştı. Ayrıca, bu diyagramın kavramsal olarak ne git checkoutyaptığını anlamak için çok yararlı olduğunu gördüm . bağlantı
Cale Sweeney

9

Bu benim için çalıştı:

git reset HEAD <filename>

Birkaç farklı çözüm gördüm ama bu en etkili çözüm, teşekkürler
Calvin Zhou

3

Tam senkronizasyonun birkaç görevi vardır:

  • değişiklikleri geri alma
  • yeni dosyaları kaldırma
  • uzak depodan en son bilgileri alın

git reset HEAD - sert

git clean -f

git çekme kökeni ustası

Ya da, tercih ettiğim, uzaktan kumandanın en sonuncusunu kullanarak yeni bir dal oluşturabilirim:

git checkout origin/master -b <new branch name>

kökeni benim uzak depo referansım, ve master benim kabul edilen şube ismim. Bunlar sizinkinden farklı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.