Używanie Git z istniejącym projektem Xcode

113

Próbuję dowiedzieć się, jak używać git w moim przepływie pracy w projekcie i mam istniejący projekt Xcode, który chcę umieścić w repozytorium. Wydaje mi się, że repozytorium zostało poprawnie skonfigurowane w organizatorze, ale menu kontroli źródła jest wyszarzone.
Najwyraźniej jest to łatwe, jeśli zaczynasz nowy projekt, ale jak zaimportować istniejący projekt z migawkami i wszystkim?

Używam Xcode 4 i git 1.7.4

Ponadto, jeśli są jakieś dobre instrukcje dotyczące konfiguracji git i najlepszych praktyk, byłoby miło. Jestem trochę spóźniony do gry, więc wszystko, co może mnie przyspieszyć, byłoby fajne.

AndyD273
źródło

Odpowiedzi:

169

GitHub ma kilka bardzo dobrych samouczków git na help.github.com .

aby wykonać wstępną konfigurację repozytorium, otwórz okno terminala i CD do katalogu projektu. tam, wpisz

git init
git add .
git commit -m "Initial commit"

Uruchom ponownie Xcode. Repozytorium powinno być teraz skonfigurowane i będziesz mógł nim zarządzać w xcode 4.

MCannon
źródło
4
Gdzie jest trochę dodawania pliku .gitignore, aby uniknąć dodawania wszystkich katalogów kompilacji i innych bzdur jako śledzonych plików ???
Fraggle
7
Ta metoda dodałaby do repozytorium .xcuserstate i inne metadane, które nie powinny podlegać kontroli wersji. Sugeruję, abyś najpierw utworzył .gitignore w folderze projektu i wyszczególnił te typy plików metadanych przed uruchomieniem „git add.”.
kakyo
W ogóle mi nie wyszło. Xcode nigdy nie rozpoznaje tego jako repozytorium.
Jonny
Używam Xcode 11. Udało mi się dodać lokalne repozytorium git do istniejącego projektu, po prostu wykonując kontrolę źródła, zatwierdzanie, a następnie wykonując pierwsze zatwierdzenie. To utworzyło folder .git itp. (Nie ma potrzeby git init, git add .i git commit -m.)
Jeff
103

Xcode 7 (i 8)

Jeśli zaczynasz nowy projekt, po prostu sprawdzisz Utwórz repozytorium Git podczas instalacji. (Następnie przejdź do części Commit poniżej).

wprowadź opis obrazu tutaj

Ale jeśli pracujesz z istniejącym projektem, przejdź do Xcode > Preferencje ... > Kontrola źródła i zaznacz pole Włącz kontrolę źródła .

wprowadź opis obrazu tutaj

Następnie w głównym sterowania Źródło menu wybierz Utwórz kopię roboczą ... .

wprowadź opis obrazu tutaj

(Jeśli pojawi się błąd „Powiedz mi, kim jesteś”, zobacz to pytanie / odpowiedź lub jedno z innych powiązanych pytań).

Po zakończeniu wprowadź dowolną zmianę w jednym z plików projektu Xcode. Następnie wróć do menu Sterowanie źródłami i wybierz Zatwierdź .

wprowadź opis obrazu tutaj

Napisz wiadomość o zatwierdzeniu i kliknij przycisk Zatwierdź . (Jeśli przycisk zatwierdzenia jest wyłączony, wprowadź drobne zmiany w projekcie i spróbuj ponownie).

wprowadź opis obrazu tutaj

Zaloguj się na Github i utwórz nowe repozytorium .

wprowadź opis obrazu tutaj

Nazwij to, jak chcesz, ale nie dodawaj jeszcze pliku README, .gitignore ani licencji. Możesz dodać te rzeczy później. Zrobienie tego teraz utrudni synchronizację.

wprowadź opis obrazu tutaj

Skopiuj link do swojego repozytorium.

wprowadź opis obrazu tutaj

Przejdź do Kontrola źródła > nazwa twojego oddziału > Konfiguruj .

wprowadź opis obrazu tutaj

Kliknij kartę Piloty > przycisk „ + ”> Dodaj pilota… .

wprowadź opis obrazu tutaj

Wpisz nazwę repozytorium github i wklej adres.

wprowadź opis obrazu tutaj

Po dodaniu pilota kliknij Wciśnij w menu Sterowanie źródłami. Wprowadź swoją nazwę użytkownika i hasło github. Otóż ​​to. Twój projekt powinien zostać teraz skopiowany na github.

(Na początku miałem problemy z zaakceptowaniem mojej nazwy użytkownika i hasła. Jeśli tak się stanie, przejdź do Xcode > Preferencje ... > Konta > Twoje nowe repozytorium . Wprowadź tam swoją nazwę użytkownika i hasło, a następnie spróbuj ponownie wypchnąć ).

