tag stash name crear git git-stash

name - ¿Cómo puedo git stash un archivo específico?



git stash push (2)

Por lo general, agrego a los cambios de índice que no quiero esconder y luego esconder con la opción --keep-index.

git add app/controllers/cart_controller.php git stash --keep-index git reset

El último paso es opcional, pero normalmente lo quieres. Se elimina los cambios del índice.

Advertencia Como se señaló en los comentarios, esto pone todo en el alijo, tanto en escena como en fase. El índice de mantenimiento solo deja el índice solo después de que se haya hecho el alijo. Esto puede causar conflictos de combinación cuando más tarde se abre el alijo.

Posible duplicado:
Cómo guardar solo un archivo de varios archivos que han cambiado

¿Cómo puedo esconder un archivo específico dejando a los otros actualmente modificados fuera del alijo que estoy a punto de guardar?

Por ejemplo, si git status me da esto:

younker % gst # On branch master # Your branch is ahead of ''origin/master'' by 1 commit. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: app/controllers/cart_controller.php # modified: app/views/cart/welcome.thtml # no changes added to commit (use "git add" and/or "git commit -a")

y solo quiero ocultar la aplicación / views / cart / welcome.thtml, ¿cómo haría eso? Algo como (pero por supuesto esto no funciona):

git stash save welcome_cart app/views/cart/welcome.thtml


EDITAR: Desde git 2.13, hay un comando para guardar una ruta específica al alijo: git stash push <path> . Por ejemplo: git stash push -m welcome_cart app/views/cart/welcome.thtml .

ANTIGUA RESPUESTA:

Puedes hacerlo usando git stash --patch (o git stash -p ) - git stash --patch en el modo interactivo en el que se te presentará cada fragmento que se cambió. Use n para omitir los archivos que no desea esconder, y cuando encuentre el que desea esconder, q para salir y dejar las trozos restantes sin esconder. a esconderá el trozo mostrado y el resto de los tíos en ese archivo.

No es el enfoque más fácil de usar, pero hace el trabajo si realmente lo necesita.