基于一份代码修改的程序, 怎么同步提交?

2021-01-03 14:10:17 +08:00
 edk24

我有三个仓库的代码,都是同一份代码二开的, 但是经常有那种共同的修改。 能不能我在仓库 a 修改测试成功了,再同步给仓库 b 仓库 c ?

有没有这种操作?

3357 次点击
所在节点    git
19 条回复
wzzzx
2021-01-03 14:23:15 +08:00
同时的话,我能想到的就是脚本了。。。不同时的话,cherry-pick 可以跨仓库
abersheeran
2021-01-03 14:36:42 +08:00
同问,我也有这样的困扰。
ferock
2021-01-03 14:41:38 +08:00
shell 脚本自己解决啊,commit hook,push hook 也是有的…关键还是代码合并,哪些你要同步哪些你不想同步才是麻烦的地方
edk24
2021-01-03 14:54:35 +08:00
@ferock 对啊, 他也不是无脑复制, 既然分三个版本 都有各自的差异改动。 这是罪恼火的
ferock
2021-01-03 15:06:22 +08:00
手工合并,无他
reus
2021-01-03 15:08:17 +08:00
cherry-pick
falcon05
2021-01-03 15:14:45 +08:00
以前我也是,一份收费版,一份免费版。共同的特性在免费版开发,然后导出差异,合并到收费版。
anmie
2021-01-03 16:11:38 +08:00
就本地一份代码 连接 3 个仓库呗。。。总共就三次 push 指令 我觉得没多麻烦呢
lights
2021-01-03 18:35:51 +08:00
试试从架构设计上做手脚?相同的部分,保留在同一个架构,不同的部分再单独开仓库
meloncc
2021-01-03 19:05:06 +08:00
cherry-pick
AsiaToyo
2021-01-03 19:17:11 +08:00
github 的團隊開發?項目在團隊建立,各自 fork,最後 pull 合並
ljpCN
2021-01-03 19:23:01 +08:00
mono repo ; git submodule ;抽取共同依赖
raaaaaar
2021-01-03 21:52:32 +08:00
写个脚本触发吧,比如 travis 什么的
nuistzhou
2021-01-03 23:38:24 +08:00
那就把共同的需要常修改的那部分做成 submodule ?
msg7086
2021-01-04 00:42:28 +08:00
遇事不决 rebase 。
1423
2021-01-04 01:23:29 +08:00
在本地合并成一个 repo 的三个分支,问题就简化成其他分支合并代码了。远程 repo 可以区分开 track,这样只有本地这一份是有完整的三个分支,远程还是原样
newtype0092
2021-01-04 08:56:52 +08:00
打个 patch 可以吧?
nano91
2021-01-04 09:18:54 +08:00
1 楼正解 cherry-pick 好用的不行
Rache1
2021-01-04 14:37:36 +08:00
可以用 patch,看了上面的才发现,cherry-pick 还可以跨仓库,学习了 😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/741206

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX