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
- No VSCode, clique em Source Control:
- Vá em Changes (ou Alterações) e clique no arquivo que você quer commitar.
Uma janela exibindo o antes e depois vai aparecer.
- 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.
Adicione tudo que quiser commitar dessa forma, até que só sobre em verde o que você não quer commitar.
- 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.
- Faça o commit
Escreva a mensagem e dê ctrl + Enter para commitar.
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.
:}
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
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! :grin:
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.
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
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.
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.
caramba, nem sabia que dava pra fazer isso. muito
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...
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
Muito bom, utilizo muito esse recurso pra fazer atomic commits
, fica muito mais fácil na hora do code review
do time.
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!
Como dizia o Jubileu: "Obrigado, amigo. Você é um amigo." Isso vai me ajudar muito, Igor. Obrigado.
Muito obrigado pela dica man! Vou usar demais kkkk
Obrigado por compartilhar seu conhecimento Igor, me ajudou bastante.