1.引言
1.1 版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
它可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。
1.2 版本控制工具
1.2.1 集中式版本控制工具
svn:
一旦服务器炸了,就没用了,因为只有一个单一的集中管理的服务器,保存所有文件的修订版本,所有人都通过客户端连到这台服务器,取出最新的文件或者提交更新,一旦宕机,谁都无法提交更新,也就无法协同工作。
1.2.2 分布式版本控制工具
Git:
Git是一个免费的、开源的分布式版本控制系统,
可以快速高效地处理从小型到大型的各种项目。
优点:
1.先上传到自己的本地仓库,再上传到服务器
即使服务器炸了,也不会丢失,所以现在都用这个。
2.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
3.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
Git 种类》GitHub GitEE GitLab
1.GitHub
范围广,但国内用会卡顿
2.GitEE
码云(国内) 不卡顿 比较快 成本比较低不需要自己维护 但不安全
3.GitLab
成本高 自己维护 买服务器和使用运维人员 但安全(局域网部署)
用的最多 中大型企业
2.搭建虚拟机环境
2.1 安装一台虚拟机
ip地址要记住
2.1.1 设置机器名
》hostnamectl set-hostname xxx
2.1.2 修改域名映射
》vi /etc/hosts
192.168.177.xxx xxx
2.1.3 固定IP地址
》vi /etc/sysconfig/network-scripts/ifcfg-ens33
改:
BOOTROTO=”static”
添:
IPADDR=”192.168. xxx.xxx”(你的ip地址)
NETMASK=”255.255.255.0”
GATEWAY=”192.168.xxx.2”
DNS1=”114.114.114.114”
DNS2=”8.8.8.8”
(附注:部分镜像需加入ONBOOT=“yes”)
2.1.4 重启网络
》systemctl restart network
2.1.5 测试
》ping www.baidu.com -c 3
2.1.6 关闭防火墙
》systemctl stop firewalld
》systemctl disable firewalld
2.1.7 更改安全机制
》vi /etc/selinux/config
改:
SELINUX=disabled
2.1.8 重启
》reboot
3.GitLab环境搭建(MobaXterm)
3.1 安装相关依赖
》yum -y install policycoreutils openssh-server openssh-clients postfix
3.2 启动ssh服务&设置为开机启动
》systemctl enable sshd && sudo systemctl start sshd
3.3 设置postfix开机自启,并启动,postfix支持gitlab发信功能
链接:
》vi /etc/postfix/main.cf
改:
inet_protocols = ipv4
inet_interfaces = all
下面可能会报错,所以加个这个
互相通信 idea 和 github 需要用ssh协议和管道postfix
》systemctl enable postfix && systemctl start postfix
3.4 开放ssh以及http服务,然后重新加载防火墙列表
有些防火墙会自动开,所以可以再写一遍
有FirewallD is not running 代表成功的,可以不写该命令
》firewall-cmd --add-service=ssh --permanent
》firewall-cmd --add-service=http --permanent
》firewall-cmd –reload
如果关闭防火墙就不需要做以上配置
3.5 下载gitlab包,并且安装
离线版的gitlab 在线版少很多插件
把离线版的gitlab放在root目录
目的是: 上传安装包至root目录,并解压
》yum install policycoreutils-python
----- 配置环境
Is this ok [y/d/N]:y
》rpm -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
3.6 修改gitlab配置
》vi /etc/gitlab/gitlab.rb
改:
1.external_url ‘http://192.168.x.xx:82’
改成自己的ip地址
2.nginx[‘listen_port’] = 82
修改gitlab访问地址和端口,默认为80,我们改为82,防止冲突
题外话:
如何在文件中查询对应的单词
/某个单词 查找 n键切换
3.7 重载配置及启动gitlab
》gitlab-ctl reconfigure 重新生效 需要加载很久
》gitlab-ctl restart 重启
3.8 把端口添加到防火墙(可以不写)
有FirewallD is not running 代表成功的
》firewall-cmd --zone=public --add-port=82/tcp --permanent
》firewall-cmd --reload
3.9 浏览器访问Gitlab,并重置ROOT用户密码
(访问Gitlab的URL地址:http://192.168.xxx.xxx:82/)
启动成功后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可
假设密码设置成 root123
3.10 使用root账户登录gitlab管理界面
3.11 创建工作组
Create a group
》写个Group name为asdf_group
Visibility level 写 private就行
3.12 创建工程项目
new project 》web_demo
3.13 创建用户
Setting 小把手》Admin Area
Overview》 Users
New User
3.14 重置用户密码
edit
3.15 将用户添加至工作组中
asdf_group》Members
其中要填owner 私有的
3.16 登录
1.登录个人账户的Gitlab管理页面
2.重置个人账户密码
3.登录个人账户的Gitlab管理页面
4.Git安装及idea配置Git
4.1 Git安装
下载64-bit Git for Windows Setup.
一直下一步就行,安装完成后
右击 Git Bash输入git命令,出现以下命令就成功了。
4.2 idea配置Git
4.2.1 打开File-Settings-Version Control-Git
如下图Path to Git executeable:
里面写git安装目录中xx:\Git\bin\git.exe
然后test,出现版本号就代表成功了。
4.2.2 选择Git作为版本控制
VCS - Enable Version Control Integration…
然后选择git,ok,如果不安装git,就会报下面的错
4.2.3 Add
点击项目,然后VCS-Git-Add添加当前项目下的文件
4.2.4 Commit
Git>Commit Directory…提交(储存在本地)
提交是备注
点击 Set and Commit
红色文件就变成绿色文件了
4.2.5 远程配置和克隆
1.Git>Repository>Remotes
2.在GitLab工程项目下克隆项目远程路径
SSH 是Linux用的,我们用第二个Clone with HTTP
3.Idea配置项目的Gitlab的远程仓库地址
4.输入用户和密码!
5.成功了以后,就会出现该用户。
4.2.6 上传
Git>Repository>Push
然后出现Push successful表示成功。
注意:git吃内存 所以有时候会比较卡。
4.2.7 下载
新建个文件夹,
Check out from Version Control -Git
里面填对应的URL 远程仓库的地址,
和上面新建文件的地址,然后clone就好了
----2022.01.11&01.13