搭建Git服务器及备份服务器

搭建Git服务器及备份服务器,第1张

OS:CentOS 7.2

Git:1.8.3.1

备份模式:

以下步骤以双机备份为例,单机备份同理,只是在镜像git项目的时候把git url换成单机中的git项目目录即可。

首先,查看系统软件库中是否有git和git的版本:

CentOS 7.2环境下的输出如下:

CentOS 7.x版本的仓库中已经附带了1.8.3.1版本的git,可以直接安装。

CentOS 6.x中的git是1.7.x版本,自带库中git版本低的linux发行版可以添加git1.8.3.1的源来安装git,但这个操作要求本机能访问互联网

其他版本的git理论上也可以,请自行测试

结果最后显示“安装完成”或“Complete”表示安装成功。可以直接使用git命令测试一下:

输出如下表示git安装成功并可用。

创建一个git用户,用来提供给外部用户以git url的方式访问git库。

在用户目录或其他对外目录中创建 /git/repos 目录,用来存放git库。

注意: 尽量使用git用户来创建该目录,方便以后git操作该目录,如果是使用其他用户创建的,记得使用以下命令将该目录的owner改为git:

为了方便访问,可以在根目录下创建一个软链连接到该目录:

这样设置后,假如以后有一个库叫 test.git ,那么就可以通过以下url来访问git库了:

创建一个测试库用来测试备份及连通性。

同主GIT服务器的《安装git》章节。

同主GIT服务器的《创建git库目录》章节。

目录结构尽量与主git服务器上的结构一致,如果不一致,使用软链的形式将git url配置为与主git服务器一致,这样保证在切换服务器时,客户端不用做修改操作。

以上个步骤中创建的 test.git 为例:

这样,主git服务器中的 test.git 就镜像到备份机中了。

如果主服务器的git项目发生了变更,可以将变更同步到备份机。

将以上同步命令写成脚本,添加一个定时任务来定时同步即可。

(待补充)

备份同步时每次都需要输入主git服务器的密码,比较麻烦,也不利于定时同步的脚本操作,可以使用ssh免密登录的方式,在主服务器上配置备份服务器的公钥。

一路Enter(回车键),完成后会打印出密钥的生成位置,通常在用户主目录的 .ssh 目录中。默认情况下会生成以下两个文件:

一定要注意上述命令中的第三步,权限要设置对,否则认证不过去不能免密登录。

如果在实际运行中,主git服务器挂了一段时间,在这段时间里一直是备份git服务器在工作,那么在修复好主服务器后需要将这一段时间的变更同步回主服务器。

操作完成后备份库自上一次同步后的更改都推送到了主库。

创建本地仓库并同步到远程

git是非常强大的版本管理工具。接下来的时间里,我就和大家絮叨絮叨git的入门:如何在本地创建一个git仓库,并把自己的本地代码同步到远程。此教程是在mac上操作的,如果您的系统是Linux,那么操作方法相同;如果您的系统是windows,那么,只需要把git的bash窗口调出来,以后的过程也都与Linux相同。

一、首先,您需要安装git,此步就忽略了,自行安装即可。

二、假设你目前还没有创建一个工作目录,那么,先创建一个目录吧,就叫StudyGit。

三、现在的StudyGit目录还只是一个本地目录,和git没有任何关联,那么,我们怎么样才能把这个目录和git关联起来呢?只需要进入StudyGit目录,运行如下命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$ git init

Initialized empty Git repository in /Users/yanyaozhen/Coding/Practice/StudyGit/.git/

提示已经说明我们初始化了一个空的本地git仓库。如果你查看StudyGit下的所有文件时,会发现一个.git 的隐藏文件,这个文件非常重要,版本的控制就靠它了。

四、接下来我们来看一个基本可以说是用的最频繁的一个命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$ git status

五、现在让我们来创建一个文件吧。我们创建一个叫“a.txt”的文本文件,并且内容如下

anyaozhen@macbookpro:~/Coding/Practice/StudyGit$ cat a.txt

1、前期准备

服务器上配置好的git

git客户端

1.1

在服务器上安装git (本机所使用的linux是ubuntu)

在服务器输入命令:sudo apt-get install git即可 然后创建名字为git的用户组和用户

1.2

下载客户端 在浏览器地址栏输入:https://git-for-windows.github.io/

回车后

点击Download进行下载

2、具体操作

2.1

在合适的位置创建一个目录充当git远程仓库(本机位置为/usr/testgit),然后使用init命令初始化仓库

在命令终端输入:

sudo git init –bare

2.2

将git init生成的目录所属者改为git

输入命令:sudo chown -R git:git *

至此服务器端的操作完成。

在客户端合适位置使用git 客户端从服务器资源

2.3

首先打开git客户端

点击Git Bash Here 后出现

在git客户端命名终端输入:

git clone git@xxxxxx:/rrrrr 其中xxxxxx是远程服务器的地址 rrrrr为git仓库所在位置

如果配置正确你选中的目录下会出现名字为testgit的文件夹 testgit文件夹下随意创建若干个文件

2.3

在git客户端上使用命令 git add 111.txt 222.txt 333.txt 或者使用git add .(将本文件夹下所有文件都add) 该命令的作用是告诉git把文件添加到git仓库

2.4

然后使用git commit命令将文件提交到git仓库

-m 后面的内容为本次提交文件的一些注释内容

此时文件还没有从本地仓库上传到远程服务器仓库

2.5

使用push命令将本地仓库中的内容提交到远程仓库

在git客户端命令终端输入:git push origin master

至此本地仓库中的文件上传已经上传到远程服务器仓库。

在其他文件夹下再次使用 git clone 命令 从远程服务器同步仓库


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/201248.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存