Version control Mercurial——指定某些文件应始终被拉入,但决不被推入?
我的存储库中有一些文件我希望能够在本地编辑。但我从不想将对这些文件的任何更改推送到服务器。我能帮你安排一下吗Version control Mercurial——指定某些文件应始终被拉入,但决不被推入?,version-control,mercurial,Version Control,Mercurial,我的存储库中有一些文件我希望能够在本地编辑。但我从不想将对这些文件的任何更改推送到服务器。我能帮你安排一下吗 编辑:为了澄清这一点,我确实希望得到其他人所做的更改。但我不想推动我的更改。这不容易做到。Mercurial不推拉文件,而是推拉更改集。你唯一的途径就是永远不要提交那些文件。忽略它们不是一个选项,因为它们已经被跟踪(添加)并且跟踪始终覆盖忽略 您可以在提交时明确排除它们,如 hg commit -X a-file-I-changed -X another-file 由于您最终会忘记这
编辑:为了澄清这一点,我确实希望得到其他人所做的更改。但我不想推动我的更改。这不容易做到。Mercurial不推拉文件,而是推拉更改集。你唯一的途径就是永远不要提交那些文件。忽略它们不是一个选项,因为它们已经被跟踪(添加)并且跟踪始终覆盖忽略 您可以在提交时明确排除它们,如
hg commit -X a-file-I-changed -X another-file
由于您最终会忘记这样做,您可以在hgrc中设置别名:
[alias]
mycommit = -X a-file-I-changed -X another-file
然而,我要冒险一试,我猜你们谈论的是一个配置文件,比如数据库设置文件。处理这个问题的最佳方法不是提交
database.conf
(或它的名称),而是提交database.conf.sample
,然后让启动脚本将database.conf.sample复制到database.conf(如果它不存在)。这是正常的做法。 < P>如果你的改变是实质性的,就考虑把它变成一个补丁。您可以弹出
您的更改,拉出他们的更改,然后将
您的更改推回到工作目录。如果这是一个您无法忍受丢失的更改,您可以使队列成为自己的存储库,然后将该存储库克隆到其他位置。Ry4an写入,您可以在提交时排除该文件。我的一位同事做了一个简单的扩展,可以在简单的情况下自动执行此操作:
非简单的情况是合并——Mercurial不允许您在提交合并时排除文件。现在,您必须将修改后的文件移到一边,还原它,然后在合并后将其移回原处。欢迎修补程序处理此情况 妈的,通常都是这样。跟我走。