sábado, 30 de julho de 2011

Livre Ideias: Instalando e Entendendo Git

Livre Ideias: Instalando e Entendendo Git:

Primeira materia ensinando como iniciar com git e criar um projeto e enviar no github.

Instalando e Entendendo Git

Pessoal iniciando primeiro post do blog resolvi postar algo que eu estou voltando a estudar, já que passei um bom tempo sem usar e agora estou voltando nas ferias, resolvi documentar meus aprendizado e compartilhar com a galera e poder consultar no futuro :)

Vamos lá alguém conhece Git?

Bom e uma ferramenta impressionante para versionamento distribuído, muito alem do CVS e SVN o que vocês vão mais usar no trabalho :(.
Mas o mais atrativo no git e a questão do compartilhamento de código e contribuição em projetos open source. Alem de um merge muito superior aos demais sistemas.

Para quem estiver interessado segue algumas fontes onde estudei e legais de ver.

Akita, possui ótimos screencast, alem do mais Fábio Akita tem um ótimo blog com posts bem detalhados e para quem gosta de Ruby então não pode deixar de conhecer seu blog.
http://akitaonrails.com/2010/08/17/screencast-comecando-com-git


Grokpodcast, também um ótimo lugar, muita coisa boa, e para quem conhece Rafael também tem muito conteúdo sobre nossa área. Aconselho ver os outros podcast. Essa serie possui 3 partes muitos boas do pessoal dando um overview.
http://grokpodcast.com/2011/03/10/episodio-22-%E2%80%93-sistemas-de-controle-de-versao-%E2%80%93-parte-1/

Para quem quiser se aprofundar um ótimo lugar para se aprender Git.
http://egenial.com.br/git

Bom depois de algumas referencias vamos ao foco, iniciar o uso do git e associar a uma conta no github, antes de tudo vou mostrar os principais comandos e funcioes do git.

Claro primeiro criar uma Conta no GitHub:
https://github.com/

O github tem muita documentação e tutoriais para quem estiver interessado, não vou entrar em detalhe e alem do mais e muito intuitivo.








Para instalar no Linux o git e necessário digitar o comando:
sudo apt-get install git-core git-svn ssh

O pacote ssh e necessário para para utilizar o git com o gitHub.
Para ver os branches crie no bash_profile o export PS1

Após isso gere sua senha rsa:
ssh-keygen -t rsa

Deixe as opções default.
Configurando seu usuario no git:
  git config --global user.name "Jeferson Sa"
  git config --global user.email "jeferson.bsa@gmail.com"


Crie um diretório para seu projeto e o comando para iniciar o repositório:
git init

Para adicionar os arquivos de um projeto existe ja ao git:
git add .


Verifique se realmente foi adicionar ao controle de versão os arquivos:
git status

 Caso queira remover algo do versionamento:
git rm --cache

Para commitar os arquivos no git:
git commit -m "Descricao"

Caso queira alterar um arquivo e depois adicionado ao índex você queira voltar:
git reset HEAD

Para remover a alteração do Git
git checkout --     //Vamos ver que o git checkout pode ser usado para branches mais adiante


Para ver o log dos commits e a alteração nos arquivos:
git log
git log --stat

Para ver o linha do tempo do log
git log --graph

Para ver commit apagados:
git reflog

Para aplicar commits em branches ou atualizar commits com arquivos removidos
git merge

Modo iterativo
git add -i

Vamos agora ver uma das partes mais interessantes do Git, os branches:
Para listar os Branches  use o comando (o branche ativo fica com um asterisco):
git branch

Para criar um branch use o checkout:
git checkout -b "nome do branch"
Para voltar o branch:
git checkout "nome do Branch"


Para ver alterações nos branches use a ferramenta gráfica.
gitk --all

Caso precise aplicar o branch master nos seus branches:
git rebase master

Pense sempre na hora de aplicar os branchs no master pois existe as 2 possibilidade rebase e merge, onde o rebase usa a linha cronologica dos commits aplicando em uma linha do tempo, ja o merge ele quebra e deixa o log visivelmente quebrados nos commits dos branchs e do master.

Para adicionar um repositorio remoto:
git remote add origin url/.git
git remote add origin user@ip:repo/.git

Para trabalhar com outros repositórios você pode clonar esse repositório apontando para o repositório remoto e lembrando que o git realmente esta versionamento dentro do diretorio do seu projeto .git:

git clone url/git nome_repo


Para enviar suas alterações para o repositório remoto:
git push origin

Para obter as alterações do repositório remoto:
git pul
git push origin nome_branch


Para sincronizar o remote branch com o remote:
git fetch origin master


Bom galera vamos la agora ao github já com a conta criada citada a antes adiciona sua chave RSA no github.
Copie o conteudo do arquivo e cole no github:
/home/seuUsuario/.ssh/id_rsa.pub





Crie um Repositório novo no git:












Adicione no seu repositório local o repositório do git:
git remote add origin git@github.com:jefersonbsa/ControleFrequencia.git

Envie os arquivos para o github:
git push -u origin master

Entrar no repositório no github estará tudo la :)

Há mais uma alternativa muito boa no github.

Quando você quer participar de um projeto de outro usuário você não tem acesso a escrita no repositório mas você tem a opção de fazer um fork do usuário como o git clone e ai ter um repositório apontando para outro repositório remoto.


Bom galera isso foi um passo a passo explicando algumas features do git e mostrando como adicionar um projeto no github.

Espero que gostem e caso tenham duvidas ou sugestões, ja que esse e meu primeiro post, podem comentar.