Domanda

Ho un progetto che utilizza Git dove ho diramava di master per rinominare una directory.

La ridenominazione nelle opere di filiale come previsto. Quando ho tornare al ramo principale della directory ha il suo nome originale, ma c'è anche un albero di directory vuota con il nome che ho cambiato nel ramo.

E 'questo il comportamento previsto? Mi sto perdendo un passo?
Ho solo bisogno di eliminare questi alberi di directory vuote come appaiono?

Lo so Git non tiene directory vuote e che può essere un fattore di qui.

Il mio flusso di lavoro corrente è:

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

I arrivare a questo punto e tutto è come previsto:

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

Il problema arriva quando passo indietro da padroneggiare:

/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 è un albero di directory vuota, quindi git non seguirlo -. Ma è brutto avere lì

È stato utile?

Soluzione

Sì, è possibile rimuoverlo. È inoltre possibile utilizzare git clean -d per rimuovere la directory.

Altri suggerimenti

E 'piuttosto probabile che si dispone di file nascosti nella nuova directory. "Ls -a newdir"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top