我在 github 中有一个(私人)项目,其中一组开发人员提交更改。客户现在要求在他们自己的系统副本上开发一些重度定制。一个新团队将致力于这个项目,但我不希望这个团队有权访问原始存储库。所以我在 github 上创建了一个新的存储库,并使用原始项目中的代码对其进行了初始化。
但是,我仍然希望第二个项目在原始项目上完成更新。如何设置存储库以满足此需求?
或者,如果我要保留一个项目,有没有办法让新团队只访问它的特定分支?
我已遵循此站点上的建议。我在这里为任何感兴趣的人重复这个过程:假设原始项目在projectA中签出,派生项目在projectB中签出:
我第一次这样做:
cd path/to/projectB
git remote add orig_project path/to/projectA
git fetch orig_project
git merge orig_project/master -X theirs
git push
现在每次我需要将 projectA 的更改同步到 projectB 时,我都会这样做:
git fetch orig_project
git merge orig_project/master
git push
orig_project
可以是任何东西。我-X theirs
第一次使用,否则所有获取的更改都会发生冲突
从存储库中取出其他数据。创建一个只包含您希望他们能够看到的文件和分支的新存储库,然后从旧存储库中删除它们。然后授予他们对新存储库的只读访问权限。
您正在寻找的东西称为分支(我看到您正在使用它)。
https://help.github.com/articles/branching-out http://learn.github.com/p/branching.html
一旦有了不需要新代码库的分支,就可以使用 fork(告诉他们为您的项目),这样他们就可以获得更新
在此处阅读 mroe: “下游”和“上游”的定义