Czy git można zintegrować z Xcode?

121

Czy istnieje sposób na użycie repozytorium git z wbudowanymi funkcjami SCM Xcode?

Gordon Wilson
źródło
Mam
16
Xcode 4 jest w wersji beta (nie ma jeszcze otwartego pobierania) i ma wbudowaną obsługę Git.
Kendall Hopkins,
3
@Kendall: Chociaż Xcode 4 Developer Preview nadal nie jest ogólnym pobieraniem, jest teraz dostępny dla wszystkich płatnych kont programistów.
Matt B.
2
Ponieważ Xcode4 GM jest już dostępny, ten wątek powinien zostać zaktualizowany ...
nacho4d
1
Dla przypomnienia: XCode 4 jest już dostępny i bezpłatny dla użytkowników OSX Lion
ErJab,

Odpowiedzi:

74

Xcode 4 obsługuje git natywnie (adres w narzędziach deweloperskich State of the Union na WWDC 2010)

Dowiedz się więcej tutaj: Co nowego w Xcode 4 dokumentacja firmy Apple jest długa, ale warto przeczytać.

TodK
źródło
3
Wspaniale to słyszeć. Jakieś wieści na temat wsparcia Mercurial (HG)?
Dave
1
nie wygląda to tak ... nie ma słowa w systemie wtyczek.
TodK
4
: D To sprawiło, że mój dzień! Nie mogę się doczekać.
Vortico,
OMGEEZ! Nie miałem pojęcia ... To mnie bardzo cieszy ... jakieś słowo o dacie premiery?
tybro0103
Link do dokumentu jest uszkodzony
anki
73

UWAGA: pomimo wszystkich pozytywnych głosów, ta odpowiedź jest nieaktualna w czerwcu 2010 roku


Nie ma wsparcia git ciągu Xcode, ale że nie ma powodów, by używać git dla projektów Xcode. Osiągnąłem dobre wyniki w zarządzaniu projektami Xcode przy użyciu standardowego wiersza poleceń git lub GitX .

Shane Vitarana ma niezły zestaw .gitignore ustawień do wykorzystania jako punkt wyjścia.

Abie
źródło
Dodanie tych dwóch do mojego .gitignore powoduje zepsutą kompilację xcode dla klonów.
jkyle
39

Dobrym sposobem na „integrację” gita z Xcode jest użycie DTerm . Wywołujesz DTerm w ruchomym oknie z kombinacją klawiszy. DTerm zna pełną ścieżkę do bieżącego dokumentu w edytorze.

Na przykład, aby uruchomić różnicę w edytowanym pliku:

1) Naciśnij Ctrl-Return, aby wywołać okno DTerm. (Ta kombinacja klawiszy jest konfigurowalna).

2) wpisz „git diff cmd-shift-V”. Spowoduje to nadpisanie ostatniego polecenia, gdy zaczniesz pisać i wstawi nazwę bieżącego pliku w oknie. Ponieważ twój katalog roboczy jest ustawiony na katalog nadrzędny wybranego pliku, polecenie jest ładne i krótkie.

Nie mam żadnego związku z Decimusem. Jestem po prostu zadowolonym użytkownikiem, który wykonał tysiące poleceń za pośrednictwem DTerm.

Edycja : od 27 sierpnia 2009 DTerm jest bezpłatny. Jeśli kupiłeś swoją kopię DTerm, aktualizacja do następnej wersji jest bezpłatna, niezależnie od tego, kiedy kupiłeś DTerm. Zobacz ich post na blogu

Edycja 2 : DTerm jest już dostępna w Mac App Store. Ciekawie będzie zobaczyć, czy dotrzymali obietnicy złożonej na swoim blogu.

