了解代码管理系统Git相关产品

了解代码管理系统Git相关产品

常见的版本控制系统

一、Git

Git 是一个开源的分布式版本控制系统,用于有效、高速的处理版本控制,从很小到非常大的项目都支持。一个原始 Git 版本仓库,可以让其他主机克隆这个原始版本仓库,从而使得一个 Git 版本仓库可以同时分布到不同的主机上,并且每台主机的版本库都是一样的, 并没有主次之分,极大的保证了数据的安全性,并使得用户能够自主选择 Git 服务器推送文件。作为一个分布式的版本控制系统,在 Git 中并不存在主库这样的概念。每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而设计的一个开放源码的版本控制系统,是作为一种过渡方案用来替代 BitKeeper。BitKeeper 一直是 Linux 内核开发人员在全球使用的主要源代码工具。因为开放源码社区中有些人认为 BitKeeper 的许可证并不适合开放源码社区的工作,所以 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初研发 Git 的目的是为了辅助 Linux 内核开发,但目前在很多其他自由软件项目中也使用了 Git。

二、GitHub

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 可以提供给用户空间创建 Git 仓储,保存用户的一些数据文档或者代码等。GitHub 作为开源代码库以及版本控制系统,目前拥有 140 多万开发者用户。随着越来越多的应用程序转移到了云上,GitHub 已经成为了管理软件开发以及发现已有代码的首选方法。GitHub 可以托管各种 Git 库,并提供一个 Web 界面,但与其它像 SourceForge 或 Google Code 这样的服务不同,GitHub 的独特卖点在于从另外一个项目进行分支的简易性。

三、GitLab

GitLab 是一个基于 Git 的项目管理软件,用于仓库管理系统的开源项目。使用 Git 作为代码管理工具,并在此基础上搭建起来 Web 服务。Git、Gitlab、Github 都是基于 Git 的,可以说是 Git 的衍生品。

Git功能特性

克隆数据库版本

提交代码

合并分支

拉取合并分支

代码冲突解决

了解 Git 和 Gitlab 仓库的部署及操作

资源列表

操作系统配置主机名/IP地址CentOS 7.92C4Gmaster/172.16.10.10CentOS 7.92C4Gclient/172.16.10.11基础环境

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

关闭selinux

sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

reboot

时间同步

yum -y install chrony

systemctl start chronyd

chronyc sources -v

修改主机名

hostnamectl set-hostname master

hostnamectl set-hostnmae client

修改hosts文件

cat >> /etc/hosts << EOF

172.16.10.10 master

172.16.10.11 client

EOF

一、git代码仓库部署操作

1.1 安装Git

节点都要安装

yum -y install git

# 创建仓库

mkdir /root/httpd.git

# 创建用户并设置密码

useradd git

echo "123456" |passwd --stdin git

# 设置属主属组

chown -Rf /root/httpd.git

1.2 设置免密

client端执行

ssh-keygen

ssh-copy-id 172.16.10.10

1.3 测试上传代码

client端执行

git clone http://172.16.10.10/root/httpd.git

cd /root/httpd

# 配置用户名称和电子邮件地址。每次 Git 提交时都会引用这两条信息,记录提交了文件的用户,并且会随更新内容一起被永久纳入历史记录。

git config --global user.name "zhangsan" ##定义用户

git config --global user.email "root@kgc.com ##定义邮箱

# 查看变量

git config --list

# 定义远程的 Git 服务器

git remote add server root@172.16.10.10:/root/httpd.git

# 创建项目上传到Git服务器

echo "This is a fiel" > readme.txt

git add readme.txt

git commit -m "add file"

git push -u server master

1.4 测试代码下载

client端执行

cd /root

mkdir test

cd /root/test

git clone http://172.16.10.10/root/httpd.git

二、Gitlab代码仓库部署操作

2.1 安装Gitlab

服务端安装Gitlab,客户端需要使用git 命令,要安装git

服务端安装Gitlab

# yum安装

##配置gitlab的yum源

vim /etc/yum.repos.d/gitlab-ce.repo //添加GitLab 源

[gitlab-ce]

name=gitlab-ce

baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

repo_gpgcheck=0

gpgcheck=0

enabled=1

gpgkey=https://packages.gitlab.com/gpg.key

================================================================

##清除缓存

yum clean all

##创建缓存

yum makecache

yum -y install gitlab-ce

# tar 包安装

##上传 git-ce.tar.gz 包

##解压安装

tar zxf git-ce.tar.gz

cd git-ce/

yum -y localinstall *.rpm

# 查看gitlab 服务状态

gitlab-ctl status

客户端安装GIt

yum -y install git

#配置用户名称和电子邮件地址。每次 Git 提交时都会引用这两条信息,记录提交了文件的用户,并且会随更新内容一起被永久纳入历史记录。

git config --global user.name "zhangsan" ##定义用户

git config --global user.email "root@kgc.com ##定义邮箱

2.2 修改配置文件

vim /etc/gitlab/gitlab.rb

##筛选到 external_url ,设置域名或IP地址

external_url 'http://172.16.10.10'

# 重新加载配置文件

gitlab-ctl reconfigure

2.3 登录web页面,创建项目

输入 服务端 IP地址:172.16.10.10 ,重置密码,登录用户为root,密码为重置密码

创建项目

2.4 测试上传代码

client端执行

git clone http://172.16.10.10/root/kgc.git

cd /root/kgc

echo "This is a fiel" > readme.txt

git add readme.txt

git commit -m "add file"

git push -u origin master

Username for 'http://172.16.10.10':root ##用户为 root

Password for 'http://root@172.16.10.10':yan123456 ##密码为 web端设置的密码

2.5 测试代码下载

client端执行

cd /root

mkdir test

cd /root/test

git clone http://172.16.10.10/root/kgc.git

相关文章

智慧停车场建设内容有哪些?
1. 基于PHP的开源论坛软件phpwind_9.0.1
亚洲第一高喷泉在哪里?你去过吗?