一个 git 工作树是否支持多个分支?
Does one git worktree support multiple branches?
根据文档,每个 git worktree
服务一个 branch
(dev
/feature
/prod
等等),但听起来也不是对我来说合理的是,每个分支都有自己的 worktree
,因为它会创建许多文件夹,并且在某些时候可能会造成混淆。
一个git worktree
可以支持多个branches
吗?例如属于 feature
的所有分支,然后在当前相关的内容之间切换?这是正确的做法吗?
来自https://git-scm.com/docs/git-worktree
A git repository can support multiple working trees, allowing you to check out more than one branch at a time. With git worktree add a new working tree is associated with the repository. This new working tree is called a "linked working tree" as opposed to the "main working tree" prepared by git-init or git-clone.
如果你想添加一个新的分支到工作树你需要这样写:
git worktree add <path> <branch_name>
例如:
git checkout -B new_branch
git checkout main
git worktree add ./new_branch new_branch
删除它:
git worktree remove
它看起来如何:
in tree view
在路径参数中你可以传递任何东西。所以你可以根据需要管理你的分支,例如你可以创建文件夹,你将只存储有错误修复或未来的分支。
git worktree
创建一个共享您现有本地存储库的新签出。它有自己的 HEAD,用于跟踪当前签出的提交,以及用于构建提交的暂存区。它的主要目的是能够同时在多个分支上工作,而不必克隆整个存储库或隐藏您的更改。
工作树的工作原理与任何其他结帐基本相同。您可以切换到您喜欢的任何分支,除非它已经被另一个工作树检出。你可以 运行 git-平分。你可以变基。
工作树不必用于新分支,它可以用于现有分支。 git worktree add ../temp master
将创建一个工作树,主节点已检出。
如果您打算同时在多个分支上工作,您只需要创建工作树。例如,您正在处理一项功能并且有很多未提交的更改并且出现紧急修复。您可以为该修复创建一个工作树,在工作树中进行修复,然后 return 到您的原始功能工作。或者你可能想针对旧版本测试一些东西,你可以制作一个工作树并检查旧版本。
一个好的开发过程不需要你同时在多个分支上工作。
根据文档,每个 git worktree
服务一个 branch
(dev
/feature
/prod
等等),但听起来也不是对我来说合理的是,每个分支都有自己的 worktree
,因为它会创建许多文件夹,并且在某些时候可能会造成混淆。
一个git worktree
可以支持多个branches
吗?例如属于 feature
的所有分支,然后在当前相关的内容之间切换?这是正确的做法吗?
来自https://git-scm.com/docs/git-worktree
A git repository can support multiple working trees, allowing you to check out more than one branch at a time. With git worktree add a new working tree is associated with the repository. This new working tree is called a "linked working tree" as opposed to the "main working tree" prepared by git-init or git-clone.
如果你想添加一个新的分支到工作树你需要这样写:
git worktree add <path> <branch_name>
例如:
git checkout -B new_branch
git checkout main
git worktree add ./new_branch new_branch
删除它:
git worktree remove
它看起来如何: in tree view
在路径参数中你可以传递任何东西。所以你可以根据需要管理你的分支,例如你可以创建文件夹,你将只存储有错误修复或未来的分支。
git worktree
创建一个共享您现有本地存储库的新签出。它有自己的 HEAD,用于跟踪当前签出的提交,以及用于构建提交的暂存区。它的主要目的是能够同时在多个分支上工作,而不必克隆整个存储库或隐藏您的更改。
工作树的工作原理与任何其他结帐基本相同。您可以切换到您喜欢的任何分支,除非它已经被另一个工作树检出。你可以 运行 git-平分。你可以变基。
工作树不必用于新分支,它可以用于现有分支。 git worktree add ../temp master
将创建一个工作树,主节点已检出。
如果您打算同时在多个分支上工作,您只需要创建工作树。例如,您正在处理一项功能并且有很多未提交的更改并且出现紧急修复。您可以为该修复创建一个工作树,在工作树中进行修复,然后 return 到您的原始功能工作。或者你可能想针对旧版本测试一些东西,你可以制作一个工作树并检查旧版本。
一个好的开发过程不需要你同时在多个分支上工作。