51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

分享关于Git服务器相关配置之心得

最近公司WEB前端的GIT服务器老是出问题,断电后,就不能push(推送)和pull(拉取)了,还有其他的奇葩BUG,后来调查了下,是由于服务器磁盘坏了并且内存也不足,需要重新换一台。听到这个消息,我真的是醉了,因为这就意味着所有的配置和库文件全部都要重新搞,整整浪费了我大半天的时间。忙完后就有点迫不及待的分享出来,希望能让大家学习"如何给最新的服务器配置GIT的环境"。作为团队的管理人员or开发者,这个是必须掌握的一项技能。主要分二步:前期准备、配置和文件整合。

前期准备

首先我们得找运维工作人员准备一台全新的服务器,并且让他们帮忙装上我们需要的环境,比如git2.40,gitlab9.1等等,这些东西,我们也可以自己去做,至于如何操作,这里就pass了。

OK,接下来以我现在局域网的一台服务器(172.30.3.16)为例来说明具体操作。

1、第一步,注册一个管理员帐号(当然你也可以用root帐号),打开连接:https://服务器地址/users/sign_in

1.png


注册完成后,我们可以打开左侧的的导航栏,选择project

2.png

然后我们可以看到右侧相关的内容,可以找到"New group","New project",新建团队和项目。

3.png

这里我们新建项目New project,新建成功。

注意:在选择权限的时候,我们得根据实际情况,在局域网内一般我们会选择第一项;这样会安全点,对于开源的项目得选择其他的。

6.png

项目建完后,我们需要在项目里添加团队内的开发人员,你可以让团队内部人员先注册或者你自己添加,然后再把帐号密码给他们,这个随便自己搞拉。

一切ok后,接下来,我们找到设置settings选项

4.png

把已经注册过的团队开发者添加到项目里,在第四步选择时候,有四个选项,根据项目的需要可以设置不同的职位。

设置完成后,我们可以看到下面已经生成对应的团队人员列表。如下图:

5.png

上述操作完成后,点击左侧导航中的"project"就可以看到我们项目的库地址:

7.png

OK,前期工作差不多到这里了,接下来"配置和文件整合"。

配置和文件整合

我们需要在服务器端新建一个文件夹,作为项目的根目录,有两种方法:

1、在WEB端新建项目的时候,直接填写,比如我们上面就已经新建好webDesign了。

2、打开git Bash使用git操作命令,比如我们要新建webDesign文件夹,可以这样操作:

mkdir webDesign.git

进入该文件夹 设置文件夹属性,是多人可访问的。git init --bare -- shared

在本地也新建一个文件夹webDesign,进入该文件夹 git clone 库地址。ssh后面连接的是git的地址

这句话, 是将服务器端新建的文件夹里面的内容(此时为空),clone下来。这样的话,该文件夹会与服务器端的文件夹连起来。

根目录搞定了,接下来我们需要把项目的所有文件放进去,提交到远程的库文件中去啊。有的童鞋就会问,这还不简单?是的,的确不难,只要你玩过SVN,再来玩git应该得心应手。

其实也有两方法:

1、把所有文件拷贝到根目录后,用乌龟大师TortoiseGit,添加add > 提交commit > 推送push就可以了。

2、用git Bash使用git操作命令提交。如下:

git add //将本地文件夹中所有的文件上传到git的文件夹中
git commit -am 'init' //添加注释
git push origin master //将东西上传到服务器git的主分支上

真的很简单啊,事实上并不是一帆风顺的哟。中间很多小问题,这里列举几个我在配置时候遇到的问题,如下:

问题一:

{3AFE7ADD-3DD4-478A-B72C-B960E3F67340}.png

这种问题SSL证书的问题,我们可以在git bash执行下命令:git config --global http.sslVerify false,就搞定了。

问题二:


`KB@X1E}8V~G~V``_8)6}VA.png

A)RUY$RT$U06B0EM2~]@710.jpg

等等,造成这些问题的原因就是没有绑定密钥,接下来叫大家如何搞定,首先,我们在电脑上搜索"PuTTYgen",运行,生成密钥并且保存到本地,注意这里最好不要保存到桌面,很容易被删除,删除后就会出现以上问题。如下图:

8.png

点击"Generate"按钮后,鼠标不停在进度条滑动,来加快生成密钥的速度。

并且我们把生成好的密钥也复制一份,粘贴到git WEB页面里,如下:

9.png

问题三:

确保SSH目录是否跟你保存的目录一样,不一样也会报错的。

10.png

上面三个问题都搞定后,我相信应该不会在出什么意外了。

接下来我们用乌龟大师TortoiseGit在clone克隆的时候,选择已保存的密钥,如下图:

11.png

点击确定后,基本大功搞成了。

最后说到文件整合,也是个蛋疼的问题,如果是全新的项目,没啥问题,如果是中途换服务器,比如我这里突然服务器磁盘坏了。这就关系到很多文件冲突问题,因为同一个文件可能会被几个同事同时改过,其实可以用乌龟大师合并的,如果是先后改的是同一个地方的,那就得对照合并了,目前我是这样做的。

总结

上面是我分享给大家的内容:Git服务器配置,算是这大半天的一些心得体会,希望能帮助到大家。先前有童鞋问过我,GIT和SVN哪个好点,我只能说,等下一篇文章吧,后续也会总结一些GIT的具体命令操作,一起期待吧。

赞(0)
未经允许不得转载:工具盒子 » 分享关于Git服务器相关配置之心得