如何快速刷新与一个 git-repo 相关的多个工作目录

How to quickly refresh several workdirs related to one git-repo

我有一个项目,存储为 git-repo。回购有几个分支。我还为该项目使用 OpenGrok(源浏览器)。为了能够显示我多次克隆项目的所有分支,然后 'checkout' 需要的分支。

为了更新每个工作目录,我为每个工作目录做了 'git fetch && git merge'。

问:有没有办法有一个"main" clone,哪里需要做git fetch。之后每个工作目录将从 "main" 克隆更新。

正是 git worktree 命令解决了这个问题:一个 repo 但几个工作树。查找该命令的手册!

该问题没有说明在分支克隆中避免 git fetch 的原因,因此我将其作为两部分问题。

如果是为了节省网络带宽,您可以将分支克隆的 origin 更改为主 Git 存储库。

或者,如果问题是找到有效同步分支克隆的方法,我建议您查看 OpenGrok 提供的 Python 工具。具体来说,opengrok-mirror 工具提供了一种将本地存储库与其来源“同步”的方法。有关详细信息,请参阅 https://github.com/oracle/opengrok/wiki/Repository-synchronization