Bueno, el título es auto explicativo. ¿Cuál será el código python equivalente a ejecutar git reset --hard
(en la terminal) usando el módulo GitPython?¿Cómo hacer un reinicio de git --hard usando gitPython?
7
A
Respuesta
6
Busqué reset
en the documentation y encontró this:
class git.refs.head.HEAD(repo, path='HEAD')
reset(commit='HEAD', index=True, working_tree=False, paths=None, **kwargs)
Restablecer la cabeza a lo dado cometer sincronizar opcionalmente el índice y el árbol de trabajo. La referencia a la que nos referimos se establecerá para que se comprometa también.
10
Se puede utilizar:
repo = git.Repo('c:/SomeRepo')
repo.git.reset('--hard')
O si es necesario restablecer a una rama específica:
repo.git.reset('--hard','origin/master')
O en mi caso, si desea actualizar sólo difícil un acuerdo de recompra a origen/maestro (advertencia, esto nukeará sus cambios actuales):
# blast any current changes
repo.git.reset('--hard')
# ensure master is checked out
repo.heads.master.checkout()
# blast any changes there (only if it wasn't checked out)
repo.git.reset('--hard')
# remove any extra non-tracked files (.pyc, etc)
repo.git.clean('-xdf')
# pull in the changes from from the remote
repo.remotes.origin.pull()
1
Y Puede usar:
repo = git.Repo('repo')
# ...
# Remove last commit
repo.head.reset('HEAD~1', index=True, working_tree=True)
Cuestiones relacionadas
- 1. ¿Cómo reinicio git --hard HEAD en Mercurial?
- 2. ¿Hay alguna diferencia entre el reinicio de git --hard HEAD y git checkout ?.
- 3. git --follow registro, la forma gitpython
- 4. restore - git reset --hard HEAD^
- 5. Usando el módulo GitPython para obtener la rama HEAD remota
- 6. Equivalente a "git reset --hard" con SVN
- 7. Cómo hacer un reinicio continuo de un grupo de mongres
- 8. ¿Cómo reinicio un UINavigationController?
- 9. Recuperar archivos que se agregaron al índice pero luego se eliminaron mediante un reinicio de git
- 10. Cómo forzar un reinicio empujar al repositorio remoto?
- 11. Cómo git reset --hard todo menos 4 archivos
- 12. Usando git, ¿cómo hacer 'usar el suyo' durante un conflicto?
- 13. Git: reset --hard ahora estoy atorado en el pasado
- 14. GitPython obtén el objeto tree y blob por sha
- 15. git reset --hard HEAD deja archivos sin seguimiento detrás de
- 16. ¿Cómo reinicio después de un zoom UIScrollView?
- 17. ¿Cómo reinicio un CancellationToken correctamente?
- 18. ¿Cómo reinicio los dispositivos USB usando la API de Windows?
- 19. Reinicio de un hilo en .NET (usando C#)
- 20. ¿Cómo reinicio un Phusion Passenger Standalone?
- 21. Git push failed after 'git reset --hard HEAD ~ 1' of repo local
- 22. ¿Hay alguna diferencia entre "git reset --hard hash" y "git checkout hash"?
- 23. ¿Cuál es la diferencia entre "git checkout -f" y "git reset --hard HEAD"?
- 24. ¿Cómo desinstalar un repositorio git usando pip?
- 25. ¿Cómo hacer que sbt compile un complemento de un repositorio git, usando https para verificarlo?
- 26. Hacer referencia al hijo de un cometen en Git
- 27. ¿Cuál es la diferencia entre git reset --mixed, --soft, y --hard?
- 28. ¿Cuál es la diferencia entre git reset --hard y git reset --merge
- 29. ¿Cómo reinicio o reinicio las propiedades de una clase?
- 30. "git checkout tag-name" frente a "git reset --hard tag-name"