windows下搭建Git服务器(转)

以下两篇文章是在安装Git服务器时借鉴的文章,不错,转载在此:

第一篇转自:http://blog.csdn.net/ccf0703

1、所需的软件下载及安装

所需工具下载地址:

msysgit    http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

copssh    http://www.onlinedown.net/soft/20018.htm


若只要使用git,只需要安装msysgit就行了。copssh是一个ssh服务器软件。


msysgit的安装:

我把安装中关键的几步截图说明,其余直接点击next 就行。


关于安装路径说明,最好放到每个盘的根目录下,这里我放到了c盘根目录下,注意:路径最好不要有空格,因为空格不好处理,所以这也是没有放到Program Files目录下的原因。

接下来的几步,按照图片所示选择即可




然后等待安装完成即可

copssh的安装直接下一步就行。需要注意的还是路径问题,跟上面一样,最好放在根目录下,我这里放到了d盘。

安装完成。所需环境已经搭好了。


2、对程序做相应配置


一、git相应配置

打开这个图标,进入命令行。在这里,git的命令都可以使用,配置好git的user.name和user.email。git的使用,这里不多说。

接着,在命令行下,使用命令 

ssh-keygen -t rsa 

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

二、copssh的配置

从开始菜单中找到安装好的copssh文件夹,打开其中的COPSSH Control Panel。

切换到Users选项卡。若Activated users下为空,则点击旁边的“Add”按钮。

在弹出的窗口中点击“Forward”,进入下一步,接着,在User中选择一个用户后,点击“Forward”,接着把options的第一个选项“Allow password authentication”的勾去掉,因为我们要用公私钥来登陆,不用密码登陆。接着点击“Forward”完成用户添加。添加后应该如下图。



接着,点击右下方的“Keys”按钮,弹出窗口。这里显示的就是ssh服务器中保存的公钥信息了。若有公钥信息,用户就可以使用对应的私钥来远程登陆到ssh服务器进行相应的操作了。第一次我们安装的时候,public key里应该是空的,我们现在要做的,就是把上一步中,我们自己生产的公钥的信息,添加到这里来,步骤如下。

找到COPSSH的安装目录,然后打开其中的home文件夹,可以看到里面有以我们刚加入的user的名字命名的文件夹,进入其中,打开.ssh文件夹。在里面新建一个名字为authorized_keys的文件。注意,这里没有任何后缀。然后用记事本打开,然后将刚才我们配置git时产生的公钥里的全部信息复制拷贝到这个文件里。然后,保存退出。

回到COPSSH Control Panel中,将点击“Keys”产生的窗口关闭后,再打开,会看到其中有了一个公钥信息了,如下图。


到了这里,我们已经可以使用我们的私钥,来登陆这个ssh服务器了。打开“Git Bash”。在命令行里输入

ssh ccf@192.168.1.100

ccf就是在COPSSH中配置的用户名,192.168.1.100是我的ip地址,这些都根据你自己的设置,配置成自己的信息。登陆成功后如下图。


接下来你会发现,登陆成功以后,可以使用linux的命令,但是git的命令还是不能使用,别急,接下来我们解决这个问题。

我使用的解决方法很简单,如下。

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

将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下

将$Git下的share目录整个拷贝到$ICW下。

其中,$Git是指msysgit的安装目录  ,同理$ICW指COPSSH的安装目录。


至此,配置完毕,接下来,开始使用。


3、git服务器的测试

打开“Git Bash”,使用命令

ssh ccf@192.168.1.100

连接到ssh服务器。这个命令上面有说明。

然后依次使用下列命令

mkdir test.git

cd test.git

git init --bare

新建一个名为test.git的文件,并在其中建立一个纯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服务器搭建并测试完毕。

4、自己搭建git服务器用途

 做了上面这些到底有什么用呢?如果你是在自己家里上网,你可以在自己电脑上搭建一个git服务器,提供给你的朋友使用,可以和你的朋友一起开发一个东西,而且不用再一起就行,只要能连上因特网。

当然要做一个服务器,首先要能连接到外网,如果你处在路由器的局域网内,需要做  端口映射,ssh服务器的端口号是22,至于怎么做,可以谷歌之,当然条件是,你家里的路由要是连的是internet。我就悲剧了,因为用的宽带通,本身就在他们的局域网内,而我没法登陆他们的路由去管理,所以也就没有实验。(早知用联通了。。。哎。)

至于对PPOE拨号IP地址会变动的问题,给你一个解决方案:动态域名解析。有免费的可以用,比较有名就是花生壳和希网,个人觉得,希网比较好用,这个,看个人喜好了,哈哈。如果对这个不了解,请谷歌(不要问我为什么不用百度)。

好了,这篇文章就到这里。最后吐槽一下,第一次写技术总结,发现可真累,整整写了一下午啊。以前总看别人的不觉得,向乐于奉献的人致敬。



第二篇转自Marcus的博客


英文原版地址http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-Git-Server-on-Windows-with-CopS


简介

