相关疑难解决方法(0)

在单独保留其他修改的同时提交和推送单个文件的最简单方法是什么?

我对Mercurial相对较新,我的团队现在正在尝试将其作为Subversion的替代品.

如何将单个文件提交并推送到另一个存储库,同时保留我的工作目录中的其他修改未提交(或者至少不推送到其他存储库)?

这种情况发生在我们的数据库迁移中.我们希望将迁移提交到源代码控制,以便DBA可以在我们处理代码修改时查看和编辑它,以便与数据库迁移一起进行.这些变化还没有准备好,所以我们不想把它们全部推出去.

在颠覆中,我只是这样做:

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
Run Code Online (Sandbox Code Playgroud)

并继续在当地工作.

这不适用于mercurial,因为当我将它推送到另一个存储库时,如果我没有删除它的更改,它希望我将它们拉下来,合并它们并将该合并提交到存储库.合并后提交不允许您省略文件,因此它会强制您提交本地存储库中的所有内容.

我能想到的最简单的事情是将文件提交到我的本地存储库,克隆我的本地存储库,从实际存储库中获取任何新的更改,合并它们并提交该合并,然后它们将我的更改推送出去.

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
Run Code Online (Sandbox Code Playgroud)

这样可行,但感觉我错过了一些更简单的东西,某种方式告诉mercurial忽略我工作目录中已有的文件,只需进行合并并发送文件.我怀疑mercurial队列可以做到这一点,但我还没有完全搞定mq.

version-control merge mercurial push

72
推荐指数
3
解决办法
4万
查看次数

Mercurial:如何忽略对跟踪文件的更改

我的项目中有一个包含数据库设置的文件,我已将其设置为某些默认值.该文件由Mercurial跟踪并签入.由于此文件将使用不同的值编辑各种开发人员机器,有没有办法告诉Mercurial忽略对此文件的新更改?

我尝试将文件添加到.hgignore文件中,但由于文件被跟踪,因此不会被忽略.这在其他情况下还不错,但我想知道我能在这里做些什么吗?

version-control mercurial configuration-files hgignore

51
推荐指数
5
解决办法
2万
查看次数

忽略TortoiseHg中的提交

在TortoiseHg中有类似于SVN 忽略提交功能吗?

我发现了这个,但需要一种方法来通过UI为非开发团队成员做到这一点.

version-control mercurial tortoisehg

6
推荐指数
1
解决办法
458
查看次数