在Mercurial中忽略manage.py(hg .hgignore)
我在用Mercurial管理我的Django项目,我想让它忽略manage.py这个文件。我把我的.hgignore文件写成了这样:
syntax: glob
*.pyc
*.html~
*.js~
manage.py
settings_local.py
media/
当我修改settings_local.py文件时,一切正常,但当我修改manage.py时,.hgignore就不管用了。
提前谢谢大家!!
3 个回答
1
只要确保你没有添加你的 .hgignore 文件就行。
如果你忘记了 .hgignore 文件,那就把它去掉,然后再提交一次。
这样在下次提交的时候,manage.py 文件就会被忽略了!
4
.hgignore
文件的作用是告诉相关的命令在你让它们查找要添加到你的代码库的新文件时,避免去找那些被忽略的文件。简单来说,就是让一些文件不被纳入管理。
我记得有两个命令,可能还有更多:
hg addremove
hg commit --addremove
就这些。如果你在告诉 Mercurial 忽略某个文件之前就把它添加到代码库,或者即使它被忽略你还是特别把它添加到代码库,那么 Mercurial 就会开始跟踪这个文件。
一旦开始跟踪,它就会一直跟踪下去。
换句话说,不管你在 .hgignore
文件中是否指定了这个文件,下面这个命令都会让 Mercurial 开始跟踪这个文件:
hg add manage.py
你在编辑 .hgignore
文件之前还是之后执行这个命令都没关系。
你的问题听起来像是 Mercurial 已经在跟踪这个文件了。要让 Mercurial 停止跟踪这个文件,你需要发出一个忘记的命令:
hg forget manage.py
然后再进行一次提交。之后,Mercurial 就不会再关注这个文件的变化了。
3
manage.py文件是在根文件夹里吗?如果是的话,它是在忽略文件创建之前就已经被加入到版本控制里了吗(所以它现在是被跟踪的状态)。如果是第二种情况,那就告诉Hg(一个版本控制工具)忘记这个文件。
hg forget manage.py
是我认为的正确写法。