Comandos e conceitos básicos de git
Tags: git, beginners
Published: 2023-01-09 13:49:10

#O que e o git e para que ele serve ?

Git é um Sistema de controle de versão distribuído Open Source. Isto são muitas palavras pra definir o Git.

Vamos por partes pra entender bem isto:

- Sistema de Controle: Isto basicamente significa que o Git e um rastreador de conteúdo. Ou seja, o Git pode ser usado para armazenar conteúdo, geralmente código já que foi criado para isto, mas pode ser qualquer tipo de conteúdo.

- Sistema de Controle de Versão: O código armazenado no Git continua sendo alterado conforme mais código e adicionado. Acontece que vários desenvolvedores podem adicionar código em paralelo. Então o Sistema de Controle de Versão ajuda a lidar com isso mantendo um histórico de todas as alterações que aconteceram. O Git também prove algumas funcionalidades como branches e merges, sobre os quais vamos falar mais a frente.

- Sistema de controle de versão distribuído: O Git possui um repositório remoto que é armazenado em um servidor e um repositório local que é armazenado no computador de cada um dos desenvolvedores. Isto significa que o código não esta armazenado apenas em um servidor central, mas uma copia completa do código está também salva nos computadores de todos os programadores.

## Iniciando um repositorio git

Primeiramente precisamos abrir o git bash  para iniciar um repositorio dentro do diretório origem com o comando -git init, esse comando criara um repositorio local através de um arquivo .git. Por boas praticas todo repositorio devera conter um arquivo [Readme.md](http://Readme.md) explicando para que serve o seu repositorio. 

## Como funciona o ciclo de vida no git

Durante o ciclo de um arquivo em seu repositorio git local, ele transita entre 4 estágios. Untracked, unmodified, modified e staged. 
Quando seu arquivo ainda nao e visto pelo repositorio git ele se encontra no estagio untracked, ou seja ainda nao foi rastreado ou marcado para envio. A partir desse estagio ele passa a nao modificado (unmodified), assim que alterado passa a modificado(modified). Para marcamos o arquivo como marcado para envio(Staged) precisamos usar o comando -git add*.

Depois disso seu arquivo estará pronto para ser commitado através do comando -git commit -m *“descrição do commit”.*

![https://miro.medium.com/max/640/1*RA7c8TsgKLowwD2U--qsqg.webp](https://miro.medium.com/max/640/1*RA7c8TsgKLowwD2U--qsqg.webp)

## Comandos do git

Git config - global [user.name](http://user.name) “Jonh Wick”  → Configura o username

git config - global user.email “user@email.com” → Configura o email

git init → Inicia o repositorio local

git add * → adiciona os arquivos para staged

git status → mostra o status do arquivo

ls → lista os arquivos da pasta

git clone → clona o repositorio desejado

git pull → baixa as alterações que estão no repositório remoto para o seu repositório local (origin)

git push origin <branch> → sobe os arquivos em staged para o repositorio remoto (github)

cd ..  → retrocede um diretório

cd → acessa um diretório

mkdir → cria um diretório

echo *nome do arquiv*o > *nome do arquivo.extensao* → cria um arquivo dentro do diretório

# **Entendendo as branches**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e1fjjainzjksgnl7w0i5.png)

Uma branche é uma copia criada a partir de um ponto especifico do código, utilizada para isolar o desenvolvimento de uma nova funcionalidade, afim de evitar conflitos no desenvolvimento de outras funcionalidades. As branches são um recurso muito utilizado no git e mais explorados em outros fluxos de trabalho mais complexos que são utilizados juntos com o Git.