当前位置: 首页 > wzjs >正文

互联科技 行业网站芜湖seo

互联科技 行业网站,芜湖seo,厦门满山红网站建设,400电话网站源码文章目录 背景subtree优势submodule切换到subtree脚本subtree使用切开发分支推送代码同步代码 背景 submodule过多,目前20个submodule需要切出20个分支,查看提交记录、切分支等使用起来麻烦。 团队深受困扰! subtree优势 继承submodule的…

文章目录

  • 背景
  • subtree优势
  • submodule切换到subtree脚本
  • subtree使用
    • 切开发分支
    • 推送代码
    • 同步代码

背景

submodule过多,目前20个submodule需要切出20个分支,查看提交记录、切分支等使用起来麻烦。

团队深受困扰!

subtree优势

  1. 继承submodule的优点,基础功能仓库,可被其他多个仓库同时使用
  2. 开发时,不需要再切n个分支,也不需要提到不同仓库,只需要往主仓库推送即可,一个仓库一个分支,搞定日常开发,让开发工作更愉快
  3. 代码合并时,不需要再合那么多子仓库

submodule切换到subtree脚本

可以一键切换,但是要注意m_branch的更改,更改为子模块你想追踪的分支名

#!/bin/bash
# set -e
m_branch="release/3_5_6_2"
cat .gitmodules | while read i; doif [[ $i == \[submodule* ]]; thenecho converting $iread impath=$(echo $i | grep -E "(\S+)$" -o)echo path: $mpathread imurl=$(echo $i | cut -d= -f2 | xargs)echo url: $murlmname=$(basename $mpath)echo name: $mname# 先获取 commit,必须在 git rm 之前mcommit=$(git ls-tree HEAD "$mpath" | awk '{print $3}')echo commit: $mcommitgit submodule deinit -f "$mpath"echo "11"git add .git commit -m "#40664 Stage .gitmodules changes before removing submodule"git rm -r --cached "$mpath"echo "22"rm -rf "$mpath"echo "33"git config -f .gitmodules --remove-section "submodule.$mpath" || trueecho "44"git config --remove-section "submodule.$mpath" || trueecho "55"git commit -m "#40664 Removed $mpath submodule at commit $mcommit"echo "66"if ! git remote get-url "$mname" &>/dev/null; thengit remote add "$mname" "$murl"fiecho "77"# git fetch "$mname"# 用 commit 创建临时分支并用它 add subtree# git branch -f "_$mname" "$mcommit"echo "88"git add .git commit -m "#40664 Save changes before subtree add"echo "mpath:$mpath murl:$murl  m_branch:${m_branch} "git subtree add --prefix="$mpath" "$murl" "${m_branch}"echo "99"# git branch -D "_$mname"echo "10"git commit -m "#40664 Converted $mpath submodule to subtree"echo "11"git push origin "${m_branch}"echofi
donegit rm -f .gitmodules
git commit -m "#40664 Removed .gitmodules after converting submodules"

subtree使用

接入subtree后,日常开发提交代码,切分支等,都只对主仓库进行操作,日常使用起来,就只是主仓库。

更新的内容也只在主仓库生效(默认子仓库不会同步更新)

如需单独更新子模块仓库,需要用特殊的命令

切开发分支

git checkout -b  feature/3553_xzx_subtree
git push origin  feature/3553_xzx_subtree
# 以上即可开始开发

推送代码

git add 修改文件
git commit -m "修改内容"
git push origin  feature/3553_xzx_subtree
# 以上即可推送修改到云端(只会更新quicktron仓库),然后直接打包即可,会把提交的修改带上

如果需要单独推送子模块仓库(只开发quicktron,是不需要做这一步的

例如params_api未来可能被quicktron以及算法那边的仓库共同使用,我们在params_api修复了bug,则需要推送到子模块仓库中去,让算法那边也可同步到我们的修改,则使用以下命令:

git subtree push --prefix=src/nav_process ssh://git@gitlab.flashhold.com:10022/hardware/upper_computer/basic/nav_process.git feature/3553_xzx_subtree

同步代码

git pull origin release/3_5_5_3
git push origin  feature/3553_xzx_subtree
# 以上即可同步最新修改到本地,并且推送到quicktron仓库

如果需要单独更新某个子模块(只开发quicktron,是不需要做这一步的

例如params_api被算法那边修复了bug,并且已经推送到对应子仓库了,那我们需要同步最新修改到qucktron

则使用以下命令:

git subtree pull --prefix=src/params_api ssh://git@gitlab.flashhold.com:10022/hardware/upper_computer/basic/nav_process.git release/3_5_5_3
git push origin  feature/3553_xzx_subtree

在submodule初步切为subtree这段时间,可能有原先是submodule形式的提交,在nav_process子仓库上的修改,需要同步到subtree形式的主线上,则也是使用以上指令。

http://www.dtcms.com/wzjs/326040.html

相关文章:

  • 企业门户网站建设5118数据分析平台官网
  • 模板网站建站seo观察网
  • 网站安全狗营销号
  • 广州贸易网站微信平台推广方法
  • 企业单位网站建设内容需要什么seo商学院
  • 重新安装 wordpress西安seo排名收费
  • github网站使用教程百度免费推广有哪些方式
  • 产品宣传推广方式有哪些长沙seo优化价格
  • 网站建设第一品牌 网站设计搜盘 资源网
  • 重庆做汉堡的餐饮公司网站关键词挖掘工具爱站网
  • 影响网站显示度的原因免费个人网站建设
  • 嘉定建设厅网站百度账号登陆
  • 行业电子商务网站有哪些网络营销需要学什么
  • b2b2c网站域名注册新网
  • wordpress 网站上传办公软件培训
  • ui设计app界面图片谷歌seo服务
  • css建设网站的步骤百度关键词推广价格
  • 做网站必须网站备案网络口碑营销名词解释
  • 网站如何备案icp网络营销渠道的特点
  • 带前台的wordpress模板下载seo技术顾问阿亮
  • 预订网站模板自己怎么做关键词优化
  • wordpress不用插件seo点击排名软件营销工具
  • 做网站哪里最好seo案例模板
  • 电脑零基础培训班如何优化seo
  • 专门做化妆品平台的网站有哪些seo黑帽优化
  • 深圳微信网站建设深圳最新新闻事件今天
  • 鄂州正规网站建设搜索引擎营销的方法
  • 网页设计欣赏英文翻译seo课程多少钱
  • 营销型网站建设大概多少钱泰安网站seo
  • 如何建设好政府门户网站常州网络推广平台