Skip to content

gitlab 版本控制流程

流程

  1. 基于 develop 创建新分支,命名格式:feature/[姓名]/[迭代编号]_[功能描述]; 举例:feature/zhangsan/sp08_config_load

  2. 单个功能开发完成,先更新 develop 分支到最新版本, 再切换回到 feature 分支,用 feature 分支合并 develop 分支,解决冲突进行自测, 再在网页端创建合并分支的请求(提交 feature 分支合并到 develop 分支的请求);

git 工作流程

git stash

应用场景

当我们开发一个新功能时会先从 master 拉出一个分支 develop ,然后在这个 develop 分支下写代码开发新功能。 就在此时,线上版本 master 出现了 bug ,我们应该放下手头上新功能的开发工作先将 master 上的 bug 修复,这个时候 develop 分支下的改动怎么处理?

新功能的代码还没开发完成,就这样把有问题的代码提交到dev分支中,虽然可以解决目前我们的处境但不是很妥。

暂存更改

git stash 可以保存当前工作区和暂存区的修改,并忽略未跟踪和忽略的文件。 命令可以将在当前分支修改的内容放到缓存区中,并会自动建立一个缓存的list集合,方便管理。 通过 git stash list 可以看到list下的所有暂存。

stash 是本地的,不会通过 git push 命令上传到 git server 上。 实际应用中推荐给每个 stash 加一个 message ,用于记录版本,使用 git stash save "message" 取代 git stash 命令。

可以使用附加选项让 git stash 来处理未跟踪和忽略的文件:

  1. git stash -ugit stash --includ-untracked 储存未追踪的文件。
  2. git stash -agit stash --all 储存未跟踪的文件和忽略的文件。

释放暂存

如果想将修改的内容重新释放出来,git stash applygit stash pop 都可以达到这个目的。

两者的区别:

  1. git stash apply @{x} :将编号x的缓存释放出来,但是该缓存还存在于list中;
  2. git stash apply:将当前分支的最后一次缓存的内容释放出来,但是刚才的记录还存在list中;
  3. git stash pop:将当前分支的最后一次缓存的内容释放出来,但是刚才的记录不存在list中。

删除暂存

  1. git stash drop stash@{index}:丢弃stash@{index}存储,从列表中删除某个存储
  2. git stash clear:清除存储列表中的所有stash

基于 VitePress 构建