Git和其他Git子目录
我不知道我的问题是否与github、git或PyCharm有关 我有一台笔记本电脑(L)和一台固定式PC 1(=P1) 我在github上进行了git回购,从我的P1开始,我在这方面做了很多工作。然后提交并推送我在github上的所有工作 从L开始,我做了一个git克隆,效果非常好 现在,我在DjangoGit和其他Git子目录,git,github,Git,Github,我不知道我的问题是否与github、git或PyCharm有关 我有一台笔记本电脑(L)和一台固定式PC 1(=P1) 我在github上进行了git回购,从我的P1开始,我在这方面做了很多工作。然后提交并推送我在github上的所有工作 从L开始,我做了一个git克隆,效果非常好 现在,我在Djangostatic/vendors文件夹中添加了一个新库。这叫嚎叫。我是从你那儿得到的。我使用一个git克隆添加了它https://github.com/goldfire/howler.js.git。
static/vendors
文件夹中添加了一个新库。这叫嚎叫。我是从你那儿得到的。我使用一个git克隆添加了它https://github.com/goldfire/howler.js.git。另一个名为swiper的库也是如此:git clonehttps://github.com/nolimits4web/swiper.git
问题是PyCharm在vcs中添加了2个git存储库,但从我的“原始”github remote中看不到它们:当我提交+推送我的工作时,除了这两个库之外,所有内容都提交+推送。从PyCharm菜单中,如果我执行VCS->git->Remotes,我会得到以下结果:
所以,当我从我的笔记本电脑上拉git时,它会得到除这两个库之外的所有东西。
我应该怎么做才能将这些存储库添加到我的github repo中,然后从任何其他PC上进行
git克隆
,然后再进行git拉
,并获得这些库呢?git对此很聪明,并将howler和swiper视为不属于您的项目,因为您已经克隆了它们。它将其视为子模块,但您可能没有.gitmodules
文件来处理它。你可以做两件事:
.git
目录。然后git将不再将它们视为子模块,但您将无法通过git拉取来继续更新它们这与拥有软件包的目的背道而驰。最佳实践是将源代码保存在git中,并将包保存在git之外。如果源代码中有运行所需的软件包列表,则在新机器上克隆repo时必须安装这些软件包 我建议不要使用
git clone
,而是使用以下命令:git submodule addhttps://github.com/goldfire/howler.js.git 嚎叫者
使用此子模块将在您的repo中创建一个.gitmodules文件,如下所示:
[submodule "howler"]
path = howler
url = https://github.com/goldfire/howler.js.git
这将使您能够跟踪项目中安装和使用的所有软件包
如果您在回购协议中确实需要这些包。删除两个包中的.git隐藏文件夹,然后执行git添加、提交并推送到repo。我必须这样做才能使其正常工作:
git-rm--cached static/vendors/swiper
之后:git子模块添加https://github.com/goldfire/howler.js.git 静态/vendors/howler.js