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

标签 git github git-stash

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

[克隆 A] ---- 存储 ---> [克隆 B]

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

谁能建议更简单、更简洁的方法(比如复制)?

最佳答案

您应该能够复制 .git/refs/stash 以获取最新的存储,并复制 .git/logs/refs/stash 以获取堆栈中的所有其他存储.实际上,我认为您甚至应该能够获取最新的 refs/stash

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

您可能应该使用 git worktree 为同一个远程存储库提供多个工作树,而不是多个克隆。您将节省很多空间,我认为您应该能够共享这些藏品。

关于git - 将存储列表从一个克隆或文件夹复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44589968/

相关文章:

git - 如何压缩有 child 的分支上的提交

git - 在 perforce 和 git 之间同步

git - 如何从我的提交中删除一些文件

git:如何从远程分支获取并 merge 到本地分支?

git (ls-remote) - 列出按创建日期排序的 "remote"分支

windows - 什么是遗留存储?

git - 为现有的 pull 请求做出贡献

macos - Git 差异 : Write output and exit instead of interactive mode

git - 获取存储的创建日期

git - 为什么 git stash 创建两个提交