2016-09-06 3 views
2

Ich versuche, meine letzten 2 commits mit Git zu quetschen. In diesem Beispiel habe ich einen Zweig von einem anderen Zweig geschaffen haben genannt entwickeln, und ich habe 3 neue Commits, ist dies der git log:GIT - kann nicht squash commits: fatal: Benötigt eine einzige Revision

commit a350cf6071db1bcaa2a37710a61508565a34d917 
Author: tibbus 
Date: Tue Sep 6 11:49:19 2016 +0200 

    commit message #3 

commit 8c0384b995831e5a62b423721434005788b2eb63 
Author: tibbus 
Date: Tue Sep 6 11:49:01 2016 +0200 

    commit message #2 

commit 6eab9df2df71196d62dab3c6caed9cd0ac6aeee5 
Author: tibbus 
Date: Tue Sep 6 11:48:41 2016 +0200 

    commit message #1 
... 
more commits from develop... 

Deshalb möchte ich Squash # 3 und begehen # 2 in einer einzigen zu begehen zu begehen ich versuche:

git rebase -i HEAD˜2 

und ich bekomme diese Fehlermeldung:

fatal: Needed a single revision 
invalid upstream HEAD˜2 

Wenn ich tun:

git rebase -i develop 

Funktioniert gut, aber ich möchte nicht alle 3 Commits quetschen, ich will nur die neuesten 2. Ich habe gelesen, dass dieser Fehler erscheint, wenn Sie nicht genug Commits haben, aber ich habe definitiv ¯_ (ツ) _/¯

+0

Schreiben Sie bitte die Ausgabe von "' git log --oneline --graph --decorate' "? – Leon

+0

Hallo @Leon, danke für dein Interesse. Ich habe dieses Befehlsprotokoll in einem jsfiddle gespeichert, um einfacher zu lesen: https://jsfiddle.net/083kvr6b/2/ – tibbus

Antwort

1

Sie verwenden ein falsches ~ Symbol. ~ In Ihrem Befehl ist the small tilde Nicht-ASCII-Zeichen, während Sie das normale ASCII-Symbol tilde benötigen. Haben Sie es von irgendwo kopiert oder die ~ auf Ihrer Tastatur fügt ˜?

Kopieren & den Befehl aus meiner Antwort einfügen und es sollte ohne Probleme funktionieren:

git rebase -i HEAD~2 
1

Überprüfen Sie Ihre tilda (~). Scheint ein anderes ASCII zu sein und daher bittet die Git-Kommandozeile um eine Revision.

Verwandte Themen