Git使用和代码管理

项目上用的branch管理和Git是有些问题的。

多个branch的优劣:

优点:易于团队合作、易于功能开发、方便release、开发不用经常切分支、冲突少、测试少。

缺点:管理成本高 + 维护成本高:提交+合并+验证、fixbug。

因为互联网项目迭代快,branch维护管理特别频繁,这些实际情况。 现象是branch特别多、管理成本高(A)、经常需要7个team按照顺序集中合并代码,而且是每组指定一个人(B),并且冲突特别多(C)。查看历史记录总是对不上修改的作者(D)。

这些问题背后是git使用、branch管理的问题。

A问题:branch提测线太多,branch维护累、合并、测试累。因为每个组自己出测试包,可能1-3个特性。解决方法是使用统一的Dev开发线,feature开发自测完合并到dev线。

B问题:因为开发的deadline导致,一定按顺序合并的原因是使用了大量的merge,导致代码commit 向前的依赖不定,易产生冲突。这个人又不一定是feature的开发者,难于保证不出问题。

解决方法是:feature开发完,由开发者自己rebase到dev线,时间是deadline之前,因为commit都是前向依赖,增量开发不宜冲突。

C问题:原因是之前大量使用merge导致,三方merge导致commit是三方合并,没有明确的前向依赖。后面所有开人员强制使用rebase。

D问题:merge了之前的代码,新的merge commit 自动曾加了当前的作者。

branch管理思路:

Master主线用于relase稳定线:hotpatch的补丁branch提交验证通过,打到这个线上。同时自动cherry-pick到开发线。

Devbranch所有模块的开发线:feature开发自测完成,rebase到这个线,进行测试验证提测,在这个上CI、AUTOTEST

Feature branch:开发新功能线,codereview、自测在这个线上完成。

附上新的branch规划和Git日常常用使用命令使用方法。

时间: 2024-08-30 03:14:02

Git使用和代码管理的相关文章

GIT: 分布式开发 代码管理工具使用命令大全

代码管理工具: GIT 什么是GIT? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 特点: 可以管理各种项目,特别是代码项目,多使用在Linux.Unix系统中 是分布式管理,不同于集中管理,这是git和svn的核心区别 更好的支持分支 拥有全球唯一的版本号 代码安全性更加有保证 开源.方便.快捷.数据传输速度更快.可以无网络操作 集中式和分布式: 集中式: 代码集中管

代码管理工具git使用来解决代码冲突管理

现在做软件产品项目,基本都用git来进行代码管理.相比SVN,git刚上手的人对git的使用的确感到很受伤.总结坑如下: 1.对git理解不透,不晓得git本地仓库,远程仓库的命令 2.SVN在Eclipse中的使用比git要舒服,不易出错. 但是项目代码使用git管理是大势所趋,不得不好好掌握.好在经过多次实践后,终于在git cmd中利用命令完美解决代码同步管理. 同步远程代码,遇到冲突的解决方法 1.方法一,采用远程文件覆盖本地文件. git pull git checkout <文件路径

如何修改git上传代码的作者姓名

随着IT行业的不断壮大,开源的东西越来越多,使用git来进行代码管理的人自然也越来越多,而且很多人的git账户都不是自己的本人名字,但是在公司工作的时候为了遇到问题能够定位责任人和便于区分提交人,通常需要将提交者的名字设置为本人名字,那么怎么修改提交者名称为本人姓名呢? 首先我们先看下目前的提交者名字是什么,然后再决定改还是不改,怎么看提交者的名字呢?往下看: (1)从本地文件中打开git-bash.exe,不知道放在那里可以全盘搜索下 (2)打开之后是这个页面: (3)然后输入命令:git c

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

代码管理必备-----git使用上传码云

作为一个程序员,你要学会代码的管理,这是一个最基本的修养,就像是一个剑客的剑谱,代码管理,目前流行的是svn和git,但是很不好的是git如果没有插件的话,很多人都不会用git bash 来实现自己的代码管理,自己不断尝试,今天终于总结出一个很好的方法,供各位剑客参考一下,望尔等使用后,脱离天天来回背电脑的苦逼命运. 1.下载git 这里大家要注意下系统的配置: windows看这里:windows的git下载地址 2.安装git 自己选择安装路径或者默认就可以了 3.配置git 给github

使用git建立本地仓储管理代码【转】

转自:http://blog.csdn.net/airk000/article/details/7738231 Git是Linus大神的代码管理工具,简直说是开发者的超级福音,而作为屌丝的个人开发者,自己购买服务器或者github付费服务显然不合算,那么能不能在本地建立一个git仓储来管理自己的代码呢?答案是当然可以! (安装git什么的就不说了,很简单的apt-get install git-core就OK) 本例中仓储设定在~/git_store/,而开发的代码所在文件夹为~/git_exa

git 一般的开发流程中的代码管理

一般的开发流程中的代码管理 1. 从版本库中下载代码 git clone ssh://[email protected]192.168.1.3:29418/mustang-web 2. 针对某个feature(比如instance-lanuch)开新分支 cd mustang-webgit checkout -b instance-lanuch插一句:每次从master同步代码以后,最好执行pip install -r requirments.txt,保证被人新加的库被安装好可以查看目前拥有的分

使用Git进行代码管理

Git简介 Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件. 先讲一下如何把开源项目fork到自己的github中 1.  点击图中的Fork按钮 2.选择要fork到的地方,可以选择个人,也可以是小组的项目,点击就完成了. 下面是我在配置Git并上传本地项目到github中的过程 1.下载git并安装 2.打开Git Bash 3.键入 ssh-keygen -t rsa -C "email.com"(email.co

简单使用Git和Github来管理自己的代码和读书笔记

以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下来继续使用. 我这里简单的记录一下我使用的过程,最简单的使用都是,高级的功能我一直没有使用到,虽然买一本<Git权威指南> 但是很多东西用不到就不能够真的会.下面开始简单介绍我使用的方法,我这个是在windows上使用的.我使用分两种情况, 因为我的代码都是在Linux下写的,所以在linux下主