image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
José Alarcón
José Alarcón27/08/2023 18:42
Compartilhe

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

    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
    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