您如何构建 Git 存储库工作流程?

2023-11-21

我们已经看过并观看了有关大型分布式团队如何使用 Git 的视频,但是我们这些非分布式团队以及与团队其他成员在办公室工作的人又如何呢?我们应该如何构建我们的存储库和工作流程?

想想一直使用 Subversion 或 CVS 作为单点权限的传统办公室。当然,这些团队可以各自维护自己的 Git 存储库,并根据需要在彼此之间推送/拉取,这在许多情况下很快就会变成一场噩梦。或者,他们每个人都可以维护自己的存储库,并与被称为团队“主”的单个存储库同步。或者,可以将工作流程与 DVCS 所提供的可能性进行任意组合。

你的团队如何工作?您发现什么是有用的工作流程?


我喜欢雅虎的方式!用户界面 (YUI) 团队似乎正在工作。我不在雅虎,也不在那个团队,但他们的 git 提交日志揭示了很多关于他们的过程。

YUI 团队维护一个中央存储库,团队中的每个人都可以访问该存储库。定期提交到此存储库后(可能是在每次推送之后,但我不这么认为),构建系统会触发,重建 YUI 并将新标记的提交推送到 github,社区可以在其中分叉代码并对其进行处理。

我赞成代表该项目“官方”状态的中央存储库。当然,如果我想与同事共享代码,我可以安排他们从我这里拉出一个分支,我们可以通过这种方式进行协作。

“主”存储库还提供其他优点,例如易于持续集成,因为可以在“主”存储库上配置推/拉触发器以启动单元测试和构建系统。它还确保每个人都知道存储库的最新“已知良好”版本在哪里,以便如果需要构建、发布或测试项目,可以合理地保证“主”存储库已为此做好准备。

Git 几乎支持您能想到的任何工作流程,但即使在小团队中,您也不希望出现关于“官方”存储库在哪里的问题。可能导致的维护噩梦,特别是当您接近发布时,将是令人不愉快的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您如何构建 Git 存储库工作流程? 的相关文章

