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

相关推荐
happyness445 小时前
Git:AI编程时代的“安全带“与“时光机“
git·ai编程
To_OC5 小时前
踩坑无数!终于捋顺Git基础核心工作流(新手必看)
git·程序员
xuhaoyu_cpp_java10 小时前
Git学习(三)
经验分享·笔记·git·学习
C137的本贾尼11 小时前
Git基本操作(二):add与commit,把文件交给Git管理
git
咸鱼永不翻身12 小时前
Git Hooks—提交Commit前检查本地时间是否不对
git·git-hooks·git钩子
John_ToDebug12 小时前
如何针对指定目录生成 Git Patch 并精准应用到其他分支
chrome·git
Joy T13 小时前
【Web3】Hardhat工程架构中Solidity与TypeChain的协作机制
git·架构·typescript·web3·智能合约·hardhat·typechain
步十人13 小时前
【Git】基础概念与在vscode中的简单使用
git
代码中介商13 小时前
Git 版本控制完全指南:从分支管理到远程协作
linux·git
无风听海20 小时前
git fsck 深度解析 Git 仓库的体检医生
git