## 基础分支
master 主分支
develop 开发分支
临时分支(用完删除)
feature 功能分支
release 预发布分支
fixbug 修补分支
说明:临时分支命名形式feature-x,release-0.0,fixbug-x
基本命令
0.检出仓库
git clone /path/to/repository
#如果是远程服务器上的代码库,则:
git clone username@host:/path/to/repository
1.添加与提交
#添加到缓冲区
git add *
#提交代码更改
git commit -m"代码提交信息"
#推送到服务器
git push origin master
2.分支
#创建分支
git checkout -b feature_x
#切换回主分支
git checkout master
#删除新建的分支
git branch -d feature_x
#分支推送到服务器
git push origin <branch>
3.更新与合并
#更新至最新版本
git pull
#合并其他分支到你的当前分支
git merge <branch>
#如果出现冲突,需要正确合并这些冲突,完毕后
git add <filename>
#查看差异
git diff <source_branch> <target_branch>
4.标签
git tag 1.0.0 1b3e2d3gdjd
#查看提交ID
git log
5.替换本地改动
git checkout --<filename>
#假如你想要丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它
git fetch origin
git reset --hard origin/master
主分支Master
代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。
开发分支Develop
主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。
# Git创建Develop分支的命令:
git checkout -b develop master
# 将Develop分支发布到Master分支的命令:
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
#这里稍微解释一下,上一条命令的--no-ff参数是什么意思。默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。
#使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。关于合并的更多解释,请参考Benjamin Sandofsky的《Understanding the Git Workflow》。
功能分支
它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。
#功能分支的名字,可以采用feature-*的形式命名。
#创建一个功能分支:
git checkout -b feature-x develop
#开发完成后,将功能分支合并到develop分支:
git checkout develop
git merge --no-ff feature-x
#删除feature分支:
git branch -d feature-x
预发布分支
它是指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。
#创建一个预发布分支
git checkout -b release-1.2 develop
#确认没有问题后,合并到master分支
git checkout master
git merge --no-ff release-1.2
# 对合并生成的新节点,做一个标签
git tag -a 1.2
#再合并到develop分支
git checkout develop
git merge --no-ff release-1.2
#最后,删除预发布分支
git branch -d release-1.2
修补Bug分支
软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式。
#创建一个修补bug分支:
git checkout -b fixbug-0.1 master
修补结束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1
#再合并到develop分支:
git checkout develop
git merge --no-ff fixbug-0.1
#最后,删除"修补bug分支":
git branch -d fixbug-0.1
建议新手阅读这篇文章
http://rogerdudler.github.com/git-guide/index.zh.html
分子合并模式
添加一个远程版本库
git remote add smartdevelop https://github.com/smartdevel...
获取远程版本库gotgithub的分支和提交
git fetch smartdevelop
将远程分支合并到当前分支中
git merge smartdevelop/master
git merge smartdevelop/develop
提交到本地仓库
git add *
git commit -m""
推送到服务器
git push
本地拉取仓库
git pull
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。