Git-2.39.2

Introdução ao "Git"

Git é um sistema de controle de versão distribuído, gratuito e de código aberto, projetado para lidar com tudo, desde projetos pequenos a muito grandes, com velocidade e eficiência. Cada clone do Git é um repositório completo com histórico completo e recursos completos de rastreamento de revisão, não dependente de acesso à rede de comunicação ou de um servidor central. Ramificar e mesclar são rápidos e fáceis de fazer. Git é usado para controle de versão de arquivos, assim como ferramentas como Mercurial-6.3.2, Bazaar, Subversion-1.14.2, CVS, Perforce e Team Foundation Server.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

  • Transferência (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.39.2.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 32d34dc65ae0955cc68c7152b5ca8b13

  • Tamanho da transferência: 6,8 MB

  • Espaço em disco estimado exigido: 392 MB (com a documentação baixada; adicionar 18 MB para construir a documentação)

  • Tempo de construção estimado: 0,3 UPC (com paralelismo=4; adicionar 0,4 UPC para construir a documentação e 1,6 UPC (dependente da velocidade do disco) para testes, ambos com paralelismo=4)

Transferências Adicionais

Dependências do "Git"

Recomendadas

Opcionais

GnuPG-2.4.0 (tempo de execução, possivelmente seja usado para assinar "commits" ou "tags" do Git ou para verificar as assinaturas deles), OpenSSH-9.2p1 (tempo de execução, necessário para usar Git por meio de "SSH"), pcre2-10.42 (ou o obsoleto PCRE-8.45), em ambos os casos configurados com --enable-jit, Subversion-1.14.2 com ligações "Perl" (tempo de execução, para git svn), Tk-8.6.13 ("gitk", um visualizador simples de repositórios do Git, usa Tk em tempo de execução), Valgrind-3.20.0, Authen::SASL e MIME::Base64 (ambos em tempo de execução, para git send-email) e IO-Socket-SSL-2.081 (tempo de execução, para git send-email se conectar a um servidor "SMTP" com encriptação "SSL")

Opcional (para criar as páginas de manual, documentos "HTML" e outros documentos)

xmlto-0.0.28 e asciidoc-10.2.0 , e também dblatex (para a versão "PDF" do manual de usuário(a)) e docbook2x para criar páginas "info"

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/git

Instalação do "Git"

Instale Git executando os seguintes comandos:

./configure --prefix=/usr \
           --with-gitconfig=/etc/gitconfig \
           --with-python=python3 &&
make

Você pode construir as páginas de manual e(ou) documentos "HTML" ou usar os baixados. Se você decidir construí-los(as), [então] use as próximas duas instruções.

Se você instalou asciidoc-10.2.0, [então] você pode criar a versão "HTML" das páginas de manual e outros documentos:

make html

Se você instalou asciidoc-10.2.0 e xmlto-0.0.28, [então] você pode criar as páginas de manual:

make man

A suíte de teste pode ser executada em modo paralelo. Para executar a suíte de teste, emita: make test. Se executada como um(a) usuário(a) normal, [então] zero (0) testes deveriam ser informados como falhos no resumo final.

Agora, como o(a) usuário(a) root:

make perllibdir=/usr/lib/perl5/5.36/site_perl install

Se você criou as páginas de manual e(ou) documentos "HTML"

Instale as páginas de manual como o(a) usuário(a) root:

make install-man

Instale os documentos "HTML" como o(a) usuário(a) root:

make htmldir=/usr/share/doc/git-2.39.2 install-html

Se você baixou as páginas de manual e(ou) documentos "HTML"

Se você baixou as páginas de manual, [então] descompacte-as como o(a) usuário(a) root:

tar -xf ../git-manpages-2.39.2.tar.xz \
   -C /usr/share/man --no-same-owner --no-overwrite-dir

Se você baixou os documentos "HTML", [então] descompacte-os como o(a) usuário(a) root:

mkdir -vp   /usr/share/doc/git-2.39.2 &&
tar   -xf   ../git-htmldocs-2.39.2.tar.xz \
     -C    /usr/share/doc/git-2.39.2 --no-same-owner --no-overwrite-dir &&

find        /usr/share/doc/git-2.39.2 -type d -exec chmod 755 {} \; &&
find        /usr/share/doc/git-2.39.2 -type f -exec chmod 644 {} \;

Reorganize o texto e o "HTML" no "html-docs" (ambos os métodos)

Para ambos os métodos, o "html-docs" inclue muitos arquivos planos de texto. Reorganize os arquivos como o(a) usuário(a) root:

mkdir -vp /usr/share/doc/git-2.39.2/man-pages/{html,text}        &&
mv        /usr/share/doc/git-2.39.2/{git*.txt,man-pages/text}     &&
mv        /usr/share/doc/git-2.39.2/{git*.,index.,man-pages/}html &&

mkdir -vp /usr/share/doc/git-2.39.2/technical/{html,text}         &&
mv        /usr/share/doc/git-2.39.2/technical/{*.txt,text}        &&
mv        /usr/share/doc/git-2.39.2/technical/{*.,}html           &&

mkdir -vp /usr/share/doc/git-2.39.2/howto/{html,text}             &&
mv        /usr/share/doc/git-2.39.2/howto/{*.txt,text}            &&
mv        /usr/share/doc/git-2.39.2/howto/{*.,}html               &&

sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.txt

Explicações do Comando

--with-gitconfig=/etc/gitconfig: Isso configura /etc/gitconfig como o arquivo que armazena as configurações padrão do Git abrangente a todo o sistema.

--with-python=python3: Use esta chave para usar Python 3, em vez do Python 2 com "EOL". "Python" é usado para a interface git p4 para repositórios "Perforce" e também usado em alguns testes.

--with-libpcre2: Use essa chave se PCRE2 estiver instalado e tiver sido construído com o "JIT" não padrão habilitado.

--with-libpcre1: Como uma alternativa ao "PCRE2", use essa chave se o obsoleto PCRE estiver instalado e tiver sido construído com o "JIT" não padrão habilitado.

tar -xf ../git-manpages-2.39.2.tar.gz -C /usr/share/man --no-same-owner: Isso descompacta git-manpages-2.39.2.tar.gz. A opção -C faz com que o "tar" mude o diretório para /usr/share/man antes de começar a descomprimir os documentos. A opção --no-same-owner impede que o "tar" preserve os detalhes de usuário(a) e de grupo dos arquivos. Isso é útil porque esse(a) usuário(a) ou grupo possivelmente não exista em seu sistema; isso poderia (potencialmente) ser um risco de segurança.

mv /usr/share/doc/git-2.39.2 ...: Esses comandos movem alguns dos arquivos para subpastas para tornar mais fácil a ordenação ao longo dos documentos e achar o que você está procurando.

find ... chmod ...: Esses comandos corrigem as permissões no arquivo "tar" da documentação enviada.

Configurando o "Git"

Arquivos de Configuração

~/.gitconfig e /etc/gitconfig

Conteúdo

Aplicativos Instalados: git, git-receive-pack, git-upload-archive e git-upload-pack (rigidamente vinculados entre eles), git-cvsserver, git-shell, gitk e scalar
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/libexec/git-core e /usr/share/{doc/git-2.39.2,git-core,git-gui,gitk,gitweb}

Descrições Curtas

git

é o rastreador estúpido de conteúdo

git-cvsserver

é um emulador de servidor "CVS" para Git

gitk

é um navegador gráfico de repositório Git (precisa de Tk-8.6.13)

git-receive-pack

é invocado por git send-pack e atualiza o repositório com as informações fornecidas a partir do terminal remoto

git-shell

é um shell de login para contas "SSH" para fornecer acesso restrito ao "Git"

git-upload-archive

é invocado por git archive --remote e envia um arquivamento gerado para a outra extremidade por meio do protocolo "git"

git-upload-pack

é invocado por git fetch-pack; ele descobre quais objetos estão ausentes no outro lado e os envia depois de empacotar

scalar

é uma ferramenta de gerenciamento de repositórios que otimiza o "Git" para uso em grandes repositórios