Git + github是程序员合作的方式。 没有git, github程序员们就无法一起工作,开发项目
基本流程:
吴润飞本地init创建一个repo(写好的工程目录,master-稳定运行版本,dev-开发中版本,两个分支),上传到他的github, 我们fork他的repo, 然后把他的repo clone到本地。 然后在本地git连接吴润飞(origin),自己(devbranch)两个远程repo。 每次开始写代码前, git pull origin 从吴润飞的repo中拉取更新代码, 处理无法自动合并的冲突(去掉所有《》》符号,与开发者协商),开发自己的功能。写好后,add-commit-push devbranch dev:dev 推送到自己的远程repo, 然后对吴润飞的repo发起request合并分支请求,等待吴润飞代码审核后(若为collaborator,则可以查看file changes),合并成功。
常用命令:
git checkout dev 切换到dev分支
git branch -a 查看所有分支
git remote -v 查看远端库(pull, push对象)
git clone origin babaababb.git(远程仓库地址)
git rm -r –cached . 清除本地对所有文件的追踪
git add . 上传三部曲
git commit -m “finish login”
git push devbranch dev:dev
特殊文件
1.gitignore: 不想上传的本地文件(太大,没必要)。手动创建,记事本手动写这个文件
gitignore不起作用?
why:在gitignore创建前, 文件已经被git add了,即已经被追踪了。 或 gitignore写错了
how: git rm -r –cached . 清除本地对所有文件的追踪, 再上传
看github大佬的项目是怎么写gitignore的,cv过来
2.requestments.txt: 用于一键配置,生成依赖环境(程序所用到的第三方包)
pip 使用: pip install -h : 查看参数用法 -h(help)
pip freeze: 自动生成requirements.txt
pip install -Ur requirements.txt : 一键配置环境
-U: 更新至最新版本(update)
-r: 指定从哪个文件中下载
3.readme.md: 用markdown写的官方文档,介绍了如何配置环境,如何使用
Github使用: 找相同项目,看别人怎么写的,别人用的什么工具。 (见:记一次配置环境)
没事多逛trending榜。
1.所有开源的框架,第三方库,其实都在github上。 想了解Django,就直接搜Django第一个就是,想了解使用Django-allauth, 就直接搜。
2.项目不知道怎么写时,就直接搜:DjangoBlog 就有他人开发好的,自己clone配置环境就可以直接参考大佬源码是怎么写的
3.没事多逛github推荐榜单,trending榜,了解同行都在干什么现在
4.使用技巧:先看Readme,解决what, why, how。再看requestments.tex,看大佬用了什么库,学习一下。 配置环境,开发中遇到问题了查看一下issue, 大项目的所有问题自己肯定不是第一个遇到的
虚拟环境:
clone别人的项目后,要创建并激活虚拟环境, 在虚拟环境中pip install -Ur requirements.txt,安装工程所需第三方包。
1.python -m venv venv(虚拟环境名) # 在工程主目录下创建虚拟环境
2.cd venv/Scripts > activate # 切换到虚拟环境下的Script文件夹,运行activate脚本激活虚拟环境 ( cmd中tap键自动补全,上下键重复之前命令)
3.(venv)cd … python manage.py migrate, makemigrations, rebuild_index, runserver 0.0.0.0:8000 在虚拟环境下执行python操作