![Como fazer o fluxo linear do git?](https://rvso.com/image/1414669/Como%20fazer%20o%20fluxo%20linear%20do%20git%3F.png)
Minha loja de desenvolvimento tem um fluxo git preferido assim:
- Faça check-out de uma ramificação de problema (
issue9
). - Resolva o problema (
serve over port 80
). - Comprometer-se (
git commit
...). - Mesclar a ramificação do problema em uma ramificação do recurso local (
cal
). Envie a ramificação do recurso local para
origin
.- Todas as mesclagens devem ser aceleradas, se possível.
Esta última restrição está me fazendo arrancar os cabelos – na prática, posso:
- Mesclar o commit do problema na ramificação do recurso local.
- Depois disso, o git se recusa a enviar para a origem, devido a alterações remotas.
- Extraia alterações remotas para a ramificação de recurso local.
- O Git gera automaticamente um commit de mesclagem separado.
OU
- Extraia alterações remotas para a ramificação de recurso local.
- O Git gera automaticamente um commit de mesclagem separado.
Existe uma configuração que eu possa ajustar na configuração global/local do git para obter esse comportamento? Quando tento fazer isso, acabo bagunçando o git e tendo que executar quatro dos cinco comandos do git para limpá-lo.
Eu só quero emacs && git commit && git checkout cal && git merge issue9 && git push origin cal
, sabe?
Responder1
Para puxadas únicas, você pode usar git pull --rebase
:
$ git commit
$ git checkout cal
$ git merge issue9
$ git pull --rebase
$ git push origin cal
Para configurar o git para sempre se comportar dessa maneira git pull
, deixe sua ~/.gitconfig
aparência assim:
[push]
default = matching
[branch]
autosetuprebase = always
[color]
status = auto
[merge]
ff = true