Não é possível fazer check-out, o arquivo não foi mesclado

87

Estou tentando remover o arquivo do meu diretório de trabalho, mas depois de usar o seguinte comando

git checkout file_Name.txt

Recebi a seguinte mensagem de erro

error: path 'first_Name.txt' is unmerged

O que é isso e como resolver?

A seguir está meu status git

$ git status
On branch master
You are currently reverting commit f200bf5.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

        both modified:      first_file.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        explore_california/

no changes added to commit (use "git add" and/or "git commit -a")
Naseer
fonte
Isso mudou para o índice de teste, mas não consigo limpar a pasta explore_california /
Naseer
1
Se você quiser deletar explore_california, basta fazer um, rm -r explore_californiapois não está sendo rastreado pelo git.
Brokenfoot
O que isso fez foi me pedir para remover mais de 50 arquivos individualmente e ainda estou pressionando y?
Naseer
Mas funcionou finalmente
Naseer

Respostas:

29

Para remover arquivos rastreados (first_file.txt) do git:

git rm first_file.txt

E para remover arquivos não rastreados, use:

rm -r explore_california
pé quebrado
fonte
130

Se desejar descartar as modificações feitas no arquivo, você pode fazer:

git reset first_Name.txt
git checkout first_Name.txt
cristianoms
fonte
2
Precisa do hífen duplo arg? git reset - first_name.txt e git checkout - first_name.txt
hedgehog demente
2
Você só usa o --para separar a árvore que deseja retirar dos arquivos que deseja retirar. Para uma explicação mais detalhada, pegue o loot aqui: stackoverflow.com/questions/13321458/…
cristianoms
4
Eu acho que é mais seguro usar o hífen duplo git reset -- first_Name.txte git checkout -- first_Name.txtapenas no caso de o nome do arquivo ser o mesmo de um de seus branches / tags / commits.
joeytwiddle
18

status dizer o que fazer.

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

você provavelmente aplicou um stash ou outra coisa que causa um conflito.

adicione, redefina ou rm.

gcb
fonte
2
Exatamente eu apliquei um estoque. Agora a questão é quando usar add, quando resete quando devo usar rm? Por exemplo, não quero manter a versão escondida, mas sim a versão do upstream?
Pro Backup
16

Seguir funcionou para mim

git reset HEAD

Eu estava recebendo o seguinte erro

git stash
src/config.php: needs merge
src/config.php: needs merge
src/config.php: unmerge(230a02b5bf1c6eab8adce2cec8d573822d21241d)
src/config.php: unmerged (f5cc88c0fda69bf72107bcc5c2860c3e5eb978fa)

Então eu corri

git reset HEAD

funcionou

Mahesh Hegde
fonte
4

Não acho que execute

 git rm first_file.txt

É uma boa ideia.

  1. quando o git notar que seus arquivos foram descompactados, você deve certificar-se de que os enviou.

  2. Em seguida, abra o arquivo de conflito:

    cat first_file.txt

  3. consertar o conflito

4

git add file

git commit -m "fix conflict"

5 git push

deve funcionar para você.

Steven
fonte
1

No meu caso, descobri que preciso da opção -f. Por exemplo:

git rm -f first_file.txt

para se livrar do erro "need merge".

alant
fonte
0

Resolvi seguindo 2 etapas fáceis:

Etapa 1: git reset Etapa 2: git add.

Kalayya Hiremath
fonte