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 e Pais

Controlo de versões com GIT

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

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

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

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

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

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

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

Guia Prático Richard E. Silverman

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)

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

Aprenda como interligar dois locais através de uma VPN

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

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

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

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

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

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.

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

Introdução ao GitHub Peter Bell e Brent Beer

Praticando Git. Praticando Git

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

Manual Site Unidéias.Net

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

Projecto de Laboratório de Computadores

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

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