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



Documentos relacionados
Controle de Versão com GIT

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

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

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

Padrões de configuração GIT

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

Versionamento de Código. Núcleo de Desenvolvimento de Software

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

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

Controle de Versão com CVS

Git. Leonardo Gresta Paulino Murta

Tutorial de uso do Subversion com RapidSVN

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

Git no Controle. Com softwares de controle de

Para participar de um mapa colaborativo usando o Cmap Tools

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

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues.

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion

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

SparkleShare. Arthur Henrique Danilo Inácio Luíla Oliveira Paulo Junior

Introdução à Engenharia ENG1000

GUIA INTEGRA SERVICES E STATUS MONITOR

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

NetEye Guia de Instalação

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Acessando um Banco de Dados

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Linux Network Servers

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.

Tutorial SVN Básico Engenharia de Software. Denise Notini Nogueira

Sistema de Controle de Versão - CVS

2. GERÊNCIA DE CONFIGURAÇÃO DE SOTWARE

Manual Captura S_Line

NetEye Guia de Instalação

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

Como utilizar a central de gerenciamento VPN.

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Uma Introdução aos Sistemas de Controle de Versão Distribuídos. Leonardo Gresta Paulino Murta

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

SUAP MÓDULO PROTOCOLO SUAP MÓDULO PROTOCOLO MANUAL DO USUÁRIO

Como contribuir com projetos de software livre

Lazarus pelo SVN Linux/Windows

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Customização ao Extremo

Como instalar o sistema operacional pfsense no Citrix Xen Server

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Administração de Sistemas Livres

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO

"Manual de Acesso ao Moodle - Discente" 2014

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Google Drive: Acesse e organize seus arquivos

Escritório Virtual Administrativo

10 Dicas Eficazes Para Fazer Backup Online

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

Personalizações do mysuite

MANUAL DO USUÁRIO UTILIZAÇÃO DO SOFTWARE PDF 24 CREATOR. Coordenadoria de Tecnologia da Informação

Manual do usuário. v1.0

Edital 012/PROAD/SGP/2012

Google Drive. Passos. Configurando o Google Drive

Eberhardt Comércio e Assist. Técnica. Ltda.

Projeto Competências em informação on line Tutoriais em Tecnologias Intelectuais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Manual de Utilização do Tortoise SVN. Fábrica de Software. Algar Tecnologia Unidade BH

Para que o Educa Mobile seja disponibilizado para os alunos, responsáveis por alunos e/ou professores os passos abaixo devem ser seguidos:

Manual de Instalação do AP_Conta Windows

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Manual do Ambiente Moodle para Professores

Servidor de FTP (Protocolo de Transferência de Ficheiros)

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Manual do Visualizador NF e KEY BEST

OneDrive: saiba como usar a nuvem da Microsoft

Controle de Versões com o Git

MANUAL DE UTILIZAÇÃO

Laboratório de Redes. Professora Marcela Santos

AUXÍLIO COMPUTACIONAL

Manual (Office 365) Para acesso ao sistema de s, os passos iniciais continuam os mesmos.

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Como é o Funcionamento do LTSP

Ferramentas para Desenvolvimento de Software Livre: Ferramentas Gráficas para CVS

Manual das funcionalidades Webmail AASP

Comandos remotos via agente Zabbix

MANUAL DO PVP SUMÁRIO

Instalando o Linux e outros Softwares

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Instruções para Instalação dos Utilitários Intel

Como configurar s nos celulares. Ebook. Como configurar s no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Transcrição:

Introdução ao GIT Introdução ao Git Anderson Moreira Copyright 2009, Free Electrons. Creative Commons BY SA 3.0 license Latest update: Aug 28, 2015, Document sources, updates and translations: http://free electrons.com/docs/git Corrections, suggestions, contributions and translations are welcome! 1

O que é o Git? Um sistema de controle de versão, como CVS, SVN, Perforce or ClearCase. Originalmente desenvolvido para o desenvolvimento do kernel do Linux, é utilizado por um grande número de projetos, incluindo o U Boot, GNOME, Buildroot, uclibc e muitos outros. Ao contrário do CVS ou SVN, Git é um controle de versão distribuído. Não utiliza repositório central. Cada usuário tem um repositório local. Ramificação local é possível e muito importante. Compartilhamento fácil e simples entre desenvolvedores. Bem adequado para o modelo de desenvolvimento colaborativo usado em projetos de código aberto. 2

Instalação O Git está disponível como um pacote na sua distribuição linux: sudo apt get install git core Através do comando git é possível acessar tudo que está no repositório. git possui vários comandos, chamados usando: git <comando>, onde <comando> pode ser clone, checkout, branch, etc. Ajuda pode ser encontrada no comando: git help <comando> Cadastre seu nome e email Eles estarão referenciados em cada um dos commits. git config global user.name 'My Name' git config global user.email me@mydomain.net 3

Clonando um repositório Para começar a trabalhar em um projeto, utilize operação de clonagem do Git. Com CVS ou SVN, seria utilizado a operação de checkout para ter a última cópia da versão do projeto(mais nova). Com o Git, uma cópia de todo o repositório é realizada em seu computador, incluindo o histórico, que permite que sejam realizadas operações mesmo quando se está offline. Clonando o repositório do kernel do Linux de Linus Torvalds git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2.6.git O git:// é um protocolo especill. A maioria dos repositórios pode, também, ser acessado utilizando: http://, porém é relativamente mais lento. Depois de clonar, no linux 2.6/, é disponibilizado o repositório com a cópia funcional da branch master. 4

