2010-06-26 27 views

Respuesta

2

Respuesta corta: no, no es así como la pila trabajos. Sin embargo, puede hacer lo siguiente para obtener el resultado que está buscando.

Suponiendo que usted ha guardado algunas otros cambios, y luego hizo un poco más modificaciones en su índice (cambios originales) y decide que desea mantener estos cambios al modificar el alijo:

#verify the state you are in 
git stash list 
git status 

git stash #push work in progress on the stash 
git stash list #check which stash you need 
git stash show [email protected]{1} #check the changes in the stash 

git stash pop [email protected]{1} #you're now ready to change your 'other' changeset 
# hack hack 
git stash #modified 'other' change set pushed on the stash 
git stash pop [email protected]{1} #your 'original changes' 

Recomiendo este flujo de trabajo sobre tratar de modificar el alijo directamente. Si se pierde en números ocultos, también puede usar git stash save 'some other changes'

En algún momento (probablemente más cerca de lo que cree) es más fácil hacer un seguimiento de las sucursales reales.

1

Usted podría intentar, después de hacer estallar su pila, para marcar el archivo que no desea para guardar como "sin cambio":

git update-index --assume-unchanged -- /path/to/file 

, y luego tratar de esconder, comprobando si se incluye dicho archivo o no.

git update-index man page:

--assume-unchanged 
--no-assume-unchanged 

Cuando se especifican estas banderas, los nombres de los objetos registrados por las sendas no se actualizan.
En su lugar, estas opciones establecen y desarman el bit "asumir sin cambios" para las rutas.

Cuando el bit "asumir sin cambios" está activado, git deja de revisar los archivos del árbol de trabajo para posibles modificaciones, por lo que debe desarmar manualmente el bit para indicarle a git cuando cambie el archivo de árbol de trabajo.
Esto a veces es útil cuando se trabaja con un proyecto grande en un sistema de archivos que tiene una llamada al sistema muy lenta lstat(2) (por ejemplo, cifs).

Esta opción puede también ser utilizado como un mecanismo a nivel de archivo grueso para ignorar los cambios no confirmados en los archivos de seguimiento (similar a lo que .gitignore hace para archivos sin seguimiento)

Cuestiones relacionadas