gray
red
blue
green
purple
个人GIT服务器搭建
个人GIT服务器搭建
by WZhang published 2026-02-04 views 59

个人Git服务器搭建

Background

  1. 国内网络连接 github 有时过于费劲,被折磨得不行
  2. 在家用台式机写代码,周末去图书馆用笔记本,有频繁的不同设备代码同步需求
  3. 当然,更重要有代码版本管理需求

遂,自己用云服务器搭建一个私人代码版本管理服务器!


1. 服务器搭建

1.1 基本配置

  • 操作系统:ubuntu
  • 规格: cpu-2核,内存-4GB,SSD-70GB,带宽- 6Mbps


1.2 安装软件

  • 针对 Ubuntu
sudo apt update
sudo apt install git


  • 针对CentOS
sudo yum update
sudo yum install git


1.3 创建专用用户

新增一个linux用户,专用于git私服的操作

sudo adduser git	# 创建用户
sudo passwd git		# 设置密码

默认会在/home下创建 git文件夹,即/home/git

注:后续本地仓库推送至远程仓库需使用该账号和密码


1.4 初始化仓库

  • 切换至专用用户
su - git	# 切换到git用户
cd /home/git	# 到git用户目录下(切换用户时,默认已操作)
  • 建文件夹(用于存放各仓库)
mkdir repositories
  • 建仓库(按照自己需求)
cd repositories
mkdir blog.git	# 建立一个blog.git仓库
  • 仓库初始化
cd blog.git
git init --bare

至此,服务器已经搭建好了。so easy!


2. 本地连接

2.1 git 下载安装

  • 针对window

  • 针对mac,除了官网下载外,还可以

    brew install git
    
  • 针对 ubuntu

    sudo apt update
    sudo apt install git
    
  • 针对centos

    sudo yum update
    sudo yum install git
    

2.2 本地仓库初始化

进入git命令行

mkdir blog
cd blog
git init	# 初始化本地仓库

2.3 推送到服务器

链接本地与远程服务器,git remote add origin 用户名@服务器IP:路径

git remote add origin git@122.51.17.133:/home/git/repositories/blog.git

推送

git push -u origin master


一些其他操作

  • 移除远程仓库:git remote rm origin

  • 从服务器拉取仓库: git pull origin master

  • 强制推送(谨慎使用):git push -f origin master


至此,已经满足基本需求!


3. 一些优化

3.1 免密登录/链接


3.2 设置域名


3.3 可视化


3.4 备份与迁移


附录. Git 基本语法*


git init <path>		#初始化一个仓库
git add <file>		#把文件加入到版本控制
git commit -m 		#提交到仓库

git clone	<repo>	#克隆仓库
git clone	<repo> <directory>	#克隆到指定目录
git clone git@github.com:fsliurujie/test.git         --SSH协议
git clone git://github.com/fsliurujie/test.git          --GIT协议
git clone https://github.com/fsliurujie/test.git      --HTTPS协议

mkdir <dir>	#创建一个目录
cd <dir>
git init
git clone [url]


touch hello.py
git add hello.py	#添加到缓存区
git commit -m"说明"		#提交到仓库
git diff
git rm <file>
git mv


#远程库和本地库保持完全一致
git remote add origin git@github.com:Deepsprings/Recording.git
git push origin master
0comment(s)