2015-08-20 6 views

Antwort

11

Nicht festgeschriebene Änderungen von einem Zweig zum anderen bewegen. Um sie getrennt zu halten, müssen Sie diese Änderungen vornehmen, bevor Sie in einen anderen Zweig wechseln. Wenn Sie zu Ihrer Zweigstelle zurückkehren, können Sie diese Änderungen mit apply abrufen.

Wie unten zu sehen:

>$ git status 
On branch branch_1 
Your branch is up-to-date with 'origin/branch_1'. 

modified: dir/file.rb 
>$ git stash 
>$ git checkout <branch_2> 

>$ git checkout <branch_1> #after finishing your tasks in branch_2 you can go back to branch_1 
>$ git stash apply 

Jetzt werden Sie die Änderungen zurück zuvor in branch_1 getan haben

+3

* "untracked commits" *? Sie meinen wahrscheinlich "nicht festgeschriebene Änderungen". Und sie bewegen sich nicht von einem Ast zum anderen. Sie befinden sich nicht in einem Zweig, da sie sich nicht im Repository befinden (sie sind noch nicht festgelegt). – axiac

+1

Ja, die nicht festgeschriebenen Änderungen werden in keinem Zweig vorgenommen, so dass sie in anderen Zweigstellen verfügbar sind, wenn Sie auschecken. –

4

I-Zweig A Kasse die Datei ändern und wenn ich Master Kasse wieder die Änderungen dort genauso.

Die Änderungen, die nicht festgeschrieben werden, gehören keinem Zweig an. Sie sind nur im Arbeitsbaum vorhanden (und im Index, wenn sie hinzugefügt wurden).

Es ist eine gute Übung, einen sauberen, funktionierenden Baum zu haben, wenn Sie Zweige wechseln, um Probleme zu vermeiden, wenn die Änderungen im Arbeitsbaum mit den Unterschieden zwischen den vermittelten Zweigen in Konflikt stehen.

Da Zweig A gerade erstellt wurde und Sie nicht begangen hat nichts drauf und weder auf master, der Zweig A Punkte auf derselben verpflichten wie master und das Umschalten zwischen A und master müssen keine Änderungen an der Arbeit Baum. Deshalb können Sie die Zweige wechseln, ohne in Konflikt zu geraten.

Um die Änderungen setzen Sie sich in einem Zweig habe gerade (sagen wir mal die ausgecheckt Zweig ist A) Sie die dem Index hinzuzufügen haben sie dann begehen:

git add . 
git commit 

Lesen Sie mehr über git add und git commit.