Git项目的学习——03—(rebase的使用、多人协同开发工作流:Git Flow的使用流程、提测上线(预发布)、Git补充知识:配置文件、免密登录、Git忽略文件)(重点)

1、rebase

rebase可以保持提交记录简洁,不分叉。

创建新文件
touch 文件名.文件类型
例:touch 1.py


创建新文件夹
mkdir 文件夹名称

清屏快捷键
ctrl+L

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改完成,检测效果如下:
在这里插入图片描述

2、多人协同开发工作流:Git Flow

2.1 创建项目&邀请成员
协同开发时,需要所有成员都可以对同一个项目进行操作,需要邀请成员并赋予权限,否则无法开发。 github支持两种创建项目的方式(供多人协同开发)。

  • 1.合作者,将用户添加到仓库合作者中之后,该用户就可以向当前仓库提交代码。
  • 2.组织,将成员邀请进入组织,组织下可以创建多个仓库,组织成员可以向组织下仓库提交代码。

2.2 成员开发
注册Github或Gitlab账号

  • 邀请成员进入组织(默认对组织中的项目具有读权限)
  • 邀请成员成为某项目的合作者

在这里插入图片描述
创建组织成功如下显示:
在这里插入图片描述

在这里插入图片描述
完成上面之后刷新github界面:
在这里插入图片描述

创建标签
git tag -a 版本代称 -m "xxx描述信息"
例如:git tag -a v1 -m "xxx"

将标签推送上去
git push 用户名 --tags
例如:git push origin --tags

创建并切换至当前分支
git checkout -b 分支名称
例如:git checkout -b dev

在这里插入图片描述
现在项目的准备工作已经完成,后面就可以邀请开发成员进入:

在这里插入图片描述
在这里插入图片描述
Git Flow主从开发人员的操作流程如下:(添加从开发人员可以多人)
在这里插入图片描述
2.3 code review

  • 配置,代码review之后才能合并到dev分支
  • 成员提交code review申请
  • 组长做 code review

code review设置:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、总结Git Flow的使用流程

  1. 创建github的组织
    在这里插入图片描述
    后面的操作步骤先跳过,不设置;
    在这里插入图片描述
  2. 创建新项目的文件夹,区分不同开发者的文件夹,把基础开发代码文件上传至github,方便其他开发人员下载并更新新功能;
$ git init       # 初始化

$ touch app.py     # 创建基础的代码文件

$ git add .        # 提交至git管理

$ git commit -m "基础的app版本开发"      # 添加描述信息

$ git remote add origin https://github.com/github-test-project-0/test_project.git    # 推送至github账户

$ git push -u origin master                     

$ git tag -a 基础版本 -m "第一版app"            # 创建tag

$ git push origin --tags                       # 上传tag

在这里插入图片描述
做完上面的步骤之后,刷新github界面就能看到上传的app.py文件和tag标签。
在这里插入图片描述
3. 创建master_projecter_dev分支,切换至当前分支,并推送至github,这是用于以后测试合并代码版本的分支线;

git checkout -b master_projecter_dev   # 创建在主开发人员下的新分支,用于以后测试合并的代码版本的分支线

git push origin master_projecter_dev

在这里插入图片描述
然后添加从开发人员的权限,在github界面上的setting中设置从开发人员账号和权限信息(邀请成员和设置权限都在下图的第4步完成),当邀请完成从开发人员的时候,他们github绑定的邮箱会收到一封验证邮件,需要点击确认加入该组织进行开发即可。
在这里插入图片描述
4.创建从开发人员的文件夹,并下载github上传的基础代码文件,创建从开发人员的分支slaver_projecter_dev,完成部分代码之后,上传至github上。

git clone https://github.com/github-test-project-0/test_project.git     # 从github上面下载之前的app基础文件

ls                           # 当前路径下的文件

cd test_project/             # 转到改路径下

git checkout -b slaver_projecter_dev             # 创建并转换至当前分支slaver_projecter_dev

git branch                                      # 切换分支

touch new_app.py                               # 创建新的代码文件,并开始编写从开发人员负责的功能模块

git add .                                      # 提交至git

git commit -m "app新功能开发了50%"              # 添加描述信息

git push origin slaver_projecter_dev            # 上传当前分支的信息到github上

