2016-09-19 2 views
0

Ich bin in demGit vor dem Meister, wie man die Änderungen in einen neuen lokalen Zweig bringt?

Your branch is ahead of 'origin/master' by 2 commits. 
(use "git push" to publish your local commits) 

Zustand nach der Herstellung und einige Veränderungen in meinem lokalen Master-Zweig zu begehen.

Wie kann ich die lokalen Änderungen in einen neuen Zweig aufnehmen?

Mein gewünschtes Ergebnis ist: local/Master ist mit Ursprung/Master synchronisiert, und ich habe einen lokalen Zweig mit den beiden Commits drin.

+1

Mögliche Duplikat von [Create Git Zweig mit aktuellen Änderungen] (http://StackOverflow.com/Questions/3899627/Create-Git-Branch-with-current-- Änderungen) –

Antwort

7

Erste

git checkout -b newBranchName 

dies wird eine Niederlassung schaffen, das gleiche wie der aktuellen Master das Sie arbeiten.

Danach,

git checkout master 

wird dies als Ihre aktuelle Zweig wählen Master.

Schließlich

git reset --hard origin/master 

dies wird diese 2 Commits von Master entfernen, aber sie werden immer noch in newBranchName

EDIT verfügbar sein: als @ShmulikKlein erwähnen, mit --hard vorsichtig sein .. Sie können immer verwenden --soft und dann verwerfen die Änderungen

1

@Matias ist richtig, aber zuerst sollten Sie sehr vorsichtig sein, wenn Sie git reset --hard verwenden, zusammen mit revretting die letzten 2 commits es löscht auch Ihr vollständig funktionierendes Verzeichnis und Ihren Staging-Bereich (aka, nicht-gestützte und nicht-committed Änderungen).

Zweitens denke ich, dass der letzte Schritt git reset --hard HEAD~2 sein soll, wenn Sie auf dem master Zweig sind, da Sie sind nur die letzten 2 Commits zurückkehren, da Sie nicht wissen, wie origin/master geändert wurde, da Sie die Frage posten ... (es sei denn, Sie überprüfen mit git status ...)

Verwandte Themen