所以我看到Git不识别文件夹,或者我应该说当提交之间唯一的变化是在工作树中添加空文件夹时,它们不会显示在git add .之后的git status中。您将如何处理将空文件夹添加到工作树(用于运行时存储)的需求,并在其他存储库从当前存储库(添加文件夹的存储库)中拉取时反映/创建它们?
git add .
git status
gwbalxhn1#
我通常将.gitignore放在这些目录中,因为您可能希望忽略任何运行时生成的数据。
.gitignore
7ajki6be2#
人们经常在文件夹中放置一个空文件作为占位符来克服这个限制。
mbjcgjjk3#
我通常把空的 .gitkeep 放在这些文件夹中。
xuo3flqw4#
你完全正确。Git和其他版本控制系统一样,不会识别空文件夹或文件夹的属性。只有当文件夹中有文件时,文件夹才存在。如果你想模拟这一点,你需要将占位符文件放入其中。
cwxwcias5#
你应该意识到你正在要求你的源代码控制系统设置一些资源,这些资源不是源代码,不是你的构建系统的一部分,但是对你的应用程序的操作是必不可少的。我会做以下一件事:1.使构建创建必要的目录。1.让应用程序在运行时创建所需的目录。类似地,如果应用程序想要追加到日志文件中,那么让日志文件在版本控制系统中开始是没有意义的,不是吗?
mbskvtky6#
将空的占位符文件放入你希望git跟踪的文件夹中,或者如果可能的话,在构建系统中添加创建这些文件夹的说明。
9o685dep7#
我也面临着同样的问题。我认为这与Git跟踪更改的方式有关。它不跟踪文件,而是跟踪其内容。当显示更改时,提交或记录它将更改Map到特定的文件,并显示单个文件中的更改。查看此视频了解更多细节Tech Talk: Linus Torvalds on git Linus特别给出了一个关于将函数从一个文件移动到另一个文件的示例,以及git如何能够来追踪变化
6tqwzwtp8#
对于Linux / MAC OSX,使用下面的一行程序,递归地创建/放入空的占位符文件到文件夹中,以防止它们被git忽略:
find . -type d -empty -not -path "./.git/*" -exec touch {}/.gitkeep \;
字符串希望这对某人有帮助。
m4pnthwp9#
我在尝试使用git作为支持重复数据删除和压缩的备份工具时遇到了这个问题。我的解决方案是创建自己的系统。同样,我的目的是存储文件,而不是处理代码。
9条答案
按热度按时间gwbalxhn1#
我通常将
.gitignore
放在这些目录中,因为您可能希望忽略任何运行时生成的数据。7ajki6be2#
人们经常在文件夹中放置一个空文件作为占位符来克服这个限制。
mbjcgjjk3#
我通常把空的 .gitkeep 放在这些文件夹中。
xuo3flqw4#
你完全正确。Git和其他版本控制系统一样,不会识别空文件夹或文件夹的属性。只有当文件夹中有文件时,文件夹才存在。如果你想模拟这一点,你需要将占位符文件放入其中。
cwxwcias5#
你应该意识到你正在要求你的源代码控制系统设置一些资源,这些资源不是源代码,不是你的构建系统的一部分,但是对你的应用程序的操作是必不可少的。我会做以下一件事:
1.使构建创建必要的目录。
1.让应用程序在运行时创建所需的目录。
类似地,如果应用程序想要追加到日志文件中,那么让日志文件在版本控制系统中开始是没有意义的,不是吗?
mbskvtky6#
将空的占位符文件放入你希望git跟踪的文件夹中,或者如果可能的话,在构建系统中添加创建这些文件夹的说明。
9o685dep7#
我也面临着同样的问题。我认为这与Git跟踪更改的方式有关。它不跟踪文件,而是跟踪其内容。当显示更改时,提交或记录它将更改Map到特定的文件,并显示单个文件中的更改。查看此视频了解更多细节Tech Talk: Linus Torvalds on git Linus特别给出了一个关于将函数从一个文件移动到另一个文件的示例,以及git如何能够来追踪变化
6tqwzwtp8#
对于Linux / MAC OSX,使用下面的一行程序,递归地创建/放入空的占位符文件到文件夹中,以防止它们被git忽略:
字符串
希望这对某人有帮助。
m4pnthwp9#
我在尝试使用git作为支持重复数据删除和压缩的备份工具时遇到了这个问题。
我的解决方案是创建自己的系统。
同样,我的目的是存储文件,而不是处理代码。