├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Lucas Magalhães 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Git e GitHub: Controle e Compartilhe seu Código 3 |

4 | 5 |

6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |

22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 452 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 |
Comando:Descrição:
git config --local user.name "Seu nome"Define o nome localmente.
git config --local user.email "Seu e-mail"Define o endereço de e-mail localmente.
git config --global user.name "Seu nome"Define o nome globalmente.
git config --global user.email "Seu e-mail"Define o endereço de e-mail globalmente.
git config --global --listLista as configurações globais.
git config --global core.editor "code --wait"Define o Visual Studio Code como editor padrão.
git config --global core.editor "vim"Define o vim como editor padrão.
git config --global --unset core.editorVolta para o editor padrão.
git config --global init.defaultBranch mainConfigurando o git para iniciar sempre com a branch main ao invés da master (git init). A partir da versão 2.28.
git config --global core.excludesfile nome-arquivoArquivo global ignorado.
git initInicializa um repositório Git local.
git init --bareCria 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.
git statusAnalisa o estado do repositório.
git add nomeDoArquivoMarcar o arquivo para ser salvo (commitado).
git add .Coloca 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.
git add --allColoca 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.
git mv nome-arquivo novo-nome-arquivoRenomeia o arquivo.
git rm nome-arquivoDeleta o arquivo.
git commit -m "Mensagem"Realiza o commit com o título.
git commit -m "Mensagem" -m "Descrição"Realiza o commit com o título e descrição.
git commit -a -m "Mensagem"Adiciona todos os arquivos e realiza o commit.
git log --onelineLista os logs em linhas de forma mais limpa.
git log -pLista os logs com mais detalhes, mostrando o que aconteceu no projeto.
git log --graph --oneline --allTodos os logs super detalhados.
git log --helpVer algumas opções disponíveis.
git log cheatsheetComandos para personalizar a busca de logs.
gitkVisualizador de histórico gráfico.
git remoteLista os remotes.
git remote -vLista os nomes e endereços.
git remote add origin https://github.com/usuario/projeto.gitAdiciona o repositório remoto no diretório local.
git remote set-url origin https://github.com/usuario/projeto.gitOutra maneira de adicionar o repositório remoto no diretório local.
git remote remove nome-remoteRemove o remote.
git remote rename nome-atual novo-nomeRenomeia o remote.
git clone url nomeBaixa o repositório localmente. Nome é opcional caso queira definir um nome diferente do original.
git clone -b nome-branch repositorio-remoto-urlBaixa o repositório localmente em um branch específico.
git clone --branch nome-branch repositorio-remoto-urlOutra maneira de baixar o repositório localmente em um branch específico.
git push nome-remote nome-branchEnvia 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.
git push --allEnvia os dados de todas as branches para o repositório remoto.
git fetchPara obter informações sobre um repositório remoto, mas não alterar nenhuma branch.
git pullAtualiza as informações do repositório local.
git branchLista as branches locais.
git branch -aLista as branches locais e remotas.
git branch nome-branchCria uma branch.
git checkout nome-branchMuda de branch.
git switch nome-branchMuda de branch.
git checkout -b nome-branchCopia e entra na branch.
git switch -c nome-branchCopia e entra na branch.
git checkout -Volta para a branch anterior sem escrever o nome.
git branch -m novo-nomeRenomeia a branch, se estiver dentro dela.
git branch -m nome-atual novo-nomeRenomeia a branch, dentro de outra branch.
git branch -d nome-branchDeleta a branch somente sem conflitos.
git branch -D nome-branchDeleta a branch com ou sem conflitos.
git merge nome-branch-secundariaCaso tenha commits fora da branch principal e ocorreu um BUG na branch principal. Acessar a branch principal, corrigir o erro e rodar o comando.
git merge --abortCancelar um merge.
git rebase -i --rootEdita no terminal todos os commits. Possível alterar a ordem, combinar e etc.
git rebase nome-branch-secundariaO merge junta os trabalhos e gera um merge commit. O rebase aplica os commits de outra branch na branch atual.
git rebase -iDeixa o usuário editar a lista de commits para liberar.
git clean -nLista arquivos a serem removidos.
git clean -dnLista arquivos e diretórios a serem removidos.
git clean -dfRemove arquivos e diretórios.
git checkout -- nome-arquivoDescarta alterações do arquivo.
git restore nome-arquivoDescarta alterações do arquivo.
git checkout .Descarta alterações de todos os arquivos.
git restore .Descarta alterações de todos os arquivos.
git reset HEAD nome-arquivoDesmarcar o arquivo para ser commitado.
git reset --soft HEAD^Configura HEAD para o commit anterior e deixa as mudanças do commit desfeito no stage/index.
git reset --hard HEAD^Configura HEAD para o commit anterior e remove as mudanças do commit desfeito.
git revert nome-hashRemove as alterações no código do commit.
git stashSalva os dados modificados para depois.
git stash save "mensagem"Salva os dados modificados para depois com contexto.
git stash listLista os estados salvos.
git stash clearLimpa os estados.
git stash apply numero-arrayAplica as modificações.
git stash drop numero-arrayRemove as modificações.
git stash pop numero-arrayAplica e remove do stash.
git checkout nome-hashViajando no tempo. Não é possível editar e salvar, apenas se criar uma nova branch ou entrar dentro da master.
git diff nome-commit..nome-commitMostra as diferenças entre dois commits.
git rm -rf --cached nome-diretorio/Remove o arquivo/diretório dos arquivos monitorados.
git diffMostra o que foi alterado e o que ainda não foi adicionado para ser commitado.
git tag -a versao-0.1.0 -m "Lançando a primeira versão."Cria um ponto que não pode ser mais modificado.
git tagLista as versões.
git push origin main versao-0.1.0Subindo a versão.
git cherry-pick id-commitSelecionar commit específico para trazer ao branch desejado.
447 | git bisect start
448 | git bisect good commit
449 | git bisect bad commit
450 | git bisect reset 451 |
453 | Achar um commit que quebra o build do projeto.
Indica 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. 454 |
git rm -r --cachedLimpando o cache.
git commit --amendAltera e adiciona as novas modificações no último commit com a mensagem alterada.
git commit -am "Nova messagem de commit"Altera e adiciona as novas modificações no último commit com a mensagem alterada.
git commit -amend --no-editAltera e adiciona as novas modificações no último commit sem alterar a mensagem.
git gc --prune=nowGit pull fails "unable to resolve reference" or "unable to update local ref".
482 | 483 |
484 | .gitignore 485 |
486 |

487 |      Arquivo: .gitignore
488 |      Funciona para não monitorar arquivo(s) ou diretórios.
489 |

490 |
491 | 492 |
493 | Links 494 |
495 | 502 |
503 | --------------------------------------------------------------------------------