Folha de dicas de 32 comandos Git para iniciantes

Publicados: 2022-09-23

A folha de dicas de comandos GIT é uma referência útil para desenvolvedores e contém os comandos mais usados ​​para projetos git.

O que é GIT?

O GIT é um repositório de código aberto onde os usuários podem colocar seus arquivos, incluindo código, zips, texto ou todo o projeto.

Possui vários recursos, como colaboração, controle de versão, controle de processo, etc. O GIT armazena arquivos de forma mais eficiente e oferece melhor integridade do que outros sistemas de controle de versão. Git é uma ferramenta de linha de comando.

O que é o GitHub?

Com sua interface de usuário elegante, o GitHub, um hub para desenvolvedores, tornou-se o sistema de controle de versão mais usado e pode ser acessado por qualquer pessoa, em qualquer lugar.

Fluxo de trabalho do Git

O Git tem fluxos de trabalho diferentes e todo projeto deve ter um baseado em seus requisitos. O fluxo de trabalho do Git nada mais é do que um fluxo de trabalho leve e baseado em ramificação que ajuda as equipes que implantam projetos regularmente.

Por exemplo, um fluxo de trabalho de bifurcação do Git cria uma cópia local do repositório. Assim, cada desenvolvedor tem um espaço de trabalho local e um repositório central. Esse tipo de fluxo de trabalho é bom quando vários desenvolvedores estão envolvidos e permite que os desenvolvedores colaborem na cópia bifurcada antes de fazer alterações no repositório principal.

Por que precisamos do Git?

Como o Git é um sistema de controle de versão, os desenvolvedores trabalham constantemente nele para salvar suas alterações, torná-las visíveis para outras pessoas, mesclar suas alterações com outras e muito mais.

Para qualquer alteração no repositório Git, os desenvolvedores precisam conhecer os comandos certos para a ação certa. Abaixo está uma lista dos comandos Git importantes e comumente usados:

Comandos comuns do Git

git add

Para adicionar o(s) arquivo(s) especificado(s) ao staging

 git add <file> -- add a specific file git add * -- add all the files

arquivo git

Cria arquivos de commits, branches e árvores e combina vários arquivos em um. Você pode recuperar o conteúdo extraindo os arquivos quando necessário

git archive HEAD — cria um arquivo a partir da referência HEAD do repositório

git archive output = '.tar' — armazena os arquivos arquivados no local fornecido

git archive --format=tar.gz — especifica o formato do arquivo arquivado, como tar, zip, tar.gz

git branch

Lista todas as ramificações no repositório. Uma nova ramificação com o nome será criada se uma ramificação for especificada. Para excluir uma ramificação, use a opção -d com o nome da ramificação. Para renomear uma ramificação atual, use -m.

git branch — lista todos os branches

git branch <branch_name > — cria um novo branch chamado 'branch_name' mas não verifica o novo branch.

git branch -d <branch_name> — exclui a ramificação, impede a exclusão se houver alterações não mescladas

git branch -D <branch_name> — força a exclusão do branch mesmo se houver alterações não mescladas

git branch -m <branch2> — renomeia o branch atual

git cat-file

Exibir conteúdo ou informações de tamanho/tipo de objetos de repositório

git cat-file <object> — mostra o conteúdo do objeto

git cat-file -t <object> — exibe o tipo de objeto

git cat-file -s <object> — mostra o tamanho do objeto

git cat-file -p <object> — imprime o tipo de objeto de uma maneira bonita

git cat-file -e <object> — mostra o erro no stderr se o objeto tiver um formato inválido ou não existir

git cat-file <type> <object> — mostra o conteúdo bruto de um objeto

git checkout

Para alternar entre diferentes ramificações de um repositório, use-o com cuidado, pois não há 'desfazer' para isso.

git checkout <branch_name> — verifica o branch especificado

git checkout -b <branch_name> — cria um novo branch e muda para este branch

Por exemplo:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

fique limpo

Limpe o diretor de trabalho. Os arquivos confirmados não serão removidos

git clean -n — lista os arquivos que serão removidos

git clean -f — remove os arquivos

git clone

Crie uma cópia do repositório existente em um novo diretório. Útil para obter uma cópia de desenvolvimento de um repositório central.

git clone <central_repo> <new_dir> — cria uma cópia do repositório central em um novo diretório

Por exemplo:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — clona um branch do repositório mencionado

git commit

Salva as alterações em um ambiente de teste para que outras pessoas possam vê-las.

git commit — confirma as alterações no staging

git commit -m <useful_msg> — fornece uma mensagem após o commit para destacar as alterações feitas

git commit -a — confirma as alterações diretamente, sem staging

Digamos que você adicionou um arquivo chamado samplefile.txt ao seu diretório de trabalho e deseja confirmar o arquivo. Ao dar o comando acima, você obterá a saída:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Depois de dar a mensagem, as alterações são confirmadas:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

