Você está na página 1de 48

Github

MiniCurso

2021
Agenda
01 Apresentação
02 Workflow Git
03 HandsOn
04 Repositórios /
Projetos
01 Apresenta
ção
Definição do que é Git e
qual a diferença do Github
Histórico
- Git

Git é um sistema de controle de versão é criado por


Linus Torvalds em 2005, com a função de controlar o
desenvolvimento do Kernel do Linux.
O que é
Git

Git é um sistema de controle de versão de arquivos.


Através deles podemos desenvolver projetos na qual
diversas pessoas podem contribuir simultaneamente,
editando e criando novos arquivos e permitindo que
os mesmos possam existir sem o risco de suas
alterações serem sobrescritas.
O que é
Git
Se não houver um sistema de versão, imagine o caos
entre duas pessoas abrindo o mesmo arquivo ao
mesmo tempo. Uma das aplicações do git é
justamente essa, permitir que um arquivo possa ser
editado ao mesmo tempo por pessoas diferentes. Por
mais complexo que isso seja, ele tenta manter tudo
em ordem para evitar problemas para nós
desenvolvedores.
Git
Seu objetivo principal é a utilização no controle de
desenvolvimento de software, mas pode ser usado
para registrar o histórico de edições de qualquer tipo
de arquivo. Cada diretório de trabalho do Git é um
repositório com um histórico completo e habilidade
total de acompanhamento das revisões, não
dependente de acesso a uma rede ou a um servidor
central
Git
Outro fator importante do git é a possibilidade de
criar, a qualquer momento, vários snapshots do seu
projeto, ou os chamados branch. A palavra snapshot
significa “foto instantânea”, na tecnologia é uma
cópia de dados que possui comportamento
semelhante a um backup.
Git -
Branch
Github
O Github é um serviço web que oferece diversas
funcionalidades extras aplicadas ao git. Resumindo,
você poderá usar gratuitamente o github para
hospedar seus projetos pessoais.
Github
Github é uma plataforma de hospedagem de código-
fonte e arquivos com controle de versão usando o Git.
Ele permite que programadores, utilitários ou qualquer
usuário cadastrado na plataforma contribuam em
projetos privados e/ou Open Source de qualquer lugar
do mundo.
Github
02 Workflow
Git
Como funciona o fluxo de
trabalho do git.
Workflow -
Git
1. Você modifica arquivos no seu diretório de
trabalho.
2. Você seleciona os arquivos, adicionando snapshots
deles para sua área de preparação.
3. Você faz um commit, que leva os arquivos como
eles estão na sua área de preparação e os
armazena permanentemente no seu diretório Git.
Workflow -
Git
03 HandsOn

Aprendendo a instalar e
configurar o Git. Criando
seu primeiro projeto.
Instalaçã
o Git
Baixe o git para Lin
ux
Baixe o git para OS
X
Baixe o git para Windo
ws
Configurando as
Credenciais
Para trabalhar no projeto é necessário configurar o
email utilizado no git como o seu email da Empresa ou
projeto que trabalha.

git config --global user.email <seu_email_aqui>


Github -
Account
O Github não possui nenhuma instalação
por ser um serviço web entregue como
SAAS. Sendo assim é necessário criarmos
uma conta para a gestão do versionamento
de arquivos. Para criar a conta basta seguir
este link.
HandsOn
Vamos agora seguir uma sequência de explicações
de como utilizar o Git como um repositório e
gestão de versionamento de arquivos.
Criando um novo
repositório
Crie uma nova pasta, abra-a e execute o comando
abaixo para criar um novo repositório:

git init
Obtendo um
repositório
Crie uma nova pasta, abra-a e execute o comando
abaixo para criar um novo repositório:

git clone https://github.com/fantonio/italab.git


