git init
创建新仓库或
git clone
克隆现有项目,通过
git add
和
git commit
提交更改,配置
.git
目录管理版本,若需共享,可将文件夹设为共享路径,通过
file://
协议实现本地网络协作,无需远程服务器即可实现基础代码管理。
如何在本地服务器搭建Git仓库?分步骤详解
第一步:准备服务器环境
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y && sudo yum install git -y # CentOS
sudo adduser gituser sudo passwd gituser
第二步:初始化Git仓库
sudo mkdir -p /var/repo/myproject.git sudo chown gituser:gituser /var/repo/myproject.git
su - gituser cd /var/repo/myproject.git git init --bare
裸仓库不含工作目录,专用于代码托管
第三步:配置访问权限
ssh-keygen -t ed25519
id_ed25519.pub
内容追加到服务器: sudo -u gituser mkdir -p /home/gituser/.ssh sudo -u gituser touch /home/gituser/.ssh/authorized_keys sudo chmod 700 /home/gituser/.ssh sudo chmod 600 /home/gituser/.ssh/authorized_keys
# 设置仓库目录权限 sudo chown -R gituser:gituser /var/repo/
sudo groupadd dev_team sudo usermod -aG dev_team user1 sudo usermod -aG dev_team user2 sudo chgrp -R dev_team /var/repo/ sudo chmod -R 775 /var/repo/
第四步:客户端操作指南
git clone gituser@your-server-ip:/var/repo/myproject.git
git add . git commit -m "更新说明" git push origin master
master
/main
(保护分支)dev
feature/xxx
安全与维护要点
git bundle
创建快照: git bundle create /backup/myproject.bundle --all
0 2 * * * gituser git bundle create /backup/$(date +%Y%m%d).bundle --all
git --version
高级配置(可选)
安装GitWeb或配置Nginx反向代理
# 在hooks目录创建可执行文件 vi /var/repo/myproject.git/hooks/post-receive 添加自动部署脚本
git config --global pack.packSizeLimit 512m git config --global core.compression 9
问题诊断指南
ssh -T gituser@yourserver # 测试连接 ls -l /var/repo/ # 检查权限
git reset --hard HEAD~1 git push -f origin master
引用说明
本文操作命令参考自Git官方文档(https://git-scm.com/book/)及Linux权限管理最佳实践指南,关键安全配置参考NIST网络安全框架标准。