Gitlab及Git使用说明

目 录
1 Gitlab及Git介绍说明 5
1.1 什么是 Gitlab 5
1.2 什么是Git 5
1.3 Git 家族成员 5
1.4 Gitlab版本 5
1.5 Gitlab 优势 5
1.6 Gitlab 主要服务构成 6
1.7 Gitlab 简单工作流程 6
1.8 Gitlab用户角色 6
2 Gitlab安装与使用 7
2.1 Gitlab安装说明(管理员) 7
2.1.1 安装依赖环境 7
2.1.2 yum 安装gitlab-ce 7
2.1.3 加载配置 8
2.1.4 登录并修改默认的root用户密码 8
2.1.5 优化:用域名访问 9
2.1.6 本地配hosts进行域名解析 9
2.1.7 gitlab日常管理 10
2.2 Gitlab的使用(管理员) 10
2.2.1 Gitlab相关命令 10
2.2.2 gitlab安装目录 10
2.3 Gitlab的使用 11
3 Git安装与使用 14
3.1 Windows Git安装 14
3.1.1 下载Git 14
3.1.2 安装 15
3.1.3 Git配置 28
3.2 Ubuntu Git安装 34
3.3 Git的使用 34
3.3.1 创建项目(代码维护者(Maintainer)) 34
3.3.2 建本地分支并上传分支(代码维护者(Maintainer)) 35
3.3.3 克隆项目(下载代码) 36
3.3.4 切换分支 37
3.3.5 拉取代码 37
3.3.6 提交更改 37
3.3.7 拉取分支代码 37
3.3.8 Git查看远程地址 38
3.3.9 打标签 40
3.3.10 Git常用命令 41
4 TortoiseGit的使用 42
4.1 安装文件 43
4.1.1 下载地址 43
4.1.2 公司内部地址 43
4.2 安装及配置 43
4.2.1 安装 44
4.2.2 配置 44
4.3 克隆代码 48
4.4 比较差异 49
4.4.1 比较目录中所有文件的差异 49
4.4.2 比较单个文件的差异 50
4.5 提交文件 51
4.6 还原文件 53
4.7 追溯历史更改 54
4.8 其他用法 55
5 Git管理流程与方法 55
5.1 管理流程图 55
5.2 管理代码的说明 56
5.3 VIVADO工程代码 56
5.3.1 工程文件内容 56
5.3.2 上传内容 56
5.4 Java工程代码 56
5.4.1 工程文件内容 56
5.4.2 Git管理内容 56
5.5 Vue 工程代码 57
5.5.1 工程文件内容 57
5.5.2 Git管理内容 57
5.6 React工程代码 57
5.6.1 工程文件内容 57
5.6.2 Git管理内容 57
6 附录 57
6.1 极客Gitlab教程 57
6.2 官网Git文档指南 58
6.3 TortoiseGit 详细教程 59
6.3.1 安装包公司内部地址 59
6.4 Git可视化工具-idea插件使用 59
6.5 Vivado 工程文件内容说明 59
6.6 Git拉取某个分支代码步骤 59
6.7 Git如何建本地分支 59
6.8 Git 如何在远程分支上新建分支 59
6.9 分支代码合并到master分支 60
6.10 Git下载指定历史版本的代码 60
6.11 如何撤销 Git 添加命令? 60
6.12 Git回滚版本 62
6.13 撤销commit 65
6.14 Git删除文件 65
6.15 git stash命令用法 65
6.16 获取最近一次提交的作者信息 66
6.17 当commit后,发现之前有人提交,不能push如何处理? 66

正 文

1Gitlab及Git介绍说明

1.1什么是 Gitlab
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发。
开发语言:Ruby,Go
功能:管理项目源代码、版本控制、代码复用与查找、权限管控。

1.2什么是Git
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
1.3Git 家族成员
Git:是一种版本控制系统,是一组命令,是一种工具,没有可视化界面;
Gitlib:是用于实现 Git 功能的开发库;
Github:是一个在线代码托管仓库,包含一个网站界面,向互联网开放;(同类网站码云,云效,工蜂)
GitLab:是一个基于 Git 实现的在线代码仓库托管软件,提供web可视化管理界面,通常用于企业团队内部协作开发。

1.4Gitlab版本
包括社区免费版和企业收费版。

1.5Gitlab 优势
※开源免费,适合中小型公司将代码放置在系统中,社区版目前提供的功能完全能满足中小型公司的日常使用,如果想升级为收费版也可以无缝对接;
※差异化的版本管理,任何微小的变动都会被记录下来;
※离线同步,不依赖网络通信,可以将本地的所有 Git 操作在有网络的时候同步到 Gitlab 仓库中;
※强大分支管理功能,可以针对不同的环境、不同的业务逻辑创建独立的分支,然后进行并行独立的维护和更新;
※GUI 操作界面
※强大账户权限管理,不同账户的权限各不相同;
※集成度很高,能够集成绝大多数的开发工具,比如 JIRA,Idea;
※支持内置 HA,保证在高并发下仍然可以高可用性,无需搭建第三方高可用服务,保证用户在 7*24 小时均能使用。

