首页 > 解决方案 > 跟踪从存储库初始化的文件夹

问题描述

我想创建一个公共存储库A。在A中,代码将从几个公共存储库中初始化。例如,我想将https://github.com/TypeFox/monaco-languageclient作为文件夹中的代码库A/monaco-languageclient

然后,我将修改里面的代码A/monaco-languageclient。我不希望更改影响 TypeFox 的公共存储库,而我想在 GitHub 中为我跟踪所有更改。

一种可能的设置是:

  1. 将https://github.com/TypeFox/monaco-languageclient分叉到我的 GitHub
  2. 将我的 monaco-languageclient 添加为 A 的子模块

此设置确实允许我跟踪我在 monaco-languageclient 中的更改。但是,我在 repository 的 GitHub 网页中意识到A,子模块始终指向 monaco-languageclient 的初始提交。

在此处输入图像描述

所以我的问题是:

  1. 如何让 A 指向我在 GitHub 网页中的最新版本的 monaco-languagelclient?
  2. 整个设置(即 git、fork、子模块)是否适合我想要实现的目标?

标签: gitgithubgit-submodules

解决方案


即使 GitHub 并不总是反映最新版本,您也可以为 Git 存储库本身更新以跟踪来自分支的最新版本,在您的.gitmodules文件中

这样,任何git clone --recurse-submodules, orgit submodule update --init --recursive --remote都会获取并更新该子模块。

如果您随后添加、提交和推回,那也将更新monaco-languageclient


推荐阅读