CentOS下Git的服务器版安装和使用

简介: Git分布式版本控制系统: Git的使用体验,早已习惯了svn [集中式] 代码管理的吾,第一次接触分布式的git的时候,感觉很难使用,煎熬了一段时间,整个项目组,也是花费了很大的代价,就是出现代码被覆盖很多次,代码都不敢提交了! 记得在中国民航的时候,由于服务器硬件搬家过程中损坏,导致整个系统和代码全部丢失,不是很重要所以没有去做数据恢复,svn就挂了。 记得在金葵花的时候,由于s

Git分布式版本控制系统:

Git的使用体验,早已习惯了svn [集中式] 代码管理的吾,第一次接触分布式的git的时候,感觉很难使用,煎熬了一段时间,整个项目组,也是花费了很大的代价,就是出现代码被覆盖很多次,代码都不敢提交了!

记得在中国民航的时候,由于服务器硬件搬家过程中损坏,导致整个系统和代码全部丢失,不是很重要所以没有去做数据恢复,svn就挂了。

记得在金葵花的时候,由于svn服务器端口被抢占,导致没有启动,早上经理不在,没权限,所有,大家闲置了一早上。

使用了一段时间的git,使用过①:TortoiseGit和②:eclipse的git插件和③Git-2.6.2-64-bit的命令行,前两者是可视化的,我选择的最后的命令行。


Git的思想,遵循GNU的思想:GNU是“GNU is Not Unix”的递归缩写。Git继承了开源社区的精神,不直接支持权限控制。但也有脚本接口和第三方管理权限。不过视代码为生命,视员工为窃贼的公司,就感觉没必要用。但可以自己安装gitlab,自己的git服务器。

git和github和gitlab的区别:

GitLab - 基于Git的项目管理软件。
Github - 一个免费/收费网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等。
GitLab - 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

Git -- 分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

详细请学习,这儿的讲解nice:廖雪峰的官方网站

闲话不说,开始搭建自己的git服务器:

系统:#cat /etc/issue  --> CentOS release 6.5 (Final)和 #git --version --> git version 1.7.1

1:安装git:

安装git
yum install git
版本git
git --version
卸载git
yum remove git
2:搭建服务器:

①:创建git服务器工作空间:
#mkdir -p /home/repository/git
注:-p参数:如果一个目录的父目录不存在,就创建它
②:新建组和用户
#groupadd git
#useradd git -g git -d /home/repository/git/ -s /usr/bin/git-shell
注:若不能执行则,先-s /bin/sh 后手动修改 /etc/passwd文件的/usr/bin/git-shell
#grep git /etc/passwd
git:x:501:501::/home/repository/git/:/usr/bin/git-shell
③:更改权限git文件和目录权限:
#chown -R git.git /home/repository/git/
#ls -la
drwxr-xr-x  3 root root 4096 Jan 19 13:25 .
drwxr-xr-x. 6 root root 4096 Jan 17 22:51 ..
drwxr-xr-x  4 git  git  4096 Jan 19 13:25 git
④:初始化Git服务器仓库:
服务器上的Git仓库纯粹是为了共享,并且用户无权限直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。
git init --bare kekeai.git
注:a,不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;
b,使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面。
⑤:本地用户生成自己的公钥,并收集所有用户的id_rsa.pub文件的信息,把所有公钥导入到/home/repository/git/.ssh/authorized_keys文件里:目录写错将出现错误2[文章末尾备注]文件里,一行一个!

⑥:本地clone代码,自己已经装好了git命令行[ip自己服务器]:
$ git clone git@123.12.188.057:/home/repository/git/kekeai.git
Cloning into 'kekeai'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
则ok!

注:生成自己的公钥:git使用步骤

3:遇到错误:

错误1:

$ git clone git@123.12.188.057:/home/repository/git/kekeai.git
Cloning into 'kekeai'...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:OHPAU2Z3PkMFJYco3F/YB3slBeVz8IlP7ig4CEcm624.
Please contact your system administrator.
Add correct host key in /c/Users/Tony_tian/.ssh/known_hosts to get rid of this message.
Offending RSA key in /c/Users/Tony_tian/.ssh/known_hosts:2
RSA host key for 123.12.188.057 has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

解决 1:

删除自己本地[windows]的C:\Users\Tony\.ssh下known_hosts文件下,删除,对应当前”123.12.188.057“这个服务器的:

123.12.188.057 ssh-rsa ……这一行!

问题2:

git在clone时候权限要输入密码:

$ git clone git@123.12.188.057:/home/repository/git/kekeai.git
Cloning into 'kekeai'...
The authenticity of host '123.12.188.057 (123.12.188.057)' can't be established.
RSA key fingerprint is SHA256:OHPAU2Z3PkMFJYco3F/YB3slBeVz8IlP7ig4CEcm624.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '123.12.188.057' (RSA) to the list of known hosts.
git@123.12.188.057's password:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

