Cómo agregar varios archivos a Git al mismo tiempo
Este será mi primer uso de git. He añadido nuevos archivos ( muchos) a la carpeta / proyecto (repositorio local de git).
Pasé por tutoriales en línea y foros y ver que puedo hacer
git commit -a
Así que voy a la carpeta base del repositorio y hago un
sudo git commit -a
Pero entonces, algunas pantallas aparecen y me piden que agregue un comentario que hago. no sé cómo proceder o salir. No quiero meter la pata, así que hice ctrl + Z y no hice nada.
Pueden ustedes por favor ¿esbozar los comandos que necesito usar?
git commit -a
Y
git push?
8 answers
Para añadir todos los cambios realizados:
git add .
Para cometerlos:
git commit -m "MY MESSAGE HERE"
#-m es la bandera del mensaje
Puedes juntar esos pasos así:
git commit -a -m "MY MESSAGE HERE"
Para enviar los cambios confirmados desde su repositorio local a su repositorio remoto:
git push origin master
Es posible que tenga que escribir su nombre de usuario/contraseña para github después de esto. Aquí está un buen manual sobre el uso de git. Un poco viejo, pero cubre lo que está pasando realmente bien.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-28 07:04:46
Utilice el comando git add
, seguido de una lista de nombres de archivo separados por espacios, por ejemplo,
git add <file-name-1> <file-name-2> <file-name-3>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-17 01:49:22
También puede seleccionar varios archivos como este
git add folder/subfolder/*
Esto agregará todos los archivos en la subcarpeta especificada. Muy útil cuando editas un montón de archivos pero solo quieres confirmar algunos de ellos...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-03 15:59:02
Como algunos han mencionado, una forma posible es usar git interactive staging. Esto es genial cuando tienes archivos con diferentes extensiones
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
Si presiona 2
entonces enter
obtendrá una lista de archivos disponibles para agregar:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Ahora solo tienes que insertar el número de los archivos que deseas agregar, por lo que si queremos agregar TODO
y index.html
escribiríamos 1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
¿Ves el *
antes del número? eso significa que el archivo era añadir.
Ahora imagina que tienes 7 archivos y quieres añadirlos todos excepto el 7º? Claro que podríamos escribir 1,2,3,4,5,6
pero imagina que en lugar de 7 tenemos 16, eso sería bastante engorroso, lo bueno es que no necesitamos escribirlos todos porque podemos usar rangos, escribiendo 1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Incluso podemos usar múltiples rangos, por lo que si queremos del 1 al 3 y del 5 al 7 escribimos 1-3, 5-7
:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
También podemos usar esto para unstage archivos, si escribimos -number
, por lo que si queríamos unstage file number 1 escribiríamos -1
:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
Y como se puede imaginar también podemos unstage una amplia gama de archivos, así que si nos escriba -range
todos los archivos en ese rango sería unstaged. Si quisiéramos eliminar todos los archivos del 5 al 7, escribiríamos -5-7
:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-11 15:13:14
Si desea agregar varios archivos en una carpeta determinada, puede dividirlos utilizando {,}
. Esto es impresionante para no repetir caminos largos, por ejemplo,
git add long/path/{file1,file2,...,filen}
Tenga cuidado de no poner espacios entre el ,
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-16 22:31:31
Cuando cambias archivos o añades unos nuevos en el repositorio primero debes prepararlos.
git add <file>
O si desea organizar todo
git add .
Al hacer esto le estás diciendo a git qué archivos quieres en tu próximo commit. Entonces lo haces:
git commit -m 'your message here'
Utiliza
git push origin master
Donde origin es la rama del repositorio remoto y master es su rama del repositorio local.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 20:45:17
Parece que git está lanzando tu editor (probablemente vi
) para que puedas escribir un mensaje de confirmación. Si no está familiarizado con vi
, es fácil aprender los conceptos básicos. Las alternativas son:
-
Use
git commit -a -m "my first commit message"
para especificar el mensaje de confirmación en la línea de comandos (usar esto no lanzará un editor) -
Establezca la variable de entorno
EDITOR
en un editor con el que esté familiarizado
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 20:48:11
Si desea preparar y confirmar todos sus archivos en Github, haga lo siguiente;
git add -A
git commit -m "commit message"
git push origin master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-08 14:50:31