我如何将一个空的目录(不包含文件)添加到一个Git存储库中?
当前回答
只需在您想要跟踪的空白目录中添加一个空白(没有内容).gitignore 文件。
例如,如果你想跟踪一个空的目录, /项目/内容/帖子,然后创建一个新的空的文件, /项目/内容/帖子/.gitignore
注意:.gitkeep 不是官方 Git 的部分:
此分類上一篇
其他回答
这个解决方案为我工作了。
1. 将.gitignore 文件添加到您的空白目录中:
*
*/
!.gitignore
* 忽略文件夹中的所有文件 */ 忽略子指南!.gitignore 包含.gitignore 文件
然后删除您的缓存,步行您的文件,承诺并按下:
git rm -r --cached .
git add . // or git stage .
git commit -m ".gitignore fix"
git push
如果你想添加一个文件夹,将存储大量的过渡数据在多个性别目录,那么一个方法是将这样的东西添加到你的根.gitignore。
/app/data/**/*!/app/data/**/*.md
然后你可以承诺描述的 README.md 文件(或白色文件,不管,只要你可以针对它们独特的类似于 *.md 在这种情况下)在每个目录,以确保所有目录仍然是 repo 的部分,但文件(有扩展)被忽略。
您可以用 xml / 图像文件或任何东西填写所有这些目录,并随着时间的推移在 /app / data / 下添加更多目录,因为您的应用程序开发的存储需要(使用 README.md 文件来燃烧,描述每个存储目录的准确性)。
此分類上一篇
只需添加一个 readme 或.gitignore 文件,然后从 GitHub 网站删除它,但不是终端。
为什么我们需要空版本的文件夹
第一件事先:
一个空的目录不能在 Git 版本系统下成为树的一部分。
但有一些场景,在那里“版本”空的目录可能有意义,例如:
一些建议工作
放置一个 README 文件或其他包含某些内容的文件,以使目录不空,或创建一个.gitignore 文件,具有某种“逆逻辑”(即包含所有文件),最终服务于相同的目的的方法#1。
.Gitkeep方法
使用一个空白的文件称为.gitkeep 以强制文件夹在版本系统中的存在。
您使用一个文件,唯一的目的是保持文件夹. 您不会放置任何信息,你不想放置. 例如,您应该使用 READMEs 作为, 好, READMEs 有用的信息, 不是作为一个借口保持文件夹. 分离担忧总是一个好事, 你仍然可以添加一个.gitignore 忽略不需要的文件。
采用
如上所述,无法添加空的目录,但这里是一个单一的列,将空的.gitignore 文件添加到所有目录中。
ruby -e'require "fileutils" ; Dir.glob(["target_directory","target_directory/**"]).each {♰f♰ FileUtils.touch(File.join(f, ".gitignore")) 如果 File.directory?(f) }'
我把它放在一个Rakefile中,以便轻松地访问。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式