问题标签 [branching-and-merging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 将 Git 分支合并到 master 的最好(也是最安全)的方法是什么?
一个新的分支 frommaster
被创建,我们称之为test
。
有几个开发人员要么提交master
或创建其他分支,然后合并到master
.
假设工作test
需要几天时间,并且您希望不断test
更新内部的提交master
。
我会git pull origin master
从test
.
问题1:这是正确的方法吗?顺便说一句,其他开发人员可以轻松地处理与我工作过的文件相同的文件。
我的工作test
已经完成,我准备将其合并回master
. 以下是我能想到的两种方式:
A:
乙:
我没有使用--rebase
,因为根据我的理解,rebase 会从中获取更改master
并将我的更改堆叠在此之上,因此它可能会覆盖其他人所做的更改。
问题2:这两种方法哪一种是正确的?那里有什么区别?
所有这一切的目标是让我的test
分支更新发生的事情,master
然后我可以将它们合并回来,master
希望尽可能保持时间线的线性。
tfs - TFS 2010 跨团队项目分支 - 最佳实践
我在理解如何根据 TFS Ranger 团队提供的最佳实践配置 TFS 时遇到问题。问题是这样的:
我的公司有几种使用共享通用代码库的产品。
因此,我们有一个团队集合,例如,此示例的三个团队项目。($/* 是一个团队项目)
我们最初的发布分支有点痛苦。我们没有将 /Main 分支到 /Releases,或 /Main 分支到 /Development,而是单独分支每个项目。(不是团队项目......解决方案项目。)
这是由于无法嵌套分支根。(请参阅 TFS 错误:TF203028 和 TF203071)
根据 TFS Ranger 指南和我们修订的版本、修补程序、开发分支方法,我们应该从 /Main 而不是 /Main/Source/Proj1、/Proj2、/Proj3 等分支。这只是一个相当大的烦恼。
理想情况下,我们希望:
解决方案: 1.我们可以将每个共享分支(即$/Core)转换回常规文件夹。这样 /Main 下的任何文件夹都不是分支根目录。然后我们可以执行从 $/Product1/Main/Source/Core/Source 到父 $/Core/Source 的毫无根据的合并。
有没有人有任何毫无根据的合并经验。我从微软那里读到的是,它们是不应该司空见惯的例外。MS 指出,如果您使用 TFS 正确设置项目,则永远不需要执行毫无根据的合并。
当跨团队项目分支时,这怎么可能?!?在任何软件开发公司中,在产品之间共享库应该是司空见惯的。
我也对其他解决方案持开放态度。
谢谢!
git - 我应该如何在 Git 中管理测试工具——它们应该放在单独的仓库中吗?
我现在在 Git 中管理一个大型(ish)项目 [90 个文件 650kb 代码]。我有一些独立的测试工具用于尝试/测试新的低级计算位,这些位后来合并到主代码及其分支中(目前通过复制粘贴!)。
管理测试工具的推荐最佳实践是什么?
它们应该在单独的存储库中,还是应该在主存储库中创建一个空分支来启动它,或者只是创建一个“测试工具”分支并覆盖旧代码?
希望的好处是主分支中的测试代码将与测试的代码明显“相同”。
我在 Windows (msysgit) 上,我是公司中使用 Git 的主要“探索者”。
visual-studio-2010 - TFS 2010 - 我们有代码分支。告诉开发人员编写哪个分支的最佳方法是什么?
根据您的经验,指定工作项应在何处编码的最佳方式是什么?你使用特定的领域吗?我们目前在 WIT 中使用自定义的“要修复的版本”字段,但它与 Dev 或 Main line 代码分支没有直接关系。我们最终会沟通哪些版本(v6.1、v6.2 等)与哪些分支相关,但仍然需要完成“映射”。这实际上仅适用于已发布版本中的“Hot Fix”,因为该分支的名称与“要修复的版本”相同。如何指定工作项,以便开发人员很容易知道在哪里编码并提供最少的维护?
更新:澄清一下……我们有 Dev、Main 和 Release(每个版本一个)分支。我们 90% 的开发工作都是在 Dev 中完成的。一旦迭代结束,我们将 Dev 反向集成到 Main,但是我们不会在那时发布它。在 Main 上进行了一段时间的测试,并且可以在 Main 上修复选择的错误。这一切都在进行,而下一次迭代(新故事)在 Dev 中继续进行。一旦在 Main 上看起来不错,我们将分支到一个新版本(新的 Release 分支),并且 Main 上的开发将结束,直到下一次迭代开始,我们再次从 Dev 反向集成到 Main。当然,一旦在 Main 上解决了问题,我们就会将 Main 集成到 Dev。在任何时候,我们都可能在 Dev、Main 或已发布版本上存在我们想要修复的错误。我们在 Main、Dev 和 Release 中进行了错误修复,这让一些开发人员感到困惑。我们告诉他们“版本”,但他们必须知道未来或当前版本链接回哪个分支。这就是我试图找到 Task 工作项的最佳实践的地方。
ruby-on-rails - 我可以使用 Git 维护一个应用程序的两个版本吗?
我正在用 Ruby on Rails 编写一个应用程序。此应用程序将交付给至少两种不同的客户类型。基础总是相同的,但有些观点不同。主要是这样。目前。
有没有什么办法,例如使用分支,使用相同的代码库并仅分离视图?我阅读了 Git 分支手册,但仍然不确定这是否是实现我需要的最佳方法。
另一个想法是分叉。但是,这很聪明吗?如果我更改了 fork A 的代码中的某些内容,是否容易将这些更改合并到 fork B 中?
mercurial - 将多个 Mercurial 分支合并在一起
我有一群开发人员使用分支进行错误修复。我的需求:自动化(或有没有办法)将所有这些分支合并到一个主分支“默认”的最佳方法是什么。
谢谢
git - GIT:分支期间会发生什么?
我的问题真的很无辜。我一直在阅读 git,并且我已经知道推拉和创建分支等基础知识。我的导师告诉我,使用 git 的正确方法是提取资源,创建一个新的本地分支,传输和编辑该本地分支,完成后,返回主分支并将其与本地分支合并。现在我的问题是,幕后究竟发生了什么?
我的意思是,当 git 创建本地分支时,它是否会创建您可以编辑的主分支的副本?如果有,这些副本在哪里?
如果我在本地分支上搞砸了,我该如何恢复更改(例如,我想回到我拉主时的方式)?回到master并删除本地分支只是一件简单的事情吗?
我想人们之所以称之为版本控制是因为分支,我认为它......代表版本。我对么?
为什么master叫分支?不应该是后备箱吗?好吧,这只是一个非常愚蠢的问题,忽略#4……哈哈哈!
对我天真幼稚的问题的回答将不胜感激。<3 <3 <3
git - 用于减轻来自主题分支的合并冲突的工作流策略
我正处于向我的上级出售 git 的风口浪尖。无论如何,他们正在听我们谈论它。有一件事我不确定,我想看看人们如何处理这个问题。基本上我的问题来自基本理解,即允许一对分支越远,它们就越难合并。
我正在考虑提出这个相当简单的工作流程:假设我有一个主(发布)分支、一个开发分支和主题分支。不同的开发人员正在开发他们单独的主题分支,只要他们觉得他们有工作代码,就会经常将这些主题分支拉到一个中央仓库。定期,当开发人员要求这样做时,维护人员(在我们的组织中,这个人的头衔是“技术主管”)从他们的功能分支合并到开发分支,将其放在临时服务器上并进行测试,一旦功能测试完成,它与 master 合并并推送到生产环境。
这是我的问题。开发人员是否应该定期合并他们的主题分支?这样做可以确保它们都相当干净地合并回 dev 中(或者至少在它们失控之前尽早发现冲突)。我知道我的经理唯一不喜欢的是,这是他们必须做的工作来安抚他们的工具,而不是为项目提供代码。想法?
svn - 分支和共享开发服务器?
因此,我将 Subversion 用作我维护的经典 ASP webapp 的 SCM。我们使用功能分支来处理具有依赖关系或长期开发的更改。
我们为 Dev/QA 使用共享 Web 服务器,这就是我的问题所在。中央开发服务器是主干的工作副本,然后当我需要从功能分支查看 Dev 上的更改时,我将它们合并到 Dev工作副本。到目前为止一切都很好,但我是否正在为将来的坏事做好准备?
例如,今天一位分析师告诉我,我可以“删除”我对某个功能所做的更改,然后合并到 Dev 站点进行演示——不是因为该功能被杀死,只是因为他不需要查看它了。我意识到我不能轻易做到这一点。我现在合并的更改只是在 Dev 工作副本上显示为本地修改,我不能轻易地将它们剥离(我必须手动恢复对受影响文件的更改,因为完全恢复可能/会杀死与其它功能)。
我写得越多,我就越觉得我已经回答了自己的问题。我是否需要更改我的分支策略——每个环境的分支?或者我是否需要为每个分支(dev.mysite.com:4801、dev.mysite.com:4802)有一个单独的“共享开发”站点?或者这就是你处理这个的方式?
tfs - 按功能分支 - 优点/缺点?
我目前在一个项目中工作,分支和合并从一开始就没有很好地工作。为了改变这一点,我们一直在讨论很多不同的方法来做到这一点。我假设每个人都有自己的关于如何做这类事情的哲学,所以它似乎也在这里。
我们一直在谈论的一件事是按功能进行分支。对于这种特定方法的好坏,我们碰巧有非常不同的看法。
你以前有过这样做的经验吗?它运作良好吗?你有问题 - 什么样的问题?
我知道这个问题并没有真正的正确答案,但我发现听到世界各地其他开发人员的意见非常有趣,而 stackowerflow 似乎是一个很好的地方。