¿Cómo agrego archivos y carpetas a los repositorios de GitHub?

248

Creé una cuenta en GitHub, soy nuevo en ella, y tengo problemas para agregar archivos. He añadido readme.txt. Además, tengo otros 3 archivos PHP y una carpeta que incluye imágenes.

¿Cómo agrego los archivos y la carpeta? Lo probé git pullporque git push origin -u masterme mostró un error.

Adnan
fuente
99
¿Has probado el tutorial oficial de git ? Esto está cubierto desde el principio.
jweyrich
2
Recomiendo el libro ProGit, la versión en línea es gratuita progit.org/book
house9
Nota: desde diciembre de 2012, puede crear archivos directamente a través de la interfaz web de GitHub. Vea mi respuesta a continuación .
VonC

Respuestas:

371

Puede añadir archivos usando git add, ejemplo git add README, git add <folder>/*o inclusogit add *

Luego use git commit -m "<Message>"para confirmar archivos

Finalmente git push -u origin masterpara empujar archivos.

Cuando realice modificaciones git statusque le proporcionen la lista de archivos modificados, agréguelos usando git add *para todo o puede especificar cada archivo individualmente, luego git commit -m <message>y finalmente,git push -u origin master

Ejemplo: supongamos que creó un archivo README, la ejecución git statusle da

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

Ejecutar git add README, los archivos se preparan para comprometerse. Luego, ejecute git statusnuevamente, debería darle: los archivos se han agregado y están listos para comprometerse.

$ 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)

Entonces corre 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

Finalmente, git push -u origin masterpara empujar la rama remota masterpara el repositorio 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.

Los archivos se han enviado correctamente al repositorio remoto.

Ejecutar a git pull origin masterpara garantizar que ha absorbido cualquier cambio aguas arriba

$ 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

Si no desea fusionar los cambios ascendentes con su repositorio local, ejecute git fetchpara buscar los cambios y luego git mergefusionar los cambios. git pulles solo una combinación de fetchy merge.

Personalmente he usado gitimmersion - http://gitimmersion.com/ para llegar a la curva en git, es una guía paso a paso, si necesita documentación y ayuda

Primer cero
fuente
8
git add --all folder/funcionó mejor para mí que para mí quegit add folder/*
Alex
44
¿Eso agrega todos los archivos y carpetas de forma recursiva?
Alix
git add <folder>/*agrega nuevos archivos también.
Danijel
49

Para usuarios de Linux y MacOS:

  1. Primero haga el repositorio (Name = RepositoryName) en github.
  2. Abra la terminal y cree el nuevo directorio (mkdir NewDirectory).
  3. Copie su ProjectFolder a este NewDirectory.
  4. Cambie el directorio de trabajo actual a NewDirectory.
  5. Ejecute estos comandos
    1. git init
    2. git add ProjectFolderName
    3. git commit -m "primer compromiso"
    4. git remote add origin https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u maestro de origen
Ankit Bhatia
fuente
20

Tenga en cuenta que desde principios de diciembre de 2012, puede crear nuevos archivos directamente desde GitHub :

Crear nuevo archivo

ProTip ™ : puede rellenar previamente el campo de nombre de archivo utilizando solo la URL.
Escribir ?filename=yournewfile.txtal final de la URL rellenará previamente el campo del nombre de archivo con el nombre yournewfile.txt.

re

VonC
fuente
2
¿Cómo puedes subir un archivo, como una imagen?
Drew Baker el
@DrewBaker, el mecanismo que se describe aquí es para crear un archivo de texto. Para la imagen, aún necesitaría clonar un repositorio de GitHub, agregar la imagen localmente, confirmar y presionar.
VonC
¡Gracias y +1 por el consejo sobre "crear nuevos archivos directamente desde GitHub"!
zeFree
No creo que la interfaz de usuario web de Github haya proporcionado una forma de agregar carpetas además de agregar archivos de texto simples como rebajas de léame.
Devy el
Creo que la pregunta es cómo CARGAR archivos desde su computadora, no cómo crear archivos.
Élektra
8

Si desea agregar una carpeta vacía, puede agregar un archivo '.keep' en su carpeta.

Esto se debe a que git no se preocupa por las carpetas.

Gautier
fuente
Exactamente la respuesta que estaba buscando.
Alexis Wilke
6

Debe pagar el repositorio en su máquina local. Luego puede cambiar esa carpeta en su máquina local.

git commit -am "added files"

Ese comando enviará todos los archivos al repositorio.

git push origin master

eso empujará todos los cambios en su rama maestra (que supongo que es la que está usando) al origen del repositorio remoto (en este caso, github)

Gevious
fuente
4

Solución simple:

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

si desea agregar una carpeta al repositorio existente ... agregue la carpeta al código del proyecto local

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

después de esto

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

Al agregar un directorio a github, verifique que el directorio no contenga un archivo .git usando "ls -a" si lo elimina. Los archivos .git en un directorio causarán problemas cuando intente agregar un directorio en git

Mate
fuente
0

Comprueba mi respuesta aquí: https://stackoverflow.com/a/50039345/2647919

"O, mejor aún, simplemente" arrastra y suelta "la carpeta en tu repositorio abierto en el navegador git.

Abra su repositorio en el portal web, verá la lista de todos sus archivos. Si acaba de crear el repositorio e inició con un archivo README, solo verá la lista README.

Abra la carpeta que desea cargar. arrastrar y soltar en el listado en el navegador. Vea la imagen aquí ".

CuervoRema
fuente
0

Estoy usando VS SSDT en Windows. Comencé un proyecto y configuré el control de versiones local. Más tarde instalé git y creé un repositorio de Github. Una vez que tuve mi repositorio en Github, tomé la URL y la puse en VS cuando me pidió la URL cuando presioné el botón "publicar en Github".

cromastro
fuente