备份策略
由于在公司的编译服务器并不是百分百可靠,存在宕机后,未提交到远端存储服务器的代码存在丢失可能,或工作中某些临时代码,在远端存储服务器并未建立分支用于提交保存成果,为确降低丢失的风险,需要本地PC备份保存。
同一远端仓库,涉及多个项目同时处理时,编译服务器存在多个本地代码环境,需要同一提交到本地的备份仓库,后续Windows再定时拉取备份到本地PC端。
备份框架流程图如下
创建编译服务器备份仓库
可以直接进从远端仓库拉取,设定成编译服务器备份仓库
进入仓库后执行
git init --bare --shared
开发仓库关联备份仓库
开发仓库通过以下指令,添加备份仓库的信息
#bk_path是编译服务器备份仓库的地址
git remote add bk bk_path
在开发仓库中,有branch需要提交到编译服务器备份仓库,可以执行
#develop是开发仓库的本地分支名称,
#bk_develop是bk仓库下的目标分支,
git push bk develop:bk_develop
本地PC关联编译服务器备份仓库
初始化本地PC端一个仓库
git init --bare
类似的,本地PC备份仓库通过以下指令,添加备份仓库的信息
#sever_bk_path是在windows下访问编译服务器备份仓库的路径
git remote add bk sever_bk_path
PC拉取编译服务器备份仓库的代码
通过git fetch 拉取编译服务器备份仓库的代码
#可以通过git remote -v 核对bk信息
git fetch bk
就可以完成PC拉取编译服务器的代码了。
在PC端开机后自动后台拉取编译服务器代码
通过bat 和vbs可以完成
@echo off '关闭执行时的打印
cd /d windows_git_path
git fetch bk
执行以上bat时会弹出cmd的窗口
增加vbs的调用以上bat文件,可以实现不弹窗,后台执行
dim a
set a=CreateObject("Wscript.Shell")
Do
a.run "auto_fetch.bat",0
Wscript.Sleep 10000
Loop
将vsb文件,快捷方式放进windows启动执行,之后pc每次启动都会自动执行