我工作的一大蟒蛇项目,我什么pyc文件和*〜文件真的病了。 我想将其删除。 我见过的-X
混帐干净的标志将删除未跟踪文件。 你可以想像,我没有跟踪.pyc
,也没有*~
文件。 这将使伎俩。 问题是,我有一个local_settings.py
,我想保持git的清洁后的文件。
所以,这就是我的本钱。
的.gitignore:
*.pyc
*~
local_settings.py
当我执行以下命令:
git clean -X -n -e local_settings.py
我得到的结果的这个列表:
将消除local_settings.py
将消除requirements.txt〜
将删除(其他一堆)〜文件
将删除(其他一堆)PYC文件
我不想删除local_settings.py文件。 我tryed很多方法可以做到这一点,但我无法弄清楚如何acomplish它。
git clean -X -n -e local_settings.py
git clean -X -n -e "local_settings.py"
git clean -X -n --exclude=local_settings.py
git clean -X -n --exclude="local_settings.py"
而且似乎没有任何工作。
编辑:
对于后人,做正确的方式是(感谢@Rifat):
git clean -x -n -e local_settings.py # Shows what would remove (-n flag)
git clean -x -f -e local_settings.py # Removes it (note the -f flag)
能不能请你与小x
,而不是资本之一。 像- git clean -x
git clean -x -n -e local_settings.py # Shows what would remove (-n flag)
git clean -x -f -e local_settings.py # Removes it (note the -f flag)
从git的文档 :
-x Don't use the standard ignore rules read from .gitignore (per directory) and $GIT_DIR/info/exclude, but do still use the ignore rules given with -e options. This allows removing all untracked files, including build products. This can be used (possibly in conjunction with git reset) to create a pristine working directory to test a clean build. -X Remove only files ignored by git. This may be useful to rebuild everything from scratch, but keep manually created files.
git clean -X -n --exclude="!local_settings.py"
作品。 我发现这一点时,我用Google搜索,并得到了这个页面 。
我把属于这一类别中的.git /信息的本地文件/排除(如我的IDE项目文件)。 他们可以做一个干净的就像这样:
git ls-files --others --exclude-from=.git/info/exclude -z | \
xargs -0 --no-run-if-empty rm --verbose
哪里:
- - 其他:显示未跟踪文件
- --exclude-来自:提供一个标准的Git忽略样式文件从列表中排除
- -z / -0:使用\ 0,而不是\ n拆分名
- --no-运行,如果空:如果列表为空,不要运行RM
你可以创建一个别名,如:
git config --global alias.myclean '!git ls-files --others --exclude-from=.git/info/exclude -z | xargs -0 --no-run-if-empty rm --verbose --interactive'
该--interactive意味着你必须做的git myclean -f强制删除。
参考: http://git-scm.com/docs/git-ls-files (加上第一行默认的.git /信息/排除)
如果你正在运行的Python 2.6+只是设置环境变量, PYTHONDONTWRITEBYTECODE
,至true
。 你可以只添加以下内容类似.profile
或.bashrc
完全停用了您的个人资料:
export PYTHONDONTWRITEBYTECODE=true
或者,如果你只是想这样做,对于一个特定的项目你的工作,你需要在每次运行上面的外壳(或在您的virtualenv init脚本之一,如果你正在使用的virtualenv和virtualenvwrapper)或者你可以简单地传递-B
参数,当你调用python
,如
python -B manage.py runserver
如果你已经COMMITED的PYC的等已经,做到以下几点:
添加*。pyc文件*〜和local_settings.py到的.gitignore。 然后做你的Git仓库:
find . -name '*.pyc' | xargs rm
find . -name '*~' | xargs rm
然后做:
git commit -am "get rif of them"
现在他们不应该打扰你了