一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
创建时间:2019/1/7 13:27:57
说明:本文章是在参考了众多大神基础上完成的,在此感谢;
个人只是将自己的搭建过程详细步骤和一些坑详细记录下来,供大家参考和自己记录;
参考的文章如下,大家也可以参考使用:
https://blog.csdn.net/aaron_luchen/article/details/10498181
https://blog.csdn.net/u010431640/article/details/50110449
https://www.jianshu.com/p/e625000b03ae

一、背景
目的:
希望能够搭建一个自己的git服务器,能够做到同步公司电脑和家中的电脑的代码与文件;
注意:

  1. 这里可以使用github作为远程服务器,直接达到目的,但github上是完全公开的;所以如果使用github即可的朋友,可以直接安装msysgit可以,然后设置github的公钥,把代码放到github上就可以了;这个可以参考文章:设置Github公钥
  2. 因为家里和公司的网络不通,所以还需要把自己的电脑变成一个可在互联网上被发现的服务器;(这个还在研究中)
  3. 如果只是想本地做个版本控制的话,直接下载git安装就可以了,具体的可以学习下git的语句:常用的git init;git add . ; git commit -m “备注内容”;git status; git diff 文件.后缀;git reflog; git reset --hard reflog中的版本号;可参考如下文章:
    https://blog.csdn.net/youzhouliu/article/details/78952453

二、环境(git版本和copssh版本请和本文保持一致,之前使用过最新的git在ssh调用git环节失败,始终无法使用git命令)
操作系统: win10
Git版本: Git-1.8.1.2-preview20130201   https://download.csdn.net/download/qq_37124776/10900549
COPSSH版本:Copssh4.1.0Installer   https://download.csdn.net/download/qq_37124776/10900569
TortoiseGit版本:TortoiseGit-1.8.5.0-64bit  https://download.csdn.net/download/qq_37124776/10900586

三、具体操作

第一步:安装git
(1)下载好安装包后,右击选择以管理员身份打开;然后下一步;
(2)注意选择安装文件夹,要注意选择驱动的根目录,并且目录命名要没有空格等特殊字符(建议放在C盘根目录);
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(3)到达如下界面时,注意选择Run Git from the Windows Command Prompt选项(会将git添加到环境变量中);
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(4)继续下一步,选择checkout as-is, commit as-is(校验和提交的时候都会按原样输出);
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(5)下一步,完成安装即可;

第二步:安装copssh
(1)下载好copssh后,右击选择以管理员身份打开;然后下一步;
(2)注意选择安装文件夹,要注意选择驱动的根目录,并且目录命名要没有空格等特殊字符(建议放在C盘根目录);
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(3)下一步,到达下图这里注意,这个操作是再windows中创建一个新用户,作为copssh访问用,但是有些电脑没有权限,所以建议修改成自己使用用户和密码;
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(4)随后一直下一步,遇到弹窗确认,继续下一步,完成安装即可;
(5)重点:将Git安装目录\Git\libexec\git-core文件夹下的git-upload-pack.exe、git.exe、git-receive-pack.exe和git-upload-archive.exe这4个文件复制到SSH的安装路径D:\ICW\bin下。
(6)重点:将Git安装目录\Git\bin\libiconv-2.dll复制到D:\ICW\bin下。
(7)重点:将git目录下的share文件夹直接复制到ssh目录下(git->icw)
(8)上面三步,是为了再后面通过copssh中能访问并使用git;安装结束;
(9)偶尔会出现第一次安装失败的情况,具体如何判断可以先不管这个,往下看;但如果出现安装失败的情况,可以先卸载,在删除对应目录后,不用重启电脑,重新安装一次,往往第二次就成功了。

