Git no Visual Studio - adicionar projeto existente?

105

Estou tentando colocar um projeto existente sob o controle de origem do Git, mas não estou certo sobre várias coisas.

Eu configurei uma conta Git 'Team Foundation Service' online.

Atualmente, tenho uma solução ASP.NET MVC 4 - na minha pasta Projetos. Eu criei um 'repositório' Git localmente (uma pasta vazia atualmente). Deve ser apenas minha pasta de aplicativo atual em Projetos? Ou precisa ser uma cópia?

Como faço para colocar meus arquivos existentes no repositório online?

Niico
fonte
Você mencionou "Git no Visual Studio" - você está usando as ferramentas git no Visual Studio 2012?
Edward Thomson
Eu acredito que isso já foi incorporado na versão 2015 no Team Explorer. Corri para isso, onde não pude 'publicar' (vs push inicial após o init), então vou adicionar uma resposta com instruções sobre como adicionar o URI
mschr

Respostas:

148

Procurei uma pergunta semelhante - a maneira como consegui inicializar um repositório Git para um arquivo de projeto existente é esta (isenção de responsabilidade: isso é feito no Visual Studio 2013 Express, sem uma configuração do Team Foundation Server):

  1. Abra o projeto no Visual Studio.
  2. Vá ao menu ArquivoAdicionar ao controle de origem .

Isso funcionou para mim - assumindo que o Git esteja configurado para você, você pode ir ao menu ExibirTeam Explorer , então clicar duas vezes no repositório para seu arquivo de projeto e fazer seu commit inicial (certificando-se de adicionar quaisquer arquivos que você gostaria )

urso aéreo
fonte
7
Isso também evitará o incômodo de "fornecer um arquivo .gitignore razoável", pois o Visual Studio cuidará desses detalhes para você. Entre um git init manual e este, este é meu método preferido de agora em diante.
MrCC de
Se você gostaria de escolher o projeto em que esta nova solução vai, você pode clicar no botão Sincronizar - clique em publicar para git repo, clique em solução avançada e escolha o projeto ao qual gostaria de adicionar esta nova solução .. assim que tiver feito isso, você pode sincronizar e
explodir
Nota: isso não funcionou para mim porque eu já tinha adicionado uma biblioteca compartilhada que foi incluída em outro repositório. Tive que remover o projeto compartilhado antes que a opção 'Adicionar ao controle de código-fonte' se tornasse disponível.
Neil B
2
Eles devem adicionar isso à janela do Team Explorer.
thReality de
66
  1. Em primeiro lugar, você precisa instalar o software Git em sua máquina de desenvolvimento local, por exemplo, extensões Git .
  2. Em seguida, faça git initna pasta da solução. Essa é a maneira correta de criar uma pasta de repositório.
  3. Configure um .gitignorearquivo razoável , para que você não faça commit de coisas desnecessárias.
  4. git add
  5. git commit
  6. Adicione o controle remoto adequado, conforme descrito em sua conta Team Foundation Server git remote add origin <proper URL>
  7. git push seu código

Como alternativa, existem guias detalhados aqui usando a integração do Visual Studio.

Klas Mellbourn
fonte
Funcionou muito bem, obrigado Klas! Uma observação: você precisa ter seu url entre aspas para que funcione.
Jack Fairfield
NB: Novo URL para extensões Git: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan
@JohnLBevan essa extensão parece estar apontando para uma versão antiga
Klas Mellbourn
os links estão quebrados
@PaulScharnofske obrigado por me contar. Eu os
consertei
15

Depois de trabalhar duro no Visual Studio, finalmente descobri a resposta que demorou muito mais do que deveria.

Para pegar um projeto existente sem controle de origem e colocá-lo em um repositório GitHub VAZIO existente (isso é importante), o processo é simples, mas complicado, porque sua primeira inclinação é usar o Team Explorer, o que está errado e é por isso você está tendo problemas.

Primeiro, adicione-o ao controle de origem. Existem algumas explicações para isso acima, e todo mundo chega até aqui.

Agora, isso abre um repositório LOCAL vazio e o truque sobre o qual ninguém nunca fala é ignorar o Team Explorer completamente e ir para o Solution Explorer, clicar com o botão direito na solução e clicar em Commit.

