git 开发分支模型

来源:互联网 发布:网银软件下载 编辑:程序博客网 时间:2024/05/01 06:04
一般使用以下分支模型来开发项目,能够使得本地 的相关修改基于辅服务器的最新版本,避免冲突。
master
        主分支:用于跟服务器同步,永远不要在里头更新,只做:git pull
feature
        feature 分支:用于开发某一个feature所建立的新分支
        feature/bugfix: 用于fix某一个feature 的bugfix
upstream
    upstream/feature 或者 upstream/feature/bugfix:用于整理代码、检测代码并提交到服务器中

以audio driver 模块为例
w@w:~$ git brach
    dev/audio/mfd
    dev/audio/codec
    dev/audio/es305b
    dev/audio/pa
    dev/audio/jack
    dev/audio/pm
    dev/audio/codec/fix1
    dev/audio/codec/fix2
    * master
    upstream/audio/codec/fix1
    upstream/audio/codec/fix2

实现步骤:
1 建立master 分支
    git clone git@123.456.789.101:audio.git
2 建立dev分支
    git brach dev/audio/codec master
    如需解决bug,则可建立分支 dev/audio/codec/fix1, dev/audio/codec/fix2
3 提交代码
3.1 把远程的master分支拉到本地master分支
        git pull origin master:master
3.2 基于最新的开发分支创建一个upstream分支,这里也算是对dev分支的一个备份,确保不会对dev分支进行误操作
    git checkout -b upstream/audio/codec dev/audio/codec
3.3  基于最新的master分支重建upstream分支,确保所有的修改都是在master的基础之上,这个时候可能需要Fix up conflicts
    git rebase --onto master --root
3.4 提交代码到服务器
    git push origin upstream/audio/codec:master
3.5    合并完成后,需要整理好代码,整理本地代码可以用git rebase
        git rebase -i commit^
3.6 检查代码可以用git format-patch产生Patch, 如果是linux 内核开发,可用scripts/checkpatch.pl检查
        git format-patch -1 commit  // 产生Patch
        ./script/checkpatch.pl --strict xxx.patch // 检查代码是否符合Linux标准风格


原创粉丝点击