Como fazer o fluxo linear do git?

1

Minha loja de desenvolvimento tem um fluxo de git preferido, assim:

  1. Checkout de um ramo de problemas ( issue9 ).
  2. Resolva o problema ( serve over port 80 ).
  3. Commit ( git commit ...).
  4. Mesclar o ramo de problemas em um ramo de recurso local ( cal ).
  5. Envie o ramo de recurso local para origin .

    • Todas as mesclagens devem ser avançadas, se possível.

Esta última restrição está me fazendo arrancar meu cabelo - na prática, eu posso:

  1. Mesclar o commit commit no ramo de recursos local.
  2. Em conseqüência, o git se recusa a enviar para origem, devido a mudanças remotas.
  3. Puxe as alterações remotas para o ramo de recursos local.
  4. O Git gera automaticamente um commit de mesclagem separado.

OR

  1. Puxe as alterações remotas para o ramo de recursos local.
  2. 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 atingir 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?

    
por mcandre 07.07.2014 / 23:55

1 resposta

2

Para pulls únicos, 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 em git pull , faça com que seu ~/.gitconfig fique assim:

[push]
    default = matching
[branch]
    autosetuprebase = always
[color]
    status = auto
[merge]
    ff = true
    
por 08.07.2014 / 04:02

Tags