Instale uma versão mais recente do Git no CentOS 7

22

Eu gosto de ativar o Git "Push to Deploy" no meu servidor CentOS 7. Atualmente, só consigo o Git 1.8.3.1 via yum. Eu preciso de uma versão mais nova.

Tenho que construí-lo a partir da fonte ou há algum repositório que eu possa usar? Eu já adicionei EPEL e elrepo, mas o yum ainda me fornece o Git 1.8.3.1.

Oliver
fonte
"Push to deploy" significa usar ganchos git que ficam ativos após um push. Que funcionalidade está faltando na versão git EL7? Estou usando com sucesso o Git 1.7.1 no EL6 para muitas dessas tarefas.
Sven
2
@Sven Com base na necessidade de uma versão mais recente do git, prefiro dizer que ele está se referindo ao Git 2.3 "Push to deploy", que permite enviar para um repositório não-nua e também ter seu diretório de trabalho atualizado - github.com/blog/1957-git-2-3-has-been-released
andol
Andol é certo, eu gostaria de usar o "push to implantar" característica que é novo com Git 2.3
Oliver

Respostas:

11

Construir a partir da fonte é bastante direto. O Digital Ocean tem um bom guia sobre como criar o Git a partir da fonte no CentOS 7 . Coloque o binário resultante em / usr / local / bin / no seu sistema CentOS 7 (que, por padrão, está incluído no seu $ PATH) e você estará pronto.

Claro que você prefere pacotes / uso do repositório, no entanto, dada a sua situação, eu não hesitaria em construí-lo.

Para informações gerais; O Push to Deploy foi introduzido no Git 2.3.0 . Certifique-se de usar esta versão ou superior.

lauvdh
fonte
27

Você pode usar um repositório IUS ( https://ius.io/ ), conforme fornecido no site oficial do Git aqui: https://git-scm.com/download/linux

Para fazer isso, execute (como root):

yum install epel-release
yum remove git
rpm -U https://centos7.iuscommunity.org/ius-release.rpm
yum install git2u

( centos7pode ser substituído por centos6ou rhel{6,7}se você não estiver usando o CentOS).

lospejos
fonte
4
Definitivamente, o método que eu usaria, já que você instala um RPM bem mantido, e não as ferramentas de criação criadas.
Ken Williams
1
Apenas observe que talvez não seja seguro usar repositórios de terceiros. Aqui está uma postagem de blog que trata desse problema.
robsch
@robsch Concordo plenamente com isso e nunca utilizarei repositórios externos se os pacotes necessários forem fornecidos em repositórios padrão / oficiais. Como sempre, é um assunto de troca. De qualquer forma, sempre devemos seguir a estratégia "pense duas vezes antes de fazer".
lospejos 12/06
12

Eu tenho essa abordagem para o CentOS 7.2:

rpm -U http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm \
    && yum install -y git

No momento eu tenho a 2.10.0versão GIT.

Ou para o CentOS 7.1 o mesmo caminho, mas wandisco-git-release-7-1.noarch.rpm.

Você pode inspecionar as versões disponíveis http://opensource.wandisco.com/centos/7/git/x86_64/

Kirby
fonte
1

O repositório "Inline with Upstream Stable" ( https://ius.io/ ) parece muito bom para mim.

Possui git 2.x rpms que funcionam muito bem com o sistema de conflitos de rpm.

Você pode encontrar git rpms aqui:

https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/repoview/letter_g.group.html

Eu achei a maneira SCL (Software Collections) mais complicada. Eles são muito cuidadosos para não interferir no usuário que não os utiliza. Um pouco mais de cuidado na minha opinião.

Matthew Hannigan
fonte