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

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

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

林间仙子发布于 2026/3/27更新于 2026/7/2455 浏览

前言

在实际开发工作中,我们经常需要将代码从公共平台(如 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. 查看文件
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 移动端 H5 开发与 PC 端 Web 开发的区别
  • 时空反向传播 (STBP) 算法原理与硬件协同设计
  • 基于 ResNet18 的轻量级 OCR WebUI 实战指南
  • MCP 服务集成实战:browser-tools-mcp 配置教程
  • AionUi:首个开源运行时生成式 UI 框架,意图驱动界面渲染
  • Ubuntu 下安装 OpenClaw 搭建 AI 助理
  • Web 渗透实战:OWASP Top 10 核心漏洞原理与防御
  • 利用 Anonymous GitHub 工具实现代码双盲评审匿名化
  • VS Code 前端开发 AI 助手对比:Copilot、通义灵码、iFlyCode 与 Trae
  • ROS1 机器人 SLAM:Gmapping 算法详解与实战
  • 基于 OpenClaw 与飞书搭建 7x24 小时服务器运维机器人
  • 无人机多源融合定位:GPS/北斗标定、抗干扰与精度提升指南
  • SketchUp STL 插件:3D 建模与打印无缝转换指南
  • Spring Boot 调用 WebService 接口的两种方法:动态调用与静态调用
  • WinClaw:Windows 平台 AI 自动化测试与业务处理工具
  • 前端 EME DRM 反录屏原理与实战代码
  • 缓存算法实战:LRU 与 LFU 的 Java 实现与原理解析
  • Java Map 和 Set 数据结构详解与对比
  • Python 爬虫实战:使用 DrissionPage 抓取 BOSS 直聘岗位数据
  • LangChain 智能体中间件如何参与 Agent、Model 和 Tool 交互

相关免费在线工具

  • 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