将Django项目从virtualenv推送到github

时间:2014-03-17 18:19:25

标签: python django git virtualenv

我在virtualenv上工作,需要在github上共享一个小的Django项目,然后从那里克隆并安装在Apache服务器上。我之前从未使用过virtualenv和github。通常我会在manage.py文件的同一级别设置本地git存储库。但是,有一些我不想要的virtualenv目录(bin,lib,include等)以及我需要的应用程序和模板目录等。

那么,在这种情况下创建github存储库的方法是什么。有没有办法选择并过滤掉virtualenv的东西。

3 个答案:

答案 0 :(得分:3)

这是我遵循的目录结构 -

/path/to/application/
|-- project
|   |-- projectname
|   |   |-- __init__.py
|   |   |-- local_settings.py
|   |   |-- settings.py
|   |   |-- urls.py
|   |   `-- wsgi.py
|   |-- appone
|   |   |-- admin.py
|   |   |-- __init__.py
|   |   |-- models.py
|   |   |-- tests.py
|   |   `-- views.py
|   `-- manage.py
`-- venv
    |-- bin
    |-- include
    |-- lib
    `-- local

您可以在名为project的目录中轻松创建Django项目,如下所示 -

$ django-admin.py startproject projectname project

并在名为venv的目录中启动virtualenv,如下所示 -

$ virtualenv venv

然后你可以继续git init /project。这使virtualenv不在git存储库的范围内。

否则,如果您想坚持当前的结构,可以创建一个.gitignore文件并在那里提及binlibinclude等。

答案 1 :(得分:1)

使用虚拟环境时,通常的做法是在.gitignore文件中包含虚拟环境文件夹。有关如何使用此git功能的更多信息here

TL; DR:你在.gitignore文件中输入的内容将被git忽略。所述文件(.gitignore)与git存储库位于同一目录中。

此类文件的示例忽略任何已编译的源代码(.pyc),压缩文件(.zip,.rar,.tar),日志和数据库(.db,.log,.sql)和虚拟环境文件( Scripts,Lib,Include)和整个文件夹(env - 我的virtualenv文件夹的名称):

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
*.pyc

# Packages #
############
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.db
*.log
*.sql
*.sqlite

# virtualenv generated files #
##############################
Scripts
Lib
Include

# virtualenv folders #
######################
env

答案 2 :(得分:0)

阅读ignoring files上的Github文档 - 它基本上等于在您的项目中放置一个.gitignore文件,其中列出的模式与您不希望git管理的文件相匹配。 / p>