2014-11-20 22 views
6

Hallo Ich bin ein Neuling zu git und ich verstehe nicht, was der grundlegende Unterschied zwischen git reset und git revert ist. Wird git revert die Verschmelzung zurückgesetzt?Was ist der Unterschied zwischen git reset und git revert?

+0

möglich Duplikat von [Was ist der Unterschied zwischen Git Revert, Checkout und Reset?] (Http://stackoverflow.com/questions/8358035/whats-the-difference-between-git-revert-checkout-and-reset) –

+0

Ja, ich habe die Lösung hier sowie auf den Link, den Sie erwähnt, nachdem ich bald die Frage – arachnid

Antwort

24

Soweit ich weiß, machen sie ganz andere Sache.

git revert zielte darauf ab, Effekte von früheren Commit zurückzusetzen. Zum Beispiel

A <- B <- C 
     ^HEAD 

Wenn fand ich BI vor falsch ist verpflichtet, und ich will "rückgängig machen" seine Veränderung, git-revert -ing B verursacht:

A <- B <- C <- B' 
      ^HEAD 

für die B' die Änderung rückwärts fährt getan in B.

git reset ist geradlinig, ist es einfach, den Kopf zu einer bestimmten Einstellung begehen,

A <- B <- C 
     ^HEAD 

git-reset -ting zu B geben Ihnen

A <- B <- C 
    ^HEAD 
+0

geschrieben hatte Danke, es half !!! – arachnid

+0

Überlegen Sie, die Antwort zu akzeptieren, wenn sie korrekt und hilfreich ist. –

+0

Oh ja sicher .. Akzeptiert – arachnid

0

Git Reset -> bewegen, um die Spitze eines Zweigs zu einem anderen begehen. Dies kann verwendet werden, um Commits aus dem aktuellen Zweig zu entfernen. Er verschiebt den Zweig durch Commits rückwärts. Git Revert -> macht ein Commit rückgängig, indem es ein neues Commit erstellt. Dies ist eine sichere Möglichkeit, Änderungen rückgängig zu machen, da es keine Möglichkeit gibt, den Commit-Verlauf neu zu schreiben.

Verwandte Themen