Como adiciono arquivos e pastas aos repositórios do GitHub?

248

Criei uma conta no GitHub - sou novo nele - e estou enfrentando um problema ao adicionar arquivos. Eu adicionei readme.txt. Além disso, tenho outros 3 arquivos PHP e uma pasta que inclui imagens.

Como adiciono os arquivos e a pasta? Eu tentei git pullporque git push origin -u masterme mostrou um erro.

Adnan
fonte
9
Tentei o tutorial oficial do git ? Isso é abordado desde o início.
jweyrich
2
Eu recomendo o livro ProGit a versão on-line é livre progit.org/book
house9
Nota: desde dezembro de 2012, você pode criar arquivos diretamente através da interface da web do GitHub. Veja minha resposta abaixo .
VonC

Respostas:

371

Você pode adicionar arquivos usando git add, exemplo git add README, git add <folder>/*ou mesmogit add *

Em seguida, use git commit -m "<Message>"para confirmar arquivos

Finalmente git push -u origin masterpara enviar arquivos.

Quando você executa modificações, o git statusque fornece a lista de arquivos modificados, adicione-os usando git add *para tudo ou você pode especificar cada arquivo individualmente git commit -m <message>e, finalmente,git push -u origin master

Exemplo - digamos que você criou um arquivo README, a execução git statusfornece

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   README

Execute git add README, os arquivos são preparados para confirmação. Em seguida, execute git statusnovamente, ele deverá fornecer - os arquivos foram adicionados e prontos para confirmação.

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   README
#

nothing added to commit but untracked files present (use "git add" to track)

Então corra git commit -m 'Added README'

$ git commit -m 'Added README'
[master 6402a2e] Added README
  0 files changed, 0 insertions(+), 0 deletions(-)
  create mode 100644 README

Por fim, git push -u origin masterpressione a ramificação remota masterdo repositório origin.

$ git push -u origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]:xxx/xxx.git
   292c57a..6402a2e  master -> master
Branch master set up to track remote branch master from origin.

Os arquivos foram enviados com êxito para o repositório remoto.

Executando um git pull origin masterpara garantir que você tenha absorvido quaisquer alterações upstream

$ git pull origin master
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 4), reused 7 (delta 3)
Unpacking objects: 100% (8/8), done.
From xxx.com:xxx/xxx
 * branch            master     -> FETCH_HEAD
Updating e0ef362..6402a2e
Fast-forward
 public/javascript/xxx.js |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
 create mode 100644 README

Se você não deseja mesclar as alterações upstream com o repositório local, execute git fetchpara buscar as alterações e depois git mergemesclar as alterações. git pullé apenas uma combinação de fetchemerge .

Eu pessoalmente usei o gitimmersion - http://gitimmersion.com/ para obter uma curva do git, é um guia passo a passo, se você precisar de alguma documentação e ajuda

Primeiro Zero
fonte
8
git add --all folder/funcionou melhor para mim do que para mim do que #git add folder/*
Alex
4
Isso adiciona todos os arquivos e pastas recursivamente?
Alix
git add <folder>/*adiciona novos arquivos também.
Danijel
49

Para usuários de Linux e MacOS:

  1. Primeiro crie o repositório (Name = RepositoryName) no github.
  2. Abra o terminal e crie o novo diretório (mkdir NewDirectory).
  3. Copie seu ProjectFolder para este NewDirectory.
  4. Altere o diretório de trabalho atual para NewDirectory.
  5. Execute estes comandos
    1. git init
    2. git add ProjectFolderName
    3. git commit -m "primeiro commit"
    4. git remote add origin https://github.com/YourGithubUsername/RepositoryName.git
    5. mestre de origem git push -u
Ankit Bhatia
fonte
20

Observe que, desde o início de dezembro de 2012, você pode criar novos arquivos diretamente do GitHub :

Criar novo arquivo

ProTip ™ : você pode preencher previamente o campo nome do arquivo usando apenas o URL.
Digitar ?filename=yournewfile.txtno final do URL preenche previamente o campo nome do arquivo com o nome yournewfile.txt.

d

VonC
fonte
2
Como você pode enviar um arquivo, como uma imagem?
Tirou Baker
@DrewBaker, o mecanismo descrito aqui é para criar arquivo de texto. Para uma imagem, você ainda precisará clonar um repositório do GitHub, adicionar a imagem localmente, confirmar e enviar por push.
VonC 29/08/13
Obrigado e +1 pela dica sobre "criar novos arquivos diretamente do GitHub"!
usar o seguinte comando
Não acredito que a interface da web do Github tenha fornecido uma maneira de adicionar pastas, além de adicionar arquivos de texto simples, como remarcações de leia-me.
Devy
Eu acho que a pergunta é perguntar como fazer o upload de arquivos do seu computador, não como criar arquivos.
Elektra
8

Se você deseja adicionar uma pasta vazia, pode adicionar um arquivo '.keep' na sua pasta.

Isso ocorre porque o git não se importa com pastas.

Gautier
fonte
Exatamente a resposta que eu estava procurando.
Alexis Wilke
6

Você precisa fazer o checkout do repositório em sua máquina local. Em seguida, você pode alterar essa pasta na sua máquina local.

git commit -am "added files"

Esse comando confirmará todos os arquivos no repositório.

git push origin master

que enviará todas as alterações em sua ramificação principal (que eu assumo ser a que você está usando) para a origem do repositório remoto (neste caso, github)

Gevious
fonte
4

Solução simples:

git init
git add =A
git commit -m "your commit"
git push -u origin master

se você deseja adicionar uma pasta ao repositório existente. em seguida, adicione uma pasta ao código do projeto local

git rm --cached ./folderName
 git add ./folderName

depois disso

git status
git commit -m "your commit"
git push -u origin master
Shashwat Gupta
fonte
2

Ao adicionar um diretório ao github, verifique se o diretório não contém um arquivo .git usando "ls -a" se ele for removido. arquivos .git em um diretório causarão problemas quando você estiver tentando adicionar um diretório no git

Matt
fonte
0

Verifique minha resposta aqui: https://stackoverflow.com/a/50039345/2647919

"Ou melhor ainda, basta arrastar e soltar" a pasta, no seu repositório aberto no navegador git.

Abra seu repositório no portal da web, você verá a lista de todos os seus arquivos. Se você criou recentemente o repo, e iniciou com um README, você verá apenas a lista README.

Abra sua pasta que você deseja enviar. arraste e solte na lista no navegador. Veja a imagem aqui . "

RavenReema
fonte
0

Estou usando o VS SSDT no Windows. Iniciei um projeto e configurei o controle de versão local. Posteriormente, instalei o git e criei um repositório do Github. Depois de fazer meu repo no Github, peguei o URL e o coloquei no VS quando ele me solicitou o URL ao clicar no botão "publicar no Github".

cromastro
fonte