From 4f8a15117eef674527d27f8a043254e20c931458 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sun, 22 Jun 2014 23:21:08 -0300 Subject: [PATCH] =?utf8?q?Como=20criar=20branches=20e=20especificar=20revi?= =?utf8?q?s=C3=B5es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Branches.mdwn | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 Branches.mdwn diff --git a/Branches.mdwn b/Branches.mdwn new file mode 100644 index 0000000..8611263 --- /dev/null +++ b/Branches.mdwn @@ -0,0 +1,118 @@ +# Branches + +Um branch é uma referência a um commit, que pode ser atualizada através +de novos commits quando é o branch corrente, ou através de outros +comandos. + +Git permite a fácil e rápida criação de branches. Um branch pode ser +criado com o comando branch. + + ~/project$ git branch + * master + ~/project$ git branch devel + ~/project$ git branch + devel + * master + ~/project$ + +O novo branch aponta, ao ser criado, para o mesmo commit que o HEAD +aponta em sua criação. É possível especificar um commit diferente, +através do ID ou outra referência. + +O branch corrente é indicado pelo asterisco na saída do comando git +branch. Para trocar o branch corrente, pode ser utilizado o comando git +checkout. + + ~/project$ git checkout devel + Switched to branch 'devel' + ~/project$ git branch + * devel + master + ~/project$ + +Um novo branch também pode ser criado com a opção -b de git checkout, +que recebe o nome do novo branch. + + ~/project$ git branch + * devel + master + ~/project$ git checkout -b novo master~ + Switched to a new branch 'novo' + ~/project$ git branch + devel + master + * novo + ~/project$ + +Comandos como git show, git log, e outros que aceitam um commit ID como +parâmetro, aceitam o nome de um branch como parâmetro também. + + ~/project$ git show novo + commit e07b9f077684f5e1528cb3632a8e2175cb4a6981 + Author: Thadeu Lima de Souza Cascardo + Date: Sun Jun 22 21:34:01 2014 -0300 + + Atualiza README com o real propósito do projeto. + + diff --git a/README b/README + index a10eb63..0c4d1d4 100644 + --- a/README + +++ b/README + @@ -1 +1,3 @@ + -Novo projeto + +Projeto de demonstração do git. + + + +Um simples hello world em C. + ~/project$ + +O comando git diff permite comparar duas revisões, ou dois pontos +indicados por commits, seja utilizando IDs, branches, ou outras formas +de especificar um commit ou revisão. + + ~/project$ git diff HEAD master + diff --git a/Makefile b/Makefile + new file mode 100644 + index 0000000..8b8f8eb + --- /dev/null + +++ b/Makefile + @@ -0,0 +1,9 @@ + +CC = gcc + +CFLAGS = -Wall + +OBJECTS = hello.o + + + +%.o: %.c + + $(CC) $(CFLAGS) -o $@ -c $< + + + +hello: $(OBJECTS) + + $(CC) $(CFLAGS) -o hello $(OBJECTS) + diff --git a/hello.c b/hello.c + new file mode 100644 + index 0000000..5ba7644 + --- /dev/null + +++ b/hello.c + @@ -0,0 +1,7 @@ + +#include + + + +int main(int argc, char **argv) + +{ + + printf("Hello, world!\n"); + + return 0; + +} + ~/project$ + +Já git log e outros comandos aceitam uma lista de revisões, que pode ser +especificada de diversas maneiras. Uma maneira comum é indicar um commit +inicial e outro final, através da notação inicial..final, ou ^inicial +final. Esta notação, na verdade, implica em todos os commits alcançáveis +por final, excluindo aqueles alcançáveis por inicial. + + ~/project$ git log novo..master + commit 53b6b836f6c83b8df441f63fe3118b109a83e73a + Author: Thadeu Lima de Souza Cascardo + Date: Sun Jun 22 21:36:28 2014 -0300 + + Adiciona programa principal e sistema de build. + + O programa principal que imprime "Hello, world!" e um Makefile para + compilá-lo são adicionados. + ~/project$ -- 2.20.1