我有同一个项目的2个目录,我们称之为目录A和B.
这两个文件夹是从另一个位置的主git repo克隆的,所以他们都是从同一个git repo提交开始的。
现在A继续使用原始代码并修复了一些小错误,并提交了更改,因此git分支看起来像这样:
A: (original)-(bug fix 1) - (bug fix 2) - (bug fix 3)
虽然B,我决定改变应用程序的外观,但我尚未提交。所以B git分支看起来像这样:
B: (original)
我想要做的是从原始克隆中合并这些2 git repos,以便我可以拥有以下内容:
A: (original)-(bug fix 1) - (bug fix 2) - (bug fix 3)--------(merge both)
\ /
branch B: \ -----------------(New version look) -------------
答案 0 :(得分:3)
你好我有2个同一个项目的目录,让我们称之为目录A和B.这两个文件夹是从另一个位置的主git仓库克隆的,
而不是克隆存储库使用
git worktree
强> Git worktree于2007年在git repo的contrib
文件夹下引入,名为new-workdir
。在git v2.5中,重命名为worktree
。
最简单的语法是:
git worktree add <second path>/<branch name>
将在您的计算机上创建另一个文件夹,允许您同时处理不同的分支。
git worktree
将创建2个单独的工作文件夹,彼此分开,同时指向同一个存储库。
这将允许您对新工作树上的任何实验进行操作,而不会对存储库本身产生任何影响。在附图中,您可以看到 2个单独的工作文件夹,但它们都使用单个仓库并共享内容。
以下是有关如何创建新工作树的示例及其结果:
我想要做的是从原始克隆中合并这些2 git repos,以便我可以拥有以下内容......
现在,由于您正在使用相同的存储库,因此您可以 merge
, cherry-pick
,而无需拉动或推送到遥控器,因为您不需要使用遥控器
全部本地!!!
答案 1 :(得分:2)
如果你可以回到那个回购,但你不想推lss_new_case
,你可以:
将B本地克隆添加为远程:
<div id="mission_XXXXX">
获取并合并:
B