图解Git工作流程(Git总结,不适合初学者)

以下所有图片均来源于网络,图片出处在下方给出,如有侵权,请联系删除。

在这里插入图片描述

图片来源:https://www.cxiansheng.cn/daily/490

第一张图没什么意思,就是觉得好看

1. Git常用命令流程图

在这里插入图片描述

图片来源:https://wsgzao.github.io/post/git/

在这里插入图片描述

图片来源:https://zhuanlan.zhihu.com/p/20175919

在这里插入图片描述

图片来源:https://www.w3cschool.cn/minicourse/play/gitcourse?cp=675&gid=0

2. Git多人协作流程

在这里插入图片描述

图片来源:https://zhuanlan.zhihu.com/p/142854998

上图解释的是非仓库管理员如何参与项目开发与协作,因为没有权限,无法进行push操作,首先需要将项目clone克隆到本地,这样可以获取代码并在本地进行修改,修改完成之后,需要进行pull request操作请求仓库管理者进行代码合并,如何管理者同意,则你的代码则会进入到远程仓库中。

什么是fork

  • 在Git中,"fork"是指创建一个基于原始仓库的副本,使你能够在自己的仓库中独立地进行修改和开发,而不会影响原始仓库。通过fork,你可以复制一个项目的完整副本到自己的GitHub账户中,并在该副本上进行自己的修改和工作。

  • 当你fork一个仓库时,GitHub会为你创建一个新的仓库,该仓库包含原始仓库的所有代码和历史记录。你可以在自己的仓库中进行任何修改、添加新功能、修复错误等操作,而不会影响原始仓库。你可以自由地在自己的仓库中进行开发,并将修改后的代码提交到你的仓库中。

  • 通过fork,你可以轻松地参与开源项目的贡献。你可以fork一个项目,进行修改和改进,然后向原始仓库提交一个"Pull Request"(拉取请求),请求将你的修改合并到原始仓库中。项目的维护者可以审查你的修改,并决定是否接受你的贡献。

  • 总结来说,"fork"是指在Git中创建一个原始仓库的副本,使你能够在自己的仓库中独立地进行修改和开发。这是一种常见的协作方式,特别适用于开源项目的贡献和团队合作。

以上回答来源于chatGPT

什么是Pull Request

Pull Request(简称PR)是一种协作机制,常用于开源项目或团队协作中。它允许开发人员将自己的代码更改提交给项目的维护者,请求将这些更改合并到主代码库中。

具体流程如下:

  1. 开发人员在自己的本地仓库中创建一个新的分支,并在该分支上进行修改和开发。

  2. 完成修改后,开发人员将这个分支推送到远程仓库。

  3. 开发人员在代码托管平台(如GitHub、GitLab等)上创建一个Pull Request,选择自己的分支和目标分支(通常是主分支)。

  4. 维护者或其他团队成员会对Pull Request进行审查,查看代码的更改、讨论和提出建议。

  5. 如果维护者或团队成员认为这些更改是有价值且符合项目要求的,他们可以选择接受Pull Request,并将开发人员的更改合并到主分支中。

通过Pull Request机制,开发人员可以与项目维护者进行代码审查、讨论和反馈,确保代码质量和项目一致性。这也为开源项目的贡献者提供了一种便捷的方式来参与项目并贡献代码。

以上回答来源于chatGPT

3. Git分支管理

在这里插入图片描述

图片来源:https://xiaozhuanlan.com/topic/6342591078

Git的分支绝对是学习过程的一个痛难点,为什么要这么多分支呢?

分支允许开发人员在同一个代码库中并行开发多个独立的代码路径,每个分支都可以包含不同的提交历史和代码更改,这使得团队能够同时进行多个任务,而不会相互干扰。

一般来说,比较理想的分支结构如上下两幅图像所示,其中上图说明了分支之间的作用和意义,下图则是开发过程的分支示意图,一般来说,分支主要包括:

  1. master:主分支,用于部署到正式环境,一般由 release 或 hotfix 分支合并,任何情况下不允许直接在 master 分支上修改代码,主要用于版本发布,tag就是打在这个上面的;
  2. hotfix:紧急修复分支,命名规则为 hotfix- 开头,当线上出现紧急问题需要马上修复时,需要基于 release 或 master 分支创建 hotfix 分支,修复完成后,再合并到 release 或 develop 分支,一旦修复上线,便将其删除;
  3. develop:开发测试分支,该分支保存了正常开发的最新代码,始终保持最新完成以及 bug 修复后的代码,可根据需求大小程度确定是由 feature 分支合并,还是直接在上面开发,一定是满足测试的代码才能往上面合并或提交
  4. feature:具体的功能开发分支,只与 develop 分支交互;
  5. release:可认为是 master 分支的未测试版。比如说某一期的功能全部开发完成,那么就将 develop 分支合并到 release 分支,测试没有问题并且到了发布日期就合并到 master 分支,进行发布。

该部分内容参考:

上面master提到了Git中的一个概念tag,什么是tag呢?

在软件开发中,“tag”(标签)是用于标识特定版本或里程碑的标记。它是一个有意义的名称或标识符,可以应用于代码库中的特定提交或快照。标签通常用于标记发布版本,以便开发者和用户可以轻松地识别和访问特定的软件版本。

标签可以用于存储版本号、修订号、日期、特定功能或修复的信息等。它们提供了一个有意义的方式来引用软件的特定状态,而不需要记住复杂的提交哈希值。通过使用标签,开发者可以轻松地切换和回滚到特定版本,而不必依赖于提交的哈希值。

在Git中,可以使用git tag命令创建标签,并使用git push命令将标签推送到远程仓库,以便与其他开发者共享。标签可以是轻量级标签(仅包含名称和指向特定提交的指针)或带注释的标签(包含附加的注释信息)。

总而言之,标签是用于标识软件开发中特定版本或里程碑的标记,方便开发者和用户识别和访问特定的软件版本。

以上回答来源于chatGPT

在这里插入图片描述

图片来源:https://uxfeel.com/2019/01/21/20190121-git-flow/

4. 命令的作用域(也就是各个命令用于哪两个空间之间)

在这里插入图片描述

https://www.fengerzh.com/git-reset/

在这里插入图片描述

图片来源:https://blog.csdn.net/slyslyme/article/details/88073604

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值