gpt4 book ai didi

推送时缺少 git 子文件夹

转载 作者:太空狗 更新时间:2023-10-29 14:16:49 34 4
gpt4 key购买 nike

我的 Git 有一些问题,我无法使用单个推送命令推送所有子文件夹

我有一个项目目录如下:

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

问题是在我的远程仓库中我只找到了一级目录所以我只找到了 main 和 tools 而没有找到里面的文件夹。

目前我在整个目录树中没有任何 .gitignore。

我做错了什么?

非常感谢

更新一:

为了提供更多信息,我使用 gogs 作为 git 服务器 https://gogs.io/

最佳答案

乍一看不是那么简单,你不能简单地添加空目录,但你可以通过将 .gitkeep 文件添加到每个空目录中来克服它:

find . -type d -empty -exec touch {}/.gitkeep \;

{} 被 find 命令找到的每个空目录替换,并成为 shell (touch) 命令的 $1。
\;标记查找的 exec 参数的结尾。反斜杠“\”是为了转义“;”标志以标记 -exec 命令的结束。否则它将被视为 bash/shell 终止符“;”

关于推送时缺少 git 子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49167875/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com