学习Git的惶恐日子

Table of Contents

 

1 Git

1.1 Git 仓库的三大区域

2 GitLab

2.1 GitLab与GitHub的不同

2.2 GitLab服务构成

2.3 GitLab的工作流程

2.4 Gitlab应用

3 Source Tree

3.1 SourceTree创建Gitflow结构

3.1.1 历史分支

3.1.2 功能分支

3.2 Gitflow各分支交互操作

3.2.1 发布分支操作

3.2.2 维护分支操作

4 小技巧


1 Git

1.1 Git 仓库的三大区域

Git 本地仓库有三大区域:工作区、暂存区、版本区。

学习Git的惶恐日子

2 GitLab

学习Git的惶恐日子

2.1 GitLab与GitHub的不同

学习Git的惶恐日子

学习Git的惶恐日子

中小型企业可以直接使用GitLab的社区免费版本

GitLab具有强大的账户权限管理功能

2.2 GitLab服务构成

Nginx静态Web服务器

Gitlab-workhorse轻量级的反向代理服务器

Gitlab-shell用于处理Git命令和修改authorized keys列表

Logrotate日志文件管理工具

Postgresql数据库

Redis缓存服务器

2.3 GitLab的工作流程

创建并克隆项目

创建项目某Feature分支

编写代码并提交至该分支

推送该项目分支至远程Gitlab服务器

进行代码检查并提交Master主分支合并申请

项目领导审查代码并确认合并申请

2.4 Gitlab应用

学习Git的惶恐日子

Gitlab后台管理视角:

Gitlab开发视角:关注代码的快速发布与整合,各自维护自己的分支,在不同环境下测试成功后,提交与Master合并的申请,等待项目领导审核。

学习Git的惶恐日子

学习Git的惶恐日子

Gitlab运维视角:关注权限管理,不同人对项目具有不同权限。

进入Gitlab后台管理界面

学习Git的惶恐日子

System Info

学习Git的惶恐日子

Logs

application.log:存放Gitlab所有的相关操作,审计记录

学习Git的惶恐日子

production.log:记录所有的访问记录

学习Git的惶恐日子

Health Check:查看Gitlab的健康状况

学习Git的惶恐日子

3 Source Tree

学习Git的惶恐日子

3.1 SourceTree创建Gitflow结构

初始点击工作流按钮

学习Git的惶恐日子

3.1.1 历史分支

学习Git的惶恐日子

3.1.2 功能分支

学习Git的惶恐日子

然后点击工作流按钮

学习Git的惶恐日子

学习Git的惶恐日子

操作完进行合并,还是点击工作流

学习Git的惶恐日子

学习Git的惶恐日子

只剩develop分支,点击查看一下,多了个index.html

学习Git的惶恐日子

3.2 Gitflow各分支交互操作

3.2.1 发布分支操作

学习Git的惶恐日子

还是点击工作流

学习Git的惶恐日子

学习Git的惶恐日子

学习Git的惶恐日子

改完bug后确定发布,继续点工作流

学习Git的惶恐日子

学习Git的惶恐日子

会发布到Master上

学习Git的惶恐日子

3.2.2 维护分支操作

学习Git的惶恐日子

学习Git的惶恐日子

学习Git的惶恐日子

学习Git的惶恐日子

修改完代码,然后结束当前bug的修复

学习Git的惶恐日子

学习Git的惶恐日子

4 小技巧

在某行看不懂的代码上,右击

学习Git的惶恐日子

会显示这行代码是谁写的

学习Git的惶恐日子

5 遇到过的问题

5.1 SourceTree克隆Url是一个无效的源路径

参考

学习Git的惶恐日子

打开git命令输入git config --system --unset credential.helper之后重新使用SourceTree克隆,弹出重新登陆账号密码,登陆之后终于检测到这是一个git仓库了,就此解决问题。

5.2 回退到指定版本

参考

1. 在Terminal 或者git控制条执行回退到某个版本命令

git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

2. 强制提交到master_ptu分支(具体需要提交到哪个分支请酌情修改,此例为提交到master_ptu分支)

git push -f -u origin master_ptu