Github 解决冲突总是将基础分支合并到我当前的分支

2024-01-03

我在 PHP Storm 的本地分支机构工作。任务完成后,我提交我的分支并推送到 git。

在 Github 页面上,我创建了一个 Pull 请求 DEV

到目前为止这还可以。但如果某些文件存在冲突 - 根据这篇文章https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github

就我而言,相同的文件已在其他分支中更新并之前合并到 DEV 中。现在在我的分支中有相同的文件和其他更改。

当我解决冲突(甚至可以是一行)时,我将其标记为已解决并提交合并。

现在,整个 DEV 基础分支被合并到我自己的分支中,这不太好。

因为我正在将我的分支合并到 DEV,而不是相反。如何才能避免这种情况呢?

我尝试重新创建相同的分支,但是一旦开发合并到这里,它就始终存在。每次冲突都会发生这种情况,这是无稽之谈 - 正如上述网络的第 8 点所说:

解决所有合并冲突后,单击提交合并。这会将整个基础分支合并到您的头分支中。


tl;dr

整个DEV基础分支合并到我自己的分支

这是Github冲突解决流程的一个特点。

From 解决 Github 上的合并冲突 https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github: "8. 解决所有合并冲突后,单击“提交合并”。这会将整个基础分支合并到您的头分支中。“但他们没有解释原因。

这不好

这很令人惊讶,但也很好。下面我会解释一下。

如何才能避免这种情况呢?

不要回避它。但可以让这个过程更加顺利。

让您的分支与开发人员保持同步并解决任何冲突。然后提交 PR。

要在 Github 上执行此操作:提交您的 PR 草稿 https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests;解决Github上的冲突;将其标记为可供审核。通过从草稿开始,您可以避免人们在冲突解决完成之前审查您的代码。

要在命令行上执行此操作:

# Bring dev up to date
$ git checkout dev
$ git pull

# Update your branch with the latest dev
$ git checkout <your branch>
$ git rebase dev       # or git merge dev

请注意,是的,您在提交要合并到 dev 的分支之前将 dev 合并到您的分支中。这是使分支更新的正常过程。

您应该习惯性地更新您的分支,以减少分支和开发人员之间的偏差。这将使冲突解决方案更小且更易于管理。


你这样做吗,Github?

与任何审核流程一样,Github PR 流程的目的是检查合并结果是否有效。这可能涉及自动检查 https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-status-checks、运行分支的测试以及手动审核。

让我们考虑一下它是否如您所愿。您的 PR 通过了所有检查。你点击合并按钮,就会出现冲突。您解决冲突并直接合并到开发中。

如果您在解决冲突时犯了错误怎么办?

已解析的代码不是已审核的代码。合并冲突表明开发中发生了您不知道且没有考虑到的更改。您刚刚编辑了分支来修复该问题,并且该工作尚未经过检查。如果立即合并到开发中,就没有什么可以阻止你的 PR 破坏每个人的开发。

相反,Github PR 需要像任何其他编辑一样对待手动冲突解决。与任何其他编辑一样,必须重新检查。已解析的代码必须位于存储库中的某个位置。因此,Github 将 dev 与冲突解决方案一起合并到您的分支中,就像您在提交 PR 之前更新了分支一样。现在可以重新检查您的分支是否有错误。解析后的代码通过了检查,可以安全地合并。

所以 Github 正在做你应该在命令行上做的同样的事情。从开发更新您的分支,解决所有冲突,检查结果,然后合并。

注意:这是我的一个有根据的猜测。我对Github没有什么特别的见解。


最后,功能分支是短暂的。合并后应将其删除 https://stackoverflow.com/questions/29316225/why-should-i-delete-feature-branches-when-merged-to-master/29319178#29319178。只要结果正确,具体的合并过程并不太重要。

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

