我如何将一个空的目录(不包含文件)添加到一个Git存储库中?
当前回答
在目录中创建一个名为.gitkeep 的空白文件,然后将其添加到 git。
这将是一个隐藏的文件在Unix类似系统的默认情况下,但它将迫使Git承认该目录的存在,因为它现在有内容。
此外,请注意,关于此文件的名称没有什么特别的。 你可能已经命名了它你想要的任何东西. 所有 Git 关心的是,文件夹里有什么东西。
其他回答
正如其他答案中所描述的那样,Git 无法在其排序区域中代表空的目录(见 Git FAQ ) 但是,如果为您的目的,一个目录是空的,如果它只包含一个.gitignore 文件,那么您只能通过:
find . -type d -empty -exec touch {}/.gitignore \;
The Ruby on Rails 登录文件夹创建方式:
mkdir log && touch log/.gitkeep && git add log/.gitkeep
现在日志目录将被列入树上,在部署时非常有用,所以你不需要写一个日常来创建日志目录。
登记文件可以通过发行,
echo log/dev.log >> .gitignore
但你可能知道这一点。
基本上,一个源代码管理系统的目的是管理源代码,空的目录不是源代码,Git也经常被描述为内容跟踪器,再次,空的目录不是内容(相反的,实际上),所以它们不被跟踪。
我正在寻找这个问题,因为:我创建一个新的目录,它包含许多文件。在这些文件中,一些我想添加到Git存储库,有些不。
Untracked files:
(use "git add <file>..." to include in what will be committed)
../trine/device_android/
它不在这个新目录中列出单独的文件,然后我认为也许我只能添加这个目录,然后处理单独的文件,所以我谷歌“只添加目录”。
在我的情况下,我发现我只能在新目录中添加一个文件,我确信我想将其添加到Git。
git add new_folder/some_file
此后,“Git状态”将显示单独文件的状态。
只需在您想要跟踪的空白目录中添加一个空白(没有内容).gitignore 文件。
例如,如果你想跟踪一个空的目录, /项目/内容/帖子,然后创建一个新的空的文件, /项目/内容/帖子/.gitignore
注意:.gitkeep 不是官方 Git 的部分:
此分類上一篇
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 如何复制在bash所有目录和文件递归?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式