赞
踩
GitLab是一个基于Git的web应用程序,它用于代码版本控制、问题追踪、代码审查、持续集成和持续交付。GitLab是一个开源的、自托管的Git存储库管理系统,它允许你通过一个网页界面进行Git存储库的托管、代码评审、问题追踪、CI/CD等操作,是一个强大、灵活、开源的平台,能够满足企业和开发人员的多种需求。
代码托管和版本控制:GitLab提供了一个易于使用的版本控制系统,能够管理和跟踪代码的变化。你可以通过上传代码文件或者设置项目为公共或私人来管理你的Git存储库。
问题追踪:GitLab提供了一个问题追踪系统,能够跟踪代码的缺陷、错误和特性请求等问题。
代码审查:GitLab允许你对代码文件进行评审。你可以在代码合并请求中添加注释、请求改进、建议等。
持续集成和持续交付:GitLab提供了强大的持续集成和持续交付功能。集成了CI/CD工具可周期性地构建、测试和部署应用程序。
访问权限管理:GitLab允许你设置存储库和项目的访问权限,以限制不同用户的访问。
除此之外,GitLab还提供了Wiki系统、代码片段管理、成员管理等功能,使项目协作更加容易和高效。
github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装。
gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装。
官网有最新的安装方式:GitLab下载安装
[root@localhost data]#yum install -y policycoreutils-python.x86_64 openssh-server
Postfix是一个邮件服务器,GitLab发送邮件需要用到。
Postfix邮箱
[root@localhost data]#yum install -y postfix
开源免费,社区免费版本适合中小型公司
差异化的版本管理,离线同步以及强大分支管理功能
便捷的GUI操作界面以及强大账户权限管理功能
集成度很高,能够集成绝大多数的开发工具
支持内置HA,保证在高并发下仍旧实现高可用性
(1)创建并克隆项目
(2)创建项目某Feature分支
(3)编写代码并提交至该分支
(4)推送该项目分支至远程Gitlab服务器
(5)进行代码检查并提交Master主分支合并申请
(6)项目领导审查代码并确认合并申请
[root@localhost data]#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash #添加GitLab社区版Package
[root@localhost data]#yum install -y gitlab-ce.x86_64 #安装gitlab社区版包
GitLab默认的配置文件路径是/etc/gitlab/gitlab.rb
[root@localhost data]#vim /etc/gitlab/gitlab.rb
默认的站点Url配置项是:
external_url 'http://gitlab.example.com'
[root@localhost data]#gitlab-ctl reconfigure #重新配置并启动,如果启动时报错将服务器内存调整为大于4G就可以了
gitlab-ctl start #启动
gitlab-ctl restart #重启
gitlab-ctl stop #停止
gitlab-ctl status #查看
[root@localhost data]#cat /etc/gitlab/initial_root_password #查看root用户的密码位置,24小时有效,过了24小时密码会自动删除
在浏览器访问即可
[root@localhost data]#ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:RiUGE0iu0J0U8/02QpQMKHW93Tdwc6/sWl2ECpvJOTE root@localhost.localdomain The key's randomart image is: +---[RSA 2048]----+ | o*+**+.. | | ..+o= =+o . o..| |. ..+ . +oE. o.oo| | . . o.o.O..o..| | . S @ .o o.| | . o o o..| | .. .| | .. | | .. | +----[SHA256]-----+ #一路回车生成密钥
Git常用命令
git remote add [remote] [url] #添加(关联)远程库 git remote set-url [remote] [url] #修改远程仓库 git clone [url] #克隆远程仓库项目 git remote #查看指定远程仓库命名简写 git remote –v #查看远程仓库详细信息以及名称对应URL git push -u remote master #第一次推送master分支的所有内容 git fetch remote [branch/tag] #下载远程仓库的所有变动 git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支) git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突 git push remote [branch/tag] --all #推送所有分支到远程仓库 git remote rename [oldname] [newname] #修改远程仓库名称 git remote remove [name] #删除远程仓库名称以及URL地址 git remote add [remote] [url] #添加(关联)远程库 git remote set-url [remote] [url] #修改远程仓库 git clone [url] #克隆远程仓库项目 git remote #查看指定远程仓库命名简写 git remote –v #查看远程仓库详细信息以及名称对应URL git push -u remote master #第一次推送master分支的所有内容 git fetch remote [branch/tag] #下载远程仓库的所有变动 git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支) git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突 git push remote [branch/tag] --all #推送所有分支到远程仓库 git remote rename [oldname] [newname] #修改远程仓库名称 git remote remove [name] #删除远程仓库名称以及URL地址 1、git clone 与 git pull 相同点 相同点:都是从远程服务器拉取代码到本地 2、git clone 与 git pull 不同点 git clone 是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。 git pull 在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。 git pull = git fetch + git merge 3、使用场景 通常情况下,远程操作的第一步,是使用git clone从远程主机克隆一个版本库到本地。 本地修改代码后,每次从本地仓库push到远程仓库之前都要先进行git pull操作,保证push到远程仓库时没有版本冲突。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。