Git和Gitlab的部署和操作
一。GIT的基本操作
1.GIT的操作和查看内容
[root@master ~]# yum install git -y
[root@master ~]# git config --list:查看所有配置
2.GIT仓库初始化
[root@master ~]# mkdir /gittest:创建目录
[root@master ~]# cd /gittest/:进入目录
[root@master gittest]# git init:初始化
[root@master gittest]# ls -a:查看内容
. .. .git
[root@master gittest]# git status:查看工作区工作状态
3.git常见的命令:
二。Gitlab的基本内容
1.Gitlab的介绍
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 一个基于GIT的源码托管解决方案 基于Ruby on rails开发 集成了nginx postgreSQL redis sidekiq等组件
2.安装包下载和配置
1.wget -c https://packages.gitlab.cn/repository/el/9/gitlab-jh-17.1.8-jh.0.el9.x86_64.rpm
2.yum install gitlab-jh-17.1.8-jh.0.el9.x86_64.rpm
3.[root@slave3 gitlab]# vim /etc/gitlab/gitlab.rb:配置文件
在文件的96行添加以下内容来收发邮件
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['gitlab_email_from'] = '123456789@qq.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123456789@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
user["git_user_email"] = "123456789@qq.com"
4.重启服务
gitlab-ctl reconfigure
5.gitlab的命令
6.通过配置ip进行访问:
登陆密码默认在此目录下,最多24小时
vim /etc/gitlab/initial_root_password
7.进行推送代码:假设给tom分配了任务,tom需要在linux中从root上进行拉取所需要的项目
(1)与root用户建立联系,从root中下载下来所需要的项目目录
git clone http://192.168.142.138/root/gitlab1.git
(2)创建首页分支,进行添加内容(实际中的代码)
[root@slave3 ~]# cd gitlab1/:进入通过git下载下来的项目文件内
[root@slave3 gitlab1]# git init:初始话git
[root@slave3 gitlab1]# git branch index:创建分支
[root@slave3 gitlab1]# git checkout index:进入分支
切换到分支 'index'
[root@slave3 gitlab1]# echo "my document" > index.html:将自己的代码放入文件
[root@slave3 gitlab1]# git add . :将内容添加到本地
[root@slave3 gitlab1]# git status:查看状态
位于分支 index
要提交的变更:
(使用 "git restore --staged <文件>..." 以取消暂存)
新文件: index.html[root@slave3 gitlab1]# git config user.name tom:添加用户自己
[root@slave3 gitlab1]# git config user.email 123@qq.com:添加邮件
[root@slave3 gitlab1]# git push origin index:进行添加index这个分支到主项目中
(3)再查看是否添加成功:
(4)进行合并分支
(5)选择合并请求下的分配,选择右上角的项目进行合并请求,在源分支添加上tom上传的index文件,目标分支填写上root的主文件进行比较合并
填写完上述内容后进行合并,项目经理则会收到代码合并的请求,最终由项目经理进行同意请求,则整个则为完成
拓展:如何进行免密推送:
1.添加一个本地的公钥
[root@slave3 .ssh]# ssh-keygen
[root@slave3 .ssh]# cat /root/.ssh/id_rsa.pub
2.将公钥上传到tom的密钥栏