标签归档:git

Git一种分支策略

小团队适用,仅2个常设分支:
1、master
2、tester

master上是稳定线上版本,之后的新功能开发,功能修改,bug处理等都从master开出分支,然后合并到tester分支上,发布测试。
tester可以随意删除,仅从master分出,随时等待其他开发分支合并进来并上测试环境。

1个临时分支:
release

release分支用于上线前,从master开出,各类通过测试的功能分支,bug修复分支等,合并到release分支,进行上线前预测,当release分支没有发现问题后,合并回master,设置tag,然后上线。上线后可删除release分支。

紧急bug处理,需要修复后立即上线的,流程是:由master开出分支fix-xx-bug,合并到tester测试,无问题后直接合并回master并上线。

git subtree用法

来源于:http://aoxuis.me/posts/2013/08/07/git-subtree/

使用场景

例如,在项目Game中有一个子目录AI。Game和AI分别是一个独立的git项目,可以分开维护。为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思:

  1. AI子目录使用AI的git项目来填充,内容保持一致。
  2. 当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来。
  3. 反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项目。

用git subtree可以轻松满足上面的需求。

git subtree用法

Continue reading git subtree用法

实用而不墨守成规-Git Flow

据说 Google和Facebook的Git库,代码只有最新版(trunk),没有 release 版本,没有版本号。

其实我很能理解,像我们的项目也不是按照特定git flow(初学者应该借鉴git flow)进行管理的,根据实际情况来使用,这就是实用。

对我们的项目来讲,基本有用的分支就是master和test,develop基本废弃,而master和test是互不干涉的,test可以随意删除和重建,各类新功能从master开出分支,合并到test测试,最后合并到master上线。develop或许有用的地方就是成为开出test分支的基础分支。

引用来自:http://fex.baidu.com/blog/2014/03/G-ossip/

git subtree更好的管理项目公共资源

抛弃git submodule, 拥抱git subtree。
来源于:http://aoxuis.me/posts/2013/08/07/git-subtree/

使用场景

例如,在项目Game中有一个子目录AI。Game和AI分别是一个独立的git项目,可以分开维护。为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思:

  1. AI子目录使用AI的git项目来填充,内容保持一致。
  2. 当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来。
  3. 反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项目。用git subtree可以轻松满足上面的需求。

Continue reading git subtree更好的管理项目公共资源

TortoiseGit的安装并用于Github

TortoiseGit安装还是很方便容易的,关键是用SSH方式连接Github需要生产key比较麻烦些。在网上找了一些,都是命令行生成key之类,看着迷迷糊糊的。后来看到Github有https方式,也算解决了连接问题,只是每次push和pull必须填GitHub的账号和密码进行验证。

不死心,又google了几次,换了几次关键词,总算找到一个靠谱点的,顺手转过来,就不重复劳动了,直接借用成果了。以下是正文。

Continue reading TortoiseGit的安装并用于Github