【问题标题】:Move current branch to a different worktree将当前分支移动到不同的工作树
【发布时间】:2018-09-02 03:59:28
【问题描述】:

我想将我当前的 git 分支移动到不同的 git worktree b/c 我想修改读/写文件权限而不影响当前工作树中其他分支的文件权限。

如何将当前分支移动/复制到不同的工作树以及如何返回原始工作树?

【问题讨论】:

    标签: git git-checkout git-worktree


    【解决方案1】:

    我像这样“移动”一个分支到我的备用工作树

    1. 检查我当前树中的任何其他分支。 (不能签出要移动的分支)
    2. 在我的备用工作树中打开一个 git 窗口并签出我要“移动”的分支

    就是这样。我有两个并排打开的 git 窗口。 (我的主要工作树和我的备用)很容易看到我在做什么。

    VonC 发布了一个很棒的资源 Multiple working tree directories

    【讨论】:

      【解决方案2】:

      试试这个

      • 复制当前工作目录
      • 结账目的地分店
      • 粘贴
      • 提交

      或...

      • git checkout 要移动的分支
      • git rebase 目标分支

      如果发生冲突,如果您想管理它们:

      • git checkout 要移动的分支
      • git rebase -i 目标分支

      【讨论】:

        【解决方案3】:

        您不需要也不能“复制”分支,因为分支是在工作树之间共享的,它已经存在了。可能您的意思是在不同的工作树上签出当前分支。这可以通过两种方式实现:

        • 临时将当前 woktree 签出到另一个分支:git checkout -b tmp(我不确定当您有未提交的更改时它的行为如何),然后在另一个工作树中签出该分支,或者
        • 根据当前使用另一个临时分支。它最初是相同的提交,在大多数情况下应该足够了。

        【讨论】:

          猜你喜欢
          • 2011-11-03
          • 2011-11-01
          • 2023-03-16
          • 2015-01-21
          • 2016-02-02
          • 1970-01-01
          • 2017-09-10
          • 1970-01-01
          相关资源
          最近更新 更多