Saya tidak bisa seumur hidup saya menemukan penjelasan yang layak dari pesan "[file]: needs update" yang kadang-kadang dikeluarkan git dari waktu ke waktu. Bahkan FAQ resmi git telah menjelaskan hal ini ditandai sebagai TODO. Jika seseorang dapat menjelaskan A) apa artinya; dan B) bagaimana cara memperbaikinya, saya akan sangat berterima kasih.
156
Jawaban:
Itu berarti Anda mencoba untuk menggabungkan perubahan dari suatu tempat, tetapi perubahan termasuk modifikasi ke file yang kotor (saat ini dimodifikasi di pohon kerja Anda). Anda perlu melakukan perubahan yang luar biasa, atau menyembunyikannya, menarik / rebase / menggabungkan / apa pun yang Anda lakukan untuk memperbarui, dan melepaskan
sumber
git svn rebase
dengan copy pekerjaan kotor. Simpan simpanan, rebase, simpanan pop, dan semuanya baik-baik saja dengan dunia.Seperti yang telah ditunjukkan oleh orang lain, perlu memperbarui pesan berarti bahwa file tersebut kotor atau, dengan kata lain, sudah usang. Tetapi alih-alih melakukan reset dan memulai dari awal lagi, apa yang dapat dilakukan hanyalah
git status
dan kemudiangit add <file>
jika itu ada dalam daftar yang diubah . Karena Anda sudah bisa menambahkan file sebelumnya, tetapi kemudian mengubahnya. Ini terjadi pada saya, dan dengan sederhana iniadd
saya telah memecahkan masalah.sumber
Masuk ke server produksi / tujuan Anda,
cd
ke direktori yang berisi aplikasi Anda dan jalankan dua perintah itu.1. Atur ulang ke versi terbaru
2. Tarik perubahan
sumber
Seperti jawaban untuk pertanyaan lain yang ditautkan, pesan berarti Anda memiliki perubahan yang luar biasa. Anda juga mendapatkan ini misalnya jika Anda melakukan beberapa perubahan dengan
git add
, kemudian berubah pikiran dan lakukangit reset HEAD file
dengan niat untuk memulai kembali.sumber
git reset HEAD file
menyebabkan pesan yang sama munculKesalahan ini dapat terjadi ketika proses rebase membuat perubahan tambahan untuk file yang tidak pada cabang target.
Bagi saya bagian yang sulit adalah dengan
.gitattributes
file di repo saya. Jenis file biner baru ditambahkan di cabang lain tetapi penanganannya dipaksa sebagai file teks. Ketika file diunduh dari repo oleh git, EOLs (sebenarnya nilai byte binernya) diganti - menghasilkan perbedaan biner.Menambahkan entri baru untuk menangani tipe file baru sebagai biner dan mencoba kembali seluruh proses memecahkan masalah bagi saya.
sumber
Dalam kasus saya, saya terus mendapatkan
Saya memiliki file-file itu di direktori saya, tetapi mereka telah diubah namanya di cabang saya saat ini. Jadi untuk memperbaikinya, saya berlari
dan itu memungkinkan saya untuk melanjutkan
sumber