2016-06-29 5 views
0

Vor nicht so langer Zeit hatte ich zwei Niederlassungen, master und dev, als ich dachte - whoa, ich muss dev Zweig versaut haben.Vertauschen von Ästen und Entfernen der alten

So habe ich git revert zu einigen früheren Festschreibung und neue Zweig erstellt - dev2. Ich habe tatsächlich einen Fehler gemacht und bin zu einem Commit vom Master zurückgekehrt, dann habe ich den richtigen Commit von dev ausgecheckt, also stammt der Zweig vom master Zweig. Das sollte kein Problem sein, denke ich.

Ok, also ich habe dev Zweig, der nicht abgezogen wird (ich kann es nicht ziehen - es ist kaputt, wie ich erwähnte), und dev2 Zweig, der ok ist und funktioniert, aber stammt von Master.

Ich möchte dev Zweig entfernen und dev2 zu dev umbenennen. Entfernen dev Zweig sagt mir, dass ich nicht kann, weil ich einige nicht zusammengesetzte Änderungen (true) habe, und ich bin mir nicht sicher, ob das Entfernen der Zweigstelle meinem Repo Schaden zufügen wird.

Wie kann ich diese sicher austauschen?

+2

Zwei Meta Kommentare möchte ich machen: 1) eine Art git tree visualizer wie [gitx] (http://gitx.frim.nl) (Mac) oder [gitg] (https: // wiki .gnome.org/Apps/Gitg /) (Linux) - es gibt nichts Vergleichbares, um Verwirrung zu vermeiden. Ich mache fast nie etwas, das Verzweigungen oder Verschmelzungen ohne eine beinhaltet. 2) Bevor du irgendwas riskantes machst, musst du 'git branch foo' einen" checkpoint "namens foo erstellen. Auf diese Weise können Sie, egal wie birnig die Dinge sind, immer zurückkommen. –

Antwort

0

Nicht zu viel in Ihre Geschichte zu lesen, ist es möglich für Sie eine Git-Zweig -D auf dev zu tun, um es wirklich zu löschen, dann benennen Sie Ihre dev2 zu dev. Obwohl es für mich nicht klar ist, ob du Dev in deinen Dev-Zweig ziehen kannst, kannst du ziehen --rebase, um deine Änderungen auf dev zu setzen und dann wieder hochzudrücken - nicht sicher, weil ich nicht die ganze Geschichte über Dinge, die hinzugefügt/rückgängig gemacht wurden, befolge und wo sie gemacht wurden.

0

Um Entwickler aus dem Weg zu bewegen, so dass Sie dann dev2 umbenennen -> dev würden Sie:

git branch -m dev dev-gebrochen

und dann

git branch -m dev2 dev

Auf diese Weise haben Sie den gebrochenen Zweig noch ein wenig länger, bis Sie entscheiden, es zu löschen.

Verwandte Themen