Git терпит неудачу из-за неотслеживаемого рабочего файла дерева - PullRequest
9 голосов
/ 16 декабря 2010

Я не эксперт в Google.Само собой разумеется, я даже не уверен, что это значит или как решить это?

>> git merge admin_playground
error: Untracked working tree file 'vendor/gems/panda-1.0.0/.gitignore' would be overwritten by merge.
fatal: merging of trees 538b2824765956cc44c42a8ad628e4f4 and d5d4cda68518cd1c81bf70ba8c339fea6 failed

Я пытаюсь выполнить git merge и получить это ошибочное утверждение.

Ответы [ 3 ]

8 голосов
/ 16 декабря 2010

Это потому, что .gitignore нет в вашей текущей ветке (она не отслежена), но вы пытаетесь объединить ее в ветке. Добавьте рассматриваемый файл .gitignore и подтвердите, затем повторите попытку слияния; или удалите файл .gitignore, если он вам не нужен и вам нравится файл из другой ветки.

4 голосов
/ 25 октября 2012

Примечание: mipadi (автор принятого ответа ) также упомянул это сообщение об ошибке в контексте падежных конфликтов между именами файлов в разных ветвях.

Если очистка неотслеживаемых файлов является допустимой опцией, то экстремальное решение упоминается в этом ответе (git clean -f -d удалит все неотслеживаемые файлы и каталоги ).
В вашем случае это может быть излишним (или опасным).

Другое оригинальное решение :

git checkout -f admin_playground # will overwrite files
git checkout yourBranch # get back where you where when trying the merge
git merge admin_playground

Это заставило git пойти дальше и перезаписать файлы.
Я предполагаю, что вы могли бы использовать опцию '-f' также с merge, но переключение на другую ветку и затем обратно решило проблему, и в следующий раз я смог без проблем объединиться.

Примечание: на самом деле нет опции -f на git merge.

2 голосов
/ 09 июня 2017

Попробуйте выполнить следующие команды:

git add *

git stash

git pull
...