Я сделал git stash pop
и закончился конфликтами слияния. Я удалил файлы из файловой системы и сделал, git checkout
как показано ниже, но он думает, что файлы все еще не объединены. Затем я попытался заменить файлы и сделать то git checkout
же самое. Я событие пытался заставить его с -f
флагом. Любая помощь будет оценена!
chirag-patels-macbook-pro:haloror patelc75$ git status
app/views/layouts/_choose_patient.html.erb: needs merge
app/views/layouts/_links.html.erb: needs merge
# On branch prod-temp
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: db/schema.rb
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# unmerged: app/views/layouts/_choose_patient.html.erb
# unmerged: app/views/layouts/_links.html.erb
chirag-patels-macbook-pro:haloror patelc75$ git checkout app/views/layouts/_choose_patient.html.erb
error: path 'app/views/layouts/_choose_patient.html.erb' is unmerged
chirag-patels-macbook-pro:haloror patelc75$ git checkout -f app/views/layouts/_choose_patient.html.erb
warning: path 'app/views/layouts/_choose_patient.html.erb' is unmerged
git
git-stash
git-checkout
Чираг Патель
источник
источник
git stash apply/pop
должно быть проще с Git 2.5 (2 квартал 2015 года), так как рабочее дерево теперь должно быть чистым: см. Мой ответ нижеОтветы:
Смотрите man git merge ( КАК РАЗРЕШИТЬ КОНФЛИКТЫ ):
И в разделе ИСТИННОЕ СЛОВО (чтобы увидеть, что относится к пунктам 2. и 3.):
Итак: используйте,
git reset --hard
если вы хотите удалить изменения тайника из вашего рабочего дерева, илиgit reset
если вы хотите просто очистить индекс и оставить конфликты в вашем рабочем дереве для объединения вручную.Под man git stash ( OPTIONS, pop ) вы можете прочитать дополнительно:
источник
У меня было нечто подобное со мной. Я пока не хотел ставить файлы, поэтому добавил их,
git add
а потом просто сделалgit reset
. Это в основном только что добавило и затем unstaged мои изменения, но очистило необработанные пути.источник
reset --hard
потому что он не перезаписывает ваши файлы (кроме тех, у которых проблемы слияния). Спасибо!add
содержимое из рабочего дерева не попадает в индекс? Я не думаю, что я понимаю, почему ваш ответ работает из описания.git add
действительноgit reset
ставит их, но , что я делаю сразу же, unstages их. По сути, он очищает необработанные пути и возвращает меня к моему обычному рабочему дереву путем фальсификации мерзости.git add
если вы собираетесьgit reset
. Вgit reset
эффективно «Отменяет» вgit add
.git reset
(--mixed
<- по умолчанию) фактически не затрагивает рабочий каталог, поэтому то, что было в вашем рабочем каталоге, конфликты слияния и все остальное, остается в покое. Хотя индекс (и техническиHEAD
заголовок ветви) сбрасывается (без ссылки, к которой они возвращаются , это, вероятно, означает отсутствие изменений для заголовка ветви и эффективно отменяет все, что былоgit add
сделано с индексом, а также очищает состояние незаряженных путей) ,git reset
иgit stash drop
работает хорошо. Он делает то,git stash pop
что сделал бы без конфликтов. Кажется,git add
это не нужно; хотя это может быть полезно, у вас есть много файлов с конфликтами. По мере того как каждый решается , их можно добавлять иgit status
отслеживать их.Если, как и я, вам обычно требуется перезаписать содержимое рабочего каталога содержимым сохраненных файлов, но у вас все еще возникает конфликт, тогда вам нужно разрешить конфликт с помощью
git checkout --theirs -- .
корня.После этого вы можете
git reset
перенести все изменения из индекса в рабочий каталог, поскольку, по-видимому, в случае конфликта изменения в несогласованных файлах остаются в индексе.Вы также можете запустить
git stash drop [<stash name>]
после этого, чтобы избавиться от тайника, потомуgit stash pop
что не удаляет его в случае конфликтов.источник
Обратите внимание, что
Git 2.5 (2 квартал 2015 года)будущий Git может попытаться сделать этот сценарий невозможным.См совершить ed178ef по Джефф Кинг (
peff
), 22 апреля 2015.(слиты Junio C Hamano -
gitster
- в фиксации 05c3967 , 19 мая 2015 года)Примечание: это было отменено. Смотри ниже .
проблема
Другими словами:
Решение
См. Коммит 1937610 (15 июня 2015 г.) и коммит ed178ef (22 апреля 2015 г.) Джеффа Кинга (
peff
) .(Слиты Junio C Hamano -
gitster
- в фиксации bfb539b , 24 июня 2015)источник