Какой самый простой способ зафиксировать и отправить один файл, оставив другие модификации в покое?
Я относительно новичок в Mercurial, и моя команда пробует его прямо сейчас как замену Subversion.
Как я могу зафиксировать и отправить один файл в другой репозиторий, оставив другие изменения в моем рабочем каталоге незафиксированными (или, по крайней мере, не перенесенные в другой репозиторий)?
Это происходит для нас с миграцией базы данных. Мы хотим передать миграцию в систему контроля версий, чтобы администратор БД мог просматривать и редактировать ее, пока мымы работаем над модификациями кода, чтобы выполнить миграцию базы данных. Изменения нееще не готовы, поэтому мы неЯ не хочу выталкивать их всех.
В подрывной деятельности ябуду просто делать:
svn add my_migration.sql
# commit only the migration, but not the other files I'm working on
svn commit -m "migration notes" my_mygration.sql
и продолжать работать на местном уровне.
Это неработать с ртутью, как когда яя выталкиваю его в другой репозиторий, если в нем есть изменения, которых у меня нетЯ хочу вытащить их, объединить и передать это объединение в хранилище. Фиксируется после слиянияПозволяет вам пропустить файлы, так что это заставляет вас фиксировать все в вашем локальном хранилище.
Самая простая вещь, которую я могу выяснить, - это зафиксировать файл в моем локальном репозитории, клонировать мой локальный репозиторий, извлечь любые новые изменения из реального репозитория, объединить их и зафиксировать это объединение, и они вытолкнут мои изменения.
hg add my_migration.sql
hg commit -m "migration notes" my_migration.sql
cd ..
hg clone project project-clone
cd project-clone
hg fetch http://hg/project
hg push http://hg/project
Это работает, но кажется, что яЯ упустил что-то более простое, какой-то способ сказать Mercurial игнорировать файлы, уже находящиеся в моем рабочем каталоге, просто выполнить слияние и отправить файлы вместе. Я подозреваю, что ртутные очереди могут сделать это, но я нет полностью грок mq еще.