Dosya adlarında değişiklikler sadece Git'te büyük küçük harfe duyarlı nasıl yapılır?

İlk harfi ( Name.jpg gibi) Name.jpg bölerek birkaç dosyanın adını değiştirdim. Git bu değişiklikleri tanımıyor ve ben dosyaları silmek ve tekrar yüklemek zorunda kaldım. Dosya adlarındaki değişiklikleri kontrol ederken git'in büyük / küçük harf duyarlı olmasının bir yolu var mı? Dosyanın kendisinde herhangi bir değişiklik yapmadım.

930
16 июля '13 в 20:41 2013-07-16 20:41 Gil Shulman 16 Temmuzda 13: 20'de 20: 41'de istedi 2013-07-16 20:41
@ 11 cevaplar

Git mv kullanabilirsiniz:

 git mv -f OldFileNameCase newfilenamecase 
1144
03 янв. Keith Smiley tarafından Oca 03 tarihinde yanıtlandı 2014-01-03 18:57 '14, 18:57 2014-01-03 18:57

core.ignorecase küçük harf duyarlı veya duyarsız olması gerektiğini söyleyen bir yapılandırma parametresi var: core.ignorecase . Git'e büyük / küçük harf değerini söylemek için, bu parametreyi false :

 git config core.ignorecase false 

belgeleme

git config belgelerinden :

border=0

core.ignorecase

Doğruysa, bu seçenek Git'in FAT gibi büyük / küçük harf duyarlı olmayan dosya sistemlerinde daha iyi çalışması için çeşitli geçici çözümler kullanmanızı sağlar. Örneğin, dizin listesi bir makefile algılarsa, Git bir makefile beklediğinde, Git gerçekten aynı dosyanın olduğunu varsayar ve makefile olarak hatırlamaya devam eder.

Varsayılan değer false, git -clone (1) veya git -init (1) dışında bir depo oluştururken gerekirse core.ignorecase kontrol eder ve ayarlar.

Büyük / küçük harf duyarlı dosya sistemleri

Bildiğim büyük / küçük harfe duyarsız dosya sistemine sahip olmayan en popüler iki işletim sistemi

  • pencereler için
  • OS X
754
17 июля '13 в 1:52 2013-07-17 01:52 Cevap kullanıcı456814 17 Temmuz 13: 01:52 2013-07-17 01:52 tarihinde verilmiştir.

OS X'te yaptığım şey buydu:

 git mv File file.tmp git mv file.tmp file 

İki adım, çünkü aksi halde bir "dosya var" hatası aldım. Belki de bu --cached ya da böyle ekleyerek tek adımda yapılabilir.

93
13 нояб. Tarafından cevap Sijmen Mulder 13 Kas 2013-11-13 17:27 '13, 17:27 2013-11-13 17:27

SourceTree kullanarak tüm bunları kullanıcı arayüzünden yapabildim.

  • FILE.ext whatever.ext yeniden adlandırın
  • evre
  • Şimdi whatever.ext FILE.ext yeniden adlandırın
  • Bu dosyayı tekrarla.

Biraz sıkıcı, ancak sadece birkaç dosya yapmanız gerekiyorsa, oldukça hızlı.

87
28 окт. Cevap Chris Barr 28 Ekim 2016-10-28 17:40 '16, 17:40, 2016-10-28 17:40

OSX'te, bu sorunu önlemek ve bir sabit disk görüntüsü / disk görüntüsü oluşturmak için bu sorunu önlemek ve büyük küçük harf duyarlılığı olmadan dosya sistemindeki gelişmelerle ilgili diğer sorunlardan kaçınmak için kullanabilirsiniz.

Disk yardımcı programını çalıştırın, yeni bir disk görüntüsü oluşturun ve aşağıdaki ayarları kullanın (veya istediğiniz şekilde değiştirin, ancak büyük / küçük harf duyarlılığına kaydedin):

2019

37
03 окт. Cevap kullanıcı 1821510 03 ekim tarafından verilir . 2014-10-03 22:18 '14, 10:18, 2014-10-03 22:18

Bazen Git'teki küçük harf duyarlılığını geçici olarak değiştirmek yararlı olabilir. İki olası yöntem:

Yöntem 1:

git -c core.ignorecase=true checkout mybranch tek bir checkout komutu için büyük / küçük harf duyarlılığını devre dışı bırakmak için git -c core.ignorecase=true checkout mybranch . Veya daha genel olarak: git -c core.ignorecase= <<true or false>> <<command>> . (Yorumlarda bunu önerdiğiniz için VonC'ye teşekkürler.)

Yöntem 2:

Bir ayarı daha uzun bir süre boyunca değiştirmek için (örneğin, tekrar değiştirmeden önce birkaç komutu uygulamanız gerekirse):

  1. git config core.ignorecase (geçerli ayarları döndürür, örneğin false ).
  2. git config core.ignorecase <<true or false>> - istediğiniz yeni parametreyi ayarlayın.
  3. ... başka birkaç komut daha çalıştırın ...
  4. git config core.ignorecase <<false or true>> - yapılandırma değerini önceki değere döndürür.
15
10 июля '18 в 14:05 2018-07-10 14:05 10 Temmuz 1918'de Steve Chambers'e 2:05 öğleden sonra cevap verdi 2018-07-10 14:05

1) Name.jpg dosyasını Name.jpg yeniden adlandırın

2) silinen dosyayı Name.jpg

3) name1.jpg dosyasını name1.jpg olarak yeniden adlandırın

4), Name.jpg dosyasını bir önceki Name.jpg ekledi.

 git add git commit --amend 
14
03 окт. Cevap ver razon 03 ekim. 2016-10-03 22:13 '16, 10:13 pm 2016-10-03 22:13