Explorando o histórico O git log lista todos os commits. O último commit é o que aparece primeiro. commit 4371ee353c3fc41aad9458b8e8e627eb508bc9a3 Author: Florian Fainelli <florian@openwrt.org> Date: Mon Jun 1 02:43:17 2009 0700 MAINTAINERS: take maintainership of the cpmac Ethernet driver This patch adds me as the maintainer of the CPMAC (AR7) Ethernet driver. Signed off by: Florian Fainelli <florian@openwrt.org> Signed off by: David S. Miller <davem@davemloft.net> git log p irá listar todos os commits com o seu diff (acima) correspondente. O histórico do Git não é linear como CVS or SVN, porém é um gráfico de commits. Deixa um pouco mais complicado para ser entendido no começo. Porém permite que ferramentas poderosas do Git sejam utilizadas: (distributed, branching, merging) 5

Visualizando o histórico gitk é uma ferramenta gráfica que representa o histórico do repositório Git Pode ser instalado diretamente do pacote gitk 6

Visualizando o histórico Outra ótima ferramenta é a interface Web para o Git. Para ter o kernel, ele está disponível em: http://git.kernel.org/ 7

Atualizando o seu repositório O repositório que foi clonado no começo do projeto será mudado com o tempo. Ao atualizar o repositório local, isto irá refletir nas mudanças realizadas no repositório remoto, e será necessário atualizar o seu repositório de tempos em tempos. O comando git pull Internamente, realiza duas coisas: Busca as novas mudanças no repositório remoto (git fetch) Funde as novas mudanças na branch atual (git merge) 8

Tags A lista das tags existentes podem ser achadas utilizando: git tag l Para checar a versão funcional do repositório com uma tag dada: git checkout <nomedatag> Para mostrar a lista de mudanças entre uma determinada tag e a versão mais nova: git log v2.6.30..master Para mostrar a lista de mudanças com diff" em um arquivo entre duas tags: git log v2.6.29..v2.6.30 MAINTAINERS Com gitk: gitk v2.6.30..master 9

Ramificações (Branches) Para começar a trabalhar em algo, é melhor criar uma ramificação (branch) É apenas local, só você consegue enxergar a branch É rápida Permite que o trabalho seja dividido em diferentes tópicos, podendo ser descartado posteriormente. É barato, mesmo que você pense que esteja fazendo algo rápido e fácil, crie uma branch Diferente de outros sistemas de controle de versão, Git encoraja o uso de branches. Não exite em utilizá las. Na disciplina de SE não iremos utilizar Branch 10

Ramificações (Branches) Crie uma branch git branch <nomedabranch> Mova essa branch git checkout <nomedabranch> Os dois comandos anteirores ao mesmo tempo: git checkout b <nomedabranch> Listar as branches locais git branch l Listar as branches, includindo as branches remotas git branch a 11

Realizando mudanças Edite um arquivo com seu editor de texto favorito Mostrar o status da versão do seu repositório: git status Git tem uma característica chamada index, que permite organizar os commits antes de serem commitados. O que permite que apenas uma parte das modificações seja realizada, separada por arquivo ou por pedaço de código. Para cada arquivo modificado: git add <nomedoarquivo> Depois commit. Não há necessidade de estar online para realizar o commit: git commit Se todos os arquivos modificados devem estar no commit: git commit a 12

Compartilhando mudanças por email O jeito mais simples de compartilhar algumas mudanças é mandar patches por email. O primeiro passo é gerar os patches git format patch n master..<suabranch> Será gerado um patch para cada um dos commits realizados na branch escolhida <suabranch> Os arquivos do patch serão 0001..., 0002..., etc. O segundo passo é enviar esses patches git send email compose to email@domain.com 00*.patch Assumindo que o sistema de email local está propriamente configurado Necessário: git email package no Ubuntu. Ou git config permite que seja configurado o servidor SMTP, porta, usuário e senha, caso necessário. 13

Compartilhando mudanças: Repositório Caso sejam feitas muitas mudanças nos arquivos e queira simplificar a colaboração com os outros contribuintes do repositório, a melhor opção é ter seu próprio repositório. Crie uma nova versão do seu repositório. cd /tmp git clone bare ~/project project.git touch project.git/git daemon export ok Transfira o conteúdo de project.git para um lugar público (Acessível para leitura por HTTP para todos, e leitura gravação pelo SSH) Clone este repositório: http://yourhost.com/path/to/project.git Push suas mudanças usando: git push ssh://yourhost.com/path/toproject.git srcbranch:destbranch 14

Monitorando árvores remotas Além da árvore oficial de Linus Torvalds, você talvez queira utilizar outros desenvolvimentos ou árvores experimentais. A árvore OMAP git://git.kernel.org/pub/scm/linux/kernel/git/tmli nd/linux omap 2.6.git A árvore de tempo real git://git.kernel.org/pub/scm/linux/kernel/git/rost edt/linux 2.6 rt.git O comando remoto de git permite gerir árvores remotas. git remote add rt git://git.kernel.org/pub/scm/li nux/kernel/git/rostedt/linux 2.6 rt.git Pegue o conteúdo da árvore git fetch rt Mude para uma das branches git checkout rt/master 15

Alguns Clientes GIT Git for Windows https://git for windows.github.io/ 16

Alguns Clientes GIT Tortoise Git http://tortoisesvn.net/ 17

Alguns Clientes GIT SmartGIT http://www.syntevo.com/smartgit/ 18

Sobre o Git Nós vimos as características básicas do Git. Há muito mais recursos disponíveis(rebasing, bisection, merging and more) Referências: Git Manual http://www.kernel.org/pub/software/scm/git/docs/user manual.html Git Book http://book.git scm.com/ Git official website http://git scm.com/ James Bottomley's tutorial on using Git http://free electrons.com/pub/video/2008/ols/ols2008 james bottomley git.ogg 19

Atividade Prática Git Clone um repositório Git e explore o histórico. Crie e compartilhe mudanças para um projeto gerido em um Git. 20