1.6Gitlab 主要服务构成
Nginx :静态 Web 服务器:proxy 代理,处理所有 HTTPS 静态访问请求
Gitlab-workhorse :轻量级的反向代理服务器:处理一些较大的文件上传下载,以及我们经常使用的 git push 命令行操作;
Gitlab-shell:用户处理 Git 命令和修改 authorized keys 列表(ssh 公钥列表);
Logrotate:日志文件管理工具,负责Gitlab 日志切割、打包等操作;
Postgresql:数据库,保存所有 Gitlab 数据信息;
Redis:缓存服务器,缓存数据库信息;
sidekiq:用于在后台执行队列任务(异步执行);
unicorn:http服务软件,GitLab Rails应用是托管在这个服务器上面的。

1.7Gitlab 简单工作流程
※创建并克隆项目;
※创建项目某 Feature 分支;
※编写代码并提交至该分支;
※推送该项目分支到远程 Gitlab 服务器;
※进行代码检查并提交 Master 主分支合并申请;
※项目主管审查代码并确认合并申请;
1.8Gitlab用户角色
GitLab的6种角色包括:

  1. 访客(Guest):可以只读的方式访问所有项目;

  2. 报告者(Reporter): GitLab项目的测试人员:该角色在Guest角色权限基础上多了观看、克隆Gitlab项目的代码权限,但是不能提交项目代码,即只能看不能改。可以创建问题、发表评论和查看项目;

  3. 开发者(Developer):GitLab项目的项目开发人员:该角色可以克隆、开发、提交项目代码,以及创建问题和发表评论;

  4. 代码维护者(Maintainer):GitLab项目的管理员,可以管理项目的成员、分支和标签,以及创建、关闭和合并问题;负责代码合并与代码审核。

  5. 拥有者(Owner):拥有项目的所有权限,可以进行项目的管理和设置;

  6. 管理员(Administrator):可以管理所有项目和GitLab实例,包括用户和权限设置等及GitLab日常维护。

2Gitlab安装与使用
2.1Gitlab安装说明(管理员)
注:安装环境为Centos7
2.1.1安装依赖环境

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients perl
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

2.1.2 yum 安装gitlab-ce

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum -y install gitlab-ce

2.1.3加载配置

sudo gitlab-ctl reconfigure

2.1.4登录并修改默认的root用户密码
需要执行以下命令:

cd /opt/gitlab/bin
gitlab-rails console
cd /opt/gitlab/bin
> u=User.where(id:1).first
>User.all
> u.password='123456cs'
> u.password_confirmation='123456cs'
> u.save!
> exit

见下图操作:
在这里插入图片描述

2.1.5优化:用域名访问
修改/etc/gitlab/gitlab.rb的这一个参数:
external_url “http://gitlab.szyt.com”
执行命令,让修改生效:

sudo gitlab-ctl reconfigure

2.1.6本地配hosts进行域名解析
在CentOS7上,可以通过编辑“/etc/hosts”文件来配置主机文件。在该文件中添加以下代码:
IP地址 域名
见图片:

在这里插入图片描述

在完成DNS服务器和主机文件的配置之后,可以通过以下命令来重启网络服务:

systemctl restart network

重启网络服务后,您的CentOS7服务器应该已经配置好了域名解析。

2.1.7gitlab日常管理

  gitlab-ctl start|stop|status|restart

2.2Gitlab的使用(管理员)
2.2.1Gitlab相关命令

gitlab-ctl start #启动全部服务
gitlab-ctl restart#重启全部服务
gitlab-ctl stop #停止全部服务
gitlab-ctl restart nginx #重启单个服务,如重启nginx
gitlab-ctl status #查看服务状态
gitlab-ctl reconfigure #使配置文件生效
gitlab-ctl show-config #验证配置文件
gitlab-ctl uninstall #删除gitlab(保留数据)
gitlab-ctl cleanse #删除所有数据,从新开始
gitlab-ctl tail <service name>查看服务的日志
gitlab-ctl tail nginx  #如查看gitlab下nginx日志
gitlab-rails console  #进入控制台

2.2.2gitlab安装目录
以下是gitlab常用的默认安装目录
※gitlab组件日志路径:/var/log/gitlab
※gitlab配置路径:/etc/gitlab/ 路径下有gitlab.rb配置文件
※应用代码和组件依赖程序:/opt/gitlab
※各个组件存储路径: /var/opt/gitlab/
※仓库默认存储路径 /var/opt/gitlab/git-data/repositories
※版本文件备份路径:/var/opt/gitlab/backups/
※nginx安装路径:/var/opt/gitlab/nginx/
※redis安装路径&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值