11

ディレクトリの名前を変更するために 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 はそれを追跡しませんが、そこにあるのは見苦しいものです。

4

2 に答える 2

10

はい、削除できます。git clean -dを使用してディレクトリを削除することもできます。

于 2009-08-11T16:37:30.623 に答える
1

新しいディレクトリに隠しファイルがある可能性が高いです。「ls -新しいディレクトリ」

于 2009-08-20T18:15:57.897 に答える