2

## 基础分支

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


Raymond
4.3k 声望305 粉丝