Sou inexperiente com o Git, mas tento o meu melhor para me acostumar com isso, e até agora estou usando apenas para projetos em que trabalho sozinho.
Quando eu codifico, existe alguma abordagem de cima para baixo naturalmente (como não sei o futuro), e há um tema recorrente:
Eu trabalho um pouco.
Descobri que, para colocar meu trabalho em algo "comprometível", preciso fazer outro trabalho.
O outro trabalho merece seu próprio commit.
Por algo comprometível, quero dizer algo que compila ou algo que não é uma bagunça total.
E por algo que merece seu próprio commit, estou me referindo ao que aprendi que os commits devem fazer apenas uma coisa.
O jeito que eu resolvo isso é complicado. Se o outro trabalho estiver em outro arquivo, eu faço uma nova ramificação, confirmo lá e mesclo. Se o trabalho estiver no mesmo arquivo .. ugh .. Eu faço uma cópia local e redefino o arquivo para o estado em HEAD, faça a confirmação necessária e, em seguida, começo a restaurar meu trabalho a partir da cópia. Como devo lidar com isso? Não imagino que seja esse o caminho, é? Suponho que não, porque deve aparecer com certa frequência para todos (que também não conhecem o futuro). Ou talvez pareça que meu fluxo de trabalho provavelmente tenha falhas?
git add -p
e confirmar apenas essas partes. É uma técnica muito poderosa e eu a uso quase o tempo todo.
git status
para ver todos os arquivos alterados e faço duas ou mais confirmações usandogit add
arquivos específicos (em vez degit add --all
) e cometendo peça por peça.