飞嗨,欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。(本博已于2015.12.6升级到php7,运行环境php7 php-fpm + nginx1.8.0)

CentOS7搭建git服务器

Linux lf 32641℃ 0评论

git实在是太popular了,之前一个项目,用yii2框架做,composer管理包依赖,这些个插件除少数放在svn上,其他都在git里,如果不懂git,真的是不能愉快的玩耍了,,,没装git就连插件都装不上,,,好在git之父和linux之父是同一个人,有一丢丢小小的linux知识,于是除了用github公有代码仓库外,自己也搭建一个私有git仓库。因为,前些天已经在微软云服务器装上了git,这次只是复习一下思路,写成博客,所以还是用vmware workstation下的centos7虚拟机…

1.yum – y install git        安装git,git作为一个 分布式代码仓库,其实没有server和client的概念,每个机器上保存的都是一份完整的代码库,不过貌似是大团队的话,为了管理方便,会在服务器装一个管理的东东,俺是小团队,有需要再去研究,小团队手动就口以了

安装git

安装git

2.创建一个裸仓库
cd srv
mkdir git
cd git
git –init bare project.git

3.创建一个git用户,git登陆上传走的貌似好像就是ssh,所以要创建一个用户
useradd git
passwd git

4.然后把project.git文件夹赋予git用户
chown -R git:git project.git

创建git裸仓库

创建git裸仓库

至此,服务器端的git搭建就已经完毕鸟,,,

在另一台机器上clone这个空代码库,然后添加文件,再push到服务器
1.进入git bash,我这个windows下个git已经安装配置完成了,所以直接clone,192.168.153.129为我centos7的ip
git clone git@192.168.153.129:/srv/git/project.git
2.输入git的密码
3.进入project.git
cd project.git
4.创建一个测试文件
vim test.txt
随便写一些内容
5.查看状态
git status      看到有一个待添加的文件texs.txt了
6.添加test.txt让git追踪
git add test.txt
7.提交到版本库,并写上备注信息
git commit test.txt -m ‘just a test’
8.把他推送到服务器的版本库中去
git push origin master

git client

git client

git commit

git commit

已经推送到服务器端区了。。。接下来去服务器端看看有木有

刚才俺们在服务器端创建版本库时用的是 git init –bare project.git   加了个–bare就是创建一个裸仓库,没有工作区哒,所以这里只记录了文件的改动,要看是不是同步过来了,需要在git clone一次,看是不是这一次有test.txt啦

git

git

git clone git@127.0.0.1:/srv/git/project.git,输入密码后,开始下载代码了,果然master分支已经有test.txt啦,git log查看一下提交记录,在mon feb 2 09:47:46 2015 +0800的这个,邮件为xxx的作者xxx提交哒。因为windows客户端配置的git是偶滴工作邮件和姓名,就打码了,ok,私有git搭建完成。

转载请注明:飞嗨 » CentOS7搭建git服务器

喜欢 (17)or分享 (0)
发表我的评论
取消评论

表情
(17)个小伙伴在吐槽
  1. git –init bare project.git 这个命令错了
    匿名2017-12-07 13:41 回复
    • 谢谢,我更正一下,笔误,应该是cd project.git && git init --bare
      lf2017-12-12 11:29 回复
  2. 求视频哈 小白表示并不会
    匿名2017-08-22 03:38 回复
    • 可以加Q或者其他方式联系我
      lf2017-08-31 14:27 回复
  3. 您好,我按着您的步骤操作完成以后,到了git clone这一步始终提示无法找到远程仓库,我用的nginx解析的请求到服务器上对应的git仓库地址,我看了下日志,git的每次请求都是xxx.git/info/refs,这个是什么? 在我服务器上确实没有啊,我又新建了一个裸仓库再查看,还是没有这个info/refs 这是什么原因呢? 跪谢~~~
    匿名2016-10-11 10:52 回复
    • 本文介绍的都是基于ssh协议,http/https协议还需要继续配置web服务器的哟
      lf2016-10-26 16:12 回复
  4. chown -R git:git project.git 对新手来说前面是用户名还是后面是用户名? 望博主注释,更容易帮助他人,感谢!
    匿名2016-09-21 11:47 回复
    • 前面的git是用户名,后面的git是用户群组
      lf2016-10-26 16:07 回复
  5. 瞎闹!你这哪里是搭建git服务器!这个分明是创建一个git用户,让别人用这个用户登陆!别在这儿误人子弟了!
    匿名2016-05-07 17:19 回复
    • 谢谢你的提醒,用户不多的话,这样就可以了,不必安装gitosis这样的工具来管理
      lf2016-05-16 10:14 回复
      • 匿名2016-11-30 16:39 回复
  6. 您好,“1.进入git bash,我这个windows下个git已经安装配置完成了,所以直接clone,192.168.153.129为我centos7的ip git clone git@192.168.153.129:/srv/git/project.git 2.输入git的密码;”我按照您的教程做到这时,Cloning into 'git'... ssh: connect to host 192.168.71.133 port 22: Connection timed out fatal: Could not read from remote repository.没有出现输密码的命令,请问这个要怎么解决呢?谢谢啦
    匿名2016-03-30 17:04 回复
    • 你先ping一下ip看看网络是否通,然后你确定下你的ssh port是不是默认的22端口,再然后确定git仓库git是否拥有读的文件权限。有问题直接扣扣我能及时的一起探讨学习
      lf2016-05-16 10:20 回复
  7. 你好,git clone git@192.168.153.129:/srv/git/project.git这一步报错:ssh: connect to host 192.168.71.23 port 22: Connection timed out fatal: Could not read from remote repository. 这个应该怎么弄呀?谢谢啦 Please make sure you have the correct access rights and the repository exists.
    匿名2016-03-23 21:36 回复
    • 你的系统中没有ssh秘钥,google一下就知道了
      匿名2016-09-21 13:42 回复
粤ICP备15018643号-1