我已经开始在我的Android应用程序中使用git子模块了guide
我已成功克隆了回购并更改了一些内容以满足我的应用需求,但我无法将这些更改推回到我的回购中。
git status
说我的子模块中有修改过的内容,但我不能git add
该文件夹并将其推送?
如果我尝试从子模块目录推送它实际上会尝试推送并拒绝访问,因为我不是该回购的贡献者。
我希望能够不时地获取新的更改,但是每次我尝试更新子模块时都能保留并合并我修改的小代码。
为实现这一目标,最好的方法是什么?我是否必须更改推遥控原点?
答案 0 :(得分:2)
从您的问题看来,您的子模块(例如proj-dep
)在技术上似乎是一个外部库。
我们假设proj-dep
的代码托管在https://github.com/vendor/proj-dep,您已将此路径映射到您的子模块。
但是,您不是简单地使用proj-dep
,而是使用相同的修改版本。
您应该创建自己的https://github.com/vendor/proj-dep到https://github.com/alex/proj-dep的分叉,并将第二条路径映射到您的子模块。
您可以将自己的更改推送到此分支。此外,您可以在需要时从供应商的proj-dep
提取更改并合并/重新绑定您的fork(最终将它们拉到您的子模块路径)。
答案 1 :(得分:0)
子模块中的更改需要首先在子模块级别添加/提交/推送。然后在超级级别,您只需添加文件夹并提交/推送。