首先,我要说明的是Git不需要强调服务端和客户端,你的电脑可以既是客户端也是服务端。这意味着,你可以从其他电脑获取代码,这时候你是客户端;当别人需要获取你代码的时候,你就是服务端。这是Git分布式的特性,也是Git风靡全球的原因之一。


需要安装的软件

建立一个服务端需要的软件:

CopSSH(安装在服务端)

msysgit(服务端和客户端都需要安装)

PuTTY(服务端和客户端都需要安装)

聚合vs需要安装的软件:

GitExtensions(服务端和客户端都需要安装)


安装步骤

1.安装msysgit

a.当你安装msysgit的时候,请选择c:\Git作为安装目录,因为路径名存在空格会导致bash脚本命令出错


b.在"修改你的PATH环境变量"步骤中,我推荐你使用“仅仅用Git Bash"(译者注:如果选择其他很可能会导致命令重名,如system32和Git中都可能有find.exe)


c.其他设定默认即可。在安装过后,桌面会出现一个Git Bash的图标。你可以尝试一下git命令,如果效果与下图一致,恭喜你成功地安装了msysgit


d.增加C:\Git\bin和C:\Git\libexec\git-core到PATH环境变量。这个步骤非常重要


2.安装CopSSH

a.就像msysgit,我们不在Program Files中安装以避免空格问题。我们安装在c:\ICW


b.用CopSSH默认的帐号密码(译者注:这一步会在你的电脑新增一个管理员帐号,这些参数就是管理员的用户名和密码,而且以后基本上是不会用到的)


c.安装过后,在开始菜单打开COPSSH控制面板


d.用户选项卡-增加新用户


e.选择一个电脑中存在的用户(最好创建一个新的,务必设置密码),在这里,我们以jinweijie作为例子


f.允许全部访问方法


g.用户激活后,点击"密钥"按钮,注意要选中正确的用户


h.点击"添加",添加一个新的公钥


i.使用默认的密钥设定


j.输入口令(可以为空,不过需要点击按钮确定为空)和生成私钥的名字


k.私钥保存在c:\ICW\home\jinweijie\ryan-vm-01_2048.ppk.(注:jinweijie是之前选择的用户,私钥名称可以自己设定)



测试开始

现在我们已经安装了msysgit和copssh,我们需要测试是否成功安装。首先我们打开桌面下的Git Bash,输入

  1. ssh jinweijie@ryan-vm-01  
ssh jinweijie@ryan-vm-01
(jinweijie是你需要远程登陆的用户名,ryan-vm-01是远程连接的域名或者ip,读者可以通过127.0.0.1连接本机进行测试,或者在cmd命令行输入ipconfig进行查询)

输入"yes"继续

在你输入你的密码之后(windows用户的密码),然后尝试输入git,发现无法正常工作


这是因为CopSSH没有在服务端找到git.exe,所谓我们需要配置CopSSH的git path


3.给CopSSH配置上Git路径

a.用你偏爱的编辑器打开C:\ICW\etc\profile,添加:/cygdrive/c/git/bin:/cygdrive/c/git/libexec/git-core(注意开始的分号)到变量PATH,也就是说

  1. export PATH="/bin:$syspath:$winpath:/cygdrive/c/git/bin:/cygdrive/c/  
  2.         git/libexec/git-core"  
export PATH="/bin:$syspath:$winpath:/cygdrive/c/git/bin:/cygdrive/c/
		git/libexec/git-core"
记得保存

b.点击两次CopSSH控制面板上的大按钮,重启CopSSH服务

c.我们再次尝试,运行Git Bash,输入ssh jinweijie@ryan-vm-01,输入密码然后运行git命令,这次就能够正常工作


4.在客户端配置私钥

a.把服务端的私钥(在步骤1-k生成的)拷贝到客户端中

b.客户端中,使用puttygen.exe加载私钥(如果你在步骤1-j设置了密码,这里会要求你输入)

c.点解"保存私钥"来保存一个plink.exe能够识别的私钥副本


5.创建一个仓库,聚合vs

a.在服务端客户端安装gitextensions

b.因为我们已经在1-a安装msysgit,所以这里只安装kDiff


c.安装在C:\GitExtensions\,其他设定默认

d.在服务端,打开Git Extensions,创建一个新仓库

e.在服务端,仓库目录必须为CopSSH用户的子目录,选择“中心仓库,没有工作区”(因为是服务端),然后初始化

f.在客户端,打开Git Extensions,点击克隆仓库

g.在客户端,仓库地址是ssh://jinweijie@ryan-vm-01/ICW/home/mydotnetproject.请注意,仓库必须在服务端的C:\中

h.在客户端,点击载入SSH密钥,选择步骤4-b储存的密钥

i.在客户端,如果之前设置密钥密码,这里需要再次输入,然后点击克隆

j.在客户端,编辑忽视的文件

k.在客户端,打开vs,在mydotnetproject(克隆下来的仓库)创建一个工程,你会发现文件都在git的源码控制下

l.点击vs选项卡中的Commit,然后点击Commit & push

m.成功推送

n.在服务端可以看到新推送的文件

That's all, happy GITTING!:)


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值