私はGitを使ってディレクトリを名前変更するために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はそれを追跡しませんが、そこにあるのは醜いです。
FWIW、私は1.6.3.1でその動作をしません:masterの最終チェックアウト後にnew_dirが消えました。どのバージョンを使用していますか? –
私はmsysgit 1.6.4を使用しています – jmohr
new_dirに隠されたuntracked。*ファイルはありますか? –