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


廖雪峰的

目录
相关文章
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1045 2
|
1月前
|
Shell Linux 网络安全
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
378 3
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
218 18
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
544 16
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
240 15
|
2月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
408 13
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
323 10
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
357 0
|
2月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
419 15

热门文章

最新文章

下一篇
oss云网关配置