Você está na página 1de 30

Git e GitHub

Formador: Cristóvão Costa

Formador: Cristóvão Costa 1


Git
Formador: Cristóvão Costa

Formador: Cristóvão Costa 2


• O Git é um sistema de controle de versão distribuído e amplamente
utilizado para rastrear as mudanças em ficheiros e colaborar no
desenvolvimento de software. Foi criado por Linus Torvalds em 2005 e
tornou-se uma ferramenta fundamental para desenvolvedores de software
em todo o mundo.
• Quando se perguntou o porquê do nome, Linus Torvalds satirizou sobre o
termo "Git", uma gíria em inglês britânico para cabeça dura, pessoas que
acham que sempre têm razão, argumentativas, podendo ser
também pessoa desagradável ou estúpida:

• Aqui estão alguns dos conceitos e recursos principais do Git:

Formador: Cristóvão Costa 3


Controle de Versão:
• O Git permite que acompanhe as mudanças em seus ficheiros ao
longo do tempo. Isto é útil para rastrear o histórico de alterações,
identificar quem fez uma alteração específica e, se necessário,
reverter para versões anteriores do código.

• Está a desenvolver um aplicativo web e deseja acompanhar as


mudanças no código-fonte ao longo do tempo. Com o Git, pode fazer
um commit a cada vez que faz uma alteração significativa, registando
o que foi feito.

Formador: Cristóvão Costa 4


Distribuído:
• O Git é um sistema de controle de versão distribuído, o que significa
que cada utilizador que trabalha com um repositório Git possui uma
cópia completa do histórico do projeto. Isso oferece independência,
flexibilidade e facilidade de colaboração.

• Vários desenvolvedores trabalham em um projeto em suas máquinas


locais. Cada um deles tem uma cópia completa do repositório Git.
Eles podem trabalhar offline e, em seguida, sincronizar suas
alterações quando estiverem online.

Formador: Cristóvão Costa 5


Repositório:
• Um repositório Git é um diretório onde seus ficheiros e histórico de
versões são armazenados. Existem repositórios locais (em sua
máquina) e repositórios remotos (em servidores ou plataformas como
o GitHub).

• Pode criar um diretório chamado "meu-projeto" e inicia um


repositório Git dentro dele. Agora, todos os ficheiros desse diretório
fazem parte do repositório Git.

Formador: Cristóvão Costa 6


Branches:
• O Git permite que você crie "branches" para trabalhar em novos
recursos ou correções de bugs sem afetar a versão principal do
projeto. Isso ajuda a isolar o trabalho em progresso e facilita a
colaboração.

• Pode criar uma nova branch chamada "funcionalidade-nova" para


desenvolver um novo recurso. Isso permite que trabalhe nessa
funcionalidade sem afetar a branch principal do projeto.

Formador: Cristóvão Costa 7


Branches:

Formador: Cristóvão Costa 8


Commits:
• Um "commit" no Git é uma operação na qual registra as alterações
em seu repositório. Cada commit tem uma mensagem que descreve
as mudanças feitas.

• Após fazer algumas alterações no código, utiliza o comando git


commit -m "Adicionar função de login“ para criar um commit com
uma mensagem a explicar as mudanças.

Formador: Cristóvão Costa 9


Merge e Rebase:
• O Git oferece opções para combinar alterações de uma branch em
outra. O "merge" e o "rebase" são duas formas de fazer isso, com
diferenças na forma como as alterações são integradas.

• Após concluir o desenvolvimento de uma funcionalidade em uma


branch, pode usar o comando git merge para incorporar essas
alterações na branch principal ou o comando git rebase para
reorganizar os commits de sua branch na ordem correta.

Formador: Cristóvão Costa 10


GitHub e GitLab:
• Plataformas como o GitHub e o GitLab fornecem serviços para
hospedar repositórios Git na nuvem, facilitando a colaboração entre
equipas de desenvolvimento.

• Pode enviar o seu repositório Git para o GitHub ou GitLab, tornando-


o acessível a outros colaboradores. Eles podem clonar o repositório,
criar branches, fazer commits e solicitar pull requests para integrar
suas alterações.

Formador: Cristóvão Costa 11


Controle de Conflitos:
• Quando várias pessoas trabalham em um projeto Git e fazem
alterações na mesma parte de um ficheiro, pode ocorrer um conflito.
O Git fornece ferramentas para resolver esses conflitos.

• Dois desenvolvedores fazem alterações no mesmo ficheiro e na


mesma linha. Quando tentam mesclar (ou juntar) as suas alterações,
o Git deteta um conflito e avisa-os para resolver manualmente,
escolhendo quais as alterações manter.

Formador: Cristóvão Costa 12


Histórico e Visualização:
• O Git oferece uma forma eficaz de visualizar o histórico de commits,
ver quem fez quais alterações e quando, o que facilita a auditoria e a
colaboração.

• Utiliza o comando git log para ver uma lista de todos os commits no
projeto, os seus autores e as suas mensagens. Isto ajuda a entender o
histórico das alterações.

Formador: Cristóvão Costa 13


Descentralização e Segurança:
• Como o Git é distribuído, oferece maior segurança contra perda de
dados, e cada cópia completa do repositório é uma cópia de
segurança em si.

• Se o servidor central onde o repositório Git está hospedado sofrer


