Saya sedang mengembangkan proyek pada OS X Lion yang berada di bawah kendali versi Git. Saya memiliki direktori huruf kecil ini dan kemudian memanfaatkannya (mis. Emailaddresses => EmailAddresses), tetapi Git sepertinya tidak mengenali perubahannya. Masih menganggap direktori tersebut huruf kecil ketika saya menjalankan git ls-files
dan perintah lainnya.
Apakah ini tidak berbahaya, atau haruskah saya melakukan sesuatu yang lain untuk membuat Git memahami perubahan ini?
Jawaban:
Anda mungkin menggunakan case-sensitive (but case preserving) HFS +. Saya biasanya bekerja seperti ini:
sumber
git push origin master
. Jika git menolak memperbarui remote, Anda mungkin perlu menambahkan file dummy (mis.touch stam
) Dan melakukan push. Diikuti oleh penghapusan berikutnya dari stam dan tekan lagi.Anda dapat memberi tahu git untuk memperhitungkan kasus ini dengan menjalankannya
git config core.ignorecase false
sumber
Cara git mv di Mac Case-Sensitive
Hal ini terjadi karena Mac OS X mengimplementasikan fitur menjaga huruf besar kecil dan huruf besar-kecil yang dimaksudkan untuk membantu Anda.
Meskipun saran ganti nama ganda dalam jawaban lain akan berfungsi, saya merekomendasikan penggunaan '--force' untuk hasil praktik terbaik:
Catatan: jika Anda mencoba tanpa opsi paksa, git akan muntah pada Anda seperti ini:
Pada contoh di atas, perintah git gagal dan tidak ada file yang diubah di sistem file atau dalam indeks git.
sumber
fatal: not under version control
.git
perintah hanya berfungsi di direktori dengan repositori GIT.Cobalah untuk mengubah opsi git config core.ignorecase menjadi false di file .gitconfig Anda.
sumber
git config core.ignorecase false
Langkah-langkah berikut membantu saya menyelesaikan masalah:
Ubah nama folder menjadi
temp
:Panggung dan komit:
Ganti nama
temp
folder sesuai pilihan Anda:Selesai - Sekarang Anda dapat mendorong.
sumber
Jika Anda melakukannya
git mv AAA aaa
ataugit mv -f AAA aaa
, itu tidak akan berhasil dan Anda akan memiliki kesalahanfatal: renaming 'AAA' failed: Invalid argument
.Karena
AAA
danaaa
yang SATU SAMA folder / file di case-sensitive file sistem, langkahAAA
untukaaa
sarana bergerakAAA
sebagaiaaa/AAA
.Jadi kamu harus lakukan
Saya harap ini akan membantu Anda.
sumber
Alasannya adalah karena OS atau macOS berbasis LINUX mengabaikan sensitif huruf untuk nama file / folder. Kita perlu menyelesaikan masalah ini dengan langkah-langkah di bawah ini
sumber
Tidak ada solusi yang berhasil untuk saya. SourceTree selalu membuat cabang saya dengan kasus yang berbeda dari yang saya inginkan. Jadi bagaimana saya menyelesaikannya adalah:
1 - Lihat file git Anda di finder. Anda dapat melakukannya dengan mengetik ini di terminal:
2 - Luncurkan kembali finder dan buka direktori proyek Anda
3 - Sekarang cukup ganti nama folder Anda, misalkan dari Fitur ke fitur. Dan begitulah.
sumber
Anda juga dapat melakukan ini secara manual tanpa menggunakan perintah GIT. Di dalam
.git
folder, cukup hapus folder dengan nama yang Anda inginkan yaituSomeName
. Dan kemudian ganti nama foldersomename
menjadiSomeName
. Lebih detail di: Cara memperbaiki nama folder diatur ke huruf besar dan git convert ke huruf kecilsumber
Saya memiliki masalah yang sama dan menggunakan solusi di bawah ini. Saya menggunakan ini untuk batch, direktori & nama file dll:
Seperti yang dijelaskan di sini.
sumber
Tidak ada yang benar-benar membantu saya, saya masih meminta git untuk menyembunyikan perubahan saya, karena situasi saya adalah folder lokal saya dikapitalisasi tetapi remote tidak, dan cabang saya ada di belakang dan saya tidak bisa lagi menarik karena perbedaan kapitalisasi file dalam struktur folder.
Satu-satunya cara saya bisa memperbaikinya adalah menghapus cabang lokal saya dan memeriksa remote.
sumber