|
|
{+ Em construção +}
|
|
|
Esta página descreve a ferramenta Git e faz parte do [Catálogo do LabES](../home).
|
|
|
|
|
|
## O que é?
|
|
|
|
|
|
O Git é um sistema de controle de versão, ou seja, ele armazena os códigos em um repositório e divide as alterações feitas em _commits_, para proporcionar acesso a versões anteriores do programa. Ele também permite trabalhar em um código que não seja o principal, por meio de _branchs_ (ramos), a fim de evitar modificar o código-fonte com atualizações incompletas ou defeituosas.
|
|
|
|
|
|
Ele é o sistema de controle de versão mais popular, utilizado por diversas empresas para organização de projetos. O Git também simplifica o compartilhamento de arquivos em um projeto, pois é possível clonar o repositório e, assim, ter acesso à versão mais recente do código trabalhado instantaneamente.
|
|
|
|
|
|
|
|
|
## Quando se aplica?
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
A instalação depende do sistema operacional.
|
|
|
|
|
|
Para Linux:
|
|
|
|
|
|
Distribuição Fedora - > `$ sudo dnf install git-all`
|
|
|
|
|
|
Distribuição Debian -> `$ sudo apt install git-all`
|
|
|
|
|
|
Para MacOS:
|
|
|
|
|
|
`$ git --version`
|
|
|
|
|
|
Para Windows:
|
|
|
|
|
|
É possível instalar no site [Downloading Package](https://git-scm.com/download/win)
|
|
|
|
|
|
## Como instalar?
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
Na linha de comando, utilize cd para ir ao diretório do repositório git existente, ou o que deseja criar.
|
|
|
|
|
|
|
|
|
|
|
|
Como iniciar um repositório:
|
|
|
|
|
|
Caso o repositório ainda não exista, pode-se criá-lo com o comando:
|
|
|
|
|
|
`git init`
|
|
|
|
|
|
Porém, se já existir, há a opção de cloná-lo para sua máquina utilizando a instrução abaixo, no lugar de <repositório> utilize o link deste. Todos os arquivos serão baixados.
|
|
|
|
|
|
`git clone <repositório>`
|
|
|
|
|
|
|
|
|
|
|
|
Outras instruções úteis para iniciar são:
|
|
|
|
|
|
`git status` : Lista os arquivos e a situação deles em relação ao último _commit_.
|
|
|
|
|
|
`git pull` : Antes de modificar algum arquivo, é bom ter certeza que o código trabalhado é o mais recente, essa instrução atualiza todos os arquivos no seu repositório remoto.
|
|
|
|
|
|
|
|
|
|
|
|
Como criar/mudar de branch:
|
|
|
|
|
|
As branches permitem que o programador modifique o código em um espaço que não seja o código-fonte, a fim de evitar mudanças não testadas e que podem resultar em erros.
|
|
|
|
|
|
`git branch` : Lista todas as branchs do seu repositório.
|
|
|
|
|
|
`git checkout -b <nome da nova branch>` : Cria e muda para uma nova branch.
|
|
|
|
|
|
`git checkout <branch>` : Muda para a branch. Caso haja mudanças na branch atual, é necessário fazer o _commit_ das mudanças antes de mudar.
|
|
|
|
|
|
`git merge <branch que será fundida>`: Funde outra branch na sua atual
|
|
|
|
|
|
|
|
|
|
|
|
Como salvar as mudanças:
|
|
|
|
|
|
`git add <arquivo>` : Adiciona um arquivo especificado para o próximo commit.
|
|
|
|
|
|
`git add --all` : Adiciona todos os arquivos para o próximo commit.
|
|
|
|
|
|
`git commit -m “mensagem breve”` : Faz o commit das mudanças.
|
|
|
|
|
|
`git push <remote> <branch>` : Salva no repositório central (remote ou _origin_) as mudanças feitas na sua máquina.
|
|
|
|
|
|
|
|
|
## Como usar/aplicar?
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
A utilização do Git se estende por todo o desenvolvimento do software, pois ele pode ser utilizado para desenvolver e atualizar funções. Portanto, se aplica a todos os momentos que modificações ou adições ocorrerem nos arquivos de código.
|
|
|
|
|
|
[## Lições aprendidas a partir do uso no LabES]: #
|
|
|
|
|
|
## Perguntas frequentes
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
### O que é a `<remote>` ?
|
|
|
|
|
|
- É o nome da conexão feita entre o repositório clonado e sua máquina, automaticamente denominada de origin.
|
|
|
|
|
|
## Referências
|
|
|
|
|
|
--------------------------
|
|
|
|
|
|
- <https://www.atlassian.com/br/git/tutorials>
|
|
|
- <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>
|
|
|
- [Documentação do Markdown no GitLab](https://gitlab.labes.inf.ufes.br/help/user/markdown);
|
|
|
- [Documentação oficial do Markdown](https://daringfireball.net/projects/markdown/). |