Frage

Ich habe ein Projekt mit Git, wo ich aus dem Master-verzweigt habe ein Verzeichnis umbenannt.

Die Umbenennungs in den Zweigwerken wie erwartet. Wenn ich an den Master-Zweig wechsle das Verzeichnis seine ursprünglichen Namen hat, aber es gibt auch einen leeren Verzeichnisbaum mit dem Namen, dass ich es in der Branche verändert.

Ist dies das erwartete Verhalten? Fehle ich einen Schritt?
Muss ich nur diese leeren Verzeichnisbäume löschen, wie sie erscheinen?

Ich weiß Git nicht leere Verzeichnisse nicht verfolgen und dass ein Faktor hier.

Meine aktuelle Workflow ist:

# create and checkout a branch from master
/projects/demo (master)
$ git checkout -b rename_dir

# update paths in any affected files

# perform the rename
/projects/demo (rename_dir)
$ git mv old_dir new_dir

# add the modified files
/projects/demo (rename_dir)
$ git add -u

# commit the changes
/projects/demo (rename_dir)
$ git commit -m 'Rename old_dir to new_dir'

ich zu diesem Punkt und alles ist wie erwartet:

# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir

Das Problem kommt, wenn ich zurück zum Master wechseln:

/projects/demo (rename_dir)
$ git checkout master

# master contains old_dir as expected but it also
# includes the empty directory tree for new_dir
/projects/demo (master)
$ ls
old_dir new_dir

neues_verz ist ein leerer Verzeichnisbaum, so git wird es nicht verfolgen -. Aber es ist hässlich dort zu haben

War es hilfreich?

Lösung

Ja, Sie können es entfernen. Sie können auch git clean -d verwenden, um das Verzeichnis zu entfernen.

Andere Tipps

Es ist ziemlich wahrscheinlich, dass Sie versteckte Dateien im neuen Verzeichnis. "Ls -a newdir"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top