Наш проект использует Git около недели, и нам всем это очень нравится (использование его в тесной совместной группе оказывается совершенно другим опытом Git). Чтобы все было как можно проще, мы не выполняем никаких изменений настроек или изменений в истории. Но в первую неделю мы сделали несколько ошибок. Было сделано несколько коммитов, которых не следовало делать, и нам удалось объединить ветвь функций с неправильной ветвью интеграции (1.1 вместо 1.0). И мы не узнали об этих вещах, пока они не вошли в нашу историю.
Теперь я вижу много предупреждений о переписывании истории, но я не совсем уверен, что понимаю связанные с этим опасности. Мы используем общий пустой репозиторий, и все ветки отправляются туда для резервного копирования.
Я ожидал, что если вы переписываете историю (скажем, удаляете фиксацию), полный список последующих коммитов «потеряет» эту фиксацию (и, возможно, не будет компилироваться / работать). Я также ожидал, что если это произойдет, я действительно смогу исправить это в верхней части истории (и просто оставить эту часть истории как некомпилируемую).
- Если я перепишу историю (и все будет компилироваться / работать во всех затронутых ветвях), нужно ли будет моим коллегам выполнять какие-то специальные команды? (Другими словами, «узнают ли они, что я сделал это», если я сделал это хорошо?)
- Могут ли какие-либо пользователи с локальными изменениями, о которых я не знаю, иметь право на ошибки слияния на
git pull
? - Я упустил здесь что-нибудь существенное?
Любые ссылки на статьи / учебные пособия по этой теме также были бы очень хороши.