【问题标题】:git worktree add [from specific commit hash]git worktree add [来自特定的提交哈希]
【发布时间】:2018-09-22 22:36:00
【问题描述】:

所以我有一个项目早期的提交哈希。如何创建一个新的工作树并让它的分支从这个特定的提交开始?

【问题讨论】:

    标签: git git-branch git-commit git-worktree


    【解决方案1】:

    在工作树之前创建分支:

    git branch newbranch $SHA1
    git worktree add /path/to/wt newbranch
    

    【讨论】:

      【解决方案2】:

      使用the git worktree documentation中描述的命令:

      git worktree add [--detach] [-b ] []

      在这种情况下可能是,例如:

      $ cd gitrepo
      $ git worktree add -b workbranch ../gitrepo.workbranch d16c37964
      Preparing ../gitrepo.workbranch (identifier gitrepo.workbranch)
      HEAD is now at d16c37964 Merge branch 'jk/attributes-path-doc'
      

      之后:

      $ cd ../gitrepo.workbranch
      $ git status
      On branch workbranch
      nothing to commit, working tree clean
      $ git rev-parse HEAD
      d16c37964c284fa599251caafb51128c0df925a9
      

      【讨论】:

      • 谢谢!我现在正在尝试这个,并会给出结果。在文档中让我感到困惑的一件事是在某些 cli 标志周围使用 [ 和 ] 。它们的用途是什么?
      • 方括号表示某些内容是可选的。见stackoverflow.com/questions/9725675/…
      • 感谢@torek!所以现在似乎为我工作!然而,我要注意的一件事是,在命令中同时运行 --detach 和 -b 会导致一个错误,指出 -b -B 和 --detach 是互斥的,所以我现在已经从命令。请问:为什么你认为 --detach 应该在命令中?
      • 黄色背景上的文本(StackOverflow 的引用标记)是我从文档中真正复制的地方,仅显示所有(好吧,大部分)选项。灰色背景上的文字是我写的,没有使用--detach。使用现有分支名称时,您将使用 --detach 强制工作树进入“分离 HEAD”模式。当心-B(大写B),它可以强制重置现有的分支名称以指向特定的提交。
      猜你喜欢
      • 2018-06-21
      • 2014-10-29
      • 2012-12-31
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 2021-07-16
      相关资源
      最近更新 更多