我在本地 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
我想将三个修改的文件和一个删除的文件提交到存储库。
所以我就这么做了
(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
啊。它也提交了所有这些
__pycache__
目录。
我猜发生这种情况是因为我应该在我的 pythonanywhere 服务器上制作某种全局/通用 .gitignore 文件?
所以问题:
1)我如何从我的存储库中永久删除这个 pycache 东西 2)如何防止我的 pythonanywhere 服务器将来尝试将这些内容添加到我的存储库中 - 我的 pycharm/本地计算机没有这个问题 - 它会忽略这些文件。
根据git docs,只需将以下内容添加到~/.gitignore即可:
**/__pycache__
前导“**”后跟斜杠表示在所有目录中匹配。为了 例如,“**/foo”在任何地方匹配文件或目录“foo”,相同 作为模式“foo”。 “**/foo/bar”匹配文件或目录“bar” 直接位于目录“foo”下的任何位置。
git rm
删除该文件夹,然后提交并推送该文件夹。或者,如果您感觉超级冒险并且没有其他人使用您的存储库,您可以执行 commit --fixup
,然后执行 rebase --interactive
来清理所有内容。详情请参阅此处。__pycache__
添加到 ~/.gitignore
。或者更好的是,只需为您的存储库签入 .gitignore 文件即可。要强制 git 忽略任何文件/文件夹,您必须在目录中创建一个 .gitignore 文件:
在这个 .gitignore 文件中,推送后将添加到您的存储库中,您应该添加您想要忽略的文件/文件夹。
例如:要忽略 pycache 文件夹,您可以在 .gitignore 文件中写入:
**/__pycache__
“*”告诉 git 该文件夹位于 git 当前正在访问的某个目录中。
“/pycache”部分告诉 git 要忽略的文件夹。