VSTS 和 Git:为什么在合并到 master 时压缩我的 DEV 分支会说 DEV 既落后又领先于 master?

2024-01-15

我希望有人可以帮助我解决这个问题,因为我正在挠头想了解发生了什么,以及是否可以纠正。

我目前正在 VSTS 中开发一个项目,并使用 GIT 作为代码存储库。我有通常的 MASTER 分支,还有一个 DEVELOPMENT 分支。然后,我从开发分支创建功能分支。

当我们完成功能分支中的更改后,我创建一个拉取请求,并且可以成功地将更改合并到 DEV 分支中。然后,DEV 分支在 MASTER 后面显示“0”,在前面显示“x”……这是正确的。

当我们准备将更改合并到 MASTER 中时,问题就出现了。我们创建一个 PULL REQUEST 来执行此操作,并且更改成功合并到 MASTER 中...但是...DEV 分支现在表示落后于 MASTER 1,但仍领先于 MASTER x!为什么 DEV 1 落后于 MASTER?为什么 DEV 仍然领先于 MASTER x? PULL REQUEST之后,MASTER和DEV不应该同步吗?即DEV后面应该是0,MASTER前面应该是0?

我很有可能没有正确理解 GIT,但是 VSTS 中的某些设置是否错误......比如分支策略设置不正确?我在 MASTER 上设置的唯一分支策略(在此阶段)是“强制合并策略 - 挤压合并”。

提前致谢。


壁球合并是造成您误解的原因。

当您压缩合并时,开发分支的所有提交都会被压缩为一个提交。这就是 DEV 落后 master 1 的原因,因为它没有压缩提交。此外,DEV 比 master 领先 x,因为 DEV 有 x 提交,但不在 master 中。

理想情况下,您应该只压缩合并您的功能/主题分支,这将为您提供每个功能一次提交。当你合并到 master 时,你不应该压缩你的 dev 分支。因此,如果需要,您可以更改 master 上的分支策略并将该策略放入 DEV 中。我的建议是让你的开发人员决定何时压缩或不压缩。当您在 VSTS 中完成 PR 时,它会给您一个压缩选项。

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

VSTS 和 Git:为什么在合并到 master 时压缩我的 DEV 分支会说 DEV 既落后又领先于 master? 的相关文章

  • git 工作目录中的更改拒绝恢复

    我的 git 工作目录中有五个文件git status显示为已修改 当我git diff他们 整个文件显示为已更改 我有core autocrlf true但似乎没有效果 当我试图从同事那里获取更改时 真正的问题出现了 修改 的文件之一会被
  • git filter-repo:它可以在特定分支上使用吗?

    我正在读什么git filter repo可以做 因为我想用它做一个小实验 我有这个存储库 我只想从中获取一个目录的历史记录 比如说 master 但我不想为主人工作 我想创建一个新分支 例如filter repo test然后让git f
  • 如何确定代理池在 Azure DevOps 中脱机的原因

    我注意到我的所有构建突然卡住了 如果我单击构建 则会收到以下错误 所有符合条件的代理均已禁用或离线 When I check my agent pools I get the following 我怎样才能让他们上线 确定他们离线的原因 尝
  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • git 从存储中删除文件

    我有一个藏匿处 里面有一堆文件 但由于文件冲突 我无法应用我的存储 我已经在我的存储中发现了有问题的文件 我想将其删除 如何从存储中删除单个文件而不破坏整个文件 存储是一次提交 或者实际上是两次甚至有时是三次提交 并且您无法更改提交 那么
  • 如何使用 git-tfs 清理损坏的历史记录

    我不确定我是如何进入这种状态的 但我的 tfs 默认远程分支中有一些 TFS 中不存在的提交 所以我想摆脱它们 所以我的历史是这样的 A B C D tfs default 但提交 B 和 C 实际上并不是 TFS 中的变更集 因此 当我签
  • Jenkins groovy - 如何从最新提交中检索标签?

    从中获取最新提交branchName 我们运行下面的代码 treeMapData git branch branchName credentialsId credential url gitLabServer projectName rep
  • git tag --contains 如何工作?

    从几天前开始 我一直在尝试确定在哪个版本 由标签指定 中部署了特定修复 由提交指定 这里的一些帖子发布了这一点git tag contains是收集这些信息的方法 但是选项的文档 https git scm com docs git tag
  • gitattributes 中的`* text=auto eol=lf` 会做什么?

    我们的 gitattributes 文件中有这样的内容 text auto eol lf 我想准确理解这是做什么的 第一部分是text auto 来自文档 http git scm com docs gitattributes 这确保了所有
  • 将两个单独的功能分支合并到同一个主分支中[重复]

    这个问题已经存在了 我们正在努力发布 2 个远程功能分支 F2 和 F3 我们如何处理F3来创建发布 提案1 简单地合并F3进入开发 提案2 第一次合并开发进入F3 包括F2的变化 然后合并进入发展 这两种方法之间有什么实际差异 是否有客观
  • 如何使用 LibGit2Sharp 从 Git 获取更改?

    下面的代码将 Git url 克隆到测试目录 var url http abc 555 com team project 555 git var path E temp 555 var credential new Credentials
  • 为什么我的存储库的 github 页面中没有出现问题选项卡?

    我想在 github 存储库中创建问题来纠正存储库中的技术债务 我看不到问题选项卡 对于其他存储库 问题选项卡显示在拉取请求选项卡下方 如何为我的存储库启用问题选项卡 您必须先启用问题 您可以通过点击来做到这一点Settings并启用 问题
  • GitPython - 使用 ssh 密钥克隆 - 主机密钥验证失败

    我在应用程序中克隆 git 存储库时遇到问题 KEY FILE opt app ssh id rsa def read git branch config id branch config RepoConfig objects get id
  • 无法快速删除 Git 中的许多文件

    我删除了 Git 分支中的 777 个文件新功能 by rm example 我愿意承诺 Git 要求我手动删除每个已删除的文件 git rm file 对于所有名称不相似的 777 个文件 编写上述命令将花费大量时间 如何删除我的 Git
  • git commit -m 与 git commit -am

    看起来很容易 但我就是不明白 我在我的应用程序的根目录中 这是我的工作流程 git add git commit m added a new feature some files changed git push heroku master
  • 未签出...捆绑安装无法修复帮助!

    https github com intridea omniauth git at master is not checked out Please run bundle install Bundler GitError 那我该怎么办 捆绑
  • git reword 在变基期间显示合并冲突,但是 pick 工作正常

    我正在尝试用很少提交的另一个分支来重新建立一个分支 虽然提交包括合并提交 但我可以使用以下命令成功地对其进行变基git rebase i r m
  • 无法在 git 上获取 Http 工作

    我在拇指驱动器上使用 gitbash 作为 git 我的防火墙阻止了我 并且想设置我的 git 以进行 http 访问 我使用 github 并且已经看到了有关如何执行此操作的各种信息 但我还不够了解 无法让它为我自己工作 我在 php i
  • 我应该如何将更改从一个提交转移到另一个提交?

    我在同一个分支上有两个提交 一个接一个 我在第一次提交中添加了对文件 A 的更改 然后对其他文件进行了一些更改 然后进行了另一次提交 现在我希望对文件 A 的更改是在第二次提交而不是第一次提交 最优雅的方式是什么 我知道这是一个老问题 但我

随机推荐