Problemas com conflito git

Recentemente, tive um problema de conflito entre minha branch local impl-springboot4 e a branch remota master. No momento do MERGE via Pull Request, houve conflito onde eu tive de entrar na branch impl-springboot4 para resolver.

O conflito foi no arquivo UsuarioDTO.java.

Dentro da branch impl-springboot4, fiz git pull origin master para resolver o conflito. Entretanto, outros arquivos com novas versões se integraram à minha branch, cerca de 74 arquivos.

O meu grande problema: eu resolvi o conflito no arquivo UsuarioDTO.java e commitei e deu git push -u origin impl-springboot4, mas alguns arquivos de versões novas que não continham conflito, apenas versões mais recentes sumiram do meu projeto. No commit, mostra que eu apenas corrigi o arquivo em conflito. Eu já fiz git pull origin master para recuperar os arquivos que sumiram, mas minha branch não tá mais puxando estes arquivos. Eu me recordo fiz ‘git checkout – .’ para todos os arquivos e apenas inclui o arquivo que estava em conflito.

Em ‘git diff’ dentro do bitbucket da minha branch, aparecem todos os arquivos de versões novas que minha branch recebeu no momento do git pull origin master, com adição, remoção e edição de arquivos. Os arquivos excluidos não aparecem mais na minha branch, mas eles ainda continuam na origin master.

Já tentei dar git revert HEAD^, git reset no commit para desfazer esse merge commit mas não consigo, dá erro. O meu medo é que quando a pessoa faça o ‘merge’ via Pull Request, estes arquivos deletados também sejam deletados do repositorio remoto Master.

O que devo fazer? Cancelar o pull request e abrir outra branch pra jogar minha implementação ou eu consigo arrumar isso desfazendo esse ultimo commit com adições/edições/exclusoes?

Cria uma branch intermediária, faz uma alteração pequena e leva ela de volta pro seu branch principal.

Ola Jonathan, obrigado pela orientação.

Quando vc diz ‘branch principal’, vc se refere a branch impl-springboot4 que será mergeada para a origin master?

Eu entendi que devo seguir estes seguintes passos. Caso eu esteja errado, por favor me avise.

Passos:
Git checkout master
Git checkout -b branchintermediaria
Uma alteração qualquer em um arquivo
Git add .
Git commit -m ‘alteracao’
Git checkout impl-springboot4
Git merge branchintermediaria

?

Baixe o repositório do zero em uma pasta separada e aplica suas últimas alterações (direto na master ou criando um branch novo).

Pra não ser improdutivo com linhas de comando, usa alguma ferramenta visual como o SourceTree. Nunca precisei digitar nenhuma linha de comando pra usar git.

1 curtida