Exemplos e comandos úteis de git

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

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

Git. Leonardo Gresta Paulino Murta

Git e Pais

Controlo de versões com GIT

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

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

Curso de git. Aula de outubro de 2018

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

Primeiros passos com no trabalho com Git

GIT Controlo de versões

git git Utilização básica no controle de versão de pacotes João Eriberto Mota Filho Utilização básica no controle de versão de pacotes

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

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

Controle de Versões com o Git

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

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

DESBRAVANDO O GIT E O GITHUB

Padrões de configuração GIT

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

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

Controle de Versão com GIT

Gerenciamento distribuído

ENGENHARIA DE SOFTWARE Controlo de versões com git

GIT. Prof. Rafael Sandim

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

Iniciando Git e GitHub. Univali, 2017 Benjamin Mezger

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

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Software Configuration Management

Introdução à Engenharia ENG1000

Git. Bruno de Pinho Sche.no

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

Ruby on Rails Avançado

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

TUTORIAL DE USO DO GIT JUNTO AO ECLIPSE

Customização ao Extremo

Erros de GUI 7.x expressos do gerente das comunicações unificadas

Sistemas de Controlo de Versões

Guia Prático Richard E. Silverman

Programação de Sistemas. CVS gestor de versões

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

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

Vamos transformar os seus Raspberry PI num cluster (Parte 2)

Guia - SimEON (Simulator for Elastic Optical Networks ) William Silva dos Santos Observações:

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

Aprenda como interligar dois locais através de uma VPN

Protocolos básicos de LANs IP (primeiro trabalho laboratorial) FEUP/DEEC Redes de Banda Larga MIEEC 2009/10 José Ruela

Tutorial de Metalsmith. Paulo Jerônimo :47:59 BRT

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

Personalize a Prompt de comandos da Bash no Linux

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

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

Aprenda a instalar o GLPI no Centos 6.5

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

Roteador Cisco como um servidor de VPN remoto usando o exemplo da configuração de SDM

Transforme o seu Raspberry PI num servidor de DNS

Listagens de ficheiros e directorias

Scanned by CamScanner

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

Este laboratório foi criado apenas como um tutorial. Simplesmente execute o comando apresentado e observe o resultado.

Kodi: Como fazer o backup e restauro

Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos

Aprenda a configurar um servidor de DNS

Aplicações de Código Aberto. Sistemas para controlo de versões Versioncontroltools GIT basics + branching + intro to remotes

PiPplware Algumas dicas de utilização (Parte II)

Software Requirements Specification

PySIGEP Documentation

O Ambiente de Trabalho Candy

Implementação do Web SIG para o PGRH

IPS 7.X: Autenticação de login de usuário usando ACS 5.X como o exemplo da configuração de servidor RADIUS

Pedro Vasconcelos DCC/FCUP. Programação Funcional 17 a Aula Tipos abstratos

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

S.O.R. A Interface de comando

Guia de utilização do servidor da disciplina

Familiarização com o ambiente de desenvolvimento da Keil Software. (uvision 51 e dscope 51)

1. Abra o terminal e instale o Git, para que assim você possa obter o código fonte do programa e suas atualizações.

Autodesk Inventor 9 DocTec3 Iniciar um Projecto

Manual do Cervisia. Bernd Gehrmann Carlos Woelz Tradução: Pedro Morais

Introdução ao Controle de Versão com Git. Software Carpentry

Introdução ao GitHub Peter Bell e Brent Beer

Praticando Git. Praticando Git

Registo de Acompanhamento de Projecto

Manual de utilizador do Sistema PUC para dispositivos móveis

Semmy Purewal. Novatec

Aprenda a criar um "supercomputador" com vários Raspberry PI

Manual Site Unidéias.Net

O Manual do KSystemLog. Nicolas Ternisien

Kerberos com ADFS 2.0 para o utilizador final SAML SSO para o exemplo de configuração do Jabber

Kerberos com ADFS 2.0 para o utilizador final SAML SSO para o exemplo de configuração do Jabber

osticket Aprenda como instalar no Ubuntu

Universidade Federal do Paraná. Alcides. Ângela. Daniel. Eduardo. Apostila Git. Gabriel. Jhenifer. Paula. Walmes

Windows Server 2008 Vamos criar um domínio

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

Linguagem de Programação I

Projecto de Laboratório de Computadores

Tecnologias da Informação e Comunicação

dcos:superuser curl -v

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

Programação Funcional 13 a Aula Tipos abstratos

Transcrição:

Exemplos e comandos úteis de git Laboratório de Programação Luísa Lima, Pedro Vasconcelos, DCC/FCUP Março 2015 Configuração # username e email que aparece nos commits git config --global user.name "Tio Patinhas" git config --global user.email "patinhas@disney.com" # configurar cores e editor git config --system core.editor emacs git config --global color.ui auto As configurações são guardadas num ficheiro de texto no diretório casa (~/.gitconfig). Também podemos guardar configurações por cada repositório (repo/.git/config) Inicializar um repositório local mkdir my_repo cd my_repo git init Cria um directório Git em my_repo/.git contendo: ficheiro de configuração (my_repo/.git/config) estrutura de repositório (inicialmente vazio) Experimente listar o conteúdo (ls.git) mas não remova ficheiros ou diretórios. 1

