Vale a pena entender o significado dessas mensagens de erro - needs merge
e error: you need to resolve your current index first
indicar que uma fusão falhou e que há conflitos nesses arquivos. Se você decidiu que qualquer fusão que você estava tentando fazer era uma péssima ideia, você pode colocar as coisas de volta ao normal com:
git reset --merge
No entanto, caso contrário, você deve resolver esses conflitos de mesclagem, conforme descrito no manual do git .
Depois de lidar com isso por qualquer uma das técnicas, você poderá fazer o checkout do 9-sign-in-out
ramo. O problema de renomear seu nome 9-sign-in-out
para master
, como sugerido na resposta da wRAR é que, se você compartilhou seu ramo mestre anterior com alguém, isso criará problemas para eles, pois se o histórico dos dois ramos divergir, você publicará reescrito história.
Essencialmente, o que você quer fazer é mesclar seu ramo tópico 9-sign-in-out
em master
mas exatamente manter as versões dos arquivos no ramo tópico. Você pode fazer isso com as seguintes etapas:
# Switch to the topic branch:
git checkout 9-sign-in-out
# Create a merge commit, which looks as if it's merging in from master, but is
# actually discarding everything from the master branch and keeping everything
# from 9-sign-in-out:
git merge -s ours master
# Switch back to the master branch:
git checkout master
# Merge the topic branch into master - this should now be a fast-forward
# that leaves you with master exactly as 9-sign-in-out was:
git merge 9-sign-in-out