Gitは:ブランチでディレクトリの名前を変更します
質問
私は、ディレクトリの名前を変更するには、マスターから分岐しましたGitリポジトリを使用してプロジェクトを持っています。
期待通りに分岐作品に改名。私は戻ってmasterブランチに切り替えると、ディレクトリは、元の名前を持っていますが、私はブランチ内にそれを変更した名前で空のディレクトリツリーもあります。
これは正常な動作ですか?
私はステップ足りない?
私はちょうど彼らが表示されるように、これらの空のディレクトリツリーを削除する必要がありますか?
私は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はそれを追跡しません - 。しかし、それはそこに持って醜いです。
解決
はい、あなたはそれを削除することができます。また、ディレクトリを削除するgit clean -d
を使用することができます。
他のヒント
それはあなたが新しいディレクトリ内のファイルを隠していることはなく、可能性があります。 "LS -a newdirが"
所属していません StackOverflow