Lo que está sucediendo es que no estás usando git correctamente. No hay ningún problema en crear una sucursal y eliminar archivos y carpetas. Cuando vuelva a su rama principal, los archivos y carpetas eliminados se restaurarán, ya que no se han eliminado de esa rama.
Lo que está sucediendo en su caso es que ha eliminado los archivos/carpetas de git, utilizando el sistema operativo delete, en lugar del comando "git rm". Es por eso que el estado de git los informa como "eliminados". También es la razón por la que los archivos permanecen eliminados cuando cambias de rama. git espera que los archivos estén allí y que no.
El estado de Git te dice que ejecutes "git add" pero eso no funciona. Como el archivo ya no está allí, la ejecución de git add fallará en silencio. Puede que no lo note, pero el mensaje también le indica que ejecute "git rm". Puede pensar que no puede hacer eso ya que el archivo se ha ido, pero eso no es cierto. El comando rm seguirá teniendo éxito al eliminar el archivo del repositorio, aunque ya lo hayas eliminado del sistema de archivos.
La otra cosa, y más fácil que puede hacer es ejecutar git add -A. La bandera -A le dirá agregar a aviso cualquier archivo eliminado o agregado.
probar este para una prueba:
git init test-delete
cd test-delete
touch filea
mkdir dir_b
touch dir_b/fileb
git add .
git commit -m "Initial commit"
git checkout -b new_branch
rm -rf dir_b
git add -A
git commit -m "deleted files from branch"
(ls to prove files arent' there)
git checkout master
(ls to show files have been restored)
git checkout new_branch
(ls to show files are gone again)
cometiste a su sucursal de 3.0 WIP antes de salir a la rama principal? Si no, ese es probablemente el problema. –
He clonado repo externo. Creado y comprobado nueva rama '3.0-wip'. Archivos/carpetas eliminados a través de Finder. Creó un nuevo archivo 'index.php' y lo cometió. Si selecciono mi rama 'master', entonces los archivos aún se han ido, y' git status' muestra todos los archivos/carpetas como 'deleted:'. –
¿Has añadido git? | git agregar -u antes de su compromiso? ¿Cómo cometió esos cambios en su rama 3.0-wip? –