学习Git的惶恐日子
Table of Contents
1 Git
1.1 Git 仓库的三大区域
Git 本地仓库有三大区域:工作区、暂存区、版本区。
2 GitLab
2.1 GitLab与GitHub的不同
中小型企业可以直接使用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应用
Gitlab后台管理视角:
Gitlab开发视角:关注代码的快速发布与整合,各自维护自己的分支,在不同环境下测试成功后,提交与Master合并的申请,等待项目领导审核。
Gitlab运维视角:关注权限管理,不同人对项目具有不同权限。
进入Gitlab后台管理界面
System Info
Logs
application.log:存放Gitlab所有的相关操作,审计记录
production.log:记录所有的访问记录
Health Check:查看Gitlab的健康状况
3 Source Tree
3.1 SourceTree创建Gitflow结构
初始点击工作流按钮
3.1.1 历史分支
3.1.2 功能分支
然后点击工作流按钮
操作完进行合并,还是点击工作流
只剩develop分支,点击查看一下,多了个index.html
3.2 Gitflow各分支交互操作
3.2.1 发布分支操作
还是点击工作流
改完bug后确定发布,继续点工作流
会发布到Master上
3.2.2 维护分支操作
修改完代码,然后结束当前bug的修复
4 小技巧
在某行看不懂的代码上,右击
会显示这行代码是谁写的
5 遇到过的问题
5.1 SourceTree克隆Url是一个无效的源路径
打开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