fev
01

Diferenças entre comandos básicos Git e S ...

Introdução

O que é Git?
Sistema de controle de versão distribuído onde não temos um repositório central e cada cópia do projeto principal torna-se um repositório local ou remoto.

O que é branch?

É uma ramificação do projeto principal. Quando inicializamos um projeto com Git temos um branch origin que mantem uma cópia do projeto original e um branch master que é o branch padrão  a partir de onde criaremos nossos branches para desenvolvimento.

Pode haver mais de um branch por desenvolvedor?
Não há limites para criação branches e cada branch pode até torna-se um outro projeto ou ter correções e desenvolvimento de novas características paralelamente.  Por exemplo, após obter os arquivos de um determinado projeto para o branch master podemos criar um branch working para desenvolvermos determinadas tarefas e ao mesmo criar um branch fix para corrigir uma falha encontrada em um desenvolvimento anterior sem que uma alteração interfira em outra.  Cada branch terá seus “commits” individuais a qualquer tempo.

Como manteremos os branches sincronizados então?
Ao fazer commit no branch fix mesclamos (merge) as atualizações com o branch master e a partir daí fazemos uma atualização (rebase) do branch working com as correções executadas no branch master.  Logicamente podem haver conflitos que deverão ser tratados nesta ocasião.

O que é trunk?
É repositório principal no SVN ou a linha principalmente de desenvolvimento, no Git tudo é tratado como branch e neste caso é o branch master.

Comparação entre os comandos básicos do Git e SVN:

git clone url svn checkout url
git pull svn update
git init-db svnadmin create   repo
git diff svn diff
git status svn status
git checkout path svn revert path
git add file svn add file
git commit -a svn commit
git branch branch svn copy http://example.com/svn/trunk http://example.com/svn/branches/branch
git checkout branch svn switch http://example.com/svn/branches/branch
git branch svn list http://example.com/svn/branches/

Referências:
- Git – SVN Crash Course
- Learning git-svn in 5min

Leave a Reply