Isso então confirma todas as diferenças entre sua solução existente e o repositório local, essencialmente atualizando-o com todos esses novos arquivos. Dê a ele um nome de commit padrão 'arquivos iniciais' ou o que quer que seja que flutue em seu barco e faça o commit.

Em seguida, basta clicar em Sincronizar na próxima tela e inserir a URL do repositório GitHub VAZIO. Certifique-se de que está vazio ou você terá conflitos de branch master e ele não deixará. Portanto, use um novo repositório ou exclua o antigo que você estragou anteriormente. Lembre-se de que este é o Visual Studio 2013, portanto, sua milhagem pode variar.

Útil
fonte
14

Apenas clique com o botão direito em sua solução e selecione Adicionar ao controle de origem . Em seguida, selecione Git.

Agora seus projetos foram adicionados a um controle de origem local. Clique com o botão direito em um de seus arquivos e selecione Confirmar .

Em seguida, insira uma mensagem de confirmação e selecione Confirmar . Em seguida, selecione Sincronizar para sincronizar seu projeto com o GitHub. Requer um repositório Git. Vá para o GitHub, crie um novo repositório, copie o link do repositório e adicione-o ao servidor de controle de origem remoto. Selecione Publicar .

Isso é tudo.

Hashem Aboonajmi
fonte
Esta resposta está correta e funciona no VS 2015. No entanto, eu tinha uma grande dúvida sobre ser um novo usuário git. O VS 2015 não parece criar um arquivo gitignore ou oferece qualquer maneira de ignorar dlls / arquivos que são criados pelo VS e que NÃO devem ser registrados. Como a pasta obj, por exemplo, e está tentando comprometer tudo nos repositórios locais. Alguém mais tem esse problema? Eu não quero tudo isso comprometido localmente.
Matt
Vou corrigir meu comentário acima à medida que aprendo mais. Quando eu verifico o diretório, ele de fato constrói o arquivo gitignore, o que é ótimo porque é muito grande e eu odiaria tentar construí-lo manualmente. No entanto, quando tentei fazer meu commit inicial no repositório local, o VS não usou esse arquivo gitignore porque todos os arquivos estavam disponíveis para commit no git e foi uma grande bagunça. Então fechei a solução, apaguei a pasta .git e 2 arquivos git na minha solução (que se separa do git), reabri e fui para arquivo-> adicionar ao controle de origem e selecionei git novamente. Desta vez funcionou muito bem.
Matt
Agora é dezembro de 2019 e é ainda mais fácil. Depois de seguir as etapas acima e clicar em Sincronizar, fui questionado sobre a conta do GitHub e se eu queria tornar este um repositório privado. Uma vez selecionado, o novo repositório foi criado para mim (sem eu ter que ir ao GitHub) e criado com sucesso.
batpox
5

Usando SourceTree :

Clique com o botão direito no nome da solução no Solution Explorer. Selecione "Adicionar ao controle de origem" .

Em seguida, vá para SourceTree e selecione Clone / New . Selecione Adicionar pasta de trabalho e aponte para o novo local Git que você acabou de criar dentro de sua solução.

