2016-06-08 10 views
0

Ich habe ein Github-Repository vom Client, wo es keinen Code gibt. Ich habe dieses Repository geklont und meinen Code-Ordner in dieses Repository eingefügt und den Code an git übergeben. Aber jetzt muss ich mein Commit zurücknehmen. Dazu habe ich die folgenden Schritte:Wie stelle ich meine letzten beiden Pushs (commit und revert) in github wieder her?

git revert xxxxxxxxxxxxxxxx(commit) 

git add . 

git commit -a -m "reverted back" 

git push origin master 

Danach ich meine Github Seite ging, dort finde ich Projektordner mit app/views, Config, db, log, öffentliche, tmp Ordner, in denen revert nicht richtig gemacht wird .

Wie rückgängig machen meine letzten 2 commits (sowohl commit und revert) und zurück zum Haupt-Repository wie es ist?

Bitte helfen Sie mir, ich mache mir Sorgen.

+0

Sie fügen Ihre Änderungen zurück, nachdem Sie das Commit rückgängig machen – danielunderwood

+0

Also sagen Sie, dass Sie die Rücksetzen Commit rückgängig machen möchten? –

+0

Ich möchte das Zurücksetzen commit und das Push-Commit (das vor dem Zurücksetzen getan wird) auch rückgängig machen. – venkat

Antwort

2

Der einfachste Weg ist nur zu Hard Reset vor dem schlechten zu begehen:

git reset --hard xxxxxxxxxxxxxxxx^ 
git push -f origin <your-branch-name> 

Es xxxxxxxxxxxxxxxx Ihre sha ist, dass Sie in der ersten Zeit zurückgekehrt. Beachten Sie die ^ vor xxxxxxxxxxxxxxxx. Dies bedeutet, dass Sie auf das Commit vorxxxxxxxxxxxxxxxx zurückgesetzt haben.

Oder können Sie genaue Hash angeben zurückgesetzt, dh

git reset --hard A 

vor dem Zurücksetzen Ihrer Branche sucht wie:

A -> xxxxxxxxxxxxxxxx -> B(bad) 

Nach git reset --hard xxxxxxxxxxxxxxxx^

A 

git push -f origin <your-branch-name> Ihre lokale schiebt Änderungen im vorherigen Schritt zum Github se rver

Seien Sie vorsichtig mit Force Pushing, da Sie Ihren lokalen Repository-Status auf dem Server erzwingen. So verlieren Sie Server-Status für immer

+0

Hier muss ich die letzten 2 Commits zurücksetzen. Können wir 'git reset --hard xxxxxxxxxx' zwei mal verwenden und dann' git push -f origin maste'r (wie ich zum Master geschoben habe)? – venkat

+0

@venkat, Reset ist absolut, nicht relativ. Siehe auch meine Bearbeitung – Lol4t0

+0

Nachdem ich zurückgesetzt habe, kann ich 'git push -f origin master' richtig benutzen? – venkat

Verwandte Themen