本文以我部署好 GitLab 服务端后的初次使用过程为例,以一个完全没接触过 Git 的团队成员视角及顺序,介绍第一次使用 GitLab 时需要注意的地方,故文中夹杂了 Git 操作。后续会推出 GitLab Web 部分的操作教程。
Git
Git 与 SVN 等工具最大的区别就是代码库是分布式,分支切换、版本回退都是指针操作,效率很高,同时当团队成员很多、代码量庞大的时候,性能也非常优秀。
使用 Git 主要分两部分,服务端和客户端,现在 Git 服务端已经部署完毕 — GitLab,可以根据自己的个人喜好选择 GUI 程序或命令行使用 Git 服务。
Git 客户端
客户端环境,访问官网,直接安装就好。
官网安装包附带 Git GUI,当然你也可以选择其他任意第三方,或者使用 IDE 自带 Git 插件。
安装完成后需要设置提交者信息,Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
SSH
虽然可以使用 https 连接 Git 远端仓库,但此处推荐使用 SSH,不仅仅是因为更安全,同时 SSH 使用 Git 协议速度更快。
生成 SSH 密钥
1
| ssh-keygen -t rsa -C "your_email@example.com"
|
中间有可选输入密码的地方,直接按回车就好。
Windows 中 /C/Documents and Settings/username/.ssh 下会有两个文件
- 如果有关联其他服务器的 SSH 密钥,并且需要与当前 GitLab 隔离开
1
| ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/gitlab
|
最后的 “gitlab” 即为自定义的 SSH 文件名,然后在 .ssh 文件夹中创建 config 文件(没有扩展名),在其中输入
1 2 3 4 5
| Host gitlab.com HostName 192.168.2.156 User git IdentityFile ~/.ssh/gitlab
|
其中 192.168.2.156 为我部署过的的 GitLab 服务端地址。
对于原 SSH 也可以使用这种方式分配路径。
同时此方法也可以用来配置多 GitHub 账户。
GitLab 中配置公钥
打开 id_rsa.pub 复制公钥,粘贴到 GitLab 中 个人资料设置/ SSH 密钥中。
测试 SSH 连接
1
| ssh -T git@192.168.2.156
|
其中 192.168.2.156 为我部署过的的 GitLab 服务端地址。
如果是配置了多 SSH,直接可以使用 gitlab.com 测试,即
如果测试成功会出现
1
| Welcome to GitLab, USERNAME!
|
创建第一个项目
- 配置提交时的 Git 用户名/邮箱,此处配置的为全局用户名/邮箱
1 2
| git config --global user.name "用户名" git config --global user.email "密码"
|
- 在本地新建文件夹,如Git-Guide
- 在 test 内创建一个简单文件,例如 README.md
- 在 GitLab 中创建项目 Git-Guide
- 使用 Git bash 打开到 Git_Guide
- 创建代码仓库
1
| git remote add origin git@gitlab.com:lixuan/Git-Guide.git
|
1
| git commit "initial commit"
|
1
| git push -u origin master
|
Git 开发流程
最少需要两个分支
- 根据个人需要创建 bugfix、feature 等其他分支,并谨慎合并到主分支。
- 禁止使用 -ff or –force 等强制提交,覆盖中央仓库的内容,除非你知道你在做什么!
提交说明结构
动作 + 组件 + [原因-索引]
动作:即提交的行为,句首字母大写。有文章认为只使用 Update、Add、Remove
三个动作就可以满足使用。但是为了更精准地描述,可以另外配合 Polish(改进)、Fix(修复)、 Rework(修改)、Allow(允许)、Check(审查)、Merge(合并)。每一次提交只应该有一个动作,多 个动作请适当拆分。
组件:指的操作内容,应该用精准的名称,类名方法名等,方便快速定位。不应该提供宽泛的文件名。
原因及索引:必要情况下用精简的语句描述原因。
Git 操作小结
1 2 3 4 5 6 7
| git config --global user.name "用户名" git config --global user.email "邮箱" git config user.name "用户名" git config user.email "邮箱"
|
基本操作
1
| git remote add origin git@gitlab.com:lixuan/test.git
|
1
| git push -u origin master
|
1
| git clone git@gitlab.com:lixuan/Git-Guide.git
|
相关连接
廖雪峰 Git 教程