.gitignore文件_Django项目.gitignore文件建议忽略文件清单及是否需要忽略数据库迁移文件...
Django项目开发或改动完成后将本地代码提交到代码库(比如github)时,我们需要考虑哪些文件需要提交,哪些不需要提交。这是因为有些库文件(比如缓存文件),本地日志文件还有一些编译文件是不必要提交的。这时我们可以使用.gitingnore文件忽略不需要提交的文件。本文介绍如何创建.gitignore文件,哪些Django项目文件建议忽略提交,并重点介绍我们是否需要忽略数据库迁移文件。
创建.gitignore文件
1. 首先安装git,网上教程很多,我就不多说了。
2. 在需要创建.gitignore文件的文件夹(通常为Django项目文件夹,而不是app文件夹), 右键选择Git Bash 进入命令行,进入项目所在目录。
3. 输入 touch.gitignore,生成.gitignore文件。
4. 用notepad或者vim命令在.gitignore 文件里输入你要忽略的文件夹及其文件就可以了。
Django项目建议忽略的文件清单
一般缓存文件__pycache__和本地日志文件.log不需要提交。media文件夹和db.sqlite3文件可能包括了本地测试数据和文件,也不要提交。PyCharm生成的文件, Env文件第三方package也不要提交。下列文件和文件夹建议忽略。
# Django #
*.log
*.pot
*.pyc
__pycache__
db.sqlite3
media
# Backup files #
*.bak
# If you are using PyCharm #
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/gradle.xml
.idea/**/libraries
*.iws /out/
# Python #
*.py[cod]
*$py.class
# Distribution / packaging
.Python build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
.pytest_cache/
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# pyenv
.python-version
# celery
celerybeat-schedule.*
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# mkdocs documentation
/site
# mypy
.mypy_cache/
# Sublime Text #
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
*.sublime-project
# sftp configuration file
sftp-config.json
# Package control specific files Package
Control.last-run
Control.ca-list
Control.ca-bundle
Control.system-ca-bundle
GitHub.sublime-settings
Django数据库迁移文件是否需要上传
数据库迁移文件位于每个app文件夹的migrations文件夹里,这些文件记录了模型的创建与改动。每次当你创建模型或对模型字段进行修改,然后运行python manage.py makemigrations命令时都会有新的迁移文件产生。Django官方文档特别说明这些迁移文件属于Django项目代码中很重要的一部分,不应删除或忽略,所以建议上传。然而实际项目开发中,不同人可能对同一个模型做出了不同或甚至相反的改动,如果都向同一代码库提交,容易造成迁移文件冲突。综合前人们在stackoverflow上的讨论,小编总结了Django数据库迁移文件是否需要上传的答案。
开发环境
如果项目尚处于开发阶段,你可以选择提交,也可以选择不提交。每次在你创建模型或对模型进行改动后,可以直接使用python manage.py makemigrations根据models.py重新生成迁移文件,而不需要保留之前迁移文件版本。如果你从github上clone的项目里没有迁移文件,你可以使用同样命令生产迁移文件,然后使用python manage.py migrate对数据库中的表做出修改。
生产环境
如果项目已经处于生产环境,那么这时本地因对模型做出修改而产生的迁移文件也是需要提交的。不过千万要记住,在生产环境的机器上,不要使用python manage.py makemigrations再生成一遍迁移文件,而应直接使用python manage.py migrate根据已经提交的迁移文件对数据库中的表做出修改。
总而言之: 在大多数情况下,Django的迁移文件都是需要提交的,不建议忽略。即使发生冲突,也可以使用python manage.py makemigrations --merge 合并冲突。
参考资料
Gitignore for a Django project
Should I be adding the Django migration files in the .gitignore file?
Best practices for adding .gitignore file for Python projects?
大江狗
2019.12.25
.gitignore文件_Django项目.gitignore文件建议忽略文件清单及是否需要忽略数据库迁移文件...相关推荐
- 关于laravel 框架运行数据库迁移文件的一个小坑以及常用php artisan命令
小白我因为最近开发的一系列项目都是用的laravel框架,所以为了方便有时候就会直接复制一份代码以此作为新项目的基础.可能因为"因为夜路走多了,所以掉坑里了">>> ...
- Ruby on Rails,创建和执行migrations迁移文件
在<Ruby on Rails,rake工具使用和数据库migrations迁移的概念>中,我们知道Rails中进行数据库迁移操作的基本概念和重要性.现在着手进行一个简单的数据库迁移实践吧 ...
- SQL Server数据库mdf文件中了勒索病毒 mercury。扩展名变为 mercury
2019-01-24 15:57:27 SQL,数据库,勒索病毒,mdf文件中毒,mercury *SQL Server数据库mdf文件中了勒索病毒.mdf.mercury.mercury SQL S ...
- python数据库迁移教程_django中的数据库迁移的实现
Django是用python写的web开发框架,其特点是: 1.重量级框架,内部封装了很多的功能组件,使开发变的简便快速, 2.MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能 ...
- idea java gitignore,关于idea的gitignore文件编写及解决ignore文件不生效问题
1.下载idea的 <.ignore> 插件,重启idea生效 2.添加自己想要忽略的文件夹及文件,一般选这个就够了 3.如果想要忽略提交的文件夹名称变成黄色了,就代表成功忽略该文件夹了! ...
- 【Unreal4】gitignore目录减小项目大小
在Unreal项目文件中,Binaries目录存放编译结果的二进制文件.每次编译都会生成,故可以gitignore掉来减小项目内容 文章目录 gitignore方法 检验是否ignore 检验方法一 ...
- ASP.NET和.NET Core项目.gitignore模板
我们往代码仓库中提交代码时,如果将所有文件都提交上去,会提交很多临时目录和文件(如:bin目录中生成的dll文件,log日志,obj目录中的临时编译文件),这些文件会严重干扰我们的代码管理,因此需要将 ...
- linux svn忽略添加,Ubuntu svn 中添加忽略文件的方法
下面为大家简单明了的讲解下Ubuntu svn 中添加忽略文件的方法,使用过 Git 忽略文件的人可能初次接触 svn 的忽略文件的方式不是很习惯,在 git 中,只要添加 .gitignore 文件 ...
- [yocto]基于poky项目创建自己的层并且在层中增加自己的配方文件
基于poky项目创建自己的层并且在层中增加自己的配方文件 1.本地获取poky git clone git://git.yoctoproject.org/poky 建议使用kirkstone分支 gi ...
最新文章
- apache实现URL地址隐藏跳转
- 【转】SAP中的FTP操作样例
- 关于Panel隐藏横向滚动条
- MATLAB把多行多列矩阵数据和文字写入txt文件
- 2018广技师C语言专插本试题,2018年成功插本广技师 ,分享备考经验!附:复习时间表...
- 用SublimeText当Unity Shader的编辑器
- 福利 | 干大事,成大事,2018 幸福如是!
- 小米手机困境,米粉伤心,黄牛伤钱
- Python全栈学习_day010作业
- [AutoSar]开发工具 Vector系列和EB系列
- 洛谷P3768 简单的数学题
- LINUX SHELL中数组的使用
- Android之音频和视频的提取
- 交互设计理论之格式塔理论与四大法则
- 哪里看最新行业研报?
- centos7 安装最新rabbitmq,并设置开机自启
- C语言文本文档汉字乱码处理问题
- 在图片上加滚动文字html,如何让文字在图片上滚动
- 编程这工作究竟是在干什么?
- 施耐德电气:“三步走”实现配电数字化,制胜可持续未来
热门文章
- nodejs request module里的json参数的一个坑
- 实拍Jerry Wang去德国出差期间居住的美丽的德国小镇
- SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系
- ABAP,Java, nodejs和go语言的web server编程
- 位地址和字节地址换算_面试常考,项目易错,长文详解C/C++中的字节对齐
- 计算机如何去除桌面名称阴影,电脑桌面图标有阴影怎么去掉 电脑桌面图标阴影去掉方法【图文】...
- 云南计算机专升本数据结构_怎么查找云南省2019年专升本计算机专业试题
- 磁盘io php,PHP CURL如何处理上传内存中文件,避免磁盘IO开销
- 地址栏地址 获取_直播源获取工具,支持斗鱼、虎牙、B站、企鹅电竞、YY、抖音、西瓜直播!...
- java自带的xml解析,使用Java自带SAX工具解析XML