Rozwijam projekt na OS X Lion, który jest pod kontrolą wersji Git. Miałem te katalogi pisane małymi literami, a później pisałem je wielkimi literami (np. Emailaddresses => EmailAddresses), ale wydaje się, że Git nie rozpoznaje zmiany. Nadal myśli, że katalogi są pisane małymi literami, kiedy uruchamiam git ls-files
i inne polecenia.
Czy to nieszkodliwe, czy powinienem zrobić coś innego, aby Git wychwycił tę zmianę?
Odpowiedzi:
Prawdopodobnie używasz HFS + bez rozróżniania wielkości liter (ale z zachowaniem wielkości liter). Zwykle robię to tak:
źródło
git push origin master
. Jeśli git odmówi aktualizacji pilota, może być konieczne dodanie fikcyjnego pliku (np.touch stam
) I wykonanie polecenia push. Następnie kolejne usuwanie stamu i ponowne wciśnięcie.Możesz nakazać gitowi wzięcie pod uwagę sprawy, uruchamiając
git config core.ignorecase false
źródło
Jak zdać mv na Macu z uwzględnieniem wielkości liter
Dzieje się tak, ponieważ Mac OS X zaimplementowano funkcje zachowywania wielkości liter i niewrażliwości na wielkość liter, które mają Ci pomóc.
Chociaż sugestie podwójnej zmiany nazwy w drugiej odpowiedzi będą działać, zalecam użycie opcji „--force”, aby uzyskać najlepsze wyniki:
Uwaga: jeśli spróbujesz bez opcji wymuszenia, git będzie na ciebie napadał w ten sposób:
W powyższym przykładzie polecenie git kończy się niepowodzeniem i żadne pliki nie są zmieniane w systemie plików ani w indeksie git.
źródło
fatal: not under version control
.git
polecenia działają tylko w katalogach z repozytoriami GIT.Spróbuj zmienić opcję konfiguracji git core.ignorecase na false w pliku .gitconfig.
źródło
git config core.ignorecase false
Poniższe kroki pomogły mi rozwiązać problem:
Zmień nazwę folderu na
temp
:Scena i zatwierdzanie:
Zmień nazwę
temp
folderu według własnego uznania:Gotowe - możesz teraz naciskać.
źródło
Jeśli to zrobisz
git mv AAA aaa
lubgit mv -f AAA aaa
, to nie zadziała i wystąpi błądfatal: renaming 'AAA' failed: Invalid argument
.Ponieważ
AAA
iaaa
są JEDNYM SAMYM folderem / plikiem w systemach plików bez rozróżniania wielkości liter, przejdźAAA
doaaa
oznacza przeniesienieAAA
jakoaaa/AAA
.Więc powinieneś to zrobić
Mam nadzieję, że będzie to pomocne dla Ciebie.
źródło
Powodem tego jest to, że system operacyjny oparty na LINUX lub macOS ignoruje wielkość liter w nazwie pliku / folderu. Musimy rozwiązać ten problem, wykonując poniższe czynności
źródło
Żadne z tych rozwiązań nie zadziałało dla mnie. SourceTree zawsze tworzyło moją gałąź z innym przypadkiem, niż chciałem. Więc jak to rozwiązałem:
1 - Spójrz na swoje pliki git w Finderze. Możesz to zrobić wpisując na terminalu:
2 - Uruchom ponownie wyszukiwarkę i przejdź do katalogu projektu
3 - Teraz po prostu zmień nazwę folderu, powiedzmy z funkcji na funkcję. I gotowe.
źródło
Możesz to również zrobić ręcznie, bez używania poleceń GIT. Wewnątrz
.git
folderu po prostu usuń folder o żądanej nazwie, tjSomeName
. A następnie zmień nazwę folderusomename
naSomeName
. Więcej szczegółów na: Jak naprawić nazwę folderu ustawioną na wielkie litery i przekonwertować git na małe literyźródło
Miałem ten sam problem i skorzystałem z poniższego rozwiązania. Używam tego do zmiany partii, katalogów i plików itp .:
Jak wyszczególniono tutaj.
źródło
Żadne z nich nie pomogło mi, nadal git kazał mi ukryć zmiany, ponieważ moja sytuacja była taka, że mój folder lokalny był pisany wielkimi literami, ale zdalny nie, a moja gałąź była w tyle i nie mogłem już ściągać z powodu różnic w wielkości pliku w strukturze folderów.
Jedynym sposobem, w jaki mogłem to naprawić, było usunięcie mojego lokalnego oddziału i sprawdzenie pilota.
źródło