Nic*_*ell 38 mercurial hgignore
有没有办法忽略对mercurial提交中某些文件的更改?
我有一个特定的情况,我们有一个默认的oracle tnsnames.ora文件,指向127.0.0.1,但有些开发人员会修改它指向其他系统,但我们不想更改默认文件.
在subversion中,我简单地将它添加到ignore-on-commit更改列表中.有没有办法在mercurial这样做?
Gio*_*das 50
如果要从"hg commit"命令中省略的文件已被"跟踪",则应使用-X选项.传递给-X的模式非常灵活,可以运行例如:
% hg stat
A etc/foo.conf
M src/bar.c
M lib/libbar/loader.c
% hg commit -X '**.conf'
Run Code Online (Sandbox Code Playgroud)
避免提交任何带有".conf"扩展名的文件,无论它存在于源树的深度.在上面显示的工作区中,这将提交"src/bar.c"和"lib/libbar/loader.c",但不提交"etc/foo.conf".
要排除多种文件名模式,请使用多个-X选项,即:
% hg commit -X '**.conf' -X '**.sh'
Run Code Online (Sandbox Code Playgroud)
Zed*_*Zed 22
传统上,这可以通过不对文件本身进行版本控制来解决,而是通过将其副本版本化为其他人使用的模板来解决.
所以你会hg mv tnsnames.ora tnsnames.ora-template然后提交,然后将tnsnames.ora-template的直接文件系统副本复制到tnsnames.ora,并将tnsnames.ora添加到.hgignore文件中.
对模板的后续更改仍将被推出,但除非有人将模板复制到实际文件,否则它们实际上不会更改工作环境.
| 归档时间: |
|
| 查看次数: |
13343 次 |
| 最近记录: |