znak
źródło
8
Mark - nie masz pojęcia, jak bardzo mnie uszczęśliwiłeś. Nie mogę uwierzyć, że żyłem bez DTerm przez cały ten czas!
Mark Aufflick
Wpadłem na małą rzecz: jest to raczej cmd-shift-V niż ctrl-shift-V.
Courtney Faulkner
Dterm jest absolutnie niesamowity !!! - kiedy to działa. Jest bardzo błędny z ich najnowszą wersją i najnowszą wersją 10.6.6. Zabiłbym, żeby to działało dobrze!
Yuji „Tomita” Tomita
Spróbuj usunąć plik preferencji. Nie miałem z tym żadnych problemów. Używam go od dawna. Czy podczas logowania używasz języka angielskiego jako języka i wprowadzania znaków?
Mark
15

Oprócz ustawień .gitignore, o których mowa w poście powyżej, dodałem wygenerowane pliki do mojego pliku konfiguracyjnego.

build /
* .pyc
* ~ .nib /
* .pbxuser
* .perspective
* .perspectivev3
* .xcworkspace /
xcuserdata /

Pomaga to ograniczyć hałas z mojego magazynu.

Jeśli muszę dodać wygenerowane pliki, dodaję folder Release i zachowuję foldery * .framework i * .app w katalogu mojego projektu. Dodam wszystko, co wydam, do grupy testowej do folderu Release i oznaczam to.

znak
źródło
10

Nie, nie ma i szczerze mówiąc jestem raczej wdzięczny, ponieważ obsługa SVN w Xcode wydawała mi się naprawdę słaba. Po przeprowadzce do Git dla moich projektów, mam tylko terminali otwarte okno, że mogę wystrzelić git addi git commitjak potrzebne.

Daniel Hill
źródło
4

Xcode nie ma publicznego interfejsu API wtyczek, więc nie, nie ma możliwości bezpośredniego dodania obsługi git do Xcode.

Możesz jednak tworzyć skrypty dla menu skryptów Xcode, które mogą wykonywać różne operacje git.

Chris Hanson
źródło
3

Nie sądzę, aby można było zapewnić obsługę wtyczek dla Xcode. Tak więc, dopóki Apple nie rozgrzeje się do git, utkniemy z narzędziami innych firm i wierszem poleceń. Nie żeby to było złe ...

Chris Stewart
źródło
3

Cóż, jest coś o nazwie git-cvsserver, które pozwala gitowi udawać, że to CVS. Ale nie znam stanu rzeczy w tym zakresie ani wsparcia CVS w Xcode.

Jasper Bekkers
źródło
3

Najnowsza wersja beta Xcode 4 ma integrację z git, jednak nie instaluje jej domyślnie ani nie używa aktualnie zainstalowanego git.

Musiałem zainstalować opcję „Narzędzia systemowe” w instalatorze Xcode. (Co jest domyślnie pomijane), po czym organizator uznał, że mój projekt był już pod kontrolą gita i bezproblemowo został zintegrowany.

jschank
źródło
2

Z Xcode 4, jeśli chcesz używać własnej wersji Gita, możesz utworzyć dowiązanie symboliczne z / usr / bin / git do miejsca, w którym zainstalowałeś swój plik binarny Git

Robert Conn
źródło
1

Możesz używać Xcode z repozytoriami Git. Visual Studio Team Services oferuje bezpłatne, prywatne i nieograniczone repozytoria Git w chmurze. Możesz nie tylko używać Xcode, ale także Eclipse, Visual Studio, własnego interfejsu przeglądarki internetowej Team Services lub dowolnego innego edytora / IDE, który Ci się podoba. Udostępnij kod także pierwszym 5 użytkownikom za darmo.

Film na YouTube: https://youtu.be/S83kn0i4WYs

Esther Fan - MSFT
źródło
0

I tak korzystam z zewnętrznych edytorów. Wiele z nich obsługuje polecenia git. W ten sposób git jest „zintegrowany” z Xcode

Yan Zhou
źródło
1
czy możesz podać przykład zewnętrznych edytorów z integracją git na Macu?
zakishaheen
0

Zastanawiam się, czy opakowanie można wykonać przy użyciu funkcji skryptów Xcode? sprawdź: http://www.cimgf.com/category/version-control/git/

BTW, jeśli Xcode nie może wykonać pracy, eclipse może wykonać zadanie, ale może brakować interfejsu API Cocoa itp.

RzR
źródło