一个强迫症的Git 选择

选择

1,经常性的commit or 干净的历史

  在本地(私有)的开发分支中,选择经常性的commit,以便于实时记录修改,回退等操作。eg.develop,feature...

    实现方式: commit

  在发布(公共)的分支中,选择干净的历史。eg.master,release...

    实现方式:(1)  merge --squash

         (2)  tag + merge --no-ff

2,track 完整的项目(包含图片等非代码文件) or 经gitigore剔除后的纯净代码项目

gitignore 是在本地用的,用于部分更新的配置文件。不适合与服务端共享!

 

原则上,尽量少添加gitigore条目

  gitigore添加规则:

  1,编译环境配置路径

  2,编译后的程序或库文件

  3,剔除随着业务增长占用大量空间的路径,例如web项目中的upload

 

备注

1,tag依托于分支而存在,用tag标记版本

2,通过A分支分出B分支,又通过merge --no-ff 合并到A分支,则B分支中的历史commit,仍会出现在A的历史commit中。

3,判断是否使用merge --squash选项最根本的标准是,待合并分支上的历史是否有意义。

posted on 2017-01-17 16:48  the_owl  阅读(177)  评论(0编辑  收藏  举报

导航