Gitintro » Histórico » Versão 3
Mauricio Luiz Viani, 04/07/2018 16:25 h
1 | 1 | Mauricio Luiz Viani | h1. Guia básico de Git |
---|---|---|---|
2 | 1 | Mauricio Luiz Viani | |
3 | 1 | Mauricio Luiz Viani | * [[gitinstall|Instalação]] |
4 | 1 | Mauricio Luiz Viani | * [[gitcomandos|Comandos básicos]] |
5 | 1 | Mauricio Luiz Viani | * [[gitclone|Clonando o repositório do Expresso Livre]] |
6 | 1 | Mauricio Luiz Viani | |
7 | 1 | Mauricio Luiz Viani | h2. Conceitos |
8 | 1 | Mauricio Luiz Viani | |
9 | 1 | Mauricio Luiz Viani | * *VCS (Sistema de controle de versões)* - Sistema que grava histórico de alterações de um arquivo, ou de um conjunto de arquivos, e possibilita revertê-los para um estado anterior. |
10 | 1 | Mauricio Luiz Viani | * *CVCS (Sistema de controle de versões centralizado)* - Um único servidor contendo todos os arquivos versionados e vários clientes fazendo check out. A administração é facilitada. Porém um único ponto de falha nesse servidor pode significar a perda de todo o histórico de versões (com exceção da versão local atual). _*SVN, CVS, etc...*_ |
11 | 2 | Mauricio Luiz Viani | * *DVCS (Sistema de controle de versão distribuído)* - O cliente não faz check out da última versão dos arquivos do servidor, ele faz uma cópia de todo o repositório para sua máquina local, ou seja, se houver algum problema com o servidor remoto, existe um repositório local de backup. A administração das atividades é mais complexa. _*Git.*_ |
12 | 1 | Mauricio Luiz Viani | |
13 | 1 | Mauricio Luiz Viani | h2. Termos relevantes |
14 | 1 | Mauricio Luiz Viani | |
15 | 1 | Mauricio Luiz Viani | * **Snapshot** - estado de um projeto (arquivos alterados em um commit com relação ao snapshot anterior); |
16 | 1 | Mauricio Luiz Viani | * **Objeto commit** - armazena as informações do snapshot |
17 | 1 | Mauricio Luiz Viani | * **Branch** - ramo de desenvolvimento. Aponta para um objeto commit que será base para o desenvolvimento do branch. Cada branch representa uma versão do projeto, e pode-se seguir uma linha de desenvolvimento a partir de cada branch; |
18 | 1 | Mauricio Luiz Viani | * **Fork** - é uma bifurcação, uma cópia de um projeto existente para seguir em nova direção; |
19 | 1 | Mauricio Luiz Viani | * **Merge** - é a capacidade de incorporar alterações do git, onde acontece uma junção dos branches; |
20 | 1 | Mauricio Luiz Viani | * **Issue** - é um ticket/atividade que pode descrever uma nova funcionalidade, a correção de um bug, ou uma tarefa que deverá ser executada dentro do projeto; |
21 | 1 | Mauricio Luiz Viani | * **Origin** - refere-se ao servidor remoto adicionado a um repositório |
22 | 1 | Mauricio Luiz Viani | * **Origin/Nome_branch** - refere-se às informações do branch do servidor remoto |
23 | 1 | Mauricio Luiz Viani | |
24 | 1 | Mauricio Luiz Viani | h2. Git básico |
25 | 1 | Mauricio Luiz Viani | |
26 | 1 | Mauricio Luiz Viani | > Apesar dos comandos serem similares ao SVN, a forma com que o Git trabalha com as informações é diferente. |
27 | 1 | Mauricio Luiz Viani | > Evite comparações entre as ferramentas para facilitar a compreensão. |
28 | 1 | Mauricio Luiz Viani | |
29 | 1 | Mauricio Luiz Viani | * Git trabalha com os dados em snapshots. Para cada alteração ele salva em um objeto commit o estado de todo o projeto e cria uma referência para o estado anterior; |
30 | 1 | Mauricio Luiz Viani | * Git permite trabalhar offline com o repositório local. Assim que a conexão estiver habilitada, faz-se o upload para o repositório remoto; |
31 | 3 | Mauricio Luiz Viani | * Git faz checksum com SHA1 e detecta arquivos corrompidos evitando a perda de dados em trânsito e garantindo a integridade; |
32 | 3 | Mauricio Luiz Viani | * Git geralmente só adiciona informações. Reverter commits já enviados é trabalhoso, por isso revise seus commits antes de enviá-los ao repositório remoto; |
33 | 1 | Mauricio Luiz Viani | * Git tem 3 estados nos quais os arquivos podem estar: |
34 | 1 | Mauricio Luiz Viani | |
35 | 1 | Mauricio Luiz Viani | * **Commited**: arquivos seguramente armazenados na base de dados local do seu repositório git. |
36 | 1 | Mauricio Luiz Viani | * **Modified**: arquivos alterados mas não commitados na base de dados local. |
37 | 1 | Mauricio Luiz Viani | * **Staged**: arquivos marcados como alterados e que serão enviados no commit do próximo snapshot. |
38 | 1 | Mauricio Luiz Viani | |
39 | 1 | Mauricio Luiz Viani | * Fluxo básico do Git: |
40 | 1 | Mauricio Luiz Viani | |
41 | 1 | Mauricio Luiz Viani | # Alterar os arquivos no seu diretório de trabalho; |
42 | 1 | Mauricio Luiz Viani | # Colocar os arquivos na área de staging (comunica que serão commitados no próximo snapshot); |
43 | 1 | Mauricio Luiz Viani | # Commitar os arquivos e salvar as informações na base de dados do repositório local. |
44 | 1 | Mauricio Luiz Viani | |
45 | 1 | Mauricio Luiz Viani | h2. Ramificação |
46 | 1 | Mauricio Luiz Viani | |
47 | 1 | Mauricio Luiz Viani | * Um branch é um ramo de desenvolvimento isolado e sempre aponta para um objeto commit. O branch padrão do Git é o master. |
48 | 1 | Mauricio Luiz Viani | * Quando um branch é criado, ele aponta para o mesmo objeto commit do branch do qual foi derivado. Por exemplo: se quando criado um branch, o branch ativo era o master, esse novo branch aponta para o mesmo objeto commit que o branch master estava apontando. |
49 | 1 | Mauricio Luiz Viani | |
50 | 1 | Mauricio Luiz Viani | h2. Servidor remoto |
51 | 1 | Mauricio Luiz Viani | |
52 | 1 | Mauricio Luiz Viani | * Um repositório remoto é chamado de bare e não possui diretório de trabalho. Apenas guarda as informações, objetos e referências. A partir dele são feitos os clones locais (diretórios de trabalho). |
53 | 1 | Mauricio Luiz Viani | |
54 | 1 | Mauricio Luiz Viani | > *Lembre-se*: As alterações locais só serão conhecidas pelos outros colaboradores se forem enviadas para o servidor remoto. |
55 | 1 | Mauricio Luiz Viani | |
56 | 3 | Mauricio Luiz Viani | h2. Referências |
57 | 1 | Mauricio Luiz Viani | |
58 | 1 | Mauricio Luiz Viani | * http://git-scm.com |
59 | 1 | Mauricio Luiz Viani | * http://git-scm.com/book/pt-br/ |
60 | 1 | Mauricio Luiz Viani | * http://rogerdudler.github.com/git-guide/index.pt_BR.html |