$ git checkout to-branch
$ git merge from-branch
$ git status | grep unmerged
# file1 unmerged
# file2 unmerged
# file3 unmerged
$ vi file1
$ git add .
Eek! Я не хотел «добавить». Я хотел «git add file1»!Как отменить "git add." во время слияния?
Теперь я не могу получить поведение как:
$ git show :1:file2
Я пробовал:
$ git reset file2
и
$ git checkout -m file2
, но ни один из этих возвращений file2 к "неслиянных" состояние , git status не показывает его как unmerged, и у меня нет доступа к «git show: 1: file2» и т. д. Я хочу вернуть файл обратно в невооруженное состояние.
Как я могу вернуться в состояние, в котором находился, прежде чем «добавить git». не теряя мои изменения в файле1?
Спасибо. Это дает вам файл с конфликтами слияния, но он не обновляет все, что он использует, чтобы отслеживать конфликты слияния, чтобы статус git не показывал файл как немаркированный, а git show: 1: file2 и т. Д. Работа. Посмотрим на другой вопрос. –
+1, Прохладный - я не знал об этой неясной особенности. Просто попробовал тест с ним, и он работает как рекламируемый. –