基于windows系统上搭建git-server服务

5,360 阅读3分钟

[TOC]

基于windows系统上搭建git-server服务

使用工具git for windowCopSSH

已测试系统:window 10、window 2008 server r2

第一步:安装git for window

  1. 打开Git安装软件

    2017-10-21_111715
    2017-10-21_111715

  2. 选择安装路径,我这就选择安装到默认路径

    2017-10-21_112900
    2017-10-21_112900

  3. 一路next下去,直到软件安装完成

第二步:安装CopSSH

  1. 打开CopSSH安装软件

    2017-10-21_113003
    2017-10-21_113003

  2. 选择安装路径,我这就选择安装到默认路径

    2017-10-21_113019
    2017-10-21_113019

  3. 设置一个想要通过ssh连接的用户以及密码,改成自己能记住的

    2017-10-21_113220
    2017-10-21_113220

    2017-10-21_115427
    2017-10-21_115427

    在window server系统上用户密码必须符合系统要求的密码格式,否则用户不会被添加

    2017-10-21_114424
    2017-10-21_114424

  4. 安装过程中一直点确定即可,会发现用户里面多了两个copssh建的用户

    2017-10-21_113304
    2017-10-21_113304

    2017-10-21_115927
    2017-10-21_115927

第三步:配置CopSSH的配置

  1. 打开COPSSH Control Panel

    2017-10-21_115947
    2017-10-21_115947

    如果service状态是红色,请先卸载CopSSH,然后在计算机管理面板下的用户列表中删除copssh添加的用户,之后重新执行第二步的操作

    2017-10-21_115732
    2017-10-21_115732

  2. 点击add按钮

    2017-10-21_120243
    2017-10-21_120243

  3. 选择要添加的用户

    2017-10-21_120557
    2017-10-21_120557

  4. 一路forward下去,最后apply,将系统的用户注册到ssh服务下

第四步:测试ssh服务是否正常

使用ssh mgit@127.0.0.1测试本地ssh服务是否正常,如果可以通过ssh连接成功,则命令行中的用户会切换成mgit

2017-10-21_121719
2017-10-21_121719

此时在命令行中输入pwd命令看下当前的位置

2017-10-21_130503
2017-10-21_130503

此时的命令行的根目录对应的是CopSSH的安装目录

第五步:设置git-server

  1. 在第四步中pwd输出地址下,在命令行执行mkdir code && cd code && git init --bare code.git

  2. 此时将位置切换到你想git clone的目录下,执行git clone命令

    2017-10-21_122017
    2017-10-21_122017

    错误提示是缺少可执行的命令。

    将git for window安装目录下mingw32\libexec\git-core中所有的文件复制到CopSSH安装目录下的bin文件夹 下,如有重复的文件就跳过

  3. 再执行一次上面的命令

    2017-10-21_143103
    2017-10-21_143103

常见问题

remote host identification has changed

2017-10-21_121325
2017-10-21_121325

ssh连接后的位置不在/home/[user用户名]的目录下

使用CopSSH安装时设置的用户,在连接后的目录会是在/var下;如果使用的是自己手动创建的用户的话,在连接后的目录会是在/home/[user用户名]下

2017-10-21_144202
2017-10-21_144202

2017-10-21_130503
2017-10-21_130503

2017-10-21_130515
2017-10-21_130515

fatal: does not appear to be a git repository

git clone usr@host:path/to/gitRepository(path/to/gitRepository是ssh连接后~目录的相对地址)