Git 基本使用及规范

31 阅读3分钟

_——_提交不规范,亲人两行泪

一、拉取代码库及分支操作

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 ~/.bashreopen ~/.bashre命令来打开系统命令行配置文件。然后输入类似以下的内容,保存并source``~/.bashre后即可生效。

本人常用的缩写设置如下,仅供参考:

当然,省事点也可以找chatGPT:

五、Commitzen

在本文章节2.2中已经叙述了commit操作和基本规范。为了进一步统一团队提交规范,也可以使用Commitzen工具作为统一的commit cli。

示例:

此处不再展开描述,可自行学习。

六、IDE git插件

可以通过简单的点击操作即可完成常用操作,以摆脱命令行输入。此处不再赘述。

七、Jira与Git打通

可以借助gitlab的Jira插件,使Jira和git 提交之间产生关联,有利于任务追踪、Jira任务状态的自动更新等。