Tentei mesclar um arquivo na linha de comando usando Git, quando uma mensagem de erro apareceu informando que a mesclagem foi abortada.
Eu pensei que era o fim de tudo, mas então percebi que há gitmarks em meus arquivos. Igual a:
start =
expression
validchar =
[0-9a-zA-Z_?!+\-=@#$%^&*/.]
integer =
<<<<<<< HEAD
digits:[0-9]+
{ return digits.join(""); }
=======
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
>>>>>>> gh-pages
Os arquivos não foram editados por mim e mostram linhas inseridas com:
- HEAD após menos de sinais (
<<<<<<< HEAD
) - linhas de código alterado
- uma sequência de sinais de igual (
=======
) - a nova versão do código
- outra linha começando com sinais de maior que e o nome da ramificação (
>>>>>>> gh-pages
)
O pior é que o conteúdo do arquivo não está mais em ordem. Alguém sabe como faço para que esses arquivos voltem ao normal e as alterações que fiz no gh-branch foram mescladas com o branch master?
fonte
gh-pages
versão, então você apenas excluiria o material de<<<<<<
para======
e também removeria a única>>>>>>
linha, deixando as duas linhas do código real entre=======
e>>>>>>
.Comece com 'git status' para ver o que você tem. Se você abortou uma mesclagem (ou a mesclagem foi abortada) e você tem arquivos conflitantes no diretório de trabalho, algo deu errado. O status do Git informará onde você está. Depois disso, você tem várias opções. Você deve resolver o commit de mesclagem manualmente, o que pode ser desafiador, ou usando uma ferramenta como:
A ferramenta de mesclagem funcionará se seus arquivos estiverem listados como necessitando de uma mesclagem.
Você também pode realizar um dos seguintes:
Você pode ver as diferentes versões usando a: 1: sintaxe de nome de arquivo. Veja aqui uma explicação. Mas todos os itens acima assumem que 'git status' mostra os arquivos como necessitando de uma fusão.
Finalmente, você sempre tem a opção de:
fonte
git status
de apoiar o conselho "comece para ver o que você tem": é fascinante em alguns círculos culpar o Git por sua complexidade imaginária, mas na verdade a leitura cuidadosa da saída degit status
é o suficiente para entender o que fazer a seguir na maioria das situações comuns. Portanto, realmente: se algo der errado, pare, leiagit status
, pense.Todas as respostas estão corretas, mas se você deseja remover automaticamente todas as marcas de conflito e deseja alterar automaticamente os arquivos para manter o HEAD, então você pode criar seu próprio script bash como: -
Script de exemplo:
# vim /usr/sbin/solve.git
(Anexar a seguir)
# chmod 755 /usr/sbin/solve.git
e apenas execute-o em seu repositório / caminho GIT para resolver:
$ cd <path_to_repo>
$ solve.git
Aviso: - As extensões de arquivo mencionadas acima são php, css, js, html, svg e txt.
fonte
No Atom, tive o problema de alguns arquivos não salvarem os conflitos de mesclagem resolvidos na unidade, então tive que clicar manualmente em "salvar". Levei algum tempo para descobrir.
fonte
Estou saindo dessa questão . E eu queria algum método automatizado de mesclar os arquivos parcialmente mesclados, em vez de editar os arquivos manualmente ( como sugerido em outras respostas, o que não me sinto realmente confortável em fazer ). Então aqui está o que acabei fazendo via netbeans, mas também pode ser feito via linha de comando.
Agora, lembre-se de que isso só funciona se imediatamente após
merge->add->commit
você perceber que errou e quiser refazer o processo.PASSO 1: Redefinir para um commit anterior.
ETAPA 2: tente mesclar novamente o branch
Neste ponto, será exibida a janela de mesclagem se você estiver usando uma GUI. e você pode prosseguir normalmente.
fonte