zoukankan      html  css  js  c++  java
  • 搭建git for windows服务器

    文档出处 :http://blog.csdn.net/code_style/article/details/38764203

          http://blog.csdn.net/aaron_luchen/article/details/10498181

    既然git在linux下面非常好用,为什么还要搭建git windows的服务器,因为不是所有的用户都需要在linux下面做开发,对吧,还有很多用户选择使用windows做开发。

          看到很多网友尝试部分不成功,所以对内容部分做了修改。

          日期:2015.10.14

          科普一下:

          1、TortoiseGit是什么?没错,是个乌龟,就像它的壳一样,仅仅是个壳,所以离不开真正的git(git for windows版本名字又叫msysgit,没壳的乌龟还能叫乌龟?国外的货就是喜欢把开源项目命名为一些稀奇古怪的东西)。

          2、COPSSH是个什么东西? 就是一个windows平台的SSH服务器。

          3、Git-1.8.3-preview20130601.exe是个什么东西?这就是真正的git。

          4、使用TortoiseGit里面自带的PuTTY Key Gen生成的密钥对(公钥和私钥)为什么还要转换? COPSSH根本不用生成任何key的,只需要添加客户端提供上来的公钥即可。

          

    参考这位仁兄的方法:http://blog.csdn.net/aaron_luchen/article/details/10498181 ,基本上能成功90%,但是最终还是会出现这样的错误,

    比如:

    Disconnected:No supported authentication methods available (server sent:publickey,keyboard-interactive)

    比如使用Git Clone 怎么都Clone不下来代码等等。

    比如:

    fatal: protocol error: bad line length character: Micr

    这样的协议错误,应该选择Linux shell and sftp,不应该选择windows shell。

    开始进入正题:

    所以需要注意下面的步骤。

    1、添加好了用户以后,在COPSSH Pannel里面添加好为windows创建的用户,比如名字叫git,看好了Password authentication可是没有勾选的。

    2、重点在这一步,修改配置文件,找到COPSSH安装的目录下面的etc目录,比如C:SSHetc,用记事本打开ssh_config和sshd_config这两个文件,两个文件都要修改。

    修改如下内容:

            找到PasswordAuthentication,如果前面有#号,删掉,如果后面是yes,改成no

            PasswordAuthentication no

            找到PubkeyAuthentication,如果前面有#号,删掉,如果后面是no,改成yes

            PubkeyAuthentication yes

            找到Port 22,删除掉前面的#号

            Port 22

    3、看下图,一目了然,别告诉我你不知道这个软件从哪里打开的,既然安装了乌龟TortoiseGit,当然是要去它的开始菜单里面找了。保存好私钥用于后面同步时Load用。

    4、打开COPSSH安装目录下的homegit.ssh目录,打开authorized_keys文件,将刚才上一步生成的公钥,粘贴进来,点保存,退出。例如下图:

    5、重新启动COPSSH,方法两种,

          一种是点绿色按钮,变红后,再次点即可变绿色,绿色代表已经正常运行,提示Service is running,如果配置的有问题,有时候会出现,你点一下那个红色按钮,程序没任何提示就直接关闭了,在这里不得不骂一下这个软件的开发人员,真是傻逼一个。就算是程序出错了,来个Messagebox提示一下用户会死吗?而是直接给退掉了,真奇葩。

          另一种是进入windows服务里面,双击Openssh SSHD,点击启动服务,如果出现以下这种情况,解决方法是::

    5.5、下图说明COPSSH运行正常:

    6、同步代码,假如服务器上已经创建了版本库,如何使用乌龟软件TortoiseGit同步下来,假如同步地址是这样(局域网内):ssh://git@192.168.10.8:22/SSH/home/git/lib_database

    同步成功:

    后记:

    有人说要改下面的地方,真不知是怎么想的,改了反而会导致Git Clone时的Load Putty Key变成灰色,导致在客户端上无法选择privatekey.ppk私钥文件。

    经网友评论多次反映,出现"git did not exit cleanly (exit code 128)"这样的错误提示,一般是由于本机和服务器之间的权限问题,尝试一下开始->运行->\192.168.10.8 回车,看能不能出现提示用户名和密码的窗口,不能,则说明之间有权限问题,先解决这个问题,后面应该就可以通了

  • 相关阅读:
    洛谷——P1141 01迷宫
    洛谷——P1781 宇宙总统
    洛谷——P1608 路径统计
    洛谷——P1144 最短路计数
    洛谷—— P1162 填涂颜色
    python(22)- 递归和函数式编程
    android驱动例子(LED灯控制)
    Android之SDK、NDK、JNI和so文件
    NDK 与 JNI 的关系
    Android之NDK开发
  • 原文地址:https://www.cnblogs.com/trkjoy/p/5243031.html
Copyright © 2011-2022 走看看