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")

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

130

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

git reset first_Name.txt
git checkout first_Name.txt

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.


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


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ê.


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".


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.