欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

海洋基地离线开发和代码承诺实践分享

最编程 2024-10-18 17:37:31
...

本文作者:北京银行总行系统运营中心运维工程师

鉴于公司的服务器性能和编译速度好,我们选择在公司内网环境下对使用 OceanBase 时的 issue进行开发工作。

接下来,我会分享在开发和提交代码时的步骤。尽管流程稍显繁琐,但对于处于相似场景下的同学而言,或许能提供一定的参考价值。

开发步骤:

1、个人电脑中源码的feature分支进行打包,将此包发送至离线环境的服务器上,一旦发送完成,建议避免再对个人电脑中的该部分代码进行修改。

2、拷贝到了离线环境后,执行一次git commit,此时你的离线环境应当是一个干净的本地仓库,接下来你就可以开始在离线环境的分支写代码了。

3、写完了代码,再commit一下,

git diff  <拷贝到离线环境后的第一次commit版本号> <改完代码后commit的版本号>  > diff.patch

生成一个diff.patch文件。把patch文件传到你的个人电脑。

4、把patch文件应用到个人电脑本地的feature分支上,

git apply --whitespace=fix ..\diff.patch

能够在控制台看到哪些文件发生了变化,vscode中也能看到哪些文件发生了变化。

5、看一下哪些代码发生了变动,没什么问题就可以commit了。git status看一看状态。

(中间如果有你的多次commit,考虑通过git rebase压缩为一个commit,以便提交pull request)

6、切换到个人电脑的master分支,拉取远程fork仓库的最新版本,之后合并feature开发分支至master分支。

git merge feature分支

7、如有解决冲突。

8、merge之后会有如图所示情况。

   注:tmp代表开发分支,merge前HEAD指向的版本号是8024d。

1690983059

之后需要rebase,将中间的commit压缩。

git rebase -i HEAD~2 

执行上述命令后,终端就自动显示rebase文件的编辑页面,不需要做任何改动。直接“冒号 q” 。

1690983667

可看到那merge branch tmp的commit记录就没有了。

1690983953

下次开发新的需求的时候还是如同上述8个步骤,不开发的时候没事儿的时候可以同步一下自己的远程fork仓库。

目前是我自己用的一个方法,如果有更好的离线环境开发和git使用的方式也请欢迎分享。