Git有问题,我无法用一个push命令推送所有子文件夹
我有一个项目目录如下:
project
|
|--main
| |__dir1
| | |__file1
| | |__filen
| |
| |__dir2
| | |__file1
| | |__filen
| |__dirn
| |__file1
| |__filen
|
|--tools
| |--dir1
| | |__file1
| | |__filen
| |
| |__dir2
| | |__file1
| | |__filen
| |
| |__dirn
使用此结构,我将使用以下命令创建一个新的本地存储库:
cd project
git init
然后,从项目文件夹中添加、提交和全部推送:
git add .
git commit -m "First commit"
git push origin -u master
问题是在我的远程repo中,我只找到了第一级目录
所以我只找到了主文件夹和工具,但里面没有文件夹。
目前我在整个目录树中没有.gitignore。
我做错什么了?
非常感谢
更新1:
为了提供更多信息,我使用gogs作为git服务器https://gogs.io/
最佳答案
乍一看并不是那么简单,您不能简单地添加空目录,但是您可以通过在每个空目录中添加.gitkeep文件来克服它:
find . -type d -empty -exec touch {}/.gitkeep \;
{}被find命令找到的每个emptyDir替换,并成为shell(touch)命令的$1。
\;标记查找的exec参数的结尾。反斜杠“\”表示转义“;”表示-exec命令结束。否则它将被视为bash/shell终止符符号“;”