目前正在进行git rebase
分支到另一个分支(需要一些调整和大部分时间),我们需要在生产(另一个分支)上做一个修补程序。
有办法:
答案 0 :(得分:1)
我按原样离开了项目,并将其git clone
放到另一个文件夹中。我将编码并将修补程序提交到该新文件夹的生产分支中,并在准备好后将它们推回原始项目文件夹。
答案 1 :(得分:0)
简短的回答是否定的。某些项目(例如索引,HEAD
和正在进行的rebase信息)存储在工作树中或与工作树相关联。
你可以像你在自己的答案中所建议的那样,制作一个新的克隆;或者,使用Git 2.6或更高版本,使用git worktree add
。 (git worktree
功能出现在2.5中,但是有一些简短的修复,接着是更长时间的小修复,所以这在最新的Git版本中效果最佳。)
git worktree add
所做的是使用现有存储库创建其他工作树。这与创建新克隆类似,只是直接共享基础.git
存储库。每个添加的工作树都有自己独立的索引,因此, 工作树的 索引不是 索引 > per 工作树。而不是 HEAD
,每个工作树只有一个HEAD
,依此类推。
git worktree add
有一个严格限制:每个工作树必须位于一个单独的分支中。因此,如果您的主要工作树(即您正在进行重新定位的工作树)位于分支develop
上,则您添加的工作树也不能位于分支develop
上。如果您需要或需要,请继续使用单独的克隆。 (你实际上从来没有需要它,但是这方面的细节变得棘手。)