Tanto git am
y git apply
se puede utilizar para aplicar los parches. No logro ver la diferencia. Veo una diferencia ahora: git am
confirma automáticamente, mientras que git apply
solo toca los archivos pero no crea un compromiso. ¿Es esa la única diferencia?¿Cuál es la diferencia entre git am y git?
Respuesta
Tanto la entrada y salida son diferentes:
git apply
lleva un parche (por ejemplo la salida degit diff
) y lo aplica al directorio de trabajo (o índice, si se utiliza--index
o--cached
).git am
tiene un buzón de confirmaciones con formato de mensajes de correo electrónico (por ejemplo, la salida degit format-patch
) y las aplica a la rama actual.
git am
uses git apply
behind the scenes, pero hace más trabajo antes (leer unas Maildir
o mbox
, y el análisis mensajes de correo electrónico) y después (creación de confirmaciones).
Nota: 'apply' git también parece aceptar 'git-salida de formato patch'. –
'git apply' funcionaría para la salida de' git-formato patch' también, pero los cambios sería unstaged y tendría que estar comprometidos (creando así un diferente punto de comprometerse en el índice que se aplican a). Con 'git am' llevaría la información de confirmación (junto con el autor, etc.) al índice al que se aplica. 'git apply' a continuación es para parchear el repo (malo),' git am' puede tener cambios en las características de fiar e incluirlo en su repo (método preferido). –
Con git am
aplica el parche, por lo que si utiliza git status
, no verá ningún cambio local.
git apply
le permite hacer los cambios en los archivos de origen como si estuviera escribiendo el código por sí mismo, por lo tanto git status
y git diff
de salida de la voluntad de los cambios realizados en el parche que ha solicitado, entonces se puede corregir/añadir más cambios y enviarlos juntos como un nuevo parche.
git apply
es para aplicar diffs rectas (por ejemplo, de git diff
), mientras que git am
es para la aplicación de parches y las secuencias de los parches de los correos electrónicos, ya sea mbox o formato Maildir y es el "opuesto" de git format-patch
. git am
intenta extraer los mensajes de confirmación y los detalles de autor de los mensajes de correo electrónico, por lo que puede realizar confirmaciones.
- 1. ¿Cuál es la diferencia entre git push y git pull?
- 2. ¿Cuál es la diferencia entre "git reset" vs "git rebase"?
- 3. ¿Cuál es la diferencia entre git clone y checkout?
- 4. Diferencia entre git-log y git-whatchanged?
- 5. ¿Cuál es la diferencia entre git reset --hard y git reset --merge
- 6. ¿Cuál es la diferencia entre el sub-árbol git merge y git-subárbol
- 7. ¿Cuál es la diferencia entre "git whatchanged - filename" y "git rev-list - filename"
- 8. ¿Cuál es la diferencia entre "git checkout -f" y "git reset --hard HEAD"?
- 9. ¿Cuál es la diferencia entre 'git format-patch' y 'git diff'?
- 10. ¿Cuál es la diferencia entre `git fetch origin` y` git remote update origin`?
- 11. ¿Cuál es la diferencia entre git add * y git add., Si hay alguno?
- 12. Diferencia entre git pull --rebase, git rebase y git merge
- 13. Diferencia entre git remote add y git clone
- 14. ¿Es git commit -am redundante, si hago git add before?
- 15. ¿Cuál es la diferencia entre SVN y Git para la fusión?
- 16. ¿Cuál es la diferencia entre un árbol y un directorio?
- 17. ¿Cuál es la diferencia entre el origen de git push y el maestro de origen de git push
- 18. En git, ¿cuál es la diferencia entre merge --squash y rebase?
- 19. ¿Cuál es la diferencia entre git push.default = current y push.default = upstream?
- 20. ¿Cuál es la diferencia entre clonar y copiar un git repo?
- 21. ¿Cuál es la diferencia entre git reset --mixed, --soft, y --hard?
- 22. ¿Cuál es la diferencia entre svn import y checkout?
- 23. git project vs repository, ¿cuál es la diferencia fundamental?
- 24. git workflow: fusiona y git-rerere - ¿Cuál es el punto?
- 25. git clone vs copy paste, ¿cuál es la diferencia?
- 26. Git-Diff vs. Git-log? ¿Cual es la diferencia?
- 27. ¿Cuál es la diferencia entre {0} y ""?
- 28. Cuál es la diferencia entre = y: =
- 29. ¿Cuál es la diferencia entre .ToString (+) y ""
- 30. Cuál es la diferencia entre $ (...) y `...`
'am' podría ser pensado como una abreviatura de' Aplicar Mail' ... –