随机推荐

  • 如何使用 jQuery 模拟打字?

    就像如何click 可以用来触发元素上的点击事件 有什么方法可以模拟字符串的输入吗 您可以根据需要使用这些事件 keydown keypress keyup
  • 将日期增加一个月

    假设我有以下格式的日期 2010 12 11 年 周一 使用 PHP 我希望将日期增加一个月 并且希望年份在必要时自动增加 即从 2012 年 12 月增加到 2013 年 1 月 Regards time strtotime 2010 1
  • PayPal REST API 返回信用卡令牌的 500 服务器错误

    我正在尝试让 PayPal REST api 使用存储在保险库中的信用卡创建付款 但是 每当我尝试使用金库中的卡进行付款时 PayPal 的 API 都会挂起大约半分钟 然后给出以下 500 错误 Exception Got Http re
  • 我在控制器中的辅助方法

    我的应用程序应该呈现 html 以便在用户单击 ajax 链接时进行响应 我的控制器 def create user user User new params if user save status success link link to
  • 在 Node.js 中使用 JSON.stringify 会导致“进程内存不足”错误

    使用 Node 我尝试从 LDAP 服务器收集用户数据 然后将该数据写入 JSON 文件 我使用以下代码来执行此操作 fs writeFile data json JSON stringify data null 4 问题是JSON str
  • iOS 8:键盘扩展。添加弹出按键的问题

    我正在构建我的键盘扩展应用程序 并且当用户点击按钮时 我在按钮上添加了按键弹出动画 它适用于内部图像 但对于顶行图像 弹出区域会在剪辑子视图时被隐藏 我尝试使用 ClipToBound 属性并将其设置为 False 但仍然不起作用 有人知道
  • javascript 在逗号后截断字符串

    我正在寻找一种方法来删除字符串中的逗号及其后面的所有内容 例如 重要 又不那么重要 我想删除 不太重要 有任何想法吗 提前致谢 你可以这样做substring and indexOf str str substring 0 str inde
  • 如何在 Sitecore 中关闭 XHTML 验证?

    如何在工作流程中关闭 Sitecore 6 5 XHTML 页面验证 我正在开发并在尝试发布测试页面时不断遇到问题 因为它们出错了 我更愿意在浏览器中将错误作为堆栈跟踪获取 我不确定在此之前我是否已更改某些内容 但我最近承担了一个将 Sit
  • 刷新物化视图:并发、事务行为

    PostgreSQL 9 3 官方文档REFRESH MATERIALIZED VIEW尚未对其进行详细描述 引述自此blog Postgres 9 3 中的物化视图有一个严重的限制 即在刷新它时使用独占锁 这基本上会阻止在使用来自其父关系
  • Apache Spark 移动平均线

    我在 HDFS 中有一个巨大的文件 其中包含时间序列数据点 雅虎股票价格 我想找到时间序列的移动平均值 我该如何编写 Apache Spark 作业来做到这一点 您可以使用 MLLIB 中的滑动函数 它可能与丹尼尔的答案做同样的事情 在使用
  • git fatal:对象错误:unshallow

    我正在尝试取消浅层存储库 bin git clone shallow since 3 years https github com RobertAudi zsh hooks Cloning into zsh hooks remote Enu
  • 具有透明重定向功能的 PayPal PayFlow Pro - 用户身份验证失败问题/文档

    我在集成和查找当前文档时遇到一些困难 集成PayPal PayFlow 专业版进入我的网站 PayFlow Link 这里有一个类似的问题 https stackoverflow com questions 15808604 result
  • 在 woocommerce 中注册并重定向到登录页面时防止自动登录?

    我正在使用 woocommerce wordpress 设计一个网站 我通过参考将登录和注册页面分开这个解决方案 注册成功后 如何在未登录的情况下将注册页面重定向到登录页面 用户需要使用通过电子邮件发送的用户名和密码登录 我的登录页面是 w
  • 用于构建和查找整数范围集的数据结构

    我有一套uint32整数 集合中可能有数百万个项目 其中 50 70 是连续的 但在输入流中它们以不可预测的顺序出现 我需要 将此集合压缩为范围以实现空间有效的表示 已经使用简单的算法实现了这一点 因为仅计算一次的范围速度在这里并不重要 经
  • 如何使用非官方 Android Market API?

    我正在尝试来自的示例代码here 但我的应用程序崩溃了 我添加了日志记录 发现它崩溃了session flush 所以我删除了那条线 它不再崩溃了 但还没有达到onResult打回来 package com mytest app impor
  • XAML 中的多重绑定作为资源

    是否可以 如果是的话如何 添加多值绑定表达到资源中 我有一个多值绑定 它需要 2 个单独的绑定 并且其中一个绑定中包含转换器参数 我必须使用此绑定到 5 个不同的项目 并且这些绑定标签仅在转换器参数上有所不同 其余一切都一样 我会避免重复多
  • iPhone模拟器可以模拟打电话吗?

    我正在构建一个可以打电话的应用程序 如何在模拟器上测试此功能 我打电话时没有得到回应openURL 当然 这在实际设备上确实有效 还可以知道iPhone当前是否处于通话模式吗 对不起 朋友 您无法在模拟器上签入它 一切顺利
  • 在 R 中使用 geom_密度_2d() 时出错:“stat_密度2d()”中计算失败:带宽必须严格为正数

    在尝试使用 ggplot2 制作测试二维密度图时 我使用了代码片段 ggplot df aes x S1 x y S1 y geom point geom density 2d 我收到错误 计算失败stat density2d 带宽必须严格
  • C++:特殊化成员需要 «template<>» 语法

    我究竟做错了什么 template
  • 您如何构建 Git 存储库工作流程?

    我们已经看过并观看了有关大型分布式团队如何使用 Git 的视频 但是我们这些非分布式团队以及与团队其他成员在办公室工作的人又如何呢 我们应该如何构建我们的存储库和工作流程 想想一直使用 Subversion 或 CVS 作为单点权限的传统办