Aşağıdaki yanıtları diğer cevaplardan da denedim, işe yaramadılar:

Deponuz GitHub'da barındırılıyorsa, benimki gibi, dosyayı da kaynakta (GitHub.com) yeniden adlandırabilir ve dosyanın adını yukarıdan aşağı doğru zorlayabilirsiniz.

Aşağıdaki talimatlar, yeniden adlandırmaya çalıştığınız dosyanın türüne, yani GitHub'ın düzenlenebilir olarak kabul ettiği dosya türüne (kod, metin vb.) Bağlıdır. Düzenlenebilir değil (görüntü, ikili vb.). .

  1. GitHub.com'u ziyaret edin
  2. GitHub.com'daki deponuza gidin ve çalıştığınız şubeyi seçin
  3. Site dosyası gezinme aracını kullanarak, yeniden adlandırmak istediğiniz dosyaya gidin.
  4. GitHub, tarayıcıdaki bir dosyayı düzenlemenizi sağlar?
    • a.) düzenlenebilir
      1. "Bu dosyayı düzenle" simgesini tıklayın (kurşun kalem gibi görünür)
      2. Metin dosyası adı girişindeki dosya adını değiştirin
    • b) düzenlenebilir değil
      1. Yeni bir sekmede "İndir" düğmesini açın ve dosyayı bilgisayarınıza kaydedin.
      2. İndirilen dosyayı yeniden adlandır
      3. GitHub.com'daki önceki sekmede, "Bu dosyayı sil" simgesini tıklayın (bir çöp tenekesine benziyor)
      4. "Doğrudan dal branchname dallarına yaz" seçeneğinin branchname olduğundan emin olun ve " branchname " düğmesini tıklayın.
      5. GitHub.com'daki aynı dizinde, "Dosyaları Yükle" yi tıklayın
      6. Yeniden adlandırılmış dosyayı bilgisayarınızdan indirin
  5. "Doğrudan dal branchname dallarına yaz" seçeneğinin branchname olduğundan emin olun ve " branchname " düğmesini tıklayın.
  6. Yerel olarak, şube düzenleme / alma / çekme
  7. Yapılır
8
31 окт. Cevap 31 Ekim'de gmeben tarafından verildi . 2017-10-31 21:22 '17 21:22 2017-10-31 21:22

Mac OSX High Sierra 10.13 bunu biraz düzeltir. Git projeleriniz için sadece sanal bir APFS bölümü oluşturun, varsayılan olarak boyut sınırı yoktur ve yer kaplamaz.

  1. Disk Yardımcı Programında, Konteyner Diski seçildiğinde + düğmesini tıklayın.
  2. Formatta APFS (-s zorunlu) seçin
  3. Sensitive
  4. kâr
  5. İsteğe bağlı: Sensitive içinde git ve ln -s/Volumes/Sensitive/git/Users/johndoe/git adında bir klasör oluşturun

Sürücünüz /Volumes/Sensitive/

2019

06 марта '18 в 18:01 2018-03-06 18:01 Cevap, Ray Foss tarafından 06.0818'de 18:01 2018-03-06 18:01 tarihinde verilmiştir.

MacOS'ta birkaç kez bu sorunla karşılaştım. Git büyük / küçük harfe duyarlıdır, ancak Mac sadece büyük / küçük harfe sahiptir.

Birisi dosyayı düzeltir: Foobar.java ve birkaç gün sonra Foobar.java olarak yeniden adlandırmaya karar verir. En son kodu çıkardığınızda, The following untracked working tree files would be overwritten by checkout... başarısız olur The following untracked working tree files would be overwritten by checkout...

Bu düzeltmeyi gördüğüm tek güvenilir yol:

  • git rm Foobar.java
  • Bunu atlayamayacağınız bir mesajla git commit -m 'TEMP COMMIT!!'
  • treyler
  • Bu, sizi çatışmayı birleştirmeye zorlayacak bir çatışmaya neden olacaktır - çünkü değişikliğiniz silindi, ancak diğer değişiklik yeniden adlandırıldı (bu nedenle sorun).
    • Değişikliğini kabul et, ki bu "sil"
    • git rebase --continue
  • Şimdi geçici çözümünüzü bırakın git rebase -i HEAD~2 drop ve TEMP COMMIT!! drop TEMP COMMIT!!
  • Dosyanın şimdi Foobar.java adlandırıldığını Foobar.java
3
05 авг. Tarafından verilen cevap Ashwin Jayaprakash 05 Ağu 2016-08-05 20:23 '16, 20:23 2016-08-05 20:23

Çok sayıda dosya yeniden adlandırma yaptıysanız ve bazıları sadece davayı değiştirirken, bunun ne olduğunu hatırlamak zor. el ile "git relocation" dosyası oldukça yararlı olabilir. Peki, dosya adını değiştirme sürecinde ne yapardım, şu adımları izleyin:

  • gitmeden tüm dosyaları ve klasörleri başka bir klasöre / depoya silme.
  • mevcut boş git klasörünü düzelt (tüm dosyalar silinirken bu görüntülenecektir.)
  • tüm dosyaları geri git / repository kaynak klasörüne ekleyin.
  • mevcut boş olmayan git klasörünü düzelt.

Bu, hangi dosyaları veya klasörleri yeniden adlandırdığınızı belirlemeye çalışarak tüm sorunları ortadan kaldıracaktır.

2
29 апр. Tarafından cevap Ricardo Virtudazo Jr 29 Nis 2017-04-29 14:00 '17, 14:00 2017-04-29 14:00

etiketleri hakkında diğer sorular veya Soru Sor