Git: Principais Comandos: Difference between revisions

From Wiki
 
(9 intermediate revisions by the same user not shown)
Line 90: 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 ==
Line 138: Line 261:
== 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