- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我们正在使用 gitlab .主分支受到保护,只有项目所有者才能提交/接受对主分支的 merge 请求。其他开发人员发送 merge 请求以将他们的代码 merge 到 master 中。
当我们发送 merge 请求(从功能分支到主分支)时,其中一位开发人员会审查代码。如果有任何建议/意见,开发人员会更新他的代码, merge 请求也会显示新的提交。
然后 QA 开始在分支上进行测试,开发人员在同一个分支上修复错误。当一切都完成并顺利进行时,QA 在 merge 请求中添加一条评论,说明它已经过测试。
由于有很多提交,但功能是一个,为了便于管理,我们希望将其作为单个提交推送。
这里是项目负责人和我矛盾的地方。我要求项目所有者执行 git merge --squash
但他要求我通过将所有内容压缩到最后一次提交并强制推送来重新设置我的分支。由于此后分支将死亡,他的论点是,它不太可能造成任何麻烦。
那么,跟随这里的最佳方式是什么?
附言在 gitlab 中没有用于进行压缩 merge 的 GUI 选项,唯一可用的选项是按原样 merge 所有提交。
最佳答案
这两个操作的结果非常相似,一个在 master 之上的提交和一个最终会消亡的特性分支。
merge --squash 强制项目所有者处理可能出现的冲突。为避免该问题,您必须在 merge 之前在您的功能分支中 merge origin/master。
之后最终结果的唯一区别是操作后特征分支指向的位置:
merge origin/master 之后,merge --squash
:feature 分支将指向一个垂死的分支,该分支最终会死亡,但会有些困惑:它已经 merge 了吗?rebase、force push、merge --ff
之后,功能分支将指向压缩的提交。你必须决定:
恕我直言, rebase 和强制推送毕竟是一个更清洁的解决方案。您处理潜在的冲突,并将引用移出可能在未来造成麻烦和/或困惑的垂死分支。即使现在做一些看起来错误的事情,力量也会 push 。
关于Git squash merge 还是 git force push?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915025/
我试图理解两者之间的区别 git push --force 和 git push --force-with-lease 我的猜测是后者只推送到远程如果远程提交了本地分支没有? 最佳答案 force 用
我在将项目发布到本地系统时收到此错误 Copying file obj\Debug\build.force to obj\Release\Package\PackageTmp\obj\Debug\bu
这个例子的描述:http://bl.ocks.org/mbostock/4062045 (见下图),声明它是“带电粒子和 Spring 的物理模拟,使相关 Angular 色更接近。” 我只是好奇该代
请不要标记重复的问题。 大家好, 我正在执行 NSURLAuthenticationMethodClientCertificate,我在其中使用以下代码。如果我不使用 swiftlint,哪个代码没问
我似乎无法删除文件/文件夹,而无需为所有人输入 [A]。我错过了什么? Get-Childitem "C:\Users\*\AppData\Local\Temp\*" -ErrorAction S
我一直在尝试编写在 Streams 上运行的程序和它们的属性,但我觉得即使是最简单的事情我也被困住了。当我在标准库的 Codata/Streams 中查看 repeat 的定义时,我发现了一个我在 A
我正在尝试使用 symfony2 创建一个下载文件的链接。它确实下载了一个文件,但它没有用,因为它是零八位字节。我不知道如何让它工作。有人知道怎么做吗? 文件位于web/uploads/documen
我需要为MySQLd打开网络,但是每次这样做,服务器都会被强行淘汰。一些卑鄙的密码猜测脚本开始在服务器上运行,在端口3306上打开连接并永久尝试随 secret 码。 我该如何阻止这种情况的发生? 对
Azure Functions 是否可以强制通过 HTTPS 进行连接? 我没有在应用程序设置中看到它,也没有看到任何对 Azure Functions 的 web.config 的引用。 最佳答案
我正在使用 Firebird 数据库并正在尝试以下 sql,但每次它返回 0,而不是 0.61538(等等)。 SELECT (COUNT(myfield)/26) totalcount FROM m
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想要一个永远未定义的属性: var foo = {bar:undefined} 如果有人稍后尝试更改属性栏,那么它也应该导致未定义。 foo.bar = 'someValue'// foo.bar/
我有课,Target无法更改,具有通用约束。我想从没有约束的泛型类中构建该类的实例。下面演示了我想要做的事情的意图,但我意识到这段代码将无法编译并且 typeof(T).IsClass是运行时检查,通
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
假设我在包中编写了一个类,名为 mypackage.myclass。我已经为包和类编写了自己的 HTML 文档,并将其包含在 MATLAB 帮助浏览器中,如 the MATLAB documentat
我们有一个多平台项目,它为几个平台生成二进制文件,比如 mac、windows、linux...是否可以强制 git 将所有文件的编码更改为某个特定平台(例如:Linux)。那么如何在每次用户提交或推
我正在使用 MSBuild 自动为标签创建一个文本文件和一个 ZIP 文件。我的 MSBuild 项目由 CruiseControl.NET 调用. 文本文件总是latest.txt,ZIP 文件是(
根据我的一些 API 规范: Force to place an Auth transaction into the current batch (PostAuth) or to place a tr
我正在使用超集 0.20.4 如果我想在我的 URL 中添加一个 token 以自动登录到特定用户超集/仪表板/3?standalone=true&token=123456789 我应该在代码的哪个位
我有一个大问题:我有一个 listview,每个项目都链接到页面 #concorsi。当我单击链接时,URL 会变为 #concorsi?numero=1,因为我正在从 JSON 中获取表单编号 1。
我是一名优秀的程序员,十分优秀!