ディレクトリの名前を変更するために master から分岐した Git を使用するプロジェクトがあります。
ブランチでの名前変更は期待どおりに機能します。マスター ブランチに戻ると、ディレクトリには元の名前が付いていますが、ブランチに変更した名前の空のディレクトリ ツリーもあります。
これは予想される動作ですか?手順がありませんか?
これらの空のディレクトリ ツリーが表示されたら削除する必要がありますか?
私は、Git が空のディレクトリを追跡しないことを知っており、それがここでの要因かもしれません。
私の現在のワークフローは次のとおりです。
# 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'
私はこの時点に到達し、すべてが期待どおりです:
# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir
問題は、マスターに戻るときに発生します。
/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 は空のディレクトリ ツリーなので、git はそれを追跡しませんが、そこにあるのは見苦しいものです。