2012-04-06 6 views
32

Ich habe eine Filiale mit aktuellen Quellen und ich habe keine Commits für eine lange Zeit gemacht zu beherrschen, und im Moment ist es völlig veraltet. Ich möchte nur den Inhalt des Masters durch den Inhalt meiner Filiale ersetzen. Eine Möglichkeit besteht darin, sowohl den Zweig als auch den Master zu überprüfen, den Inhalt des Masters zu löschen und Inhalte von Zweig zu Master zu kopieren und danach das Ergebnis an den Master zu übertragen.Git - Zweig zum Master verschieben

Es funktioniert, aber ich glaube, dass es etwas git Befehl geben muss, es auf eine einfachere Weise zu tun.

Weiß jemand, wie man es macht?

+0

Woher wissen Sie, dass es nichts wert auf dem Master ist? Sie können mit 'git log branch..master' prüfen, ob es Commits auf dem Master gibt, nicht auf dem Zweig. Wenn es welche gibt, dann 'git checkout master; git merge branch 'würde die Änderungen dieser Commits beinhalten. – Kent

Antwort

56

Sie können den folgenden Befehl verwenden Master Punkt an einen neuen Ort zu haben:
git branch -f master branchToMoveMasterTo

Was dies tatsächlich tut, ist eine Niederlassung zu schaffen genannt master, die branchToMoveMasterTo verweist. Da wir bereits einen Zweig namens Master haben, brauchen wir das -f Flag, um zu sagen, dass wir das Original löschen wollen master

+0

Diese Antwort sollte definitiv akzeptiert werden! – user984621

+4

danke jesus – dezman

+0

Das funktioniert gut. Aber gibt es einen Weg, die Geschichte des alten Meisters zu bewahren? Ich meine, wie kann es wie ein gewöhnliches Commit aussehen, ändert sich aber alles? –