将私有 github 存储库中的目录设为公开

Dav*_*kin 5 git github

我在 Github 上有一个私有仓库 Repo A。Repo A中项目的结构如下:

dist/
src/
project-file.js
project-file2.js
Run Code Online (Sandbox Code Playgroud)

我想src/在 Github 上的(新)公共存储库中提供该目录。

理想情况下,我希望这尽可能自动化。因此,如果我更新 Repo A 中的源文件,我希望公共存储库也能轻松更新。

我找到了几个解决方案:第一个涉及使用Github 版本和子模块。这个似乎使两个存储库保持连接,但我不确定如何将src/目录推送到(?)子模块中,然后将其推送到新的公共远程存储库。

另一种解决方案,我发现是filter-branch在克隆回购。我可以预见到使用后者的唯一问题是两个分支然后变得分离,我对回购 A 所做的任何更改都必须再次重新克隆并重新推送到公共回购。

基本上,我有一个私人项目,但我想公开一些文件以供查看。我相信第一个选项,使用子模块是更好的选择,但我不确定如何在实践中做到这一点。我不太精通高级 Git 技术,所以如果我遗漏了什么,我深表歉意。

Von*_*onC 5

子模块仍然是一个更简单的选择:

那是:

cd /path/to/cloned/original/repo
git rm -r src/
git commit -m "Remove src"
git submodule add https://github.com/you/newSrcRepo src
Run Code Online (Sandbox Code Playgroud)

从那里,您可以修改 src 中的文件并推送到该新存储库:

cd /path/to/cloned/original/repo
cd src
# work in src
git add .
git commit -m "new src modifications"
git push
Run Code Online (Sandbox Code Playgroud)

并在您的父仓库中记录新的 src:

cd ..
git add .
git commit -m "src new state"
Run Code Online (Sandbox Code Playgroud)