具有相同提交的git孤立分支

3
我想创建一个孤立的分支,复制所有提交记录。
基本上,我需要最终得到master和dev两个孤立的分支,但它们是相同的(在我进行进一步的提交之前)。
我已经创建了空的孤立的master分支,并且有带有所有提交记录的dev分支。如何将所有这些提交记录复制到master分支?

1
为什么你想要一个包含所有提交记录的孤立分支?如果我理解正确,你想要一个全新的第二个分支(即不是相同的SHA)。如果你的dev历史记录不是一条直线,那么创建这个分支将会很困难,因为合并提交等操作将非常棘手。也许如果你描述一下你需要这个分支做什么会有所帮助。 - nneonneo
2
不要使用孤立分支,只需使用常规分支。孤立分支会妨碍干净的合并,这违背了首先拥有分支的目的。此外,使用标签来表示版本,而不是分支。 - nneonneo
1
jQuery并没有使用孤立分支,而是使用常规分支。由于不同的合并模式,这些分支的SHA1值会发生分歧,但它们共享相同的开发历史。 - nneonneo
1
不是这样的,那只是一个“常规”的分支。git checkout --orphan dev 才会创建孤立分支。但是,对于你这种(Git 初学者)情况,我建议远离孤立分支。这主要是针对需要特殊用途的完全断开的开发历史的高级用户。 - nneonneo
@nneonneo - 注意标签会自动创建发布,然后我可以在Github上修改:/ 这不太好。 - user28209
显示剩余21条评论
1个回答

0

(不判断孤立分支是否是正确的解决方案,只是试图回答最初的问题,即如何复制历史记录。
正如nneonneo 评论所说,常规分支可能很好

问题在于,如果两个分支之间的SHA1相同,则第二个分支将始终是指向第一个分支提交的简单指针。

可能有效的方法是:

那会像这样:

cd /original/repo
git fetch /path/to/clone master:dev

这将创建一个孤立的分支dev,其中包括与master相同的所有提交(在空提交之上)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接