Невозможно оформить заказ, файл не объединен


87

Я пытаюсь удалить файл из своего рабочего каталога, но после использования следующей команды

git checkout file_Name.txt

Я получил следующее сообщение об ошибке

error: path 'first_Name.txt' is unmerged

Что это и как решить?

Ниже приведен мой статус 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")

Это перемещено в промежуточный индекс, но я не могу очистить папку explore_california /
Naseer

1
Если вы хотите удалить, explore_californiaпросто сделайте это, rm -r explore_californiaпоскольку он не отслеживается git.
brokenfoot

Он попросил меня удалить более 50 файлов по отдельности, а я все еще нажимаю y?
Naseer

Но в конце
концов

Ответы:


29

Чтобы удалить отслеживаемые файлы (first_file.txt) из git:

git rm first_file.txt

А чтобы удалить неотслеживаемые файлы, используйте:

rm -r explore_california

130

Если вы хотите отменить изменения, внесенные в файл, вы можете сделать:

git reset first_Name.txt
git checkout first_Name.txt

2
Требуется двойной дефис arg? git reset - first_name.txt и git checkout - first_name.txt
безумный еж

2
Вы используете только --для отделения дерева, которое вы хотите извлечь, от файлов, которые вы хотите извлечь. Чтобы получить более подробное объяснение, возьмите добычу здесь: stackoverflow.com/questions/13321458/…
cristianoms

4
Я думаю, что безопаснее использовать двойной дефис git reset -- first_Name.txtи на git checkout -- first_Name.txtвсякий случай имя файла такое же, как у одной из ваших веток / тегов / коммитов.
joeytwiddle

18

статус подскажет, что делать.

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

вы, вероятно, применили тайник или что-то еще, что вызывает конфликт.

либо добавить, либо сбросить, либо rm.


2
Именно я применил заначку. Теперь вопрос в том, когда использовать add, когда resetи когда rm? Например, я хочу хранить не спрятанную версию, а версию из апстрима?
Pro Backup

16

Для меня работает следующее

git reset HEAD

Я получал следующую ошибку

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

Затем я побежал

git reset HEAD

это сработало


4

Я не думаю выполнять

 git rm first_file.txt

хорошая идея.

  1. когда git заметит, что ваши файлы не объединены, вы должны убедиться, что зафиксировали это.

  2. А затем откройте файл конфликта:

    cat first_file.txt

  3. исправить конфликт

4.

git add file

git commit -m "fix conflict"

5. git push

это должно сработать для вас.


1

В моем случае я обнаружил, что мне нужна опция -f. Например, следующее:

git rm -f first_file.txt

чтобы избавиться от ошибки "требуется слияние".


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.