Usando Git com um projeto Xcode existente

113

Estou tentando descobrir como usar o git no fluxo de trabalho do meu projeto e tenho um projeto Xcode existente que desejo colocar no repositório. Acho que tenho o repositório configurado corretamente no organizador, mas o menu Source Control está esmaecido.
Aparentemente, é fácil de fazer se você iniciar um novo projeto, mas como faço para importar um projeto existente com instantâneos e tudo mais?

Estou usando Xcode 4 e git 1.7.4

Além disso, se houver boas orientações sobre configuração git e práticas recomendadas, isso seria bom. Estou um pouco atrasado para o jogo, então qualquer coisa que possa me deixar atualizado seria legal.

AndyD273
fonte

Respostas:

169

O GitHub tem alguns tutoriais git muito bons em help.github.com .

para fazer a configuração inicial de um repositório, abra uma janela de terminal e um CD para o diretório do projeto. uma vez lá, digite

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

Reinicie o Xcode. O repositório agora deve estar configurado e você será capaz de gerenciá-lo no xcode 4.

MCannon
fonte
4
Onde está a questão de adicionar um arquivo .gitignore para evitar adicionar todos os diretórios de construção e outras porcarias como arquivos controlados ??
Fraggle
7
Este método adicionaria .xcuserstate e outros metadados ao repo, que não deve ser controlado por versão. Eu sugiro que você primeiro crie .gitignore na pasta do seu projeto e liste os tipos de arquivos de metadados antes de executar "git add.".
kakyo
Não funcionou para mim. O Xcode nunca o reconhece como um repositório.
Jonny
Estou usando o Xcode 11. Consegui adicionar um repositório git local a um projeto existente simplesmente fazendo Source Control, Commit e depois fazendo meu primeiro commit. Isso criou a pasta .git etc. (Não há necessidade de git init, git add .e git commit -m.)
Jeff
103

Xcode 7 (e 8)

Se você estiver iniciando um novo projeto, basta marcar Criar repositório Git durante a configuração. (Em seguida, pule para baixo para a parte Commit abaixo.)

insira a descrição da imagem aqui

Mas se você estiver trabalhando com um projeto existente, vá para Xcode > Preferências ... > Controle de código-fonte e marque a caixa Ativar controle de código-fonte .

insira a descrição da imagem aqui

Em seguida, no principal controle de origem menu, escolha Criar cópia de trabalho ... .

insira a descrição da imagem aqui

(Se receber um erro "Diga-me quem é", consulte esta pergunta / resposta ou uma das outras perguntas associadas.)

Quando terminar, faça qualquer alteração em um dos arquivos de projeto do Xcode. Em seguida, volte ao menu Source Control e escolha Commit .

insira a descrição da imagem aqui

E escreva uma mensagem de confirmação e clique no botão Confirmar . (Se o botão de confirmação estiver desabilitado, faça qualquer pequena alteração em seu projeto e tente novamente.)

insira a descrição da imagem aqui

No Github, entre e crie um novo repositório .

insira a descrição da imagem aqui

Chame-o como quiser, mas não adicione um README ou .gitignore ou licença ainda. Você pode adicionar essas coisas mais tarde. Fazer isso agora tornará a sincronização mais difícil.

insira a descrição da imagem aqui

Copie o link para o seu repositório.

insira a descrição da imagem aqui

Vá para Source Control > seu nome de branch > Configure .

insira a descrição da imagem aqui

Clique no Remotes tab> " + botão"> Adicionar remoto ... .

insira a descrição da imagem aqui

Digite o nome do repositório github e cole o endereço.

insira a descrição da imagem aqui

Após adicionar o controle remoto, clique em Push no menu Source Control . Digite seu nome de usuário e senha do github. É isso aí. Seu projeto deve ser copiado para o github agora.

(Tive alguns problemas para que meu nome de usuário e senha fossem aceitos no início. Se isso acontecer com você, vá para Xcode > Preferências ... > Contas > seu novo repositório . Digite seu nome de usuário e senha e tente o Push novamente.)

