Git多人协作

203 阅读2分钟

题记

本文是用来记录git多人协作的流程(Gitflow)。

1.创建项目

image-20230228143231961

2.连接GitHub

image-20230228143357534

image-20230228143406302

image-20230228143420380

image-20230228143502060

image-20230228143533637

3.develop分支

develop 分支用于日常开发,保存了开发过程中最新的代码。当 develop 分支上的代码达到稳定,并且具备发版状态时,需要将 develop 的代码合并到 master,并且打一个带有发布版本号的 tag。

# 从 master 分支上创建 develop 分支
git checkout –b develop master
​
# 推送 develop 分支
git push origin develop

image-20230228143729960

image-20230228143834294

在GitHub仓库里面将master分支设置为Protected分支,不允许developer推送代码,master可以推送代码。

image-20230228144212290

image-20230228145014269

image-20230228145030274

4.feature分支

  • 分支来源:develop
  • 合并到分支:develop
  • 分支命名约定:feature-...

功能分支,在开发某一个新功能时,从 develop 分支分出来,开发完之后,再合并回 develop 分支。功能分支通常只存在于开发者的本地仓库中,并不包含在远程库中。

#创建一个feature分支,新分支不是基于master分支,而是应该基于develop分支
git checkout -b feature-v1.0 develop
​
#开发新特性,这时候开始开发功能#拉取:在合并功能前确保develop分支是最新的
git pull origin develop
​
#提交,开发的文件(git commit)#切换分支
git checkout develop
​
#合并分支
git merge feature-v1.0#提交到origin/develop
git push origin develop
​
#删除指定的feature分支
git branch -d feature-v1.0

image-20230228175934130

5.release分支

  • 分支来源:develop
  • 合并到分支:develop,master
  • 分支命名约定:release-...

预发布分支,它是指发布正式版本之前,我们可能需要有一个预发布的版本测试,并且可以在上面做一些较小 bug 的修复。预发布分支是从 develop 分支上分出来的,预发布结束以后,必须合并进 develop 和 master 分支。

image-20230228222458369

合并出现问题 :wq 强制退出。

记得删除分支。

6.hotfix分支

  • 分支来源:master
  • 合并到分支:develop,master
  • 分支命名约定:hotfix-...

最后一种是修复 bug 分支。软件正式发布以后,难免会出现 bug。这时就需要创建一个分支,进行 bug 修复。

修复 bug 分支是从 master 分支上分出来的。修复结束以后,再合并进 master 和 develop 分支。

image-20230228223307478

7.tag标签

#打标签
git tag ...(tagname)
​
#列出所有标签
git tag -n
​
#删除指定标签
git tag -d ...(tagname)
​
#上传标签
git push --tags

8.邀请他人协作开发

image-20230228145254837

9.回退版本

git reset:回退版本,可指定某一次提交的版本。git reset [--soft | --mixed | --hard] commitId。
git log:查看代码提交记录。

Git reset

10.开发流程

每天只要干活先从远程仓库pull(拉取)下来,结束工作先pull,再commite整个项目,再push到远程仓库(自己创建feature分支实现功能)

参考资料

Git分支管理规范

Git分支管理策略汇总

Git-workflow-tutorial

Git分支管理策略和工作流程