image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
José Alarcón
José Alarcón27/08/2023 18:42
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

Resumo de comandos do curso Versionamento de Código com Git e GitHub

  • #GitHub
  • #Git

Fechei o curso de Versionamento de Código com Git e GitHub brindado por Elidiana Andrade, foi muito bom assistir suas aulas, por isso compartilho para vocês um resumo de comandos que fiz, como guía.

******Git não reconhece pastas vazías só arquivos,  ao menos que crie um arquivo dentro chamado .gitkeep

******Git não rastreia arquivos, aos arquivos mencionados dentro do .gitignore

******Para entrar no editor web do GiHub é só apertar (ponto) . do teclado dentro  da interface de algun de nosso repositório a editar

==========================

COMANDOS BÁSICOS DO TERMINAL

*Cria pasta

→ mkdir nome-da-pasta

*cria arquivo com mensagem ou vazío

→ echo "print('Hello World!!')" > README.md

→ echo > README.md

*cria arquivo baixo de carpetas 

→ tocuh nome-da-pasta/aula-01.md

==========================

 

==========================

FLUXO BÁSICO NO GIT

------------------

*Baixar do repositorio 

 → git clone ./

Clona um repositorio Git existente para um novo diretório (pasta) local.

-------------------

-------------------

*Salvando uma nova versão

→ git commit

Grava alterações no reposiório

-------------------

-------------------

*Antes de enviar a nova versão que fiz preciso checkar se existe alterações

 no reposiório para ver se meu amigo fez alguma coisa.

→ git pull

"Puxa" as alteraões do repositório remoto para o local(busca e mescla).

--------------------

--------------------

*Enviar a versão o respositório local para o remoto.

→git push

"empurra" as alterações do repositório local para o remoto.

==========================

 

==========================

CONFIGURANDO O GIT

→ git config

→ git config --global user.name "José Luis Khalid Palacios Alarcón"

→ git config --global user.email dev.josealarcon@gmail.com

*Para ver o branch padrão

→ git config init.defaultBranch

*Alterar o branch padrão pelo "main"

→ git config --global init.defaultBranch main

*Para ver configuraçãp do name é só colocar:

→ git config --global user.name

*Para ver configuraçãp do email é só colocar:

→ git config --global user.email

*Para ver as configurações ao todo global

→ git config --global --list

---------------------------------------

AUTENTICANDO POR TOKEN

*Para token global e credenciais é para que não peça user.name e token de novo cada vez que deseijo clonar

→ git config --global credential.helper store

*Mostra o endereço da variavel 'store' onde fica o token como credencial

→ git config --global --show-origin credential.helper

*Dentro da pasta onde se ubica o arquivo colocamos para ver o conteúdo

→ cat .gitconfig

*Mostra o token

→ cat .git-credentials

---------------------------------------

AUTENTICANDO POR SSH

*verifica se tem chave SSH

→ ls -a ~/.ssh

*Gera uma nova chave

