从 pythonanywhere 添加/提交时,将 `__pycache__` 保留在我的存储库之外

use*_*757 14 git pythonanywhere

我在本地 win7 机器上构建了一个 Web 应用程序。我用 pycharm 做到了,并使用 git 作为版本控制。我是一个完全的 git 新手。

我将存储库放在 github 上,以便我可以将 web 应用程序暂存到我的 pythonanywhere 服务器。

在 pythonanywhere 方面,我对各种文件进行了一些小的编辑。我想将这些更改提交回存储库。

(udemy) 10:44 ~/keystone (master)$ git commit -m "got it running on pythonanywhere staging"
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
        modified:   keystone/settings/base.py
        modified:   keystone/settings/local_postgres.py
        modified:   keystone/settings/staging_straits.py
        deleted:    p0150_1.pdf
Untracked files:
        crapboard/__pycache__/
        crapboard/migrations/__pycache__/
        crapboard/templatetags/__pycache__/
        keystone/__pycache__/
        keystone/settings/__pycache__/
no changes added to commit
Run Code Online (Sandbox Code Playgroud)

我想将三个修改的文件和一个删除提交到存储库。

所以我做了

(udemy) 14:03 ~/keystone (master)$ git add --all
(udemy) 14:03 ~/keystone (master)$ git commit -m "staged to pythonanywhere"
[master ac6bb7e] staged to pythonanywhere
 27 files changed, 23 insertions(+), 115 deletions(-)
 create mode 100644 crapboard/__pycache__/__init__.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/admin.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/apps.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/forms.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/models.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/pdf_views.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/urls.cpython-36.pyc
 create mode 100644 crapboard/__pycache__/views.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0001_initial.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0001_squashed_0005_auto_20170921_2154.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0002_auto_20170909_1137.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0003_auto_20170912_2029.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0004_problem_author.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/0005_auto_20170921_2154.cpython-36.pyc
 create mode 100644 crapboard/migrations/__pycache__/__init__.cpython-36.pyc
 create mode 100644 crapboard/templatetags/__pycache__/__init__.cpython-36.pyc
 create mode 100644 crapboard/templatetags/__pycache__/crapboard_filters.cpython-36.pyc
 create mode 100644 keystone/__pycache__/__init__.cpython-36.pyc
 create mode 100644 keystone/__pycache__/urls.cpython-36.pyc
 create mode 100644 keystone/settings/__pycache__/__init__.cpython-36.pyc
 create mode 100644 keystone/settings/__pycache__/base.cpython-36.pyc
 create mode 100644 keystone/settings/__pycache__/settings_secret.cpython-36.pyc
 create mode 100644 keystone/settings/__pycache__/staging_straits.cpython-36.pyc
 rewrite keystone/settings/staging_straits.py (65%)
 delete mode 100644 p0150_1.pdf
Run Code Online (Sandbox Code Playgroud)

啊。它也提交了所有这些__pycache__目录。

我猜这是因为我应该在我的 pythonanywhere 服务器上制作某种全局/通用 .gitignore 文件?

所以问题:

1) 如何从我的存储库中永久删除这些pycache内容 2) 如何防止我的 pythonanywhere 服务器将来尝试将这些内容添加到我的存储库中 - 我在 pycharm/本地机器上没有这个问题 - - 它忽略这些文件。

小智 20

根据git docs,将以下内容添加到 ~/.gitignore 很简单:

**/__pycache__
Run Code Online (Sandbox Code Playgroud)

前导“**”后跟斜杠表示在所有目录中匹配。例如,“**/foo”匹配任意位置的文件或目录“foo”,与模式“foo”相同。"**/foo/bar" 匹配直接位于目录 "foo" 下的任何位置的文件或目录 "bar"。


con*_*rad 4

  1. 您可以执行 agit rm删除该文件夹,然后提交并推送该文件夹。或者,如果您感觉超级冒险并且没有其他人使用您的存储库,您可以先执行 a commit --fixup,然后执行 arebase --interactive来清理所有内容。详细信息请参见此处
  2. 添加。__pycache__~/.gitignore或者更好的是,只需为您的存储库签入 .gitignore 文件。