Github 解决冲突总是将基础分支合并到我当前的分支 的相关文章

  • 将 GitHub 与另一个 Bug 跟踪器一起使用? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我参与了这个项目 Pinta http pinta project com 我们目前正在使用 GitHub 进行开发 我们都喜欢 Git 和 G
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • 使用 TFS 的每个分支的 Nuget 存储库

    我有一个具有以下分支设置的 TFS 环境 Dev 开发人员的主要工作分支 Main 稳定 可发布的分支 修补程序 用于修复不属于正常发布周期的生产代码 我们正在设置自己使用 Nuget 我想配置一些东西 以便 Dev 分支中的代码从 Dev
  • 合并 Perl Hashref 和 unique

    我有两个 Perl 哈希值 内容如下 First VAR1 name1 gt adam bob name2 gt Miller Schumacher Second VAR1 name1 gt tina jason jeff
  • 如何在 JS 文件中使用 Github 机密

    我有一个基本的 git 存储库 其中包含用于构建和部署的 github 操作 主要是 HTML 和 TS 文件 但是我必须在一些需要保密的 API 密钥中使用 所以我想办法为他们使用 GITHUB SECRETS 如何在我的 js 或 TS
  • Github 拉取请求显示太多更改/提交

    我们有两个分行 develop and master 由于某种原因 当我创建 PR 时develop gt master 它显示了以前提交和更改的完整列表 即使我只做了一行更改develop 另外 当我能够从命令行合并时 它会说 无法自动合
  • Windows 中的 Git Shell:补丁的默认字符编码是 UCS-2 Little Endian - 如何将其更改为 ANSI 或 UTF-8 without BOM?

    当创建一个Windows 中使用 Git Shell 进行差异补丁 当使用适用于 Windows 的 GitHub http windows github com the 字符编码补丁的UCS 2 小尾数法根据Notepad 参见下面的屏幕
  • 有没有办法将 Jenkins 与 Github Pull 请求结合使用?

    我希望 Jenkins 自动查找并运行属于开放拉取请求一部分的每个分支的测试套件 我还没有找到一些 Jenkins 插件 这可能吗 最近发布了一个新插件Jenkins Github 拉取请求构建器 https wiki jenkins ci
  • web2py git 集成 - localhost 和 pythonanywhere

    我完全不知道如何将 Github 集成到 web2py 中 我在 USB 上安装了 web2py任何地方的Python http www pythonanywhere com web2py概述文档chapter3http web2py co
  • 主存储库和本地存储库在同一台机器上

    我是 Git 新手 我已经在 Linux 服务器中创建了一个主存储库 同一个服务器将由 5 组 每组 3 个用户 使用 我想为每个组创建一个本地存储库 小组成员又应该为每个人创建一个本地存储库 使用内容并将修改提交到小组的本地存储库 我该怎
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • neo4j cypher更新现有节点或创建新节点

    我有一个包含大约 900 万个节点和 1200 万个关系的图 对于图中的每个节点 每个节点都有一个属性子集 这些属性通过标签形成节点的唯一标识 该图正在通过各种数据源进行更新 这些数据源会增加图中的现有节点 或者在节点不存在时创建新节点 我
  • 如何禁用 GitHub 中的拉取请求?

    我试图了解如何禁用 github 中的 拉取请求 问题一 我们正在尝试使用变基工作流程 这意味着如果不是快速推进 那么使用拉取请求可能会有害 一种解决方案 为我想要禁用拉取请求的分支设置分支权限 或者将我添加为任何进入 master 的内容
  • Python 中字典的合并层次结构

    我有两本词典 而我想做的事情有点奇怪 基本上 我想合并它们 这很简单 但它们是字典的层次结构 我想以这样的方式合并它们 如果字典中的项目本身就是字典并且存在于两者中 我也想合并这些字典 如果它不是字典 我希望第二个字典中的值覆盖第一个字典中
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • 如何在同一存储库中的 github 操作之间共享代码?

    假设我想要两个工作流程build yml and release yml在我的仓库中 第一个应该构建项目 假设使用 CMake 第二个应该构建项目并使用构建的二进制文件创建 GitHub 版本 项目构建代码在两个文件之间重复 如何在它们之间
  • PHP—array_merge_recursive() - 相同键没有数组

    php a php gt data1 tag gt div classes gt 1 2 3 php gt data2 tag gt section classes gt 2 3 4 5 6 php gt result array merg
  • Github 页面 - 禁用除单个站点之外的所有站点的自定义域重定向?

    I ve been using github pages since a long time and use the custom domain redirection feature to redirect my user website

