git_flow

演讲者:ltl3884

A successful Git branching model

荷兰人 Vincent Driessen / nvie

  • master:

    永远在 production-ready 状态
  • develop:

    最新的下次发布或者开发状态 (ci nightly build)
  • Feature branches:

    开发新功能都从develop 分支出来,完成后merge 回develop
  • Release branches:

    准备要release 的版本,只修bugs。从develop 分支出来,完成后merge 回master 和develop
  • Hotfix branches:

    等不及release 版本就必须马上修master。会从master 分支出来,完成后merge 回master 和develop

g1

git flow安装

  • osx
    brew install git-flow
    
  • linux
    apt-get install git-flow
    
  • windows(cygwin)
    wget -q -O - --no-check-certificate \
    'https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh' | bash
    

初始化

git flow init

关于分支的命名约定的问题,建议使用默认值。

feature

  • git flow feature start <name>
    新开始一个feature分支
    
  • git flow feature publish <name>
    将一个本地的feature分支push到远程的仓库中,该命令可用于与团队其他成员合作开发或者备份自己的代码
    
  • git flow feature finish <name>
    完成feature,该命令会自动合并该分支到develop分支,并且删除本地分支
    

release

  • git flow release start <name>
    新开始一个release分支
    
  • git flow release publish <name>
    将一个本地的release分支push到远程的仓库中,该命令可用于与团队其他成员合作开发或者备份自己的代码
    
  • git flow release finish <name>
    完成release,该命令会自动合并该分支到master分支和develop分支,并且删除本地分支
    

hotfix

  • git flow hotfix start <name>
    新开始一个hotfix分支
    
  • git flow hotfix finish <name>
    完成hotfix,该命令会自动合并该分支到master分支和develop分支,并且删除本地分支
    

分析git flow命令

  • git flow feature start test
    git checkout -b feature/test develop
    
  • git flow feature finish test
    git checkout develop
    git merge feature/test
    git branch -d feature/test
    

Q/A

Q:如何将文件的部分修改添加到暂存区?

使用-p参数

git add --patch/-p (path/file)

Q:如何将其他分支中的一个提交合并到我的分支

git cherry-pick commit-id

Q:如何删除远程分支

git push origin :branch-name

Q:如何修改最后一次提交的信息

git commit --amend

Q:如何去掉不必要的日志信息

git rebase -i commit-id

Q:如何切换到最后所在分支

git checkout - (eg: cd -)

Q:如何临时忽略文件跟踪

git update-index --assume-unchanged (path/file)

Q:如何从另一个分支获取文件内容而不用切换分支

git checkout branch -- path/file

  • git stash改动
  • 切换到那个分支
  • 获取文件的改动
  • 切回工作分支
  • git stash pop
  • 进行编辑

谢谢大家

Powered By nodePPT v1.2.4