Tytuł jest oczywisty. Jaki będzie kod Pythona równoważny uruchomieniu git reset --hard
(na terminalu) przy użyciu modułu GitPython?Jak zrobić reset git --hard używając gitPython?
7
A
Odpowiedz
6
Szukałem reset
w the documentation i znalazł this:
class git.refs.head.HEAD(repo, path='HEAD')
reset(commit='HEAD', index=True, working_tree=False, paths=None, **kwargs)
Wyczyść naszej głowie, aby dana popełnić ewentualnie synchronizacji indeksu i drzewa pracy. Odwołanie, do którego odnosimy się, zostanie również ustawione w celu zatwierdzenia.
10
Można użyć:
repo = git.Repo('c:/SomeRepo')
repo.git.reset('--hard')
lub jeśli trzeba przywrócić do konkretnego oddziału:
repo.git.reset('--hard','origin/master')
lub w moim przypadku, jeśli chcesz po prostu ciężko zaktualizować repo do origin/master (ostrzeżenie, spowoduje to utratę bieżących zmian):
# 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 możesz użyć:
repo = git.Repo('repo')
# ...
# Remove last commit
repo.head.reset('HEAD~1', index=True, working_tree=True)
Powiązane problemy
- 1. Równoważnik "git reset --hard" z SVN
- 2. Jaka jest różnica między `git reset --hard master` i` git reset --hard origin/master`?
- 3. "git checkout tag-name" vs "git reset --hard tag-name"
- 4. Jak mogę zapisać lokalne zmiany, które przetrwają reset git --hard
- 5. git log --follow, sposób gitpython
- 6. Git push nie powiodło się po "git reset - hard HEAD ~ 1" lokalnego repo
- 7. reset git --hard wisi na CircleCI/Ubuntu 14 z git-lfs <1.5.6
- 8. Git reset = fatal: nie można odczytać drzewa
- 9. git reset - ignorowanie konkretnych nieśledzonych plików
- 10. Jakie jest znaczenie resetowania git - hard origin/master?
- 11. Czy istnieje hak git, który działa na reset git?
- 12. Jaka komenda git nie zrobić z „git zresetować --har”
- 13. Jak mogę zresetować git - hard HEAD na Mercurial?
- 14. Uwierzytelnianie gitpython git za pomocą użytkownika i hasła
- 15. Reset Git - trudne i zdalne repozytorium
- 16. Jak zrobić "git commit --amend" używając GitHub na Maca
- 17. Jak to zrobić, używając guawy?
- 18. Jak mogę odzyskać dane po resecie git --hard
- 19. Jak sprawdzić oddział za pomocą GitPython
- 20. Jaka jest różnica między "reset git" a "git rebase"?
- 21. Jak zrobić dyrektywę, używając filtrowanych atrybutów HTML?
- 22. używając git do zdjęć
- 23. Jak jest zdefiniowany Hard Sigmoid
- 24. Git commit lost po resecie --hard. Nie znaleziono go przez fsck, nie w reflogu
- 25. Po git zresetować --hard głowy, git pull wciąż mówi: nieśledzonej pracuje plik drzewo ... byłyby zastępowane przez seryjnej
- 26. Jak można "git bisect skip" zrobić w TortoiseGit?
- 27. Używanie modułu GitPython do uzyskania zdalnego oddziału HEAD
- 28. Co ciągnie git. zrobić?
- 29. Jak mogę pobrać zdalne repozytorium za pomocą GitPython?
- 30. Mercurial (hg) równoważne reset git (--mixed lub --soft)