GIT - Usando o git

From DreamsIT

Git-github.jpg
Os mais variados comandos GIT...


29/10/2020



Configurações básicas e iniciais[edit | hide all | hide | edit source]

Usuário[edit | hide | edit source]

Global[edit | hide | edit source]

git config --global user.name "seu-nome"

git config --global user.email seu-email

Local[edit | hide | edit source]

git config user.name "seu-nome"

git config user.email seu-email

Troca ou inserção porsterior[edit | hide | edit source]

git config --global --edit

Depois de feito esse processo, corrija a identidade dessa maneira:

git commit --amend --reset-author

Inicializando o repositório GIT[edit | hide | edit source]

Crie o seu repositório git vazio[edit | hide | edit source]

git init

Clone o repositório de um bitbucket ou github[edit | hide | edit source]

git clone


Adicione um arquivo README[edit | hide | edit source]

Se você tiver criado um direto no Bitbucket ou Github, não é necessário fazer isso em seu terminal.

echo "Meu arquivo README." > README.md


Crie um arquivo texto .gitignore[edit | hide | edit source]

Com o uso do touch:

touch .gitignore

exemplo: adicione .idea, ou seja, cada linha de texto que seja adicionado . ele será omitido na hora do push.

Criação de gitignore online[edit | hide | edit source]

Verifique o STATUS[edit | hide | edit source]

git status


Se estava vazio, e criou um arquivo README, ele se apresentará em vermelho, informando assim que deverá ser adicionado.

E caso já esteja com um projeto pronto, ele aparecerá todo em vermelho, agora será necessário adicioná-lo.

Siga os passos seguintes.



Adicione o repositório[edit | hide | edit source]

Se estava vazio, e criou um arquivo README:

git add README.md


Se já um projeto ou muitas partes do mesmo, adicione tudo dessa maneira:

git add .

Arquivos[edit | hide | edit source]

Adicionar[edit | hide | edit source]

git add

Para tudo:

git add .

Para adicionar mudanças uma por uma:

git add README.md (README.md está como exemplo apenas)


Commit[edit | hide | edit source]

git commit

Use o auto-complete para ver as demais opções:

git commit -


Configurando[edit | hide | edit source]

git config

Use o auto-complete para ver as demais opções:

git config -



Help[edit | hide | edit source]

Verifique vários comandos:

git --help





log[edit | hide | edit source]

git log

Use o auto-complete para ver as demais opções:

git log -




Remover[edit | hide | edit source]

git rm


Use o auto-complete para ver as demais opções:

git rm -




Status[edit | hide | edit source]

git status





Alterações[edit | hide | edit source]

Enviando o término da alteração - Commit[edit | hide | edit source]

Geralmente feito no final de cada alteração realizada no projeto, no sentido, de mudança no código:

git commit -m 'projeto adicionado'



Processo de preparação - Staging[edit | hide | edit source]

Esta preparação(staging) acontece após a criação ou modificação de um arquivo e é tudo que precisa ser feito antes desse ser enviado(commit). Para entendermos, colocaremos esse processo em ordem, entendendo que você criou ou modificou um arquivo:

  1. Verificando o status: git status (a saída deve informar da criação, introdução ou modificação do arquivo).
  2. Realizando o Staging. Por exemplo: git add README.md (supondo que você fez uma modificação no readme.md).
  3. Vendo o status novamente: git status.
  4. Realizando o envio: git commit -m 'Readme modificado'.


Criando a ramificação - Branching[edit | hide | edit source]

Esse processo subdivide o código em vários ramos. Isso permite que você dividida parte do código com outras pessoas ou até sozinho mesmo, caso precise fazer testes em partes isoladas do código sem querer mexer no tronco(pensando ilustrativamente num tronco de uma árvore) principal(main line).

Criando ramificações[edit | hide | edit source]

Crie o ramo dessa forma:

git branch ramo-exemplo


Intercalando entre ramificações[edit | hide | edit source]

Agora informe ao git com qual que você trabalhará:

git checkout branch-example

Use o auto-complete para ver as demais opções:

git checkout -


Retornando ao branch master[edit | hide | edit source]

Para retornar para o principal:

git checkout master


Removendo um branch[edit | hide | edit source]

Quando terminada a configuração e não desejando deixar lá o branch criado, só removê-lo:

git branch -d ramo-exemplo


Fundindo os ramos - Merging[edit | hide | edit source]

Após feito o branching, é preciso solicitar ao git que funda os dois códigos em um. Ou seja, ele fará a comparação e modificará automaticamente os códigos.

