Utilizzo di Git con un progetto Xcode esistente


113

Sto cercando di capire come utilizzare git nel flusso di lavoro del mio progetto e ho un progetto Xcode esistente che voglio inserire nel repository. Penso di aver impostato correttamente il repository nell'organizer, ma il menu di controllo del codice sorgente è disattivato.
Apparentemente, è facile se inizi un nuovo progetto, ma come faccio a importare un progetto esistente con istantanee e tutto il resto?

Sto usando Xcode 4 e git 1.7.4

Inoltre, se ci sono buone procedure dettagliate sulla configurazione di git e le migliori pratiche, sarebbe bello. Sono un po 'in ritardo per la partita, quindi tutto ciò che può farmi diventare veloce sarebbe bello.

Risposte:


169

GitHub ha alcuni ottimi tutorial su git su help.github.com .

per eseguire la configurazione iniziale di un repository, aprire una finestra di terminale e CD nella directory del progetto. una volta lì, digita

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

Riavvia Xcode. Il repository dovrebbe ora essere configurato e sarai in grado di gestirlo in xcode 4.


4
Dov'è la parte relativa all'aggiunta di un file .gitignore per evitare di aggiungere tutte le directory di build e altre schifezze come file tracciati ???
Fraggle

7
Questo metodo aggiungerebbe .xcuserstate e altri metadati al repository, che non dovrebbe essere controllato dalla versione. Ti suggerisco di creare prima .gitignore nella cartella del tuo progetto e di elencare quei tipi di file di metadati prima di eseguire "git add.".
kakyo

Non ha funzionato affatto per me. Xcode non lo riconosce mai come un repo.
Jonny

Sto usando Xcode 11. Sono stato in grado di aggiungere un repository git locale a un progetto esistente semplicemente eseguendo il controllo del codice sorgente, il commit e quindi il mio primo commit. Ciò ha creato la cartella .git, ecc. (Non è necessario il git init,git add . e git commit -m.)
Jeff il

103

Xcode 7 (e 8)

Se stavi iniziando un nuovo progetto, dovresti semplicemente controllare Crea repository Git durante l'installazione. (Quindi vai alla parte Commit di seguito.)

inserisci qui la descrizione dell'immagine

Ma se stai lavorando con un progetto esistente, vai su Xcode > Preferenze ... > Controllo del codice sorgente e seleziona la casella Abilita controllo del codice sorgente .

inserisci qui la descrizione dell'immagine

Poi, nel principale controllo del codice sorgente del menu scegliere Crea copia di lavoro ... .

inserisci qui la descrizione dell'immagine

(Se ricevi un errore "Dimmi chi sei", vedi questa domanda / risposta o una delle altre domande collegate lì.)

Al termine, apporta le modifiche a uno dei tuoi file di progetto Xcode. Quindi torna al menu Controllo del codice sorgente e scegli Conferma .

inserisci qui la descrizione dell'immagine

E scrivi un messaggio di commit e fai clic sul pulsante Commit . (Se il pulsante di commit è disabilitato, apporta eventuali modifiche minori al tuo progetto e riprova.)

inserisci qui la descrizione dell'immagine

In GitHub accedi e crea un nuovo repository .

inserisci qui la descrizione dell'immagine

Chiamalo come vuoi, ma non aggiungere ancora un README o .gitignore o una licenza. Puoi aggiungere queste cose in seguito. Farlo ora renderà la sincronizzazione più difficile.

inserisci qui la descrizione dell'immagine

Copia il link al tuo repository.

inserisci qui la descrizione dell'immagine

Vai a Controllo del codice sorgente > nome del tuo ramo > Configura .

inserisci qui la descrizione dell'immagine

Fai clic sulla scheda Telecomandi > pulsante " + "> Aggiungi telecomando ... .

inserisci qui la descrizione dell'immagine

Immettere il nome del repository GitHub e incollare l'indirizzo.

inserisci qui la descrizione dell'immagine

Dopo aver aggiunto il telecomando, fare clic su Push nel menu Source Control . Immettere il nome utente e la password di GitHub. Questo è tutto. Il tuo progetto dovrebbe essere copiato su GitHub ora.

