1
kk2syc 65 天前
remove 管理法
|
![]() |
2
shuxhan 65 天前
.gitignore
|
![]() |
3
layman3612 OP @kk2syc 内网留一份全的, 专门的人去删代码 提交 github ??
|
![]() |
4
celaraze 65 天前 ![]() 楼上都是说的啥,我使用子模块处理的,a 仓包含了 b 仓代码内容,b 仓不公开,a 仓 git submodule 加 b 仓地址。开发者正常 submodule update 会提示需要 b 仓的 credentials 才能拉取到这部分代码。
|
![]() |
5
celaraze 65 天前
#4 补充,设计时候要做对业务功能做模块化处理,如果闭源代码过于耦合,显然不适合。我是把闭源代码放在单独的目录中,这样才能用 git submodule 处理。
|
![]() |
6
layman3612 OP @celaraze 多谢 学到了
|
7
NICE20991231 65 天前
呃,不同的分支 不同的 ignore 文件就行了
|
![]() |
8
Kumo31 65 天前
都是“开源”,但不同方式之间差异很大
有一些是软件本身开源但不接受贡献 or 不维护社区,这种就只是公开代码而已,开发都在内部仓库,每次发版后就直接往 Github 上的仓库提个只有一条 commit 的上万行 pr 完事。 大部分商业项目开源都是将组件设计为可插拔的,高级功能的组件是单独维护的,这样核心部分可以按正常的开源项目来维护和管理社区。或者内核完全开源,但产品化功能(例如管控平台、云服务)闭源,就我接触到的数据库、存储开源项目而言大多是这样 |
9
kk2syc 65 天前
@layman3612 事实上大部分都是这样干的,内部开发的是全版本,开源发版的时候去掉商业部分。都是草台班子
|
10
AirCrusher 65 天前
https://github.com/google/copybara 就是在私有仓库和开源仓库之间同步用的
|
![]() |
11
Felldeadbird 65 天前
首先你要把闭源代码和开源代码解耦。不然你就只能做 2 个仓库。
我现在的做法是:开源主程序一个仓库。闭源的功能代码一个仓库。 闭源的功能代码仓库,默认把开源主程序的代码都添加到忽略列表。这样电脑坏了,或者换一台电脑,我拉去闭源的仓库后,在拉去开源的仓库,把开源的主程 copy 一份过去就可以无缝运行了。 所以才说解耦是关键。 |
12
gegewu0927 64 天前
拉分支 ignore
|
13
jones2000 64 天前
开源项目里面预留外挂扩展接口,闭源部分做成独立项目, 启动的时候通过开源项目外挂接口,把闭源的部门注册到开源项目里面去,就可以了。
|