Skip to content

Latest commit

 

History

History
175 lines (107 loc) · 5.51 KB

开发指南.md

File metadata and controls

175 lines (107 loc) · 5.51 KB

本项目使用git进行分布式版本控制,关于git相关的详细使用说明可参考以下文档:

https://www.liaoxuefeng.com/wiki/896043488029600

开发环境简介

分支结构

image-20210419200117162

main(本地和远程均可见):仅用于稳定版本的发布,不应在此分支上进行开发,仅由组长进行dev分支到main分支的合并

dev(本地和远程均可见):测试版本(非稳定)的发布,每个人都在dev上干活

member(仅本地可见):本地的个人分支,仅每个开发成员自己使用,需要提交更新时将个人分支合并到本地dev上,再将本地dev推送至远程dev

本地仓库结构

img

工作区(Working Directory)

即创建git仓库的目录,如learngit

版本库(Repository)

工作区中的隐藏目录.git即为版本库,该目录不属于工作区

开发环境搭建

0、查看本地git是否设置name和email

git config user.name
git config user.email
#没有则进行设置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

1、创建本地Pycharm项目(参照《PyCharm+Scrapy环境搭建》),这里仅需环境内存在scrapy和pymysql的package,无需创建scrapy项目

2、在项目根目录(存在.idea的目录)内打开git bash,拉取github项目文件

git clone https://github.com/yang71/first_group.git

拉取项目后目录结构如下:

image-20210419162039938

3、进入first_group目录打开git bash,默认为main分支,查看分支列表,仅存在main分支

cd first_group
git branch	#查看分支列表

image-20210419192230406

4、我们需要在dev分支上进行开发,创建与远程dev分支对应的本地dev分支

git switch -c dev origin/dev	#创建与远程dev分支对应的本地dev分支并切换至dev分支
#===============================上述命令等价于==============================#
git switch -c dev	#创建本地dev分支并切换
git branch --set-upstream dev origin/dev	#建立本地dev分支与远程dev分支关联

git branch	#查看当前分支列表,发现存在main和dev分支

image-20210419192953324

5、查看分支关联情况,如果未显示关联,使用之前提到的关联命令进行关联

git branch -vv	#查看分支列表并显示关联远程仓库以及是否为no-ff模式(非快速合并)

image-20210419194318133

6、创建仅本地使用的个人开发分支

git branch zqy	#这里分支名可以自己起
git branch -vv	#查看分支

image-20210419195344216

7、切换至个人分支进行本地开发工作

git switch zqy	#切换分支

本地开发环境搭建完成!

开发流程

概述

成员在member个人分支上进行开发——>将member分支合并至本地dev分支——>将本地dev分支推送至远程dev分支——>版本稳定后由组长拉取远程dev分支,将本地dev分支合并至本地main分支,再将本地main分支推送至远程main分支

具体流程

进入之前搭建好的git本地仓库工作目录

切换为个人分支:

1、在myspider项目中创建爬虫文件进行开发和测试

2、开发完成,接下来提交更新

git add -A 				#将ALL改动从工作区添加到本地缓存区
git commit -m "xxx"			#将本地缓存区改动添加至本地仓库 -m后为更新日志(可写上是谁更新的,更新了什么,如:zqy add Collection 11-20

切换为dev分支:

1、将个人分支合并至dev分支

#普通分支合并
git merge yourname	#合并分支,将个人分支合并到当前分支

推荐使用以下方式进行合并,可保留合并日志:

#强制禁用Fast-forward,合并后的历史有分支,能看出来曾经做过合并
git merge --no-ff -m "merge with no-ff" yourname		#禁用Fast foward的普通合并,会创建一个新的commit

2、接下来将dev推送至远程github仓库,分为两种情况

第一种情况:

​ 之前有小伙伴进行过dev分支的推送,你的dev版本库落后于远程版本库

​ (1)先拉取远程仓库进行更新

git pull	#如果别人和你编写了同一个博物馆的爬虫可能会产生冲突,可根据提示手动处理冲突

​ (2)将本地dev同步至远程dev

git push	#本地dev与远程dev建立联系后可直接进行推送

git push -u origin dev	#未建立联系使用该命令推送的同时建立联系

第二种情况:

​ 之前没有小伙伴进行过dev分支的推送,你的dev版本与远程版本库相同

​ (1)直接进行推送

开发流程结束!

查看分支树(很常用)

推送之前可先查看本地和远程分支树的情况

git log --graph --pretty=oneline --abbrev-commit

image-20210419235736347

如图,当前分支指针HEAD指向main,dev分支在7e8b024版本,远程仓库的main和dev分支均在ID为5e96250的版本