跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

本地 Git 服务器部署指南:从零搭建私有代码仓库

在 Linux 服务器上部署本地 Git 服务的完整流程。首先准备服务器和本地环境,包括安装 Git 并配置 SSH。接着在服务器端创建裸仓库并设置权限,确保 SSH 服务正常。随后在本地机器配置远程仓库地址,将代码推送到私有服务器。最后通过服务器端验证分支记录和客户端克隆测试来确认部署成功。该方案适用于企业将代码从公共平台迁移至内部私有仓库的场景。

林间仙子发布于 2026/3/27更新于 2026/9/1081 浏览

前言

在实际开发工作中,我们经常需要将代码从公共平台(如 Gitee、GitHub)迁移到企业内部服务器。本文将详细介绍如何在 Linux 服务器上快速部署 Git 服务,并完成代码迁移。

一、环境准备

1.1 服务器信息
  • 系统: Ubuntu/CentOS
  • 用户: dengji(改为自己服务器的用户名称)
  • IP 地址: 192.168.1.114(改为自己服务器的地址)
  • 项目: STM32 底板代码(改为自己需要的文件夹名)
1.2 本地环境
  • 系统: Windows + Git Bash
  • 项目路径: /g/1.ros-car-project/stm32-code/git_p(需要上传内容的目录)

二、服务器端部署步骤

2.1 登录服务器
ssh [email protected]
2.2 创建 Git 仓库目录
# 创建仓库存储目录
mkdir -p ~/git_repos
cd ~/git_repos
# 查看目录结构
ls -la
2.3 初始化裸仓库
# 为项目创建裸仓库(无工作区)
git init --bare STM32 底板代码.git

什么是裸仓库?

  • 不含工作目录,只保存版本历史
  • 适合作为中央仓库供多人协作
  • 文件结构包含 hooks、objects、refs 等
2.4 设置仓库权限
# 设置目录权限
chmod -R 755 ~/git_repos
chmod -R 755 ~/git_repos/STM32 底板代码.git
# 验证权限
ls -la ~/git_repos/
2.5 确保 SSH 服务正常运行
# 检查 SSH 服务状态
sudo systemctl status ssh
# 如果未运行,启动服务
sudo systemctl start ssh
# 设置开机自启
# sudo systemctl enable ssh

三、本地机器配置

3.1 检查现有仓库状态
# 进入本地项目目录
cd /g/1.ros-car-project/stm32-code/git_p
# 查看当前远程配置(通常指向 Gitee/GitHub)
git remote -v
# 查看所有分支
git branch -a
# 查看提交历史
git log --oneline

预期输出示例:

(此处原图链接已移除)

3.2 添加服务器为新的远程源
# 添加公司服务器,命名为 company
git remote add company [email protected]:/home/dengji/git_repos/STM32 底板代码.git
# 验证远程配置
git remote -v

四、代码推送与迁移

4.1 推送代码到服务器
# 推送当前分支
git push company
# 推送主分支
git push company master
# 推送其他重要分支
git push company ceshi
git push company 2025-10-14(测试可以接受舵机角度)
# 推送所有标签
git push company --tags
4.2 批量推送所有分支(推荐)
# 一键推送所有分支和标签
git push company --all
git push company --tags

五、部署验证

5.1 服务器端验证
# 登录服务器
ssh [email protected]
# 进入仓库目录
cd ~/git_repos/STM32 底板代码.git
# 验证分支存在
git branch -a
# 查看提交记录
git log --oneline --graph --all
# 查看文件树
git ls-tree --full-tree -r HEAD
5.2 本地克隆测试
# 在本地其他目录测试克隆
cd /tmp
git clone [email protected]:/home/dengji/git_repos/STM32 底板代码.git test-clone
# 进入克隆的仓库
cd test-clone
# 查看分支
git branch -a
# 查看文件
ls -la

目录

  1. 前言
  2. 一、环境准备
  3. 1.1 服务器信息
  4. 1.2 本地环境
  5. 二、服务器端部署步骤
  6. 2.1 登录服务器
  7. 2.2 创建 Git 仓库目录
  8. 创建仓库存储目录
  9. 查看目录结构
  10. 2.3 初始化裸仓库
  11. 为项目创建裸仓库(无工作区)
  12. 2.4 设置仓库权限
  13. 设置目录权限
  14. 验证权限
  15. 2.5 确保 SSH 服务正常运行
  16. 检查 SSH 服务状态
  17. 如果未运行,启动服务
  18. 设置开机自启
  19. sudo systemctl enable ssh
  20. 三、本地机器配置
  21. 3.1 检查现有仓库状态
  22. 进入本地项目目录
  23. 查看当前远程配置(通常指向 Gitee/GitHub)
  24. 查看所有分支
  25. 查看提交历史
  26. 3.2 添加服务器为新的远程源
  27. 添加公司服务器,命名为 company
  28. 验证远程配置
  29. 四、代码推送与迁移
  30. 4.1 推送代码到服务器
  31. 推送当前分支
  32. 推送主分支
  33. 推送其他重要分支
  34. 推送所有标签
  35. 4.2 批量推送所有分支(推荐)
  36. 一键推送所有分支和标签
  37. 五、部署验证
  38. 5.1 服务器端验证
  39. 登录服务器
  40. 进入仓库目录
  41. 验证分支存在
  42. 查看提交记录
  43. 查看文件树
  44. 5.2 本地克隆测试
  45. 在本地其他目录测试克隆
  46. 进入克隆的仓库
  47. 查看分支
  48. 查看文件

更多推荐文章

查看全部
  • Pico 4XVR 1.10.13 版本下载安装指南
  • SVN Web 管理工具 svnWebUI 部署与权限配置实战
  • 基于 AI 设计技能的独立前端开发全流程实战
  • 多模态知识图谱增强多模态推理能力(ACL2024)
  • sherpa-onnx:将 Whisper、SenseVoice 等模型部署到手机的离线语音框架
  • Python 将 Markdown 文件转换为 Word(docx)完整实现
  • 2026 AI 编程新范式:从 Copilot 到 Agentic Coding
  • 基于 AI Agent 的通用米家智能家居控制方案
  • 若依、芋道、JeecgBoot、Jeesite 四大 Java 框架深度选型指南
  • 本地知识库与 RAG 技术详解:大模型如何结合外部资料库
  • Linux 线程概念与 pthread 接口入门
  • 大模型应用开发基础:从原理到 LangChain 实战
  • 使用 OpenAI API 构建网页版 AI 聊天助手
  • OpenClaw 开源项目 Clawra 搭建指南:生成 AI 伴侣与动态视频
  • libwebkit2gtk-4.1-0 安装失败?试试这些兼容替代方案
  • 设计模式:代理模式详解与实战应用
  • C++ 实现红黑树:深入 STL map 底层原理
  • 前端SSE(Server-Sent Events)实现详解:从原理到前端AI对话应用
  • 马尔可夫决策过程
  • EnvPilot:基于 Rust 的跨平台环境变量管理工具

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online