Tengo 2 repositorios locales de git que apuntan al mismo repositorio remoto.
En un repositorio de git, si lo hago git format-patch 1
, ¿cómo puedo aplicar ese parche al otro repositorio?
Nota: Primero puede obtener una vista previa de lo que hará su parche:
Primero las estadísticas:
git apply --stat a_file.patch
Luego, una ejecución en seco para detectar errores:
git apply --check a_file.patch
Finalmente, puede usar git am
para aplicar su parche como confirmación: le permite cerrar la sesión de un parche aplicado.
Esto puede ser útil para referencia posterior.
git am --signoff < a_file.patch
Vea un ejemplo en este artículo :
En su registro de git, encontrará que los mensajes de confirmación contienen una etiqueta "Firmado por". Esta etiqueta será leída por Github y otros para proporcionar información útil sobre cómo terminó la confirmación en el código.
git am < somepatch.patch
produce "fatal: nombre de identificación vacío (para <>) no permitido". ¿Alguien puede explicarme por qué?Author
encabezados en el parche, y / o no lo hicistegit config user.{name,email}
.git apply --check
dicepatch does not apply
, ygit apply -3
dicerepository lacks the necessary blob to fall back on 3-way merge.
En git, rebasar los compromisos es una brisa; pero ¿cómo las personas vuelven a crear sus parches sobre el código actualizado?fuente
O, si lo estás pateando de la vieja escuela:
fuente
Primero debes tomar nota de la diferencia entre
git am
ygit apply
Cuando lo usa
git am
, generalmente desea aplicar muchos parches. Por lo tanto, debe usar:o solo:
Git encontrará parches automáticamente y los aplicará en orden ;-)
UPD
Aquí puede encontrar cómo generar tales parches
fuente
git apply
... y en--reverse
:-) 👍Si quieres aplicarlo como commit , usa git am .
fuente
Si está utilizando un IDE de JetBrains (como IntelliJ IDEA, Android Studio, PyCharm), puede arrastrar el archivo del parche y soltarlo dentro del IDE, y aparecerá un cuadro de diálogo que mostrará el contenido del parche. Todo lo que tiene que hacer ahora es hacer clic en "Aplicar parche", y se creará una confirmación.
fuente
Puede usar cmd mencionado a continuación
fuente