Fluxo de trabalho do Git: como salvar e compartilhar alterações de maneira limpa


2

Esta é uma pergunta sobre uma prática recomendada. É provavelmente simples, mas eu ainda sou bastante novo no Git, e gostaria de ter bons hábitos para as coisas que faço com frequência.

A situação é a seguinte. Eu tenho dois computadores CompA e CompB e um repositório remoto (no Bitbucket). Digamos que eu trabalhe em um único ramo.

Eu preciso fazer uma grande mudança em um arquivo. Eu começo do Computador A, mas não tenho tempo para terminar, e precisarei continuar meu trabalho no Computador B. Gostaria de disponibilizar para o Computador B as alterações já feitas no Computador A.

Eu costumo fazer isso comprometendo as mudanças como elas estão, empurrando para o repositório remoto, depois puxando-as para o Computador B. No entanto, isso cria um commit que não é um conjunto completo de mudanças auto-suficiente.

Se possível, gostaria de ter apenas um commit com o conjunto final de alterações. Pelo menos no repositório remoto, se possível, também nos repositórios locais dos computadores A e B.

Qual é a maneira mais limpa de fazer isso?


Isso deve ir para o estouro de pilha?
Peutch

Respostas:


1

Grandes mudanças provavelmente são feitas melhor em uma ramificação separada, já que é muito fácil criar uma no Git. Commit tanto quanto você quer, empurrar o ramo para BitBucket, puxe-o no computador B ... Você pode usar git rebase --interactive para esmagar os commits juntos antes de mesclá-los ao branch master.

[master] $ git checkout -b fixXYZ
[fixXYZ] $ hack hack hack
[fixXYZ] $ git commit -m "Fixed some part"
[fixXYZ] $ hack hack
[fixXYZ] $ git commit -m "Fixed another part"
[fixXYZ] $ git push -u origin fixXYZ

Mais tarde, a qualquer hora antes mesclando para mestre:

[master] $ git checkout fixsomething
[fixXYZ] $ git rebase -i master

(Embora não seja necessário esmagar tudo em um único commit - às vezes é mais fácil ler um log de vários commits menores).


Obrigado! E se não for grande o suficiente para garantir um ramo inteiro? Por grande eu quis dizer algo longo o suficiente para que eu possa ter que trocar os computadores no meio.
Peutch

@Peutch: Ramos no Git são muito barato para criar e usar, não há razão real para evitá-los. Se você não sabe quanto tempo vai demorar, você pode criar uma ramificação a qualquer momento, mesmo antes de sair para outro PC também - não é necessário fazê-lo logo no início.
grawity
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.