wprowadź opis obrazu tutaj

Możesz dodać README i inne pliki, ale jeśli robisz to z Internetu, będziesz musiał wykonać Kontrola źródła > Pobierz Xcode, zanim zatwierdzisz inne zmiany.

Teraz za każdym razem, gdy wprowadzasz zmiany w Xcode, wszystko, co musisz zrobić, to Commit i Push .

Nauczyłem się tej metody głównie stąd .

Zobacz też

Suragch
źródło
jest to zdecydowanie najłatwiejsze rozwiązanie. Czy możesz mi powiedzieć, co to znaczy, kiedy dodajesz repozytorium w xcode> Preferencje> Konta> Dodaj repozytorium?
AceN
@ AceNeerav, Pozwala to na przechowywanie poświadczeń dla innego posiadanego repozytorium, aby nie trzeba było ich wprowadzać za każdym razem. Więcej informacji znajdziesz w tej dokumentacji .
Suragch
Świetne rozwiązanie. WSKAZÓWKA: Bitbucket to bezpłatna alternatywa dla github dla małych projektów. Płacisz, gdy projekt stanie się duży.
steve-o
1
@ steve-o, GitLab jest również dobrą alternatywą. Zezwala na prywatne repozytoria za darmo. Udało mi się skonfigurować Xcode, aby używać go podobnie do mojej odpowiedzi powyżej.
Suragch
dzięki, podążając za odpowiedzią adresu URL, jestem w stanie zrobić to sam, jeszcze raz wielkie dzięki
Dilip Tiwari
44

Po prostu przeszedłem przez ten proces dla kilku projektów i napotkałem kilka problemów. Oto mój proces, w większości złożony z innych odpowiedzi na tej stronie / witrynie. Porządek jest tutaj bardzo ważny

  1. Otwórz terminal i przejdź do katalogu zawierającego plik .xcodeproj
  2. git init
  3. W wyszukiwarce wprowadź nowo utworzony folder .git (w tym samym katalogu, co plik .xcodeproj). Znajdź informacje / wyklucz, otwórz i dodaj te linie, .DS_Store i xcuserdata /
  4. Nie jestem pewien, czy jest to potrzebne, ale użyłem terminala do cp info / exclude do pliku .gitignore
  5. git add.
  6. git commit -m "Początkowe zatwierdzenie"
  7. Teraz, aby XCode faktycznie widział repozytorium. W organizatorze projektu musisz najpierw usunąć projekt z zakładki Projekty. Następnie po prostu ponownie otwórz projekt, aby go odzyskać. Spowoduje to wykrycie właśnie utworzonego repozytorium GIT
  8. W zakładce repozytoria organizatora rozgałęziam gałąź główną / przełączam się na dowolną wersję, nad którą pracuję.

Mam nadzieję, że to pomoże komuś, nie będąc zbytnim. To, co teraz wydaje się proste, było zdecydowanie wyzwaniem dla kogoś nowego w GIT z istniejącymi projektami

nuklenova
źródło
2
Dziękujemy za podzielenie się swoimi doświadczeniami! Krok po kroku jest świetny.
AndyD273
Świetny krok po kroku, bardzo pomocny dla kogoś takiego jak ja, który nie czuje się jeszcze dobrze z gitem.
Nicolas Miari
1
Dla mnie z 4.6.2 krok 7 nie był konieczny. Dzięki!
cloudsurfin
Nie potrafię wyjaśnić, jakie to było pomocne! krok 7 pomógł nawet z najnowszym Xcode!
Zephyer,
Jak się dowiedziałem, wykonując powyższe kroki i kilka innych postów oraz doświadczenia z svn. Możesz utworzyć plik .gitignore dla Xcode. Lista elementów do zignorowania znajduje się na GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Bhavesh
10

Sprawdź mój post na ten temat Konfigurowanie repozytorium git w XCode dla wcześniej istniejącego projektu . Powyższe jest poprawne, ale będzie zawierać UserInterfaceState w twoich zmianach podczas zatwierdzania i może to być denerwujące, ponieważ ten plik aktualizuje się za każdym razem, gdy robisz cokolwiek w xcode, nawet jeśli jest to tak proste i nawigacja po plikach lub folderach w twoim projekcie.

Joey
źródło
1

jeśli Twój XCODE 7 nie łączy się z istniejącym repozytorium GIT. Spróbuj podążać

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"
Ram G.
źródło
0

Note:Specially for Xcode 11

CD do katalogu projektu za pomocą terminala

git init

git add.

git commit -m "Początkowe zatwierdzenie"

Po tym zrestartuj Xcode i wybierz Source Control Navigator a następnie wybierz master i kliknij prawym przyciskiem i wybierz opcję "Create Remote"

Vikram Sinha
źródło