Git: Principais Comandos: Difference between revisions
(11 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Comando !! Descrição | !style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | ||
|- | |- | ||
|git '''init''' <directory> | |git '''init''' <directory> | ||
Line 90: | Line 90: | ||
== Desfazendo mudanças == | == Desfazendo mudanças == | ||
== | {| class="wikitable" | ||
|- | |||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''revert''' <commit> | |||
|| | |||
Cria um novo commit que desfaz todas as mudanças feitas em <commit>, então aplica ele para o ramo atual (current branch). | |||
|- | |||
| git '''reset''' <file> | |||
|| | |||
Remove <file> da area de staging, mas deixa o diretório de trabalho inalterado. Isto ''unstage'' um arquivo sem sobrescrever qualquer mudança. | |||
|- | |||
| git '''clean''' -n | |||
|| | |||
Mostra quais arquivos serão removidos do diretório de trabalho. Usar a flag -f no lugar de -n flag para executar a limpeza. | |||
|} | |||
== Ramificações/Branches == | == Ramificações/Branches == | ||
{| class="wikitable" | |||
|- | |||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''branch''' | |||
|| | |||
Lista todos os ramos (branches) no repositório. | |||
Adicione um argumento <branch> para criar um novo ramo com o nome <branch>. | |||
|- | |||
| git '''checkout''' -b <branch> | |||
|| | |||
Cria e check uma nova ramificação chamada <branch>. | |||
|- | |||
| git '''merge''' <branch> | |||
|| | |||
Fundi (Merge) <branch> na ramificação atual. | |||
|} | |||
== Repositórios remotos == | == Repositórios remotos == | ||
{| class="wikitable" | |||
|- | |||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''remote''' add <name> <url> | |||
|| | |||
Crie uma nova conexão para um repositório remoto. Depois de adicionar o repositório remoto, você pode usar <name> como um atalho para <url> em outros comandos. | |||
|- | |||
| git ''' fetch''' <remote> <branch> | |||
|| | |||
Obtém um <branch> específico do repositório. Deixe fora <branch> para buscar todos as referencias remotas. | |||
|- | |||
| git ''' pull''' <remote> | |||
|| | |||
Buscar a cópia do remota especificada da ramificação atual e imediatamente mescla à cópia local. | |||
|- | |||
| git ''' push''' <remote> <branch> | |||
|| | |||
Envia a ramificação para <remote>, junto com os commits necessários e objetos. Cria um branch nomeado no repositório remoto, se ele não existir. | |||
|} | |||
== git config == | == git config == | ||
== git | git config --global user.name "<COLOQUE_O_SEU_NOME_AQUI>" | ||
git config --global user.email "<COLOQUE_O_SEU_EMAIL_AQUI>" | |||
{| class="wikitable" | |||
|- | |||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''config''' --global user.name <name> | |||
|| | |||
Defina o nome do autor a ser usado para todos os commits pelo usuário atual. | |||
|- | |||
| git ''' config''' --global user.email <email> | |||
|| | |||
Defina o email do autor a ser usado para todos os commits pelo usuário atual. | |||
|- | |||
| git ''' config''' --system core.editor <editor> | |||
|| | |||
Definir editor de texto usado por comandos para todos os usuários na máquina. <editor> deve ser o comando que inicia o editor desejado (por exemplo, vi). | |||
|- | |||
| git ''' config''' --global --edit | |||
|| | |||
Abre o arquivo de configuração global em um editor de texto para edição. | |||
|} | |||
== git diff == | == git diff == | ||
git diff HEAD | {| class="wikitable" | ||
git diff --cached | |- | ||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''diff''' HEAD | |||
|| | |||
Mostra as diferenças entre o diretório de trabalho e o último commit. | |||
|- | |||
| git '''diff''' --cached | |||
|| | |||
Mostra as diferenças entre as mudanças staged e o último commit. | |||
|} | |||
== git reset == | == git reset == | ||
git reset | |||
{| class="wikitable" | |||
git reset --hard | |- | ||
commit | !style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | ||
git reset <commit> Move the current branch tip backward to <commit>, reset the | |- | ||
staging area to match, but leave the working directory alone. | | git '''reset''' | ||
git reset --hard | || | ||
<commit> | Reseta a área de staging para corresponder ao commit mais recente, mas ''deixa'' o diretório de trabalho inalterado. | ||
|- | |||
| git '''reset''' --hard | |||
|| | |||
Reseta a área de staging para corresponder ao commit mais recente, mas ''sobrescreve'' todas as mudanças o diretório de trabalho inalterado. | |||
|- | |||
| git '''reset''' <commit> | |||
|| | |||
Move the current branch tip backward to <commit>, reset the staging area to match, but leave the working directory alone. | |||
|- | |||
| git '''reset''' --hard <commit> | |||
|| | |||
Same as previous, but resets both the staging area & working directory to | Same as previous, but resets both the staging area & working directory to | ||
match. Deletes uncommitted changes, and all commits after <commit>. | match. Deletes uncommitted changes, and all commits after <commit>. | ||
|} | |||
== git rebase == | == git rebase == | ||
git rebase -i | {| class="wikitable" | ||
<base> | |- | ||
Interactively rebase current branch onto <base>. Launches editor to enter | !style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | ||
commands for how each commit will be transferred to the new base. | |- | ||
| git '''rebase''' -i <base> | |||
|| | |||
Interactively rebase current branch onto <base>. Launches editor to enter commands for how each commit will be transferred to the new base. | |||
|} | |||
== git pull == | == git pull == | ||
git pull --rebase | {| class="wikitable" | ||
<remote> | |- | ||
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | |||
|- | |||
| git '''pull''' --rebase <remote> | |||
|| | |||
Fetch the remote’s copy of current branch and rebases it into the local | Fetch the remote’s copy of current branch and rebases it into the local | ||
copy. Uses git rebase instead of merge to integrate the branches. | copy. Uses git rebase instead of merge to integrate the branches. | ||
|} | |||
== git push == | == git push == | ||
git push <remote> | {| class="wikitable" | ||
--force | |- | ||
Forces the git push even if it results in a non-fast-forward merge. Do not use | !style="width: 30%;"|Comando !!style="width: 70%;"| Descrição | ||
the --force flag unless you’re absolutely sure you know what you’re doing. | |- | ||
git push <remote> | | git '''push''' <remote> --force | ||
--all | || | ||
Push all of your local branches to the specified remote. | Forces the git push even if it results in a non-fast-forward merge. Do not use the --force flag unless you’re absolutely sure you know what you’re doing. | ||
git push <remote> | |||
--tags | |- | ||
Tags aren’t automatically pushed when you push a branch or use the | | git '''push''' <remote> --all | ||
--all flag. The --tags flag sends all of your local tags to the remote repo | || | ||
Push all of your local branches to the specified remote. | |||
|- | |||
| git '''push''' <remote> --tags | |||
|| | |||
Tags aren’t automatically pushed when you push a branch or use the --all flag. The --tags flag sends all of your local tags to the remote repo | |||
|} | |||
= Ver também = | |||
* [[DevOps]] | |||
[[Category:Git]] | |||
[[Category:DevOps]] | |||
[[Category:Linux]] | |||
[[Category:Cloud]] | |||
[[Category:WebDev]] | |||
[[Category:Tecnologias]] | |||
[[Category:Fedora]] |
Latest revision as of 00:28, 14 September 2018
Comandos Básicos
Comando | Descrição |
---|---|
git init <directory> |
Inicia um novo repositório Git. Até que você executar este comando dentro de um repositório ou diretório, é apenas uma pasta regular. Só depois de introduzir este não aceita mais comandos do Git. |
git clone <repository> |
Clona um repositório localizado em <repo> para a máquina local. O repo original pode ser localizado no sistema de arquivos local ou em um servidor remota via HTTP ou SSH. |
git config |
Abreviação de "configure", este é mais útil quando você estiver configurando Git pela primeira vez.
|
git help |
Esqueceu a um comando? Digite isso na linha de comando para trazer os 21 comandos mais comuns git. Você também pode ser mais específico e digitar "git help init" ou outro termo para descobrir como usar e configurar um comando específico git.
|
git status |
Verifique o status do seu repositório. Ver quais arquivos estão dentro dele. Quais mudanças precisam de um commit, e que ramo do repositório que você está trabalhando no momento. |
git add |
Isso não adiciona novos arquivos para seu repositório. Em vez disso, ele traz novos arquivos a atenção do Git. Depois de adicionar os arquivos, eles estão incluídos no "snapshots" do repositório Git. |
git commit -m <message> |
comando mais importante do Git! Depois de fazer qualquer tipo de mudança, você introduzir esta a fim de ter um "instantâneo" do repositório. Normalmente ele vai git commit -m "mensagem aqui." O -m indica que a secção seguinte do comando deve ser lido como uma mensagem. |
git branch |
Trabalhar com vários colaboradores e quiser fazer alterações em seu próprio país? Este comando irá permitir que você crie um novo ramo, ou cronograma de commits, de mudanças e adições de arquivos que são completamente sua. Seu título vai após o comando. Se você queria um novo ramo chamado "cats", você deverá digitar git branch cats
|
git log | Lista as atividades entre local e o repositório remoto |
git checkout <nome_da_branch> |
permite literalmente você fazer um "check out" de um repositório que você não está atualmente dentro. Este é um comando de navegação que lhe permite mover-se para o repositório que deseja verificar. Você pode usar este comando como mestre git checkout para olhar para o branch master, ou gatos git checkout para olhar para outro ramo. |
git merge <nome_da_branch> |
Quando você terminar de trabalhar em um ramo, você pode mesclar as alterações de volta para o branch master, que é visível a todos os colaboradores. git merge gatos tomaria todas as alterações feitas ao "gatos" ramo e adicioná-los para o mestre. |
git push |
Se você estiver trabalhando em seu computador local, e quer que seus compromete-se a ser visível on-line no GitHub, bem como, você "empurrar" as mudanças até GitHub com este comando.
|
git pull |
Se você estiver trabalhando em seu computador local e quer a versão mais up-to-date do seu repositório para trabalhar com, você "puxar" as mudanças para baixo do GitHub com este comando. |
Detalhando
Desfazendo mudanças
Comando | Descrição |
---|---|
git revert <commit> |
Cria um novo commit que desfaz todas as mudanças feitas em <commit>, então aplica ele para o ramo atual (current branch). |
git reset <file> |
Remove <file> da area de staging, mas deixa o diretório de trabalho inalterado. Isto unstage um arquivo sem sobrescrever qualquer mudança. |
git clean -n |
Mostra quais arquivos serão removidos do diretório de trabalho. Usar a flag -f no lugar de -n flag para executar a limpeza. |
Ramificações/Branches
Comando | Descrição |
---|---|
git branch |
Lista todos os ramos (branches) no repositório. Adicione um argumento <branch> para criar um novo ramo com o nome <branch>. |
git checkout -b <branch> |
Cria e check uma nova ramificação chamada <branch>. |
git merge <branch> |
Fundi (Merge) <branch> na ramificação atual. |
Repositórios remotos
Comando | Descrição |
---|---|
git remote add <name> <url> |
Crie uma nova conexão para um repositório remoto. Depois de adicionar o repositório remoto, você pode usar <name> como um atalho para <url> em outros comandos. |
git fetch <remote> <branch> |
Obtém um <branch> específico do repositório. Deixe fora <branch> para buscar todos as referencias remotas. |
git pull <remote> |
Buscar a cópia do remota especificada da ramificação atual e imediatamente mescla à cópia local. |
git push <remote> <branch> |
Envia a ramificação para <remote>, junto com os commits necessários e objetos. Cria um branch nomeado no repositório remoto, se ele não existir. |
git config
git config --global user.name "<COLOQUE_O_SEU_NOME_AQUI>" git config --global user.email "<COLOQUE_O_SEU_EMAIL_AQUI>"
Comando | Descrição |
---|---|
git config --global user.name <name> |
Defina o nome do autor a ser usado para todos os commits pelo usuário atual. |
git config --global user.email <email> |
Defina o email do autor a ser usado para todos os commits pelo usuário atual. |
git config --system core.editor <editor> |
Definir editor de texto usado por comandos para todos os usuários na máquina. <editor> deve ser o comando que inicia o editor desejado (por exemplo, vi). |
git config --global --edit |
Abre o arquivo de configuração global em um editor de texto para edição. |
git diff
Comando | Descrição |
---|---|
git diff HEAD |
Mostra as diferenças entre o diretório de trabalho e o último commit. |
git diff --cached |
Mostra as diferenças entre as mudanças staged e o último commit. |
git reset
Comando | Descrição |
---|---|
git reset |
Reseta a área de staging para corresponder ao commit mais recente, mas deixa o diretório de trabalho inalterado. |
git reset --hard |
Reseta a área de staging para corresponder ao commit mais recente, mas sobrescreve todas as mudanças o diretório de trabalho inalterado. |
git reset <commit> |
Move the current branch tip backward to <commit>, reset the staging area to match, but leave the working directory alone. |
git reset --hard <commit> |
Same as previous, but resets both the staging area & working directory to match. Deletes uncommitted changes, and all commits after <commit>. |
git rebase
Comando | Descrição |
---|---|
git rebase -i <base> |
Interactively rebase current branch onto <base>. Launches editor to enter commands for how each commit will be transferred to the new base. |
git pull
Comando | Descrição |
---|---|
git pull --rebase <remote> |
Fetch the remote’s copy of current branch and rebases it into the local copy. Uses git rebase instead of merge to integrate the branches. |
git push
Comando | Descrição |
---|---|
git push <remote> --force |
Forces the git push even if it results in a non-fast-forward merge. Do not use the --force flag unless you’re absolutely sure you know what you’re doing. |
git push <remote> --all |
Push all of your local branches to the specified remote. |
git push <remote> --tags |
Tags aren’t automatically pushed when you push a branch or use the --all flag. The --tags flag sends all of your local tags to the remote repo |