强制在Git中添加子模块内容 [英] Force Adding Submodule Contents in Git

查看:10
本文介绍了强制在Git中添加子模块内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

有没有办法干净利落地推送到GitHub,而不需要手动推送每个文件夹,也不必创建一个本质上是我工作副本的目录,只为了推送到GitHub?

推荐答案

要将所有内容推送到giHub,

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不再将其视为该repo中的子模块。现在您可以在两个存储库中跟踪其内容。I've seen this before,但这似乎是大量的工作,但我看不到具体的好处。Here's another way to go about it,子模块边界和工作流基本保持不变,但将子模块推送到主模块中的分支。

这篇关于强制在Git中添加子模块内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