Как навсегда предотвратить фиксацию определенной части файла в git?

Я клонировал удаленный SVN-репозиторий с помощью git-svn. Я изменил файл pom.xml в этом клонированном репо таким образом, что код компилируется. Эта установка является эксклюзивной для меня. Таким образом, я не хочу отсылать изменения обратно на удаленный репозиторий.

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

Я смотрел на этовопрос и этоодин, но они для довольно временных изменений.

Обновление: я также знаю о возможностях .gitignore, но это будет означать полное исключение файла.

Ответы на вопрос(2)

То, что вы спрашиваете, невозможно, я не вижу "частичное" часть. Я знаю, что вы можете зафиксировать только часть файлов, но вы не можете игнорировать некоторую часть файла. Вам нужно будет использовать трюк с обновлением индекса, чтобы избежать его в статусе & quot; и вам нужно будет хранить этот файл каждый раз, когда вы будете перебазировать / объединять с удаленного компьютера, а затем распаковать вашу модификацию и игнорировать вашу модификацию с помощью update-index. Я не знаю, можете ли вы создать псевдоним git для последовательности команд git, чтобы с помощью одной команды вы могли выполнить все эти 3 команды, чтобы избежать хлопот

используйте файл .gitignore и не передавайте его также в удаленное хранилище:Игнорировать сам файл .gitignore

в вашем .gitignore, вы должны иметь

 .gitignore
 path/to/pom.xml

файл .gitignore может находиться в корне рабочего дерева или в любом подкаталоге, который вам нужен / нужен

Начальная точка: Реализация пятна / очистки для этого фильтра:

git config --global filter.versionUpdate.smudge 'sed "s/<version>14.5.0<\/version>/<version>14.5.FEATURE-15<\/version>/"'
git config --global filter.versionUpdate.clean 'sed "s/<version>FEATURE-15<\/version>/<version>14.5.0<\/version>/"'

Таким образом, файл всегда одинаков при сравнении, поскольку применяется фильтр.

Проблема: все еще необходимо выяснить, как найти отфильтрованные файлы обратно. Это не так очевидно в рабочем каталоге.

Smudge clean filter

ВАШ ОТВЕТ НА ВОПРОС