sábado, 10 de maio de 2014

Git

O Git é um sistema fácil de usar, incrivelmente rápido, bastante eficiente com grandes projetos e de uma excelente qualidade. Mas o que é exatamente o Git? O Git considera que os dados são como um conjunto de snapshots (captura de algo em um determinado instante, como em uma foto) de um mini-sistema de arquivos. Cada vez que você salva ou consolida (commit) o estado do seu projeto no Git, é como se ele tirasse uma foto de todos os seus arquivos naquele momento e armazenasse uma referência para essa captura. Para ser eficiente, se nenhum arquivo foi alterado, a informação não é armazenada novamente - apenas um link para o arquivo idêntico anterior que já foi armazenado.
O workflow básico do Git pode ser descrito assim:

  • Você modifica arquivos no seu diretório de trabalho.
  • Você seleciona os arquivos, adicionando snapshots deles para sua área de preparação.
  • Você faz um commit, que leva os arquivos como eles estão na sua área de preparação e os armazena permanentemente no seu diretório Git.

E agora algumas dicas e comandos resumidos para começarmos a trabalhar com o Git

Instale o Git:
Git para Linux
Git para Windows
Git para OSX

Crie um novo repositório
Crie uma nova pasta ou somente abra a pasta que o seu arquivo/programa/teste/etc que deseja commitar esteja e execute o comando:
 git init  e ele criará um novo repositório.

Copie um repositório
Se você quer copiar um repositório Git já existente o comando necessário é:
 git clone /caminho/para/o/repositório 
Quando usar um servidor remoto, seu comando será:
 git clone usuário@servidor:/caminho/para/o/repositório 

Verifique o Status de Seus Arquivos
A principal ferramenta utilizada para determinar quais arquivos estão em quais estados é o comando git status. Se você executar este comando diretamente após uma clonagem, você deverá ver algo similar a isso:
 $ git status 
 # On branch master 
 nothing to commit (working directory clean) 
Que significa que não existem arquivos monitorados e modificados. Git também não encontrou qualquer arquivo não monitorado, caso contrário eles seriam listados aqui.

Adicione & confirme
Você pode propor mudanças (adicioná-las ao Index) usando:
 git add <arquivo>  ou  git add .  que adiciona todos os arquivos.
Este é o primeiro passo no fluxo de trabalho básico do git. Para realmente confirmar estas mudanças (isto é, fazer um commit), use:
  git commit -m "comentários das alterações" 
Agora o arquivo é enviado para o HEAD, mas ainda não para o repositório remoto.

Envie suas alterações
Suas alterações agora estão no HEAD da sua cópia de trabalho local. Para enviar estas alterações ao seu repositório remoto, execute:
 git push origin master 
Altere master para qualquer ramo (branch) desejado, enviando suas alterações para ele.
Se você não clonou um repositório existente e quer conectar seu repositório a um servidor remoto, você deve adicioná-lo com:
 git remote add origin <servidor> 
Agora você é capaz de enviar suas alterações para o servidor remoto selecionado.

Atualize & mescle
Para atualizar seu repositório local com a mais nova versão, execute:
 git pull  na sua pasta de trabalho para obter e fazer merge (mesclar) alterações remotas.
Para fazer merge de um outro branch ao seu branch ativo (ex. master), use:
 git merge <branch> 
Em ambos os casos o git tenta fazer o merge das alterações automaticamente. Infelizmente, isto nem sempre é possível e resulta em conflitos. Você é responsável por fazer o merge estes conflitos manualmente editando os arquivos exibidos pelo git. Depois de alterar, você precisa marcá-los como merged com:
 git add <arquivo>  antes de fazer o merge das alterações, você pode também pré-visualizá-as usando:
 git diff <branch origem> <branch destino> 

Sobrescreva alterações locais
No caso de você ter feito algo errado você pode sobrescrever as alterações locais usando o comando
 git checkout -- <arquivo> 
isto substitui as alterações na sua árvore de trabalho com o conteúdo mais recente no HEAD. Alterações já adicionadas ao index, bem como novos arquivos serão mantidos.
Se ao invés disso você deseja remover todas as alterações e commits locais, recupere o histórico mais recente do servidor e aponte para seu branch master local desta forma:
 git fetch origin 
 git reset --hard origin/master 

Remova Arquivos
Para remover um arquivo do Git, você tem que removê-lo dos arquivos que estão sendo monitorados (mais precisamente, removê-lo da sua área de seleção) e então fazer o commit. O comando  git rm faz isso e também remove o arquivo do seu diretório para você não ver ele como arquivo não monitorado (untracked file) na próxima vez.

Pra não esquecer:
Fluxo de trabalho
Seus repositórios locais consistem em três "árvores" mantidas pelo git. A primeira delas é sua Working Directory que contém os arquivos vigentes. A segunda Index que funciona como uma área temporária e finalmente a HEAD que aponta para o último commit (confirmação) que você fez.

Melissa Lobo,

Nenhum comentário:

Postar um comentário