将git orphan分支提取到独立存储库中

乔恩

我有一个git repo,其中包含多个孤儿分支,这些分支包含它们自己独立且不相关的历史记录。结构类似于

C:\repos\original-git-repo>git branch
   orphan1
  *orphan2
   orphan3

事实证明,这对我的工作流程而言是一个糟糕的结构。

如何轻松地将每个孤立分支提取到独立存储库中,同时(a)维护每个孤立分支的历史记录,以及(b)每个新的独立存储库仅包含其匹配的孤立分支中的对象,而不包含原始存储库中的所有对象?

git repos的结果目录树看起来像

C:\repos>
   |- original-git-repo/
   |- orphan1/
   |- orphan2/
   `- orphan3/

更新:如下所述,原始存储库的正常克隆似乎会将所有对象克隆到新存储库的.git/objects目录中,而不仅仅是特定孤儿分支的对象。对于最小的新仓库规模,我能做的最好的事情就是为每个原始的孤儿分支制作这份过于手工的食谱。

$ git init [--bare] <new repo>
# push orphan branch from orig to new repo as `push.default = current` in config
$ git remote add <new repo name> <path>
$ git push <new repo name>
# manually copy relevant tags from orig repo to new repo's `.git/refs/tags` dir

--local --no-hardlinks --branch orphan1 --single-branch即使只克隆了一个本地/远程分支对,使用克隆也似乎会将所有orig仓库对象克隆到新仓库中。

UPDATE2-首选解决方案:如以下两个答案所示,可以通过git initgit clone手动进行的多种方式来解决此问题.git/packed-refs我正在根据以下公认的答案使用此食谱。

git init orphan1
cd orphan1
git fetch C:/repos/original-git-repo orphan1:orphan1
git checkout orphan1
git branch -m master
吉尔

您可以仅使用url和refname来获取所需的任何内容

git init orphan1
cd orphan1
git fetch /path/to/original orphan1:orphan1

和其他人一样

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在裸露的Git存储库中创建master分支?

来自分类Dev

在git中的远程存储库上创建私有分支

来自分类Dev

git从远程存储库中拉出所有分支

来自分类Dev

将ZipArchive条目提取到Blob存储

来自分类Dev

如何将本地git存储库中的所有远程分支转换为本地跟踪分支

来自分类Dev

如何在不影响GIT的远程存储库的情况下将更改保留在本地分支中?

来自分类Dev

将几个Maven模块提取/移动到新的Git存储库中

来自分类Dev

跟踪裸git存储库中的分支?

来自分类Dev

如何在保留历史记录和文件结构的同时将git存储库的一部分提取到它自己的存储库中?

来自分类Dev

是否有必要从Git存储库中删除分支?

来自分类Dev

无法将存储在Firebase数据库中的图像(静态)提取到我的应用程序中

来自分类Dev

将一组给定的文件提取到存储库

来自分类Dev

将功能提取到react-leaflet中的独立自定义React组件

来自分类Dev

如何提取那些未在中间git存储库中检出的提交/分支

来自分类Dev

Git-远程分支分支的存储库

来自分类Dev

将几个Maven模块提取/移动到新的Git存储库中

来自分类Dev

如何更新从git本地存储库中获取的分支?

来自分类Dev

如何查看远程git存储库中的所有分支

来自分类Dev

如何在不同的git存储库中的文件夹中创建独立的git存储库?

来自分类Dev

Git分支作为存储库

来自分类Dev

Git拉本地存储库中的所有分支

来自分类Dev

使用Gradle将所需的库提取到生成的Jar中

来自分类Dev

Heroku应用程序似乎是从错误的Git存储库/分支中提取的

来自分类Dev

将MVC视图中的javascript jquery内容提取到独立的.js文件中

来自分类Dev

删除Git存储库中未列出的分支

来自分类Dev

我可以将代码转换为NPM模块,而无需将其从项目中提取到其自己的存储库中吗?

来自分类Dev

将 git-svn 分支与 git 存储库同步

来自分类Dev

将 git 存储库中的所有提交转换为按顺序命名的分支?

来自分类Dev

将 git 分支推送到其他存储库

Related 相关文章

  1. 1

    如何在裸露的Git存储库中创建master分支?

  2. 2

    在git中的远程存储库上创建私有分支

  3. 3

    git从远程存储库中拉出所有分支

  4. 4

    将ZipArchive条目提取到Blob存储

  5. 5

    如何将本地git存储库中的所有远程分支转换为本地跟踪分支

  6. 6

    如何在不影响GIT的远程存储库的情况下将更改保留在本地分支中?

  7. 7

    将几个Maven模块提取/移动到新的Git存储库中

  8. 8

    跟踪裸git存储库中的分支?

  9. 9

    如何在保留历史记录和文件结构的同时将git存储库的一部分提取到它自己的存储库中?

  10. 10

    是否有必要从Git存储库中删除分支?

  11. 11

    无法将存储在Firebase数据库中的图像(静态)提取到我的应用程序中

  12. 12

    将一组给定的文件提取到存储库

  13. 13

    将功能提取到react-leaflet中的独立自定义React组件

  14. 14

    如何提取那些未在中间git存储库中检出的提交/分支

  15. 15

    Git-远程分支分支的存储库

  16. 16

    将几个Maven模块提取/移动到新的Git存储库中

  17. 17

    如何更新从git本地存储库中获取的分支?

  18. 18

    如何查看远程git存储库中的所有分支

  19. 19

    如何在不同的git存储库中的文件夹中创建独立的git存储库?

  20. 20

    Git分支作为存储库

  21. 21

    Git拉本地存储库中的所有分支

  22. 22

    使用Gradle将所需的库提取到生成的Jar中

  23. 23

    Heroku应用程序似乎是从错误的Git存储库/分支中提取的

  24. 24

    将MVC视图中的javascript jquery内容提取到独立的.js文件中

  25. 25

    删除Git存储库中未列出的分支

  26. 26

    我可以将代码转换为NPM模块,而无需将其从项目中提取到其自己的存储库中吗?

  27. 27

    将 git-svn 分支与 git 存储库同步

  28. 28

    将 git 存储库中的所有提交转换为按顺序命名的分支?

  29. 29

    将 git 分支推送到其他存储库

热门标签

归档