2016-04-04 6 views
2

Ich habe Git seit ein paar Jahren verwendet. Entweder sind einige Gehirnzellen gestorben oder etwas anderes passiert. Bitte bei mir tragen.Dateien, die in jeder Branche in git angezeigt werden

Ich habe ein paar Zweige erstellt. Wenn ich zu einer Verzweigung wechsle, z. B. git checkout example1, und eine Datei erstellen: touch test, dann zu einer anderen Verzweigung wechseln, git checkout example2, test erscheint jetzt in der Verzweigung example2. Das habe ich nicht erwartet. Ist das normal? Wenn nicht, was könnte das verursachen?

Antwort

2

Die Datei wird nicht von git verfolgt. Wenn Sie also Zweige wechseln, weiß git nicht, mit welchem ​​Zweig diese Datei verknüpft werden soll, und deshalb werden un-versionierte Dateien mit Ihnen verschoben, wenn Sie Zweige wechseln.

Um loszuwerden Ihr Problem zu bekommen, entweder die Datei Test oder begehen sie entfernen, wenn Sie auf Ihrer gewünschten Filiale sind.

2

Solange Sie keine Änderung festschreiben, bleibt sie an verschiedenen Kassen sichtbar. Beim Auschecken eines anderen Zweigs werden nicht versionierte Dateien im Arbeitsverzeichnis nicht gelöscht.

Wenn Sie die Testdatei auf Ihrem example1-Zweig festschreiben und dann zu example2 wechseln, sollte alles wie erwartet funktionieren.

2

Dies ist normales, erwartetes Verhalten. git verfolgt neue Dateien nicht automatisch - Sie müssen es mit git add/git commit teilen. Wenn Sie eine neue Datei erstellen, sagen Sie nicht git, um es zu verfolgen, und wechseln Sie dann Zweige, git wird sich nicht beschweren - diese Datei tut nichts oder verursacht keinen Schaden. Solange der Dateiname nicht in Konflikt mit einer Datei steht, die im Zweig example2 festgeschrieben wurde, wird diese nicht gekerbte Datei so glücklich wie eine Muschel sitzen, bis Sie sich entscheiden, sie dem Repo hinzuzufügen.

Verwandte Themen