一.前言

最近博主碰到一个需求,我在个人服务器上有个程序,但是我想修改它,显然在本地修改然后同步到服务器是最好的选择,因此Git便成了最好的选择,于是我便将自己的服务器搭建成了一个Git服务器,然后用来在本地和服务器上进行代码的同步。为方便日后查看,便有了此文,希望也能大家有所帮助。

注:本次实验是实验环境为CentOS 7.6

二.配置过程

2.1 安装Git

在安装Git前可以先检查一下服务器上是否已经安装了Git,若没有则需要手动进行安装。

# git安装
yum –y install git

# 验证是否安装成功
git --version

若是其他Linux系统如Ubuntu等,请自行查询相应的安装命令。

2.2 创建Git用户

# 创建git账户
sudo useradd git

# 设置git账户密码,需要连续输入两次密码
passwd git

# 查看git账户是否创建成功
cd /home
ls -all

若看到如下图所示的信息则说明Git安装成功:

git user

2.3 配置免密登录

为避免每次访问服务器都要输入密码,可以配置一下免密登录。

步骤一:进入Git用户所在的目录并切换到Git用户

cd /home/git
su git

步骤二:在git用户根目录下创建.ssh目录:

mkdir .ssh

步骤三:进入.ssh目录,创建用来保存用户ssh登录的公钥的文件authorized_keys

touch authorized_keys

步骤四.ssh目录的权限必须是700,而authorized_keys的权限必须是600,为确保权限正确可以使用下列命令进行设置:

sudo chmod -R 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys

步骤五:将服务器本地个人PC端创建的公钥复制进authorized_keys,然后保存退出。

2.4 Git仓库

2.4.1 创建仓库

/home/git/目录下可以创建自己的Git仓库:

git init --bare 仓库名.git
# git init --bare demo.git

若创建成功,则会出现下述信息:

Initialized empty Git repository in /home/git/demo.git/

2.4.2 操作仓库

在个人PC端输入如下命令便可成功将仓库克隆下来:

# xx.xx.xx 表示自己的服务器IP
git clone git@xx.xx.xx:/home/git/demo.git

之后便可以在该仓库目录下进行各种操作,例如创建一个名为test.txt的文本文件,然后用git命令将其推到远程私有Git服务器上:

git add .
git commot -m "create test.txt"
git push

对应的操作截图如下所示:

git op

在服务端本地,先创建一个目录,然后在该目录下同样使用git命令将该仓库克隆一份:

git clone git@localhost:/home/git/demo.git

对应的操作截图见下图,可以看到我在本地创建的test.txt已经同步到了服务器端。

server git

然后,我们便可以在本地编辑文件,然后将其push到服务器上,然后在服务器上利用pull命令将修改拉到服务器端。

三.结语

Git服务器最常用的还是在多人之间进行代码的同步(像我这种奇怪的需求应该还是很少见的),其实还有一种更简便的操作:将自己本地和服务器的ssh公钥添加到Github上,直接利用Github来进行同步,这样操作会更简单,唯一的缺陷是速度可能会比较慢。

以上便是本文的全部内容,要是觉得不错的话就点个赞或关注一下博主吧,你们的支持是博主继续创作的不解动力,当然若是有任何问题也敬请批评指正!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