git - 从第 1 个分支删除文件夹后,从第 2 个分支合并

git - merging from 2nd branch, after folder is deleted from the 1st branch

提问人:Veljko 提问时间:10/24/2023 最后编辑:Veljko 更新时间:10/24/2023 访问量:41

问:

我在 git 中有非常复杂和具体的情况,我们实际上是将项目从其他一些 SCM 平台迁移到 Git,其中每个项目对应于 Git 中的一个分支,然后我们在主节点中合并所有这些分支。这意味着从 master 创建的每个分支都不包含主代码,但它是空的,因为我们创建的每个分支,然后在该分支上放置来自其他 SCM 平台的代码和历史记录。之后,我们将所有内容合并到主节点。git switch branch_name

例如,我们有 master 和 5 个不同的分支。 末尾的 Master 包含以下代码(文件夹也对应于分支的名称。branch1

'基/分支 1

基地/分支2

基/支3

基地/分支4

基/分支1/分支5'

base/branch1由 创建,但它也包含名为 is created 的文件夹,.......................................... .......................................... 由 引用和更新。此文件夹总共包含大约 10 个文件。branch1branch5base/branch2branch2base/brach1/branch5branch5

因此,只有这第 5 个分支是特定的,因为它的代码也在 branch1 中,基本上在该 SCM 平台的 2 个项目之间共享。

将所有内容合并到 master 后,我们想从 branch1 中删除文件夹 branch5。 所以我们做到了delete base/branch1/branch5

我们当时在master上尝试过,但发生了冲突,因为master上存在文件夹git merge branchbase/branch1/branch5

所以我们删除了. 之后,合并了一些新的更改。base/branch1/branch5branch1

之后,branch5 也获得了一些新的更新,但仅限于一个文件,但是当我尝试将该 branch5 合并到 master 时,我不再得到包含 branch5 内所有文件的 base/branch1/branch5 文件夹,但只有一个特定文件已更改。

如何将 branch5 合并到 master 并将其所有文件再次放在 master 上?

谢谢

git git-merge-conflict

评论

0赞 j6t 10/24/2023
这听起来像是你严重误解了分支的目的
0赞 knittl 10/24/2023
“这意味着从 master 创建的每个分支都不包含主代码,但它是空的,因为我们使用 git switch branch_name创建的每个分支”这没有任何意义。 不会创建“空”分支;它仍将包含所有文件。我也很困惑,为什么你有带有分支名称的目录?git switch
0赞 knittl 10/24/2023
您必须包含一个最小的可重现示例:显示步骤(即 命令)来展示您的问题。遵循抽象的描述是非常困难的;而是显示真实代码。git
0赞 Veljko 10/24/2023
@knittl将创建一个新分支。stackoverflow.com/questions/34100048/......我已尝试提供尽可能多的步骤来重现该问题......我可以采取详细的步骤,但在这种情况下,我想这将是一个相当大的问题,没有多少人愿意经历它......git switch --orphan <new branch>
0赞 knittl 10/24/2023
@Veljko这个问题没有提到.孤立分支不是真正的分支,也不共享历史,它们就像不同项目的独立存储库。合并的范围从困难到不可能。--orphan

答: 暂无答案