git常见命令:
clone(克隆)、commit(提交本地)、push(推到服务器)、pull、fetch(下载)、merge(合并)
pull = fetch + merge
remote(远程主机) branch(分支)
git合并分切,A分支合并到B,首先切换到B分支,然后执行merge in A
代码如下:
将“new-idea” merge 到 “stable” :
git checkout stable # Change to work on the branch "stable"
git merge new-idea # Merge in "new-idea"
# 获取主干最新代码
$ git checkout master
$ git pull
# 新建一个开发分支myfeature
$ git checkout -b myfeature
主分支Master
代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。
Git 协作流程
master 分支
master 永远处于稳定状态,这个分支代码可以随时用来部署。不允许在该分支直接提交代码。
develop 分支
开发分支,包含了项目最新的功能和代码,所有开发都在 develop 上进行。一般情况下小的修改直接在这个分支上提交代码。
feature 分支
如果要改的一个东西会有比较多的修改,或者改的东西影响会比较大,请从 develop 分支开出一个 feature 分支,分支名约定为
feature/xxx
,开发完成后合并回 develop 分支并且删除这个 feature 分支,相应的操作如下:
release 分支
当 develop 上的功能和 bug 修得差不多的时候,我们就要发布新版本了,这个时候从 develop 分支上开出一个 release 分支,来做发布前的准备,分支名约定为
release/20121221
,主要是测试有没有什么 bug,如果有 bug 就直接在这个分支上修复,确定没有问题后就会合并到 master 分支。
为了让 release 分支上 bug 修改作用到 develop 分支,我们还需要把这个 release 分支合并回 develop 分支
hotfix 分支
如果我们发现线上的代码(也就是 master)有 bug,但是这个时候我们的 develop 上的有些功能还没完成,还不能发布,这个时候我们可以从 master 分支上开出一个 hotfix 分支(记住:直接在 master 上提交代码是不允许的!),分支名约定为
hotfix/xxx
,在这个分支上修改完 bug 后需要把这个分支同时合并到 master 和 develop 分支。相应操作如下:
例外:当 hotfix 分支完成,这个时候如果有 release 分支存在,那么这个 hotfix 就应该合并到 release,而不是 develop 分支。