Giter VIP home page Giter VIP logo

cli-git's Introduction

Readme

GIT e GITHUB

Ciclo de vida dos status dos arquivos

untracked - Quando o arquivo acabou de ser adicionado ao repositorio (o Git não conhece dentro do versionamento de arquivos)

unmodified - Adicionado ao Git mas não houve nenhuma alteração

modified - Quando houve alteração/edição no arquivo

staged - Adicionado a uma area onde será adicionado a versão (após o commit retorna ao status unmodified)

Configurações iniciais do Git

Configurando usuário

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

Configurando e-mail

git config --global user.email "seu@email"

Configurando editor principal do Git

git config --global core.editor emacs
git config --global core.editor subl
git config --global core.editor code
git config --global core.editor vim

Configurar o nome da branch padrão

git config --global init.defaultBranch <nome>

Visualizando valores cadastrado no config

git config --list
git config user.name
git config user.email
git config core.editor
git config init.defaultbranch

Inicializa repositório local

git init

Branch

Criando uma branch e selecionando

git checkout -b <nomeDaBranch>

Listar branch selecionada local

git branch

Listar branch local e remoto

git branch -a

Selecionando uma branch

git checkout <nomeDaBranch>

Fundindo branches

Obs: Selecionar branch de destino exemplo main e efetuar o merge com o branch desejado.

git merge <nomeDaBranch>

Mudar a branch master para main no GitHub.

Alterar/Renomear repositório local de master para main

git branch -m master main
git branch -m main

Deletar uma branch no git local

git branch -d <file>

Verifica status do repositório

git status

Adiciona arquivo na Stage aerea

git add <file>

Adiciona todos os arquivos na Stage aerea

git add *
git add .

Adiciona comentários e gerenciamento do versionamento "snapshot"

git commit -m "seuComentarioAqui"

Adiciona arquivos modificados na Stage aerea + commit

git commit -am "seuComentarioAqui"

Removendo do stage aerea

git rm --cached -f <file> ou <folder1/>

Repositório Remoto

Adiciona repositorio de um servidor remoto (Github)

git remote add origin <urlDoSeuRepositorioDoGitHub>

Verifica remote

git remote
git remote -v
git remote show origin

Enviar para servidor remoto (Github)

git push

O comando abaixo vai criar uma nova branch main no repositório remoto

git push -u origin main

Forçar envio para servidor remoto (Github)

git push --set-upstream -f origin main

Pegar informação da origem remota (Github)

git pull

Logs

Visualizando logs

git log
git log --decorate

Filtra pelo nome do autor do commit

git log --author"nomeDoAutor"

Resumo dos commits

git shortlog 

Resumo com nome do autor e quantidade de commits

git shortlog -sn 

Lista de forma gráfica os branch e versoes

git log --graph 

Exibindo log pelo hash

git show numeroDaHashAqui 

Histórico em uma linha

git log --pretty=oneline

Visualizar mudanças antes de enviar e salvar a versão com commit (Você pode revisar o código antes do envio)

git diff

Lista apenas os nomes dos arquivos modificados

git diff --name-only

Desfazendo coisas

Retorna o arquivo para antes da edição anterior

git checkout <file>

Tira o arquivo da fila do staged e retorna para onde estou

git reset HEAD <file>

Ctrl+Z nos arquivos enviados errados

git reset --soft numeroDaHashAqui
git reset --mixed numeroDaHashAqui
git reset --hard numeroDaHashAqui
git restore <file>

Prefixos de commit

  • feat: O nome já diz também o que é, uma nova feature que será adicionada ao projeto, componente e afins.

  • bugfix: Como o próprio nome já diz, é um BUG e precisa ser corrigido de forma imediata, o quanto antes.

  • hotfix: Às vezes esse termo pode ser usado de outras formas, até mesmo para usar no lugar do bugfix. Porém, eu prefiro separar, deixar com semânticas diferentes. Ele é bem similar ao bugfix/, porém, ele não é um BUG, mas sim uma correção, seja ela de cor, textos, alterações não tão urgentes, que não signifiquem BUG's.

  • docs: mais um fácil, para algo relacionado a documentações, README e afins

  • style: mexeu no estilo, CSS? Manda brasa então nesse cara

  • refactor: precisou alterar, melhoria no código.

  • perf: quando você mexer em algo relacionado a performance, fique à vontade em usar esse aqui.

  • improvement: O nome já mostra para o que serve. Em si é uma melhoria para um feature já existente, seja de performance, de escrita, de layout, etc.

  • test: para testes, ok?

  • chore: geralmente o mais emblemático. Serve para coisas relacionados a build, configs e afins. Por exemplo, mexeu em algo no package.json? Use esse cara, seja atualizando a versão do pacote ou instalando novas dependências

Referências

  • Pesquisa

    • Git How To é um tour guiado que passa pelos fundamentos de Git, inspirado pela premissa que saber sobre algo é fazê-lo.

    • Padrões e nomenclaturas no Git Como você cria suas branches? E seus commits? Possui padrões? Bruno Dulcetti 👏🏻👏🏻

      • Commitizen Ao confirmar com o Commitizen, você será solicitado a preencher todos os campos de confirmação obrigatórios no momento do commit.

      • Nomenclatura para repositórios Existe uma convenção de nomenclatura para repositórios git?

Wakatime

Tempo gasto no IDE para este repositório, rastreado automaticamente com wakatime .

wakatime

Autor

Made with 💙 by JUNIOR LIMA 👋 See my LinkedIn • GitHub @JuniorLima22

↑ voltar para o topo ↑

cli-git's People

Contributors

juniorlima22 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.