GIT para principiantes.

Postado por DBC Company Em: Desenvolvimento, Tecnologia Sem comentarios

Um dos requisitos implícitos de se fazer parte de um time de desenvolvimento é… Trabalhar em equipe. Como é humanamente impossível manter uma árvore de desenvolvimento íntegra com várias pessoas trabalhando ao mesmo tempo, se faz necessário o uso de um software de versionamento de código. Na maioria dos clientes atendidos pela DBC Company se faz uso de git [1], ferramenta que auxilia nesse processo.

MOTIVAÇÃO

  • Esse é o Git. Ele mostra nosso trabalho em projetos através de uma árvore distribuída.
  • Legal! E como vamos usar ele?
  • Não faço ideia. Apenas decore esses comandos e digite-os para sincronizar tudo. Se der erro, salve seu trabalho em algum lugar, apague o projeto e faça uma nova cópia.

(tradução livre) – Fonte: https://xkcd.com/1597/

O QUE É CONTROLE DE VERSÃO?

Controle de versão é um sistema que registra alterações em um ou mais arquivos ao longo do tempo, para que você possa resgatar versões específicas mais tarde. Embora possa ser feito com quase qualquer tipo de arquivo, o mais comum é utilizar em código-fonte de programas.

POR QUE USAR UM SISTEMA DE CONTROLE DE VERSÃO?

Um software de Controle de Versão mantém todo o histórico de alterações dos arquivos desde a sua criação, permitindo a identificação do autor (quem), a data da alteração (quando), e o motivo das alterações (por quê). A partir disso, nos permite restaurar o status anterior de um ou mais arquivos, comparar as mudanças realizadas, e identificar o que pode estar causando problema no momento. Também significa que se você estragar tudo ou perder arquivos, você pode facilmente recuperar.

O QUE É GIT?

Git [2] é um software de controle de versão. Funcionando de forma distribuída, foi originalmente criado em 2005 por Linus Torvalds para gerenciar o desenvolvimento do Kernel Linux. Seu funcionamento é rápido e simples, uma vez que ele armazena somente as diferenças entre o arquivo original e a versão de mudança atual (e não versões completas dos arquivos como seus antecessores). Git é um Software Livre, licenciado pela GPL v2 [3]

GITHUB E GIT, SÃO A MESMA COISA?

Resposta curta: não.

Resposta longa: Github [4] é um serviço de hospedagem de código criado em 2008, que utiliza Git em sua estrutura. Foi adquirido pela Microsoft em 04/06/2018 por US$ 7,5 bilhões, ainda está disponível para uso sem custo, mas não é uma ferramenta livre.

E COMO PODEMOS UTILIZAR EM NOSSO PROCESSO DIÁRIO?

Para uso em nosso processo diário, há uma série de pequenas etapas necessárias. Algumas delas, executa-se apenas uma vez. Outras, com bastante frequência. Assumindo que um dos clientes Git já estejam instalados (caso não, há na página de downloads [5] todos os clientes oficiais, para a maioria das plataformas), iniciamos nossa jornada [6]. O mais importante é ENTENDER quais as ações que se desejam fazer e, entendido isso, o uso acaba ficando simples.

As configurações ficam gravadas de forma local em ~/.gitconfig (em ambientes POSIX, como Linux e Mac), ou em $HOME\.gitconfig para usuários Windows.

CONFIGURAÇÃO DE USUÁRIO (ÚNICA VEZ)

A primeira coisa que você deve fazer ao instalar Git é configurar seu nome de usuário e endereço de e-mail. Isto é importante porque cada commit realizado usa esta informação, e ela é imutável. Pela linha de comando, podemos registrar essas duas informações:

$ git config --global user.name "Desenvolvedor X"

$ git config --global user.email desenvolvedor.x@dbccompany.com.br

Observe que, se não utilizar o parâmetro –global será necessário refazer essa configuração para cada projeto em que se for trabalhar.

COPIANDO OS ARQUIVOS DO PROJETO REMOTO PARA A MÁQUINA LOCAL (ÚNICA VEZ)

Para obter uma cópia local do projeto para conseguir iniciar o trabalho de desenvolvimento, será necessário obter um clone [7] do repositório remoto. Para tal, utilizamos, dentro de uma pasta onde se queira armazenar o projeto inteiro:

$ git clone https://gitlab.com/fabiobeneditto/tchelinux-git.git Tchelinux

O parâmetro em vermelho é opcional. Por padrão, é criada uma pasta com o nome do repositório (nesse exemplo, tchelinux-git ) e, usando o parâmetro, ele criará essa pasta e colocará os arquivos dentro dela.

PERSISTINDO AS ALTERAÇÕES

Para persistir as alterações em arquivos, que podem ser inclusão, alteração e/ou exclusão dos mesmos, será necessário utilizar o processo de commit [8]. Esse processo é utilizado com frequência no dia-a-dia do desenvolvedor. Consiste basicamente em:

$ git commit -am "Versão Inicial de hello.md"

Sendo que os parâmetros consistem em:

  • a – Adiciona todos os arquivos modificados no commit
  • m – Usa a mensagem informada após o parâmetro ao enviar as alterações

Embora seja usada com bastante frequência nesta versão reduzida, o recomendável é utilizar a versão longa, detalhada. Para tal, basta remover o parâmetro m da chamada, ficando assim:

$ git commit -a

Nesse momento, será aberta uma janela de seu editor padrão, para que se possa informar a mensagem. Podemos seguir esse modelo:

[9999] Descricao Curta

Descrição Detalhada do Commit

# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

# On branch master

# Changes to be committed:

#    modified:   hello.md

#

Na primeira linha, utilizamos uma mensagem curta. De acordo com o time, pode ser informada a issue relacionada, ou apenas uma mensagem simples. Deixando a segunda linha em branco, o que for escrito a partir da terceira linha é a mensagem detalhada. Ela será importante para identificar o que foi feito em sua alteração.

A recomendação é sempre utilizar mensagens explicativas.

ENVIANDO AS ALTERAÇÕES PERSISTIDAS AO SERVIDOR

Ao finalizar nosso commit, é necessário enviar nossas alterações ao servidor central. Para tal, utilizaremos o push [9]:

$ git push origin

Dessa forma, estamos dizendo que queremos enviar ao servidor principal (origin) os dados de nossa alteração.

Ainda há mais recursos que podem ser utilizados, mas esses são a essência do fluxo padrão de uso. Esses, apresentaremos no próximo artigo. Acompanhe nosso blog!

Por Fabio Beneditto, Desenvolvedor de Sistemas na DBC Company.

fabio.junior@dbccompany.com.br

REFERÊNCIAS

  1. https://git-scm.com/
  2. https://git-scm.com/about/
  3. https://opensource.org/licenses/GPL-2.0
  4. https://github.com/about
  5. https://git-scm.com/downloads
  6. https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Configura%C3%A7%C3%A3o-Inicial-do-Git
  7. https://git-scm.com/book/pt-br/v2/Git-Basics-Getting-a-Git-Repository
  8. https://git-scm.com/book/pt-br/v2/Git-Basics-Recording-Changes-to-the-Repository
  9. https://git-scm.com/book/pt-br/v2/Git-Basics-Working-with-Remotes
  10. https://www.slideshare.net/fabiobeneditto/git-para-principiantes-2019

 

9 Likes

Comments: 0

There are not comments on this post yet. Be the first one!

Deixe um comentário