Depois eu leio

Alias para rebase

Resolver conflitos durante um rebase é um processo que pode ser bastante repetitivo, por isso, normalmente utilizo estes dois alias no .gitconfig para ajudar:

[alias]
next = "!git add . && git rebase --continue"
conflict = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; mate `f`"

O "mate" ali no final é para abrir os arquivos em conflito no TextMate, substitua pelo seu editor favorito. Então minha rotina de rebase fica assim:

1. Sincronizando o master
[rogerio] ~/projects/spikes/post_rebase (master)
$ git pull

2. Iniciando rebase
[rogerio] ~/projects/spikes/post_rebase (feature_xpto)
$ git rebase master

4. Conflitos: utilizar o alias para abrir simultaneamente todos os conflitos no seu editor favorito
[rogerio] ~/projects/spikes/post_rebase ((babd371...)|REBASE)
$ git conflict

4. Após resolver os conflitos, aplicar o patch e continuar
[rogerio] ~/projects/spikes/post_rebase ((babd371...)|REBASE)
$ git next

Também é possível configurar o Git para utilizar alguma ferramenta visual para resolução de conflitos, como o DiffMerge, Kdiff3 ou Meld, mas eu pessoalmente prefiro o jeito old school mesmo. Mais informações aqui.

No comments

No comments yet. Be the first.

Leave a reply