如何团队使用git共用bare库进行版本控制?

问题描述

如何团队使用git共用bare库进行版本控制?

如果两个人以上,使用一个共用的远程bare库提交改动,每次push前,解决好冲突(做pull),编译代码,测试通过后,再push到远程的bare库。这样协作合理吗?需要注意的是什么?

这所以问这个问题,是因为我遇到过这种情况,一个程序员,他进行了本地的merge,但他merge的有问题,一些代码不该被删的删掉了,一些if语句莫名其妙
地嵌套了起来。他进行了编译,测试,就他看来没有问题,他短时间的测试和编译看不出问题,比如有个功能根本就因为他的merge没了。而他进行了一次新的push,另一个程序员pul合并l之后,相当于被传染了一样。因为git本身并不知道代码
的逻辑错误,所以他的删除也被当成了有效的改动,程序员git merge后自动合并,也就得到了一个错误的更新。

不知道我说明白没有,我想知道,团队是否应该这样使用bare库。我个人觉得有问题。

解决方案

如果怕改动污染,那么有两种方法,一个是做code review,需要审批的代码才能改动
另一个是参考github做法,git push的仓库跟产品发布仓库分开,提交的改动,再发pull request申请合并到正式版本分支

解决方案二:

使用git进行版本控制
使用git进行版本控制
使用git进行版本控制

时间: 2024-08-04 06:23:28

如何团队使用git共用bare库进行版本控制?的相关文章

git 远程版本库

[root@localhost workspace]# cd repos/ [root@localhost repos]# ll 总用量 4 drwxr-xr-x 7 root root 4096 12月 30 20:34 hello-world.git [root@localhost repos]# git clone --bare hello-world.git hello-user1.git 克隆到裸版本库 'hello-user1.git'... 完成. [root@localhost

企业团队使用Git协同开发的一般流程

流程大纲 一.代码编写 1.从主分支(master)上创建开发分支(dev).  git branch dev 2.切换到dev.  git checkout dev 3.在dev上进行代码编写,并提交本地版本库. 注:一定不能直接在marster分支上修改代码 git add ./src ./res git commit -m "添加缓存模块" 这个时候有一些改变了没有提交的代码会变红色,在你 切换到master之前,应该暂存当前dev的开发一下到栈里. git stash 二.合并

深度揭秘:谷歌团队盗用搜狗拼音输入法词库的秘密

中介交易 SEO诊断 淘宝客 云主机 技术大厅 两次截然不同的声明前后时间不超过24小时,Google选择了向搜狐道歉,而且时间选择在搜狗召开发布会前.近日发生的Google 抄袭 搜狗输入法事件在网民心中留下了深刻的印象,同时在 众多博客和Google粉丝中引起了强烈的反响.甚至有众多Google粉丝联名要求Google 为此事件道歉,搜狐博客有将近3000篇文章就此事进行了评论.然而,更令众多Google忠诚用户不解的是,在Google这样一家崇尚技术卓越体验的伟大 互联网公司,谷歌的中国团

GIT Daemon 配置 (分布式版本控制)

Netkiller Version 手札 DVCS(Distributed Version Control System) netkiller Neo Chan 2009-12-12   文档最近一次更新于 Thu Jan 12 15:57:18 UTC 2012   版权 2009, 2010, 2011, 2012 Neo Chan 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明. 文档出处: http://netkiller.sourceforge.net ht

如何通过Git在本地建立Linux Kernel的版本库镜像

在本地Git的版本库根目录下执行以下命令,将会同步Linux Kernel版本库到本地,进行镜像. git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 当然,该命令只会在本地建立版本库镜像.那么如何保持和Linux Kernel版本库的更新呢? 建议参考以下项目,使用git-mirror进行定时同步更新版本库. https://github.com/ndechesne/git-mirr

git版本控制工具(二)----本地版本库的常用操作

[正文] 在上一章节中,我们学习了关于Git最基本的用法,包括安装Git.创建版本库,以及提交本地代码.本章节中将学习更多的使用技巧.即:Git版本控制工具(一)----git的安装及创建版本库 我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库.打开Git Bash,进入到这个项目的根目录下,然后执行git init命令,如下图所示:   这样,准备工作就做好了.   一.忽略文件: 版本库已经创建好了,接下来我们需要提交项目中的代码,

Git 在小团队中的管理流程(转)

  目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍了小团队中 Git 管理的基本使用流程.小团队的代码管理可以采用这样一种方式:项目存在一个中心远程仓库,作为团队成员进行代码交流的主要场所.同时可以存在一些成员远程仓库,用于局限在团队中部分成员间的代码交流.并将成员分成以下几类不同的角色:负责人.普通组员.预发布责任人 和 版本修复责任人.下面

Git的17条基本用法

在开发过程中,经常会遇到一个项目由多人合力完成这种情况,每个人负责其中一个模块.项目开发过程中为了确保代码的可追溯,我们引入了版本控制概念,每个人修改了什么代码或提交了什么代码都能够跟踪记录.现在流行的版本控制主要有:集中式版本控制(SVN)和分布式版本控制(GIT).本文将介绍Git的17条基本用法. 1.初始化Git仓库 Git仓库分为两种类型:一种是存放在服务器上面的裸仓库,里面没有保存文件,只是存放.git的内容:一种是标准仓库,会在项目根目录下创建一个.git目录. $ git ini

Git Submodule使用完整教程

自从看了蒋鑫的<Git权威指南>之后就开始使用Git Submodule功能,团队也都熟悉了怎么使用,多个子系统(模块)都能及时更新到最新的公共资源,把使用的过程以及经验和容易遇到的问题分享给大家. Git Submodule功能刚刚开始学习可能觉得有点怪异,所以本教程把每一步的操作的命令和结果都用代码的形式展现给大家,以便更好的理解. 1.对于公共资源各种程序员的处理方式 每个公司的系统都会有一套统一的系统风格,或者针对某一个大客户的多个系统风格保持统一,而且如果风格改动后要同步到多个系统中