{"id":19844830,"url":"https://github.com/lucasrmagalhaes/git-github","last_synced_at":"2025-06-15T16:32:53.016Z","repository":{"id":42001071,"uuid":"332572891","full_name":"lucasrmagalhaes/git-gitHub","owner":"lucasrmagalhaes","description":"Git e GitHub - Comandos e conceitos.","archived":false,"fork":false,"pushed_at":"2023-03-13T19:41:16.000Z","size":128,"stargazers_count":90,"open_issues_count":0,"forks_count":24,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-06T18:08:44.973Z","etag":null,"topics":["alura","dio","git","github"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasrmagalhaes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-24T22:45:19.000Z","updated_at":"2025-01-25T10:29:10.000Z","dependencies_parsed_at":"2023-01-21T14:04:12.940Z","dependency_job_id":null,"html_url":"https://github.com/lucasrmagalhaes/git-gitHub","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fgit-gitHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fgit-gitHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fgit-gitHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasrmagalhaes%2Fgit-gitHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasrmagalhaes","download_url":"https://codeload.github.com/lucasrmagalhaes/git-gitHub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251941285,"owners_count":21668707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alura","dio","git","github"],"created_at":"2024-11-12T13:05:42.601Z","updated_at":"2025-05-01T20:32:32.396Z","avatar_url":"https://github.com/lucasrmagalhaes.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"https://git-scm.com/\"\u003eGit\u003c/a\u003e e \u003ca href=\"https://github.com/\"\u003eGitHub\u003c/a\u003e: Controle e Compartilhe seu Código\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/lucasrmagalhaes/git-gitHub/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/lucasrmagalhaes/git-gitHub\" /\u003e \n  \u003c/a\u003e\n    \n  \u003ca href=\"https://github.com/lucasrmagalhaes/git-gitHub/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/lucasrmagalhaes/git-gitHub\" /\u003e \n  \u003c/a\u003e\n    \n  \u003ca href=\"https://github.com/lucasrmagalhaes/git-gitHub/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/lucasrmagalhaes/git-gitHub\" /\u003e \n  \u003c/a\u003e\n  \n   \u003ca href=\"https://github.com/lucasrmagalhaes/git-gitHub/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/lucasrmagalhaes/git-gitHub\" /\u003e \n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ctable\u003e\n  \n  \u003ctr\u003e\n    \u003cth\u003eComando:\u003c/th\u003e\n    \u003cth\u003eDescrição:\u003c/th\u003e\n  \u003c/tr\u003e\n \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --local user.name \"Seu nome\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o nome localmente.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --local user.email \"Seu e-mail\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o endereço de e-mail localmente.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global user.name \"Seu nome\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o nome globalmente.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global user.email \"Seu e-mail\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o endereço de e-mail globalmente.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global --list\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista as configurações globais.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global core.editor \"code --wait\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o Visual Studio Code como editor padrão.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global core.editor \"vim\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDefine o vim como editor padrão.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global --unset core.editor\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eVolta para o editor padrão.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global init.defaultBranch main\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eConfigurando o git para iniciar sempre com a branch main ao invés da master (git init). A partir da versão 2.28.\u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit config --global core.excludesfile nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eArquivo global ignorado.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit init\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eInicializa um repositório Git local.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit init --bare\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCria um repositório que não terá a working tree, ou seja, não conterá uma cópia dos arquivos. Como o repositório servirá apenas como servidor, para que outros membros da equipe sincronizem seus trabalhos, poupa espaço de armazenamento desta forma.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit status\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAnalisa o estado do repositório.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit add nomeDoArquivo\u003ccode\u003e\u003c/td\u003e\n    \u003ctd\u003eMarcar o arquivo para ser salvo (commitado).\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit add .\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eColoca todos arquivos (novos, modificados e removidos) no index/stage. Usando o ponto, será adicionado ao stagging somente os arquivos a partir do diretório que você está, e os sub-diretórios deste.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit add --all\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eColoca todos arquivos (novos, modificados e removidos) no index/stage. Adiciona ao staging arquivos desde a raiz do repositório passando por todos os subdiretórios, e aqui está a diferença, não importa se você está na raiz ou no sub-diretório.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit mv nome-arquivo novo-nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRenomeia o arquivo.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rm nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDeleta o arquivo.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit -m \"Mensagem\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRealiza o commit com o título.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit -m \"Mensagem\" -m \"Descrição\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRealiza o commit com o título e descrição.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit -a -m \"Mensagem\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAdiciona todos os arquivos e realiza o commit.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit log --oneline\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista os logs em linhas de forma mais limpa.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit log -p\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista os logs com mais detalhes, mostrando o que aconteceu no projeto.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit log --graph --oneline --all\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eTodos os logs super detalhados.\u003c/td\u003e\n  \u003c/tr\u003e\n   \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit log --help\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eVer algumas opções disponíveis.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://devhints.io/git-log\"\u003e\u003ccode\u003egit log cheatsheet\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eComandos para personalizar a busca de logs.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egitk\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eVisualizador de histórico gráfico.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista os remotes.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote -v\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista os nomes e endereços.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote add origin https://github.com/usuario/projeto.git\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAdiciona o repositório remoto no diretório local.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote set-url origin https://github.com/usuario/projeto.git\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eOutra maneira de adicionar o repositório remoto no diretório local.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote remove nome-remote\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRemove o remote.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit remote rename nome-atual novo-nome\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRenomeia o remote.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clone url nome\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBaixa o repositório localmente. Nome é opcional caso queira definir um nome diferente do original.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clone -b nome-branch repositorio-remoto-url\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBaixa o repositório localmente em um branch específico.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clone --branch nome-branch repositorio-remoto-url\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eOutra maneira de baixar o repositório localmente em um branch específico.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit push nome-remote nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnvia os dados para o repositório remoto. Se utilizar git push -u origin main ficará salvo e na próxima vez rodar somente: git push.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit push --all\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEnvia os dados de todas as branches para o repositório remoto.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit fetch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003ePara obter informações sobre um repositório remoto, mas não alterar nenhuma branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit pull\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAtualiza as informações do repositório local.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista as branches locais.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch -a\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista as branches locais e remotas.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCria uma branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eMuda de branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit switch nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eMuda de branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout -b nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCopia e entra na branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit switch -c nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCopia e entra na branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout -\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eVolta para a branch anterior sem escrever o nome.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch -m novo-nome\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRenomeia a branch, se estiver dentro dela.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch -m nome-atual novo-nome\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRenomeia a branch, dentro de outra branch.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch -d nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDeleta a branch somente sem conflitos.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit branch -D nome-branch\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDeleta a branch com ou sem conflitos.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit merge nome-branch-secundaria\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCaso tenha commits fora da branch principal e ocorreu um BUG na branch principal. Acessar a branch principal, corrigir o erro e rodar o comando.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit merge --abort\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCancelar um merge.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rebase -i --root\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eEdita no terminal todos os commits. Possível alterar a ordem, combinar e etc.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rebase nome-branch-secundaria\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eO merge junta os trabalhos e gera um merge commit. O rebase aplica os commits de outra branch na branch atual.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rebase -i\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDeixa o usuário editar a lista de commits para liberar.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clean -n\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista arquivos a serem removidos.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clean -dn\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista arquivos e diretórios a serem removidos.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit clean -df\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRemove arquivos e diretórios.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout -- nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDescarta alterações do arquivo.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit restore nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDescarta alterações do arquivo.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout .\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDescarta alterações de todos os arquivos.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit restore .\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDescarta alterações de todos os arquivos.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit reset HEAD nome-arquivo\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eDesmarcar o arquivo para ser commitado.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit reset --soft HEAD^\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eConfigura HEAD para o commit anterior e deixa as mudanças do commit desfeito no stage/index.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit reset --hard HEAD^\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eConfigura HEAD para o commit anterior e remove as mudanças do commit desfeito.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit revert nome-hash\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRemove as alterações no código do commit.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eSalva os dados modificados para depois.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash save \"mensagem\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eSalva os dados modificados para depois com contexto.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash list\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista os estados salvos.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash clear\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLimpa os estados.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash apply numero-array\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAplica as modificações.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash drop numero-array\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRemove as modificações.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit stash pop numero-array\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAplica e remove do stash.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit checkout nome-hash\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eViajando no tempo. Não é possível editar e salvar, apenas se criar uma nova branch ou entrar dentro da master.\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit diff nome-commit..nome-commit\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eMostra as diferenças entre dois commits.\u003c/td\u003e\n  \u003c/tr\u003e \n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rm -rf --cached nome-diretorio/\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eRemove o arquivo/diretório dos arquivos monitorados.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit diff\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eMostra o que foi alterado e o que ainda não foi adicionado para ser commitado.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit tag -a versao-0.1.0 -m \"Lançando a primeira versão.\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCria um ponto que não pode ser mais modificado.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit tag\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLista as versões.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit push origin main versao-0.1.0\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eSubindo a versão.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit cherry-pick id-commit\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eSelecionar commit específico para trazer ao branch desejado.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ccode\u003egit bisect start\u003c/code\u003e\u003cbr\u003e\n      \u003ccode\u003egit bisect good commit\u003c/code\u003e\u003cbr\u003e\n      \u003ccode\u003egit bisect bad commit\u003c/code\u003e\u003cbr\u003e\n      \u003ccode\u003egit bisect reset\u003c/code\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      Achar um commit que quebra o build do projeto. \u003cbr\u003eIndica um commit que contém um estado bom do seu repositório (good) e um commit que contém um estado ruim do seu repositório (bad). Com isso o git vai realizando checkouts, seguindo uma busca binária, e você pode indicar se o estado é bom ou ruim. Ao final, o git lhe diz qual commit danificou o repositório.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit rm -r --cached\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eLimpando o cache.\u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit --amend\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAltera e adiciona as novas modificações no último commit com a mensagem alterada.\u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit -am \"Nova messagem de commit\"\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAltera e adiciona as novas modificações no último commit com a mensagem alterada.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit commit -amend --no-edit\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eAltera e adiciona as novas modificações no último commit sem alterar a mensagem.\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003egit gc --prune=now\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eGit pull fails \"unable to resolve reference\" or \"unable to update local ref\".\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e.gitignore\u003c/summary\u003e\n      \u003cbr /\u003e\n      \u003cp align=\"left\"\u003e\n        \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003cstrong\u003eArquivo\u003c/strong\u003e: .gitignore \u003cbr /\u003e\n        \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Funciona para não monitorar arquivo(s) ou diretórios. \u003cbr /\u003e\n      \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eLinks\u003c/summary\u003e\n      \u003cbr /\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"https://git-school.github.io/visualizing-git/\"\u003eVisualizing GIT\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"http://git-scm.com/book/en/v2\"\u003eGit Book\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"https://lab.github.com/\"\u003eGitHub Learning Lab\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"https://www.conventionalcommits.org/en/v1.0.0/\"\u003eConvetional Commits\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"https://docs.github.com/pt/github/authenticating-to-github/connecting-to-github-with-ssh\"\u003eGitHub Docs - Conectar-se ao GitHub com SSH.\u003c/li\u003e\n      \u003c/ul\u003e\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasrmagalhaes%2Fgit-github","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasrmagalhaes%2Fgit-github","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasrmagalhaes%2Fgit-github/lists"}