GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
与GitHub的主要区别是:GitHub提供公共仓库和私有仓库,但如果需要使用私有仓库,是需要收费的。而Gitlab可以免费让用户设置仓库的权限,从而可以让指定的人看到指定的内容,保证了仓库的私有性。
常用版本控制工具:
#安装git
[root@localhost ~]# yum -y install epel-release git
#安装依赖包
[root@localhost ~]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python-utils
#启动postfix
[root@localhost ~]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
#下载gitlab的rpm包
#下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm
[root@localhost ~]# rpm -ivh gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm
警告:gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID f27eab47: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:gitlab-ce-14.3.2-ce.0.el8 ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3
#修改配置文件
[root@localhost ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.8.129'
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
#查看当前gitlab版本
[root@localhost ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 14.3.2
#gilab密码存放位置
[root@localhost ~]# vim /etc/gitlab/initial_root_password
#破解密码
[root@localhost ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
GitLab: 14.3.2 (92acfb1b8a9) FOSS
GitLab Shell: 13.21.1
PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root> # id为1的是超级管理员
irb(main):005:0> user.password = '123456789'
=> "123456789" # 密码至少8个字符
irb(main):006:0> user.password_confirmation = '123456789'
=> "123456789"
irb(main):007:0> user.save! #保存修改,无问题返回true
Enqueued ActionMailer::MailDeliveryJob (Job ID: cf6bafdc-c6ef-4f1b-be68-35881b3f4e9b) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {
:args=>[#<GlobalID:0x00007f354bd4daf0 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
创建用户
使用student用户登录
创建组
设置权限
管理项目
#克隆项目
[root@localhost opt]# git clone http://192.168.8.129/root/myproject.git
正克隆到 'myproject'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (3/3), 206 字节 | 206.00 KiB/s, 完成.
[root@localhost opt]# ls
gitlab myproject
Subversion简称SVN,是当前占据主导的版本控制系统,它取代早前流行的CVS(Concurrent Version System)。SVN作为新一代的版本控制工具,不仅可以管理程序源代码,也可以应用于其他协作管理数据的工作:例如使用Subversion来合作写乐谱、共同作图。
在终端命令行中运行“svn --version”可查看当前安装的svn的版本号;通过“svn --help/-h/help/?”可以查看svn帮助,后可跟具体subcommand查询其帮助。
Subversion 的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
文章浏览阅读2.8k次。null类型是一个只有一个值得数据类型,这个值为nullnull表示一个空对象指针所以我们在用typeof来检测null的数据类型时返回值为Objectvar a = null;console.log(typeof a); //Object如果在定义一个 变量时,是用于将来保存对象的,那么我们最好将这个变量的值赋值为null.那么问题来了,js如何准确判断数据类型null呢?o..._js判断null类型
文章浏览阅读530次。https://www.jianshu.com/p/4701d006b514核心思路1. GPUImageVideoCamera 采集视频: CMSampleBufferRef 采集音频:CMSampleBufferRef2. 渲染滤镜:filter3. 输出: 显示 GPUI..._avfoundation拍摄视频
文章浏览阅读1.1w次,点赞4次,收藏27次。这一节我们将看见,如何将数值函数用矩阵表示,并使用正定矩阵来指示函数的极值。二次型定义:对nnn维实向量xxx及nnn阶实对称矩阵AAA,称以下数值函数为一个实二次型(quadratic form),为一个二次齐次多项式。f(x)=xTAx=∑i=1n∑j=1naijxixjf(x)=xTAx=∑i=1n∑j=1naijxixjf(x) = x^TAx = \sum\limi..._二次型极大值点
文章浏览阅读2.3w次,点赞2次,收藏15次。昨天买了个新3刷了OPenWrt固件,使用了一周体验了下真香。什么是软路由?答:传统路由器只能进行简单的上网设置内存小不支持定制,但是软路由有大内存可以在里面安装各种各样的软件来进行自定义操作,不仅仅可以拥有传统路由器的上网功能也可以拥有,类似于在路由器里面装一个虚拟机比如Centos或者安装一个NAS以及各种黑科技的操作,所以我为啥不花一个传统路由器的钱来购买一个很舒服的软路由呢?因..._openwrt 可道云
文章浏览阅读5k次,点赞2次,收藏35次。一、实验目的1、初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。2、通过对Wireshark抓包实例进行分析,实现捕捉DHCP、ARP、FTP、HTTP等协议的数据包;理解TCP/IP协议中多种协议的数据结构、会话连接建立和终止的过程;了解FTP、HTTP等协议明文传输特性,增强安全意识。二、实验原理2..._wireshark嗅探分析
文章浏览阅读7.6k次,点赞3次,收藏23次。测试平台Testin云测试平台是一个基于真实终端设备环境,基于自动化测试技术的7x24云端服务.Testin在云端部署了千余款测试终端,并开放这些智能终端给全球移动开发者进行测试,开发者只需在Testin平台提交自己的App应用,选择需要测试的网络、机型,便可进行在线的自动化测试,无须人工干预,自动输出含错误、报警等测试日志、UI截图、内存/CPU/启动时间等在内的标准测试报告。三大特性1..._pad云测试平台
文章浏览阅读577次。本文主要是关于DMP数据管理平台的认知和浅析,enjoy~一. DMP系统的定义和产品功能DMP即 data management system,数据管理平台,单从名称上来看,这个定义还是非常宽泛的,所以国内很多企业或者个人会将dmp的核心功能理解错。结合我个人的经验和专业的书籍,DMP其实是一个全面的数据收集,加工,整合的平台,吸收各种数据源的数据,以用户为基本单位,清洗,整理形成结构化的数据表..._dmp的ab标签
文章浏览阅读609次。RabbitMQ 五种基本模式demo(Java版本)代码非本人所写,只是将代码稍微做了些改动,在自己的环境中运行起来了,侵删五种模式都需要引用的文件ConnectionUtils.java创建并设置factory的基本属性,并返回新创建的connectionpackage test.rabbitmq.rabbitmq.mq5s;import com.rabbitmq.client.*;import java.io.IOException;import java.util.concur_java rabbitmq demo
文章浏览阅读1.3k次。源代码在后文,大家一起学习。霸屏浏览器的作用,就是让客户机仅提供Web访问功能,屏蔽其它所有功能,即不允许客户机退出浏览器界面,或者是使用客户机的其它功能,也不允许关机、重启命令。常常用于触摸屏浏览器、自助机浏览器。注意:部分操作系统因为优化和修改,导致该软件需要用管理员权限运行:安装后右击桌面的图标->点属性->点兼容性->勾选以管理员身份运行此程序。软件信息软件授权:免费软件软件类....................._霸屏浏览器
文章浏览阅读8.8k次。import java.math.BigDecimal;import java.math.BigInteger;import java.nio.ByteBuffer;import java.nio.charset.Charset;import java.text.NumberFormat;import java.util.Set;import com.ruoyi.common.util..._convertbytebuffer
文章浏览阅读361次。$(function() { /** * 自动生成分页 * * @data 为分页实体 * @suffix 分页标签后缀 * @pageTargetId 分页打印的目标ID * @statisticsTargetId 统计数据的目标ID * */ function printPage(data, suffix, pageTargetId, statisti_javascript 通用 工具
文章浏览阅读6.1k次,点赞5次,收藏49次。6D姿态估计的理解及BOP数据集参数说明一、6D姿态姿态估计在百度上搜会出现“姿态估计问题就是确定某一三维目标物体的方位指向问题”的解释,但是具体来讲确定某一三维目标物体的方位指向问题到底是什么意思呢?首先,6D表示6个自由度,3个自由度的位移(Translation)和3个自由度的空间旋转(Rotation)..._位姿估计数据集