2012-01-08 37 views
178

Creé una cuenta en GitHub — Soy nuevo en ella — y estoy enfrentando un problema al agregar archivos. He agregado readme.txt. Además, tengo 3 otros archivos PHP y una carpeta que incluye imágenes.¿Cómo agrego archivos y carpetas a los repositorios de GitHub?

¿Cómo agrego los archivos y la carpeta? Lo intenté con git pull porque git push origin -u master me mostró un error.

+7

¿Intentó el [tutorial oficial de git] (http://schacon.github.com/git/gittutorial.html)? Esto está cubierto al principio. – jweyrich

+2

Recomiendo el libro ProGit, la versión en línea es gratuita http://progit.org/book/ – house9

+0

Nota: desde diciembre de 2012, puede crear archivos directamente a través de la interfaz web de GitHub. Ver [mi respuesta a continuación] (http://stackoverflow.com/a/13765502/6309). – VonC

Respuesta

287

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

a continuación, utilizar git commit -m "<Message>" enviar los archivos

Finalmente git push -u origin master a impulsar los archivos.

Al realizar modificaciones corren git status que le da la lista de los archivos modificados, añadirlos usando git add * para todo, o puede especificar cada archivo de forma individual, a continuación, git commit -m <message> y, finalmente, git push -u origin master

Ejemplo - dice que ha creado un archivo README, corriendo git status le da

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

Run git add README, los archivos se llevaron a cabo por la comisión. Luego ejecute git status de nuevo, debería darle: los archivos han sido agregados y listos para la confirmación.

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

A continuación, ejecute 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 último, git push -u origin master para empujar la rama remota master para 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.

Ejecución de un git pull origin master para asegurarse que ha absorbido todos los cambios ascendentes

$ 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 aguas arriba con su repositorio local, ejecute git fetch a buscar a los cambios y luego git merge para fusionar los cambios . git pull es solo una combinación de fetch y merge.

he utilizado personalmente gitimmersion - http://gitimmersion.com/ para obtener la curva hasta el GIT, es una guía paso a paso, si necesita algún tipo de documentación y ayuda

+1

http://gitimmersion.com/ es fantástico, gracias. – Azoreo

+7

'git add --toda carpeta /' funcionó mejor para mí que yo 'git add folder/*' – Alex

+2

¿Eso agrega todos los archivos y carpetas recursivamente? – Alix

6

Usted necesita el pago del depósito 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 

que empujará a todos los cambios en su rama principal (que supongo que es el que usted está usando) al origen repositorio remoto (en este caso github)

19

Tenga en cuenta que desde principios de diciembre de 2012, puede crear new files directly from GitHub:

Create new File

ProTip: Usted puede pre-llenar el campo Nombre del archivo usando simplemente la URL.
Al escribir ?filename=yournewfile.txt al final de la URL se rellenará previamente el campo de nombre de archivo con el nombre yournewfile.txt.

d

+2

¿Cómo puedes subir un archivo, como una imagen? –

+0

@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

+0

¡Gracias y +1 por la sugerencia de "crear nuevos archivos directamente desde GitHub"! – zeFree

35

Para usuarios de Linux y MacOS:

  1. En primer lugar hacer el repositorio (Nombre = RepositoryName) en github.
  2. Abra el 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. ejecutar estos comandos
    1. git init
    2. git add ProjectFolderName
    3. git commit -m "primera cometer"
    4. git add remoto origen https://github.com/YourGithubUsername/RepositoryName.git
    5. -u git push origin master
1

Cuando agregando un directorio a github compruebe 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

Cuestiones relacionadas