configuração do git

Especifica o nível de configuração para gravar um valor de propriedade. O nível 'Local' é o padrão (quando nada é especificado).

git config –local — salva a configuração no diretório .git do repositório

git config –global — salva a configuração no diretório inicial do usuário

git config –system — contém a configuração de todos os usuários e repositórios e está localizado no arquivo git config do root.

git diff

Compare as alterações no repositório git, que podem ser feitas antes do teste, no teste e após o teste (commit).

git diff — rastreia alterações de repositório que ainda não foram testadas

git diff --staged — rastreia alterações de arquivos testados (que não são confirmados)

git diff HEAD — rastreia as alterações do arquivo após o commit

git diff <commit1_id> <commit2_id> — rastreia mudanças entre dois commits; você pode descobrir os commit_ids usando ' git log -p --follow --filename '

git buscar

Buscar uma ramificação ou repositório remoto inteiro

git fetch <remote-url> — obtém todo o repositório da URL do repositório remoto

git fetch <branch_url> <branchname> — busca o branch específico

git fetch -all — busca todas as ramificações de um repositório remoto

git fetch origin — atualize e sincronize o repositório local com as novas alterações no repositório remoto

git fsck

O comando File System Chec K verifica a validade e a conectividade dos objetos do banco de dados. Ele verifica o SHA-1ID dos objetos e as conexões que eles fazem. Fsck é útil para recuperar commits e arquivos perdidos.

git fsck –full

git gc

Executa a coleta de lixo no repositório atual e limpa os arquivos não utilizados.

git gc

git grep

Pesquisa por conteúdo específico no repositório. O Git oferece muitas opções para pesquisar de diferentes maneiras

git grep -i 'search_term' — pesquisa ignorando maiúsculas e minúsculas [Man e man will be the same]

git grep -f <file_name> — mostra os padrões correspondentes de um arquivo específico

git grep -e 'search-term' — use -e para correspondência de padrões

git grep -E 'regexp|multiple_exp' –Pesquisa por expressões regulares, podemos pesquisar várias usando o operador pipe (OR)

git grep -n 'expr' — prefixa o número da linha correspondente

git grep -c 'expr' — mostra a contagem de linhas que corresponderam em vez de cada linha

git ls-tree

Para listar o conteúdo de um objeto de árvore do diretório atual.

git ls -tree -d <path> — mostra apenas a entrada da árvore especificada, não os filhos

git ls -tree -r — recurse em subárvores

git ls -tree -l — mostra o tamanho dos objetos de arquivo (blob)

git ls -tree --name-only — exibe apenas nomes de arquivos e não a saída longa

git ls -tree --full-name — mostra os nomes completos dos caminhos e não apenas o caminho relativo ao diretório atual

Exemplo:

 C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git init

Crie um novo repositório em branco. É o primeiro comando que você executa para fazer um projeto git.

git init — cria um repositório .git no diretório de trabalho,

Por exemplo, para criar um novo repositório chamado 'geekflare', dê o comando como:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git instaweb

Interface do usuário para navegar no repositório git por meio de um navegador. Usa o script CGI GitWeb para o mesmo.

git instaweb --httpd=webrick — inicia o servidor (httpd) e abre o navegador da web na página.

Para parar o servidor, use o comando acima com a opção –stop.

git log

Registra todas as atividades no repositório git.

git log — exibe os últimos commits

git log --oneline — mostra a saída como os primeiros 7 caracteres de SHA e a mensagem de commit com um commit por linha

git log stat — exibe mais informações sobre os arquivos modificados, como o número de linhas adicionadas/removidas, um resumo do total de registros alterados, linhas adicionadas/removidas

git log --patch (or -p) — mostra os arquivos modificados, as alterações específicas e sua localização

git log --graph — Visualize os resultados do log em forma de gráfico

git log -<n> — exibe o último 'n' número de commits

git log --after=<date/x days/yesterday> — exibe todos os commits após uma data especificada. Você pode usar --before para exibir commits antes da data especificada

git log --author=<author_name> — exibe os commits de um determinado autor (usuário).

git log --grep=<commit message> — filtra os commits com base na mensagem do commit

git merge

Integra todos os arquivos de desenvolvimento em uma única ramificação, combina duas ramificações e mescla vários commits em um único histórico. A mesclagem para se houver um conflito e o git apresenta os arquivos de conflito. Depois que os conflitos são resolvidos, a mesclagem continua.

git checkout -b — primeiro, faça o checkout do branch para mesclar

git add <file>

git commit — adiciona e confirma os arquivos

git checkout master

git merge — mescla o branch com master

git prune

Exclui (Prunes) os arquivos inacessíveis da ramificação atual. É um processo de limpeza para remover arquivos não utilizados da filial

git prune -n ​​— não podar, apenas mostrar o que tudo pode ser podado

