有一个本地文件夹,用来写各种练手的项目。里面几个子文件夹是直接git clone
过来的,不过在上面改了些东西。其他子文件夹是自己写的一些乱七八糟的项目。
现在父文件夹已经 git int
, 我想把整个大文件夹git push
到私有库备份。发现每个子文件夹都能push成功,可是clone过来的子文件夹push上去是空的。
现在除了每个子文件夹rm -rf ./git
还有没有好一点的方法?
为啥要在git目录子文件夹再有git项目呢?用法不对吧
或者 你需要了解学习下git submodule
除了删除子目录的 .git
目录,你还可以使用 Git 的子模块功能。
push对应的应该是他的origin 你用git remote -v查看下他的 origin 有可能对应的还是你clone的那个地址~所以push的时候会为空~
具体可以看看这本小册子,把许多概念弄得更透彻一些
git pro
至于解决办法~应该是需要 你每次clone好后git init一下 在git remote add + 你的远程私库 这样就应该可以正确的 push
了吧
因为你没有把子文件夹的内容加入到父文件夹的版本管理中。比如说你有两个仓库A和B。当你在A目录下使用命令的时候操作的就是A仓库,在B目录下git命令则操作的是B仓库。
.
└── A
├── B
│ └── .git
│ ├── branches
│ ├── hooks
│ ├── info
│ ├── objects
│ │ ├── info
│ │ └── pack
│ └── refs
│ ├── heads
│ └── tags
└── .git
├── branches
├── hooks
├── info
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
我猜你没有将子目录加入到父目录所在的仓库中,所以push自然不会有结果。git add B
再提交就可以了。