我有一个使用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不会跟踪它 - 但是在那里很难看。
答案 0 :(得分:10)
是的,您可以删除它。您还可以使用git clean -d
删除目录。
答案 1 :(得分:1)
您很可能在新目录中隐藏了文件。 “ls -a newdir”