为具有不同配置的同一git存储库的多个副本节省空间
我有大小大于2GB的git存储库。我们公司每年发布一个版本,并且支持每一个版本5年,所以我需要5个具有不同分支和不同配置的存储库 我需要几乎13GB的.git目录(没有源文件和附加库)为具有不同配置的同一git存储库的多个副本节省空间,git,Git,我有大小大于2GB的git存储库。我们公司每年发布一个版本,并且支持每一个版本5年,所以我需要5个具有不同分支和不同配置的存储库 我需要几乎13GB的.git目录(没有源文件和附加库) 是否有一种方法可以共享.git存储库信息以节省空间?例如,每个项目都有一个包含大多数提交和小更改集的中心文件夹?您应该查看git worktree命令(git版本2.5.1或更高版本) 例如: # git worktree add <path> [<branch>] $ git work
是否有一种方法可以共享.git存储库信息以节省空间?例如,每个项目都有一个包含大多数提交和小更改集的中心文件夹?您应该查看
git worktree
命令(git版本2.5.1或更高版本)
例如:
# git worktree add <path> [<branch>]
$ git worktree add ../version-42/ origin/tag-v42
#git工作树添加[]
$git工作树添加../version-42/origin/tag-v42
这将创建一个包含新工作目录的新文件夹
从文件中
新的工作目录链接到当前存储库,共享除工作目录特定文件(如HEAD、index等)之外的所有内容
这将为您节省大量空间。只有一件事要记住:您不能同时拥有两个具有相同分支的工作目录(工作树)
附加信息 使用
git worktree list
获取已注册的工作树及其各自分支的列表
使用
git worktree prune
更新工作树列表(如果您删除了一个或多个)您应该查看git worktree
命令(git版本2.5.1或更高版本)
例如:
# git worktree add <path> [<branch>]
$ git worktree add ../version-42/ origin/tag-v42
#git工作树添加[]
$git工作树添加../version-42/origin/tag-v42
这将创建一个包含新工作目录的新文件夹
从文件中
新的工作目录链接到当前存储库,共享除工作目录特定文件(如HEAD、index等)之外的所有内容
这将为您节省大量空间。只有一件事要记住:您不能同时拥有两个具有相同分支的工作目录(工作树)
附加信息 使用
git worktree list
获取已注册的工作树及其各自分支的列表
使用
git worktree prune
更新工作树列表(如果您删除了一个或多个)您真的需要5个存储库或5个工作目录吗?这5个不同的存储库还是同一个存储库中的唯一标记?它是同一个存储库,只是不同的分支。我需要将它们分开,因为库和脚本是唯一的,出于各种原因而保留在git之外,并且还专门配置了IDE对于每个版本。你真的需要5个存储库或5个工作目录吗?这5个不同的存储库还是同一个存储库中的唯一标记?它是同一个存储库,只是不同的分支。我需要将它们分开,因为库和脚本是唯一的,并且由于各种原因而保留在git之外,还有IDE配置每一次发布都会被专门编辑。