Mudanças entre as edições de "Principais comandos do GIT (Windows)"
(Criou página com '==Comandos Básicos== Checar se o Git está instalado: $ git --version Dizer ao Git quem é você: Esses comandos fazem o seu nome e e-mail aparecerem nos commits feitos po...') |
|||
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
+ | [[Ambiente Desenvolvedor|'''Voltar''']] | ||
+ | <br/><br/> | ||
==Comandos Básicos== | ==Comandos Básicos== | ||
− | Checar se o Git está instalado: | + | Checar se o Git está instalado:<br/> |
$ git --version | $ git --version | ||
− | Dizer ao Git quem é você: | + | Dizer ao Git quem é você:<br/> |
− | Esses comandos fazem o seu nome e e-mail aparecerem nos commits feitos por você. | + | Esses comandos fazem o seu nome e e-mail aparecerem nos commits feitos por você.<br/> |
− | $ git config --global user.name "SeuNome" | + | $ git config --global user.name "SeuNome"<br/> |
− | $ git config --global user.email "SeuEmail" | + | $ git config --global user.email "SeuEmail"<br/> |
Checar o status do repositório local: | Checar o status do repositório local: | ||
− | Exibe a branch atual, arquivos monitorados e não monitorados, e arquivos na área de staging e fora dela. | + | Exibe a branch atual, arquivos monitorados e não monitorados, e arquivos na área de staging e fora dela.<br/> |
$ git status | $ git status | ||
− | Começar a monitorar arquivos e/ou adicionar arquivos a área de staging (“preparar para o commit”, “colocar as compras no carrinho”) | + | Começar a monitorar arquivos e/ou adicionar arquivos a área de staging (“preparar para o commit”, “colocar as compras no carrinho”)<br/> |
$ git add arquivo1 arquivo2 arquivo3 | $ git add arquivo1 arquivo2 arquivo3 | ||
− | É possível passar vários arquivos de uma vez para o comando git add. Por exemplo, para adicionar todos os arquivos e pastas do diretório onde o comando é executado, basta digitar: | + | É possível passar vários arquivos de uma vez para o comando git add. Por exemplo, para adicionar todos os arquivos e pastas do diretório onde o comando é executado, basta digitar:<br/> |
$ git add . | $ git add . | ||
− | Para adicionar uma pasta: | + | Para adicionar uma pasta:<br/> |
$ git add minha-pasta | $ git add minha-pasta | ||
Obs.: Staging é basicamente um espaço temporário onde você determina quais mudanças serão adicionadas. | Obs.: Staging é basicamente um espaço temporário onde você determina quais mudanças serão adicionadas. | ||
− | Salvar alterações (“tirar uma foto do repositório”, “finalizar a compra”) | + | Salvar alterações (“tirar uma foto do repositório”, “finalizar a compra”)<br/> |
$ git commit -m "Mensagem explicando o que foi feito" | $ git commit -m "Mensagem explicando o que foi feito" | ||
− | Visualizar modificações feitas em arquivos | + | Visualizar modificações feitas em arquivos<br/> |
− | $ git diff | + | $ git diff<br/> |
− | + | outra opção<br/> | |
$ git diff seu_arquivo | $ git diff seu_arquivo | ||
− | Visualizar histórico do projeto (logs) | + | Visualizar histórico do projeto (logs)<br/> |
$ git log | $ git log | ||
− | É interessante saber algumas combinações do git log, por exemplo: | + | É interessante saber algumas combinações do git log, por exemplo:<br/> |
− | + | Exibir os últimos n commits<br/> | |
− | $ git log -n | + | $ git log -n<br/> |
− | + | Exibir commits em uma linha<br/> | |
$ git log --oneline | $ git log --oneline | ||
− | Enviar alterações locais para o repositório remoto (já existente e já registrado como origin) | + | Enviar alterações locais para o repositório remoto (já existente e já registrado como origin)<br/> |
$ git push | $ git push | ||
− | Trazer alterações do repositório remoto para o local | + | Trazer alterações do repositório remoto para o local<br/> |
$ git pull | $ git pull | ||
− | Clonar um repositório do GitHub | + | Clonar um repositório do GitHub<br/> |
$ git clone https://github.com/USUARIO/NomeRepositorio.git | $ git clone https://github.com/USUARIO/NomeRepositorio.git | ||
− | Armazenar credenciais GitHub em memória (isso é seguro!) | + | Armazenar credenciais GitHub em memória (isso é seguro!)<br/> |
− | $ git config --global credential.helper cache | + | $ git config --global credential.helper cache<br/> |
− | + | ou<br/> | |
− | $ git config --global credential.helper 'cache --timeout=TEMPO_EM_SEGUNDOS' | + | $ git config --global credential.helper 'cache --timeout=TEMPO_EM_SEGUNDOS'<br/> |
==Branches== | ==Branches== | ||
− | Listar branches | + | Listar branches<br/> |
$ git branch | $ git branch | ||
− | Criar uma branch | + | Criar uma branch<br/> |
$ git branch nome-da-branch | $ git branch nome-da-branch | ||
− | Trocar de branch | + | Trocar de branch<br/> |
$ git checkout nome-da-branch | $ git checkout nome-da-branch | ||
− | Criar uma branch e já trocar pra ela | + | Criar uma branch e já trocar pra ela<br/> |
$ git checkout -b nome-da-branch | $ git checkout -b nome-da-branch | ||
− | Renomear branch | + | Renomear branch<br/> |
$ git branch -m novo-nome | $ git branch -m novo-nome | ||
− | Deletar branch | + | Deletar branch<br/> |
− | -D: deleta sem dó nem piedade. Cuidado para não perder o seu trabalho. | + | -D: deleta sem dó nem piedade. Cuidado para não perder o seu trabalho.<br/> |
− | -d: só deleta se o trabalho realizado na branch tiver sido enviado para um repositório remoto ou unido com outra branch através de um merge. | + | -d: só deleta se o trabalho realizado na branch tiver sido enviado para um repositório remoto ou unido com outra branch através de um merge.<br/> |
− | $ git branch -D nome-da-branch | + | $ git branch -D nome-da-branch<br/> |
− | + | ou<br/> | |
− | $ git branch -d nome-da-branch | + | $ git branch -d nome-da-branch<br/> |
− | Listar todas as branches (locais e remotas) | + | Listar todas as branches (locais e remotas)<br/> |
− | $ git branch -a | + | $ git branch -a<br/> |
− | Deletar branch remota | + | Deletar branch remota<br/> |
− | $ git push -d RemoteName nome-da-branch | + | $ git push -d RemoteName nome-da-branch<br/> |
− | + | por exemplo<br/> | |
− | $ git push -d origin minha-branch-123 | + | $ git push -d origin minha-branch-123<br/> |
==Merge== | ==Merge== | ||
− | Trazer alterações de outra branch para a branch atual | + | Trazer alterações de outra branch para a branch atual<br/> |
$ git merge nome-da-branch | $ git merge nome-da-branch | ||
− | Essa operação pode gerar conflitos. Você deve resolver esses conflitos (sozinho ou com a ajuda dos colegas de projeto) para a operação ser concluída. | + | Essa operação pode gerar conflitos. Você deve resolver esses conflitos (sozinho ou com a ajuda dos colegas de projeto) para a operação ser concluída.<br/> |
− | Preste muita atenção nos conflitos, eles precisam ser resolvidos!!! | + | Preste muita atenção nos conflitos, eles precisam ser resolvidos!!!<br/> |
− | Se você não pode resolver os conflitos, considere abortar a tentativa de merge: | + | Se você não pode resolver os conflitos, considere abortar a tentativa de merge:<br/> |
$ git merge --abort | $ git merge --abort | ||
Revertendo comandos com git reset | Revertendo comandos com git reset | ||
− | Se você acabou de dar um git add para começar a monitorar um arquivo e quer reverter essa operação, esse é o comando: | + | Se você acabou de dar um git add para começar a monitorar um arquivo e quer reverter essa operação, esse é o comando:<br/> |
$ git rm --cached seu_arquivo rm 'seu_arquivo' | $ git rm --cached seu_arquivo rm 'seu_arquivo' | ||
− | Se você quiser reverter e também deletar o arquivo: | + | Se você quiser reverter e também deletar o arquivo:<br/> |
$ git rm -f seu_arquivo rm 'seu_arquivo' | $ git rm -f seu_arquivo rm 'seu_arquivo' | ||
Remover arquivo da área de staging | Remover arquivo da área de staging | ||
− | Se você usou o git add para colocar as alterações feitas em um arquivo na área de staging, o comando para reverter o git add é esse aqui: | + | Se você usou o git add para colocar as alterações feitas em um arquivo na área de staging, o comando para reverter o git add é esse aqui:<br/> |
$ git reset HEAD arquivo | $ git reset HEAD arquivo | ||
− | Se além de reverter o git add você também quiser descartar as alterações feitas nos arquivos, utilize esse comando: | + | Se além de reverter o git add você também quiser descartar as alterações feitas nos arquivos, utilize esse comando:<br/> |
$ git checkout arquivo | $ git checkout arquivo | ||
Reverter um git commit | Reverter um git commit | ||
− | Soft: Reverte o commit, voltamos exatamente um passo. As alterações continuam feitas nos arquivos e continuam na área de staging. | + | Soft: Reverte o commit, voltamos exatamente um passo. As alterações continuam feitas nos arquivos e continuam na área de staging.<br/> |
− | Mixed: Reverte o commit, voltamos exatamente dois passos. As alterações continuam feitas nos arquivos mas não continuam na área de staging. | + | Mixed: Reverte o commit, voltamos exatamente dois passos. As alterações continuam feitas nos arquivos mas não continuam na área de staging.<br/> |
− | Hard (cuidado!): Reverte o commit, voltamos exatamente três passos. As alterações feitas nos arquivos são descartadas, não há nada na área de staging. | + | Hard (cuidado!): Reverte o commit, voltamos exatamente três passos. As alterações feitas nos arquivos são descartadas, não há nada na área de staging.<br/> |
− | HEAD~1 significa que estamos voltando um commit, você pode mudar esse número se quiser reverter mais commits. | + | HEAD~1 significa que estamos voltando um commit, você pode mudar esse número se quiser reverter mais commits.<br/> |
− | $ git reset --soft HEAD~1 | + | $ git reset --soft HEAD~1<br/> |
− | $ git reset --mixed HEAD~1 | + | $ git reset --mixed HEAD~1<br/> |
− | $ git reset --hard HEAD~1 | + | $ git reset --hard HEAD~1<br/> |
Revertendo comandos com git revert | Revertendo comandos com git revert | ||
− | Reverter um commit | + | Reverter um commit<br/> |
− | No exemplo abaixo, revertemos exatamente o último commit realizado. EAD~1 reverteria o penúltimo. E assim por diante. | + | No exemplo abaixo, revertemos exatamente o último commit realizado. EAD~1 reverteria o penúltimo. E assim por diante.<br/> |
$ git revert HEAD | $ git revert HEAD | ||
− | Outra opção, passar o commit | + | Outra opção, passar o commit<br/> |
$ git revert HashDoCommit | $ git revert HashDoCommit | ||
Reverter comandos no repositório remoto | Reverter comandos no repositório remoto | ||
− | Podemos usar os dois comandos vistos acima, git reset e git revert. Após executar um desses dois comandos devemos executar: | + | Podemos usar os dois comandos vistos acima, git reset e git revert. Após executar um desses dois comandos devemos executar:<br/> |
$ git push -f | $ git push -f | ||
− | Stash: Salvar o seu trabalho sem fazer commit | + | Stash: Salvar o seu trabalho sem fazer commit<br/> |
− | Lista opções | + | Lista opções<br/> |
$ git stash list | $ git stash list | ||
− | Adicionar ao stash | + | Adicionar ao stash<br/> |
$ git stash | $ git stash | ||
− | Recupera suas alterações | + | Recupera suas alterações<br/> |
− | $ git stash apply | + | $ git stash apply<br/> |
− | + | ou<br/> | |
$ git stash apply stash@{0} | $ git stash apply stash@{0} | ||
Linha 153: | Linha 155: | ||
==Sequência de comandos mais utilizados no projeto== | ==Sequência de comandos mais utilizados no projeto== | ||
− | $ git status (checar o status do repositório) | + | $ git status (checar o status do repositório)<br/> |
− | + | $ git stash save -m ‘Mensagem explicando o que foi feito’ (salva as alterações sem commit)<br/> | |
− | + | $ git pull (trazer alterações do repositório remoto para o local)<br/> | |
− | + | $ git stash pop 0 (remove as alterações no stash e as reaplica na cópia de trabalho.)<br/> | |
− | + | $ git add . ( monitorar arquivos e/ou adicionar arquivos a área de staging)<br/> | |
− | + | $ git commit -m "Mensagem explicando o que foi feito" (salvar alterações)<br/> | |
− | + | $ git push (enviar alterações locais para o repositório remoto)<br/> | |
− | + | $ git stash list (fazer visualização dos stashes)<br/> | |
− | + | $ git stash clear (limpa os stash existentes)<br/> | |
− | + | $ clear (limpa tela)<br/> | |
− | + | $ exit (sai do prompt)<br/> |
Edição atual tal como às 18h48min de 8 de abril de 2021
Comandos Básicos
Checar se o Git está instalado:
$ git --version
Dizer ao Git quem é você:
Esses comandos fazem o seu nome e e-mail aparecerem nos commits feitos por você.
$ git config --global user.name "SeuNome"
$ git config --global user.email "SeuEmail"
Checar o status do repositório local:
Exibe a branch atual, arquivos monitorados e não monitorados, e arquivos na área de staging e fora dela.
$ git status
Começar a monitorar arquivos e/ou adicionar arquivos a área de staging (“preparar para o commit”, “colocar as compras no carrinho”)
$ git add arquivo1 arquivo2 arquivo3
É possível passar vários arquivos de uma vez para o comando git add. Por exemplo, para adicionar todos os arquivos e pastas do diretório onde o comando é executado, basta digitar:
$ git add .
Para adicionar uma pasta:
$ git add minha-pasta
Obs.: Staging é basicamente um espaço temporário onde você determina quais mudanças serão adicionadas.
Salvar alterações (“tirar uma foto do repositório”, “finalizar a compra”)
$ git commit -m "Mensagem explicando o que foi feito"
Visualizar modificações feitas em arquivos
$ git diff
outra opção
$ git diff seu_arquivo
Visualizar histórico do projeto (logs)
$ git log
É interessante saber algumas combinações do git log, por exemplo:
Exibir os últimos n commits
$ git log -n
Exibir commits em uma linha
$ git log --oneline
Enviar alterações locais para o repositório remoto (já existente e já registrado como origin)
$ git push
Trazer alterações do repositório remoto para o local
$ git pull
Clonar um repositório do GitHub
$ git clone https://github.com/USUARIO/NomeRepositorio.git
Armazenar credenciais GitHub em memória (isso é seguro!)
$ git config --global credential.helper cache
ou
$ git config --global credential.helper 'cache --timeout=TEMPO_EM_SEGUNDOS'
Branches
Listar branches
$ git branch
Criar uma branch
$ git branch nome-da-branch
Trocar de branch
$ git checkout nome-da-branch
Criar uma branch e já trocar pra ela
$ git checkout -b nome-da-branch
Renomear branch
$ git branch -m novo-nome
Deletar branch
-D: deleta sem dó nem piedade. Cuidado para não perder o seu trabalho.
-d: só deleta se o trabalho realizado na branch tiver sido enviado para um repositório remoto ou unido com outra branch através de um merge.
$ git branch -D nome-da-branch
ou
$ git branch -d nome-da-branch
Listar todas as branches (locais e remotas)
$ git branch -a
Deletar branch remota
$ git push -d RemoteName nome-da-branch
por exemplo
$ git push -d origin minha-branch-123
Merge
Trazer alterações de outra branch para a branch atual
$ git merge nome-da-branch
Essa operação pode gerar conflitos. Você deve resolver esses conflitos (sozinho ou com a ajuda dos colegas de projeto) para a operação ser concluída.
Preste muita atenção nos conflitos, eles precisam ser resolvidos!!!
Se você não pode resolver os conflitos, considere abortar a tentativa de merge:
$ git merge --abort
Revertendo comandos com git reset
Se você acabou de dar um git add para começar a monitorar um arquivo e quer reverter essa operação, esse é o comando:
$ git rm --cached seu_arquivo rm 'seu_arquivo'
Se você quiser reverter e também deletar o arquivo:
$ git rm -f seu_arquivo rm 'seu_arquivo'
Remover arquivo da área de staging
Se você usou o git add para colocar as alterações feitas em um arquivo na área de staging, o comando para reverter o git add é esse aqui:
$ git reset HEAD arquivo
Se além de reverter o git add você também quiser descartar as alterações feitas nos arquivos, utilize esse comando:
$ git checkout arquivo
Reverter um git commit
Soft: Reverte o commit, voltamos exatamente um passo. As alterações continuam feitas nos arquivos e continuam na área de staging.
Mixed: Reverte o commit, voltamos exatamente dois passos. As alterações continuam feitas nos arquivos mas não continuam na área de staging.
Hard (cuidado!): Reverte o commit, voltamos exatamente três passos. As alterações feitas nos arquivos são descartadas, não há nada na área de staging.
HEAD~1 significa que estamos voltando um commit, você pode mudar esse número se quiser reverter mais commits.
$ git reset --soft HEAD~1
$ git reset --mixed HEAD~1
$ git reset --hard HEAD~1
Revertendo comandos com git revert
Reverter um commit
No exemplo abaixo, revertemos exatamente o último commit realizado. EAD~1 reverteria o penúltimo. E assim por diante.
$ git revert HEAD
Outra opção, passar o commit
$ git revert HashDoCommit
Reverter comandos no repositório remoto
Podemos usar os dois comandos vistos acima, git reset e git revert. Após executar um desses dois comandos devemos executar:
$ git push -f
Stash: Salvar o seu trabalho sem fazer commit
Lista opções
$ git stash list
Adicionar ao stash
$ git stash
Recupera suas alterações
$ git stash apply
ou
$ git stash apply stash@{0}
Sequência de comandos mais utilizados no projeto
$ git status (checar o status do repositório)
$ git stash save -m ‘Mensagem explicando o que foi feito’ (salva as alterações sem commit)
$ git pull (trazer alterações do repositório remoto para o local)
$ git stash pop 0 (remove as alterações no stash e as reaplica na cópia de trabalho.)
$ git add . ( monitorar arquivos e/ou adicionar arquivos a área de staging)
$ git commit -m "Mensagem explicando o que foi feito" (salvar alterações)
$ git push (enviar alterações locais para o repositório remoto)
$ git stash list (fazer visualização dos stashes)
$ git stash clear (limpa os stash existentes)
$ clear (limpa tela)
$ exit (sai do prompt)