Question

J'ai un projet à l'aide Git où j'ai bifurqué de maître renommer un répertoire.

Le changement de nom dans les travaux de la branche comme prévu. Quand je Revient à la branche principale du répertoire a son nom d'origine, mais il y a aussi un arbre répertoire vide avec le nom que je l'ai changé dans la branche.

Est-ce le comportement attendu? Est-ce que je manque une étape
Ai-je besoin de supprimer simplement ces arbres répertoire vide comme ils apparaissent?

Je sais que Git ne suit pas les répertoires vides et qui peut être un facteur ici.

Mon flux de travail actuel est:

# 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'

Je reçois à ce point et tout est comme prévu:

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

Le problème vient quand je reviens au maître:

/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

new_dir est un arbre répertoire vide, donc git ne le suivre -. Mais il est moche d'avoir là-bas

Était-ce utile?

La solution

Oui, vous pouvez le supprimer. Vous pouvez également utiliser git clean -d pour supprimer le répertoire.

Autres conseils

Il est assez probable que vous avez des fichiers cachés dans le nouveau répertoire. "Ls -a newdir"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top