Zit*_*rax 5 git git-checkout git-worktree
我知道可以像这样创建一个新的孤立分支:
git checkout --orphan <new_branch>
Run Code Online (Sandbox Code Playgroud)
但是,这使用了我当前的工作树,我想完全保留它。我试过:
git --work-tree=/tmp/test checkout --orphan <new_branch>
Run Code Online (Sandbox Code Playgroud)
但这似乎也使用了我当前的工作树,而不是我指定使用的工作树--work-tree。
我可以使用第二个克隆,但这似乎不是最佳选择。任何使用工作树解决这个问题的方法?
制作一个带有分离头的工作树然后孤立它:
git worktree add --detach /.../dir
cd /.../dir
git checkout --orphan branch
Run Code Online (Sandbox Code Playgroud)
您可以尝试git-worktree。
git checkout --orphan <new_branch>
git commit
git worktree add /tmp/test <new_branch>
# switch to the previous branch
git checkout -
# or
git checkout <previous_branch>
cd /tmp/test
# do something to <new_branch>
Run Code Online (Sandbox Code Playgroud)
现在/tmp/test是一个子工作树。.git它与主工作树共享相同的内容。如果您不再需要子工作树,只需删除/tmp/test. 新的提交存储在主存储库中。
如果您的 Git 尚不支持 git-worktree,您需要更新的版本。
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |