Envie o projeto existente para o Github


224

Eu tenho uma pasta com as fontes do meu projeto. Como posso enviar este projeto para o repositório do Github?

Eu tentei seguir estas etapas:

  1. Criei um repositório vazio no GitHub.
  2. Eu corro git-bash e digitei git init, então dentro da raiz do projeto apareceu .gitpasta.
  3. Adicionei alguns arquivos ao controle de versão usando git add sourcesFolderName
  4. Confirmei os arquivos adicionados na etapa anterior usando git commit -m "initial commit"
  5. Especifiquei o repositório remoto usando git remote add MyProject <url>
  6. Finalmente git push, mas nada é enviado para repositório remoto ... (sem falha de autorização)

Então, como eu posso enviar fontes existentes para um repo github recém-criado?


4
Qual foi exatamente a saída git push?
1615903

1
@ user1615903 Tenho certeza de que tenho uma sequência incorreta de etapas. Eu acho que preciso de algo parecido git clone. Não me lembro da saída git push, mas acho que não é significativo. Por causa problema em outro lugar
MyTitle

Você fez git push MyProject master?
Felix Kling

Esta postagem do blog pode ajudar quem quiser executar esta tarefa. Todas as etapas são descritas de maneira simples e detalhada. samranga.blogspot.com/2015/07/…
Samitha Chathuranga

1
Um pequeno conselho: tente usar o aplicativo SourceTree. A interface do usuário é muito boa.
Mohammad Fareed

Respostas:


340
git init
git add .
git commit -m "Initial commit"
git remote add origin <project url>
git push -f origin master

A -fopção on git pushforça o push. Se você não usá-lo, verá um erro como este:

To git@github.com:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5
Isso corrigiu meu problema, mas eu não conseguia fazer o comando 4 git remote add origin <project url>dizendo command syntax not correct. Ignorei-o e funcionou
Khalil Khalaf

4
Apenas uma observação: se você não precisar usar o site do GitHub, poderá adicioná-lo após a terceira etapa: curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}'substituindo USER pelo seu nome de usuário e REPO pelo nome do repositório a ser criado.
MD XF

1
Além disso, acho que você não pode mais fazer isso git add ., você deve mudar isso para cat "# reponamehere" >README.mde depois git add README.md. É assim que a documentação do GitHub diz para fazê-lo
MD XF

2
Acredito que a -fbandeira forçará o desaparecimento do histórico remoto? Parece um operador perigoso.
van abel

112

Em termos menos técnicos

Minha resposta não é diferente, mas estou adicionando mais informações, porque as novas podem se beneficiar preenchendo as lacunas nas informações.

Depois de criar o repositório no github, eles têm instruções. Você pode seguir aqueles. Mas aqui estão algumas dicas adicionais, porque eu sei como é frustrante começar com o git.

Digamos que você já iniciou seu projeto localmente. Quanto você tem, não importa. Mas vamos fingir que você tem um projeto php. Digamos que você tenha o index.php, contact.php e uma pasta de ativos com imagens, css e fontes. Você pode fazer dessa maneira (fácil), mas há muitas opções:

Opção 1

Entre na sua conta do github e crie o repositório.

insira a descrição da imagem aqui

Na tela a seguir, você pode copiá-la onde precisar, se clicar no botão (lado direito da tela) para "clonar na área de trabalho".

insira a descrição da imagem aqui

Você pode (ou fazê-lo de outra maneira) e depois copiar o conteúdo do seu projeto existente para o seu novo repositório. Usando o aplicativo github, você pode apenas confirmar a partir daí usando a GUI (isso significa que você apenas clica nos botões do aplicativo). É claro que você insere suas anotações para o commit.

opção 2

  • Crie seu repositório no github, como mencionado acima.
  • No seu computador, vá para o seu diretório usando o terminal. usando a linha de comando linux, você entraria em cd no diretório A partir daqui, você executa os seguintes comandos para "conectar" seu projeto existente ao seu repositório no github. (Isso pressupõe que você criou seu repositório no github e ele está vazio no momento)

