Executando verificação de segurança...
33

VSCode: como fazer commit de partes de um arquivo

Introdução

Escolher exatamente o que vai commitar é útil em algumas situações, como por exemplo:

  • Você está trabalhando em duas coisas diferentes, e quer separar essas coisas em commits separados
  • Você tem certas alterações que ainda não estão prontas para serem commitadas

Se você não tem muita experiência com linha de comando, pode ficar tranquilo que vamos fazer tudo direto pelo VSCode.

Tutorial em vídeo

https://www.youtube.com/watch?v=qT-phwzmR98

Tutorial em texto

  1. No VSCode, clique em Source Control:

Image description

  1. Vá em Changes (ou Alterações) e clique no arquivo que você quer commitar.

Image description

Uma janela exibindo o antes e depois vai aparecer.

  1. Na parte da direita, selecione as linhas que você quer commitar e pressione botão direito.

Clique em Stage Selected Ranges, ou então use o atalho ctrl + K, ctrl + alt + S.

Image description

Adicione tudo que quiser commitar dessa forma, até que só sobre em verde o que você não quer commitar.

Image description

  1. Confira que as alterações estão corretas

Vá em Staged Changes (Alterações Preparadas), clique no arquivo e confira se tem só as alterações que você quer commitar em seguida.

Image description

  1. Faça o commit

Escreva a mensagem e dê ctrl + Enter para commitar.

Image description

2
2

Mano, incrível! Eu sempre tive essa necessidade, e achava que era falta de planejamento da minha parte por fazer alterações que não caberiam dentro de um mesmo commit.

Mas fico feliz de existir essa opção, isso me deixa legitimamente muito feliz, obrigado!

Agora, gostaria de fazer uma pequena correção, o comando no print é:
ctrl + K, ctrl + alt + S com alt.
E não ctrl + K, ctrl + shift + S com shift

De qualquer forma, excelente tutorial, e de novo, obrigado pela dica.

:}

1

Obrigado pela correção! Passou batido por muito tempo aqui hahah

Eu passei por muito tempo pelo mesmo problema que você. Achava que eu que tinha que programar já pensando na separação de commits.

E valeu aí, que bom que te ajudou :>

2

Igor, que sensacional, eu estou comentando aqui, pois estava com esse problema/necessidade durante esses últimos dias por estar na fúria fazendo o TabNews voltar a ficar estável com o pico de acessos.

Isso vai me ajudar bastante daqui para frente e muito obrigado por vir aqui publicar esse tutorial 🤝


Em paralelo, eu vi que você fez muitas publicações rapidamente e o Firewall pegou e despublicou os conteúdos. Vou avaliar o que aconteceu 🤝

2

Ah, então foi isso kkkk
Eu estava trazendo meus artigos do dev.to/tutorial_livre e aí fui rápido demais e deu treta.

Detalhe importante que pode ser um bug @filipedeschamps: os artigos foram despublicados, mas não consigo publicar com o mesmo nome / slug.

Vou fazer isso com mais calma então... Postar um artigo por dia até pra não floodar aqui.

2

Igor, show! E você não consegue mais publicar com o mesmo slug, pois as publicações na verdade não foram deletadas, elas só estão com o status draft (e por isso acabam trancando o mesmo slug).

Vamos melhorar esse sistema e deixar tudo mais claro 🤝

Obrigado por participar do TabNews e espero que aqui suas publicações tenham um ótimo engajamento 💪

1

Nossa, que maneiro!
Normalmente quando eu faço muitas alterações e quero commitar separadamente eu fico recortando o código para enviar por partes, isso aqui vai me ajudar muito. Valeu! 😁

1
1
1
1

Eu prefiro essa parte "visual" quando utilizo o git no VSCode porque eu fico menos preocupado se deu algum erro com commit ou em subir o código quando utilizo o terminal, claro que devemos sempre saber os comandos no terminal, mas para mim o GUI é uma mão na roda.

1

Eu queria um opção de salvar posts aqui no Tabnews justamente para publicações assim, eu não tinha ideia de que isso era possível! Já passei por várias situações em que eu precisei justamente disso e tive que fazer o stash de todo o código. Muito obrigado por compartilhar!

PS: Vou começar a abrir uma pasta aqui nos favoritos do navegador pra n perder haha

1
1

O git se encaixa perfeitamente na frase do tio Ben: Com grandes poderes, vem grandes responsabilidades.
Inclusive essa dica de fazer commits parciais do código é crucial, principalmente quando estamos muito focados em codar e por vezes criando muito código perdendo o tracking d que foi feito.
Com certeza guardar essa dica vale muito a pena.

1

Cara, isso vai me ajudar demais, quantas vezes eu tive problemas como: "preciso commitar isso, porém há partes no meu código que ainda não estão prontas." E então eu copiava as partes incompletas para outro arquivo, commitava o que eu precisava e então voltava pro arquivo normal.

1

se voce estiver trabalhando em uma demanda e precisar mudar urgente de branch mas nao gostaria de commitar e nem discartar as alteraçoes, o git disponibiliza o git stash, onde voce guarda as alteraçoes em cache, seu local fica limpo de alteraçoes, e quando quiser recuperar apenas deve dar um git stash apply >_<

sera que vale um post?

1
1

Muito obrigado pelo tutorial.
Recentemente estive pensando em como fazer isso mas a correria da sprint me fez ignorar e commitar tudo.

De certa forma era okay porque eu iria fazer as proximas alterações ainda no mesmo pull request.

Proximo passo descobrir como fazer isso no terminal...

1
1

Para mim foi a contribuição do dia.
Vai me ajudar muito a organizar meu trabalho.
Tem muitos devs que não tem ideia que possa fazer isto.

1

Cara sensacional!!

Eu tive um problema desses essa semana e se eu sobesse disso tinha me poupado muito tempokkk.
Pois os meus pares na empresa fizeram alteraçoes no projeto e eu precisa dessa alteraçoes o quanto antes e elas estavam em outra branch e eu precisa da um pull pra fazer o merge com o que eu tinha feito. como eu nao sabia disso eu acabei fazendo uma outra branch commitei, fiz o merge lá e trouxe pra branch principal ai foi sussa.

Muito obg pelo seu post!! vai dá uma luz muito grande pra que ja ou pode passar por esse problema <3

1
1
1

TIL! Faço uso diário do VSCode e não tinha noção de que era possível fazer commits parciais. Chega de estourar o limite de caracteres para explicar que parte dos commits é work in progress.

1

Caraca, essa semana ainda tava tentando fazer isso hahaha valeu Igor!

A solução nada ótima: CTRL+C no arquivo completo, apaga as partes que não vão pro commit, commita, CTRL+V no arquivo completo hahahahaha

Eu fui muito tempo defensor de usar o máximo possível o command line, pois em casos de emergência em um servidor sempre ajudou muito ter um bom conhecimento de bash, vim, shell script, etc. Mas a produtividade que uma boa ferramenta como o VSCode é imbatível!

1

Fiz muito essa do CTRL+C e CTRL+V nos arquivos kkkkkkk direto precisava separar um commit grande em menores e não sabia o que fazer, mas agora vai ficar bem melhor!

1
1
1
1
1
1
1