私人管理 public 项目 - GIT

Privately manage public project - GIT

我是 "following" 一个 public 项目(例如,opencv):也就是说,我 clone 在我的环境中本地编辑了它,我将其用作我正在私下研究的一个更大项目的一个组成部分。

我想让我的私人版本控制 (git) 监控我的私人代码以及我对 public 项目 (opencv) 所做的更改。
此外,我希望能够根据 public 版本使 public 项目保持最新。

也就是说,我有一个由两个 git 控制的本地项目:public git(我仍然希望能够从中获得偶尔的更新) 和我的本地 git(我提交所有更改,我不会提交 public git)。

如何获得这个 "dual git" 存储库?

I am using it as a component of a larger project I am privately researching

如果您的大型项目本身就是一个 git 存储库(带有 private 上游存储库),您可以添加 Itseez/opencv as a submodule
或者更确切地说,您将添加一个 fork of that repo 作为子模块。

这样,您可以将您的私人仓库保密,同时在同一个仓库中为您的分叉保留 link,并记录可能的 opencv 修改(或 updating opencv with new commits from the original repo)。

父私有仓库记录了一个gitlink, a special entry in the index,它代表了给定时间opencv子模块的状态:如果你在opencv子模块中做任何新的提交,您需要推送它们,但 在您的父存储库中添加并提交该存储库的新 SHA1。