Мне нравится применять некоторые изменения к моему проекту, которые помогают с моим эксцентричным рабочим процессом (например, я делаю некоторые изменения в структуре проекта, удаляю некоторые чрезмерные строки ведения журнала и т. Д.), Но я не хочу, чтобы изменения отображались в моей истории git, когда Я создаю ветку для слияния. Усилия вручную переписать историю слишком много для количества раз, когда я должен это делать.git применить патч и игнорировать историю?
Есть ли способ применить файл diff (например, произведенный от format-diff
), так что файлы редактируются на диске, но история и индекс не замечают различий?
Единственный хак я могу придумать, чтобы применить не-мерзавец .diff
файлы с patch
и добавить файлы в git update-index --assume-unchanged foo/bar
, но есть лучше - больше «мерзавец» - путь?
Внесите изменения в другую ветку. Филиалы в основном бесплатны, но если вы просто хотите попробовать их временно, используйте отдельную головку, которая снижает даже стоимость самой ветви (проверьте ветвь снова и любые фиксации, которые вы сделали, используя отсоединенный HEAD дрейф и получите gc ' в течение 30 дней). Если вам нужно делать это часто, просто держите ссылку на фиксацию с этими изменениями в ней, чтобы вы могли отделить + вишневый выбор + тест + вычеркивание до отказа в любое время, когда вы хотите протестировать этот путь. – torek
Привет, Торак, вот что я пробовал. Я ищу лучший способ, который не требует такого ручного управления ветвями, не выходя из git. Я перешел на скрипт, который устанавливает/unsets неизменный статус и применяет патч, но он не идеален. – fommil