Я использую git для отслеживания содержимого, которое некоторые люди меняют и разделяют «только для чтения» с другими. «Читатели» время от времени могут внести изменения, но в основном они не будут.Использование git pull для отслеживания удаленной ветви без слияния
Я хочу, чтобы git «писатели» могли пересобирать отталкиваемые ветви **, если это необходимо, и обеспечить, чтобы «читатели» никогда случайно не сливались. Это обычно достаточно легко.
git pull origin +master
Существует один случай, который вызывает проблемы. Если читатель делает локальное изменение, команда выше будет merge. Я хочу, чтобы притяжение было полностью автоматическим, если читатель не внес локальных изменений, а если они внесли локальные изменения, он должен остановиться и запросить ввод. Я хочу отслеживать любые изменения восходящего потока, соблюдая осторожность при слиянии последующих изменений.
В некотором смысле, я действительно не хочу тянуть. Я хочу точно отслеживать мастер-ветку.
** (я знаю, что это не лучшая практика, но это представляется необходимым в нашем случае: у нас есть одна главная ветвь, которая содержит большую часть работы и некоторые тематические отделения для конкретных клиентов с незначительными изменениями, которые нуждаются).
Что пользователь может делать с их модификациями? Зафиксировать их в местном филиале? –
С Git 2.0 вы можете попробовать (скоро) 'git config push.ff only'. См. [Мой ответ ниже] (http://stackoverflow.com/a/22354592/6309) – VonC