春风得意马蹄疾 记录技术,分享生活
随笔: 35 分类: 15 评论: 2 阅读: 7,265

Git over HTTPS 配置实录:通过 CDN 加速访问 Git 仓库

📅 发表于 2026-09-07 16:24:54 👁 阅读 462 次 💬 评论 0

写在前面

本文记录在服务器上配置 Git over HTTPS 的完整过程,并整理日常使用 Git 的操作指南。配置完成后,克隆、上传、拉取、同步等所有操作均可通过 CDN 加速访问,稳定可靠。

一、初始配置(只需一次)

第一次使用 Git,需要设置你的姓名和邮箱,这会记录在每次提交中,让别人知道是谁提交的代码:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

然后设置 postBuffer(解决通过 CDN 上传大文件超时的问题):

git config http.postBuffer 524288000

查看当前配置:

git config --list

二、克隆仓库(git clone)

把服务器上的仓库完整复制到本地。执行后会在当前目录创建一个与仓库同名的文件夹:

git clone https://git_xiaoajun:你的密码@xiaoajun.cn/git/仓库名.git

例如克隆 test-project 仓库:

git clone https://git_xiaoajun:你的密码@xiaoajun.cn/git/test-project.git

执行后当前目录会多出一个 test-project 文件夹,里面就是仓库的所有文件和历史记录。

三、上传代码(git push)

修改代码后,需要三步操作上传到服务器:

cd test-project          # 进入仓库目录

git add .                # 第1步:添加所有改动的文件
git commit -m "说明文字"  # 第2步:提交到本地仓库(说明文字描述本次改动)
git push                 # 第3步:上传到服务器

示例:新增了一个 README 文件后上传:

git add .
git commit -m "新增README文档"
git push

四、拉取代码(git pull)

当服务器上的代码有更新(比如别人推送了新代码),你需要拉取到本地:

git pull

这会自动下载并合并服务器的最新代码到你的本地。

五、同步代码(git fetch + merge)

如果只想看看服务器有什么更新,但不想立即合并到本地:

git fetch               # 下载服务器最新代码(不合并)
git log origin/master    # 查看服务器上的提交历史
git merge origin/master  # 确认后再手动合并

通常直接用 git pull 即可,它等于 fetch + merge。

六、分支操作

分支用于同时维护多条开发线,比如一个修 Bug、一个加新功能:

git branch dev          # 创建名为 dev 的新分支
git checkout dev        # 切换到 dev 分支
git checkout master     # 切回 master 主分支
git merge dev           # 把 dev 分支的代码合并到当前分支
git push origin dev     # 上传 dev 分支到服务器
git branch -d dev       # 删除本地 dev 分支(合并完成后)

七、查看状态

git status              # 查看当前改了哪些文件
git log --oneline       # 查看提交历史(简洁模式)
git diff                # 查看具体改了什么内容

八、创建新仓库

需要新建仓库时,分两步操作:

第1步:SSH 登录服务器建仓库

ssh hw@origin.xiaoajun.cn
sudo /usr/local/bin/create-git-repo.sh 新仓库名
exit

第2步:回本地克隆

git clone https://git_xiaoajun:你的密码@xiaoajun.cn/git/新仓库名.git

九、完整工作流程图

Git工作流程

如上图所示,日常开发就是不断循环:编辑文件 → git add → git commit → git push,以及 git pull 同步他人的代码。

十、网络架构

网络架构

所有操作均通过 CDN(xiaoajun.cn)加速,无需直连服务器。

十一、命令速查表

命令速查表

十二、常见问题

Q:push 时报错超时?

执行 git config http.postBuffer 524288000 增大缓冲区即可。

Q:push 时报 “fetch first”?

服务器有别人推的新代码,先 git pull 再 git push。

Q:clone 出来是空仓库?

说明仓库刚创建还没有任何提交。把文件放进去后 git add . → git commit → git push 即可。

Q:忘记是否配置过作者信息?

执行 git config --list 查看所有配置。

十三、配置文件位置(服务器端)

用途 路径
nginx git 配置 /etc/nginx/snippets/git.conf
HTTP 认证文件 /etc/nginx/git.passwd
git 系统配置 /etc/gitconfig
建仓脚本 /usr/local/bin/create-git-repo.sh
仓库根目录 /home/git_xiaoajun/repos/

— 完 —

📂 分类:git 服务器维护
评论 (0)
技术分享者 · 记录成长的每一步
✨ 特效 ON