前言
最近公司服务器迁移变更,由于之前的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