Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seção 12: Bônus - Nivelamento sobre Git e Github #18

Closed
JayCesar opened this issue Apr 23, 2023 · 8 comments
Closed

Seção 12: Bônus - Nivelamento sobre Git e Github #18

JayCesar opened this issue Apr 23, 2023 · 8 comments

Comments

@JayCesar
Copy link
Owner

🔨Introdução ao Git e Github

GIT é um sistema de versionamento: você controla as modificações de um projeto por meio de de versões chamadas "commit".
Ele me permite gerenciar as versões!

GITHUB - É um serviço online de hospedagem de projetos gerenciados pelo GIT. Ele é tipo um serviço social de hospedagem de projetos e é o maior do mundo.

@JayCesar
Copy link
Owner Author

JayCesar commented Apr 23, 2023

🔨Repositório local e repositório remoto

Um proejto controlado pelo Git é chamado de repositório de versionamento.

Tipicamento um "cópia" oficial do repositório fica salvo em um servidor (repositório remoto).

Cada pessoa que trabalha no projeto pode fazer uma cópia do repositório para seu computador (repositório local). A pessoa então faz suas alterações no projeto (novos commits) e depois salv as alterações no servidor.

2023-04-23_09h07_30

Lembrando do curso de Git (quatro estados):
image

git --list (mostra o email e nome cadastrados):

2023-04-23_09h15_25

@JayCesar
Copy link
Owner Author

🔨 Configuração para ver arquivos ocultos (Windows)

2023-04-23_09h18_27

2023-04-23_09h17_41

@JayCesar
Copy link
Owner Author

🔨 Configurar chave SSH para o Github

SSH é um protocolo para comunicação de dados com segurança.

O Github aboliu a autenticação somente com usuário e senha.

A ideia básica é cadastrar previamente quais computadores podem acessar o

Github em seu nome. Outros computadores não conseguem acessar.

Para isto você deve:
(1) Gerar uma chave SSH no seu computador
(2) Cadastrar essa chave no seu Github

2023-04-23_09h26_48

@JayCesar
Copy link
Owner Author

🔨Git diff

Comando que mostra a diferença entre arquivos modificados
Dica: Utilizar o VS Code, que mostra graficamente as diferenças

No terminal :
2023-04-25_10h11_31

No VS Code:
2023-04-25_10h10_44

@JayCesar
Copy link
Owner Author

🔨Git Checkout

Quando eu volto para um commit anterior e depois retorno para o último commit mais recente, ou seja, o main, logo eu preciso adicionar essa palavra ao comando:

git checkout main

Obs; Normalmente a gente não altera os arquivos quando volta para um commit anterior, caso isso aconteça, a gente aplcia esses comandos:

git reset
git clean -df
git checkout -- .


Eu utilizo o Git Checkout para modificar temporariamente os arquivos do projeto ao estado de um dado commit ou branch.

  • Ou seja, eu consigo mudar de branch com esse comando.

O código do commit, HEAD:

  • Cada commit possui um código, que pode ser utilizado para referenciar o commit;
  • O último commit do histórico do branch corrente também pode ser referenciado pela palavra HEAD;
  • É possível referenciar um commit N versões antes do HEAD usando ^N, por exemplo:
    • HEAD~1 (penúltimo commit)
    • HEAD~2 (antepenúltimo commit)

⚠️IMPORTANTE: antes de fazer ocehckout para voltar para HEAD, certifqiue-se de que não haja mudanças nos arquivos. Se você acidentalmetne mudou alguma coisa, desfaça as modificações usando:

git reset
git clean -df
git checkout -- .

2023-04-25_10h26_28

@JayCesar
Copy link
Owner Author

Arquivo .gitignore

  • É um arquivo que indica que não deve ser salvo pelo Git.

  • Geralmente o arquivo .gitignore fica salvo na pasta principal do repositório. MAS também é possível salvar outros arquivos .gitignore em subpastas do repositório, para indicar que dever ser ignorado por cada subpasta.

2023-04-25_10h38_25


2023-04-25_10h34_01

@JayCesar
Copy link
Owner Author

JayCesar commented Apr 25, 2023

😺 Resolvendo prolbemas comuns

Como remover arquivos da área de stage

git status
git reset


Como desfazer modificações não salvas

Ou seja, se eu não salvei eu posso aplicar ioss:

2023-04-25_13h14_29


O que fazer quando abre o editor VIM

Editor VIM - É o editor básico do Linux

Estas ações podem abrir o editor VIM no terminal:

  • Fazer um commit sem mensagem;
  • Fazer um merge de três vias;

2023-04-25_13h18_42

Obs: Eu deixei o VS code como editor padrão - no lugar do VIM.


Deletando último commit sem deletar modificações nos arquivos

Com esse comando eu consigo apagar o último commit MANTENDO AS MODIFCAÇÕES

git reset --soft HEAD~1

2023-04-25_13h22_20


Deletando commits e também modificações nos arquivos

Voltar o projeto ao estado de um commit (deletar commits e alterações posteriores a esse commit)

git status
git reset --hard <código do commit>

Ou seja, ele vai deletar TUDO que foi feito depois desse commit.

Voltar ao estado do penúltimo commit:

git reset --soft HEAD~1

Irá deletar tudo que fiz a´te o neúltimo commit
2023-04-25_13h35_08

⚠️ **ATENÇÃO: AÇÃO DESTRUTIVA!**⚠️


Como atualizar o repositório local em relação ao remoto

git status

git pull <nome do remote> <nome do branch>

2023-04-25_13h36_04


Como atualizar o repositório local em relação ao remoto

2023-04-25_14h25_19

2023-04-25_14h24_53

Conclusão: eu basicanemtne dei o 'git pull orign main' e depois (quando abriu o editor VS code) eu 'apliquei' o comando merge branch - o qual já estava escerito como forma de sugestão do próprio editor!


Resolvendo conflito pull com conflito

2023-04-25_14h37_06


Como apontar o projeto para outro repositório remoto

Fazendo isso eu consigo 'trocar' de repositório e manter o mesmo histórico!

git remote set-url origin git@github.com:seuusuario/seurepositorio.git

2023-04-25_14h45_00

@JayCesar
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant