window搭建git远程仓库

来源:互联网 发布:兴业银行淘宝网银支付 编辑:程序博客网 时间:2024/05/22 00:35

window搭建git远程仓库

1、服务器环境部署

工具:

  • Copssh SSH服务器
  • git for window git工具

git安装

官网下载地址:https://git-scm.com/downloads
gitb.org下载地址(适合国内网络):http://gitb.org/git-for-windows/
根据需要选择版本,我这边使用的是Git-2.13.0-64-bit.exe
下载过程就不截图了,一直下一步就行。

Copssh安装

官网下载地址:https://www.itefix.net/copssh
我这边直接免费版本进行演示,版本:Copssh_client_6.0.0_x86
下载过程中有一步需要注意,如图

copssh-install

Service account不要使用系统存在的用户名,密码根据需要设置,建议管理员密码相同,别为空。
然后一直下一步就可以了。

3、客户端环境部署和准备

git安装

步骤同上

生成RSA公共密钥实现无密码连接SSH服务器

1)在开始菜单->Git中点击Git Bash,打开命令行,在这里你可以使用大部分的linux终端命令,使用ssh-keygen生成公共密钥

// 生成RSA协议公共密钥// 据提示配置储存地址,默认为当前用户目录// 根据提示配置密钥使用密码(可为空)user@user-PC ~$ ssh-keygen -t rsa

这边我全使用默认配置,打开客户端当前用户根目录/.ssh/id_rsa.pub记录下里面的内容,在后面的服务器配置中要用到。(“~”表示用户目录,不会用户肯看不到“.ssh”,请自行百度“window显示隐藏文件”)

2、服务器配置及测试

1)在开始菜单->Copssh中点击COPSSH Control Panel,打开Copssh配置工具,如图:

copssh-control-panel_status

2)点击菜单栏Users进入用户管理界面,点击Add添加服务器用户

copssh-control-panel_Users_0

点击Forward,然后选择本地用户,建议选择管理员

copssh-control-panel_Users_Add_0
copssh-control-panel_Users_Add_1

Options可根据需要配置

  • Home directory:用户使用该用户连接后跳转的的默认位置(可根据需要设置)
  • Allow passward authentication:允许使用密码连接(密码为改服务器用户的密码)
  • Allow PKA authentication:允许使用公共密钥连接(由ssh-keygen生成)
  • Allow TCP forwarding:允许使用TCP协议连接

copssh-control-panel_Users_Add_2

点击Apply之后可能会卡顿一段时间,请耐心等待

copssh-control-panel_Users_Add_3

3)添加服务器用户成功后,选择刚添加的用户,然后点击Keys添加公共密钥

copssh-control-panel_Users_1

点击Import后,将之前在客户端生成的RSA公共密钥复制引起,点击Apply导入密钥

copssh-control-panel_Users_Keys
copssh-control-panel_Users_Keys_Import

密钥导入成功,点击Apply应用公共密钥

copssh-control-panel_Users_Keys_1

关闭密钥管理界面,点击Apply应用用户配置,到此服务器基本配置完毕我们可以在客户端测试下是否能连接SSH服务器

copssh-control-panel_Users_3

4)SSH服务连接测试,在客户端打开Git Bash连接SSH服务器

// "administrator"是添加的服务器用户名// "192.168.0.1"是服务器的外网连接,这边我是实用的是局域网测试所以直接填写了服务器的IP地址user@user-PC ~$ ssh administrator@192.168.0.1// 第一次连接会出现该提示,直接填写“yes”回车就可以了The authenticity of host '192.168.0.100 (192.168.0.100)' can't be established.ECDSA key fingerprint is SHA256:ZgcUCSdtwjSwoL9eCJIScL7r4+I3p8C4YDs858FS8yQ.Are you sure you want to continue connecting (yes/no)? yesadministrator@admin-PC ~// 如果上面显示的是“[服务器的用户]@[服务器的主机名]”// 说明你已经成功连接上了SSH服务器// 并且当前位置为你添加服务器所配置的`Home directory`$

到此你已经成功的配置好了SSH服务器,但是想要在这个服务器上搭建git远程仓库,肯定需要使用git命令,但是你会发现现在还不能使用git命令,所以我们还需要把git配置进服务器的环境中去

// 退出SSH服务器administrator@admin-PC ~$ exit

5)回到服务器,给Copssh加入git命令

将下面的代码加入添加的服务器用户根目录\.bashrc文件内容底部

# “/cygdrive/”后面的地址可能不同,根据自己安装git时安装的位置配置# 不同git版本的bin和libexec目录位置可能不同# 我的64位版本在“git安装目录\mingw64\”目录下gitpath='/cygdrive/d/Program Files/Git/mingw64/bin'gitcorepath='cygdrive/d/Program Files/Git/mingw64/libexec/git-core'PATH=${gitpath}:${gitcorepath}:${PATH}

将下面的代码加入Copssh安装根目录\etc\.profile文件内容底部

# “/cygdrive/”后面的地址可能不同,根据自己安装git时安装的位置配置# 不同git版本的bin和libexec目录位置可能不同# 我的64位版本在“git安装目录\mingw64\”目录下gitpath='/d/Program Files/Git/mingw64/bin'gitcorepath='cygdrive/d/Program Files/Git/mingw64/libexec/git-core'export PATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"

到此以你已经成功将git命令配置到可SSH服务器环境中了,解析我们来测试下

6)SSH服务器git命令测试,在客户端打开Git Bash连接SSH服务器,使用git创建一个空的远程仓库

user@user-PC ~$ ssh administrator@192.168.0.1  // 连接SSH服务器administrator@admin-PC ~$ mkdir test.git                 // 创建仓库文件夹$ cd test.git$ git init --bare                // 将当前文件夹作为git远程仓库,                                 //--bare代表只储存仓库历史记录,不储存仓库实践文件                                 //(这样有利于多人上传合并版本)$ exit

成功创建一个空的git远程仓库后,我们有两种方法将本地上传到远程参照中

  • 方法一:直接从服务器上clone下来,这种方法适合本地没有该仓库的情况下,打开“Git Bash”

    user@user-PC ~$ git clone administrator@192.168.0.100:test.git // 从远程git仓库中clone仓库                                                 // 冒号直接根默认目录下的仓库路径$ echo "this is test">README.md$ git add .$ git commit -m "add README.md"$ git push                                       // push到远程仓库中合并版本
  • 方法二:本地创建个同名仓库,然后上传到git远程仓库合并版本,这种方法适合之前创建好了这个仓库,并且里面已经提交了几个版本了

    user@user-PC ~$ cd test$ git init$ echo "this is test">README.md$ git add .$ git commit -m "add README.md"$ git remote add origin administrator@192.168.0.100:test.git$ git push -u origin master                     // 第一提交需要这种格式                                                // 后面再提交直接push就可以了
原创粉丝点击