Ich habe immer gedacht, dass git reset
y git checkout
in dem Sinne, dass beide das Projekt zu einem bestimmten Commit zurückbringen. Ich bin jedoch der Meinung, dass sie nicht genau dasselbe sein können, da dies überflüssig wäre. Was ist der eigentliche Unterschied zwischen den beiden? Ich bin ein wenig verwirrt, da das svn nur über svn co
um die Übergabe rückgängig zu machen.
HINZUFÜGEN
VonC und Charles erklärten die Unterschiede zwischen git reset
y git checkout
wirklich gut. Mein derzeitiges Verständnis ist, dass git reset
macht alle Änderungen an einer bestimmten Übertragung rückgängig, während git checkout
bereitet sich mehr oder weniger auf eine Niederlassung vor. Die folgenden beiden Diagramme waren für mich sehr hilfreich, um zu diesem Verständnis zu gelangen:
ZUSÄTZLICH 3
De http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html können Checkout und Reset die Umbasierung emulieren.
git checkout bar
git reset --hard newbar
git branch -d newbar