GitHub如何用权威分支取代已知缺陷的大师

问题描述

我正在做一个单程序员项目,但是使用了两个备用开发平台。有一次,Master被致命的错误所污染,无法调试。为了营救15,000个生产线项目,我从对Master的一个良好承诺中分支出来(回滚分支)。我已经在这个分支机构工作了几个月(无法弄清楚如何彻底取代有缺陷的船长)。

我需要用分支代替师父。 Master中有未知的错误,可能是ASCII数据文件中的错误,冒着在合并期间重新感染此项目的风险,这是愚蠢的。 Git不能很好地解决数据文件中的冲突。

在Eclipse中,我输入了来自Master的临时Merge,以合并Branch,并且正在查看“ Conflicts master”(当前Eclipse项目的根)。由于这些数据文件,我不允许提交任何内容冲突。

Eclipse Git不会让我简单地从Merge中重新开始,这些数据文件是从Master删除的(我是直接通过GitHub网站完成的)。

从GitHub网站上有没有一种方法可以用分支替换Master,然后继续前进?

解决方法

先到start over again on the merge you have to do a hard reset

要替换分支,您必须使用 force 选项进行推送(因为被覆盖的分支的历史记录将丢失)。也许您也可以使用Web界面,但这需要执行多个步骤(大多数步骤在.../branches页上):

  1. 将除master之外的另一个分支设置为默认值(仅当您希望使用master而不是main时才需要此
  2. 删除master分支
  3. Create a new master (or main) branch基于要使用的分支
  4. 将新分支设置为默认
  5. 您可能会删除用作新分支基础的分支
,

由于只有2个ASCII电子表格文件在合并中构成冲突(并保持其完成),因此我将Team / Ignore属性附加到这2个文件及其父文件夹(其中还带有红色的“冲突”)标记)。这样就可以将15,000行源代码合并到Master中。

我可以将这些数据文件的“ ignore”属性保持为“ on”。如OP中所述,逐行版本控制不适用于跟踪这些电子表格文件中的更改。 在主要版本发布时发布这些文件可能更简单(这将需要在那些提交期间“取消”忽略)。