uma falha, cada programador ainda terá uma cópia completa do
repositório nas suas máquinas, o que ajuda a evitar a perda de dados.

Formador: Cristóvão Costa 14


Resumo:
• O Git é amplamente adotado em desenvolvimento de software, mas
também pode ser útil para rastrear alterações em qualquer tipo de
ficheiro. É uma ferramenta poderosa para colaboração e gestão de
código-fonte em projetos de todos os tamanhos.

Formador: Cristóvão Costa 15


Git - Conceitos básicos
● repositório: pasta/local no qual o projeto é armazenado;
● clone: clona (copia) uma versão do repositório remoto do projeto para o local;
● branches (ramificações): útil no desenvolvimento coletivo, cada utilizador tem a sua no projeto de forma
independente;
● pull: puxa as últimas alterações do repositório remoto para o repositório local;
● commit: controla a versão de um ficheiro registando uma mensagem que identifica as últimas alterações;
● push: envia (empurra) as últimas alterações do repositório local para o repositório remoto;
● merge: unifica (junta) branches diferentes;
● fork: cópia de um projeto para a sua conta do GitHub;
● pull request: solicitação de merge do seu branch num projeto de outra pessoa;
● rebase: segue o raciocínio do merge, mas apaga parte dos commits no histórico. Recomendado para
utilização entre branches de desenvolvedores, não diretamente na principal;

Formador: Cristóvão Costa 16


Git - Comandos básicos
● git init: inicia o git no repositório local;
● git add: adiciona um ficheiro modificado ao stagging (área temporária);
● git status: mostra o status dos ficheiros modificados;
● git commit -m “mensagem”: cria um commit;
● git pull: puxa as atualizações mais recente (remoto -> local);
● git push: envia as atualizações mais recentes (local -> remoto);
● git remote add origin caminho: adiciona seu repositório local ao remoto;
● git checkout: nome-ficheiro: descarta as alterações locais do ficheiro informado.

Formador: Cristóvão Costa 17


GitHub
Formador: Cristóvão Costa

Formador: Cristóvão Costa 18


• O GitHub é uma plataforma de hospedagem e colaboração de código-
fonte baseada na web. É amplamente utilizado por programadores de
software e equipas de programação para gerir projetos, controlar
versões de código, colaborar em equipa e facilitar o desenvolvimento
de software.
• Seguem os principais aspetos e recursos do GitHub:

Formador: Cristóvão Costa 19


Repositórios:
• O GitHub permite que os programadores criem repositórios Git na
nuvem para armazenar seu código-fonte. Isto torna o código
facilmente acessível de qualquer lugar com acesso à Internet.

Formador: Cristóvão Costa 20


Controle de Versão:
• O GitHub é totalmente compatível com o Git e fornece ferramentas
para rastrear e gerir alterações no código-fonte, permitindo que os
programadores vejam quem fez o quê e quando.

Formador: Cristóvão Costa 21


Colaboração:
• Equipas de desenvolvimento podem colaborar em projetos do
GitHub. Vários programadores podem contribuir para um repositório,
criar branches, fazer commits e mesclar suas alterações de forma
eficiente.

Formador: Cristóvão Costa 22


Pull Requests:
• O GitHub introduziu o conceito de "pull requests" (solicitações de
recebimento), que são mecanismos para propor, rever e discutir
alterações no código-fonte. São uma parte fundamental do processo
de colaboração no GitHub.

Formador: Cristóvão Costa 23


Issues:
• As "issues" são utilizadas para rastrear tarefas, melhorias, bugs e
discussões em um projeto. Elas ajudam a manter um registo de todas
as atividades relacionadas ao desenvolvimento.

Formador: Cristóvão Costa 24


Integração Contínua:
• O GitHub suporta integração contínua (CI) e integração contínua de
implantação (CD), permitindo que automatize a compilação, testes e
implementação do seu software diretamente do GitHub.

Formador: Cristóvão Costa 25


Comunidade e Rede Social:
• O GitHub é uma comunidade de programadores onde pode seguir
outros programadores, projetos e empresas. Pode contribuir para
projetos de código aberto e acompanhar o que está a acontecer em
projetos de seu interesse.

Formador: Cristóvão Costa 26


Hospedagem de Páginas da Web:
• O GitHub Pages é um serviço que permite hospedar páginas na web
diretamente de repositórios do GitHub. Isto é útil para criar sites,
documentação e portfólios.

Formador: Cristóvão Costa 27


Segurança e Controlo de Acesso:
• O GitHub oferece recursos de segurança avançados, como
autenticação de dois fatores, autorizações de acesso por equipa e
auditoria de segurança.

Formador: Cristóvão Costa 28


Integrações e Extensões:
• O GitHub oferece integrações com uma variedade de ferramentas e
serviços de terceiros, permitindo estender suas funcionalidades,
como integração com serviços de chat, monitoramento de erros e
muito mais.

Formador: Cristóvão Costa 29


Resumo:
• O GitHub desempenha um papel fundamental na colaboração de
desenvolvimento de software e na promoção de projetos de código
aberto. Muitos projetos de código aberto, bem como empresas e
desenvolvedores individuais, utilizam o GitHub para hospedar,
partilhar e colaborar nos seus projetos de software.

Formador: Cristóvão Costa 30

Você também pode gostar