Controle de versão com Git

MarkNode possui suporte integrado ao Git para que você possa acompanhar alterações, fazer commits e sincronizar com um repositório remoto sem sair do editor.

Detecção Automática de Repositório

Quando você abre uma pasta como projeto, o MarkNode verifica se ela contém um repositório Git. Se algum for encontrado, os recursos do Git são ativados automaticamente — sem necessidade de configuração. Se a pasta não for um repositório Git, os recursos do Git permanecem ocultos.

Barra de Status

A barra de status na parte inferior da janela mostra o contexto atual do Git de forma resumida:

  • Nome do branch — o branch atualmente em uso
  • Contagem de alterações — o número de arquivos modificados, adicionados ou excluídos. Essa contagem é clicável: clique nela para abrir o painel de Controle de Origem.

O indicador de branch é atualizado em tempo real. Se você trocar de branch pelo terminal ou por outra ferramenta, a barra de status reflete a mudança sem precisar recarregar. Para as contagens de commits à frente/atrás e todas as ações do Git, use o painel de Controle de Origem descrito abaixo.

O Painel de Controle de Origem

Todas as ações do Git ficam no painel de Controle de Origem — uma visualização na barra lateral inspirada no familiar padrão de Controle de Origem de editores como o VS Code. Abra-o pelo ícone de Controle de Origem na barra de navegação (ele aparece após Arquivos Recentes, apenas quando o projeto é um repositório Git) ou pressione Cmd+Shift+K no macOS ou Ctrl+Shift+K no Windows e no Linux.

O painel reúne tudo em um só lugar, sem uma caixa de diálogo modal bloqueando seu editor:

  • Cabeçalho — o nome do branch atual e as contagens de commits à frente/atrás do remoto
  • Arquivos alterados — agrupados em Alterações Preparadas e Alterações (não preparadas), cada entrada mostrando o nome do arquivo, o caminho e uma letra de status
  • Ações em linha — passe o cursor sobre um arquivo para prepará-lo ou removê-lo da preparação; o cabeçalho Alterações tem a ação Preparar Tudo e o cabeçalho Alterações Preparadas tem a ação Remover Tudo da Preparação
  • Área de commit — uma caixa de mensagem e um botão Commit, habilitado assim que você tiver arquivos preparados e uma mensagem escrita
  • Barra de ferramentas — ações Pull, Push e Atualizar

Indicadores de Status dos Arquivos

O explorador de arquivos colore o nome de cada arquivo para indicar seu status no Git:

StatusSignificado
ModificadoO arquivo tem alterações ainda não commitadas
AdicionadoUm arquivo novo que foi preparado
Não rastreadoUm arquivo novo ainda não preparado
ExcluídoUm arquivo rastreado que foi removido
RenomeadoUm arquivo rastreado que foi movido ou renomeado
ConflitoO arquivo tem conflitos de merge a resolver

O status se propaga para cima na árvore de pastas — se algum arquivo dentro de uma pasta tiver alterações, o nome da pasta pai também é colorido (assumindo o status de maior prioridade). Isso permite identificar as áreas alteradas do seu projeto sem expandir todos os diretórios.

Fazendo Commit das Alterações

O commit acontece diretamente no painel de Controle de Origem — não há uma caixa de diálogo separada:

  1. Prepare os arquivos que você quer incluir passando o cursor sobre cada um e clicando na ação de preparar, ou use Preparar Tudo no cabeçalho da seção.
  2. Escreva uma mensagem de commit na caixa de mensagem.
  3. Clique em Commit.

O MarkNode executa o commit no seu repositório local, limpa a caixa de mensagem e atualiza a lista de arquivos e a contagem de alterações na barra de status. Se o commit falhar — por exemplo, se um hook de pre-commit o rejeitar — o painel exibe o erro e mantém sua mensagem de commit para que você possa tentar novamente.

Pull e Push

As ações Push e Pull ficam na barra de ferramentas do painel de Controle de Origem.

  • Pull busca os commits mais recentes do remoto e os mescla no seu branch atual
  • Push envia seus commits locais para o remoto

Se o push for rejeitado (por exemplo, porque o remoto tem commits que você não tem localmente), você precisará fazer pull primeiro e resolver quaisquer conflitos antes de fazer push novamente.

Arquivos Alterados Fora do MarkNode

Se você modificar arquivos pelo terminal ou por outro editor, o MarkNode detecta as alterações e recarrega os arquivos afetados automaticamente. Você não precisa atualizar manualmente o editor nem o explorador de arquivos.

Isso também vale para operações do Git — executar git checkout, git merge ou qualquer comando que modifique arquivos da árvore de trabalho será refletido imediatamente no editor.