随机推荐

  • 如何根据js中的父位置动态调整div的大小

    我一直在编写一个代码 该代码展示了如何动态调整 div 的大小 然而 代码被困在 1 个元素上 我做了一些工作来转换为多个 div 调整器 现在 在调整大小时 鼠标和 div 之间会出现一个空格 我的目标是确保根据父位置 使用精确的鼠标位置
  • 如何使用 urllib2 使用带身份验证的代理访问 ftp/http 服务器

    更新 请参阅我的解决方案的评论 我的Python代码使用urllib2使用用户名和密码通过代理访问 FTP 服务器 我同时使用urllib2 ProxyHandler and a urllib2 ProxyBasicAuthHandler通
  • 如何从 Flutter-web 中的小部件创建图像?

    在谷歌地图上显示自定义小部件谷歌地图颤振 https pub dev packages google maps flutter我使用一个非常方便的功能来翻译任何Widget 包括那些包含图像的 到Image 然后我将其翻译成Uint8Lis
  • 将时间分为小时、分钟和秒

    我必须把时间分成小时 分钟和秒 例如 如果时间是 09 11 21 我需要它为 09 小时 11 分 21 秒 我有两个文本框来输入打卡时间和休息时间 之后我想在一个新的文本框中获取结果 结果是根据打卡时间和休息时间之间的差值计算的 例如
  • 如何禁用 Express BodyParser 进行文件上传 (Node.js)

    我使用 Node js Express 构建一个 Web 应用程序 我发现 Express 公开的 connect BodyParser 在大多数情况下非常有用 但是 我希望能够更精细地访问多部分表单数据帖子 我需要将输入流通过管道传输到另
  • 使用Python计算txt文件中的行数(不包括空白行)

    我希望计算 txt 文件中的行数 如下所示 apple orange pear hippo donkey 其中有用于分隔块的空行 根据上面的示例 我正在寻找的结果是五 行 我怎样才能实现这个目标 作为奖励 如果能知道有多少块 段落就好了 因
  • 在docker-compose中连接tomcat和mysql

    我正在做一个研究项目 现在我正处于将项目转移到 docker 容器的阶段 我在我的网站上放置了 tomcat 在 mysql 上放置了数据库 do docker compose yml 不幸的是 tomcat 中的类无法连接数据库 Java
  • IE 9 忽略 CSS 规则

    我在使用 IE9 时遇到了一个奇怪的问题 它自己忽略了某些 CSS 规则 即使 IE8 也能正确加载它 IE 10 以及所有更好的浏览器 例如 FF 和 Chrome 也是如此 css 正在使用 text css MIME 加载 例如 IE
  • HotSpot 可以内联 lambda 函数调用吗?

    考虑代码 someList forEach x gt System out format element s x 理论上 应该可以内联此代码并通过首先内联来消除间接函数调用forEach方法 然后在 inlined 中内联 lambda 函
  • 文件阅读器 - 再次上传相同的文件不起作用

    我有一些类似绘图的应用程序 用户可以保存项目然后加载它们 当我第一次加载一个文件 例如project1 leds 时 在应用程序中进行一些更改但没有保存它 然后再次加载相同的文件 project1 leds 什么也没有发生 我无法多次加载同
  • 自定义排序 Python 字典

    所以我有一本打印时看起来像这样的字典 10 10 ZT21 14 WX21 12 2 15 5 3 UM 25 我想以我定义的自定义方式对它们进行排序 假设我希望它的排序方式 按键 是ZT21 10 WX21 UM 5 2 有人知道如何以预
  • 到达时间时计时器开始活动

    我希望在达到新活动时开始新活动 到目前为止我遇到了一些麻烦 这就是我到目前为止所拥有的 我希望你们明白我想做什么 如果有更简单有效的方法请告诉我 也许我应该把它放在一个线程中 Chrono Chronometer findViewById
  • 为什么我的 Eclipse 项目有虚拟调试器断点?

    我有一个小项目 当在 Eclipse 调试器中运行时 它似乎总是停在 FileInputStream class 第 106 行 文件被打开 没有设置断点 但 Eclipse 的行为就像我在这里设置了断点一样 如果我清除所有断点 它仍然会发
  • 我应该将 master 合并到功能分支中以使其更新吗?这会被视为不好的做法吗?

    我有这样的情况 master A B E F C D feature x 如果我需要将关键修复 E 和 F 合并到 feature x 分支中以继续开发并且我打算合并回 master 我是否应该将 master 合并到 feature x
  • 如何使用 ALAssetsLibrary 只获取视频

    我正在尝试通过以下代码从照片库中获取视频 但我也获取图像列表 如何获取所有视频的列表 我究竟做错了什么 NSMutableArray assetURLDictionaries NSMutableArray alloc init xy NSM
  • 打印机目的地问题

    我成功地使用 PrintWriter 将字符串写入文本文件 并且默认情况下输出文本文件被写入我正在处理的 Eclipse 项目的目录中 但我的 Eclipse 项目有一个名为 Resources 的特定文件夹 我希望将文本文件写入其中 我的
  • 如何设置 Superset 配置进行缓存

    目前 我出于工作目的正在从事 Airbnb Superset 项目 我知道 Superset 支持缓存 通过 Flask Cache 但是当我设置配置时我遇到了困难 我的 config py 文件如下所示 CACHE DEFAULT TIM
  • 在 AngularJS ngRepeat 中动画 ng-move 动画错误的项目

    当谈到在 ng repeat 中动画 ng move 时 我有点困惑 例如 如果我将数组项目从 3 移动到 7 则项目 4 7 会向上移动并且它们会产生动画 然而 我从 3 移到位置 7 的实际项目却没有 这是一个展示我的问题的 plunk
  • 线程内的消息循环

    如何使用 OTL 在线程内实现消息循环 应用程序 ProcessMessages 是我到目前为止所使用的 但使用起来不太安全 Thanks 这是我从线程队列中提取消息的方法 while GetMessage Msg 0 0 0 and no
  • Github 解决冲突总是将基础分支合并到我当前的分支

    我在 PHP Storm 的本地分支机构工作 任务完成后 我提交我的分支并推送到 git 在 Github 页面上 我创建了一个 Pull 请求 DEV 到目前为止这还可以 但如果某些文件存在冲突 根据这篇文章https docs gith