Ok, então estou contribuindo para um projeto no github. O projeto no github é upstream
, meu repositório bifurcado no github é origin
e meu local
repositório no meu computador.
git checkout -b feature
# Working on feature
git commit -a -m 'only commit on feature'
então eu envio uma solicitação pull
git push origin master
A solicitação pull é revisada e uma mudança não relacionada precisa ser feita. Alguém faz um commit e mescla emupstream/master
Agora sou solicitado pelo upstream
mantenedor para "realocar minha solicitação de pull em cima do mestre"
Esta é a minha história (insira o efeito sonoro Law and Order) .....
Não fiz nenhuma alteração na solicitação pull e ainda é o mesmo recurso de commit no branch.
git checkout master
git fetch upstream
git checkout feature
git rebase master
=> "Current branch feature is up to date."
git push origin feature
=> "Everything up-to-date"
Não entendo. Como isso é possível quando eu sei que alguém se comprometeu e mesclou upstream/master
depois que eu enviei minha solicitação pull para origin/feature
?
Alguém pode me dizer qual deve ser o procedimento correto nesta situação?
git push origin feature
recebo um erro não-fast-forward, falha ao enviar etc. O git pull --rebase resolveria esse erro e enviaria para o meu branch de recursos ou isso causaria problemas para o mantenedor e outros?git fetch upstream
baixei as alterações mais recentes e, finalmente,git rebase upstream/develop
funcionou.Observe que desde setembro de 2016, o mantenedor pode acionar o rebase por conta própria.
Consulte " Rebase e mesclar solicitações pull "
fonte