git服务器
各位:
最近在使用git时遇到了一个问题:我在git服务器上准备建立repo镜像库,但是在运行repo init ......时出现
fatal:git 1.7.2 or later required
我查看了一下服务器git的版本git --version为1.7.1
现在问题就是,我要怎么升级服务器的git版本,又不影响代码库的下载和上传。
PS:该git服务器不是本人建立的,本人只是在使用和维护,该服务器可以使用root 登录shell,本人在网上查找了一些资料,还是不太明白,而且不敢随意更改git服务器。希望在这里能得到一些解答,谢谢。
Answers
无论是 Git 服务器还是 Git 客户端,它们都依赖同一个 git 可执行程序。所以你这个问题的答案就是,升级 git,别管什么服务器/客户端,就是你的
repo
命令依赖的 git 版本太低罢了。
应该说,Git 本身就是分布式的,不存在严格的服务端/客户端的区分,只是我们在逻辑上把某台服务器作为中心式的 repo 罢了。而作为所谓“Git 服务器”,除了管理中心式 repo 之外,还可能去实现用户/权限管理,这要基于第三方的一些软件扩展来实现。
在你的例子里
repo
好像是 python 写的一个 git wrapper,我记得前一阵子回答一个 git 的问题时遇到过它。我不太清楚它的具体作用,但是它归根结底还是要依赖你系统上安装的 git 的。
因此,你就按照常规的方式升级你的 git 就可以了,具体的操作我不知道你用的什么操作系统?Google 一下吧。
我在网上查了一下基本上是:
增加ppa
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
如果本地已经安装过Git,可以使用升级命令:
sudo apt-get dist-upgrade
但是我在本地试过sudo apt-get dist-upgrade
结果git is not in the sudoers file. This incident will be reported.
在服务器上没尝试,系统版本:
CentOS release 6.3 (Final)