2012-02-08 13 views
6

Jestem zaznajomiony z różnicami między grupami i rzeczywistymi katalogami w Xcode. Zawsze tworzę rzeczywisty folder w wyszukiwarce i przeciągam go do projektu, upewniając się, że "kopia" nie jest zaznaczona.Jak przenieść pliki i foldery za pomocą git w Xcode 4?

Kiedy przenoszę foldery, usuwam elementy tylko jako odniesienie, przenoszę je w wyszukiwarce, a następnie ponownie je dodaje.

Teraz używam git po raz pierwszy i odkryłem w moim testowaniu, że jeśli usunę katalog za pomocą metody opisanej powyżej, nie mogę wykonać zatwierdzenia. Xcode mówi mi, że nie może przełączyć się do katalogu, ponieważ "nie ma takiego pliku lub katalogu". Z tego, co znalazłem w Internecie, git nie jest powiadamiany o zmianach katalogów po wykonaniu w Xcode.

Jak mogę przenieść foldery & przy użyciu git w Xcode 4 i mieć kompilator i git być świadomi ruchów, więc mogę zatwierdzić?

+0

Czy jesteś zaznajomiony z używaniem klienta wiersza poleceń git w ogóle? –

+0

Nie, niezupełnie. Mam książkę "Pro Git", ale martwię się, że jeśli usuniemy pliki z repozytorium git w terminalu, to zepsuje to pliki w Xcode (co oznacza sposób, w jaki xcode śledzi własne pliki). – TigerCoding

+0

Chciałbym tylko zasugerować uruchomienie 'git add --all' na twoim repozytorium, a następnie wznowić zarządzanie Xcode. –

Odpowiedz

3

Po wprowadzeniu wszystkich zmian w Finderze, otwórz okno terminala i przejdź do katalogu twojego projektu:

cd path/to/project 

następnie uruchomić polecenie:

git add --all 

To polecenie etapie wszystko zmian i Xcode powinien móc odtąd zarządzać repozytorium.

+0

Przetestowałem to i działa. Pytanie jednak na ten temat. Plik usunąłem w Xcode, a następnie przenieśliśmy w Finderze. Czy Git sądzi, że plik na starej pozycji wciąż istnieje, czy po prostu "odkrywa", że został przeniesiony? Jeśli tak, czy działa to z zasobami o tych samych nazwach, ale w różnych lokalizacjach (takich jak zlokalizowane foldery)? – TigerCoding

+0

@Javy Git jest bardzo sprytny w tych scenariuszach; zazwyczaj może się dowiedzieć, że plik został przeniesiony i zmieniony, nawet jeśli został zmodyfikowany. Dlatego jest to lepsze niż subwersja;) –

+0

* jeden z powodów, dla których –

4

Nie wolno przenosić plików w repozytorium GIT za pomocą Findera. Lepiej użyj polecenia move z powłoki.

Następnie trzeba ręcznie odświeżyć linki w XCode (lub usunąć/dodać pliki ponownie).

Przenoszenie pliku jest podobna do polecenia UNIX 'mv', z „git prefix:

git mv path destination

(użycie -f, aby zastąpić cel ... ostrożnie)

+1

"Nie będziesz przenosił plików w repozytorium GIT za pomocą Findera." Czemu? Czy możesz edytować swoją odpowiedź i pokazywać "właściwe" kroki do usunięcia (i przenieść, jeśli to możliwe)? Nie jestem ćpunem z linii poleceń, więc gdybyś mógł dodać je wraz ze swoimi krokami, byłby bardzo pomocny dla mnie i innych osób z S.O. użytkowników. – TigerCoding

+0

Zobacz http://jonas.nitro.dk/git/quick-reference.html Możesz również użyć interfejsu graficznego dla GIT. Nie wiem, więc nie mogę podać żadnej rady. –

+0

Więc musiałbym to zrobić dla każdego przeniesionego pliku lub folderu? – TigerCoding

Powiązane problemy