git 服务器
使用 git 在服务器上创建仓库,用于上传存储代码文件,将所有的项目内容都存放在自己的服务器中,可确保数据的保密性和安全性
创建 git 服务器的方式有两种,可以通过以下命令初始化仓库
- git init:正常初始化仓库,类似与我们看到的 github 上的样子,可以看到我们提交的文件内容
- git init –bare:初始化一个裸仓库,只能看到项目的版本信息,不能看到项目文件
1、git init
初始化仓库
mkdir -p /home/git/init
cd /home/git/init
git init

修改配置文件
1、修改 config 配置文件
cd .git
vim config
# 添加上如下内容
[receive]
denyCurrentBranch = ignore
2、进入 hooks 文件夹,新增 post-receive 文件
cd hooks
vim post-receive
# 增加如下内容
#!/bin/sh
unset GIT_DIR
cd ..
git checkout -f
保存退出后,需要赋予权限
chmod +x post-receive
本地拉去项目测试
1、在本地新建文件夹,进行项目拉取
git clone root@[ip]:/home/git/init test1

2、创建文件并提交测试

git add .
git commit -m "test"
git push

3、在服务器上查看
cd /home/git/init
ll -a

注意:发现在服务器上对项目文件进行操作并不会有效果,即使删除了文件,在本地拉取项目任然不变,而在服务器上只要执行 git checkout -f 即可更新项目内容

同理,如果发现服务器上的内容没更新时,只需执行如下代码即可更新
git checkout -f
2、git init –bare
创建裸仓库,用于做为git服务端共享仓库
初始化仓库
mkdir -p /home/git/bare.git
cd /home/git/bare.git

创建同步项目的文件
因为使用 bare 创建的是裸仓库,不能存放项目文件,所以我们可以在服务器上创建一个文件夹,同来实时拉取项目内容(与本地拉取一样,只不过会实时进行)
cd /home/git
# 克隆项目
git clone root@119.23.209.205:/home/git/bare.git bare

修改配置文件
cd /home/git/bare.git/hooks
vim post-receive
# 添加如下内容并保存
#!/bin/bash
cd /home/git/bare
env -i git pull
进行授权
chmod +x post-receive
拉取项目测试
git clone root@[ip]:/home/git/bare test2

新建文件上传测试

查看服务器
# 查看 bare 裸仓库
cd /home/git/bare.git
ll -a
因为这是这个裸仓库,所以我们只能看到更新的版本信息,但却没有具体项目内容

# 查看同步目录
cd /home/git/bare
ll -a

此时在我们配置的同步项目文件中可以看到刚才提交的内容,因为我们每一次 push 到服务器的时候,都会自动执行 post-receive 文件,为此目录自动拉取代码
与本地目录一样,也可以在这里进行相应的 git 操作
3、配置 ssh 公钥
谢谢光临~
- 本文链接:https://lxjblog.gitee.io/2022/07/28/Git%E6%9C%8D%E5%8A%A1%E5%99%A8/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。