git分支规范

小皇帝James -
git分支规范
分支规范发布分支

发布分支根据需要设置protected

image.png

环境 分支 prod master st buildst uat builduat

所有build分支为敏捷开发(多人并行)需要,不涉及的情况下可以用develop分支代替。

开发分支功能点 分支命名1 分支命名2 app版本 5.0.0 迭代版本 college450 功能开发 feature- 功能点 cart
时间点 20180802 问题修复 hotfix- 开发流程master分支 git pull 保证本地代码与远程一致为最新git checkout -b branchNamegit push -u origin branchName开发&自测发mr(merge request) branchName -> builduat/buildst/masterCI/CD 发布打tag注意事项避免直接在发布分支修改发布分支产生冲突时,从发布分支切出新分支合并冲突,新分支合完发布分支后删除新分支所有build分支不能作为mr的源头所有开发分支应从master切出其它条件允许的话,用release分支代替master发布,由CI/CD将release合到master走版本迭代时,可以将>20PD(可自定义)的功能作为feature分支分开,避免产生功能延期的窘境git命令技巧cherry-pick

合并另一个分支的单个代码提交记录

git cherry-pick <commitHash>

支持一次性合并多个提交

git cherry-pick <commitHashA> <commitHashB>
merge场景

需要合并一系列相连的commits(假设branch为master->1...->10,合并3~8)

// 指明终点commit
branch: git checkout -b newbranch 8 
// 指明起点commit
master: git merge newbranch 3^
场景

merge只有在冲突的时候,解决完冲突才会自动生成一个合并commit
如果想在没有冲突的情况下也自动生成一个commit

git merge --no-ff
clean

删除未跟踪文件

场景

在CI/CD过程中build报错,后经排查是底层框架演变造成,新框架被旧框架生成的编译文件影响,在build前执行clean命令解决。

git clean -fdx
-f untracked files-d untracked directories-x untracked in .gitignoreprune

清除本地track过的已被删除的远程分支

git remote prune origin
stash

临时保存和恢复修改

场景

开发任务进行到一半时需要切换分支hotfix。

git stash -u
git stash pop
reset & revert
// 创建一个新的commit来撤消该commit,不会影响历史记录
git revert <commitHash>
// 将HEAD指针移动到该commit,会影响该commit之后的记录
git reset
// --hard 工作区、暂存区都恢复到<commitHash>节点
// --soft 工作区、暂存区都不会被修改
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

前端gitbranch

扩展阅读

加个好友,技术交流

1628738909466805.jpg