我目前正在运行测试以查看 Git 子模块如何工作,希望我可以使用它们来管理 3rd 方依赖项。
在我的本地测试中,我有一个文件夹,其中包含我的主要 Git 存储库。然后我有一个名为的子文件夹scripts
,其中有一个为 GitHub 存储库创建的子模块https://github.com/jrburke/requirejs/
当我最初设置子模块时,我显然得到了该 3rd 方回购中的所有文件/文件夹,但我感兴趣的唯一文件是require.js
文件(https://github.com/jrburke/requirejs/blob/master/ require.js)我提交了我的更改,包括删除了所有冗余文件/文件夹,然后等待 RequireJs 对其代码进行更改。
当我git pull
编辑发生更改时,似乎每个更改的文件都会被拉下?即使在我的仓库中我已将它们提交为已删除,似乎子模块无论如何都会拉下任何已更改的文件,即使我显然不想要它们。
所以这是问题一。第二个问题是我再次删除文件并提交但由于合并问题而无法提交?但我无法合并它们,因为我已经删除了它们!我以前见过这个,显然解决方案是进入一个特定的 .git 文件夹并删除文件,这样它们就无法被引用,但这似乎是管理第 3 方依赖项的大量工作?
我只想克隆一个 repo,删除任何我不想要的文件,并git pull
在我听到关于 3rd 方代码的更新时运行。有什么方法可以实现这一点吗?