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

摘要:
作为对过去两天Git服务器设置的整理,我想从服务器和客户端的角度记录整个设置过程。我们需要什么行动来实现我们的目标。Git-1.8.1.2-preview20130201.exeCopssh _ 4.1.0_安装程序。安装exe之后,我们需要建立一个关联,主要是git和ssh之间的关联,因为这里git使用ssh协议连接到服务器。操作方法是将git中的相关文件复制到ssh的bin目录中。

  作为对前两天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:Gitin libiconv-2.dll

  C:Gitlibexecgit-coregit.exe

  C:Gitlibexecgit-coregit-receive-pack.exe

  C:Gitlibexecgit-coregit-upload-archive.exe

  C:Gitlibexecgit-coregit-upload-pack.exe

 //将这些文件copy到ssh的bin目录下,我这里对应的目录为 E:sshin

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

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

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

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

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

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

  如上图所示,这里我们选择刚刚创建的专门账号git

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

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

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

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

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

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

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

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目录下。

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

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

  接下来,为了使服务器认识我们的公钥,我们需要将密钥对中的公钥上传至服务器,用记事本打开刚刚生成的公钥文件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文件中

[receive]
denyCurrentBranch = ignore

  That's all. 搭建过程中遇到了不少问题,从各位大神的文章中汲取了不少营养,非常感谢各位的分享,这里我也将我的一点经验分享给大家,节省下大家宝贵的时间。

免责声明:文章转载自《Git系列(1) Windows下Git服务器搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu修改hostnameSQL语句的解析过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

git重新配置所有

参考,防止以后忘记:https://www.jianshu.com/p/7fa6b2d81f19  git clone git://github.com/ZengsfOS/SecurityKeyBroad.git就可以了   但要完成这一步的前提是你之前都配之后了git,如果是没有配置好的话,那么就需要重头开始配置了。 那么就可以进入那个网站慢慢的配置了。...

day18_文件的上传和下载学习笔记

1、文件上传的原理分析 什么是文件上传?    要将客户端(浏览器)数据存储到服务器端,而不将数据直接存储到数据库中,而是要将数据存储到服务器所在的磁盘上,这就要使用文件上传。为什么使用文件上传?    通过文件上传,可以将浏览器端的数据直接保存到服务器端。不将数据保存到数据库中,而是保存到服务器磁盘上,这样减少了数据库服务器的压力,对数据的操作更加灵活...

Git 【管理篇】

Git 介绍 Git 是什么?傻瓜内容跟踪器(The stupid content tracker)!Git 创始人、Linux 之父 Linus Torvalds 就是这样介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,服务器端软件支持不再...

48 git使用

0 引言git/github是当前最好的代码版本管理和协同工作工具。最近我终于用上了这一先进工具,撒花撒花! # 先把大神廖雪峰的链接献上https://www.liaoxuefeng.com/wiki/896043488029600# 官方教程https://git-scm.com/ 1 配置git使用环境git的使用环境主要包括git的安装、设置SSH...

搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限

  2019-08-28 1、引言   sftp可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子...

循序渐进Linux 2:Linux的常用命令及使用技巧

一、Shell   shell本身是一个以C语言编写的程序,是用户和操作系统内核之间通信的桥梁。shell既是一种命令解释程序,又是一种功能强大的解释型程序设计语言。shell解释用户输入的命令,提交到内核处理,最后返回结果给用户。 1. shell命令语法分析 command [option] -[arguments] 2. shell的通配符 bash...