我想将一个空文件夹上传到我的github repo,我创建了文件夹但是......
mkdir foldername
touch foldername
git add foldername
git commit -m 'Added foldername'
git push origin master
...总是给我以下错误:
# On branch master
nothing to commit (working directory clean)
答案 0 :(得分:5)
您是否尝试过遵循github的说明?
mkdir foldername
cd foldername
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:your_user/foldername.git
git push origin master
您不应该touch
foldername
,而应该在该文件夹中一个文件。
例如touch README
。或者,甚至更好,touch .gitignore
。
Git 可以跟踪目录,因为“树”(对应于目录)具有内容:blob(文件)和树(子目录)列表。所以git实际上可以(理论上)记录空目录。 问题在于索引文件(暂存区域):它只列出文件;和提交是从索引文件构建的。
如果您对忽略git中空目录的决定感兴趣,可以阅读this thread from the git mailing list archives。
答案 1 :(得分:4)
Git无法按设计跟踪空目录(空目录没有内容,而git尝试跟踪内容)。如果要添加目录,可以添加占位符文件(空文件应该足够),或者使用限制。