回顾回顾
# 1 前端主页功能 -导航的头部--》头部组件--》三部分 -轮播图---》轮播图组件--》elementui -卡片---》elementui的 -图片 -尾部----》尾部组件---》写死的 # 2 后台首页功能 -首页广告功能 -导航动态---》需要写导航接口--》咱们写死的 -轮播图接口---》轮播图表--》继承BaseModel,abstract=True -推荐课程接口 -路由分发(每个app有自己的一套路由),自动生成路由,获取所有接口 -queryset = Banner.objects.filter(is_delete=False,is_show=True).order_by('orders')[:settings.BANNER_COUNT] # 3 跨域问题 -浏览器同源策略 -cors跨域资源共享,解决,服务端处理,就是在响应头加如一些允许 -简单请求和非简单:简单请求一次,非简单请求两次,OPTIONS,真正的请求 -自行处理跨域:处理简单请求的,处理非简单请求,写在中间件中 -使用nginx处理跨域---》1 直接转发请求 2 在响应头中加运行 3 后端代码处理 -django-cors-headers # 4 前后端打通 -v-for循环轮播图,展示 # 5 git介绍 -软件,版本管理(v1,v2...),协同开发代码合并,冲突解决 -下载安装---》linux--》yum install git -y
内容详情
https://www.cnblogs.com/liuqingzheng/p/15328319.html
1 git介绍
1.1 git与svn比较
git 分布式管理---》每个客户端都能完成版本管理的功能 svn集中式管理---》所有代码都放在服务端,版本管理由服务端完成
1.2 git,github,gitee,gitlab分别是什么
# Git:是一种版本控制系统,是一个命令,是一种工具。 # GitHub:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放,公有仓库免费,部分私有仓库收费,全球最大的开源代码托管平台,git的远程仓库 # GitLab:是一个基于Git实现的在线代码仓库托管软件,可以通过GitLab自己搭建一个类似于GitHub一样的系统,用在企业内部网络搭建Git私服,用于企业团队内部协作开发,公司内部的github # Gitee:(码云) 是 OSCHINA 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管,面向互联网开发,分免费和付费,中国最大的开源代码托管平台,中国版的github,为中国的开源软件事业,贡献自己的一份力量
2 git工作流程
# 本地分三个区:工作区,暂存区,版本库---->工作流程指的就是三个区的来回操作 # 工作区文件变化 操作问题 # 工作区提交到暂存区 git add . # 暂存区提交到版本库 git commit -m '注释' # 版本库退回工作区没有更改的时候 git reset --hard 版本号 """ 1)有红色信息(工作区有内容),就执行 add 2)全绿信息(内容全部在暂存区),才执行 commit 3)只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本 """
3 git常用命令
# 0 配置用户信息 # 配置全局用户信息---》以后所有文件夹再提交到版本库显示的就是这个名字,所有的都显示这个名字 git config --global user.name 'lqz' git config --global user.email '3@qq.com' ## 写到了用户家路径的 .gitconfig,写入了以上信息 # 配置局部用户信息---》当前文件夹以后再提交到版本库显示的就是这个名字、 git config user.name 'liuqingzheng' git config user.email '306334678@qq.com' ## 仓库(gittest文件夹)路径下的 .git文件夹下的config文件 # 1 初始化仓库,会在当前文件夹下创建出一个.git的隐藏文件夹,git配置,版本信息在里面 git init # 2 查看状态--》红色,绿色,没有---》新增,修改,删除--》变红 git status # 3 把工作区变化提交到暂存区---》变绿色 git add . # . 表示当前路径下所有变更 # 4 把暂存区提交到版本库 ---》从绿变无色 git commit -m '注释' # 5 查看版本库的版本信息 git log # 查看版本信息,显示详细信息,变化记录的少 git reflog # 查看版本信息,显示简略信息,变化都会记录 # 6 工作区回退到某个版本 # 7c419c9934c60841cfcada07a7a9111081b58617 --->致命诱惑还没有呢 git reset --hard 7c419c9934 git reset --hard 0a5dbb0 # 7 其他,不需要太了解,基本不用 - 把工作区变化撤销 git checkout . - 把暂存区拉回到工作区(绿变红) git reset HEAD # 注意 : .git文件夹做了记录,不能删除,如果删除,版本的记录也就没了 空文件夹不会被版本管理
4 过滤文件
# 有一些文件,文件夹不希望被git版本管理, # 1 在仓库路径下(被git管理的文件夹),创建一个 .gitignore 的文件,在文件中写入忽略 # 2 文件与文件夹均可以被过滤 # 3 文件过滤语法 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 举例: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符) 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件) """ # luffycity--->vue项目---》vue create创建的(很慢)---》本质其实是从github上拉了一个空项目,改了一下名字,所以,它里面有git的版本管理(.git隐藏文件夹) # 咱们后端项目的.gitignore .idea __pycache__ *.pyc logs/*.log scripts
5 分支操作
# 分支是什么?---》git 可以创建多条分支,创建完以后,在不通分支上提交版本,不通分支的版本相互不影响 """ 1.创建分支 git branch 分支名 2.查看分支 git branch 3.切换分支 git checkout 分支名 4.创建并切换到分支 git checkout -b 分支名 5.删除分支 git branch -d 分支名 6.查看远程分支(暂时先不看) git branch -a 7.合并分支 git merge 分支名 把dev分支合并到master分支:切换到master分支,执行合并dev分支的命令 """ ## 注意:分支合并可能会出冲突 原因是:master改了东西提交了,dev改了东西提交了,他们改的是同一个代码,合并就会出冲突
git checkout -b dev touch dev.txt git add . git commit -m 'dev分支增加了dev.txt' git checkout master git merge dev ---------- git checkout dev git add . git commit -m 'dev分dev.txt增加了一行' git checkout master git merge dev ------
6 git远程仓库
# 远程仓库--》gitee,github,bitbucket,自己搭建的gitlab---》把本地版本库中的代码提交到远程仓库---》大家都提交,完成代码合并,协同开发 # 如果公司中用gitee,都是用私有仓库,不要把公司代码做成公有仓库 # 课程案例是传到gitee远程仓库,如果到了公司里使用的是gitlab,所有操作完全一致,只是远程地址不一样
**仓库的创始者,还是后期开发者**
""" 1)你作为项目仓库初始化人员: 线上要创建空仓库 => 本地初始化好仓库 => 建立remote链接(remote add) => 提交本地仓库到远程(push) 2)你作为项目后期开发人员:(大部分都是公司已经有项目了,你基于这个项目继续开发) 远程项目仓库已经创建成功 => 复制远程仓库到本地(clone) => 进入仓库就可以进行接下来的开发 """ unix:系统--》收费---》学校用免费 gnu:类unix系统,开源免费的, linux:内核 GNU项目(开源软件cp,rm)+Linux内核=完整的操作系统 GPL开源协议
6.0 把本地代码提交到远程仓库
# 第一步:在远程创建一个空仓库 # 第二步:操作步骤 全局设置 git config --global user.name "liuqingzheng" git config --global user.email "306334678@qq.com" 情况一:原来连本地仓库都没有 mkdir luffy_api cd luffy_api git init touch README.md git add README.md git commit -m "first commit" -----luffy_api项目,这堆已经做过了------ git remote add origin https://gitee.com/liuqingzheng/luffy_api.git # 添加一个远程仓库 git push origin master # 把本地仓库推到远程 情况二:原来本地有仓库 cd 目录 git remote add origin https://gitee.com/liuqingzheng/luffy_api.git git push origin master
6.1 remote源操作
# 1 查看远程仓库 git remote #2 添加远程仓库 git remote add 起一个名字 远程仓库地址 git remote add origin https://gitee.com/liuqingzheng/luffy_api.git # 3 删除远程仓库 git remote remove origin #4 把本地仓库提交到远程仓库 git push 远程仓库名字 分支名 # 第一次:要输入用户名密码,只要输入一次,以后就记录到操作系统上了 # win:凭证管理--》删除 # mac:钥匙串---》搜 git push origin master #5 从远端仓库更新代码 git pull 远程仓库名字 分支名 git pull origin master # 协同开发---》张三提交了代码到远端---》你要拉下来,把张三代码合并到你的本地 ### 注意点: 在公司里,没事就git pull 一下,拉取代码的频率高,出现冲突的概率就小 写了一个星期代码,从来没有拉过,你也改了s1.py s5.py 这一个星期张三,李四王五,分别改了s1.py s2.py s3.py 你一提交---》多人在同一条分支上开发代码出现的冲突,出冲突了,需要解决冲突 ##### 这几个会经常敲 git add . git status git commit -m git pull origin master git push origin master
6.2 ssh连接
6.3 协同开发
# 多人操作同一个仓库,多人写同一个项目 # 你们刚到公司,一般情况下,你会被添加为该仓库的观察者,你目前只能看,不能改,删 # 但是也有的公司直接给你开发者权限---》直接修改提交代码就行了 # 你们是开发者,第一次要clone代码 git clone https://gitee.com/liuqingzheng/luffy_api.git # 开发者可以修改并提交代码,没有人审核---》这个过程中可能会出冲突