Tabela de Conteúdos
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
root@server:~# apt install git git-doc
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
:
root@server:~# git config --system color.ui true
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:
fribeiro@server:~$ git config --global user.name "Fernando Ribeiro" fribeiro@server:~$ git config --global user.email "[email protected]"
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:
fribeiro@server:~$ mkdir test_project.git fribeiro@server:~$ cd test_project.git fribeiro@server:~/test_project.git$
Em seguida a diretoria deverá ser inicializada como um repositório git
:
fribeiro@server:~/test_project.git$ git init Initialized empty Git repository in /home/fribeiro/test_project.git/.git/
Verificar se a inicialização foi bem sucedida:
fribeiro@server:~/test_project.git$ git status On branch master Initial commit nothing to commit (create/copy files and use "git add" to track)
Verificação
Acesso local
Para verificar o correto funcionamento do git
, adicionamos um ficheiro à nossa cópia de trabalho:
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
O novo ficheiro está pronto para ser cometido para o repositório:
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
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:
fribeiro@laptop:~$ git clone [email protected]:~/test_project.git Cloning into 'test_project'... [email protected]`s password: remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done.
A nossa instalação está terminada e pronta a receber os mais exigente projetos!
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 .