Fazendo um merging[edit | hide | edit source]

git merge ramo-exemplo

Observação[edit | hide | edit source]

Se houver um erro de combinação onde o código foi mudado no master e também no branch criado, é possível haver conflito. A correção deverá ser feita manualmente.


Guardando as informações dos ramos - Stashing[edit | hide | edit source]

Use o stashing para salvar os ramos separadamente, com o objetivo de fazer um pull(recebimento) da nuvem e não querendo perder ou sobrescrever os códigos e não deseja fazer o commit final. Ou seja, você pode voltar à esse ramo sem se preocupar com os conflitos ou perdas das mudanças.

Fazendo um Stashing[edit | hide | edit source]

Guarde o que precisa dessa forma chamando uma stash no ramo em que se encontra:

git stash


Use o auto-complete para ver as demais opções:

git stash

e

git stash -


Liste a stash[edit | hide | edit source]

Ao listar as stashes, verá as guardadas:

git stash list

.

Restaurando a stash mais recente[edit | hide | edit source]

Refaça as mudanças recuperando a stash mais recente dessa forma:

git stash apply

Reaplicando uma stash anterior e específica[edit | hide | edit source]

git stash apply stash@{0}

Lembrando que stash@{0} é apenas um exemplo. O número dentro das {} dependerá da qual deseja recuperar.



Etiquetando um ramo - Tagging[edit | hide | edit source]

Muito útil para trabalhar versionando os seus projetos.

Criando uma tag[edit | hide | edit source]

git tag

Use o auto-complete para ver as demais opções:

git tag -


Tags Leves[edit | hide | edit source]

Exemplo de criação de uma versão inicial: git tag v0.0.1

Tags Anotadas[edit | hide | edit source]

Exemplo de criação de uma versão inicial: git tag -a v0.0.1 -m "Testando a tagging"

Verificação das tags criadas[edit | hide | edit source]

git tag show v0.0.1

Deletar uma tag[edit | hide | edit source]

git tag -d v0.0.1



Desfazendo as Modificações[edit | hide | edit source]

Para correções de alterações erradas. Leve sempre em conta que as alterações podem ser de commits, arquivos e área de staging ( é onde ficam os arquivos antes de passarem pelo commit. É quando ainda estão com status em vermelho ) sendo tanto temporárias ou permanentes. É necessário prestar bastante atenção e sempre fazer algum backup de arquivo caso haja algum tipo de dúvida.


Amend - Restauração de Commit[edit | hide | edit source]

Restauração de mensagem de commit ou acréscimo de arquivo que, porventura, tenha sido esquecido e precisa ser enviado junto ao commit específico.

Ex: git commit -m "teste de correção" --amend



Reset - Remoção da área de staging[edit | hide | edit source]

Esse comando remove o arquivo da área de staging onde o commit ainda não foi feito.

Ex: git reset HEAD "teste.php"


Reset - Restauração de arquivos[edit | hide | edit source]

Ex: git reset a563a23 teste.php

É importante lembrar de colocar o hash do commit antes do nome do arquivo.



Reset - Restauração de arquivos sem remoção de staging[edit | hide | edit source]

Reinício ao antigo commit mas restauram arquivos ao estado anterior mas os arquivos não são removidos da área de staging.

Ex: git reset -soft 32u0332

Mas o trabalho permanece inalterado.



Reset - Restauração sem alteração nos arquivos mas com remoção de staging[edit | hide | edit source]

Reinício ao antigo commit mas sem alteração de arquivo mas com remoção dele da staging.

Ex: git reset 32u0332



Reset - Restauração Total (ATENÇÃO)[edit | hide | edit source]

Restauração total.

Ex: git reset --hard 32u0332

Observação: Esse reset não poderá ser desfeito. Então tenha bastante cuidado.




Nuvem ( Bitbucket & Github )[edit | hide | edit source]

Clonar[edit | hide | edit source]

git clone

Use o auto-complete para ver as demais opções:

git clone -


Para clonar recursivamente

git clone --recurse-submodules https://.../....




Envio para a nuvem (push)[edit | hide | edit source]

git push

Use o auto-complete para ver as demais opções:

git push -


Recebendo da nuvem (pull)[edit | hide | edit source]

git pull

Use o auto-complete para ver as demais opções:

git pull -



Mais configurações aqui!







Autor: Pfyh.





Se você gosta do meu conteúdo, considere comprar um café para mim ou se desejar, me dê um apoio.