Git e Pais

Documentos relacionados
José cria um repositório vazio no Bitbucket ( José cria no seu computador de desenvolvimento um repositório local

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Controlo de versões com GIT

Exemplos e comandos úteis de git

Controle de Versões com o Git

TUTORIAL DE USO DO GIT JUNTO AO ECLIPSE

Curso de git. Aula de outubro de 2018

TUTORIAL GIT Victor Breder Comp-19 Março de 2017

Controle de versão utilizando Git André G. C. Pacheco Janeiro de 2018

GIT Controlo de versões

Entre os VCS s, podemos sitar o Mercurial, Subversion, CVS, Git dentre outros. E é do Git que vamos falar hoje.

Objetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios.

Introdução ao Git. Laboratório de Programação. Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP. Fevereiro 2016

Primeiros passos com no trabalho com Git

GIT. Prof. Rafael Sandim

Daves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ.

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

Utilizando o GitHub para projetos Colaborativos

Desenvolvimento de so-ware com Git. Leonardo Gresta Paulino Murta

Git e contribuição para projetos Open Source. Bruno Orlandi

Ruby on Rails Avançado

Integrated Government Resources Planning IGRP Open Source. Como importar e contribuir - GitHub. Núcleo Operacional da Sociedade de Informação

Mini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse. Jadson Santos Amador Pahim

Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL

Guia Prático Richard E. Silverman

Introdução ao GitHub Peter Bell e Brent Beer

Aprenda como interligar dois locais através de uma VPN

PySIGEP Documentation

CADASTRO DE PROJETISTA

Padrões de configuração GIT

Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software

Controle de Versão com GIT

Plano de Gerenciamento de Configuração

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN

Como configurar a sua loja online?

CVS Concurrent Versions System

Manual de uso do SSM Pessoa Natural. Classificação da informação: externa. Data: 03/09/18

Customização ao Extremo

Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015

Manual de uso do SSM. Classificação da informação: externa. Data: 09/08/18

Permissões de acesso no Linux

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Alteração dos Códigos do IVA dos Artigos.

Índice Introdução... 3 Como configurar a sua loja online ?... 3 Como disponibilizar um artigo para venda online

Como criar uma chave SSH no Linux

TAXAS E TARIFAS BOVESPA

Conhecendo e editando o seu perfil

Documentação PyCEPCorreios

PRIMAVERA SQL Repair Tool v2.0

Introdução ao Git. Author: Eduardo R. D Avila Date: Tue Mar 26 19:00:

Sistema de webconferência Mconf. Sessão 2

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Guia de utilização do servidor da disciplina

1.1.Etapa 1 Bem vindo ao Assistente de Instalação do SIP Sistema Integrado de Pessoal...3

ACESSANDO O GITHUB E COMPARTILHANDO PROJETOS

Guia Rápido. Elgin L42-DT Impressora de etiquetas.

Sistema de webconferência Mconf. Sessão 2

Meios de Comunicação de Dados.

Manual Técnico. Instalação e Configuração do Reporting Services

NOVA VERSÃO DNSDEMES NOVAS FUNCIONALIDADES. REGISTO INSTANTANEO (possibilidade de registo automático) Até 250 gravadores por conta (extensível)

Manual de Instalação Versão 2.0

Permite também conjugar vários comandos para executar determinadas tarefas. Vamos mostrar alguns exemplos concretos da utilização do comando find.

GUIA UTILIZADOR SERVIÇO APOIO A PROJECTOS E CLIENTES VERSION 1.3 FEVEREIRO mygenerixsupport.com. User Guide Version 1.

ZS Rest. Manual Avançado. Início v.1. v2011

Administração de sistemas Linux. Gerenciamento de serviços

Utilizar o Office 365 no iphone ou ipad

Entraremos em sistema linux para realizar algumas tarefas e aprender alguns comandos.

Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados

Guia Rápido Aplicativo TW Viewer. Compatível com toda linha TW. Obrigado pela preferência!

Configuração CVS CONFIGURAÇÃO E UTILIZAÇÃO DE CVS + ECLIPSE

Evolução do Portal do Software Público Brasileiro:

GUIA DE UTILIZAÇÃO DA PLATAFORMA PODIO. Então vamos começar!

CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES LABORATÓRIO AULA 06 Disciplina: Administração de Serviços de Redes Aluno(a):

2-Introdução e Conceitos Básicos das TIC

ESCOLA BÁSICA DOS 1º, 2º E 3º CICLOS DO BOM SUCESSO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO. Tecnologias da Informação e Comunicação

Transcrição:

Git e GitHub @Sebastião Pais

O que é Git? "Git é um sistema de controle de versão distribuida, rápido e escalável" Basicamente é um versionador de ficheiros, é utilizado principalmente para gerir versões de softwares desenvolvidos por um ou mais desenvolvedores, com ele podemos implementar novas funcionalidades e tudo é registado em um histórico, o qual podemos retroceder sempre que necessário, os integrantes de um projeto podem enviar correções, atualizacões, etc. As alterações enviadas para o projeto principal não comprometem o mesmo pois cabe ao dono do projeto a inclusão ou não das alterações efetuadas.

Um Pouco de História O git foi desenvolvido inicialmente por Linus Torvalds (Criador do Linux), pela necessidade de ter um software capaz de controlar a versão do kernel do linux. Mais informacões no link do projeto Git abaixo: http://git.or.cz/

Termos Repository: Local onde ficam todos os ficheiros do projeto, inclusive os históricos e versões. Commit: Confirmação de alteracões realizadas, é como se fosse um checkpoint doprojeto, sempre que necessário pode-se retroceder até algum commit.

Termos Branch: É uma ramificacão do projeto, cada branch representa uma versão do projeto, e podemos seguir uma linha de desenvolvimento a partir de cada branch. Fork: Basicamente é uma bifurcação, uma cópia de um projeto existente para seguir em uma nova direção. Merge: É a capacidade de incorporar alterações do git, onde acontece uma junção dos branchs.

Começar Primeiro vamos criar um novo diretório e em seguida iniciar nosso repository git: mkdir NovoProjeto cd NovoProjeto git init Todos os ficheiros dentro do diretório NovoProjeto faz parte do nosso repository

Configurar Agora vamos indicar as informações do desenvolvedor, fazemos isto para identificar os desenvolvedores em cada commit específico: git config user.name Henrique Silvestre git config usar.email hs.ccti@gmail.com Nesse ponto já podemos ver que uma pasta.git foi criada, lá ficam os registros de todo o nosso projeto.

Exemplificar Vamos criar um ficheiro vazio para exemplificarmos: touch exemplo.txt Agora informamos ao git que vamos adicionar o ficheiro que acabamos de criar ao proximo commit: git add exemplo.txt Mas se quisessemos que todos os ficheiros fossem adicionados podiamos ter usado o seguinte comando: git add.

Exemplificar O git é inteligente o suficiente para apenas realizar commits se detectar alguma alteração nos ficheiros que foram indicados pelo (git add), dessa forma o único commit que ele realiza sem alguma alteração é o primeiro.

Nosso Primeiro Commit... git commit -a -m Nosso primeiro commit Passamos o parâmetro -a para informar que todos os arquivos alterados devem ser incluidos do commit. Passamos o paramêtro -m para adicionar uma mensagem explicativa para o commit.

Comandos Úteis Depois que fizemos nosso primeiro commit existem alguns comandos que podemos utilizar para verificar o mesmo, são eles: git log // listar todos os commits já realizados. git status // mostrar os ficheiros alterados desde o último commit. git show // mostrar as alterações realizadas no último commit.

Branchs Todo novo repositorio git tem um branch default chamado master. Para listar todos nossos branchs: git branch Se não tiver mais branchs a saida será: *master

Branchs Vamos criar um novo branch chamado working tendo como base o branch corrente e vamos continuar no branch corrente: git branch working Agora vamos criar um novo branch chamado outro como base o branch working e vamos nos manter no branch corrente: git branch outro working

Branchs Como já vimos, nosso repositório já tem por default o branch master dessa forma quando falamos branch corrente nos referimos ao branch que estamos trabalhando no momento. Se não criamos nenhum então estamos a trabalhar no master.

Branchs Para criar um novo branch e automaticamente sairmos do branch corrente e irmos para o novo branch usamos o checkout : git checkout -b outro Por hora devemos ter os seguintes branchs: master *outro o branch sinalizado com * é o branch corrente.

Branchs Mudando de branch corrente: git checkout master Agora a saida fica assim: *master outro Para apagarmos um branch fazemos dessa maneira: branch -d outro

Branchs Não podemos apagar um branch corrente, primeiro temos que mudar para outro branch e depois apagarmos o que desejamos.

Exemplificar o Merge Digamos que o ficheiro exemplo.txt foi alterado no branch outro. git checkout outro // alterar para o branch outro. git add. // indicamos todos os ficheiros do commit. git commit -a -m alteração exemplo.txt // commit.

Exemplificar Merge Agora queremos que nossa alteração no exemplo.txt seja refletida a nossa branch master. Primeiro vamos para o branch que queremos as alterações refletidas: git checkout master Agora realizamos o merge (mesclagem/fusão) das alterações do branch outro para o current branch: git merge outro

Exemplificar Merge Não precisamos passar o branch master como parâmetro pois já estamos nele através do: git checkout master Lembram? A saida deverá ser algo como isto: Updating 642caa9..851gb82 Fast forward exemplo.txt 1 + 1 files changed, 1 insertions(+), 0 deletions(-)

Exemplificar Merge Confirmar a alteração no ficheiro: cat exemplo.txt Nesse momento toda a alteração realizada no branch outro será refletida no branch master inclusive nossos commits que fizemos no branch outro e agora esta no master.

Exemplificar Merge Todo branch possui um branch pai, que é a base a partir de então, sabendo disso e se precisassemos fazer um merge em um branch master que já tivesse alguma alteração depois que o branch outro foi criado? Dessa forma o branch outro não estava refletindo a ultima versão de master, como proceder então?

Exemplificar Merge Nesse caso a melhor forma seria o rebase ou seja pegar o ultimo commit do branch master, e trazer para o branch outro e aplicar todos os seus commits nele, feito isso agora o nosso branch outro está refletindo a ultima versão do master Poderiamos fazer o merge também, mas talvez poderia causar conflitos e a última coisa que queremos são conflitos.

Exemplificar Merge Então vamos fazer o rebase da branch outro para refletir a ultima versão da branch master: git checkout outro git rebase master Agora podemos realizar o merge: git checkout master git merge outro

Todos os arquivos que estamos trabalhando estao nesse estágio alteraçõ es,implementacõ es,etc git add Apó s efetuarmos o Commit os arquivos Indicados vão para o Repository WORKING STAGE REPOSITORY Depois que indicarmos quais Arquivos devem ser considerados Pelo commit entramos neste estágio git commit

Repositórios Remotos A idéia é a mesma de um repositório local, mas os remotos como o proprio nome diz, não estão na sua máquina, estão hospedados em servidores na internet ou outra máquina qualquer. Existem vários sites que servem como repositórios online, nesta apresentação usaremos o www.github.com pois é um dos melhores na minha opnião.

Repositórios Remotos A primeira coisa que precisamos é criar uma conta no github e em seguida configurar a chave ssh para que consigamos nos comunicar com o github. Para auxilio na configuracao da ssh keys ou outra configuracao do github siga o passo-a-passo do próprio site indicado abaixo: http://help.github.com/set-your-user-name-email-and-githubtoken/

Clonando um Projeto Para criar um clone (cópia de todo o projeto, incluindo todos commits) devemos utilizar o seguinte comando: git clone https://github.com/meuuser/meuprojeto

Clonar um Projeto Logo após poderemos ver que foi criado um diretório com o nome do projeto e dentro dele a cópia do projeto Veja o repositório remotos disponível agora: cd MeuProjeto git branch r origin/head origin/master origin/working

Clonar um Projeto Devemos criar um branch local baseado em algum branch remoto antes de começar a efetuarmos nossas alterações. git checkout b outro origin/working

Clonar um Projeto Agora vamos supor que nós efetuamos várias alterações neste repositório e durante esse tempo o projeto principal também foi alterado não correspondendo mais a base que nós possuimos agora, e então desejamos sincronizar com a última versão disponível do projeto.

Clonar um Projeto Primeiramente recuperamos a versão recente do projeto: git fetch Agora efetuamos o merge com o branch atual: git merge origin/master

Conclusão Esta apresentação visa esclarecer os conceitos básicos do git e github, mas existem infinidades de conceitos que podem ser pesquisados mais profundamente, material na internet não falta, espero ter ajudado a clarear alguns conceitos! git - guia prático - sem complicação!