Какой самый простой способ в Git "выбрать вишню" незафиксированных изменений в отдельном файле? - PullRequest
8 голосов
/ 31 января 2010

Если у меня есть куча незафиксированных изменений в одном файле в моем рабочем каталоге в Git, какой самый простой способ выборочно выбрать и выбрать среди этих изменений?

Мой текущий способ - это "git diff" файл, а затем вручную просмотреть diff вместе с реальным файлом. Если я хочу восстановить биты старого кода, я могу скопировать и вставить из diff в файл.

В некоторых случаях было бы намного проще, если бы вместо этого можно было просматривать и редактировать изменения в одном файле. Например, есть ли команда Git, которую можно использовать для преобразования рабочего файла с изменениями в формат с разрешением конфликтов - то есть с символами «<<<<» вокруг незафиксированных изменений? Таким образом, можно выбирать изменения без необходимости вырезать и вставлять из одного файла в другой. </p>

Я не уверен, как это сделать, поскольку это не трехсторонняя (слияние) ситуация. Скорее, это двусторонняя ситуация с одним набором изменений в одном файле (поэтому нет конфликтов). Спасибо.

Ответы [ 2 ]

11 голосов
/ 31 января 2010

Вы можете выбрать, какие фрагменты добавить в коммит git add --patch. Вам будет предложено указать каждый кусок в изменениях файла, если вы хотите добавить этот набор изменений. Если конкретный кусок слишком велик для вас, вы можете разделить его еще дальше. Существует еще один параметр git-add, --interactive, который позволяет работать с несколькими файлами.

Для получения дополнительной информации см. git-add справочную страницу или это сообщение из поиска Google.

1 голос
/ 31 января 2010

В дополнение к git add --patch есть git add -i: который вы можете рассматривать как один слой над git add --patch.

Уроки по git add --patch и git add -i

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...