Vá e pegue o endereço clone para um Git vazio, (Bitbucket ou GitHub) e voltar para SourceTree, clique direito Remotes e adicionar remoto novo . (Nota nas versões modernas, vá para RepositóriosAdicionar Remoto .... Cole seu URL nessa caixa e clique OK.

É assim que você pode fazer seu commit e push iniciais.

Clark
fonte
5

A maneira mais fácil é obviamente conforme descrito no artigo do MSDN Compartilhe seu código com Visual Studio 2017 e VSTS Git .

  1. Crie um novo repositório Git local para seu projeto selecionando Adicionar ao controle de código-fonte na barra de status no canto inferior direito do Visual Studio. Isso criará um novo repositório na pasta em que a solução está e enviará seu código para esse repositório.

    Insira a descrição da imagem aqui

  2. Na visualização Push no Team Explorer, selecione o botão Publicar Repositório Git em Push to Visual Studio Team Services.

    Insira a descrição da imagem aqui

  3. Conecte o Remote Source Control, insira o nome do seu repositório e selecione Publicar Repositório .

    Insira a descrição da imagem aqui

batmaci
fonte
3

No Visual Studio 2015, a única maneira de fazê-lo funcionar era executando a git initpartir da raiz do meu diretório usando a linha de comando. Em seguida, fui para o Team Explorer e adicionei um repositório git local. Em seguida, selecionei aquele repositório git local, fui para Configurações-> Configurações do repositório e adicionei meu Repo remoto. Foi assim que finalmente consegui integrar o Visual Studio para usar meu projeto existente com o git.

Eu li todas as respostas, mas nenhuma delas funcionou para mim. Fui para Arquivo-> Adicionar ao controle de código-fonte, que era para basicamente fazer o mesmo que git init, mas não parecia inicializar meu projeto porque quando eu iria para o Team Explorer todas as opções estavam esmaecidas. Além disso, nada apareceria na caixa de diálogo Alterações. Outra resposta afirmou que eu apenas tinha que criar um repositório local no Team Explorer e então minhas alterações apareceriam, mas isso também não funcionou. Todas as opções do Git no Team Explorer só funcionaram depois que inicializei meu projeto por meio da linha de comando.

Eu sou novo no Visual Studio, então não sei se perdi algo óbvio, mas parece que meu projeto não estava inicializando a partir do Visual Studio.

chavab_1
fonte
Depois de selecionar "Arquivo -> Adicionar ao controle de origem", há algo na janela Saída para o painel "Controle de origem - Git"? Eu não esperaria nada na página de Mudanças, mas se você viu o histórico do repositório Git, eu esperaria que ele mostrasse um commit "Adicionar arquivos de projeto" onde os arquivos foram enviados ao repositório.
Jamill 01 de
É o mesmo que o Source Control Explorer? Nesse caso, não mostra nada. Ele apenas exibe um link para adicionar um plugin de controle de origem. Quando eu clico e seleciono Git, nada acontece. Quanto aos outros painéis dentro do Team Explorer, nada acontece também. Só depois de inicializar o projeto na linha de comando e criar um repositório local no painel Conexões é que começo a ver as ferramentas do VS Git interagindo com meu projeto.
chavab_1 01 de
2

Primeiro crie uma 'Pasta de solução' com o caminho relativo desejado. Observe que o Visual Studio 2012 não cria uma pasta do sistema com o mesmo caminho relativo.

Agora, dentro dessa 'Pasta de Solução', adicione um novo projeto, mas você deve ter cuidado ao defini-lo para que o caminho relativo no sistema corresponda ao caminho relativo de sua nova 'Pasta de Solução'. Se a pasta do sistema que você deseja não existir, o Visual Studio 2012 agora a criará para o novo projeto. (Conforme observado acima, isso não ocorre quando você adiciona uma nova 'Pasta de solução'.)

Se desejar adicionar um arquivo existente com o caminho relativo correspondente, você deve primeiro criar o arquivo no caminho relativo do sistema correspondente, de fora do Visual Studio. Em seguida, você pode adicionar um arquivo existente no Visual Studio.

Anthony Biagioli
fonte
1

Se o repositório desejado já existir (talvez no GitHub), você pode cloná-lo em seu sistema local e copiar o diretório da solução para ele. Em seguida, adicione os arquivos, confirme os arquivos e envie o local. Isso coloca a solução em um repositório.

Jiminion
fonte
1

Git no Visual Studio - adicionar projeto existente ; como publicar seu repositório local em um projeto no GitHub, GitLab ou semelhante.

Então, você criou uma solução e deseja que ela carregue e controle de versão por meio de sua conta Git em algum lugar. O Visual Studio 2015 possui ferramentas no Team Explorer para isso.

Como o Meuep menciona, carregue sua solução e navegue File >> Add to Source Control . Isso é equivalente a git init. Então você terá isto:

Team Explorer Home

Agora, selecione Settings >> Repository Settings e vá até Remotos .

Insira a descrição da imagem aqui

Configure origin(certifique-se de colocar este nome reservado lá) e defina URIs.

Então você pode usar Add, Synce Publish.

mschr
fonte
0

Se você deseja abrir um projeto existente do GitHub, você precisa fazer o seguinte (essas são etapas apenas para Visual Studio 2013 !!!! E mais recente, como em versões anteriores, não há instalação Git integrada):

  1. Explorador de equipe → Conectar a teamProjects → GitRepositories locais → Clonar .

  2. Copie / cole seu endereço GitHub do navegador.

  3. Selecione um caminho local para este projeto.

Andrew
fonte
0

Para mim, um repositório Git (não GitHub) já foi criado, mas vazio. Esta foi minha solução para adicionar o projeto existente ao repositório Git:

  1. Eu clonei e verifiquei um repositório com extensões Git.
  2. Em seguida, copiei meus arquivos de projeto existentes para este repositório.
  3. Adicionado um .gitignorearquivo.
  4. Preparou e consolidou todos os arquivos.
  5. Enviado para o repositório remoto.

Seria interessante ver tudo isso feito diretamente no Visual Studio 2015 sem ferramentas como extensões Git, mas as coisas que tentei no Visual Studio não funcionaram ( Adicionar ao controle de origem não está disponível para meu projeto, adicionar um controle remoto não ajuda, etc.).

testando
fonte
0

Para adicionar um projeto a uma solução, basta abrir a janela Team Explorer e ir para Alterações. Em seguida, em Arquivos não rastreados, clique em Opções de visualização e selecione Alternar para visualização em árvore (a menos que já esteja na visualização em árvore), clique com o botão direito na pasta raiz do projeto e selecione Adicionar .

Insira a descrição da imagem aqui

Cool Blue
fonte
0

Eu sempre me esqueço disso, então é mais para mim, mas talvez possa ajudar alguém usando o VS.

Visual Studio tem o conceito de Soluções. No git, entretanto, ele tem o conceito de um repositório git rastreado por branches locais e remotos. Todos os arquivos e pastas adicionados ao git são locais.

Agora, voltando ao Visual Studio Solutions, quando você cria um projeto de modelo padrão, ele cria todos os projetos localmente para essa solução.

Portanto, o problema acontece quando você adiciona um projeto que não é local à solução ou ao git. O que acontece é que o arquivo de solução .sln é atualizado com a localização do projeto, mas o conteúdo real do projeto, arquivos e pastas do projeto não podem ser adicionados ao git porque estão em um diretório separado ou em uma unidade de rede separada ou em um servidor ftp etc .... Isso pode ser preferível se você quiser apenas uma referência a um arquivo de projeto que é compilado apenas no arquivo .sln ou se você deseja fornecê-los para repositórios git ou github separados. Mas você não quer que os arquivos reais sejam rastreados pelo git localmente.

Para remediar isso (ou seja, você deseja adicioná-los ao seu repositório git), basta mover os arquivos remotos de interesse dentro do alcance da solução e seus arquivos de projetos para que sejam locais.

RetroCoder
fonte
0

Aqui está como fazer isso no Visual Studio 2015.

  1. Abra o projeto e vá para Ferramentas >> Opções >> guia "Controle de código-fonte" e selecione "Git" como seu controle de código-fonte. insira a descrição da imagem aqui

  2. Vá para o menu Arquivo e selecione "Adicionar ao controle de origem".

O que isso faz é essencialmente executar "git init" pelo visual studio criando todos os sinos e assobios (configure ignorar arquivos de acordo como ignorar arquivos específicos do usuário, arquivos temporários, diretório, etc.).

Essencialmente, seu repositório git foi criado corretamente localmente (este é o passo principal com o projeto VS, pois esta pasta contém muitos arquivos que queremos ignorar).

Agora você pode conectar este repositório git a qualquer outro git como GitHub, BitBucket etc no git bash (fora do Visual Studio).

Eu inicio a sessão Git Bash agora neste diretório de trabalho e como eu uso o BitBucket, sigo as instruções fornecidas lá (apenas copie as linhas abaixo de lá).

git remote add origin https: //[email protected]/yourusername/hookdemo.git

git push -u origin master

É isso aí.

Depois disso, você pode gerenciar o repositório na própria linha de comando do git, já que está configurado corretamente agora.

zar
fonte