Git
的使用方法
什么是Git
一个分布式的代码管理工具。与SVN
这种集中式的代码管理工具相比,有传输速度快,独特的分支管理等优点。最大的便利之处是可以同时进行多人协作,共同维护同一份代码。
GitFlow
工作流
虽然Git
的使用十分自由,但一般来说,开发人员会遵循约定俗成的规则来进行敏捷开发,该工作流程被称为GitFlow
。
GitFlow
的常用分支命名:
- Master:部署在生产环境的最主要的分支,唯一且最稳定。
- Develop:部署在开发环境里的分支,开发人员可以在该分支上进行修改合并等操作。
- Feature:从Develop分支衍生出来的,可以同时存在多个Feature分支,但需要遵循
feature/XXX
的格式命名。开发人员可以在该分支上开发各自任务中的功能点,最后合并回Develop分支。
如何使用Git
进行开发协作
Git
的安装和常用命令
- 按照国际惯例,先来下载安装。
- 安装包:请选择适合自己电脑的版本进行安装。
- 按顺序执行以下命令,将远程仓库
document
的克隆到本地并创建新的feature分支进行编辑开发。
```powershell将远程仓库克隆到本地。
注意:第一次克隆时需要验证身份,请按提示输入GitLab的用户名和密码。
git clone http://git.cq.cn.fujitsu.com/summit_team2/document.git
打开document文件夹
cd document
查看本地分支情况
git branch
将远程的develop分支拉取到本地,并切换到该分支
git checkout -b develop origin/develop
从develop派生出新的feature分支,并切换到该分支
git checkout -b feature/XXX
回到桌面文件夹中,对文档进行编辑,保存。
查看文档变更状态
git status
将修改内容从工作区移到暂存区
git add .
提交修改内容,打log保存修改履历。
git commit -m ‘修改内容…’
将本地分支推送到远程仓库上,并建立映射关系。
git push -u origin feature/XXX
此后需要继续修改分支内容的话,可以重复后面三步操作,直到修改完成。
<a name="30509e22"></a>
### 提交合并请求
从菜单`Merge Request`->`New Merge Request`进入以下页面,新建合并请求。
![092223.png](https://cdn.nlark.com/yuque/0/2021/png/127593/1626334981322-bf4866b4-49ab-40f4-99ee-647e49e40852.png#clientId=u3b38e48a-7394-4&from=ui&id=ua44ef235&margin=%5Bobject%20Object%5D&name=092223.png&originHeight=349&originWidth=1290&originalType=binary&ratio=1&size=27420&status=done&style=none&taskId=u05d88951-2bc6-48ba-a343-b3535771f12)
- 左边`Source branch`:选择你自己新创建的feature分支。
- 右边`Target branch`:选择develop分支。
点击绿色按钮继续,进入以下页面。
![093643.png](https://cdn.nlark.com/yuque/0/2021/png/127593/1626334995075-a11a2050-efe0-467d-a1a9-42f47be7f664.png#clientId=u3b38e48a-7394-4&from=ui&id=u3d1550a4&margin=%5Bobject%20Object%5D&name=093643.png&originHeight=864&originWidth=1671&originalType=binary&ratio=1&size=56683&status=done&style=none&taskId=u691e4d16-54be-4823-b3b1-9e6ff56e0b0)
- Title:简要填写本次修改内容。
- Description:可以参考模板填写本次修改的具体内容。
- Assignee:合并请求的审核者,`@chen.xiaohui`
- Reviewer:文档审核者,可以随意填。
- Milestone:里程碑,可填可不填。
- Labels:标签,可填可不填。
- Merge options:一般默认就可以了。
<a name="58b16d17"></a>
### 删除本地分支
审核通过后,你修改的内容就会被合并到`develp`分支里,同时会删除远程仓库中的`feature/XXX`分支。请用以下命令同步删除你本地仓库里的`feature/XXX`分支。
```powershell
#先切换回本地的develop分支
git checkout develop
#从远程拉取代码同步更新develop分支
git pull
#打开本地文档,查看你修改的内容是否已经同步更新
#确认过后就可以删除本地的feature分支
git branch -d feature/XXX
最后,一个小彩蛋
如果实在是对命令行不熟悉的话,可以使用图形化界面的Git管理工具SourceTree
进行以上操作。
- 软件安装包地址:chenxh/software
以上。Happy Working!