insira a descrição da imagem aqui

Você pode adicionar um README e outros arquivos, mas se você fizer isso da web, você terá que fazer Source Control > Pull in Xcode antes de confirmar outras alterações.

Agora, sempre que você fizer alterações no Xcode, tudo o que você precisa fazer é Commit e Push .

Aprendi esse método principalmente aqui .

Veja também

Suragch
fonte
esta é a solução mais fácil de longe. você pode me dizer o que significa quando você adiciona um repo em xcode> preferências> contas> adicionar repo?
AceN
@AceNeerav, isso permite que você armazene suas credenciais para outro repo que você tenha, para que não tenha que inseri-las todas as vezes. Veja esta documentação para mais detalhes.
Suragch
Ótima solução. DICA: Bitbucket é uma alternativa gratuita ao github para pequenos projetos. Você paga quando o projeto fica grande.
steve-o
1
@ steve-o, o GitLab também é uma boa alternativa. Ele permite repositórios privados gratuitamente. Consegui configurar o Xcode para usá-lo de maneira semelhante à minha resposta acima.
Suragch
obrigado seguindo a resposta do url im capaz de fazer sozinho, muito obrigado mais uma vez
Dilip Tiwari
44

Acabei de passar pelo processo de fazer isso para vários projetos e encontrei alguns problemas. Aqui estava meu processo, principalmente reunido a partir de outras respostas nesta página / site. A ordem é muito importante aqui

  1. Abra o terminal e faça cd no diretório que contém o arquivo .xcodeproj
  2. git init
  3. No finder, insira a pasta .git recém-criada (no mesmo diretório do arquivo .xcodeproj). Encontre info / exclude, abra e adicione estas linhas, .DS_Store e xcuserdata /
  4. Não tenho certeza se isso é necessário, mas usei o terminal para cp info / excluir para um arquivo .gitignore
  5. git add.
  6. git commit -m "commit inicial"
  7. Agora, para fazer com que o XCode realmente veja o repo. No organizador do projeto, primeiro você deve excluir o projeto da guia Projetos. Em seguida, basta reabrir o projeto para recuperá-lo. Isso detectará o repositório GIT recém-criado
  8. Na guia repositórios do organizador, eu ramifico o branch / switch master para qualquer versão em que estou trabalhando.

Espero que isso ajude alguém sem ser muito redundante. O que agora parece simples foi definitivamente um desafio para alguém novo no GIT com projetos existentes

nuclearnova
fonte
2
Obrigado por compartilhar sua experiência! O passo a passo é ótimo.
AndyD273
Ótimo passo a passo, muito útil para alguém como eu, que ainda não está confortável com o git.
Nicolas Miari
1
Para mim, com 4.6.2, a etapa 7 não era necessária. Obrigado!
cloudsurfin
Não posso explicar como isso foi útil! passo 7 ajudou até mesmo com o Xcode mais recente!
Zephyer
Como aprendi seguindo os passos acima e alguns outros posts e experiência de svn. Você pode criar um arquivo .gitignore para o Xcode. Liste se os itens a serem ignorados podem ser encontrados no GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Bhavesh
10

Confira minha postagem neste tópico Configurando um repositório git no XCode para um projeto pré-existente . O acima está correto, mas incluirá UserInterfaceState em suas alterações conforme você confirma e isso pode ser irritante porque este arquivo é atualizado toda vez que você faz qualquer coisa no xcode, mesmo que seja tão simples e navegue por arquivos ou pastas em seu projeto.

Joey
fonte
1

se o seu XCODE 7 não estiver se conectando ao repositório GIT existente. Tente seguir

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"
Ram G.
fonte
0

Note:Specially for Xcode 11

CD para o diretório do projeto usando o terminal

git init

git add.

git commit -m "commit inicial"

Após isto reinicie o Xcode e escolha Source Control Navigator e então selecione o master e clique com o botão direito e escolha a opção "Create Remote"

Vikram Sinha
fonte