Importar código fuente existente a GitHub

609

¿Cómo puedo importar el código fuente de mi computadora a mi cuenta de GitHub?

Mohammad Ali Akbari
fuente
44
Me pareció más fácil usar la GUI de GitHub y luego apuntar la configuración a la raíz de su espacio de trabajo y hacer clic en el botón "Buscar repositorios en su disco duro" e identificará todos los repositorios locales de Git en su espacio de trabajo y permite importarlos individualmente. Fácil.
djangofan el
1
@djangofan ¿A qué GUI de github te refieres? ¿Tienes un enlace a la GUI?
Anderson Green
3
windows.github.com
djangofan
La respuesta de Pete funcionó muy bien en OS X: no es necesario usar una GUI.
funroll

Respuestas:

969

Si tiene código fuente local que desea agregar a un nuevo repositorio git nuevo y remoto sin 'clonar' el remoto primero, haga lo siguiente (a menudo hago esto: crea su repositorio vacío remoto en bitbucket / github, luego empuje hacia arriba tu fuente)

  1. Cree el repositorio remoto y obtenga la URL como [email protected]:/youruser/somename.gitohttps://github.com/youruser/somename.git

    Si su repositorio GIT local ya está configurado, omita los pasos 2 y 3


  2. Localmente, en el directorio raíz de su fuente, git init

    2a. Si inicializa el repositorio con un .gitignore y un README.md, debe hacer una git pull {url from step 1}para asegurarse de no comprometer los archivos a la fuente que desea ignorar;)

  3. Localmente, agregue y confirme lo que quiera en su repositorio inicial (para todo, git add .entonces git commit -m 'initial commit comment')


  4. para adjuntar su repositorio remoto con el nombre 'origen' (como haría la clonación)
    git remote add origin [URL From Step 1]

  5. Ejecutar git pull origin master para extraer la rama remota para que estén sincronizados.
  6. para subir su rama maestra (cambie la maestra a otra para una rama diferente):
    git push origin master
Peter
fuente
92
Trabajó para mi. Descubrí que necesitaba correr git pull origin masterantes del empujón git. Sin él, recibí el error "porque la punta de su rama actual está detrás" durante el intento de inserción. Tal vez esto fue porque creé el repositorio remoto con un Readme.md inicial.
yuvilio
55
Obtenga la URL de repositorio para el protocolo SSH para poder confirmar usando sus claves privadas ssh en lugar de escribir una contraseña.
Snicolas
55
@yuvilio eso es exactamente por qué. Si crea su repositorio github con un archivo readme.md, en realidad ahora está detrás de lo que está tratando de hacer su origen.
77
Como dijo @Snicolas, si usa SSH, use [email protected]: youruser / somename.git en lugar de git: //github.com/youruser/somename.git.
tsusanka el
55
GitHub explica este mismo procedimiento inmediatamente después de haber creado un nuevo repositorio. Como ya dijo @yuvilio, no debe inicializar su repositorio con un archivo README. En su lugar, continúe con touch README.mdsu repositorio local existente
Simone
41

Esto se explica en el excelente eBook ProGit gratuito . Se supone que ya tiene un repositorio Git local y uno remoto. Para conectarlos use:

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

Para enviar los datos del repositorio local a GitHub, use:

$ git push pb master

Si aún no ha configurado un repositorio local y / o remoto, consulte la ayuda en GitHub y los capítulos anteriores del libro .

Gordon
fuente
21

Uno de los comentarios mencionó el uso de la GUI de GitHub, pero no proporcionó ninguna ayuda específica sobre el uso y notó que la mayoría, si no todas, las respuestas fueron útiles solo en el símbolo del sistema.

Si desea utilizar la GUI de GitHub, puede seguir estos pasos:

  1. Haga clic en el botón "+" y elija "Agregar repositorio local" Ingrese la descripción de la imagen aquí
  2. Navegue al directorio con su código existente y haga clic en el botón "Agregar".
  3. Ahora se le debe solicitar que "Cree un nuevo repositorio Git local aquí", así que haga clic en el botón "Sí". Ingrese la descripción de la imagen aquí
  4. Agregue su "Resumen de compromiso" y "Descripción ampliada" como desee. De forma predeterminada, todos sus archivos ya deberían estar seleccionados con marcas de verificación. Haga clic en el botón "Confirmar y sincronizar". Ingrese la descripción de la imagen aquí
  5. Ahora se le pedirá que agregue el nombre y la descripción de su proyecto, así como a qué cuenta enviarlo (si tiene varios). Haga clic en el botón "Repositorio de inserción" Ingrese la descripción de la imagen aquí

