tag - git submodule update recursive
git push a rama especĂfica (3)
Las respuestas a las que te vinculaste tienen que ver con la configuración de git para que puedas ingresar comandos de git push
muy cortos y hacer que ellos hagan lo que quieras. Lo que es genial, si sabes lo que quieres y cómo se escribe eso en Git-Ese, ¡pero eres nuevo en git! :-)
En su caso, la respuesta de Petr Mensik es (bueno, "a") correcta. Este es el por qué:
El comando git push remote
raíces git push remote
alrededor de su archivo .git/config
para encontrar el nombre "remoto" (por ejemplo, origin
). Las listas de archivos de configuración:
- donde (en lo que respecta a la dirección URL) que "vive" de forma remota (por ejemplo,
ssh:// hostname / path
) - donde van los empujes, si son diferentes
- lo que se empuja, si no dijiste qué rama (s) empujar
- ¿Qué se obtiene cuando ejecuta
git fetch remote
La primera vez que clonó el repositorio, siempre que fue, git configuró valores predeterminados para algunos de estos. La URL es lo que sea que haya clonado y el resto, si está configurado o no configurado, son valores predeterminados "razonables" ... o, hmm, ¿ lo son ?
El problema con esto es que las personas han cambiado de opinión, con el tiempo, en cuanto a lo que es "razonable". Así que ahora (dependiendo de su versión de git y de si ha configurado las cosas en detalle), git puede imprimir muchas advertencias acerca de los cambios en el futuro. Agregando el nombre de la "rama para empujar" - amd_qlp_tester
- (1) lo cierra, y (2) empuja solo esa rama.
Si quieres presionar más convenientemente, puedes hacerlo con:
git push origin
o incluso:
git push
pero si eso hace lo que usted quiere, depende de si está de acuerdo con los "primeros autores de git" en que los valores predeterminados originales son razonables o en los "autores posteriores de git" que los valores predeterminados originales no son razonables. Por lo tanto, cuando desee realizar todas las tareas de configuración (eventualmente), vea la pregunta (y las respuestas) a las que se vinculó.
En cuanto al nombre origin/amd_qlp_tester
en primer lugar: en realidad es una entidad local (un nombre guardado dentro de su repositorio), aunque se denomina "rama remota". Es la mejor conjetura de amd_qlp_tester
en "donde amd_qlp_tester
está allí". Git lo actualiza cuando puede .
Incluso después de leer esta pregunta: git-push-current-branch , todavía tengo dificultades para averiguar cómo debo escribir mi comando git push. Como se mencionó en el enlace de la pregunta, no está claro en la documentación.
Me gustaría usar mi ejemplo del "mundo real". Lo siguiente es lo que veo cuando hago un comando git status
en el nivel superior de mi rama:
En la rama amd_qlp_tester
Su sucursal está delante de ''origin / amd_qlp_tester'' por 5 confirmaciones.
etc ...
Así que mi nombre de rama es amd_qlp_tester
pero fue "ramificado" de la rama principal (si tengo los términos incorrectos es debido a mi fondo SVN). Pero también está el nombre `origin / amd_qlp_testser ''
Entonces, ¿cómo puedo expresar mi comando push?
¿Es alguno de estos:
git push origin/amd_qlp_tester?
git push origin amd_qlp_tester?
git push amd_qlp_tester?
git push origin?
git push?
Si su sucursal local y su sucursal remota tienen el mismo nombre, simplemente puede hacerlo:
git push origin branchName
Cuando el nombre de su sucursal local y remota es diferente, simplemente puede hacerlo:
git push origin localBranchName:remoteBranchName
git push origin amd_qlp_tester
funcionará para usted. Si solo escribe git push
, entonces el control remoto de la rama actual es el valor predeterminado.
La sintaxis de push se ve así: git push <remote> <branch>
. Si observa su control remoto en el archivo .git/config
, verá una entrada [remote "origin"]
que especifica la url del repositorio. Entonces, en la primera parte del comando le dirá a Git dónde encontrar el repositorio para este proyecto, y luego solo especificará una rama.