2012-01-27 16 views
6

Oto podstawowy problem: git wydaje się oznaczać wszystkie moje pliki jako zmienione, mimo że nie ma żadnych zmian. Nawet różnica nie pokazuje żadnej różnicy, wciąż chce, żebym ponownie wystawił/zatwierdził wszystkie pliki. Jak mogę przekonać gita, że ​​nie ma zmian w sposobie, w którym wciąż śledzone są zmiany dokonane z tego punktu?git oznaczenie niezmienionych plików jako zmieniony

Mam repozytorium git, które edytuję na dwóch oddzielnych komputerach (oba to Mac). Używam ich, aby przesłać je za pomocą zaszyfrowanego obrazu systemu plików na pendrive i skopiować za pomocą rsync. Po przesłaniu plików do mojego laptopa wszystkie pliki są oznaczone jako zmienione. Jeśli po prostu zignoruję git i pracuję nad plikami, rsync'ing to z powrotem, drugi komputer będzie poprawnie rozpoznawał tylko zmienione pliki jeszcze raz. Tak to działa, ale jest naprawdę niewygodne do pracy na moim laptopie, kiedy nie mogę zatwierdzić moich zmian, dopóki nie wrócę do drugiego komputera, ponieważ wtedy będę musiał zatwierdzić kilka zmian w jednym meldunku.

Odpowiedz

5

W końcu okazało się, że to nie koniec linii. Wątpiłam w to rozwiązanie, zakładając, że git pokazałby wtedy każdą linię jako zmienioną - co nie. Ale dzisiaj natknąłem się na mały mały wpis, który był logiem, gdy sprawdziłem pliki z powrotem na mojej maszynie roboczej - prawa dostępu do plików zostały zmienione z 644 na 755 (lub na odwrót) podczas przenoszenia między maszynami.

Rozwiązaniem jest tutaj na stackoverflow w tym pytaniu:How do I make git ignore mode changes (chmod)?

+0

Dziękuję bardzo! – glaz666

3

Sprawdzałbym, czy końcówki linii są zmieniane podczas transferu. Chociaż może to być bardzo trudny problem, możesz pomóc w kontrolowaniu go za pomocą opcji core.autocrlf, zgodnie z opisem w this question.

Zdecydowanie sprawdziłbym również GitHub's help section on line endings, ponieważ ma kilka dobrych rad dotyczących radzenia sobie z tego typu problemami (zakładając, że to faktycznie jest twój problem).

Powiązane problemy