Git Clone
O clone Git é usado para copiar um repositório Git
existente em um novo diretório local. A ação de
clone do Git criará um novo diretório local para o
repositório, copiará todo o conteúdo do repositório
especificado, criará os branches rastreados
remotos e fará o checkout de um branch inicial
localmente.
Lembrete do Fluxo de
Trabalho
Fluxo de Trabalho
Seus repositórios locais consistem em três
“árvores” mantidas pelo git. A primeira delas é sua
Working Directory que contém os arquivos
vigentes. A segunda Index que funciona como
uma área temporária e finalmente a Head que
aponta para o último commit (confirmação) que
você fez.
Git Add (ao Index)
Crie um arquivo com a extensão .md como este
exemplo TESTE.md
Agora adicione ao fluxo de trabalho do git para o
envio até o repositório:
git add Teste.md
Git commit (ao
Head)
Para realmente confirmar estas mudanças (isto é,
fazer um commit) use:

git commit -m “Este é meu primeiro commit ao repositório”

Agora o arquivo é enviado para o Head, mas ainda


não para o repositório remoto.
Git push (ao
repositório)
Suas alterações agora estão no HEAD da sua cópia
de trabalho local, para enviar estas alterações ao
seu repositório remoto, execute:

git push origin master


Git pull
Conforme o projeto for crescendo e sofrer alterações de
vários membros de nossa equipe, poderemos visualizar
um erro que solicitará que atualizamos o nosso
repositório local com o conteúdo do repositório remoto.
Para fazer isso, podemos usar o comando git pull. Ele
possui a mesma estrutura do git push:

git pull origin master


- Ramificações -
Branches
Branches
Branches (“ramos”) são utilizados para desenvolver
funcionalidades isoladas umas das outras. O branch
master é o branch “padrão” quando você cria um
repositório. Use outros branches para desenvolver e
mescle-os (merge) ao branch master após a
conclusão.
Branches
Git Checkout
Vamos criar agora uma nova branch do projeto
italab chamado “ita_x”:
git checkout -b ita_x

Para retornar a branch master basta seguir o


comando abaixo:
git checkout master
Git Checkout

Enviando uma nova branch para o repositório


remoto do github:

git push origin ita_x


Git Merge
Para fazer merge de um outro branch ao seu
branch ativo(ex. master) use:

git merge <branch>

Neste caso o git tenta fazer o merge das alterações


automaticamente.
04 Repositóri
os &
Projetos
Versionando arquivos, e
gerenciando projetos
utilizando Github.
Organização de
Projetos
Master é a nossa branch principal! Tenha CUIDADO
ao se fazer modificações na mesma! Procure evitar
qualquer modificação direta. É a branch que contém
a versão mais estável do sistema, assim as
modificações inseridas nessa branch poderão ser
visualizadas no ambiente de produção.
Organização de
Projetos
Homolog é o ambiente de validação. Aqui temos as
modificações que os envolvidos no projeto poderão
validar. Qualquer sugestão de modificação deve
então ser redirecionada aos gestores que então
devem fazer um chamado para ser alterado na
develop e então subido para homolog.
Organização de
Projetos
Develop é a branch de homolog abrigará todas as
modificações que já foram testadas. As alterações
que são inseridas nessa branch poderão ser
visualizadas no ambiente de develop; Uma das
branchs mais importantes, os desenvolvedores
sempre trabalham em cima dessa branch.
- Empresas -
Versiona
das
- Sugestões -
Guias
Repositórios
https://github.com/raspberrypi/linux
https://github.com/Xilinx/linux-xlnx
https://github.com/OpenNetworkingFoundation
https://github.com/cncf
https://github.com/arduino
Conclusão
Podemos utilizar a boa prática de versionamento de
códigos, dentro do contexto do projeto.
Abrindo assim possibilidades de gerenciar as etapas de
experimentação do nosso protótipo e a interação com
outros desenvolvedores para crescimento acadêmico.
Referências
1. https://rogerdudler.github.io/git-guide/index.pt_BR.html
2. https://bpsi.team/mao-na-massa-5-melhores-ferramentas
-de-gestao-de-projetos-que-voce-precisa-conhecer/
3. https://git-scm.com/book/pt-br/v1/Primeiros-passos-No%
C3%A7%C3%B5es-B%C3%A1sicas-de-Git
4. https://www.udemy.com/git-e-github-para-iniciantes/lear
n/lecture/5120486#overview
5. https://www.atlassian.com/br/git/tutorials/comparing-wor
kflows/gitflow-workflow

Você também pode gostar