git规则

git教程

1: git规则
1.1 分支命名规则
1.2 合并规则
1.3 权限规则
2: 获取代码
2.1 http/https
2.2 ssh
2.3 区别
3:  代码提交
3.1 创建本地分支 xxx 跟踪主分支 ---分支规则
3.2 本地分支代码提交
3.3 合并主分支申请
3.4 合并分支 -- 合并规则
3.5 代码回滚 / hotfix 提交回滚


1:git教程

1.1 分支命名规则

develop:主分支
release: 预发布
master : 生产线
feature: 功能开发
hotfix : 紧急修复
(feature/姓名简写/时间-任务号-任务标题)
例如feature/xxx/20180502-xxx-66997-xxx
(hotfix/姓名简写/时间-任务号-问题原因)
例如feature/xxx/20180502-xxx-68877-xxx

1.2 合并规则

1.2.1:必须在合并申请中添加合并注释明细(按序号写清楚)
提交 Pull / Merge Request 时, Commit 和 Message 要足够清晰详细。 
切记,如果一次提交的内容包含很多 Commit,请不要使用自动生成的描述。 
请用简短且足够说明问题的语言(理想是控制在3句话之内)来描述:
你改动了什么,解决了什么问题,需要代码审查的人留意那些影响比较大的改动。
特别需要留意,如果对基础、公共的组件进行了改动,一定要另起一行特别说明。

1.2.2:代码合并必须要两位及以上的同事审阅,合并权限请联系导师或相关人员

审核人员邀请原则:项目参与人员 & 团队同事 & 团队 Leader。
(对项目足够了解,对项目足够了解,对项目足够了解,重要的事情说三遍);
LGTM - looks good to me  在我看来很好
ACK  - acknowledgement, i.e. agreed/accepted change  确认,即同意/接受的变更
NACK/NAK - negative acknowledgement, i.e. disagree with change and/or concept 否定确认,即不同意改变和/或概念
RFC  - request for comments, i.e. I think this is a good idea, lets discuss 请求评论,即我认为这是一个好主意,让我们讨论
WIP  - work in progress, do not merge yet 正在进行中,不要合并
AFAIK/AFAICT - as far as I know / can tell 据我所知/可以说
IIRC - if I recall correctly 如果我记得正确
IANAL- I am not a lawyer , but I smell licensing issues 我不是大神,但是嗅到些问题

1.3 权限规则

1.3.1 新员工:先到gogs应用界面注册账户,然后发邮件给xxx,权限赋予
1.3.2 老员工:剔除、赋予权限(管理员、写入、合并),请邮件联系 xxx

2:获取代码

2.1 http/https

复制对应仓库中的http地址 git clone http(https)://xxxx/xxx/xx.git 本地xxx文件夹
会需要输入对应的git账户跟密码后即可获取代码.
普通库的情况
git init
git add *
git commit -m "My initial commit message"
git remote add origin git@example.com:example.git
git push -u origin master

2.2 ssh

2.2.1 生成本地的秘钥
2.2.1.1 设置Git的user name和email
git config --global user.name "yourname"
git config --global user.email "youremail"

2.2.1.2 生成SSH密钥
生存密钥:
ssh-keygen -t rsa -C “xxx@xxx”
按3个回车,密码为空。
Your identification has been saved in /c/Users/viruser.v-desktop/.ssh/id_rsa.
Your public key has been saved in /c/Users/viruser.v-desktop/.ssh/id_rsa.pub.
The key fingerprint is:
………………
最后得到了两个文件:id_rsa和id_rsa.pub

2.2.1.3 密钥添加
ssh-agent bash --login -i
添加密钥到ssh:ssh-add 文件名,需要之前输入密码。
然后cat /c/Users/viruser.v-desktop/.ssh/id_rsa.pub 复制密文 
粘贴到 xxxx/user/settings 中的ssh秘钥添加
git clone git@xxx/xx.git 输入秘钥的密码即可获取代码

2.3 区别

传输数据安全与数据大小,ssh的方式与http(https)的差异。推荐使用ssh,http(https)由于网络通讯协议相关会有比较大的影响。

3:  代码提交

3.1 创建本地分支 xxx 跟踪主分支 ---分支规则

git branch 显示所有分支,确认当前分支是否为develop,若不是则需要切换到develop分支: git checkout develop,若出现冲突请先解决冲突
git pull 更新到最新的develop分支
git branch <新分支名>,分支名请参照分支名规则

3.2 本地分支代码提交

新文件 git add <新文件名>
git commit 提交变更(增、删、改)的文件内容到本地仓库
git push 将git commit的本地变更内容提交到远程仓库

3.3 合并主分支申请

该节点适用对象:无提交权限(仅读)的用户,其他用户原则上也应严格遵守。
本地开发完成后的功能分支在gogs应用中使用合并分支到主分支中,或使用命令行模式 git merge(合并制定分支到当前分支) 
由于开发人员代码时间存在差造成文件差异,导致无法合并需要手工排查掉冲突问题,解决完冲突后需要重新提交功能分支后,就可以正常合并。
快速解决方式(将develp分支合并到功能分支,解决掉冲突即可)

3.4 合并分支 -- 合并规则

    

3.5 代码回滚 / hotfix 提交回滚

3.5.1 git checkout <分支中的指定节点>
3.5.2 新建hotfix分支合并解决
3.5.3 git revert <commit>撤销指定的提交
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值