关于Git:将空文件夹上载到GitHub

Uploading a empty folder to github

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How do I add an empty directory to a git repository

我想上传一个空文件夹到我的Github报告,我创建了这个文件夹,但是…

1
2
3
4
5
mkdir foldername
touch foldername
git add foldername
git commit -m 'Added foldername'
git push origin master

…总是给我以下错误:

1
2
# On branch master
nothing to commit (working directory clean)


你试过按照Github的指示做吗?

1
2
3
4
5
6
7
8
9
10
mkdir foldername

cd foldername
git init
touch README
git add README

git commit -m 'first commit'
git remote add origin [email protected]:your_user/foldername.git
git push origin master

您不应该使用foldername,而应该使用该文件夹中的文件。

例如touch README。或者,更好的是,touch .gitignore

解释

Git可以跟踪目录,因为"树"(对应于目录)包含内容:blob(文件)和树(子目录)的列表。所以Git实际上可以(理论上)记录空目录。问题在于索引文件(临时区域):它只列出文件;提交是从索引文件生成的。

了解更多信息

如果您对忽略git中空目录的决定感兴趣,可以从git邮件列表存档文件中读取此线程。


Git无法按设计跟踪空目录(空目录没有内容,而Git尝试跟踪内容)。如果要添加目录,可以添加一个占位符文件(空文件应该足够),或者按限制运行。