2015-09-13 5 views
0

Если я git stash -k (сбрасывает все неустановленные изменения) и git pop, я получаю конфликты слияния, если один из файлов был изменен в промежуточной области, а также имел неустановленное изменение.Слияние-конфликтный способ изменения git stash

Я пишу сценарий, который вызывает git stash -k, начерпывает файлы и фиксирует их, если они проходят. Если нет, я хотел бы git stash pop и вернуть рабочее дерево точно в прежнее состояние.

Возможно ли это? Существует ли способ достижения цели без конфликтов?

Спасибо!

+1

Вы собираетесь должны разрешать конфликты слияния в любом случае. То, что я сделал бы, это создать другую ветку, сбрасывать на фиксацию, где вы создали файлы, и применять «git stash». Теперь вернитесь к исходной ветке и выполните 'git merge --strategy = 'Какой бы вы предпочитаете''. Возможно, вы могли бы передать стратегию как переменную. –

ответ

0

Вы можете сделать это по-другому:

  1. коммит.
  2. git stash (или даже лучше, git stash -u)
  3. Эксплуатационные испытания.
  4. git stash pop
  5. Если тесты не удалось, отменить коммит git reset --soft HEAD^
Смежные вопросы