【1】GIT使用规范的意义:提高团队整体的交流和运作效率
【2】使用规范
- 能够独立部署的工程使用master和dev两个主干分支,master分支对应线上版本,dev分支对应开发版本; 作为依赖库使用的工作只需要一个master分支即可。master和dev分支只能由开发组长合并及提交,其余人员需要在各自分支上进行开发工作。
- GIT提交尽量遵循单次提交的代码是对一个完整但是影响尽量小的功能的修改,不要把对几个功能的修改混在一起提交。
- GIT注释的第一行必须以小写task或者bug,加禅道上对应的任务或者BUG的ID,再加半角冒号开头。 注释最少应该写清楚本次做的修改和达到的效果,越详细越好。 注释首行的字符数应该在15-120个之间。如果注释长度多于120字符,则首行写概要性信息,空一行,然后写详细信息,类似于邮件格式。
- 分支最好从正式版的tag拉出,正式版tag查看。 分支名字必须有明确的含义,以方便管理。功能上线后,对应的分支应该及时删除。分支名字推荐的命名方法为:以user/开头,加task或者bug,再加禅道上对应的task或者bug的id。其中以user/开头为强制性规定。
- 如果因注释而提交不成功,请按照常用操作的 重写上一次注释 和 重写前几次注释 的说明进行注释重写
【3】学习资料:Pro Git中文版
【4】环境配置:
- 根据 GIT安装教程安装GIT
-
在任意文件夹(Windows)下右击,点击git bash here打开git命令行,执行如下命令:
git config --global user.name "开发人员的中文姓名"--git config --global user.name "Marklin" - git config --global user.email "开发人员的注册邮箱"--git config --global user.email marklin1992@outlook.com
-
本地生成public key. 在git命令行中,执行如下命令:
ssh-keygen -C "开发人员的注册邮箱"--ssh-keygen -t rsa -C "marklin1992@outlook.com"这里的邮箱必须与第二步中设置的邮箱一致。输入命令后后续的提示输入都直接按回车,使用默认值即可。 - 本次操作后会生成文件 {user.dir}/.ssh/id_rsa.pub
- 登录到Github并登录点击右上角用户名->settings->SSH Public Keys,将id_rsa.pub中的内容复制进去,点击Add即可。
【5】常用操作
1.别名配置(后续步骤基础)
git config –global alias.st status #设置完后 git st = git status
git config –global alias.ci commit
git config –global alias.co checkout
git config –global alias.br branch
git config –global alias.ci commit
git config –global alias.co checkout
git config –global alias.br branch
2.Clone(下载)项目
git clone project-url #按照gerrit上的提示操作即可
3.查看状态
git status #最常用的操作,会给出明确的提示
4.查看分支(tag)
git br #查看本地分支,当前分支颜色是绿色,前面有个 *
git br -a #查看所有分支,其中的远程分支可用户切换分支使用
git br -a #查看所有分支,其中的远程分支可用户切换分支使用
5.切换分支
git co branch-name #branch-name指已经存在的分支名称
6.新建分支
git br branch-name #从当前分支的当前commit新建一个分支
git co branch-name #切换到新建的分支,切换的时候会携带未提交的修改
git co branch-name #切换到新建的分支,切换的时候会携带未提交的修改
7.拉取远程修改
git pull #会拉去包括tag在内的信息
8.提交修改
git add . –A #将当前目录下的所有更改都添加到缓存区
git ci #将缓存区的更改提交到本地库
git ci #将缓存区的更改提交到本地库
9.打标签
git tag tag-name #在当前commit上打一个tag
git tag tag-name commitId #在commitId上打一个tag
git tag tag-name commitId #在commitId上打一个tag
10.推送修改
git push #将当前分支的更改推送到远程分支
git push –tags #将当前分支及所有新打的tag推送到远程服务器
git push –tags #将当前分支及所有新打的tag推送到远程服务器
11.合并分支
git co master #将当前分支切换到master
git merge dev #将dev分支的修改切换到master
git merge dev #将dev分支的修改切换到master
12.删除远程分支或者tag
git push origin –delete branch-name #删除远程分支,需要gerrit权限
git push origin --delete tag tag-name #删除远程tag,需要gerrit权限
git push origin --delete tag tag-name #删除远程tag,需要gerrit权限
13.重写上一次注释
#如果提交后立即发现注释写错了,即只需要重写上一次的注释,在这些如下命令;
git ci –amend
git ci –amend
14.重写前几次注释
慎用git reset操作,尤其是reset已经推送到远程服务器上的commit。
如果发现之前的几次提交注释写错了,找到写错注释的前一个commitId,假设为abcdefg,执行
如果发现之前的几次提交注释写错了,找到写错注释的前一个commitId,假设为abcdefg,执行
git reset –-soft abcdefg #类似将abcdefg之后的git ci命令取消,并且将git add命令合并得到的结果。然后执行
git ci #和正常提交一样写注释。
git ci #和正常提交一样写注释。
15.取消发布(慎用!配合操作!)
场景:1.0.0已经发布,计划功能F1,F2,F3,以及不过B1,B2需要在1.1.0发布,
分支F1,F2,F3,B1,B2都已经合到dev上了,并且已经发布了1.1.0-b1,1.1.0-b2两个beta版。
此时F1功能因种种原因需要取消,此时需要执行如下操作:
分支F1,F2,F3,B1,B2都已经合到dev上了,并且已经发布了1.1.0-b1,1.1.0-b2两个beta版。
此时F1功能因种种原因需要取消,此时需要执行如下操作:
git co dev #切换到dev分支。
git tag -d 1.1.0-b1 #删除本地tag 1.1.0-b1
git tag -d 1.1.0-b2 #删除本地tag 1.1.0-b2
git reset –hard 1.0.0 #将所有合并撤销,恢复dev到1.0.0的状态。
git merge F2 #重新合并F2
git merge F3 #重新合并F3
git merge B1 #重新合并B1
git merge B2 #重新合并B2
git tag 1.1.0-b1 #重新打tag 1.1.0-b1
git push origin –delete tag 1.1.0-b1 #删除远程分支1.1.0-b1
git push origin –delete tag 1.1.0-b2 #删除远程分支1.1.0-b2
git push -f origin dev #使用本地dev分支强制更新远程dev分支
git push -tags #推送本地tag到远程服务器
git tag -d 1.1.0-b1 #删除本地tag 1.1.0-b1
git tag -d 1.1.0-b2 #删除本地tag 1.1.0-b2
git reset –hard 1.0.0 #将所有合并撤销,恢复dev到1.0.0的状态。
git merge F2 #重新合并F2
git merge F3 #重新合并F3
git merge B1 #重新合并B1
git merge B2 #重新合并B2
git tag 1.1.0-b1 #重新打tag 1.1.0-b1
git push origin –delete tag 1.1.0-b1 #删除远程分支1.1.0-b1
git push origin –delete tag 1.1.0-b2 #删除远程分支1.1.0-b2
git push -f origin dev #使用本地dev分支强制更新远程dev分支
git push -tags #推送本地tag到远程服务器
【5】GIT工作流程图
相关推荐
Vue.js 3.0 是一个重要的前端框架更新,它带来了许多性能优化和新特性,使得构建企业级管理后台更加高效和便捷。这个源码包包含了构建一个基于Vue 3.0的企业级管理后台所需的全部前端资源。让我们逐一解析每个文件的...
7. **自动化运维**:DevOps文化在企业级开发中日益重要,包括持续集成/持续部署(CI/CD)、版本控制系统(Git)、Docker容器化、Kubernetes集群管理等。 8. **测试策略**:单元测试、集成测试、压力测试等不同层次...
Git作为一种分布式版本控制系统,在开源项目及企业级应用中得到了广泛的应用。本篇教程旨在帮助初学者掌握Git的基本操作,并介绍如何利用SourceTree这一图形化工具简化Git的使用过程。 #### 目的 - **理解Git的...
《大话企业级Android应用开发实战》是一本深入探讨企业级Android应用开发的书籍,作者为王家林。虽然描述中提到这本书没有完整的源代码,但提供了两个版本的源码和文档供读者参考,这对于学习和理解书中的实践案例至...
总的来说,这些源码不仅提供了学习Java开发的宝贵素材,还让读者有机会探索NetBeans的强大功能,提升其在桌面、Web和企业级开发领域的专业技能。对于Java开发者而言,这本书的源码是一个难得的学习资源,可以加速...
在Android平台不断演进的今天,企业级开发面临着诸多挑战,如性能优化、安全性、可维护性、团队协作以及大规模项目的管理等。这本书旨在帮助开发者深入理解这些关键领域,并提供实用的解决方案。 首先,企业级...
**企业级C++编码规范** 在软件开发领域,遵循一套良好的编码规范至关重要,尤其是在大型企业环境中,这有助于提高代码质量,提升团队协作效率,并降低维护成本。C++作为一门强大的编程语言,其复杂性使得规范的制定...
企业级应用的开发涉及到多个技术栈,例如前端可能会用到React、Vue或Angular这样的JavaScript框架,后端可能使用Java(Spring Boot)、Python(Django或Flask)或Node.js等服务器端技术。数据库方面,MySQL、...
【企业级开发学习资料001】是一份综合性的学习资源,主要面向那些希望深入理解并掌握企业级软件开发技术的学员。这份资料涵盖了多个重要领域,旨在帮助开发者提升技能,适应复杂的企业环境。以下是对其中关键知识点...
Git是当前最流行的版本控制系统之一,它是一款开源的分布式版本控制系统,旨在更加快速高效地处理项目中的代码版本管理。Git中文教程主要涵盖了Git的基础使用、实战经验、团队协作流程等多方面的内容,为读者提供了...
它被广泛应用于各种规模的项目中,从个人项目到大型企业级应用。 #### 二、Git基本操作 - **安装Git**: - 在Fedora系统上,可以通过`yum install git`命令安装Git。 - 在Ubuntu系统上,可以使用`apt-get ...
7. **安全性**:保护用户数据和应用安全是企业级开发的重点。加密技术、权限管理、反调试和反篡改等手段应得到充分应用。 8. **多版本适配**:由于Android版本众多,开发者需要处理API级别的兼容问题。使用Support ...
Java企业开发源码是开发者学习和理解企业级应用开发的重要资源。...通过分析这些源码,开发者不仅可以学习到Java语言本身,还能深入理解企业级开发的流程、规范和最佳实践。这将对提升个人技能和解决实际问题大有裨益。
《JAVA企业级代码生成器3.0》是一款专为Java开发者设计的企业级工具,它极大地提高了开发效率,降低了代码重复编写的工作量。该工具的核心功能是自动生成符合企业级规范的代码,使得开发者能够快速构建出稳定、高效...
标题中的“一个企业级的UI设计语言和基于React的实现”指的是在开发企业级Web应用时,使用特定的UI设计规范和React库来构建用户界面的过程。Ant Design是这种设计语言的一个实例,它是一个广泛使用的React组件库,...
这个压缩包包含了作者对Android企业级开发的深入理解和实践经验,以下是其中可能涉及的关键技术点和概念: 1. **Android架构设计**:企业级应用通常需要更加稳定、可维护的架构,如MVP(Model-View-Presenter)、...
NetBeans是一款强大的集成开发环境(IDE),主要用于Java桌面、Web及企业级应用程序的开发。它提供了丰富的特性集,包括代码编辑、调试、构建和部署工具,使得开发者能够高效地进行软件开发工作。以下是对NetBeans在...
使用场景及目标:适用于企业级软件产品开发,特别是在多人参与的情况下,有助于保持良好的代码管理和版本控制,确保项目的高效推进。同时,对于新入职的技术人员来说,也是一个很好的入门指南。 其他说明:除了基本...
【JAVA企业级应用开发】课程设计要求主要针对的是安徽工程大学计算机与信息学院的学生,旨在通过实际项目开发提升学生的JAVA编程能力和企业管理软件的运用技能。以下是该课程设计涉及的知识点和详细说明: 1. **...
在协作方面,《Pro Git》讨论了如何使用Pull Request(拉取请求)进行代码审查,这是许多开源项目和企业团队采用的协作模式。另外,书中的“Git Flow”章节介绍了基于分支的开发模型,这是一种组织大型项目开发的...