Qual é o caminho certo?
git add foo.js
git commit foo.js -m "commit"
git pull
git push
Ou
git pull
git add foo.js
git commit foo.js -m "commit"
git push
Ou
git add foo.js
git pull
git commit foo.js -m "commit"
git push
UPD:
Esqueci de mencionar que, neste caso, git add
costumo preparar um arquivo rastreado e modificado . Não incluir um novo arquivo no repositório. Isso muda a ordem dos comandos?
Respostas:
Acho que a melhor maneira de fazer isso é:
Esconda suas mudanças locais:
Atualize a filial com o código mais recente
Combine suas alterações locais no código mais recente:
Adicione, confirme e envie suas alterações
Na minha experiência, este é o caminho para a menor resistência com Git (na linha de comando, pelo menos).
fonte
git stash
?puxar = buscar + mesclar.
Você precisa confirmar o que fez antes de mesclar.
Então, puxe após o commit.
fonte
rebase
invés demerge
. Você pode fazer isso comgit commit && git rebase
ougit pull --rebase
.git pull
depois de preparar minhas alterações, pois acho isso mais natural. Embora eu saiba que muitos fluxos de trabalho diferentes funcionam (esconderijo também é bom), então é provavelmente uma questão de gosto.Eu sugiro puxar do branch remoto sempre que possível para minimizar grandes fusões e possíveis conflitos.
Dito isso, eu escolheria a primeira opção:
Faça commit de suas mudanças antes de puxar para que seus commits sejam mesclados com as mudanças remotas durante o pull. Isso pode resultar em conflitos com os quais você pode começar a lidar sabendo que seu código já foi confirmado caso algo dê errado e você tenha que abortar a fusão por qualquer motivo.
Tenho certeza que alguém vai discordar de mim, não acho que haja uma maneira correta de fazer esse fluxo de mesclagem, apenas o que funciona melhor para as pessoas.
fonte
git add
serve exatamente no meu exemplo.eu acho que
git pull --rebase
é a maneira mais limpa de definir seus commits recentes localmente além dos commits remotos que você não tem em um certo ponto.Assim, você não precisa puxar toda vez que quiser começar a fazer alterações.
fonte
Você deseja que sua mudança assente no estado atual do branch remoto. Então, provavelmente você quer puxar bem antes de se comprometer. Depois disso, envie suas alterações novamente.
Arquivos locais "sujos" não são um problema, desde que não haja conflitos com o branch remoto. Se houver conflitos, a fusão falhará, portanto, não há risco ou perigo em puxar antes de comprometer as alterações locais.
fonte
A melhor maneira para mim é:
Ou você pode empurrar o branch recém-criado no remoto e mesclar lá (se você fizer isso desta forma, no final você precisa puxar do master remoto)
fonte