解决2:

1:查看用户的公钥位置是否在,git或其他用户的那个指定的目录下,"公钥文件路径错误",请查看!

2:如果不是root,则查看,文件的权限问题!

3:查看本地的id_rsa.pub的内容,是否告诉服务器的,authorized_keys。

4:删除本地known_hosts中,当前服务器的配置,重新开启一个git命令行,clone就好!

备注:ubuntu下安装的,gitweb和git的安装包:

root@ip-xxx:~# du -sh gitlab_7.0.0-omnibus-1_amd64.deb 
285M	gitlab_7.0.0-omnibus-1_amd64.deb
root@ip-xxx:~# df -hl
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  3.1G  4.3G  43% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G   12K  1.9G   1% /dev
tmpfs           377M  332K  377M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvdb       3.9G  8.1M  3.7G   1% /mnt
root@ip-xxx:~# ls -lht
total 285M
-rw-r--r-- 1 root root 285M Jun 23  2014 gitlab_7.0.0-omnibus-1_amd64.deb


廖雪峰的

相关文章
本地服务器 Odoo 安装指南,并实现公网访问
本指南详细介绍基于 Odoo 的企业应用部署流程。首先通过 VMware 安装虚拟机并配置 Ubuntu 系统,为运行环境打下基础;接着利用 Websoft9 平台简化中间件与 Odoo 服务的安装,实现快速部署与版本管理;然后借助 cpolar 实现内网穿透并完成域名解析,确保公网访问畅通;最后进行功能测试与性能优化,提供运维建议以保障系统稳定性和安全性。适合初学者及中小型企业参考实施。
33 4
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
166 26
CentOS 7.8下使用kubeadm安装Kubernetes 1.26
这就是所有的前线报告,冒险家们,你们已经做好准备,开始在CentOS 7.8上通过Kubeadm安装Kubernetes 1.26的挑战了吗?走上这段旅程,让你的代码飞翔吧。
62 16
Websoft9 服务器面板中 Odoo 安装与群晖 NAS 的对比
传统部署Odoo面临基础设施搭建、镜像供应链、复杂配置及运维监控四大难题,而群晖NAS方案存在Docker依赖、插件更新滞后和配置自由度低的局限。Websoft9提供开箱即用的解决方案:无需预装Docker,三键式安装支持全版本Odoo;具备企业级扩展功能如负载均衡与集群部署;兼容混合云架构,支持公有云、私有云及边缘设备管理;同时确保合规性,自动扫描漏洞并生成修复报告,大幅提升部署效率与系统安全性。
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
本文详细介绍了从注册阿里云账号到使用宝塔面板安装网站的完整流程,包括阿里云账号的企业认证、服务器购买与安全规则配置、宝塔面板的安装及网站部署等步骤。通过图文并茂的方式,帮助用户轻松完成阿里云服务器的搭建和管理。适合新手快速上手,实现网站从零到有的全过程。如果觉得有用,别忘了点赞收藏!
20 0
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
49 10
|
28天前
|
CentOS 7.9系统备份:每日定期发送最新备份文件到另一台服务器。
注意,这个解决方案忽略了很多细节,例如错误处理和通知、备份版本控制、循环处理旧的备份文件等等。此外,你也应该尽量保持源服务器和目标服务器之间快速,稳定且安全的网络连接,并且目标服务器应该有足够的空间用于存放每天的备份文件。如果你需要更高级的备份解决方案,可能需要考虑一下使用专门的备份工具或者服务。
67 18
在CentOS 7.9中安装sshpass教程
如果在控制台显示出sshpass的使用方法,那就说明我们的大餐已经准备好,sshpass已经成功安装。 以上就是在 CentOS 7.9 中安装 sshpass 的彩色步骤,专业而生动,就像大厨在厨房一样顺利。
58 8
YashanDB安装前服务器准备
本文档源自YashanDB官网,详细介绍了YashanDB的安装前准备与部署配置要求。内容涵盖服务器配置(操作系统、CPU、内存、硬盘等推荐及最低标准)、共享存储配置、部署规模(单机主备、分布式、共享集群等场景)以及各类部署示例的服务器列表。特别提示,在虚拟机环境中需将硬盘设置为独立-永久模式以避免数据损坏。此文档为用户根据实际需求选择合适的部署方案提供了全面指导。
怎么安装JSON服务器?JSON服务器最新安装教程
JSON Server是一款轻量级工具,基于Node.js运行,可通过单个JSON文件快速模拟RESTful API,适用于开发与测试场景。其支持CRUD操作、自定义路由及高级功能如排序、搜索、分页等,同时允许通过中间件扩展功能。为确保安全性,建议在受控环境中使用,并避免处理敏感数据。此外,还有Mirage JS、Mockoon、WireMock和Postman等替代方案,可根据项目需求选择合适的工具。
54 0
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等