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

【Git】项目多个分支开发、维护与优化处理 ing

默认一个main分支
创建两个分支

git checkout main
git pull    # 保证 main 最新git checkout -b optimize
git push -u origin optimizegit checkout -b stable
git push -u origin stable

目前三个分支 :
main 负责日常开发
stable 稳定发布版本,其他两个分支功能无误可以合并进来,进行版本的发布,打上标签tag进行标记
optimize 优化分支,有重大变动先在此分支修改验证

平时在main分支开发,无误后合并到stable分支,改动相差不大可以合并到optimize分支,优化部分可以直接在optimize分支进行。

合并 master 分支代码到其他分支

以下gpt得,实测可行

  1. 查看当前所在分支
git branch
  1. 切换到 stableoptimize 分支
git switch stable      # 或者 git checkout op  
  1. 拉取最新的 master 分支改动

    git fetch origin         # 获取远程的所有更新
    
  2. 使用 rebasemaster 上的更新应用到当前分支(stableoptimize

    git rebase origin/master
    

以上命令实际是 把自己当前分支的提交,重新整理到最新 master 后面,形成一条直线,也相当于将远程 master 的改动合进来。
4. 解决可能的冲突(暂未使用过):
如果有冲突,Git 会停止并提示你解决冲突。解决冲突后:

git add <conflicted-file>  # 标记已解决冲突的文件
git rebase --continue      # 继续 rebase 操作
  1. 推送到远程仓库
    由于使用了 rebase,你可能需要使用 --force 推送到远程仓库:

    git push origin stable --force  # 或者 git push origin op --force
    

    注意: 使用 --force 推送时要小心,因为它会覆盖远程的历史记录。如果其他人在该分支上工作,可能会导致他们的提交丢失。确保与团队成员沟通清楚。

自动拉取合并所有分支

创建

touch auto_pull_all.sh
sudo vim auto_pull_all.sh

内容

#!/bin/bash# 获取所有远程分支
git fetch --all# 遍历所有本地分支
for branch in $(git branch | sed 's/^\*//'); do# 切换到该分支git checkout $branch# 执行拉取并合并git pull origin $branch
done

赋权限

gitchmod +x auto_pull_all.sh

运行

./auto_pull_all.sh

其他分支重置为master分支内容

# 切换到 optimize 分支
git switch optimize# 强制将 optimize 的内容重置为 master
git reset --hard master# 推送到远程(用 --force 覆盖远程 optimize)
git push origin optimize --forcegit switch stable
git reset --hard master
git push origin stable --force

stable分支更新同步到master(未实测)

git switch master
git rebase stable
git push origin master

http://www.mrgr.cn/news/100615.html

相关文章:

  • 3、CMake语法:制作和使用动态库和静态库
  • 细说fork-vfork-pthread_create-clone
  • 【dify+docker安装教程】
  • 八大排序——冒泡排序/归并排序
  • 【云计算】云计算中IaaS、PaaS、SaaS介绍
  • 安卓基础(点击项目)
  • 高能效计算:破解算力增长与能源约束的科技密码
  • 夜莺监控V8(Nightingale)二进制部署教程(保姆级)
  • 微分与积分(前言)
  • WPF之Label控件详解
  • VUE3:封装一个评论回复组件
  • 1.7无穷级数
  • Uniapp(vue):生命周期
  • InitializingBean接口和@PostConstruct-笔记
  • SpringBoot启动后自动执行方法的各种方式-笔记
  • 【亚马逊云】AWS Wavelength 从理论讲解到实验演练
  • 在 cmd shell 中执行 metasploit vbs payload
  • 项目实战-贪吃蛇大作战【补档】
  • 数据库安装和升级和双主配置
  • Java读Excel:解析阿里云easyExcel导入文件的行号