git prune -v — mostra a saída das ações feitas pelo prune

git prune --progress — mostra o progresso da poda

git fetch --prune — remove todos os branches desatualizados

git pull

Ele recebe dados de um servidor remoto para um repositório de trabalho. Ele atualiza a ramificação local (de trabalho) com todos os arquivos mais recentes do repositório remoto.

git pull — puxa o repositório remoto

git pull <repo URL> — puxa um branch remoto específico

git push

Envia todas as alterações locais para o repositório remoto. É um processo de upload exatamente oposto aos comandos pull e fetches

git checkout master — faça o checkout do branch que tem as alterações mais recentes

git push origin master — envia as alterações para o repositório remoto

Exemplo:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

Também podemos usar push para excluir um branch remoto usando o comando git push --delete <branch> .

Por exemplo:

 C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch

git rebase

Combina vários commits de diferentes branches para criar um novo commit base final. Útil antes de mesclar todas as alterações, para confirmar as alterações de diferentes ramificações uma a uma (linearmente).

git rebase <branch name> — combina os commits em uma base final

Se houver algum conflito, resolva-o e continue o rebase:
git rebase --continue

Para pular qualquer alteração:
git rebase --skip

git remote

Verifica a configuração do servidor remoto e permite acesso à conexão entre remoto e local.

git remote — por padrão, ele retorna 'origin', o nome padrão do servidor remoto fornecido pelo Git

git remote -v — lista nomes curtos e URLs de todas as conexões remotas disponíveis

git remote add <short name> <remote url> — adiciona explicitamente o servidor remoto às conexões disponíveis. O nome curto pode ser usado para comandos git em vez de fornecer a URL inteira.

git remote remove <remote url/short name> — remove o servidor remoto do repositório

git reset

Volte para um commit anterior e descarte as alterações feitas após esse commit

git reset <hash of the commit> — restaura o repositório para o commit especificado. O Git irá reter o histórico de commits, então você pode fazer outro reset com um commit diferente (hash) para desfazer um reset.

git rm

Remove o arquivo específico do git. Você pode desfazer o efeito de rm usando o comando reset ou checkout

git rm <file_ name> — remove o arquivo específico

Para remover arquivos do git, mas mantê-los em seu local (staging), use:

git rm --cached

git show

Visualize qualquer objeto como blob, tree, commit ou tag especificando seu SHA1

git show — não especificar o <object> mostra os detalhes do último commit no branch.

git show <SHA1_id> — mostra o conteúdo do objeto especificado pelo seu id SHA1, por exemplo, blob id, tree id, etc. Para verificar o tipo de objeto, use o comando git cat-file -t

git show –pretty — mostra a saída em um formato bonito.

Você pode fornecer um formato personalizado:

git show --pretty = 'format:Name: <format>' Ou você pode usar um dos formatos curto, completo, de uma linha, médio ou mais completo, por exemplo:

git show --pretty= 'medium' — isso mostrará o autor, a data, o título e a mensagem de confirmação completa

git show --abbrev-commit — para abreviar SHA1

git stash

Para alternar entre as ramificações sem confirmar na ramificação atual, armazene os dados não confirmados com segurança

git stash — salva o trabalho e o estado do índice

git stash save <message> — dá uma mensagem enquanto salva

git stash list — Veja a lista de conteúdo stash

git stash apply — confirme as alterações armazenadas. Para aplicar as alterações de um stash específico, use o id do índice do stash junto com apply

git stash show — veja o conteúdo dos arquivos stash

git stash drop — remove o stash mais recente da fila

status do git

Visualize o status do repositório e do staging, ou seja, o status antes do estágio de commit. Você pode usar este comando após qualquer outro comando git, como adicionar, atualizar ou remover um arquivo

git status — mostra as alterações que devem ser confirmadas ou alterações não rastreadas (sem estágios)

Por exemplo, se você adicionar um arquivo em seu diretório de trabalho chamado samplefile.txt e verificar se ele foi adicionado, você pode fornecer o comando acima. Isso resultará na saída da seguinte forma:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

git tag

Referências amigáveis ​​são usadas para indicar marcos ou pontos de referência no código

git tag <tag_name> — cria uma tag com o nome dado

git tag — lista todas as tags disponíveis

git tag show <tag_name> — mostra detalhes da tag especificada

git tag -l “.*” — mostra as tags que correspondem ao padrão ou caracteres especificados

gitk

Inicia a interface de usuário do git que exibe o conteúdo, commits, full diff e outros detalhes em uma janela

gitk — abre o repositório git em uma janela para visualização

versão git

Use o comando git version para verificar a versão do git que você está usando.

 C:\Users\geekflare>git version git version 2.38.0.windows.1

Palavras finais

Este post listou os comandos git mais usados ​​com suas opções.

Em seguida, você pode conferir o verificador de credenciais do GitHub.