Envio de repositório local para GitHub remoto hospedado


113

Eu criei um repositório local de minha pasta de solução do Visual Studio 2010 usando Git GUI em minha máquina de desenvolvimento. Em seguida, criei um repositório remoto na minha conta GitHub. Agora, estou procurando como enviar meu repositório local para o repositório remoto.

No SVN, posso apenas fazer commit usando TortoiseSVN e as alterações são enviadas para o repositório remoto. Não vejo nenhuma ferramenta como essa disponível para Git.

Como envio meu repo local para meu repo remoto no GitHub?

Respostas:


230

Você envia seu repositório local para o repositório remoto usando o git pushcomando depois de estabelecer primeiro um relacionamento entre os dois com o git remote add [alias] [url]comando. Se você visitar seu repositório Github, ele mostrará a URL a ser usada para envio. Você vai inserir primeiro algo como:

git remote add origin git@github.com:username/reponame.git

A menos que você tenha começado executando git cloneno repositório remoto, caso em que esta etapa já foi realizada para você.

E depois disso, você digitará:

git push origin master

Após o primeiro envio, você pode simplesmente digitar:

git push

quando você deseja atualizar o repositório remoto no futuro.


1
Você está realmente digitando '~ origin ~' ou apenas 'origin'? É melhor evitar o til, pois significa algo para o Git.
GoZoner

1
Para mim, funciona apenas com https: github.com/username/repo.git, não sei por quê.
eLRuLL

7
Tive que git pull origin masterprimeiro, depois pressione
Renaud

10
Por que eles não podem explicar isso em documentos normais? É como se isso fosse um segredo ou alguma merda. OBRIGADO!
R Claven

1
@RClaven, depois de criar um novo repositório no Github, isso é explicado claramente na tela subsequente na seção intitulada "Enviar um repositório existente da linha de comando".
mujimu

3

Tipo

git push

da linha de comando dentro do diretório do repositório


1
Suponho que isso implicaria em usar gitbash em vez de gitgui.
quakkels

Sim, se você estiver em um sistema sem uma linha de comando totalmente equipada incorporada, isso é algo a ser mencionado na pergunta
Gareth

não, eu tenho isso ... Estou apenas um pouco intimidado pela linha de comando. Principalmente porque eu simplesmente não usei muito. Isso vai ajudar a mudar isso.
quakkels

Pode ser uma curva de aprendizado íngreme, mas a opinião comum é que os benefícios superam as desvantagens
Gareth

Obrigado. Eu não queria ter que olhar muito mais tempo. O IDE continua congelando devido ao tamanho. Obrigado novamente.
Eric Leroy

3

O Subversion implicitamente tem o repositório remoto associado a ele o tempo todo. O Git, por outro lado, permite muitos "controles remotos", cada um dos quais representa um único local remoto de onde você pode empurrar ou puxar.

Você precisa adicionar um remoto para o repositório GitHub ao seu repositório local e, em seguida, usar git push ${remote} ou git pull ${remote}para enviar e receber respectivamente - ou os equivalentes de GUI.

Pro Git discute controles remotos aqui: http://git-scm.com/book/ch2-5.html

A ajuda do GitHub também os discute de uma maneira mais "focada na tarefa" aqui: http://help.github.com/remotes/

Depois de associar os dois, você poderá empurrar ou puxar galhos.


1

Isso funcionou para minha versão 1.8.4 do GIT:

  1. Na pasta do repositório local, clique com o botão direito e selecione ' Git Commit Tool '.
  2. Lá, selecione os arquivos que deseja enviar, em ' Mudanças não planejadas ' e clique no botão ' Mudança de fase '. (Você pode clicar inicialmente no botão 'Verificar novamente ' para verificar quais arquivos foram modificados e ainda não foram carregados.)
  3. Escreva uma mensagem de confirmação e clique no botão ' Confirmar '.
  4. Agora clique com o botão direito na pasta novamente e selecione ' Git Bash '.
  5. Digite: git push origin master e insira suas credenciais. Feito.

0

abra o prompt de comando Vá para o diretório do projeto

digite git remote add origin o local do repositório do hub git com.git

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.