primeiro faça isso para inicializar o git (controle de versão).

git init

faça isso para adicionar todos os seus arquivos a serem "monitorados". Se você tiver arquivos que deseja ignorar, precisará adicionar um, .gitignoremas por uma questão de simplicidade, use este exemplo para aprender.

git add .

Então você confirma e adiciona uma nota entre o """primeiro commit", etc.

 git commit -m "Initial Commit"

Agora, é aqui que você adiciona seu repositório existente

git remote add github <project url>

Mas não digite literalmente <project url>, mas o URL do seu próprio projeto. Como você consegue isso? Vá para o link em que seu repositório está no github e copie o link. No meu caso, um dos meus repositórios é https://github.com/JGallardo/urbanhistorical, portanto meu URL resultante para este comando adicionaria .git depois disso. Então aqui estaria

git remote add github https://github.com/JGallardo/urbanhistorical.git

Teste para ver se funcionou fazendo

git remote -v

Você deve ver a que seu repo está vinculado.

insira a descrição da imagem aqui

Em seguida, você pode enviar suas alterações para o github

git push github master

ou

git push origin master

Se você ainda receber um erro, poderá forçá-lo -f. Mas se você estiver trabalhando em um ambiente de equipe, tome cuidado para não forçar ou poderá criar mais problemas.

git push -f origin master

3
A sua é a melhor explicação. Para outros que leem isso: criei meu repositório no github primeiro, para que não me deixasse empurrar. Eu tive que> github pull <projeto url> e depois github push. Depois disso, tudo ficou bem.
Philologon

1
Muito obrigado por isso! A opção 1 salvou minha vida depois que todas as outras opções falharam! : D
Sara Inés Calderón

2
Ótima explicação! No entanto, eu adicionaria as seguintes linhas: git remote add origin <projeto url> e, em seguida, git push -f origin master. Sem o -f, haverá um erro
Javiar Sandra 28/09

1
por favor, adicione a opção -f ao último comando, para que a sua resposta seja a melhor #
Jacobo Koenig

1
Isso realmente ajudou! Inicializei acidentalmente o repositório do github com um README, depois não funcionou. Fiz isso novamente com um repositório vazio e funcionou.
Verena Haunschmid

36

você precisará especificar qual ramificação e qual controle remoto ao pressionar:

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github <project url>
➤ git push github master

Funcionará como esperado.

Você pode configurar isso por padrão, fazendo:

➤ git branch -u github/master master

o que permitirá que você faça um teste git pushmestre sem especificar o controle remoto ou a ramificação.


1
Corrigir. Você também pode pular a /masterpeça, pois é redundante.
Gabriele Petronella

1
"git add Readme.md" não está correto. Se já existir, não há necessidade de adicionar. Se não existir, o comando falhará. De qualquer maneira, isso não está correto.
Mitch

1
@Mitch não é uma invocação mágica secreta que de repente fará seu computador fazer o que você deseja. É um exemplo para dar às pessoas e ter uma ideia do que elas deveriam estar fazendo. Espero que as pessoas entendam os comandos que estão digitando em suas máquinas.
Br16:

9

Se você estiver em um Mac (e isso provavelmente funciona da mesma maneira em um PC), aqui está uma maneira muito fácil de fazer isso. Estranhamente, eu olhei alto e baixo para esse processo simples e nunca o encontrei.

  • Não faça nada no Github (exceto ter uma conta e não ter usado todos os seus repositórios disponíveis).
  • Baixe o GitHub para Mac e instale. Siga a configuração da conta, etc. NÃO crie nenhum repositório para o seu projeto existente.
  • "Adicionar novo repositório local" nos repositórios.
  • Selecione sua pasta existente. Ele perguntará se você deseja fazer isso, diga sim.
  • Uma vez feito, você verá uma lista de todos os seus arquivos, etc. Confirme-os.
  • Vá para Repositórios e publicação (isso criará o novo repositório no GitHub para você, se você configurar sua conta corretamente).
  • Vá para Repositórios e Push (você verá a coisa "nada para empurrar" ou enviará seus arquivos / alterações ao repositório recém-criado automaticamente).
    • Gostaria de saber por que você não encontrou esse processo simples em nenhum outro lugar.

Sei que não é recomendável usar a pasta do projeto como a pasta de repo. Faço isso o tempo todo, sempre funciona, simplifica e nunca tenho problemas com isso.


Parece-me que se o aplicativo GitHub permite que um usuário faça dessa maneira, ele deve estar bem.
9136 johnnieb


5

Vou seguir o comentário anterior de Rose P. Demorei muito tempo para encontrar a solução, por isso estou reposicionando (espero que em inglês puro) o que funcionou para mim ...

Etapa 1: Crie seu novo repositório no Github.com (pule se você já possui um)

etapa 2: Feche o XCode ... não necessário

passo 3: Abra uma nova janela do Terminal (sim, você precisa usar o terminal ... Tentei de todas as outras maneiras ... nada funcionou)

etapa 4: Usando o comando cd para encontrar o local da pasta no seu projeto (o projeto que você deseja adicionar ao seu repositório existente ou novo)

passo 5: digite git init, você terá algo parecido com isto. Reinicializou o repositório Git existente em / {diretório atual}

etapa 6: digite git add. nada acontece após esta etapa, digite-a e prossiga para a próxima etapa.

etapa 7: digite git commit -m "Initial commit", você obterá o seguinte: # No branch branch nada a confirmar, o diretório de trabalho está limpo

ou

alguma explicação sobre a configuração e, em seguida, uma lista de arquivos que foram alterados.

etapa 8: digite git remote add origin {URL do projeto} O URL do projeto pode ser encontrado no Github.com. É o URL do clone HTTPS ... você deve poder copiar e colar na janela do terminal. Se o sistema informar que a origem já existe, crie um nome diferente ou use o nome do seu projeto (algo diferente)

Etapa 9: acesse o aplicativo GitHub no seu Mac e clique no botão "Sincronizar ramo" (mesmo que não haja alterações pendentes). Acho que demora um pouco para confirmar, mas se você voltar para a pasta do repositório local, deverá ver seu novo projeto. Eu tive que recriar a pasta pai, mas é apenas uma questão de mover seus arquivos. Vá para GitHub.com e atualize seu navegador, e seus novos arquivos também deverão estar lá.

Espero que ajude.


5
Follow below gitbash commands to push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git push origin branch)

4
git init

Adicione os arquivos no seu novo repositório local. Isso os prepara para o primeiro commit.

git add .

Adiciona os arquivos no repositório local e os prepara para confirmação. Para desfazer um arquivo, use 'git reset HEAD YOUR-FILE'.

Confirme os arquivos que você preparou em seu repositório local.

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

repositório. Para remover esta confirmação e modificar o arquivo, use 'git reset --soft HEAD ~ 1' e confirme e adicione o arquivo novamente. Campo Copiar URL do repositório remoto Na parte superior da página de Instalação Rápida do repositório GitHub, clique para copiar o URL do repositório remoto.

No prompt de comando, adicione a URL do repositório remoto para onde o repositório local será enviado.

git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

Envie as alterações no seu repositório local para o GitHub.

git push origin master
# Pushes the changes in your local repository up to the remote repository you 

especificado como a origem


4
  1. Na linha de comandos, navegue para o diretório do repositório local.
  2. Crie um novo repositório no GitHub, ele fornecerá um link finalizado .git.
  3. no cmd run: git remote add origin [your_GitHub_Repository_link](lembre-se de que o link deve terminar com .git)
  4. então corra : git push -u origin master

Espero que isso tenha sido útil.


4

Crie um novo repositório

git clone <url>
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Pasta existente

cd existing_folder
git init
git remote add origin <url>
git add .
git commit -m "Initial commit"
git push -u origin master

Repositório Git existente

cd existing_repo
git remote rename origin old-origin
git remote add origin <url>
git push -u origin --all
git push -u origin --tags

qual a diferença entre commit e push? o que "origem" e "mestre" se referem no push? um ramo?
ealeon

2

Primeiro, crie um novo repositório no Github com o nome do seu projeto. Em seguida, siga as etapas abaixo.

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add origin https://github.com/yuvraj777/GDriveDemo.git
5)git push -u origin master

2

Eu sei, essa é uma pergunta antiga, mas estou tentando explicar cada passo, para que possa ajudar os outros. É assim que adiciono uma fonte existente ao git:

  1. Crie o repositório no git, para que você tenha o ssh || https onde você vai remotamente adicionar seu código fonte.
  2. No seu terminal, vá para o caminho do seu projeto.
  3. Execute git init(aqui você inicia o projeto como um git).
  4. Execute git add *(aqui você adiciona todos os arquivos e pastas do seu projeto).
  5. Execute git commit -m "Initial Commit."(aqui você confirma seus arquivos e pastas adicionados na etapa 4; lembre-se de que não pode enviar suas alterações sem enviá-las).
  6. Execute git remote add origin https://your_username@bitbucket.org/your_username/project-name.git(aqui você adiciona um projeto remoto no qual sua fonte será enviada; substitua meu link pelo seu ssh || https da etapa # 1).
  7. Execute git push -u origin master(aqui você coloca sua fonte no repositório git).

Nota: Essas são etapas simples para enviar sua fonte ao ramo principal .


2

Odeio acrescentar mais uma resposta, mas meu cenário específico não é bem abordado aqui. Eu tinha um repositório local com um histórico de alterações que queria preservar e um repositório não vazio criado para mim no Github (ou seja, com o README.md padrão). Sim, você sempre pode recriar o repositório do Github como um repositório vazio, mas no meu caso, alguém tem permissão para criar esse repositório específico, e eu não queria incomodá-lo, se houvesse uma solução fácil.

Nesse cenário, você encontrará esse erro ao tentar git pushdepois de definir a origem remota:

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Como o erro indica, eu precisava fazer uma git pullapós definir a origem remota, mas precisava especificar a --allow-unrelated-historiesopção. Sem essa opção, git pullreclama warning: no common commits.

Então, aqui está a sequência exata de comandos que funcionaram para mim:

git remote add origin <github repo url>
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push

Eu tenho o mesmo problema, mas seus passos levam a alguma coisa editor de texto estranho
john ktejik

Ah, acho que você normalmente usa uma interface do usuário e normalmente não confirma a partir da linha de comando (nada de errado nisso, eu uso a interface do usuário do SourceTree). O editor que apareceu é provavelmente o editor vi, cuja interface é um tópico inteiro por si só, por isso não vou me aprofundar aqui.
Jonathan Fischer

2

A partir de 29/07/2019, o Github apresenta aos usuários as instruções para realizar essa tarefa quando um repositório é criado, oferecendo várias opções:

crie um novo repositório na linha de comandos

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

envie um repositório existente a partir da linha de comandos

git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

importar código de outro repositório

pressione o importbotão para inicializar o processo.

Para os alunos visuais por aí:

insira a descrição da imagem aqui




0

Descobri que estimular uma atualização na sequência "natural" era uma rota mais fácil do que pressionar as coisas.

Supondo que o repositório já tenha sido criado no github e você também tenha colocado algumas coisas no README.md.

  1. No seu computador, abra o terminal e git clone [repo URL]

  2. Você verá que uma nova pasta foi criada com o nome do seu repo. Sinta-se livre para renomeá-lo - não importa.

  3. Mova seu código, arquivos etc. para esta pasta. Edite o arquivo README.md se for necessário.

  4. Agora abra o Terminal / prompt de comando, entre nessa pasta e faça as coisas como se estivesse fazendo a próxima atualização do repositório:

git add .
git commit -m "v2"
git push origin master

Nota: no comando commit, o git pode rejeitar, solicitando a configuração do email e da senha do usuário primeiro. Siga as etapas conforme indicado na tela e execute o comando commit novamente.

  1. E esses três comandos são o que você faz agora para sempre toda vez que deseja enviar outra atualização.
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.