Después de un momento con un ícono giratorio de GitHub, su código fuente pertenecerá a un repositorio local y se enviará / sincronizará con un repositorio remoto en su cuenta de GitHub. Todo esto supone que previamente ha configurado la GUI de GitHub, su cuenta de GitHub y las claves SSH.

cfont
fuente
@cfont ¿Mantiene esto el largo historial que ya existe en mi repositorio local, o simplemente crea una gran confirmación y he perdido todo mi historial?
theJollySin
1
@ theJollySin, lo siento, necesito trabajar para que mis notificaciones de stackoverflow funcionen correctamente, supongo. Esto debería retener el historial de su repositorio local existente. TBH, no lo probé en ese momento, pero no puedo pensar en una razón por la que aplastaría tu historia local. De hecho, todo el punto debería ser retener eso a menos que realmente quieras aplastar los commits.
cfont
12

Como JB señala con razón, se hace increíblemente fácil en GitHub simplemente siguiendo las instrucciones.

Aquí hay un ejemplo de las instrucciones que se muestran después de configurar un nuevo repositorio en GitHub usando http://github.com/new cuando inicia sesión.

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email [email protected]


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin [email protected]:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin [email protected]:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

¡No podría ser más fácil!

ktec
fuente
8

Tuve algunos problemas con la fusión al intentar seguir los pasos de Pete. Estos son los pasos con los que terminé.

  1. Use su sistema operativo para eliminar la .gitcarpeta dentro de la carpeta del proyecto que desea confirmar. Esto le dará una pizarra limpia para trabajar. Este también es un buen momento para hacer un .gitignorearchivo dentro de la carpeta del proyecto. Esto puede ser una copia de lo .gitignorecreado cuando creó el repositorio en github.com. Al hacer esta copia, evitará eliminarla cuando actualice el repositorio de github.com.

  2. Abra Git Bash y navegue a la carpeta de la que acaba de eliminar la .gitcarpeta.

  3. Ejecutar git init. Esto configura un repositorio local en la carpeta en la que se encuentra.

  4. Ejecutar git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [alias] puede ser lo que quieras. El [alias] está destinado a vincularse con el repositorio local, por lo que el nombre de la máquina funciona bien para un [alias]. La URL se puede encontrar en github.com, en la parte superior asegura que se haga clic en el botón HTTP fuera de HTTP | SSH | Git de solo lectura. La git://URL no funcionó para mí.

  5. Ejecutar git pull [alias] master. Esto actualizará su repositorio local y evitará algunos conflictos de fusión.

  6. correr git add .

  7. correr git commit -m 'first code commit'

  8. correr git push [alias] master

