私は大きなpython=プロジェクトに取り組んでいます。pycファイルと*〜ファイルがあると本当に気分が悪くなります。それらを削除したいと思います。-X
git cleanのフラグは、追跡されていないファイルを削除します。ご想像のとおり、私は追跡していません.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ファイルを削除したくありません。私はそれを行うために多くの方法を試しましたが、それを達成する方法がわかりません。
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)
-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"
動作します。私がグーグルして this page を取得したときにこれを発見しました。
このカテゴリに該当するローカルファイルを.git/info/excludeに配置します(たとえば、my IDEプロジェクトファイル)。これらは次のようにクリーンアップできます:
git ls-files --others --exclude-from=.git/info/exclude -z | \
xargs -0 --no-run-if-empty rm --verbose
どこ:
エイリアスを作成できます。例:
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/info/excludeの最初の行)
Python 2.6+を実行している場合は、環境変数PYTHONDONTWRITEBYTECODE
をtrue
に設定するだけです。次のコードを.profile
または.bashrc
を使用して、プロファイルに対して完全に無効にします。
export PYTHONDONTWRITEBYTECODE=true
または、作業している特定のプロジェクトでそれを実行したい場合は、毎回シェルで(またはvirtualenvとvirtualenvwrapperを使用している場合はvirtualenv initスクリプトの1つで)上記を実行する必要があります。または、python
を呼び出すときに-B
パラメータを単に渡すことができます。たとえば、.
python -B manage.py runserver