在这里插入图片描述
从开发人员继续完成该部分功能的代码文件直到完成上传;
在这里插入图片描述
5.项目组长需要先设置code review的规则:次数,合并分支名称等
在这里插入图片描述
在这里插入图片描述

6.合并分支文件,先点击下图中的New pull request
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回到项目主界面,就能在master_projecter_dev看到合并后的文件:
在这里插入图片描述
7.不同的公司可能会有额外的项目操作方式就是:需要测试人员,对开发的app代码进行测试,此时需要新建一个测试文件夹,下载完整的代码文件进行测试,收集bug,上传bug:

git clone https://github.com/github-test-project-0/test_project.git   # 从github上面下载基础代码文件
ls

cd test_project/             # 转到下载的代码文件夹下
ls

git checkout master_projecter_dev   # 切换到上一步code review合并后的代码文件分支上
ls
cat new_app.py    # 测试完整最新的代码文件,收集bug,并上报

在这里插入图片描述
8.在主开发人员的文件夹下,代码文件还没有更新成最新的,需要先下载github上合并后的文件:

ls

git pull origin master_projecter_dev            # 将code review后合并的代码文件下载到本地文件夹下
ls

cat new_app.py

git checkout master                           

git merge master_projecter_dev                 # 切换回master分支后合并代码文件
ls

git push origin master                  # 更新到github上

在这里插入图片描述
当master分支上的代码文件更新到github上之后,就可以发布开发的代码和APP了。

4、提测上线(预发布)

由专门团队或团队leader执行以下步骤
1.基于master_projecter_dev分支创建release分支

git checkout master_projecter_dev

git checkout -b release

2.测试等

3.合并到master

使用 pull request

本地将release合并到master分支

4.在master分支打tag

git tag -a v2 -m '第二版 xxx功能'

git push origin --tags 

5.运维人员就可以去下载代码做上线了

git clone -b v2 地址

给开源项目贡献代码

  • 1.fork源代码将别人源代码拷贝到我自己的远程仓库。
  • 2.在自己仓库进行修改代码
  • 3.给源代码的作者提交修复bug的申请(pull request)

找到别人的项目,进入之后,点击Fork:然后就会下载到自己的github上:
在这里插入图片描述
从自己的github账号上开始下载到本地:

git clone xxxx自己github项目地址xxxx

然后在本地文件夹下修改该项目的文件,修改,更新等操作;再提交至github上,操作和之前介绍的code review是一样的。

5、Git补充知识

配置文件存放三个位置

  • 项目配置文件:项目/.git/config
git config --local user.name 'xxx'
git config --local user.email 'xxxx@xx.com

在这里插入图片描述

  • 全局配置文件:~/.gitconfig
git config --global user.name 'xxx'
git config --global user.name 'xxx@xx.com

在这里插入图片描述

  • 系统配置文件:/etc/.gitconfig
git config --system user.name 'juran'
git config --system user.name '[email protected]'
注意:需要有root权限

免密码登录

URL中体现

原来的地址:https://github.com/WuPeiqi/dbhot.git
修改的地址:https://用户名:密码@github.com/WuPeiqi/dbhot.git
git remote add origin https://用户名:密码@github.com/WuPeiqi/dbhot.git 
git push origin master

SSH实现(重点)

1.生成公钥和私钥(默认放在~/.ssh目录下,id_rsa.pub公钥、id_rsa私钥) ssh-keygen

2.拷贝公钥的内容,并设置到github中。 

3.在git本地中配置ssh地址
git remote add origin git@github.com:WuPeiqi/dbhot.git

4.以后使用
git push origin master

在这里插入图片描述
下面界面显示成功设置:
在这里插入图片描述

git忽略文件

让Git不再管理当前目录下的某些文件。

*.h    
!a.h  
files/  
*.py[c|a|d]

参考:https://github.com/github/gitignore

效果如下所示:
在这里插入图片描述
添加了.py文件、.h文件和.py[a|b|c]文件;忽略这些类型的文件的状态
在这里插入图片描述
在这里插入图片描述
github任务管理相关

  • issues,文档以及任务管理。
  • wiki,项目文档。
发布了60 篇原创文章 · 获赞 9 · 访问量 5036

猜你喜欢

转载自blog.csdn.net/weixin_42118531/article/details/104891971