问题

git push后出现文件夹后面跟@+数字,是因为出现了子模块。@后面的数字是哈希值,用于确定唯一的提交状态。

文件push时会压缩,然后上传同时生成一串检验字符串,at后面的数字就是检验字符串的前面部分。

原因

文件夹内还有.git,导致这些文件夹push后变成了子模块

解决思路

  1. 删除原来的子文件夹的.git
  2. 删除本地git缓存
  3. 重新add,push

四、解决方法

方法一:不变成子模块

rm -rf .git
# 代表子模块文件夹内的.git目录
git rm -r --cached .
git add .
git commit -m "init"
# push到远程新分支
git push origin master

方法二:下载子模块

cd 需要下载的文件夹
git submodule update --init --recursive