git和空文件夹

bweufnob  于 5个月前  发布在  Git
关注(0)|答案(9)|浏览(82)

所以我看到Git不识别文件夹,或者我应该说当提交之间唯一的变化是在工作树中添加空文件夹时,它们不会显示在git add .之后的git status中。
您将如何处理将空文件夹添加到工作树(用于运行时存储)的需求,并在其他存储库从当前存储库(添加文件夹的存储库)中拉取时反映/创建它们?

gwbalxhn

gwbalxhn1#

我通常将.gitignore放在这些目录中,因为您可能希望忽略任何运行时生成的数据。

7ajki6be

7ajki6be2#

人们经常在文件夹中放置一个空文件作为占位符来克服这个限制。

mbjcgjjk

mbjcgjjk3#

我通常把空的 .gitkeep 放在这些文件夹中。

xuo3flqw

xuo3flqw4#

你完全正确。Git和其他版本控制系统一样,不会识别空文件夹或文件夹的属性。只有当文件夹中有文件时,文件夹才存在。如果你想模拟这一点,你需要将占位符文件放入其中。

cwxwcias

cwxwcias5#

你应该意识到你正在要求你的源代码控制系统设置一些资源,这些资源不是源代码,不是你的构建系统的一部分,但是对你的应用程序的操作是必不可少的。我会做以下一件事:
1.使构建创建必要的目录。
1.让应用程序在运行时创建所需的目录。
类似地,如果应用程序想要追加到日志文件中,那么让日志文件在版本控制系统中开始是没有意义的,不是吗?

mbskvtky

mbskvtky6#

将空的占位符文件放入你希望git跟踪的文件夹中,或者如果可能的话,在构建系统中添加创建这些文件夹的说明。

9o685dep

9o685dep7#

我也面临着同样的问题。我认为这与Git跟踪更改的方式有关。它不跟踪文件,而是跟踪其内容。当显示更改时,提交或记录它将更改Map到特定的文件,并显示单个文件中的更改。查看此视频了解更多细节Tech Talk: Linus Torvalds on git Linus特别给出了一个关于将函数从一个文件移动到另一个文件的示例,以及git如何能够来追踪变化

6tqwzwtp

6tqwzwtp8#

对于Linux / MAC OSX,使用下面的一行程序,递归地创建/放入空的占位符文件到文件夹中,以防止它们被git忽略:

find . -type d -empty -not -path "./.git/*" -exec touch {}/.gitkeep \;

字符串
希望这对某人有帮助。

m4pnthwp

m4pnthwp9#

我在尝试使用git作为支持重复数据删除和压缩的备份工具时遇到了这个问题。
我的解决方案是创建自己的系统。
同样,我的目的是存储文件,而不是处理代码。

相关问题