提交和推送单个文件同时不进行其他修改的最简单方法是什么?
我对Mercurial来说还比较陌生,我的团队正在尝试将其作为Subversion的替代产品。 如何提交单个文件并将其推送到另一个存储库,同时不提交工作目录中的其他修改(或至少不推送到另一个存储库)? 对于我们而言,数据库迁移会发生这种情况。我们希望将迁移提交给源代码管理,以便DBA可以在进行代码修改以进行该数据库迁移时查看和编辑它。变更尚未准备就绪,因此我们不想将所有变更都推出。 在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 并继续在本地工作。 这不适用于Mercury,因为当我将其推送到另一个存储库时,如果有未删除的更改,它希望我将其删除,合并并提交合并到存储库。合并后提交不允许您忽略文件,因此会强制您提交本地存储库中的所有内容。 我能想到的最简单的方法是将文件提交到本地存储库,克隆本地存储库,从实际存储库中获取任何新更改,合并并提交合并,然后将我的更改推出。 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 …