沙滩星空的博客沙滩星空的博客

git flow工作流介绍

下面的例子将演示Gitflow流程如何被用来管理一次产品发布

1. 给默认的master配备一个develop分支

git branch develop
git push -u origin develop

其他开发者应克隆(clone)中央仓库,并为develop创建一个追踪分支

git clone ssh://user@host/path/to/repo.git
git checkout -b develop origin/develop

2. 开发新功能

git checkout -b some-feature develop
git status
git add .
git commit

3. 功能开发完成
获取远程端dev分支最新版本代码,并入本地dev分支。

git pull origin develop

切换至dev分支,并合并新功能分支

git checkout develop
git merge some-feature
git push
git branch -d some-feature

4. 开始准备一次发布
专门用于发布前的准备,包括一些清理工作、全面的测试、文档的更新以及任何其他的准备工作

git checkout -b release-0.1 develop

5. 完成发布

git checkout master
git merge release-0.1
git push
git checkout develop
git merge release-0.1
git push
git branch -d release-0.1

6. 发现BUG
基于master创建了一个用于修复BUG的分支

git checkout -b issue-#001 master

修复Bug,测试。合并到master分支

git checkout master
git merge issue-#001
git push

跟用于发布的分支一样,在维护分支上的改动也需要合并入develop分支,这一点是很重要

git checkout develop
git merge issue-#001
git push

删除新建的修复BUG的分支

git branch -d issue-#001

当前分支已经有关联分支,并且关联分支与当前分支同名;

 git push

同步指定分支(非当前分支)到远程分支,如果是当前分支则<local_branch>可以省略

 git push origin <remote_branch>

将本地分支推送到远程不同名的分支;

 git push origin <local_branch>:<remote_branch>

工作流程总结

====准备开发====

1. 更新develop分支 git pull origin develop
2. 新建并切换分支 git checkout -b <分支名> develop

====开发中====

3. 添加更新内容 git add .
4. 提交更改 git commit -m "更改的内容注释"

====开发完成====

5. 切换到develop分支 git checkout develop
6. 更新develop分支 git pull origin develop
7. 合并前面开发完的分支 git merge <分支名>
8. 提交到远程仓库 git push
9. 删除分支 git branch -d <分支名>
10.强制删除分支 git branch -D <分支名>

Merge branch
每次合并分支的时候,都会跳出一个 commit message 编辑窗口。其实是正常的。
使用 git help merge,查看git merge的文档。

合并前:

      A---B---C topic
     /
D---E---F---G master

合并后:

      A---B---C topic
     /         \
D---E---F---G---H master

所以, commit message 是自动添加的,是 master 分支的 H 提交点的注释。
如果你实在讨厌这个commit,可以在merge时添加--no-commit。这样就不会产生commit message了。
不过不推荐这么做,这样的话,就不容易区分merge的结果了。


简易Git工作流

【注】

  • 简易工作流中,【远程库】只有一个 master 分支。
  • 所有命令都在【本地项目根目录】中操作。
  • git rebase 命令,只能在【新建的私有分支】中使用,不可在【共享分支】(master分支)中使用。

准备开发(新建wowrk分支):

  1. 从【远程库】更新【本地库】主分支(master分支)

    git pull
  2. 从当前分支【新建wowrk分支】,并【切换到wowrk分支】

    git checkout -b wowrk

本地开发和提交(在wowrk分支中开发):

  1. 修改,添加,删除文件

    # 添加指定文件(项目根目录的相对路径)到【暂存区】: 
    git add dir123/abc123.txt
    # 删除【暂存区】的文件
    git rm --cached dir123/abc123.txt
    # 或者添加本地所有更改到【暂存区】
    git add .
  2. 提交【暂存区】文件到【本地库】

    git commit -m "注释内容"

分支合并与推送

  1. 从【远程库】更新【本地库】主分支

    git fetch origin master:master
  2. 合并更新后的【主分支】到当前分支(wowrk分支). 有冲突则解决冲突

    git rebase master
  3. 推送【本地库】的【wowrk分支】到【远程库】主分支

    git push origin wowrk:master

结束(可选)

  1. 切换回【主分支】

    git checkout master
  2. 删除wowrk分支

    git branch -d wowrk

常见Git命令

# 查看工作区状态
git status
# 文件比较
git diff --stat
git diff abc.txt
# 查看本地库的commit提交日志
git log
# 从提交日志的commitID回滚工作区和本地库
git reset --hard a52e7b04ca5fd622bd044ea6e4ef29719e54d0fb
# 查看本地分支
git branch
# 删除分支
git branch -d wowrk
# 强制删除分支
git branch -D wowrk

Gitflow工作流程 https://blog.csdn.net/happydeer/article/details/17618935
如何正确使用Git Flow https://www.cnblogs.com/wish123/p/9785101.html
玩转git-flow 工作流 https://blog.csdn.net/qq_33524158/article/details/86702527
push的使用 https://cloud.tencent.com/developer/article/1439517
未经允许不得转载:沙滩星空的博客 » git flow工作流介绍

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址