将存储列表从一个克隆或文件夹复制到另一个克隆或文件夹

时间:2017-06-16 13:03:53

标签: git github git-stash

我有两个相同远程存储库的git克隆。我在克隆A中创建了几个藏匿处,现在想要将这些藏匿处移动到克隆B。

[克隆A] ---- stashes ---> [克隆B]

我能想到的一个解决方法是为每个存储创建分支,并通过克隆A将该分支推送到远程,然后将这些分支拉入克隆B.但这不是我更愿意做的。

有人可以建议任何更简单,更清洁的方式(如复制)吗?

2 个答案:

答案 0 :(得分:0)

很多方式:

  • 通过ssh:将一个repo添加为另一个repo,并直接推/拉,

  • .git/ Clone A Clone B文件夹复制到Clone A机器上某处,并使用此"本地副本"您的Clone B作为[{1}}

  • 的偏远地区
  • Clone A中的提交推送到中央仓库,但不在分支下(分支存储在refs/heads/,如果您推送refs/cloneA/stash1,则默认为{{来自其他人的1}}将不会获取这些引用)

答案 1 :(得分:0)

您应该可以复制.git/refs/stash以获取最新的存储,并.git/logs/refs/stash复制堆叠中的所有其他存储。实际上你甚至可以把refs/stash拉到我认为最新的那个。

但这可能无法正常工作,因为存储的提交对象不会出现在复制目标中。您可以设置.git/objects/info/alternates,以便在A存储库中搜索丢失的对象,以使复制在目标中工作。

您应该使用git worktree为同一个远程存储库而不是多个克隆使用多个工作树。你会节省很多空间,我认为你应该能分享这些东西。