2017-01-13 3 views
0

Ich habe viele Änderungen in mein lokales Repository übernommen, aber ich möchte nur wenige davon pushen. Ist es möglich? Ich habe eine Liste (vor dem Push) mit all meinen Änderungen, aber ich muss nur wenige drücken. Ich möchte alle diese Änderungen von meinem lokalen Umlagerer zurückgeben. Ich habe Patches mit nur den Änderungen erstellt, die ich jetzt pushen möchte, aber jetzt kann ich keine Änderungen von meinem lokalen Repo entfernen. Ich habe versucht, git reset hard zu verwenden, aber es funktioniert nicht wie ich will.Git - konvertierte Änderungen vom lokalen Repository rückgängig machen

+0

Mögliche Duplikat tun [Wie drücken Sie nur einige Ihrer lokalen git begeht?] (Http://stackoverflow.com/ Fragen/604399/how-do-you-push-nur-einige-Ihrer-lokalen-git-commits) – sigy

+0

Auch verwandt: [git - pushing spezifischen commit] (https://stackoverflow.com/questions/3230074/ git-pushing-specific-commit) – sigy

+0

@sigy Ich denke, das OP-Problem ist anders, weil sie auch ihre lokale Geschichte ändern wollen – Dunno

Antwort

2

Wenn Sie wirklich, wirklich nur unerwünschte Commits löschen möchten, dann tun

git rebase -i <sha_of_commit_before_those_that_are_unwanted> 

und dann Zeilen löschen mit verpflichtet Sie loswerden wollen.

jedoch, bedenken, dass diejenigen begehen wird verschwinden und sie zurück bekommen könnte nicht möglich sein. Vielleicht schieben Sie diese Commits zuerst in einen temporären Remote-Zweig oder machen Sie einen lokalen Zweig mit ihnen?

Jetzt, wo Sie Ihre Commits losgeworden haben, können Sie eine einfache git push origin branch

+0

Nun, wenn ich einen temporären Zweig erstellen und Änderungen von lokalen Repo zu diesem Zweig festschreiben, als es mein Problem lösen sollte, habe ich recht? Es ist eine sichere Art, denke ich. – allocer

+1

@allocer Ja, eine lokale Zweigstelle wird auch Ihre Commits beibehalten. Ich ziehe es vor, für zusätzliche Sicherheit zur Fernbedienung zu schieben. – Dunno

+0

Ich habe eine neue lokale Niederlassung erstellt, drücke dort alle meine Änderungen, gehe zurück zum Hauptzweig und öffne Push-Fenster. Die lokalen Änderungen sind immer noch da wie zuvor. Wie löst man das? – allocer

Verwandte Themen