(All'inizio ho avuto qualche problema a far accettare il mio nome utente e la password. Se ciò accade, vai su Xcode > Preferenze ... > Account > il tuo nuovo repository . Inserisci il tuo nome utente e la password lì e poi prova il Push nuovo .)

inserisci qui la descrizione dell'immagine

Puoi aggiungere un README e altri file, ma se lo fai dal web, dovrai fare il controllo del codice sorgente > Pull in Xcode prima di confermare altre modifiche.

Ora ogni volta che apporti modifiche in Xcode, tutto ciò che devi fare è eseguire il commit e il push .

Ho imparato questo metodo principalmente da qui .

Guarda anche


questa è di gran lunga la soluzione più semplice. puoi dirmi cosa significa quando aggiungi un repo in xcode> preferenze> account> aggiungi repo?
AceN

@AceNeerav, questo ti consente di memorizzare le tue credenziali per un altro repository che hai in modo da non doverle inserire ogni volta. Vedi questa documentazione per maggiori dettagli.
Suragch,

Ottima soluzione. SUGGERIMENTO: Bitbucket è un'alternativa gratuita a GitHub per piccoli progetti. Paghi una volta che il progetto diventa grande.
steve-o

1
@ steve-o, GitLab è anche una buona alternativa. Consente archivi privati ​​gratuitamente. Sono stato in grado di configurare Xcode per usarlo in modo simile alla mia risposta sopra.
Suragch

grazie seguendo la risposta all'URL sono in grado di farlo da solo grazie mille ancora una volta
Dilip Tiwari

44

Ho appena eseguito questo processo per diversi progetti e ho riscontrato alcuni problemi. Ecco il mio processo, per lo più messo insieme dalle altre risposte su questa pagina / sito. L'ordine è molto importante qui

  1. Apri il terminale e cd nella directory contenente il file .xcodeproj
  2. git init
  3. Nel Finder, inserisci la cartella .git appena creata (nella stessa directory del file .xcodeproj). Trova info / escludi, apri e aggiungi queste righe, .DS_Store e xcuserdata /
  4. Non sono sicuro che sia necessario, ma ho usato il terminale per cp info / escludere su un file .gitignore
  5. git add.
  6. git commit -m "commit iniziale"
  7. Ora per ottenere XCode per vedere effettivamente il repository. Nell'organizzatore del progetto, devi prima eliminare il progetto dalla scheda Progetti. Quindi riapri semplicemente il progetto per recuperarlo. Questo rileverà il repository GIT appena creato
  8. Nella scheda dei repository dell'organizzatore, quindi diramare il ramo / interruttore principale in qualsiasi versione su cui sto lavorando.

Si spera che questo aiuti qualcuno senza essere troppo ridondante. Ciò che ora sembra semplice è stata sicuramente una sfida per qualcuno che non conosce GIT con progetti esistenti


2
Grazie per aver condiviso la tua esperienza! Il passo dopo passo è fantastico.
AndyD273

Ottimo passo dopo passo, molto utile per qualcuno come me che non è ancora a suo agio con git.
Nicolas Miari

1
Per me, con 4.6.2, il passaggio 7 non era necessario. Grazie!
cloudsurfin

Non posso spiegare quanto sia stato utile! il passaggio 7 ha aiutato anche con l'ultimo Xcode!
Zephyer

Come ho imparato seguendo i passaggi precedenti e alcuni altri post e l'esperienza di svn. Puoi creare file .gitignore per Xcode. Elenca se gli elementi da ignorare possono essere trovati su GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Bhavesh

10

Controlla il mio post su questo argomento Configurazione di un repository git in XCode per un progetto preesistente . Quanto sopra è corretto, ma includerà UserInterfaceState nelle tue modifiche mentre effettui il commit e questo potrebbe essere fastidioso perché questo file si aggiorna ogni volta che fai qualcosa in xcode, anche se è semplice e naviga tra i file o le cartelle nel tuo progetto.


1

se il tuo XCODE 7 non si connette al repository GIT esistente. Prova a seguire

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"

0

Note:Specially for Xcode 11

CD nella directory del progetto utilizzando il terminale

git init

git add.

git commit -m "commit iniziale"

Dopo questo riavvia Xcode e scegli Source Control Navigator, quindi seleziona il master e fai clic con il pulsante destro del mouse, quindi scegli l'opzione "Crea remoto"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.