Ho un progetto che utilizza Git in cui ho diramato il master per rinominare una directory.Git: Rinomina di una directory in un ramo
La ridenominazione nel ramo funziona come previsto. Quando torno al ramo master, la directory ha il suo nome originale, ma c'è anche un albero di directory vuoto con il nome che ho modificato nel ramo.
È questo il comportamento previsto? Mi manca un passaggio?
Devo solo cancellare questi alberi di directory vuoti così come appaiono?
So che Git non tiene traccia delle directory vuote e questo potrebbe essere un fattore.
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'
ho arrivare a questo punto e tutto è come ci si aspetta:
# 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 vuoto, quindi git non lo seguirà, ma è brutto avere lì.
FWIW, non ho questo comportamento con 1.6.3.1: new_dir è scomparso dopo il checkout finale del master. Che versione stai usando? –
Sto usando msysgit 1.6.4 – jmohr
Ci sono file nascosti non tracciati * in new_dir? –