Давайте сначала разберемся с терминологией. Когда вы вернули свою ветку обратно в master
, ваш файл настроек также был объединен, объединяя изменения, сделанные в ветке, с любыми другими изменениями, внесенными в master
после того, как вы разветвились. Если я правильно понимаю, вы хотите отменить некоторые изменения, внесенные вами в ветке, но не все. На языке git это называется возврат изменения.
Чтобы сделать это, используйте git log
, чтобы найти фиксацию, которая внесла изменения, которые вы хотите отменить. Если в этом коммите ничего не изменилось, кроме того, что вы хотите удалить, все, что вам нужно сделать, это запустить git revert <commit>
и все хорошо. Это основная причина, по которой я всегда помещаю любой отладочный код, который, как я знаю, я хочу удалить позже, в свой собственный коммит.
Если это не единственное изменение в коммите, еще не все потеряно, но это немного сложнее. Run:
git revert --no-commit <commit>
git reset HEAD
git add --patch
git commit
git reset --hard
Первые две команды отменяют все ваши изменения из данного коммита, но пока не фиксируют отмены. Опция --patch
для git add
позволяет в интерактивном режиме выбирать, какие изменения следует сохранять по одному. Затем вы фиксируете изменения, и git reset
избавляется от изменений, которые вы не хотели сохранять.
В этом ответе предполагается, что изменение является разовым предложением. Используйте один из других ответов, если вы хотите всегда сохранять файл настроек, отличный от файла, который отправляется на сервер.