我不确定如何准确地描述问题,因此我将举一个例子,说我有以下内容:
RepoA
-包含一些基本代码,库,框架,文件夹结构等的原始回购RepoB
-理想情况下是分叉/分支...但是不能分叉您自己的存储库,而我想要一个单独的存储库,因此分支不起作用目标是要在RepoB
上进行工作,并能够将merge
内部所做的RepoA
更改为代码,因此如果在{{1}上开发了新功能}我可以将其合并到RepoA
中并继续开发。本质上,它是另一个回购的“分支”。
这有可能吗?
我也考虑过也许可以使用NPM来获得此功能,但是我完全不确定如何/如何与NPM一起使用,我在公司项目上所做的所有工作都只有一个仓库和功能分支,所以我从来没有遇到过这个问题。
这个想法是用我在多个项目中经常使用的所有东西(例如样板,UI组件,空白服务器,路由器配置)设置一个仓库结构,基本上创建一个没有任何功能的“框架”,除了可以建立的“工作环境”。
然后,对于每个项目,由于缺乏更好的词汇,我将创建一个特定的存储库并拖动到框架中。但是我希望能够将可能在以后添加到框架中的其他内容“合并”到仓库中。
我不想分支此框架存储库,因为我希望github上的存储库是分开的。我会以某种方式添加某种形式的依赖关系甚至使用NPM都很好,但是我不知道我将如何使用NPM。
答案 0 :(得分:1)
因此,在对Mohana Rao的建议进行了一些摆弄之后,我设法获得了所需的东西。
例如,我们在RepoB
内部完成所有工作,例如在主分支上:
git remote add base <link-to-RepoA>
git checkout -b new-feature-import
git pull base master --allow-unrelated-histories
git checkout master
git merge new-feature-import
git branch -D new-feature-import
git remote add base <link-to-RepoA>
git fetch base
git checkout -b base-integration
git branch --set-upstream-to=base/master
git pull --allow-unrelated-histories
git checkout master
git merge base-integration
使用第二种方法,您可以在以后切换到分支,只需进行拉动即可获取最新的更改。显然,您必须解决任何合并冲突,并且如果您选择使用这种“更方便”的解决方案,则显然不应该从base-integration
分支推回到RepoA
。