Trabalhando com mudanças

Staging

O painel de commit tem três listas: Em conflito, Não preparados e Preparados. Cada uma colapsa, e cada uma lembra se você a deixou aberta.

Um diff não preparado, com os controles de hunk e de arquivo ao lado

O que mudou, por tipo

O cabeçalho acima das listas parte a contagem em chips: modificados, adicionados, excluídos, renomeados, em conflito. As mesmas cores dos glifos nas linhas. Um tipo sem arquivos simplesmente não aparece, não é mostrado como zero. Passe o cursor nos chips para o total.

Arquivos não rastreados contam como adicionados. É o único lugar em que o resumo do staging discorda do de um commit, porque um commit não tem arquivos não rastreados.

Três níveis de precisão

Nível Como
Arquivo Clique no ✚ da linha, ou selecione várias linhas e prepare o lote
Hunk Abra o diff e use o botão no cabeçalho do hunk
Linha Selecione linhas dentro do diff e prepare exatamente aquelas

O staging por linha é o que torna prático manter um console.log de depuração fora de um commit sem precisar apagá-lo antes.

Descartando

Descartar funciona nos mesmos níveis, e sempre pergunta. Arquivos não rastreados são apagados; os rastreados voltam ao estado preparado (ou commitado).

Teclado

↑ ↓ (ou j k) percorrem as listas de arquivos, com ⇧ para um intervalo e ⌘/Ctrl para alternar arquivos individuais.

⇧+↑/↓ amplia a seleção a partir da última linha clicada. Clique com o botão direito na seleção para dar stage, tirar do stage, fazer stash ou descartar tudo de uma vez.

Copiar caminhos

O clique com o botão direito num arquivo não commitado oferece Copiar caminho do arquivo (absoluto, com os separadores da plataforma) e Copiar caminho relativo do arquivo (src/index.ts, sem ./ no início). Vários arquivos selecionados copiam um caminho por linha, na ordem da lista. Arquivos apagados continuam disponíveis — essas ações só copiam texto. Pastas ainda copiam o caminho da pasta.

Antes de você commitar

O Gitcito verifica algumas coisas e pergunta uma vez, nunca em silêncio:

  • um arquivo que parece um segredo (.env, *.pem, id_rsa…),
  • um blob muito grande (limite em Configurações → Segurança),
  • commitar direto numa branch protegida (main/master por padrão).

Cada um desses oferece um Ignorar e parar de rastrear em um clique. Veja Segurança e segredos.

Veja também: Commitando · Diffs · Absorb

Melhorar esta tradução no GitHub