ShawnPluma
fuente
1
-1 Esto hace un poquito más que simplemente "importar código existente a github". ¡elimina todo el historial del repositorio!
Michael Durrant
6
  1. Abra su panel de control de GitHub (está en https://github.com/ si está conectado)
  2. Haga clic en Nuevo repositorio
  3. Rellenar los espacios en blanco; haga clic en Crear repositorio
  4. Siga las instrucciones en la página que aparece luego
JB
fuente
6

De Bitbucket:

Empuje hacia arriba un repositorio existente. Ya tienes un repositorio Git en tu computadora. Vamos a subirlo a Bitbucket:

cd /path/to/my/repo
git remote add origin ssh://[email protected]/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time
Fengbo
fuente
1
digo, -u es lo mismo que --set-upstream.
AnneTheAgile
4

Vine aquí buscando una manera simple de agregar archivos fuente existentes a un repositorio de GitHub. Vi la excelente respuesta completa de @Pete y pensé "¡¿Qué ?! Debe haber una forma más simple".

Aquí está esa manera más simple en cinco pasos (¡no se requiere acción de consola!)

Si realmente tiene prisa, puede leer el paso 3. Los demás solo están allí para completar.

  1. Cree un repositorio en el sitio web de GitHub. (No insultaré tu inteligencia al guiarte paso a paso).
  2. Clone el nuevo repositorio localmente. (Puede hacerlo a través del sitio web o del software de cliente de escritorio).
  3. Encuentre el repositorio recién clonado en su disco duro y agregue archivos como lo haría a un directorio normal.
  4. Sincronice los cambios de nuevo a GitHub.
  5. ¡Eso es!

¡Hecho!

LondonRob
fuente
4

Agregue un repositorio de GitHub como origen remoto (reemplace [] con su URL):

git remote add origin [[email protected]:...]

Cambie a su rama maestra y cópiela para desarrollar la rama:

git checkout master
git checkout -b develop

Empuje su rama de desarrollo a la rama de desarrollo de GitHub ( -fsignifica fuerza):

git push -f origin develop:develop
Serge Seletskyy
fuente
3

En realidad, si opta por crear un repositorio vacío en GitHub, le da instrucciones exactas que casi puede copiar y pegar en su terminal que son (en este momento):

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:<user>/<repo>.git
git push -u origin master
thoni56
fuente
2

Aquí hay algunas instrucciones sobre cómo iniciar un repositorio de GitHub y luego insertar el código que ya ha creado. El primer conjunto de instrucciones son directamente de GitHub.

Fuente: https://help.github.com/articles/create-a-repo/

  1. En la esquina superior derecha de cualquier página, haga clic en, y luego haga clic en Nuevo repositorio .

  2. Cree un nombre corto y memorable para su repositorio. Por ejemplo, "hola-mundo".

  3. Opcionalmente, agregue una descripción de su repositorio. Por ejemplo, "Mi primer repositorio en GitHub".

  4. Elija entre crear un repositorio público o privado.

  5. Inicialice este repositorio con un archivo README.

  6. Crear repositorio.

¡Felicidades! Ha creado con éxito su primer repositorio y lo ha inicializado con un archivo README.

Ahora, después de estos pasos, querrá insertar el código de su computadora local en el repositorio que acaba de crear y lo hará siguiendo estos pasos:

  1. git init (en la carpeta raíz donde se encuentra su código)

  2. git add -A (esto agregará todos los archivos y carpetas en su directorio para confirmar)

  3. git commit -am "First Project commit"

  4. git remote add origin [email protected]:YourGithubName/your-repo-name.git (encontrará esta dirección en el repositorio de GitHub que acaba de crear en "URL de clonación ssh" en la página principal)

  5. git push -u origin master

Eso es. Su código ahora se enviará a GitHub. Ahora, cada vez que quiera seguir presionando el código que ha cambiado, simplemente hágalo.

  1. git commit -m "New changes"

  2. git push origin master (si master es la rama en la que está trabajando)

rii
fuente
1

Solución para mi:

El problema es el tamaño de un archivo, que no puede exceder los 100M.

Antes de migrar a github, en el repositorio haga esto:

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

¡Listo!

Ahora realice la migración nuevamente con la herramienta: https://github.com/new/import

ver más: Error al presionar al repositorio de github y https://rtyley.github.io/bfg-repo-cleaner/

Espero haberte ayudado. :)

frekele
fuente
0

Crea tu repositorio en git hub

Permitir el seguimiento de su proyecto por GIT

  1. usando CMD vaya a la carpeta donde se guarda su archivo de proyecto-> cd / automation / xyz / codebase verifique la inicialización de git con el estado del comando git Si recibe este mensaje de error: fatal: No es un repositorio de git (o cualquiera de los directorios principales): .git, eso significa que git no está rastreando la carpeta en la que se encuentra actualmente. En ese caso, inicialice git dentro de la carpeta de su proyecto escribiendo git init, luego siga el proceso de agregar y confirmar su proyecto.

Si recibe otro mensaje de error, lea cuidadosamente lo que dice. ¿Está diciendo que git no está instalado en su computadora al decir que no se reconoce la palabra 'git'? ¿Está diciendo que ya estás en una carpeta o subcarpeta donde se inicializa git? Busque su error y / o salida en Google para comprenderlo y descubrir cómo solucionarlo.

ahora ejecuta el siguiente comando

# #

echo "su nombre de repositorio de git hub" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https: // #

arriba del bloque que obtendrás la primera vez que abras tu repositorio

Si se produce un error o no ocurre nada después del último comando, ejecute "git push -u origin master" no se preocupe

vaya a la carpeta donde está disponible el código y, a través de la extensión git, empújelo a git [URL], bifurque

Vinay Pratap
fuente