同步与多仓库

工作树与子模块

工作树

工作树(worktree)是同一个仓库的第二份检出,各自待在自己的文件夹里——于是你可以去看 main,而 feature/x 原封不动地停在你离开时的样子,一次贮藏都不用。

  • 在侧边栏里创建和删除工作树。双击其中一个,它会作为自己的标签页打开;右键菜单里有打开工作树、在文件夹中显示和移除。
  • 右键点任意一个本地分支 → 在工作树中打开,就能在同级文件夹里开出一份,并作为一个标签页打开它。
  • 一个分支同一时间只能待在一个工作树里,所以检出另一个工作树已经持有的分支根本不可能成功 —— git 会以 already used by worktree at … 拒绝。Gitcito 改为带你过去:分支菜单写着前往 x 所在的工作树,双击该行会打开那个工作树的标签页,而不是报错。

侧边栏的工作树与子模块两块区域,都有内容

子模块

添加、更新(初始化并检出)、同步 URL、删除子模块,每一个都带实时状态:

状态 含义
已同步 检出在父仓库所记录的那个提交上
已修改 检出在别的地方,或者是脏的
未初始化 已记录,但从未检出过

子模块各占一行,各自带着状态

另请参阅: LFS 与稀疏检出 · 获取、拉取与推送

在 GitHub 上改进这份翻译