Git: Principais Comandos: Difference between revisions

From Wiki
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:




= Básicos =
= Comandos Básicos =


{| class="wikitable"
{| class="wikitable"  
|-
|-
! Comando !! Descrição  
!style="width: 30%;"|Comando !!style="width: 70%;"| Descrição
|-
|-
|git '''init''' <directory>
|git '''init''' <directory>
Line 38: Line 38:
Verifique o status do seu repositório.  
Verifique o status do seu repositório.  


Ver quais arquivos estão dentro dele, que ainda mudanças precisam ser cometido, e que ramo do repositório que você está trabalhando no momento.
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'''  
|git '''add'''  
Line 48: Line 48:
|git '''commit''' -m <message>
|git '''commit''' -m <message>
||
||
comando mais importante do Git.
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.
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.


|-
|-
Line 66: Line 65:
|git '''checkout''' <nome_da_branch>  
|git '''checkout''' <nome_da_branch>  
||  
||  
permite Literalmente você "check out" um repositório que você não está atualmente dentro.  
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.  
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.  
Line 91: Line 90:
== Desfazendo mudanças ==
== Desfazendo mudanças ==


== Reescrevendo Git History ==
{| 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 log ==
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 Show difference between working directory and last commit.
{| class="wikitable"
git diff --cached Show difference between staged changes and last commit
|-
!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 Reset staging area to match most recent commit, but leave the
 
working directory unchanged.
{| class="wikitable"
git reset --hard Reset staging area and working directory to match most recent
|-
commit and overwrites all changes in the working directory.
!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

Ver também