Git多人协作
题记
本文是用来记录git多人协作的流程(Gitflow)。
1.创建项目
2.连接GitHub
3.develop分支
develop 分支用于日常开发,保存了开发过程中最新的代码。当 develop 分支上的代码达到稳定,并且具备发版状态时,需要将 develop 的代码合并到 master,并且打一个带有发布版本号的 tag。
1 | # 从 master 分支上创建 develop 分支 |
在GitHub仓库里面将master分支设置为Protected分支,不允许developer推送代码,master可以推送代码。
4.feature分支
- 分支来源:develop
- 合并到分支:develop
- 分支命名约定:feature-…
功能分支,在开发某一个新功能时,从 develop 分支分出来,开发完之后,再合并回 develop 分支。功能分支通常只存在于开发者的本地仓库中,并不包含在远程库中。
1 | #创建一个feature分支,新分支不是基于master分支,而是应该基于develop分支 |
5.release分支
- 分支来源:develop
- 合并到分支:develop,master
- 分支命名约定:release-…
预发布分支,它是指发布正式版本之前,我们可能需要有一个预发布的版本测试,并且可以在上面做一些较小 bug 的修复。预发布分支是从 develop 分支上分出来的,预发布结束以后,必须合并进 develop 和 master 分支。
合并出现问题 :wq
强制退出。
记得删除分支。
6.hotfix分支
- 分支来源:master
- 合并到分支:develop,master
- 分支命名约定:hotfix-…
最后一种是修复 bug 分支。软件正式发布以后,难免会出现 bug。这时就需要创建一个分支,进行 bug 修复。
修复 bug 分支是从 master 分支上分出来的。修复结束以后,再合并进 master 和 develop 分支。
7.tag标签
1 | #打标签 |
8.邀请他人协作开发
9.回退版本
本地仓(Local Repository):本地仓指的是在开发者本地计算机上保存项目版本历史记录的地方。它通常是一个包含了完整项目历史记录的目录,包括所有的版本和分支信息。在Git中,本地仓是通过在项目目录下初始化Git仓库(使用”git init”命令)或者通过克隆远程仓库到本地(使用”git clone”命令)来创建的。
暂存区(Staging Area):暂存区是Git中用于暂时存储将要提交的文件或者修改的地方。它相当于一个缓冲区,可以让开发者选择性地将文件添加到其中,然后在一次性提交(commit)时,将暂存区中的所有文件一并提交到本地仓。暂存区的作用是为了控制提交的粒度,允许开发者对提交的内容进行精细的控制,可以将不同逻辑上的修改分别暂存,然后一次性提交。
工作区(Working Directory):工作区是开发者在本地计算机上实际进行开发工作的目录,包含了项目的源代码、文件和文件夹等。当开发者对工作区中的文件进行修改后,这些修改会被记录到暂存区,然后再通过提交(commit)操作将修改保存到本地仓。工作区中的文件可以通过Git命令进行添加、修改、删除等操作,然后通过将修改保存到暂存区和本地仓来管理项目的版本历史记录。
1 | git reset:回退版本,可指定某一次提交的版本。 |
10.开发流程
每天只要干活先从远程仓库pull(拉取)下来,结束工作先pull,再commite整个项目,再push到远程仓库(自己创建feature分支实现功能)
11.补充
1 | git init //该命令执行完后会在当前目录生成一个 .git 目录。 |
参考资料
工作之后学习的Git
git clone *** 克隆远程版本库
git init 初始化本地版仓库
git status 查看文件状态
git diff 查看变更内容
git add [file1] [file2]…. 添加文件到暂存区
git add . 这个命令将一次性添加所有的文件
git commit -a 这个选项只考虑Git中已经添加的文件。它不会提交新创建的文件
git commit -m “XXXX” 提交更新的文件
git pull –rebase 拉取 Git pull –rebase的作用
git push <远程主机名> <本地分支名>:<远程分支名>
git checkout (branchName) 切到指定分支
git checkout -b (branchName) 用于创建一个新分支branchName并立即切换到新创建的分支
git branch -d (branchName) 删除指定分支·
git branch -a 列出所有本地分支
git merge (branchName) 合并指定分支到当前分支
git log 查看历史提交记录
git cherry-pick “复制”一个提交节点并在当前分支做一次完全一样的新提交。
git reset –hard HEAD 本地暂存区退回
git revert 线上已提交/合并分支退回
git stash 、git stash pop Git stash 命令
git config –add core.filemode false 忽略filemode变更
git branch –set-upstream-to origin remoteBranchName 设置默认的远程分支
git branch -vv 显示默认的远程分支
git fetch –all 用于从远程仓库中获取所有分支的更新
git tag 列出存储在仓库中的标签
git tag tagname 创建一个新的标签
git tag -d tagname 要删除现有的标签
git push origin tagname 将标签推送到远程仓库
git checkout tagname 检出特定的标签
- 标题: Git多人协作
- 作者: Olivia的小跟班
- 创建于 : 2023-02-28 14:26:42
- 更新于 : 2024-01-01 19:10:04
- 链接: https://www.youandgentleness.cn/2023/02/28/Git多人协作/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。