В предварительно зафиксированной крючок, я хочу, чтобы убедиться, что никто (кроме 1 человека) может изменить restricted_file.txtКак GIT-дифф файл от «ихнего» версии после разрешения конфликтов
Крючок должен обрабатывать случай, когда кто-то выполняет «git pull» или «git merge some_branch», получает последний файл limited_file.txt, но something_else.txt вызывает конфликт.
Он разрешает конфликт и сохраняет «theirs» версию limited_file.txt, выполняет «git add» и «git commit».
На этом этапе выполняется предварительный захват, и он идентифицирует, что limit_file.txt будет зафиксирован. Мы хотим разрешить фиксацию только в том случае, если файл идентичен файлу «git pull» или «git merge» (другими словами, если он сохранил «свою» версию).
Кто-нибудь знает, можно ли определить, совпадает ли файл с «их» во время разрешения конфликта?
Что эквивалентно следующему несуществующей команды:
git diff --cached --against_theirs -- restricted_file.txt
Почему вы не сравнить кэшированную версию файла с ограниченным, что в обновленном вверх по течению. i. сравните кешированную версию с версией на входящей ветке вверх. –
Это имеет смысл, когда вы делаете все вручную, потому что знаете, где вы сливаетесь ... но в сценарии мы должны определить, что является входящей ветвью конфликтующего слияния/вытягивания. – user1865815