忽略git存储库中的.pyc文件

2020/12/01 13:31 · python ·  · 0评论

如何忽略.pycgit中的文件?

如果我把它放在.gitignore里面是行不通的。我需要将它们取消跟踪,而不要检查提交。

放进去.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从存储库根目录开始(包含在内)的任何目录中的文件中。

您应该添加以下行:

*.pyc 

.gitignore库初始化之后就在你的git仓库树的根文件夹中的文件。

正如ralphtheninja所说,如果您忘记事先做,只要将行添加到.gitignore文件中,所有先前提交的.pyc文件仍将被跟踪,因此您需要将它们从存储库中删除。

如果您使用的是Linux系统(或MacOSX等“父级”),则只需使用以下一条从存储库根目录执行的命令即可快速完成此操作:

find . -name "*.pyc" -exec git rm -f "{}" \;

这只是意味着:

从我当前所在的目录开始,查找所有名称以extension结尾的.pyc文件,并将文件名传递给命令git rm -f

之后*.pyc从混帐作为跟踪文件的文件删除,提交此变更到仓库,然后你就可以在最后加*.pyc一行到.gitignore文件中。

(改编自http://yuji.wordpress.com/2010/10/29/git-remove-all-pyc/

你可能已经把之前他们添加到存储库*.pyc.gitignore

首先从存储库中删除它们。

我尝试使用先前文章的句子,并且不递归工作,然后阅读一些帮助并获得以下内容:

find . -name "*.pyc" -exec git rm -f "{}" \;

要在.gitignore文件中添加* .pyc以保持git干净,必须使用pd

echo "*.pyc" >> .gitignore

请享用。

如果要全局忽略“ .pyc”文件(即,如果您不想将行添加到每个git目录的.gitignore文件中),请尝试以下操作:

$ cat ~/.gitconfig 
[core]
    excludesFile = ~/.gitignore
$ cat ~/.gitignore
**/*.pyc

[参考]
https://git-scm.com/docs/gitignore

  • 用户希望Git在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常进入用户〜/ .gitconfig中由core.excludesFile指定的文件中。

  • 前导“ **”后跟斜杠表示在所有目录中均匹配。例如,“ ** / foo”与文件“ foo”在任何位置都匹配文件或目录“ foo”。“ ** / foo / bar”与文件或目录“ bar”匹配,直接位于目录“ foo”下。

感谢@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 "{}" \;

这将仅从app.pycgit存储库中删除文件。

本文地址:http://python.askforanswer.com/huluegitcunchukuzhongde-pycwenjian.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!