我有项目Foo
和它自己的存储库。今天我在我的解决方案中添加现有项目:从新项目Bar
(不是我的存储库)的下载源复制所有文件,并在VisualStudio中设置引用(它编译Bar
而不是Foo
)。
现在我在复制的Bar
项目和我的Foo
项目中更改了一些内容。转到" Git Extensions"并发现,我的项目Bar
中包含的新项目Foo
是子模块,正如预期的那样。
我承诺Foo的本地和起源的所有更改。我想在Bar
中提交所有更改,但我记得 - 它不是我的项目(我没有克隆它)。我只能在本地提交更改。如果我试图拉动变化,它必须像"拉请求"致Bar
项目的作者。
我需要做什么,不删除/重新复制Bar
项目?我只需要从作者仓库中克隆它,而不是使用repo更改复制文件夹中的设置(将作者的原点更改为我的),并将更改提交到我的原点。
我怎么能这样做?感谢。
答案 0 :(得分:1)
如果我可以改写这个问题,那就是:
答案是"对于子模块"这是不可能的。您的子模块必须指向包含特定提交ID的可公开访问的存储库。因此,您必须等到已合并您的更改,以便您可以使用$ theirs,或者发布您自己的$ theirs的分叉变体,以便有一个公共存储库包含您可以使用的提交。
(或者,您可以放弃子模块,将其代码直接合并到您自己的存储库中,尽管这会带来一系列问题。)