(Localmente) Acrescentar ou modificar ficheiros cd my_repo # editar um ficheiro README.txt #... git add README.txt # adicionar à "staged area" git commit -m "Criar o novo README." # registar alteração Experimente fazer git show para ver o resultado do seu commit e para ver o histórico de commits. (Localmente) Consultar o estado atual git status # estado dos ficheiros no diretório trabalho # modified/staged/etc. git diff # consultar as diferenças entre o "commit" anterior e os ficheiros "modified" git diff --cached # consultar as diferenças entre o "commit" anterior e aquilo que # está na "staged area" # listar commits efectuados (Remoto) Inicializar o repositório remoto Na primeira vez que criamos um repositório, temos de o inicializar com um commit. Este exemplo assume que o repositório já foi criado (mas não inicializado) no servidor remoto por exemplo, no gitlab ou github. cd my_repo git init. git remote add origin <https://...repo.git> git commit -m "Primeiro commit." -u origin master 2

(Remoto) Clonar um repositório remoto Para clonar um repositório existente e inicializado via HTTP ou SSH: git clone <https://...repo.git> (Remoto) Sincronizar com o remoto Deve-se fazer sempre a sincronização com o remoto, antes de se começar a trabalhar, para ir buscar as alterações mais recentes. Exemplo Para efeitos de demonstração, vamos simular dois utilizadores a usarem o repositório em duas máquinas, fazendo clone do repositório em dois directórios distintos e editando em paralelo. O Tio Patinhas inicializa o repositório remoto Primeiro vamos correr uns comandos para simular a área do Tio Patinhas: mkdir patinhas cd patinhas mkdir businessplan cd businessplan git init git config --local user.name "Patinhas" O repositório remoto está criado mas ainda não há nenhum commit. O Tio Patinhas vai inicializar o repositório remoto com um ficheiro README. git remote add origin https://gitlab01.alunos.dcc.fc.up.pt/disneyland/businessplan.git echo "# Plano de negócios" > README.md git commit -m "Cria um README." -u origin master 3

O Pato Donald clona o repositório Primeiro vamos correr uns comandos para simular a área do Pato Donald: mkdir donald cd donald O Pato Donald pode agora clonar o repositório que o Tio Patinhas criou. git clone https://gitlab01.alunos.dcc.fc.up.pt/disneyland/businessplan.git cd businessplan git config --local user.name "Donald" Exemplo - Pato Donald faz mudança - I O Pato Donald acrescenta um ficheiro novo: # Pato Donald echo "Olá, mundo" > OLA.md git add OLA.md git commit -m "Acrescenta o olá mundo." O Tio Patinhas pode agora ver o que o Pato Donald fez: # Tio Patinhas git show Exemplo - Pato Donald faz mudança - II O Pato Donald continua a modificar o mesmo ficheiro: # Pato Donald echo "Olá, mundo de novo" >> OLA.md git add OLA.md git commit -m "Diz olá ao mundo duas vezes." O Tio Patinhas tenta agora criar outro ficheiro, mas esqueceu-se de ir buscar as alterações do Pato Donald antes: 4

# Tio Patinhas echo "Sim, quero!" > DINHEIRO.md git add DINHEIRO.md git commit -m "Acrescenta mais uma vertente do projecto." # error: failed to push some refs... # anotar o "merge" Resolver conflitos - I O Tio Patinhas agora decide editar de novo o README. # Tio Patinhas echo "Quero mais dinheiro" >> README.md git commit -m "Modifica prioridades do projecto" Resolver conflitos - II O Pato Donald decide editar a mesma linha do README, e por isso, vai ter um conflito que vai ter de resolver. # Pato Donald echo "Quero a minha querida Margarida" >> README.md git commit -m "Adiciona os meus objectivos do projecto" # error: failed to push some refs... # CONFLICT (content): Merge conflict in README.md # editar README.md git commit -m "Coloca as prioridades certas." Comandos úteis - visualização Variações úteis do e show: 5

--author="donald@disneyland.com" -i --grep="readme" git show HEAD~2..HEAD Comandos úteis - desfazer o staging Quando nos enganámos ao acrescentar ficheiros ao staging, podemos retirar essas alterações do staging usando o git reset: echo "xalalala" >> README.md git status git diff --cached git reset README.md git status As alterações vão continuar no ficheiro, mas não vão ser consideradas caso façamos agora commit. Comandos úteis - desfazer alterações a um ficheiro Quando nos enganámos a fazer alterações a um ficheiro, e queremos voltar à versão que está no último commit: echo "xalalala" >> README.md git checkout README.md 6