_——_提交不规范,亲人两行泪
一、拉取代码库及分支操作
1.1仓库克隆
git clone [仓库地址]
1.2查看仓库全部分支
git branch -a
1.3新建本地分支与远端对应(以dev分支为例)
git checkout -b dev origin/dev
命令释义:拉取远端dev分支到本地,并将本地新分支命名为dev,同时本地仓库直接直接切换到该分支。
1.4本地分支常用操作
git checkout dev
命令释义:将仓库直接切换到本地已有的dev分支
git checkout master
命令释义:将仓库直接切换到本地已有的master分支
gitbranch -D aaa
命令释义:删除本地已有的aaa分支
二、协同开发与提交
2.1提交原则
以单任务或单个bug的修改,作为一次提交,原则上避免出现一次提交中携带多个任务或bug修改内容。这样有利于记录追踪、分支合并、甚至回滚等操作。
单次修改涉及了多个任务,可以通过
git add ./xx/yy
来分步精确提交不同任务项所涉及的文件。
2.2提交一次修改
【1】git add .
或者git add ./xx/yy
如果是前后端的协同仓库,请记得一定要切至所属层级目录,防止在根目录执行
git add时,提交了职责以外的代码,导致发生冲突。
【2】git commit -m ‘任务/bug描述’
任务描述原则上避免空内容,或者使用‘update’等不具备实际业务含义的词句,尽量准确描述本次修改内容。
举例:
git commit -m ‘修复刷新页面丢失数据的bug’
或可以带入Jira bug 编号:
git commit -m ‘fix: YF-1000 修复刷新页面丢失数据的bug’
【3】git pull 或者 git pull --rebase
拉取远端更新,检查是否有冲突项。处理完后再提交。
如果是使用git pull --rebase
,
合并过程如果有冲突,会中断合并生成一个临时分支,开发者必须先处理好冲突,然后
git add+git commit+git rebase --continue
三步完成对临时分支的冲突修改。
【4】git push
上传代码。
【5】git status
检查、确认一下仓库的状态,看下是否尚存未提交的文件。
2.3冲突了如何处理
出现conflict时,找到与你代码相冲突的提交记录和提交者,第一时间沟通清楚冲突的代码内容,解决冲突、自测通过后,再提交至远端。
三、日志
git log
查看提交日志
glo --pretty="%h %cd [%an] %s" --date=short
查看提交日志、成员、日期等明细
四、Alias
对于常用的git add | git commit | git status | git pull | git push等指令,可以通过设置系统alias来简化:
以mac系统为例,可以通过vi ~/.bashre
或open ~/.bashre
命令来打开系统命令行配置文件。然后输入类似以下的内容,保存并source``~/.bashre
后即可生效。
本人常用的缩写设置如下,仅供参考:
当然,省事点也可以找chatGPT:
五、Commitzen
在本文章节2.2中已经叙述了commit操作和基本规范。为了进一步统一团队提交规范,也可以使用Commitzen工具作为统一的commit cli。
示例:
此处不再展开描述,可自行学习。
六、IDE git插件
可以通过简单的点击操作即可完成常用操作,以摆脱命令行输入。此处不再赘述。
七、Jira与Git打通
可以借助gitlab的Jira插件,使Jira和git 提交之间产生关联,有利于任务追踪、Jira任务状态的自动更新等。