O básico sobre o Git
- #Git
Ao longo deste artigo irei explicar sobre o funcionamento do GIT, mas também apresentar os principais comandos. Esse artigo é direcionado a quem está iniciando no mundo do desenvolvimento como eu.
Nós novos usuários muitas vezes nos assustamos ao usar a visualização pelo terminal, no primeiro momento parece complicado, mas fique tranquilo que tentarei manter as coisas mais simples possível, afinal esse material está sendo elaborado com objetivo de ser um material de consulta para mim até que eu passe a dominar mais essa ferramenta.
Git é um sistema de controle de versão que auxilia o acompanhamento das alterações realizadas no código.
Mas você precisa ter em mente que apesar da semântica do nome ser parecida, Git trata-se de uma coisa e GitHub de outra. Como já falei acima Git é um sistema de controle de versão e GitHub é uma plataforma de repositório remoto.
O Git é uma importante ferramenta de colaboração na codificação, permitindo rastrear quem fez a alteração, dessa forma é importante saber que o que Git faz:
- Gerenciar projetos com repositórios;
- Clone um projeto para trabalhar em uma copia local;
- Controle e acompanhe as mudanças com Staging e Committing;
- Ramificar e mesclar para permitir o trabalho em diferentes partes e versões de um projeto;
- Puxe a versão mais recente do projeto para uma cópia local;
- Envie atualizações locais para o projeto principal
Ao inicializar o Git em uma pasta, torna-se um repositório, que cria uma pasta oculta que irá acompanhar as alterações. Quando um arquivo é alterado, adicionado ou excluído ele ganhará o status de modificado. Esses arquivos modificados podem ser selecionados para preparar para o envio no repositório remoto.
Os arquivos Staged são Committed, que tornar um instantaneamente um arquivo permanente. É possível ver o histórico completo de cada commit anterior e as alterações feitas e com isso você pode retornar a qualquer commit anterior.
Mais de 70% dos desenvolvedores usam Git, para trabalhar colaborativos ou como repositório de segurança.
Já GitHub é o maior host de código-fonte no mundo e pertence à Microsoft, as ações contidas daqui para frente serão concentradas no uso Git com GitHub no sistema operacional Windows.
Instalando Git
O Git poderá ser instalado na sua maquina gratuitamente pelo site https://www.git-scm.com/ , depois de instalado é necessário abrir o painel de comando que no caso do Windows pode ser usado o Git bash.
É possível verificar se foi instalado corretamente por meio do comando
$git - -version.
Com seu Git devidamente instalado precisa configurar suas informações, essa etapa é muito importante, pois o sistema de controle de versões usa essas informações.
Comandos para cadastrar o nome:
$ git config -- global user.name “seu_nome_aqui”
Comando para cadastrar o email:
$ git config -- global user.email “seu_email_aqui”
Importante saber que o comando global para cada repositório em seu computador, para definir nome e email apenas para repositório atual, basta remover o comando global.
Para criar uma pasta no Git você pode usar o comando $mkdir seuprojeto
O comando $ cd seuprojeto vai te levar para dentro da pasta criada.
Caso queira usar o Git em outra pasta, você pode abrir o explorador de aquivos, procura a pasta que deseja, clicar com botão direito do mouse e selecionar a opção "Git Bash Aqui”
Para inicializar o Git na pasta que você escolheu, você deve digitar o comando $ git init.
Parabéns você criou seu primeiro repositório, saiba que git criou uma pasta oculta para acompanhar as alterações.
Ao criar arquivos no repositório você poderá lista-los por meio do comando $ ls
Para saber se faz parte do repositório usa-se o comando $ git status
Nesse momento o Git sabe da existência do arquivo, mas ele não faz parte do repositório, isso porque existe dois estados dos arquivos na pasta: os Tracked, arquivos que já foram adicionados ao repositório e os Untracked, trata-se de que estão no diretório de trabalho, mas não foram adicionados ao repositório.
Entre as mais variadas funções do Git são conceitos de Straging Environment e Commit.
Ao trabalhar você pode adicionar, modificar e excluir arquivos, mas para esses arquivos serem enviados para ambiente de preparação (Straging Environment) deve ser enviado via o comando $ git add “nome_do_arquivo”.
Quando consultado status após o envio o arquivo deve está em Staged com isso o arquivo foi adicionado ao Straging Environment.
Para adicionar mais de uma arquivo é possível ao usar comando $ git add --all, irá alterar todos arquivos, sendo eles novos, modificados ou excluídos. Esse comando pode ser abreviado com $ git add -a.
Quando o trabalho estiver finalizado é possível mudar stage para commit no repositório. os commits são pontos de mudança ou “save point”, permitindo você voltar àquele ponto, caso mais para frente tenha algum bug ou seja necessário fazer alguma alteração.
O comando do commit deve ser sempre acompanhado de uma mensagem referente ao momento que se encontra o projeto. $ git commit -m “Primeira etapa do Oi Mundo”, importante saber o que -m é o comando para gerar a mensagem.
É possível com comando $ git status --short verificar as mudanças de forma mais compacta e com os seguintes sinalizadores:
- ?? - Arquivos não rastreados
- A - Arquivos adicionados
- M - Arquivos modificados
- D - Arquivos excluídos
Para acessar o registro de commits de um repositório pode ser feito pelo comando $ git log.
Existe um comando no Git que auxilia a lembrar outros comandos, esse comando é help, ele possui formas diferentes de ser usada. Ele pode ser usado para ver todas as opções disponíveis para um determinado comando, $ git git comando -help, caso você queira abrir a página do manual do Git com essa informação você pode colocar $git comando --help.
Outra opção, mas que gera uma lista muito longa de comandos é $ git help --all, caso você fique preso na exibição pode pressionar SHIFT + G que vai pular até o final daí é só apertar a letra ‘q’ para sair da exibição.
O branch é ramificação de um repositório principal, onde é possível criar uma nova versão/separada para que ajustes ou modificações sejam feitas sem prejudicar o repositório principal.
Dessa forma você poderá trabalhar em diferentes partes do projeto sem afetar a ramificação principal e assim que o trabalho estiver finalizado você pode mesclar com o projeto principal ou você pode alternar entre ramificações e trabalhar em projetos diferentes sem que eles interfiram uns nos outros.
Para criar um novo branch o comando é $ git branch nome_do_novo_branch e para confirmar se o branch foi criada o comando é @ git branch.
Para alternar entre branch usa-se o comando checkout, quando você consulta a branch criadas o asterisco (*) ao lado identifica em qual você está naquele momento. A linha de comando que permite a alternância é $ git checkout nome_da_branch.
Ao alterar um arquivo no novo branch e você colocar para ver o status vai aparecer que ocorreu alteração no arquivo index.html e a inclusão do arquivo de imagem, logo esses dois arquivos são Untracked.
Agora esses arquivos precisam ser enviados para o ambiente de preparação e deverá ficar Stage.
Agora precisamos commitar esses arquivos para que possam ser compreendidos como branch.
É possível criar diversos branch’s e também é possível mesclar com a branch master quando for necessário. Um outro comando capaz de criar o branch é $ git checkout -b nome_do_branch.
Ao alterar o arquivo para fazer a correção de emergência, o ideal é verificar o status dos arquivos e daí fazer sua adição.
Para mesclar as ramificações, primeiro passo é mudar para branch master com o comando $ git checkout master.
Para mesclar o branch atual com o arquivo alterado você deve dar o comando $ git merge nome_do_arquivo_a_ser_mesclado.
Nesse caso como o arquivo alterado veio diretamente do master e não ocorreu nenhuma outra alteração no master enquanto estava trabalhando no novo arquivo, logo isso é chamado de “Fast-forward” que apenas apontando o master a correção para o mesmo commit.
Agora é possível deletar a branch de usada para alteração com o comando $ git branch -d nome_da_branch.
Mas pode acontecer um conflito quando tentamos mesclar arquivos com alterações substanciais.
A mesclagem falhou por conta de existir um conflito entre as versões que pode ser confirmado ao verificar o status.
Você vai precisar abrir o arquivo no seu editor que vai apresentar o conflito, daí basta editar a correção como desejar. Após fazer as alterações você pode consultar o status e adicionar os arquivos para serem comitados.
Após comitados o arquivo o branch que foi criado pode ser deletado.
Agora você já tem uma noção do funcionamento básico do Git e como funciona as ramificações e mesclagem poderá começar a trabalhar com o repositório remoto do GitHub.
Resumo dos comandos:
- Para saber a versão do Git:
$ git --version
- Para cadastrar/alterar o nome:
$ git config -- global user.name “seu_nome_aqui”
- Para cadastrar/alterar o email:
$ git config -- global user.email “seu_email_aqui”
- Para criar pasta (diretório):
$ mkdir “nome da pasta”
- Para ir para pasta:
$ cd “nome da pasta”
- para iniciar o git na pasta (diretório):
$ git init
- Para listar arquivos dentro da pasta (diretório):
$ ls
- Para saber o status dos arquivos:
$ git status
- Para saber o status dos arquivos de forma compacta:
$git status --short
- Para adicionar um arquivo ao Straging Environment:
$ git add “nome_do-arquivo”
- Para adicionar vários arquivo ao Straging Environment:
$ git add --all ou $git add -a
- Para enviar para commit:
$ git commit -m “Mensagem”
- Para visualizar histórico de commits:
$ git log
- Para visualizar ajuda de um determinado comando:
$ git ‘comando’ -help
- Para visualizar ajuda de uma determinado comando mas no manual Git?
$ git ‘comando’ --help
- Para visualizar uma lista de todos os comandos do Git:
$ git help –all
- Para criar um novo branch:
$ git branch nome_novo_branch
- Para confirmar a criação do branch:
$ git branch
- Alternar entre branch:
$ git checkout nome_do_branch
- Para criar branch e alterar para novo branch:
$ git checkout -b nome_da_branch
- Deletar branch
$ git branch -d nome_da-branch