Is it possible to make git to track empty folders?
我从这篇文章中了解到,要让Git跟踪文件夹,必须至少有一个空文件:
1 2 3 4 5 6 7 8 9 10 11 | Currently the design of the Git index (staging area) only permits files to be listed and nobody competent enough to make the change to allow empty directories has cared enough about this situation to remedy it. Directories are added automatically when adding files inside them. That is, directories never have to be added to the repository, and are not tracked on their own. You can say"git add <dir>" and it will add the files in there. If you really need a directory to exist in checkouts you should create a file in it. |
我遇到了一些问题,因为Git没有跟踪空文件夹,我列出了一些:
问题1:
我的Git存储库中有一个
当我把它推到服务器上运行这个网站时,它没有工作。在我的本地系统中它工作得很好。经过大量的研究,我发现
问题2:
我有很多书。只有我的一个分支机构说
有时目录
分支
如果我做
通常我通过在文件夹中放置一个空文件(
任何帮助都将被重视。:)
如果文件夹真的是空的,答案是"否"。这是不可能的,因为Git是如何处理数据的。
但是,如果您可以接受一些妥协:只需创建一些文件,比如.gitignore或目录中您希望看到的任何内容,就可以完成了。自述文件可以是一个解决方案,但我个人不会使用这个名称,因为这会使人们认为这些文件中有内容,从而产生混淆。
了解如何将空目录添加到Git存储库中?一个非常相似的问题。
就我个人而言,我通常通过在每个目录中都有一个名为
但是,如果您需要在签出之后创建特定的、空的目录,这些目录可能是特定于特定分支的目录,我建议按顺序创建git后签出挂钩-您可以在顶层目录中列出需要和不需要的空目录,并且使用大约5行python如果需要,请创建它们,并删除那些不需要的。
我可能会在第一个字符中使用
类似(添加了错误处理):
1 2 3 4 5 6 7 8 9 10 11 12 | import os dirlist = open("Dirlist.Name","rt") for line in dirlist: flag = line[0] name = line[1:].strip() if flag == '+': os.makedirs(name) elif flag == '-': os.removedirs(name) else: print"Ignored:", line |