我該如何忽略git中的.pyc文件。 如果我放入.gitignore不起作用:我需要他們不追蹤,不檢查它的提交。忽略git倉庫中的.pyc文件
回答
把它放在.gitignore
。但是從gitignore(5)
手冊頁:
· If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the toplevel of the work tree if not from a .gitignore file). · Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a/in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
所以,要麼指定完整路徑到相應的*.pyc
項,或把它放在一個.gitignore
文件中的任何從庫根領先的目錄(含)。
爲了避免讓其他人感到困惑,Ignacio對手冊頁的解釋是錯誤的。您不需要將* .pyc放在同一個目錄中,只需將它放在父目錄(或祖父母等)中即可。 – Godsmith 2015-06-02 08:21:22
@Godsmith:更正。 – 2015-06-02 08:23:22
在將*.pyc
放入.gitignore
之前,您可能已將其添加到存儲庫。
首先將它們從存儲庫中刪除。庫初始化之後
*.pyc
到.gitignore
文件在你的git倉庫樹的根文件夾:
這個問題每次都會讓我知道 – ecoe 2013-10-13 18:54:12
你應該加一行。
由於ralphtheninja說,如果你忘了做這一點,事前,如果你只需要添加行至.gitignore
文件,所有以前犯.pyc
文件仍將被跟蹤,所以你需要從刪除庫。
find . -name "*.pyc" -exec git rm -f "{}" \;
:
如果你是一個Linux系統(或「父母&兒子」像MacOSX的),你可以快速地與眼前這個,你需要從庫的根執行一個命令行的做
這也就意味着:
從我目前的目錄開始,查找其 名與擴展
.pyc
結束的所有文件,並通過文件名的命令git rm -f
後從混帳作爲跟蹤文件*.pyc
文件刪除,提交此變更到倉庫,然後你就可以在*.pyc
行最後添加到.gitignore
文件。
(改編自http://yuji.wordpress.com/2010/10/29/git-remove-all-pyc/)
感謝@Enrico的答案。
請注意,如果您使用的是virtualenv,您將在當前目錄中包含多個.pyc
文件,這些文件將由他的find命令捕獲。
例如:
./app.pyc
./lib/python2.7/_weakrefset.pyc
./lib/python2.7/abc.pyc
./lib/python2.7/codecs.pyc
./lib/python2.7/copy_reg.pyc
./lib/python2.7/site-packages/alembic/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/api.pyc
我想這是無害的刪除所有文件,但如果你只是想刪除你的主目錄下的.pyc
文件,那麼就去做
find "*.pyc" -exec git rm -f "{}" \;
這將從git存儲庫中刪除app.pyc
文件。
- 1. 讓Python忽略.pyc文件
- 2. 忽略文件佔用git倉庫中的空間
- 3. 在GIT倉庫中標記臨時忽略的文件
- 4. 在git倉庫中意外忽略的文件
- 5. 如何忽略git倉庫中的PyCharm配置文件?
- 6. 代碼倉庫中的環境文件與Git忽略
- 7. Atom不會忽略添加到忽略列表的* .pyc文件
- 8. 的Maven忽略了倉庫
- 9. 在Git中忽略Git中的文件
- 10. 忽略`git log`中的git-svn文件
- 11. 我怎麼能忽略git倉庫中的bin和obj文件夾?
- 12. git倉庫:如何忽略庫的子文件夾(即其子文件夾的.git /)
- 13. git:忽略源文件中的文件
- 14. Rails忽略GIT的文件
- 15. 兩個Git倉庫的項目部分 - 如何忽略不同的文件?
- 16. Unity Git - 忽略庫
- 17. 添加後從Git倉庫中忽略目錄
- 18. 保存文件的Git倉庫,而忽略本地修改/刪除
- 19. 的Git忽略不忽略指定的文件夾/文件
- 20. 的Git忽略不忽略一個文件,但所有文件
- 21. Yii2和Git忽略文件
- 22. git意外忽略文件
- 23. 忽略Git .Net文件
- 24. Git不忽略tmp文件
- 25. git忽略遠程文件
- 26. Git忽略這種文件?
- 27. Git本地忽略文件
- 28. Git - 完全忽略文件
- 29. git GUI忽略.gitignore文件?
- 30. 設置git忽略文件
.gitignore應該工作。你能否提供你在.gitignore中放入的行的副本來嘗試解決這個問題? – 2011-04-05 11:47:46