2010-10-15 8 views
5

Ich laufe msysgit 1.7.3.1. Wenn ich Stash apply starte und es einen Konflikt gibt, werden alle meine Stash-Änderungen inszeniert. Ist das das richtige Verhalten? Ich fand es ein wenig überraschend.Git stash Fragen

Eine andere Frage: Wenn ich 10 Dateien gebunkert haben, und es gibt einen Konflikt in einem der ihnen wird Abbruch bunkern gelten, wenn es einen Konflikt hat, oder wird es gelten alle Nicht-Konflikt-Dateien.

Schließlich, wenn ich wie folgt vorgehen:

git stash 
git pull 
git stash apply 

und ein anderer Entwickler hat eine Datei entfernt, die ich versteckt habe, dann bin ich nicht in der Lage, die Stash auf diese Datei anzuwenden. Wie kann ich meine Änderungen aus dem Versteck abrufen?

Danke!

+0

Link zu Interessenten: http://article.gmane.org/gmane.comp.version-control.git/159136 – alternative

Antwort

6

Der Index wird verwendet, um anzuzeigen, dass diese Dateien keine Konflikte enthielten. Ihre widersprüchlichen Dateien sollten nicht im Index enthalten sein.

re die 10 Dateien. Stash fügt die restlichen 9 zum Index hinzu. Beheben Sie den Konflikt in der verbleibenden Datei. Fügen Sie es dem Index hinzu. Dann begehen.

Die Änderungen aus dem Versteck, die fehlen. Sie können Ihre Datei mit einem Git-Checkout (stash-SHA1 oder eine andere Referenz>) - Dateispezifikation

Sie können auch Ihre Stash zu einem Zweig, den Sie dann auschecken können und mehr Dinge mit.

hoffe, das hilft

+2

OK, ich verstehe. Der Index wird verwendet, um Dateien zu verfolgen, die keine Konflikte aufweisen. Wie auch immer, mein Workflow ist normalerweise wie folgt: – Jacko

+3

mein Workflow ist normalerweise wie folgt: 1) Arbeiten an etwas, so arbeiten dir ist schmutzig 2) wollen jemandes Änderungen ziehen 3) Versteck 4) ziehen 5) Versteck Anwendung 6 weiter arbeiten. Ich bin normalerweise nicht bereit, mich nach dem Stash zu verpflichten, deshalb ist es unerwartet, meine Stash-Dateien inszenieren zu lassen. – Jacko

+1

Und danke für die Erklärung, BTW. – Jacko