GitHub子模块-指向外部但更改1文件

GitHub子模块-指向外部但更改1文件,git,github,git-submodules,hugo,Git,Github,Git Submodules,Hugo,我在我的雨果网站上使用了这个主题: 我为它做了一个git克隆,然后设置子模块来指向它的URL。这一切都有效。但是,我正在更改主题中的一个文件。有没有办法让我仍然做子模块并指向这个repo的URL,但使用我在本地修改过的1个文件?最好是分叉主题库 这样,您可以: 修改文件,并将其推送到tour fork 将原始主题回购添加为,并从中提取,以检查是否需要更新本地fork。 见“ 注意:自最新的Git 2.25版本以来,更改子模块url更容易。 见“ (使用)谢谢。如果原始文件中有更新,我如何确

我在我的雨果网站上使用了这个主题:


我为它做了一个git克隆,然后设置子模块来指向它的URL。这一切都有效。但是,我正在更改主题中的一个文件。有没有办法让我仍然做子模块并指向这个repo的URL,但使用我在本地修改过的1个文件?

最好是分叉主题库

这样,您可以:

  • 修改文件,并将其推送到tour fork
  • 将原始主题回购添加为,并从中提取,以检查是否需要更新本地fork。
    见“
注意:自最新的Git 2.25版本以来,更改子模块url更容易。
见“


(使用)

谢谢。如果原始文件中有更新,我如何确保我修改的一个文件在同步时不会被覆盖?@user3498593,因为,如中所述,您将进行重基,这意味着您将在更新的上游Hugo Theme repo上重播您的修改。我想我明白了。目前上游回购协议没有更新,所以我无法真正测试。但我修改了fork中的文件,并将更改推送到它。因此,当上游回购协议发生修改时,我应该能够获取上游回购协议,然后重新设置基础以重新应用更改后的文件,对吗?是的,这就是想法。这将涉及到对fork的强制推送(git push--force),但是因为只有您在处理它,所以这没关系。问题在于,它在引用子模块时似乎使用了非主分支。我一直在把我所做的改变推到叉子上。为什么它被原作者使用的另一个分支引用?
git submodule set-url [--] <path> <newurl>
git submodule set-branch --branch master -- path