Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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子目录_Git_Github - Fatal编程技术网

Git和其他Git子目录

Git和其他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。

我不知道我的问题是否与github、git或PyCharm有关

我有一台笔记本电脑(L)和一台固定式PC 1(=P1)

我在github上进行了git回购,从我的P1开始,我在这方面做了很多工作。然后提交并推送我在github上的所有工作

从L开始,我做了一个git克隆,效果非常好

现在,我在Django
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
文件来处理它。你可以做两件事:

  • 将子树用作子模块。请参见此处的文档:

  • 或者,简单的方法是:删除howler和swiper子树中的
    .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