我有使用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会不会跟踪它 - 但它的丑陋有就有

有帮助吗?

解决方案

是的,你可以将其删除。您还可以使用git clean -d删除目录。

其他提示

这是相当有可能,你必须在新目录中隐藏的文件。 “LS -a NEWDIR”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top