当前位置: 首页 > news >正文

window上建立git远程仓库

在 Windows 上建立 Git 远程仓库可以通过以下步骤实现,这里提供两种主要方法:

方法一:使用纯 Git 创建裸仓库(推荐)

这是最轻量级的方式,适合个人或小团队使用。

  1. 安装 Git

    • 下载安装 Git for Windows
    • 安装时勾选所有默认选项,特别是 Git Bash
  2. 创建裸仓库

    # 打开 Git Bash
    cd /d/  # 进入 D 盘
    mkdir myrepo.git
    cd myrepo.git
    git init --bare
    
  3. 设置共享权限

    • 右键点击 myrepo.git 文件夹 → 属性 → 共享 → 高级共享
    • 勾选 “共享此文件夹”
    • 设置共享名(如 gitrepo
    • 权限 → 添加用户并赋予 “完全控制”
  4. 使用远程仓库

    # 在客户端电脑克隆仓库
    git clone //[计算机名]/gitrepo/myrepo.git# 或使用 IP 地址
    git clone //192.168.1.100/gitrepo/myrepo.git
    

方法二:使用 SSH 协议(更安全)

适合需要加密传输的场景

  1. 启用 OpenSSH 服务器

    # PowerShell 管理员模式
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    Start-Service sshd
    Set-Service -Name sshd -StartupType Automatic
    
  2. 创建裸仓库

    mkdir C:\git\myproject.git
    cd C:\git\myproject.git
    git init --bare
    
  3. 配置 SSH 访问

    # 创建 .ssh 目录
    mkdir C:\Users\YourUsername\.ssh# 获取客户端公钥,保存到 authorized_keys
    notepad C:\Users\YourUsername\.ssh\authorized_keys
    
  4. 客户端连接

    git clone ssh://YourUsername@your-windows-ip/C:/git/myproject.git
    

方法三:使用第三方工具(功能更全)

适合需要 Web 界面和高级功能的团队

  1. 安装 Gitea (推荐)

    # 下载
    curl -L https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-windows-4.0-amd64.exe -o gitea.exe# 安装为服务
    .\gitea.exe web --install-service
    
  2. 访问 Web 界面

    • 浏览器打开 http://localhost:3000
    • 完成初始配置
    • 创建新仓库
  3. 客户端使用

    git clone http://your-windows-ip:3000/username/myrepo.git
    

常用管理命令

# 创建新仓库
git init --bare newrepo.git# 添加远程
git remote add origin //server/gitrepo/myrepo.git# 推送代码
git push -u origin main# 修复权限问题
cd /d/myrepo.git
chmod -R 755 .

防火墙配置

# 开放文件共享端口
netsh advfirewall firewall add rule name="Git SMB" dir=in action=allow protocol=TCP localport=445# 开放 SSH 端口
netsh advfirewall firewall add rule name="Git SSH" dir=in action=allow protocol=TCP localport=22# 开放 HTTP 端口 (Gitea)
netsh advfirewall firewall add rule name="Gitea HTTP" dir=in action=allow protocol=TCP localport=3000

优化建议

  1. 固定 IP:为服务器设置静态 IP
  2. DDNS:使用花生壳等工具解决动态 IP 问题
  3. 备份:定期备份仓库目录
    # 简单备份脚本
    Compress-Archive -Path C:\git -DestinationPath D:\backups\git-$(Get-Date -Format yyyyMMdd).zip
    
  4. 权限管理
    # 创建专用用户组
    net localgroup GitUsers /add
    icacls "C:\git" /grant:r "GitUsers:(OI)(CI)F"
    

选择哪种方式取决于您的需求:

  • 快速共享:方法一(文件共享)
  • 安全传输:方法二(SSH)
  • 完整功能:方法三(Gitea)

对于大多数 Windows 用户,方法一(文件共享)是最简单直接的解决方案,无需额外配置即可在局域网内使用。

http://www.dtcms.com/a/300173.html

相关文章:

  • Sklearn 机器学习 数值指标 entropy熵函数
  • Linux网络-------1.socket编程基础---(TCP-socket)
  • base64魔改算法 | jsvmp日志分析并还原
  • 在 Dell PowerEdge T440 上通过 iDRAC9 安装 Proxmox VE
  • Flutter开发实战之网络请求与数据处理
  • bmp280的压力数据采集(i2c设备驱动+设备树编写)
  • ACO-OFDM 的**频带利用率**(单位:bit/s/Hz)计算公式
  • 建筑施工场景下漏检率↓76%!陌讯多模态融合算法在工程安全监控的落地实践
  • OpHReda精准预测酶最佳PH
  • 进制间的映射关系
  • 2025牛客暑期多校第4场——G
  • Polyhedral Approaches in Combinatorial Optimization组合优化中的多面体方法(下)
  • Java实现大根堆与小根堆详解
  • 每日面试题15:如何解决堆溢出?
  • 如何检查服务器数据盘是否挂载成功?
  • Android-三种持久化方式详解
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-32,(知识点:模数转换器,信噪比,计算公式,)
  • 深入理解C语言快速排序与自省排序(Introsort)
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • Compose笔记(三十八)--CompositionLocal
  • 安卓学习记录1——持续更新ing
  • React组件中的this指向问题
  • 三防平板支持DMR对讲有什么用?实现高效集群调度
  • 如何理解“测试场景”与“测试要点”的区别和联系?
  • Linux系统架构核心全景详解
  • 从0到1学Pandas(六):Pandas 与数据库交互
  • KiCad 与 CircuitMaker 使用方法分享:从零开始学电子设计
  • JavaWeb(苍穹外卖)--学习笔记11(Filter(过滤器) 和 Interceptor(拦截器))
  • Windows开发,制作开发软件安装程序(一)
  • MySQL的底层原理--InnoDB数据页结构