在我的本地系统中,我有大量的git,有10个不同的分支,在这10个分支中,主存储库大约是2GB。当我从任何branch1切换到主分支时,Git试图签出本地系统本身中的所有文件,如何减少这里的时间。
[linux@linux_001 myrepo]$ time git checkout master
Checking out files: 100% (25765/25765), done.
Switched to branch 'master'
real 0m55.617s
user 0m35.597s
sys 0m5.00
我正在处理一个巨大的存储库,我们总共有900人正在处理这个问题,为每个特性/bug/hotfix(让我们称之为“自定义分支”)创建一个新分支,并且在成功测试并将其合并到主线分支( total : 5)之后删除该分支,这将导致类似unable to lock local ref这样的错误。
我们的存储库结构采用以下格式进行暂存:
mainline-level-1
-> mainline-level-2
-> mainline-level-3
场景是,我在一个任务的中间,在一个特性分支中,然后我被要求做一个快速的热修复,或者在另一个分支上做一些测试。
因此,一种方法是关闭我当前的工作,要么藏起来(希望我记得我把它藏起来了),要么把它提交到我的本地回购中,然后选择使用"WIP“前缀(正在进行中的工作)来推动它。
所有这些都很烦人,而且需要时间。
我想要发生的是,我运行这样的东西:
git fetch
git something to clone the required branch, or create a new branch for the required hotfix into a separate director