lihu129c 发表于 2018-1-16 10:28:23

Git系列(1) Windows下Git服务器搭建

  作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作。
  (一)服务端软件和账号的安装配置
  我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格。其他步骤基本一路Next即可。  
  

Git-1.8.1.2-preview20130201.exe  
Copssh_4.
1.0_Installer.exe  

  安装完成后,我们要做个关联,主要是关联git和ssh,因为我们这里git要用ssh协议来连接服务器。操作方法是将git中的相关文件copy到ssh的bin目录中。
  我这里这两个软件的安装目录分别为   
  

//我的git安装目录 C:\git  //我的ssh安装目录
E:\ssh  //大家根据自己的安装目录,对下文提到的相关路径做相应调整吧
  //需要copy的git文件列表如下:
  

    C:\Git\bin\ libiconv-2.dll
    C:\Git\libexec\git-core\git.exe
    C:\Git\libexec\git-core\git-receive-pack.exe
    C:\Git\libexec\git-core\git-upload-archive.exe
    C:\Git\libexec\git-core\git-upload-pack.exe
  //将这些文件copy到ssh的bin目录下,我这里对应的目录为 E:\ssh\bin
  接下来,我们需要在服务器上创建个账号,普通账号即可,我这里创建了个普通账号叫git。
  有了这个账号,我们接下来利用ssh control panel 来创建个对应的ssh账号,对应步骤截图如下:
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226101754046-1780423091.png
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226101848015-1044551426.png
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226102027968-512156290.png
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226102047077-1555301982.png
  如上图所示,这里我们选择刚刚创建的专门账号git
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226102144796-2004327366.png
  这里注意下,第一项 Allow password authentication没有勾选
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226102232827-635081662.png
  点击Apply,ssh中账号创建成功。
  至此,服务器的配置已告一段落了,我们可以在服务器上创建个仓库,以备后续的连接测试。由于我们之前创建了一个叫git的账号,在ssh的安装目录下的home目录里面,多了一个git目录。
  进入该目录,右键选择Git Bash,在命令行下,依次运行以下命令
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226103517062-59226818.png
  

1 mkdir myproject    //创建我的项目目录,命名为myproject  

2 cd myproject      //进入该目录  

3 touch helloworld.txt//在目录下创建个文件,以备后续测试  

4 git init        //初始化该仓库  

5 git add .        //当前目录下所有文件都加入到暂存区   

6 git config --global user.email “xxx@xxx.com” //创建全局git账号  

7 git config –global user.name “Jason Huang” //创建全局git账号  8 git commit –m “init myproject repo”//将暂存区的文件全部提交到仓库,并添加注释
  

  (二)客户端软件的安装与配置
  与服务端一样,客户端也需要安装下git。
  安装完成后,需要创建个密钥对,主要用于与服务端连接的认证。步骤比较简单,打开Git Bash,输入命令ssh-keygen,对于后续命令行提示输入,一路默认回车即可。
  根据提示,默认生成的密钥对在当前用户目录下的.ssh目录下。
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226104105577-1625365215.png
https://images2015.cnblogs.com/blog/304509/201512/304509-20151226104139718-356316310.png
  接下来,为了使服务器认识我们的公钥,我们需要将密钥对中的公钥上传至服务器,用记事本打开刚刚生成的公钥文件id_rsa.pub,复制里面的所有内容。
  再回到服务器端,在我们之前创建的ssh的账号git对应的目录下home/git/.ssh,新建文件authorized_keys文件,注意这里没有文件后缀名,将刚刚复制的公钥粘贴进去,保存好。 
  最后,要确保服务器端口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
  

  顺便说一下,如果之后push的过程中出现提示“Push to origin/master was rejected”,解决方案是将下面的这段配置加载服务端项目的.git目录下的config文件中
  

  
denyCurrentBranch
= ignore  

  That's all. 搭建过程中遇到了不少问题,从各位大神的文章中汲取了不少营养,非常感谢各位的分享,这里我也将我的一点经验分享给大家,节省下大家宝贵的时间。
页: [1]
查看完整版本: Git系列(1) Windows下Git服务器搭建