Django - Rosetta:忽略 .mo 文件问题
我正在使用:
- Rosetta - 0.7.2
- Django - 1.4.3
我想要做的事情:
- 忽略
.mo
文件,但保留.po
文件的跟踪
过去一年我一直在使用 Rosetta 和 Django,从来没有遇到过这样的问题。我想忽略 .mo
文件,但不想忽略 .po
文件。.mo
文件是 .po
文件的编译版本。我的目标是,当我在开发中更改任何翻译时,希望 git 能忽略 .mo
文件。
我在实际项目中有 9 种语言,我尝试在我的 .gitignore
文件中添加以下内容:
*.mo
但这没有效果。我还尝试过:
myapp/locale/*/LC_MESSAGES/*.mo
但也没有成功,我还试过:
myapp/locale/en/LC_MESSAGES/*.mo
myapp/locale/fr/LC_MESSAGES/*.mo
myapp/locale/es/LC_MESSAGES/*.mo
myapp/locale/tr/LC_MESSAGES/*.mo
这个方法有效,但我不想为每种语言的 .mo
文件添加路径,因为将来我可能需要添加更多语言,这样每次都修改 .gitignore
文件就太麻烦了。
有没有什么好主意可以解决这个问题?
更多信息:
- 每次尝试新方法时,我都删除/丢弃了更改
- 我之前有多个
.gitignore
文件,但现在只有一个 - 据我所知,
.gitignore
中的规则*.mo
应该能忽略所有文件,不管路径如何,和.*pyc
一样,忽略所有编译文件
2 个回答
1
步骤如下:
git rm -r --cached .
这个命令会把已经被跟踪的文件从 Git 的管理中移除,但不会删除这些文件,只是让 Git 忽略它们,前提是这些文件在你的.gitignore
文件里。接下来,使用
git add .
命令,这个命令会把当前目录下的所有文件添加到 Git 的管理中。最后,运行
git commit -m ".gitignore is now working"
,这个命令会把你刚才的更改保存到 Git 的历史记录中,并附上一个说明,告诉大家现在.gitignore
文件已经生效了。
5
我之前也遇到过类似的问题,就是想从git中删除*.sql
文件。我的问题在于,这些.sql
文件已经在仓库里了,所以即使我在开发中删除了它们,并且把*.sql
加到了gitignore里,git还是不会忽略它们,因为它们已经存在于仓库中了。
所以我建议你先从仓库中删除所有的.mo
文件,然后再把*.mo
添加到你的.gitignore
文件里并上传,这样git就会忽略你所有的.mo
文件了。