Pertanyaan git pull gagal dengan "file pohon kerja yang tidak dilacak 'bla' akan ditimpa oleh penggabungan", tetapi pohon bersih


Saya sudah memeriksa beberapa perubahan pada repositori lokal saya yang ingin saya dorong, tetapi ketika saya melakukan git pull, saya mendapatkan:

paul$ git pull 

kesalahan: Dokumentasi file pohon kerja yang tidak dilacak / Android / SwiftKey / buttons.xcf 'akan ditimpa oleh penggabungan. Aborting

Pohon kerja saya tidak berisi file yang tidak terlacak:

paul$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 26 different commit(s) each, respectively.
#
nothing to commit (working directory clean)

Komit yang saya buat tidak menyentuh file yang dikeluhkan.

Saya telah membaca jawaban yang menunjukkan bahwa saya melakukan git reset HEAD --hard, tapi saya tidak yakin apa efek yang akan ada pada komit yang saya buat?


32
2017-07-02 12:38


asal


Jawaban:


Bukan commit yang Anda buat yang menyentuh file, tetapi commit yang Anda tarik. Periksa cabang jarak jauh yang Anda lacak untuk melihat apa yang terjadi. Sebagai contoh, git log master..origin/master akan menampilkan semua commit yang telah terjadi asal / master sejak terakhir Anda menarik. Menurut output Anda di atas, ada 26 di antaranya. Menggunakan --name-status opsi akan menampilkan commit mana yang menambahkan file.

Anda harus mengganti nama file yang menyinggung, lakukan tarikan, lalu pindahkan kembali (timpa salinan dari repo). git diff nama file kemudian akan memberi tahu Anda bagaimana salinan Anda berbeda dari yang orang lain telah berkomitmen untuk kuasai. Anda kemudian dapat melakukan perbedaan, atau membuangnya git checkout nama file.

Anda harus menggunakan git pull --rebase untuk me-rebase commit terakhir Anda di atas yang ada di origin. Sekali git status kata tuan adalah di depan daripada menyimpang dari asal / master, Anda dapat mendorong.


26
2017-07-02 13:14