远程删除的Git文件夹不会在提取时删除本地

时间:2019-04-17 11:43:45

标签: git atlassian-sourcetree

我的一张拼贴画重新组织了我们在Git中的一个项目,这导致以前在那里删除了几个目录。今天早晨,当我使用“源树”从开发中撤出时,已删除目录中的文件已消失,但这些目录仍保留在本地副本上。有没有办法在发生这种情况时可以在拉出时删除目录?

这可能是一个重复的问题,但是我能找到的一切都在解决恢复已删除的文件。

1 个答案:

答案 0 :(得分:1)

Git跟踪文件,而不是目录。因此对于git来说,不存在一个空目录。

但是,您可以使用git clean -df命令删除所有未跟踪的文件和目录。不过请小心,因为这也会删除所有未跟踪的文件

从手册页:

Cleans the working tree by recursively removing files that are not under version control, starting from the current directory.

Normally, only files unknown to Git are removed, but if the -x option is specified, ignored files are also removed. This can, for example, be useful to remove all build products.

If any optional <path>... arguments are given, only those paths are affected.

-d

    Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different Git repository, it is not removed by default. Use -f option twice if you really want to remove such a directory.

-f, --force

    If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless given -f, -n or -i. Git will refuse to delete directories with .git sub directory or file unless a second -f is given.

-i, --interactive

    Show what would be done and clean files interactively. See "Interactive mode" for details.

-n, --dry-run

    Don't actually remove anything, just show what would be done.