Esse post vai ser baseado na aula de Formação Web Dev que estou tendo com o +Fabio Alvaro Pereira (Link do Blog) junto com uma equipe ninja composta de programadores padawans e estagiários Youngling. Essa semana teve bastante coisa, e provavelmente terá mais, então planejo colocar aqui algumas tricks úteis que estou aprendendo de Slackware e PHP com o pessoal. Vou deixar aqui algumas notas do uso do Git que eu tomei hoje na parte da tarde.
Git, é um sistema de controle de versão distribuído para gerenciamento de código fonte focado em infraestrutura e desenvolvimento ágil por meio de repositórios de código, onde os mais conhecidos gerenciadores deste serviço são o Github e o Bitbucket. Ele é Software Livre e o desenvolvedor foi ninguém mais ninguém menos que Linus Torvalds. Inclusive a cereja do bolo do treinamento hoje foi o repositório do Kernel Linux no Github.
Usando o Git sem complicações
# git clone /caminho/para/o/repositório
# git clone https://github.com/msfidelis/Firewalls-Labs.git
Verificando o Status do repositório:
Você pode verificar as alterações, files não trackeadas e outras informações a respeito do projeto utilizando:
# git status
Adicionando seus novos arquivos e modificações:
Você pode propor mudanças e adicioná-las a sua versão utilizando:
# git add * # Adiciona tudo a branch
# git add --all # Adiciona tudo a branch também :)
# git add <arquivo> # Adiciona um arquivo/pasta específico
Commit nas alterações:
Para realmente confirmar estas mudanças (isto é, fazer um commit), use o exemplo abaixo. Agora o arquivo é enviado para o HEAD, mas ainda não para o repositório remoto.
# git commit -m 'Alterei algumas paradinhas legais'
# git commit -am 'Alterei algumas paradinhas legais' # Já faz um git add e um commit
Baixando as alterações do servidor:
Depois do commit é sempre bom baixar a versão mais nova do código do servidor. Pra quem trabalha em equipe, é essencial manter seu ambiente o mais atualizado possível com a versão dos colegas e resolver todos os conflitos antes de dar o pull pro servidor. Para isso utilizamos o 'git pull'
# git pull
Enviando as alterações para o servidor:
Depois de terminar seu código, adicionar, commitar e baixar a versão mais nova, está na hora de enviar suas alterações para seus colegas.
# git push origin master #Enviando as alterações para a branch master
Mudando a branch:
Vamos supor que a arquitetura do desenvolvimento seja dividida em braches, e todo o código gerado por uma sprint seja commitado em um local totalmente separado da branch de produção, e você precisa navegar entre as branches para desenvolver, fazer merges e deploys dos códigos
# git branch #Exibe todas as branches existentes para o repositório
# git checkout <branch>
Criando uma nova Brach:
Vamos supor que você precisa resolver uma alteração bem crítica, ou somente dar o start para um novo ciclo de desenvolvimento, e para isso deseja criar uma nova branch para que todo o desenvolvimento fique separado da branch master de produção. Para isso iremos utilizar o checkout com a opção -b
# git checkout -b #suporte
Voltando as configurações originais do header
'Puts, errei... Zoei tudo...' Solução? Largar tudo e começar tudo do zero fazendo um novo clone? Não... Na verdade é possível restaurar apenas um arquivo ao seu estado original tendo como base o ultimo pull no header.
# git checkout /caminho/para/o/arquivo.php
Configurações do GIT
O serviço do git pode ser otimizado, aqui vão algumas dicas bacanas pra caramba que recebi no curso:
Configurando o Usuário do git:
# git config --global user.name "Matheus Fidelis"
Configurando o Email do seu usuário do git:
git config --global user.email "nanoshots@nanoshots.com"
Setar editor padrão do Git:
git config --global core.editor vim
Setar ferramenta de merge default do Git
git config --global merge.tool vimdiff
Ativando a opção de ignorar arquivos e pastas com o gitignore:
git config --global core.excludesfile ~/.gitignore
Agora edite/crie o arquivo .gitignore na raiz do projeto e coloque nele o caminho das pastas e arquivos a serem ignorados em cada commit.
Criando um cache da sua senha no git (evitar de ter que digitar sempre):
git config --global credential.helper 'cache --timeout=90000'
Post sempre em construção :)
Baseado no post que tem no blog do Fábio e na aula que nós tivemos na Fox
Parabens, muito bom esse artigo, estava realmente precisando saber mais sobre o assunto, seu site é excelente, rico em informações, obrigado por compartilhar conhecimento.
ResponderExcluirMuito obrigado pelo Feedback!!
Excluir