第三步:配置copssh
(1)再开始菜单中输入copssh,打开copssh control panel应用程序;如下图,绿色点表示服务正常开始,说明copssh安装成功;下面则可以开始配置用户和公钥(有了公钥就不需要密码,可以通过git直接访问);
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(2)开始配置用户,点击Users,会发现没有用户,然后选择add;
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(3)新增过程看图操作;
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
完成后的模样;
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(4)完成用户的设置后,我们就要开始设置公钥了;
(5)首先我们需要打开GIT BASH,注意不能通过右击git bash打开要到安装目录中,如下图:
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(6)在其中输入ssh-****** -t rsa 然后一直回车即会生成一个没有校验码的公钥;这个公钥的位置在“用户/当前账户/.ssh/idrsa.pub”。右击选择文本打开,复制其中的全部内容(准备好,有用);
(7)再到“copssh的安装目录/home文件夹下/用户名/.ssh/”目录下创建一个名字为“authorizedkeys”文件,没有后缀。然后用记事本打开,将(6)操作中复制的公钥内容赋值进去,保存关闭;
(8)重点:(如果没有之一步,则无法找到公钥)注意事项+高能预警:要到“安装目录/etc/sshdconfig”中添加“AuthorizedKeysFile /home/git/.ssh/authorizedkeys”,然后直接在Copssh中点击停止服务,然后再点启动。不能退出Copssh。重新启动Copssh会直接覆盖这条语句,从而导致public key authentication认证无法通过。要想使用public key authentication认证就得重新添加一次。
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(9)回到copssh的User界面,点开key则发现其中有了key,则说明配置结束。
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(10)到了这里,我们已经可以使用我们的私钥,来登陆这个ssh服务器了。打开“Git Bash”。在命令行里输入
ssh [email protected]
ccf就是在COPSSH中配置的用户名,192.168.1.100是我的ip地址(也可以使用上图中的电脑识别符),这些都根据你自己的设置,配置成自己的信息。登陆成功后如下图。
一个小白在Windows上搭建自己的Git服务器,基于SSH(个人填坑)
(11)配置结束了下面开始测试;

第四步:开始测试与建库
以下我就直接赋值前辈的记录了
建库操作
登录完成后,此时的实际路径是在D:\ICW\home\GitAdmin
建库操作步骤如下:
mkdir testgit //创建testgit文件夹
cd testgit //进入testgit文件夹
git init //版本库初始化,会以testgit为库名建立一个新库
touch first.txt second.txt //创建first.txt和second.txt文本文档
git add . //将文件添加至Git
git config –global user.email “[email protected]”//设置邮箱地址
git config –global user.name “Your Name” //设置用户名
git commit –m “init” //将修改提交至Git
如果都可以成功说明你已经成功了,如果不成功可以参考:
https://download.csdn.net/download/qq_37124776/10900586
重点:这里也有一个重点,git init 和 git --bare inti
git init :初始化库,当前的库也会在working tree上,简单的理解就是这个库不能作为中央库,因为他也是一个分支点,是用于工作的区域
git --bare init :初始化库是没有办法看见我们提交的文件,等等,但是他是可作为一个中央版本库,分支可以push到这里。

第五步:结束和备注
我的文章到这就结束了,后续你还可以安装和配置TortoiseGit,过程很简单,一直下一步即可。可以参考我文章最开始的几位大神的文章,里面的最后有。重点:tortoisegit中也有个注意点,和svn一样只有装了tortoise你的文件[夹]上才会显示各种图标,表示文件修改状态,这个功能并不是git原代的。但是tortoise这个功能并使很完善,状态会有延迟切有时并不准确

在这里说明一下后面该做的事,也是告知我自己:

  1. 学习git的使用:
    https://blog.csdn.net/youzhouliu/article/details/78952453
  2. 将自己的电脑变成服务器,使外网可以访问,否则依旧无法完成不同地点的数据同步;(也在研究中,大家有好的办法,也可以告知我)
  3. 在电脑上安装linux,并学习linux下的对应操作;

感谢阅读,补充,交流

在这里记录下,第一次使用md,直接导入csdn中,图片,超链接等都不兼容

相关文章:

  • 2022-02-03
  • 2022-12-23
  • 2021-11-28
  • 2021-07-03
  • 2022-01-13
  • 2022-02-07
  • 2021-06-15
猜你喜欢
  • 2021-12-22
  • 2022-12-23
  • 2021-11-19
  • 2022-02-07
  • 2021-12-29
  • 2021-07-09
  • 2021-12-16
相关资源
相似解决方案