Windows+Git+COPSSH+TortoiseGit搭建本地Git服务器(史上最全)
服务器端
需要软件:
Git-1.9.5-preview20150319.exe
下载地址:http://download.csdn.net/detail/u012678179/9277097
Copssh_4.1.0_Installer.exe
下载地址:http://download.csdn.net/detail/u012678179/9277131
1、安装Git客户端
2、安装COPSSH
Git安装过程
Git的安装路径要注意,不要带有空格,这也是不放在Program Files的原因
这个是显示在开始菜单的名称,默认就可以了
全选Addition icons
选择默认值
选择第三个,不用转换代码风格
至此Git安装完成!
COPSSH安装
同意
COPSSH的安装路径也不要带有空格,避免造成不必要的麻烦
这个是新建电脑用户账户的登录密码,随便设置就好。个人觉得尽量不要用默认的,因为默认的很难记,虽然不怎么会用到。
这里直接点确认就好
到此COPSSH也安装完成
添加SSH用户
在开始菜单找到“COPSSH Control Panel”,我这里可能是重装了几次的原因,图标显示不出来,但是并不影响使用
选择User栏,点击“Add”
点击“Forward”
选择用户,我这里选择的是管理员用户名,然后点击“Forward”
去掉"Allow password authentication"前面的勾,确定Access type是“Linux shell and sftp”,点击“forward”
点击“Apply”
添加用户完成!
最后还有要配置一下COPSSH
(1)把Git安装路径D:\Git\bin下的libiconv-2.dll复制到COPSSH的D:\ICW\bin文件夹
(2)把Git安装路径D:\Git\libexec\git-core下的git.exe、git-receive-pack.exe、git-upload-pack.exe和git-upload-archive.exe复制到COPSSH的D:\ICW\bin文件夹
(3)把Git安装路径D:\Git下的share文件夹整个复制到COPSSH的D:\ICW下
(4)找到COPSSH安装的目录下面的etc目录D:\ICW\etc
用记事本打开ssh_config
找到PasswordAuthentication,如果前面有#号,删掉,如果后面是yes,改成no
找到Port 22,删除掉前面的#号(确保两个文件夹里的端口都是22)
用记事本打开sshd_config
找到PubkeyAuthentication,如果前面有#号,删掉
链接Git版本库
打开Git Bash,输入代码:
ssh-keygen –t rsa –C “you@example.com” //生成公钥,默认名称为id_rsa(如果我们没有生成key的话,直接用电脑命令行可能连接不成功。如果用命令行可以连接的话,同样可以用命令行来生成。)
然后一直回车,如图显示便设置成功(如果该路径已经有了该文件,会提醒你是否覆盖,输入y确认就行)
根据文件路径找到id_rsa.pub和id_rsa文件复制到COPSSH安装路径D:\ICW\home\huson.ssh下。在D:\ICW\home\huson.ssh文件夹,新建文件authorized_keys(无后缀),用记事本打开,把id_rsa.pub内容复制进去保存。打开COPSSH选定用户,点击“keys···”
如果public key中有内容说明key添加成功
打开电脑命令行,进入SSH安装目录下的bin文件夹,调用ssh.exe文件,输入以下代码:
“ssh huson@你的服务器名称或者IP地址”,我这里输入的是IP地址
回车
输入yes
出现下图所示表示链接成功
建立仓库操作
登录完成后,此时的实际路径是在D:\ICW\home\huson
1、建库操作步骤如下:
mkdir test//创建test文件夹
cd test //进入test文件夹
git init //版本库初始化,会以test为库名建立一个新库
2、同样也可以直接到D:\ICW\home\huson文件夹下,直接点击右键-新建文件夹test,打开test
文件夹,点击右键点击Git Init Here
建好仓库后打开test进入隐藏文件夹.git,用记事本打开config文件加入
[receive]
denyCurrentBranch = ignore
服务端所有工作完成!
客户端
所需软件:
Git-1.9.5-preview20150319.exe
下载地址:http://download.csdn.net/detail/u012678179/9277097
TortoiseGit-1.8.16.0-64bit.msi
下载地址:http://download.csdn.net/detail/u012678179/9277077
安装Git,安装步骤和上面一样
注意:安装完Git后,根据上面“链接Git版本库”生成key,然后把后缀为pub的公钥发给后台。后台把key添加到authorized_keys文件上。
安装TrotoiseGit
我这里修改了一下安装路径,其实一直点击下一步就可以了
配置TortoiseGit
随便路径下面点击右键–点击setting
在左边的菜单栏选择Git,在右边配置好用户信息
在左边的菜单栏选择Network,设置SSH客户端路径,有些人说这里要设置成Git\bin\ssh.exe,在这里并不用的。应该使用TortoiseGit\bin\TortoisePlink.exe,一般情况下TortoiseGit默认使用这个。配置好后点击应用——确定。配置完成!
克隆库
随便新建一个文件夹
进入文件夹点击右键,点击Git Clone···
输入URL:ssh://用户名@IP地址:端口号+仓库路径
然后点击“OK”,有可能会弹出一个警告,不用在意点击确定即可
输入服务端登录密码(主机开机密码),点击OK
如下图显示:恭喜,克隆成功!!!
push数据
在pull下来的文件夹新建一个文件test.txt
点击:Git Commit -> “master”···
填写好提交信息,把提交文件勾上,点击“OK”。
注意:如果想要提交到一个新的分支,可以勾选“new branch”,设置好分支名称即可
提交成功,点击“push···”
确定分支还有远程库,一般情况下“origin”远程库的URL是和pull时候的一致的,不用修改,如果要修改的话可以点击“Manage”进去修改,这里就不作说明
输入服务器密码
如下图所示:恭喜,push成功!!!
查看服务器文件
来到服务器文件夹下,此时我们刚刚上传的东西没有更新,不要慌。因为我们在初始化远程仓库的时候使用的是git init,所以远程仓库的目录下包含了work tree。当本地仓库向远程仓库push,如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题),那么push后的结果不会反映在work tree上,也就是说远程仓库的目录下对应的还是之前的内容。
解决方法也简单:
如图使用命令行链接到Git,
运行命令:
cd test//进入文件夹
git reset –hard//然后我们就可以看到push后的内容
运行后文件便出来了