2011-04-10 17 views
18

cuando elimino archivos de una rama se elimina de todas las ramas. ¿que puedo hacer?git eliminar archivos de una sola rama

+0

para poder ver el problema exacto que ayudaría mucho si pudiera dar los comandos que ejecutó (tal vez creando un repositorio de demostración simple) para exhibir el problema: 'git init; tocar bla; git agregar bla; git commit -m'bla '; git checkout -b A; git rm bla; ...') – knittl

Respuesta

21

al eliminar un archivo con git y persistir ese estado del proyecto (git commit) solo se eliminará en ese commit y sus hijos (hablando: en esa rama). al fusionar esa rama en otra, es posible que el archivo se elimine (a menos que se cambie en la otra rama).

al eliminar un archivo, no confirmarlo y luego cambiar de ramas, git aplicará su conjunto actual de cambios a la otra rama, en su caso también eliminará el archivo. cometiendo la eliminación debe evitar el problema que está viendo

-4

No, no es verdad. Creo que tu confusión proviene de cambiar de rama. cuando haces "git checkout" conserva tu árbol de trabajo para que los archivos que acabas de eliminar no vuelvan a aparecer después de cambiarlos. Es posible cambiar a una rama diferente y restablecer todos los cambios que haya realizado (eliminar archivos). puede hacer esto escribiendo, por ejemplo, "" git reset --hard "después de cambiar

+1

este es un muy mal consejo. 'git reset --hard 'moverá el puntero de bifurcación actual a la confirmación especificada. Esto es muy diferente de lo que hace' git checkout', es decir, establecer HEAD en una bifurcación (o commit/tag) y verificar ese árbol, luego volver a aplicar los cambios (si es posible sin combinaciones textuales) – knittl

+0

bien, estoy de acuerdo en que cuando se habla de un caso de uso básico para el recién llegado es un poco peligroso mencionar "reset --hard". De todos modos, creo que para fines de demostración este es un muy buen ejemplo para comprender d ifference entre lo que está funcionando árbol y lo que es branch (que era más o menos pregunta, ¿verdad?). –

Cuestiones relacionadas