在windows 环境下对于 git 服务器的安装和使用

 前言:

  虽然说在团队开发的时候会有版本控制服务器,但是个人自己开发的时候,有的时候也需要有个版本控制下,比如,你改好了一个小的功能,然后在这个功能上继续扩展,结果扩展不成功,于是回到这个小功能上去。当然还是有版本控制更好啦。

  我决定采用git 来做个人的版本控制。

  网上查了一堆的资料,可以还是有些实际操作过程中的奇葩问题,故决定重新整理一下

 准备工作:

  准备一下需要安装的软件:

  1、Git-2.9.2-64-bit.exe  下载:https://git-scm.com/download/

  2、Copssh_4.1.0_Installer.exe

  3、TortoiseGit-1.8.5.0-64bit.msi

  操作系统:Win7

  

  科普一下:

  Copssh 是一个 windows 平台的 ssh 服务器  

  Git服务器的 搭建过程,可以分为 服务器端和客户端

  服务器端的安装及部署

1、安装Git 

在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

在windows 环境下对于 git 服务器的安装和使用

在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

在windows 环境下对于 git 服务器的安装和使用

 

此处选择默认安装

在windows 环境下对于 git 服务器的安装和使用

 

此处选择第三个,不去转换成unix的代码风格

 在windows 环境下对于 git 服务器的安装和使用

 

完成安装

 配置一下环境变量:将git安装目录下的bin 目录 放入 path 中

2、安装SSH及配置用户

在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

安装在根目录下,避免路径中有空格,造成不必要的麻烦 

 在windows 环境下对于 git 服务器的安装和使用

此处是设置SSH的帐号密码 ,建议换成用户名和密码 自己能记住的(比如 GitAdmin)

 在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

 

安装好后提示通过“COPSSH Control Panel”添加用户

在windows 环境下对于 git 服务器的安装和使用

完成安装

 

 

安装完成后,我们需要做个关联,主要是关联 git 和 ssh,因为git 要用ssh 协议来连接服务器

操作方法,将git 中的相关文件 copy 到 ssh 的bin 目录中:

1、将Git安装目录D:Program FilesGitmingw64libexecgit-core文件夹下的git-upload-pack.exe、git.exe、git-receive-pack.exe和git-upload-archive.exe这4个文件复制到SSH的安装路径D:ICWin下。

2、将Git安装目录D:Program FilesGitmingw64inlibiconv-2.dll复制到D:ICWin下。

E:Program FilesGitmingw64in libiconv-2.dll
E:Program FilesGitmingw64libexecgit-coregit.exe
E:Program FilesGitmingw64libexecgit-coregit-receive-pack.exe
E:Program FilesGitmingw64libexecgit-coregit-upload-archive.exe
E:Program FilesGitmingw64libexecgit-coregit-upload-pack.exe
// 将这些文件 复制 到 ssh 的bin 目录下,如D:ICWin

  

  接下来,我们需要在服务器上创建个账号,普通账号即可,我这里创建了个普通账号叫git。

  有了这个账号,我们接下来利用ssh control panel 来创建个对应的ssh账号,对应步骤截图如下:

在windows 环境下对于 git 服务器的安装和使用

 

 在windows 环境下对于 git 服务器的安装和使用

 

开始配置SSH用户

 

在windows 环境下对于 git 服务器的安装和使用

选中“Users”选项卡,点击Add按钮添加用户

在windows 环境下对于 git 服务器的安装和使用

选择用户名,此处可以选择刚刚安装SSH时设置的“SvcCOPSSH”用户,也可以自己新建一个用户来操作,本教程新建了一个GitAdmin的用户作为管理账户。 (事实证明,我不能新建,所以选择刚才设置的账号吧)在windows 环境下对于 git 服务器的安装和使用

 

这里注意下,第一项 Allow password authentication没有勾选 

在windows 环境下对于 git 服务器的安装和使用

 

 点击Apply,ssh中账号创建成功。

在windows 环境下对于 git 服务器的安装和使用

 

至此,服务器的配置已告一段落了,我们可以在服务器上创建个仓库,以备后续的连接测试。由于我们之前创建了一个叫GitAdmin的账号,在ssh的安装目录下的home目录里面,多了一个GitAdmin目录。

 

3、连接Git版本库

在windows 环境下对于 git 服务器的安装和使用

进入SSH安装目录下的bin文件夹,调用ssh.exe文件,输入以下代码:

“ssh GitAdmin@你的服务器名称或者IP地址”

在windows 环境下对于 git 服务器的安装和使用

键入yes

在windows 环境下对于 git 服务器的安装和使用

输入密码

在windows 环境下对于 git 服务器的安装和使用

 

看到这个界面,代表连接成功。此时你已经通过SSH协议连接上了Git。

 

4、建库操作

登录完成后,此时的实际路径是:E:ICWhomeGitAdmin

我们可以在服务器上创建个仓库,以备后续的连接测试。

进入该目录,右键选择Git Bash,在命令行下,依次运行以下命令

在windows 环境下对于 git 服务器的安装和使用

mkdir myproject    //创建我的项目目录,命名为myproject
cd myproject      //进入该目录
touch helloworld.txt  //在目录下创建个文件,以备后续测试 
git init        //初始化该仓库
git add .        //当前目录下所有文件都加入到暂存区 
git config --global user.email “xxx@xxx.com” //创建全局git账号
git config –global user.name “Jason Huang” //创建全局git账号
git commit –m “init myproject repo”//将暂存区的文件全部提交到仓库,并添加注释

  

客户端安装与配置

1、安装Git

       安装步骤与服务器端相同。客户端也需要安装git

   安装完成后,需要创建个密钥,主要用于与服务端连接的认证。

   密钥生成步骤:打开 Git Bash, 输入命令 ssh-keygen,对于后续命令行提示输入,一路默认回车即可。根据提示,默认生成的密钥对在当前用户目录下的.ssh目录下。

 

  为了使服务器认识我们的公钥,需要将密钥对中的公钥 上传至服务器。

  在创建的账号 对应的目录下如 E:ICWhomeppnie.ssh ,新建文件authorized_keys,注意这里没有文件后缀名,将刚刚 公钥文件id_rsa.pub 中的内容粘贴进去,保存好。

  最后后,要确保服务器端口22是打开的,如果没有打开,去防火墙配置下,至少保证入站端口22是打开的,因为这里ssh连接的默认端口是22。

  至此,客户端相关配置基本完成。我们可以开始clone了,创建一个目录,然后Git Bash,运行以下命令

  

//这里我的服务器IP地址为192.168.1.168
git clone ssh://git@192.168.1.168:22/ssh/home/git/myproject 

  

2、安装TortoiseGit 

 在windows 环境下对于 git 服务器的安装和使用

 

在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

在windows 环境下对于 git 服务器的安装和使用

 在windows 环境下对于 git 服务器的安装和使用

 

       安装完毕

在windows 环境下对于 git 服务器的安装和使用

       此时在你的电脑鼠标右键就能看到Git已经集成到了系统快捷操作中。

 

参考资料

Windows+Git+TortoiseGit+COPSSH 安装图文教程 

  点评:他写的极度详细啦,如果不出意外的话,应该一定会成功的!

http://www.tuicool.com/articles/IVvqi2

  点评:给了点理由