Ferramentas de Usuário

Ferramentas de Site


pt:buster:intranet:version_control:git

3.8.2 Git

Git é um sistema de controle de versões distribuído e um sistema de gestão de código fonte, com ênfase na velocidade. O Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos.

Instalação

<sxh bash; highlight: [1]> root@server:~# apt install git git-doc </sxh>

Configuração

A configuração do git pode ser definida a vários níveis: para todo o sistema (system), por utilizador (global) ou por repositório (local).

Regra geral, as configurações mais localizadas sobrepõem-se às mais genéricas. Por exemplo, se definir as preferências de cor da interface a nível global, estas serão adotadas, mesmo que existam outras definidas a nível do sistema.

Sistema

A configuração do git ao nível do sistema é a mais abrangente. O ficheiro de configuração do sistema está guardado em /etc/gitconfig.

Neste exemplo, é definida para todo o sistema a preferências de usar cores na interface do git:

<sxh bash; highlight: [1]> root@server:~# git config –system color.ui true </sxh>

Global

A configuração global é efetuada ao nível do utilizador e refere-se às preferências de todos os repositórios de cada utilizador.

O ficheiro de configuração global é guardado na home de cada utilizador, com o nome .gitconfig.

Cada utilizador deverá definir o seu nome de utilizador e endereço de email que o git utilizado para registar o autor de cada revisão:

<sxh bash; highlight: [1-2]> fribeiro@server:~$ git config –global user.name “Fernando Ribeiro” fribeiro@server:~$ git config –global user.email “pinguim.ribeiro@gmail.com” </sxh>

Repositórios

Criação de repositórios

A criação de um repositório de testes é bastante simples:

Em primeiro ligar deverá ser criada uma diretoria para albergar o nosso repositório:

<sxh bash; highlight: [1-2]> fribeiro@server:~$ mkdir test_project.git fribeiro@server:~$ cd test_project.git fribeiro@server:~/test_project.git$ </sxh>

Em seguida a diretoria deverá ser inicializada como um repositório git:

<sxh bash; highlight: [1]> fribeiro@server:~/test_project.git$ git init Initialized empty Git repository in /home/fribeiro/test_project.git/.git/ </sxh>

Verificar se a inicialização foi bem sucedida:

<sxh bash; highlight: [1]> fribeiro@server:~/test_project.git$ git status On branch master

Initial commit

nothing to commit (create/copy files and use “git add” to track) </sxh>

Verificação

Acesso local

Para verificar o correto funcionamento do git, adicionamos um ficheiro à nossa cópia de trabalho:

<sxh bash; highlight: [1-3]> fribeiro@server:~/test_project.git$ echo “Projeto de testes” > LEIAME fribeiro@server:~/test_project.git$ git add . fribeiro@server:~/test_project.git$ git status On branch master

Initial commit

Changes to be committed:

(use "git rm --cached <file>..." to unstage)
      new file:   LEIAME

</sxh>

O novo ficheiro está pronto para ser cometido para o repositório:

<sxh bash; highlight: [1]> fribeiro@server:~/test_project.git$ git commit -m “adicionar o ficheiro LEIAME do projeto” [master (root-commit) 62d4d52] adicionar o ficheiro LEIAME do projeto 1 file changed, 1 insertion(+) create mode 100644 LEIAME fribeiro@server:~/test_project.git$ git status On branch master nothing to commit, working directory clean </sxh>

O ficheiro foi enviado para o repositório e não há diferenças entre este e a nossa cópia de trabalho.

Acesso remoto vis SSH

Os repositório git podem ser acedidos remotamente através de uma ligação segura SSH, caso tenha configurado o 2.3.2 Servidor Ssh:

<sxh bash; highlight: [1,3]> fribeiro@laptop:~$ git clone fribeiro@server.home.lan:~/test_project.git Cloning into 'test_project'… fribeiro@server.home.lan`s password: remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. </sxh>

A nossa instalação está terminada e pronta a receber os mais exigente projetos!

Sugestão

O pacote git é um poderoso gestor de versões cuja utilização está fora do âmbito deste guia. Para mais informações consulte a documentação do git ou o livro Git Pro, disponível em português .

Referências

pt/buster/intranet/version_control/git.txt · Última modificação em: 2020-08-02 20:10 (edição externa)

Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki