唯品秀前端博客
当前位置: 别具匠心 > 常见的一些git操作命令,不用可视化工具也可以很好的使用Git

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。这年头,你不会敲几个常见命令的前端都不好意思说自己是前端

1 分支规范

1
2
3
4
5
6
├── master                      (主分支)
├── dev                         (主开发分支)
├── hotfix/v11.1.3              (hotfix分支)
├── hotfix/style                (hotfix分支)
├── feature/v11.1.3             (功能开发分支)
└── feature/style               (功能开发分支)

1.1 主分支master

  • master分支永远受保护。不可在master分支上开发,进行commit,push操作。
  • master分支只接收merge操作。
  • 每次发布正式上线的稳定版本(发布后第一天),将当前发布版本merge到master分支。
  • master分支的代码永远和线上代码保持同步。

1.2 主开发分支dev

  • dev分支为主开发分支。可以进行commit,push,merge操作。
  • 一般不在dev分支上进行新功能的开发。dev分支用来做不同分支的代码整合。
  • 每次master发布以后,需要把master的代码merge到dev上。保持比master的代码更新。

1.3 hotfix分支 hotfix/xxxx

  • hotfix分支是由master分支checkout出来,用于热修复线上bug用。可以进行commit,push,merge操作
  • 修复完毕经验证后直接发布。发布完成后merge到master分支。

1.4 功能开发分支 feature/xxxx

  • 用来进行新功能开发的分支。此分支由dev分支checkout出来,可以进行commit,push,merge操作。
  • 按照功能或者版本可以同时checkout多个feature分支并行开发。开发完毕统一merge回dev。

2 工作流程

2.1 新功能开发

  • 从dev分支checkout开发分支,如feature/new。
  • 开发完成后提交测试。测试通过后由发布负责人(一般为团队leader)修改package.json上的版本号,填写changelog。
  • 正式发布完成后,由发布负责人把发布的版本merge到master分支。
  • 最后把master分支merge到dev分支。

2.2 hotfix热修复

  • 从master分支checkout热修复分支,如hotfix/newbug。
  • 修复完成后提交测试。测试通过后由发布负责人(一般为团队leader)修改package.json上的版本号,填写changelog。
  • 正式发布完成后,由发布负责人把hotfix的merge到master分支。
  • 最后把master分支merge到dev分支。

2.3 并行开发

  • 从dev分支checkout多个并行开发的分支,如feature/new1,feature/new2,feature/new3...。
  • 开发完成后由发布负责人(一般为团队leader)将并行开发的分支统计后统一合并到dev或者一个新的feature分支上。(主要看短期内是否有多次发布排期)
  • 提交测试。测试通过后由发布负责人修改package.json上的版本号,填写changelog。
  • 正式发布完成后,由发布负责人把发布的版本merge到master分支。
  • 最后把master分支merge到dev分支。

3 注意点

  • 只要发布到正式环境,不管改动多少,每次都必须版本号变动,同时changelog留下记录。
  • 每次发布到正式环境后一定要记得同步代码回dev。
  • 除了master,dev这三个分支类型外的所有分支都是临时分支。可以适当保留1-2个版本的分支后删除其他分支。
  • 养成良好的习惯,每次开发前,提交代码前先同步代码。

GIT的常用操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//查看最近一次提交
git log --stat -1
//回滚到指定版本
git reset --hard xxx
//撤销指定版本提交
git revert xxx
//分支合并,例如将dev合并到master,在mastart分支下运行
git merge dev
//git查看远程仓库地址命令
git remote -v
//git不区分文件名大小写的问题,查看是否不区分大小写
git config --get core.ignorecase
//设置为false,将区分文件大小写,建议为所有git项目设置为false
git config core.ignorecase false
// 查看当前本地分支对应的远端分支
git branch -vv
// 删除本地分支
git branch -d xx
// 删除远程分支
git push origin --delete xxx
// 推送本地代码到指定的远端分支,如果你本地的分支名称和远程名称相同,则使用以下命令:
git push origin branchName
// 推送本地代码到指定的远端分支,如果本地的分支跟远程的分支不一样,则指定本地和远程的分支的名称:
git push origin 本地分支名:远端分支名
// 新建远端分支,首先要新建本地分支,然后把本地分支push到远端(不存在)分支即可
git checkout -b dev
git push --set-upstream origin dev //--set-upstream可以简写-u,这样本地和远端关联后,后续提交代码只需要git push
// 新建本地分支与远程分支(已存在)关联
git branch –set-upstream 本地新建分支名 origin/远程分支名

附件:

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(5) 打赏
谢谢你请我吃鸡腿*^_^*

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

1 条评论关于"常见的一些git操作命令,不用可视化工具也可以很好的使用Git"

最新评论

    暂无留言哦~~

博客简介

一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,梦想一旦被付诸行动,就会变得神圣,愿景:成为宇宙中最具有代表性的前端技术类博客。主题源码 

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 268 篇
  • 草稿数目: 0 篇
  • 分类数目: 16 个
  • 独立页面: 7 个
  • 评论总数: 960 条
  • 链接总数: 14 个
  • 标签总数: 471 个
  • 注册用户: 2 人
  • 访问总量: 8,664,371 次
  • 最近更新: 2020年10月28日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线