公司有涉密业务,所以一直是内网开发。
由于之前多次的疫情封控,公司将一部分非涉密项目迁移到互联网,方便居家办公。
后来尝到甜头,索性就在外网了,但还是要同步回去,因为测试需要数据,数据必须在内网环境。
我之前的做法,是从内网pull
最新,push
到外网,内网不再提交,外网的commit
定期push
回内网。
这次同事有个项目也要迁出来,结果呢,他直接git clone --depth=1
,然后 push 到了外网仓库。
经过一段时间的工作,积累了几百个commit
,要push
回内网的时候,才发现不行。
如果直接覆盖内网仓库,会丢失commit
记录,影响内网测试的问题溯源。
我的问题是:怎么把外网的commit
无伤的push
回内网?
当然,提交回内网,我下一步还要把外网仓库重建,保持和内网仓库的一致性,方便后续定期同步。
1
Rache1 2023-01-29 14:26:58 +08:00
cherry-pick ?直接 merge 应该也是可以的吧
|
2
momocraft 2023-01-29 14:32:49 +08:00
什么是"才发现不行", 错误信息是什么
|
3
lookStupiToForce 2023-01-29 14:40:39 +08:00
rebase
zhuanlan[.]zhihu[.]com/p/156726632 |
4
kaifeiji OP @lookStupiToForce 感谢,用 rebase 搞定了。
命令行挑 commit 太费劲了,用 Tortoise Git 弄的,图形界面选择要合并回内网的 commit ,rebase 到内网的 origin ,push 搞定。 然后把外网的库删了重建,内网的再同步过去,这次好啦! |