分支

初始的仓库为master,开发人员从master仓库创建自己的开发分支进行开发,功能开发完成后推行远程,测试确认需要提测后再合并到测试分支,进行打包测试,测试通过由一个负责管理仓库的人将开发分支代码合并到灰度打包发布进行灰度体验测试,灰度未发现问题,将开发分支合并到master仓库进行打包上线。

git clone 指定的单个目录或文件夹

基于sparse clone变通方法

  • 创建一个空仓库
  • 拉取远程仓库信息
  • 开启 sparse clone
  • 设置过滤
  • 更新仓库

创建空仓库

mkdir devops
cd devops
git init  # 初始化

拉取远程仓库信息

git remote add -f origin http://your/git/repo.git  # 拉取远程仓库信息

开启 sparse clone

git config core.sparsecheckout true  # 开启 sparse clone

设置过滤

echo "test" >> .git/info/sparse-checkout  # 设置过滤条件

更新仓库

git pull origin master # 拉取仓库

master仓库

主线分支,主要存放生产环境代码以及负责灰度,测试,开发分支的创建

gray分支

灰度分支,代码版本领先与主线分支,落后与测试分支,数据和主线分支基本保持一致,进一步完善测试所遗漏的细节问题。

test分支

测试分支,主要为测试人员提供使用,验证开发人员开发的新功能。

dev分支

开发分支,用于合并多人分支代码集成到统一环境

强推

开发过程中尽量不要使用强推

git常用指令

创建分支

  • git branch test git基于当前commit创建test分支, .git/HEAD 文件中记录了当前分支名字

切换分支

  • git checkout test 从当前分支切换到test分支

创建并切换新分支

  • git checkout -b test git基于当前commit创建test分支并且切换到test分支

合并其他分支

  • git merge origin master 将origin mergemaster
  • git merge origin/master 将origin上的master分支 merge 到当前 branch 上

删除分支

  • git branch -d test 删除本地test分支
  • git branch -D test test分支还没有合入当前分支,所以要用-D参数才能删掉。
  • git push origin --delete test 删除远程test分支
  • git push origin :test 删除远程test分支

查看当前分支

  • git branch 列出当前分支清单
  • git branch -a 查看远程分支和本地分支
  • git branch -v 查看各个分支最后一个提交信息
  • git branch --merged 查看哪些分支已经合并入当前分支

拉取分支

  • git remote update 更新远程分支列表
  • git checkout -t remotes/origin/test 切换远程分支到本地
  • git pull origin test 拉取远程分支代码到本地

代码回滚

  • git log 查看提交记录
  • git reset --hard commit_id 回滚到某一版本,–hard – 强制将缓存区和工作目录都同步到你指定的提交
  • 提交到远程覆盖

同步本地与远端同一分支提交历史

  • git rebase
  • git pull --rebase 与上面效果的指令一样
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