Você está na página 1de 7

1)$ git --version

2)Configurar o git
$ git config --global user.name “Ricardo Poleto”
$ git config --global user.email “rprojetos.ti@hotmail.com”
$ git config --global core.editor atom

3)Ver configuração do git


$ git config user.name
$ git config user.email
$ git config --list

4)Criar e inicializar novo diretorio


$ mkdir git-course
$ init git
$ ls -la #mostra que tem um diretorio chamado git

5)
$ git status
----- criamos um arquivo README.md
$ git add README.md
$ git status # mostra que tenho um arquivo que pode ser comitado

… até aqui já chegamos no momento staged – tudo pronto par comitar


… mas caso o aquivo seja modificado de novo, ele volta para modified
$ git status
… onde teremos que dar um git add file novamente
… ou git restore file para desfazer as mudanças.
$ git add README.md
$ git status

→ commit ==> pega todas os arquivos do repositorio, e cria uma


imagem dele, cria um snapshot, … cria uma versão.
$ git commit -m “Add README.md”

Visualizando logs:

$ git log
$ git log --decorate
$ git log --author=”Ric”
$ git shortlog # mostra o autor e os comites de cada um
$ git shortlog -sn # mostra quant. de comite e autores

$ git log –graph # mostra de forma grafica o que esta ocorrendo no branch

… copiando uma hash do commit podemos ver o que foi feito em um


determinado momento …
$ git show 2bdb064ecd095499e22feb43d9d17bee28380fac

… antes de comitar - modificação que foi feita


$ git diff
… antes de comitar – arquivo que foi modificado
git diff –name-only

# -am = add / mensagem


# adiciona o arquivo e comita com a mensagem passada.
git commit -am "Edit README"
git show # mostra as modificações

Desfazendo uma modificação … antes do add … pego pelo git diff


… digamos que foi acrescentado uma mudança que não esta correta …
… e pegamos isso no git diff, antes do comite
$ git diff
$ git checkout README.md #o arquivo volta como era

Desfazendo uma mudança que já esta na area de staged (após add)


… nesse caso é desfeito o add que colocou o arquivo em staged, ou
seja o arquivo volta para modified.
git reset HEAD README.md
git status #vemos aqui que o aquivo voltou para modified
… podemos assim desfazer as mudanças …
git checkout README.md
git status # vemos aqui que as mudanças foram desfeitas

# no caso e se … for comitado direto e algo errado …


git commit -am "enviado ... comitado e ... errado"
git log # vemos no log que não era isso …

#temos 3 tipos de reset


==> --soft … volta o commit para staged
==> --mixed … volta o commit para modified
==> --hard … volta o commit para unmodified

com git log vemos os comites e suas hash tags


Se vamos voltar, pegamos a tag de um comite anterior …
$ git reset --soft 741bd73b1430ced869a35c61f52a3f7c6dc05c31
… voltou para modified pronto para ser comitado
git status

… ATENÇÃO!!!
… git reset …
… não usar no diretorio remoto
… pois pode causar conflito no historico …

Conectando ao repositorio remoto:


Se ainda não foi criada uma chave ssh, vamos em:
Profile/Settings/SSH and GPG keys/Add new:
https://github.com/settings/ssh/new

caso não tenha a SSH:


https://docs.github.com/en/github/authenticating-to-
github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

como iserir a SSH gerada na conta no github


https://docs.github.com/en/github/authenticating-to-github/adding-
a-new-ssh-key-to-your-github-account

Após realização dos procedimentos necessários, realizamos a


conexão:
O nome padrão da branch inicial do repositorio é origin, podendo
ser alterado caso queira.

Conectando a um rep. remoto


git remote add origin git@github.com:rprojetos/github-course.git

git remote #mostra que estou conectado a um rep. remoto

git remote -v #mostra mais informações …


… origin git@github.com:rprojetos/github-course.git (fetch)
… origin git@github.com:rprojetos/github-course.git (push)

git branch -M main


git push origin main # envia tudo de main(local) para origin(remoto)
Clonando repositorios:
cd .. # !!! só lembrando de sair do rep. que estamos trabalhando
… teremos assim um rep clonado e nomeado com o nome que queremos
git clone git@github.com:rprojetos/github-course.git git-course-clone

O que é um branch?
É um ponteiro movel que leva a um commit
Vantagens – modificar sem alterar o local principal – master

Facilmente “desligável”
Multiplas pessoas trabalhando …
… um em branch ,, um em outro .. alguém no master …
Evita conflitos

Criando um novo branching


… no caso -b testing, cria um novo braching chamado testing …
… e o comando checkout coloca o ponteiro chamado
testing(branching) apontando para esse comit(versão do dir)
git checkout -b testing

… mostra brachings existentes, e em qual estamos no momento


git branch
main
* testing

Navegando pelos branchings


git branch
main
* testing

git checkout main


git branch
* main
testing
git checkout testing
git branch
main
* testing

Apagando um branch”Ponteiro” que não queira mais utilizar

$ git branch
main
* testing

$ git checkout main

$ git branch
* main
testing

Um branch somente pode ser deletado se não estivermos nele.

$ git branch -D testing

$ git branch
* main

Unido branches …

git checkout master


git merge test
git checkout master
git rebase test

Você também pode gostar