Isto cria uma nova chave SSH, usando o nome de e-mail fornecido como uma etiqueta pede uma senha para a chave [Enter passphrase (empty for no passphrase:]

→ ssh-keygen -t ed25519 -C "dev.josealarcon@gmail.com"

*Verifique se o ssh-agent está em execução, vai gera rum pin

→ eval "$(ssh-agent -s)"

*Adicione sua chave SSH privada ao ssh-agent

→ ssh-add ~/.ssh/id_ed25519

*Entrar no diretorio para ver a chave

→ cd ~/.ssh

→ ls    → (para ver a listagem da pasta)

→ cat id_ed25519.pub (cat lee o contúdo da chave publica)

*Ao final colar o codigo para o github

==========================

==========================

CRIANDO E CLONANDO REPOSIÓRIOS

---------------------------

CRIA REPOSIÓTRIO LOCAL

*Dentro da pasta criada debemos inicializar git

→ git init

---------------------------

CLONA REPOSIÓRIOS REMOTOS AO NOSSO COMPUTADOR

*Para clonar de un repositório remoto é:

→ git clone URL nome-do-repositorio-local   (opcional: colocar um nome ao final para renomear)

Ex.

 git clone https://github.com/dev-josealarcon/Hello-world.git repo-clonado

*Para clonar um reposiório que tem várias branch a gente pode selecionar só uma para poder clonar

→ git clone URL --branch nome-da-branch-que-gente-deseja-colocar --single-branch

Ex. git clone URL --branch feature-1 --single-branch

---------------------------

REPOSIÓTRIO LOCAL CONVERTER AO REPOSITORIO REMOTO

*Verifica se é um repositório remoto

→ git remote -v

*Para conetar-vincular um repositório local para um remoto no GitHub (origin é o nome padrão pra um repositório remoto)

→ git remote add origin URL

Ex. git remote add origin https://github.com/dev-josealarcon/repo-remoto.git

==========================

==========================

HISTÓRICO DE ARQUIVOS

*Mostra o histórico 

→ git log

*Mostra o histórico mais detalhado

→ git reflog

==========================

==========================

SALVANDO ALTERAÇÕES NO REPOSITÓRIO LOCAL

*Mostra o estado do árvore de trabalho -Verifica se tem algum arquivo para ser enviado ou não (olha o estado do arquivo)

→ git status

*Adiciona um arquivo só ao área de preparação staged

→ git add nome-do-arquivo

*Adiciona todos os arquivos ao área de preparação staged

→ git add .

*salvando o arquivo ao repositório

→ git commit -m "mensagem"

==========================

==========================

DESFAZENDO ALTERAÇÕES NO REPOSITÓRIO LOCAL

*Remover o .git de uma pasta inicializada por erro (após fazer git init na pasta)

Na terminal é só eliminar o .git

→ rm -rf .git

*Restaura um arquivo após ter sido modificado e salvo (antes do git commit) 

→ git restore nome-do-arquivo

*Altera o mensagem do último commit

→ git commit --amend -m "mensagem novo"

*Altera o mensagem do último commit com editor propio do Git Bash

→ git commit --amend 

vai abrir um editor onde a gente pode editar manualmente

para sair do editor é escrever presionar a tecla ESC do teclado

→ ESC :wq

*Remover arquivos da área de preparação staged (do cor verde ao cor vermelho) reset ou restore --staged

**Opção 1:

→ git reset nome-do-arquivo

**Opção 2:

→ git restore --staged nome-do-arquivo

*Alterar para um commit anterior (deve usar o hash do commit,usar git log pra ubicar o hash)

**(git reset --soft) defaz até o commit do hash, colocando os aqruivos na área stage - cor verde

→ git reset --soft f670301b1ba257fd74f386ee725bd031d4825770

 

**(git reset --mixed) defaz até o commit do hash, colocando os aqruivos para não rastreado -cor vermelho

→ git reset --mixed f670301b1ba257fd74f386ee725bd031d4825770

**(git reset --hard) defaz até o commit do hash, apaga todos os arquivos

→ git reset --hard f670301b1ba257fd74f386ee725bd031d4825770

==========================

==========================

ENVIANDO E BAIXANDO ALTERAÇÕES COM O REPOSITÓRIO REMOTO

*Primeiramenta a gente tem que conetar o repositório local com o remoto

→ git remote add origin URL

*Enviar arquivos ao repositório remoto-GitHub

(-u  : vai dizer ao git configurar nossa branch main que vai

 estar a nosso repositorio remoto chamado origin)

→ git push -u origin main

*Baixar arquivos do repositório remoto ao local

→ git pull

==========================

==========================

BRANCHES - CRIANDO, MESCLANDO, DELETANDO E TRATANDO CONFLITOS

---------------------------------------

CRIA BRANCH

*Mostra a branch onde esta a gente

→ git branch

*Cria uma branch

→ git branch nome_da_branch_nova

*Cria branch e muda o punteiro

→ git checkout -b nome-da-branch_nova

*Mudar de branch

→ git checkout nome-da-branch

*lista os ultimos commit de todos os branch

→ git branch -v

---------------------------------------

MESCLA BRANCH

*Mescla a branch para onde fica o punteiro

→ git merge nome_da_branch

---------------------------------------

DELETA BRANCH

→ git branch -d nome_da_branch

---------------------------------------

TRABALHO EM EQUIPE - CONFLITOS DE MERGE

Acontece quando a gente tem aterações concorrentes.

Imagina que vc e seu amigo estam trabalhando no mesmo repositório e aí vcs

acabam alterando a mesma linha de código, então quando algum de vcs tentem enviar

acaba gerando um conflito com o outro havia enviado porque o git não vai entender alí

qual dessas alterações deve ser mantida, então ele retorna esse erro para que você decida

alí qual alteração vai manter.

"

![rejected]

error: failed to push some refs to URL...

"

Nesse caso o primeiro a fazer é trazer o modificado pelo amigo

→ git pull

Uma vez feito devemos comparar o código modificado dele com o nosso y decidir qual das

alterações vão a ficar. Como o arquivo foi modificado então procedemos assim.

→ git status

→ git add .

→ git commit -m "mensagem"

→ git push origin main

==========================

==========================

COMANDOS ÚTEIS NO DIA A DIA

---------------------------------------

TRAZER CÓDIGO REMOTO SEM MESCLAR COM O LOCAL

git pull = git fetch + git merge

*Antes de trazer código do repositorio remoto e mesclarlo com o nosso (git pull)

 a gente pode verificar e comparar (git fetch, traz sem misturar) (git diff compara mudanças)

→ git fetch origin main

→ git diff main origin/main

→ git merge origin/main

---------------------------------------

---------------------------------------

CLONAR APENAS UMA BRANCH DE UM REPOSITORIO COM VARIAS BRANCH

→ git clone URL --branch nome-do-branch --single-branch

ex. git clone https://github.com/dev-josealarcon/repo-remoto.git --branch teste --single-branch

==========================

Compartilhe
Recomendados para você
Microsoft AI for Tech - GitHub Copilot
Microsoft Certification Challenge #3 DP-100
Decola Tech 2025
Comentários (4)

MS

Mariana Sousa - 27/08/2023 19:51

Ótimo resumo!👏

FS

Fernanda Santos - 27/08/2023 19:40

Muito bom!!!


Obrigada por compartilhar seu resumo conosco!!

Leticia Amaral
Leticia Amaral - 27/08/2023 19:33

obrigada pelo resumo, muito útil!!

Páblo Vieira
Páblo Vieira - 27/08/2023 19:16

Obrigado pelo resumo José. Gostei da iniciativa

Recomendados para você