Windows上搭建Git服务器说明

来源:互联网 发布:知乎 极简主义生活 编辑:程序博客网 时间:2024/05/17 06:43

前言

最近公司服务器迁移变更,由于之前的git服务器都是在Linux系统上搭建的,也不方便和嵌入式的同事一起使用,因此有了在自己的Windows电脑上搭建git服务器的想法。折腾了一天,终于把环境各方面搭建好了,爽歪歪啊有木有!当然了这过程中也遇到不少头疼的坑,总算弄好了,现在把搭建的一些步骤心得写下来,做个记录。

一、安装说明

(1) 安装2个软件:

git和copssh。基本步骤网上都有,git安装有很多文章,直接百度git官网,安装你对应的32/64位Windows系统版本的git即可;我使用的是windows 64位系统,其实都差不多的。
安装copssh可参考这两篇文章:
[http://lib.csdn.net/article/git/9451]
[http://blog.csdn.net/ccf0703/article/details/7578276/ ]
本文中的copssh4.1是在csdn下载的。

(2) 安装说明:

注意要安装copssh软件到如 D:\ICW目录,不要选择C盘。按步骤next即可,特别注意,配置完成之后,这里public key authentication选项为空,否则可能遇到各种权限deny,或者ssh: connect to host X.X.X.X port 22: Connection timed out报错。(很大的坑,找了好久,不能完全按照网上的设置),另外该配置在copssh每个版本可能不一样,有些版本是没有这个选项的。

这里写图片描述

二、配置:

(1)git相应配置

安装git软件完成后,打开git bash,进入命令行。在这里,git的命令都可以使用,配置好git的user.name和user.email。git的使用,这里不多说。接着,在命令行下,使用命令
ssh-keygen -t rsa

创建一对公私钥,默认放到当前用户目录下的.ssh文件夹中。用记事本打开后缀为.pub的公钥文件,复制其中的内容,用于接下来的copssh的配置。

(2)copssh的配置

将$$ Git\libexec\git-core目录下的四个文件复制到$ICW\bin目录下:
git.exe , git-receive-pack.exe , git-upload-archive.exe ,git-upload-pack.exe

将$$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下
将$Git下的share目录整个拷贝到$ICW下。
其中,$Git是指msysgit的安装目录 ,同理$ICW指COPSSH的安装目录。
(备注:win 的64位安装git时,目录可能是这个C:\Program Files (x86)\Git\mingw32\libexec\git-core,则进入拷贝即可)
至此,配置完毕,接下来,开始使用。

三、Git服务器测试

完成后,进入D:\ICW\home\Administrator目录,执行指令:
mkdir test #创建仓库目录
cd test #进入仓库
git init –bare #初始化并设置为可共享

新建一个名为test的文件,并在其中建立一个纯git仓库。然后使用命令exit退出ssh服务器然后依次输入下面命令:
cd d:
mkdir test
cd test
git clone ccf@192.168.1.100:test.git .

在d盘下新建一个test文件夹并从服务器clone一个git仓库。接着依次输入下列命令:
touch a b c
git status
git add .
git commit -m “just for test”
git push origin master
一切正常,也能push到服务器上,至此,git服务器搭建并测试完毕。

四、其他操作(选看)

(1)Push本地git分支到仓库:

安装git之后:如果本地已经有仓库,可push到git对应的仓库:
  (1)进入到你的本地git分支,右键git bash调用命令行。
  (2)设置仓库:git remote set-url origin Administrator@192.168.xx.xx:test
  (3)git push origin example:example #前面example是本地分支,后面的对应上传到git的分支,一般写统一。
  (4)git push origin master:master #主干到主干,push时,可以先push分支(如步骤3),都没影响的。
  (5)push成功后可以clone下来查看即可。假如有修改,但是没有commit,那么不会上传,在项目中继续push即可。查看是否在线ssh Administrator@172.xx.xx.xx

(2) 如果是新的文件夹,push命令如下:

进入要上传的源文件目录:
  git init #设为git目录
  git add .
  git commit -m “…”
  git remote add origin Administrator@192.168.xx.xx:test
  

(3)关于用户名和密码

用户名在安装copssh时已经选好是Administrator(默认还有一个很长的用户名,创建用户时建议不要选那个,不方便记忆); clone、push等操作的密码即Windows系统开机的密码。作为git其他用户访问你的项目的原始密码,所以这个不大好,因为你的电脑密码暴露给别人了。公司一般用Linux搭建git服务器,这方式据说更方便。

附软件下载链接
[点我下载]http://download.csdn.net/download/qiuzhilu/9919125

原创粉丝点击