Pregunta Git: cómo revertir el directorio completo a una confirmación específica (eliminando cualquier archivo agregado)


Quiero revertir un directorio en git, revertir todos los archivos dentro, así como eliminar cualquier archivo agregado desde esa confirmación. Hacer un pago solo parece satisfacer mi primer requisito, pero no elimina ningún archivo.


10
2017-09-25 21:39


origen


Respuestas:


Descubrí la solución más simple.

git rm /path/to/dir
git checkout <rev> /path/to/dir
git commit -m "reverting directory"

A continuación, elimine todos los archivos sin seguimiento.


12
2017-09-26 13:56



eliminar solo la carpeta y su contenido en git

git rm -r --cached myFolder

eliminar carpeta en git y localmente

git rm -r myFolder

luego cometer y empujar de nuevo

Para volver a un compromiso anterior

#reset to previous commit, replace with your commit hash code, you can find it from your commit history 
git reset {commit hash} 

#moves pointer back to previous head branch
git reset --soft HEAD@{1}

git commit -m "Reverted commit to blah"

#update your working copy
git reset --hard

Revertir a parte de una confirmación En ese caso, debe volver a una confirmación en particular y agregar un parche

#reset to previous commit, but don't commit the changes
$ git revert --no-commit {last commit hash}   

# unstage the changes
$ git reset HEAD .             

# add/remove stuff here
$ git add file
$ git rm -r myfolder/somefiles          

# commit the changes  
$ git commit -m "fixed something"

# check the files
$ git status

#discard unwanted changes
$ git reset --hard             

4
2017-09-25 21:44



Para restaurar para que coincida con lo que parecía en

Primero nuke el directorio del área de preparación

git rm --cached -r <directory>

Ahora lee en el árbol para ese directorio

git read-tree <old SHA>^{tree}:<directory> --prefix=<directory>

Entonces cometer

git commit -m "reverting <directory>"

Luego solo elimine los cambios del directorio de trabajo que son restos.


1
2017-09-25 22:00