我如何将一个空的目录(不包含文件)添加到一个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状态”将显示单独文件的状态。
其他回答
基本上,一个源代码管理系统的目的是管理源代码,空的目录不是源代码,Git也经常被描述为内容跟踪器,再次,空的目录不是内容(相反的,实际上),所以它们不被跟踪。
添加另一个选项给女士。
假设你想添加一个目录到 git,这对于所有与 git 相关的目的,应该保持空白,从来没有跟踪其内容,一个.gitignore 如这里多次提议,会做这个技巧。
形式,如上所述,是:
*
!.gitignore
$ echo "*" > .gitignore && echo '!.gitignore' >> .gitignore && git add .gitignore
#!/bin/bash
dir=''
if [ "$1" != "" ]; then
dir="$1/"
fi
echo "*" > $dir.gitignore && \
echo '!.gitignore' >> $dir.gitignore && \
git add $dir.gitignore
使用此,您可以从您想要添加的目录中运行它,或者将目录引用为第一个和唯一的参数:
$ ignore_dir ./some/directory
另一个选项(回复 @GreenAsJade的评论),如果你想跟踪一个空的文件夹,可能在未来包含跟踪的文件,但将是空的现在,你可以从.gitignore 文件中删除 *,并检查它。
!.gitignore
我建议在文件中保持一个行是,它给了.gitignore 目的。 否则,某些下行可能会认为要删除它. 如果你在线上放一个评论,这可能有帮助。
只需在您想要跟踪的空白目录中添加一个空白(没有内容).gitignore 文件。
例如,如果你想跟踪一个空的目录, /项目/内容/帖子,然后创建一个新的空的文件, /项目/内容/帖子/.gitignore
注意:.gitkeep 不是官方 Git 的部分:
此分類上一篇
在目录中创建一个名为.gitkeep 的空白文件,然后将其添加到 git。
这将是一个隐藏的文件在Unix类似系统的默认情况下,但它将迫使Git承认该目录的存在,因为它现在有内容。
此外,请注意,关于此文件的名称没有什么特别的。 你可能已经命名了它你想要的任何东西. 所有 Git 关心的是,文件夹里有什么东西。
The Ruby on Rails 登录文件夹创建方式:
mkdir log && touch log/.gitkeep && git add log/.gitkeep
现在日志目录将被列入树上,在部署时非常有用,所以你不需要写一个日常来创建日志目录。
登记文件可以通过发行,
echo log/dev.log >> .gitignore
但你可能知道这一点。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式