2010-01-18 3 views
20

Ich arbeite derzeit an einer Funktion, die größer ist als erwartet, also ist es wahrscheinlich am besten, eine Verzweigung zu erstellen, um daran zu arbeiten. Also muss ich einen neuen Zweig von meinem aktuellen Arbeitsverzeichnis erstellen und den Master-Zweig auf den aktuellen HEAD zurücksetzen, damit einige Korrekturen an der Produktionsumgebung vorgenommen werden können.Erstelle eine Verzweigung vom aktuellen Arbeitsbaum und setze ihn auf HEAD zurück

Irgendwie hört sich das nach einer leichten Aufgabe an, aber ich kann es nicht genau herausfinden. Möglicherweise wegen meines Schlafmangels.

Antwort

20

So erstellen Sie einen Arbeitszweig:

git checkout -b working_branch 

entweder begehen oder verstauen Sie Ihre Änderungen

git add <files> 
git commit -m "message" 

ODER

git stash 

zurück zu meistern Zum

git checkout master 
git reset HEAD 
+2

Es ist sinnlos, 'git reset HEAD' sofort nach dem' checkout' zu machen. Es wird keine Änderungen im Index geben, das Auschecken einer Verzweigung aktualisiert den Index auf die ausgecheckte Verzweigung. –

+0

Das ist ein bisschen ein Overkill, vorausgesetzt, Sie verpflichten sich in der neuen Branche, sollte der Arbeitsbaum sauber sein. –

+0

'git checkout -b working_branch' Dies wird fehlschlagen, wenn Sie nicht festgeschriebene Änderungen haben. – user1712447

13

Wenn Sie noch kein Commit durchgeführt haben, brauchen Sie den Master nicht zu verschieben, es befindet sich bereits auf dem aktuellen HEAD. Sie können nur einen neuen Zweig mit checkout -b auschecken, es braucht Ihren Arbeitsbaum nicht, um sauber zu sein.

z.

git checkout -b newtopic 

Sie sind jetzt auf newtopic und können Ihre Arbeits Baum Änderungen hier begehen. master muss nicht verschoben werden.

Verwandte Themen