开放原子开发者工作坊 13. Github管理项目

13. Github管理项目

  阅读: 32186  评论:12  项目介绍到这里,基本就结束了,可对于真正的业务开发,还只是刚开始。  不管是对于教程代码免费分享的需要,还是项目开发过程中的版本管理,Github都是我们首选的开源代码仓库,如果你没有私有仓库,并且不用保护代码,那么将项目上传到Github上是最佳的选择。...

yetaoseo  ·  2021-08-09 18:10:02 发布

  阅读: 32186

  评论:12

  项目介绍到这里,基本就结束了,可对于真正的业务开发,还只是刚开始。

  不管是对于教程代码免费分享的需要,还是项目开发过程中的版本管理,Github都是我们首选的开源代码仓库,如果你没有私有仓库,并且不用保护代码,那么将项目上传到Github上是最佳的选择。

  关于如何使用Git软件请自行学习,或许以后有空我也会写点教程。如何在Pycharm中配合Github,则在站点的博客中有一篇《在Pycharm中使用GitHub》,可供大家参考。

  文件是一个项目的依赖文件,可以通过下面的方式自动生成:

  进入虚拟环境,切换到项目根目录下,使用pip工具的freeze参数。

  (venv) D:\work\2019\for_test\mysite>pip freeze > https://www.liujiangblog.com/course/django/requirements.txt

  打开文件,其内容如下:

  Django==2.2

  django-ranged-response==0.2.0

  django-simple-captcha==0.5.11

  Pillow==6.0.0

  pytz==2018.9

  six==1.12.0

  sqlparse==0.3.0

  他人如果拷贝了我们的代码,要安装第三方库依赖的话,只需要:

  pip install -r requirements.txt

  就可以一次性安装好所有的库了。

  在项目代码中,有一些文件是不能上传的,比如密码文件、数据库文件、核心配置文件等等,还有一些是不用上传的,比如临时文件。为了让git自动忽略这些文件,我们需要创建一个忽略名单。

  在项目根目录下新建一个文件,这里可能需要你在Pycharm下安装ignore插件,如下图所示:

  13. Github管理项目_13. Github管理项目

  我这里是已经安装好了,新安装的话,要在搜索栏里搜索到插件后再安装。

  在文件里写入下面的内容:

  .gitignore

  venv

  .idea

  settings.py

  db.sqlite3

  mysite/__pycache__/

  这些文件将不会上传到Github中,也不会进行版本管理。

  对于settings.py文件有个问题,如果没有这个文件是无法运行Django项目的,但是settings中又可能包含很多关键的不可泄露的部分,比如SECRET_KEY:

  # SECURITY WARNING: keep the secret key used in production secret!

  SECRET_KEY='b(&6i_$g2%8vh)ruu$)a9pkw+s-e&qj_e_#=@gnbo^48#gp_8a'

  还有数据库的IP/Port、用户名和密码,邮件发送端的用户名和密码,这些都是绝对不能泄露的。

  那怎么办呢?简单!复制settings文件,并重命名为settings.example.py文件,放在同一目录里,把敏感信息、密码等修改或删除。使用者看到这个文件名,自然会明白它的作用。

  通常我们要给Github的仓库添加说明文件和许可文件。

  在项目根目录下创建一个文件,这是markdown格式的。在文件里写入项目说明,使用方法,注意事项等等所有你认为需要说明的东西。

  ## 这是一个用户登录和注册教学项目

  ## 这是一个可重用的登录和注册APP

  ## 该项目教程发布在www.liujiangblog.com

  ## 简单的使用方法:

  创建虚拟环境

  使用pip安装第三方依赖

  修改settings.example.py文件为settings.py

  运行migrate命令,创建数据库和数据表

  运行python manage.py runserver启动服务器

  路由设置:

  from django.contrib import admin

  from django.urls import path, include

  from login import views

  urlpatterns = [

  path('admin/', admin.site.urls),

  path('index/', views.index),

  path('login/', views.login),

  path('register/', views.register),

  path('logout/', views.logout),

  path('confirm/', views.user_confirm),

  path('captcha/', include('captcha.urls')) # 增加这一行

  ]

  对于许可文件,如果你暂时不想公开授权,或者不知道用哪种授权,可以暂时不提供。

  下面是一个APACHE2.0授权的范例:

  mysite - User login and register system

  Copyright 2019- www.liujiangblog.com

  Licensed under the Apache License, Version 2.0 (the "License");

  you may not use this file except in compliance with the License.

  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software

  distributed under the License is distributed on an "AS IS" BASIS,

  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  See the License for the specific language governing permissions and

  limitations under the License.

  这里我们将项目上传到github中,并取名为login-register。

  在上传过程中,确认文件列表的时候,一定要注意查看没有保密文件被上传。

  13. Github管理项目_13. Github管理项目_02

  等待一会,项目文件上传完毕后,进入Github的仓库页面,如下所示:

  13. Github管理项目_13. Github管理项目_03

  点击进入详细页面:

  13. Github管理项目_13. Github管理项目_04

  现在,所有人都可以通过下面的方式,下载和使用本项目的源代码了:

  git clone https://github.com/feixuelove1009/login-register

  如果你不是从教程的开始一步步地实现整个项目,而是直接使用从Github上copy下来的整个源码,那么你可能需要做一些额外的工作,比如:

  创建虚拟环境

  使用pip安装第三方依赖

  修改settings.example.py文件为settings.py

  运行migrate命令,创建数据库和数据表

  运行python manage.py runserver启动服务器

  而在Pycharm中运行服务器的话,可能还需要做一些额外的工作,比如:

  配置解释器

  配置启动参数

  因为你本地Pycharm的配置情况,可能会发生不同的问题,需要根据实际情况实际处理,下面给两张配置图,供大家参考:

  13. Github管理项目_13. Github管理项目_05

  13. Github管理项目_13. Github管理项目_06

  以上内容,都经过实际测试,如果你依然不能顺利启动服务器,请详细检查Pycharm的配置。

  12. 邮件注册确认

  14. 重用app

  评论总数: 12

  点击登录后方可评论

  13. Github管理项目_13. Github管理项目_07

  想问一下怎么上传项目到GitHub上呢?我好想没找到这个按钮呀,是Create Gist吗?

  By

  用户4902705245

  On

  2020年7月16日 20:33

  回复

  13. Github管理项目_13. Github管理项目_08

  share project on github

  博主

  回复

  用户4902705245

  2020年7月24日 10:11

  回复

  13. Github管理项目_13. Github管理项目_09

  最近部署到服务器上了 https://github.com/AlexMaxes/mysite 大家一起学习交流

  By

  八合一大腹肌

  On

  2020年1月8日 11:25

  回复

  13. Github管理项目_13. Github管理项目_10

  pycharm可以安装.ignore但是无法创建.gitignore文件,要怎么解决。

  By

  墨阳阴晴

  On

  2019年7月20日 12:28

  回复

  13. Github管理项目_13. Github管理项目_11

  .gitignore文件是手动添加的,输入一模一样的文件名即可。.ignore插件的作用是让Pycharm识别.gitignore文件,知道这是一个git的配置文件。

  博主

  回复

  墨阳阴晴

  2019年7月25日 09:32

  回复

  13. Github管理项目_13. Github管理项目_12

  终于写完了,也上传到GitHub了https://github.com/welitis/mysite.git, 大家可以一起交流啊!

  By

  王希知

  On

  2019年3月18日 20:03

  回复

  13. Github管理项目_13. Github管理项目_13

  我出现了A server error occurred. Please contact the administrator. 求大神指点一下

  Lee跳跳如也

  回复

  王希知

  2019年12月10日 14:13

  回复

  13. Github管理项目_13. Github管理项目_14

  用了两天时间把教程从头到尾顺了一遍,代码基本上都敲了一遍,感受最深的是本教程详细之程度,因为教程发布不久,所以在过程中并没有遇到什么大的阻碍,对于一个新手来说是练手的好教材,内容丰富,接下来就是将整个过程消化吸收。

  ps:博客有个小bug,页面上'回到顶部'的按钮没用啊

  By

  svcasvawe

  On

  2017年11月18日 15:49

  回复

  13. Github管理项目_13. Github管理项目_15

  我这里点击是能回到顶部的,很简单的一个js动作。

  你看看你的浏览器是不是禁止掉js了。

  博主

  回复

  svcasvawe

  2017年11月18日 20:30

  回复

  13. Github管理项目_13. Github管理项目_14

  没有禁js

  svcasvawe

  回复

  博主

  2017年11月18日 21:05

  回复

  13. Github管理项目_13. Github管理项目_17

  我敲了一个星期

  墨古_10734

  回复

  svcasvawe

  2019年7月18日 16:44

  回复

  13. Github管理项目_13. Github管理项目_14

  pycharm上搜不到.ignore,在https://github.com/hsz/idea-gitignore/tree/v2.3.2下载离线的插件

  By

  svcasvawe

  On

  2017年11月18日 15:30

  回复

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐

  • 浏览量 141
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献20条内容