Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制在Git中添加子模块内容_Git_Github_Git Submodules - Fatal编程技术网

强制在Git中添加子模块内容

强制在Git中添加子模块内容,git,github,git-submodules,Git,Github,Git Submodules,我在一所学校编写代码,要求我们用git将所有工作提交给他们的服务器。每个分配都有自己的文件夹,该文件夹有自己的.git目录 我试图将父文件夹推送到我的github,但是当我推的时候,它实际上并没有上传文件夹中的代码,因为它被认为是一个子模块。我尝试创建一个.gitignore文件,它忽略所有的.git文件夹,但没有成功 我见过的唯一解决方案是,每当我想将项目内部的更改推送到github时,手动执行git remote,或者编写一个脚本,将父目录的内容与第二个目录同步,然后在推之前删除其中的所有.

我在一所学校编写代码,要求我们用git将所有工作提交给他们的服务器。每个分配都有自己的文件夹,该文件夹有自己的.git目录

我试图将父文件夹推送到我的github,但是当我推的时候,它实际上并没有上传文件夹中的代码,因为它被认为是一个子模块。我尝试创建一个.gitignore文件,它忽略所有的.git文件夹,但没有成功

我见过的唯一解决方案是,每当我想将项目内部的更改推送到github时,手动执行git remote,或者编写一个脚本,将父目录的内容与第二个目录同步,然后在推之前删除其中的所有.git文件夹


有没有什么方法可以干净地推送到github,而不必手动推送到每个文件夹,也不必制作一个目录,它本质上是我的工作的副本,只用于推送到github?

要将所有内容推送到github

find -name .git -execdir git push \;
我会的

如果您真的想深入到子模块,可以通过添加内容而不是子模块绕过存储库:

git rm -rf --cached path/to/submodule     # to clear out any submodule entry
git add path/to/submodule/.
git不再将其视为回购协议中的子模块。现在您可以在两个存储库中跟踪其内容,但我看不出有什么具体的好处,这似乎需要做很多工作,保持子模块边界和工作流基本不变,但将子模块推到主模块中的分支。

手动推送每个文件夹有什么问题?假设每个任务都与其他任务无关,那么这最适合Git。每个项目一个存储库。你经常更新旧作业吗?如果通过
assignment4/
推送
assignment1/
没有改变,推送
assignment5/
和推送
courseassignments/
之间有什么区别?