gpt4 book ai didi

javascript - 移动到 monorepo 后重新设置分支

转载 作者:行者123 更新时间:2023-12-02 23:37:32 25 4
gpt4 key购买 nike

我们的 GitHub OSS 项目最近更改为 monorepo。因此,目录结构发生了变化,并为我编写的部分创建了一个新文件夹。

我想将我的分支重新定位到这个新的 monorepo 上,进入正确的文件夹。我尝试了几次,但搞砸了。

所以,之前的文件夹结构是:

root-directory-for-my-part/...(src etc.)

现在是:

monorepo-directory/root-directory-for-my-part/...(src etc.)

另一个贡献者设置了该 monorepo。如何将我的代码重新设置到正确的文件夹中?

我正在使用gitGitHub。我的分支称为custom-insertion-point。远程存储库分支是@next。我已将原始远程存储库添加到我的 git 作为 upstream 并将我自己的 fork 添加为 origin

<小时/>

注意:

我之前已经为我的部分制作了 PR(代码已完成)。我只需要把它重新设置到新的 monorepo 上。

我尝试遵循本指南但没有成功:https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request

<小时/>

更新:

到目前为止我已经做了:

  1. git merge-base my-branchupstream/next 并复制提交哈希
  2. git rebase -i ${HASH} 使用上面的提交哈希
  3. 压缩了提交(如上面链接的指南中所示)
  4. git log 似乎报告说,现在我的 custom-insertion-point 分支上确实只有一次提交

我想到目前为止这是正确的。现在我需要以某种方式将压缩的提交重新设置到新的 monorepo 上,但在正确的子文件夹中。

我尝试这样做:

git rebase 上游/下一个

这导致了一系列冲突,我的整个本地工作树被更改为复制 monorepo(但没有我自己的代码)...

<小时/>

更新2:

我再次尝试了以下命令:

git rebase 上游/下一个

问题是所有内容最终都出现在错误的文件夹中。我为自己创建的新文件最终位于 monorepo 的根目录中。在我的部分之前存在的其他文件,但我为我的部分进行了修改,最终位于正确的子文件夹中。

最佳答案

您应该进行 merge 而不是 rebase ,因为实际上,这是 merge 。还有一个很好的 github 帮助页面 Git subtree merges这主要是您想要实现的目标。

另外,值得注意的是 git 有一个名为 subtree 的组件。您可以查看git subtree输出/文档。

关于javascript - 移动到 monorepo 后重新设置分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56222475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com