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-7.2,
Bazaar, Subversion-1.14.5,
CVS,
Perforce e Team Foundation Server.
Nota
Esse pacote é conhecido por construir e
funcionar adequadamente usando-se uma plataforma LFS 13.0.
Informação do Pacote
-
Transferência (HTTP):
https://www.kernel.org/pub/software/scm/git/git-2.53.0.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
3857733169a6443e48d20c75ee32f732
-
Tamanho da transferência: 7,6 MB
-
Espaço em disco estimado exigido: 371 MB (com documentação
baixada; adicionar 22 MB para construir documentos; adicionar
24 MB para testes)
-
Tempo de construção estimado: 0,3 UPC (com paralelismo=4;
adicionar 1,0 UPC para construir documentos e até 6,4 UPC
(dependente da velocidade do disco) para testes)
Transferências Adicionais
Dependências do "Git"
Recomendadas
cURL-8.18.0 (necessário para usar Git por meio de "HTTP", "HTTPS", "FTP" or
"FTPS")
Opcionais
Apache-2.4.66 (para alguns testes), Fcron-3.4.0 (tempo
de execução, para agendamento de tarefas git maintenance), GnuPG-2.5.17
(tempo de execução, possivelmente seja usado para assinar
submissões ou etiquetas do Git, ou
verificar as assinaturas delas), OpenSSH-10.2p1
(tempo de execução, necessário para usar Git sobre ssh), Subversion-1.14.5
com ligações Perl (tempo de execução, para git svn), Tk-8.6.17 (gitk, um visualizador
simples de repositórios do Git,
usa Tk em tempo de execução),
Valgrind-3.26.0, Authen::SASL (tempo de
execução, para git
send-email), IO-Socket-SSL-2.098 (tempo de execução,
para git send-email
se conectar a um servidor SMTP com encriptação SSL), e Systemd-259.1 (tempo de execução, reconstruído
com Linux-PAM-1.7.2, para agendamento de tarefas
do git
maintenance)
Opcional (para criar as páginas de manual, documentos "HTML" e
outros documentos)
xmlto-0.0.29 e asciidoc-10.2.1 , e também dblatex (para a versão
PDF do manual de usuário(a)) e docbook2x para criar
páginas info
Instalação do "Git"
Instale Git executando os
seguintes comandos:
./configure --prefix=/usr \
--with-gitconfig=/etc/gitconfig \
--with-python=python3 \
--with-libpcre2 &&
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.1, [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.1 e xmlto-0.0.29, [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: GIT_UNZIP=nonexist make test -k.
A configuração GIT_UNZIP impede a suíte
de teste de usar unzip. Nós precisamos dela
porque, no BLFS, unzip é um linque simbólico para
bsdunzip, o que não
satisfaz a suposição de alguns casos de teste. Se algum caso de
teste falhar, a lista de testes falhos pode ser exibida via
make -C t
aggregate-results.
Agora, como o(a) usuário(a) root:
make perllibdir=/usr/lib/perl5/5.42/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.53.0 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.53.0.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.53.0 &&
tar -xf ../git-htmldocs-2.53.0.tar.xz \
-C /usr/share/doc/git-2.53.0 --no-same-owner --no-overwrite-dir &&
find /usr/share/doc/git-2.53.0 -type d -exec chmod 755 {} \; &&
find /usr/share/doc/git-2.53.0 -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.53.0/man-pages/{html,text} &&
mv /usr/share/doc/git-2.53.0/{git*.adoc,man-pages/text} &&
mv /usr/share/doc/git-2.53.0/{git*.,index.,man-pages/}html &&
mkdir -vp /usr/share/doc/git-2.53.0/technical/{html,text} &&
mv /usr/share/doc/git-2.53.0/technical/{*.adoc,text} &&
mv /usr/share/doc/git-2.53.0/technical/{*.,}html &&
mkdir -vp /usr/share/doc/git-2.53.0/howto/{html,text} &&
mv /usr/share/doc/git-2.53.0/howto/{*.adoc,text} &&
mv /usr/share/doc/git-2.53.0/howto/{*.,}html &&
sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.53.0/howto-index.html &&
sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.53.0/howto-index.adoc
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: Isso
garante construir git
grep com a biblioteca PCRE2 instalada no LFS, de forma que
git grep suportará a
opção --perl-regexp.
tar -xf ../git-manpages-2.53.0.tar.gz
-C /usr/share/man --no-same-owner: Isso descompacta
git-manpages-2.53.0.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.53.0
...: 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.