【问题标题】:Find a branch of particular commit and checkout to it找到特定提交的分支并签出它
【发布时间】:2015-05-18 11:46:14
【问题描述】:

我怎样才能轻松地找到具有特定提交的分支并以崎岖不平的方式签出它,这样我就不会以“分离 HEAD”状态结束?

我想一步一步来:

  • 克隆存储库
  • repo.lookup commithash 返回 catch 异常并在 Rugged::OdbError: Object not found 发生时退出
  • 找到一个包含给定提交哈希的分支
  • 结帐到那个分支

【问题讨论】:

  • 当您实施问题中概述的步骤时,您观察到了什么?
  • 我不知道怎么做第三步。使用强制策略检查提交会使我处于分离的 HEAD 状态,我想避免这种状态
  • 第三步是什么意思?你知道你在某个特定的提交中有一个 barnch 并且想找到它吗?如果你签出一个提交,你必须分离 HEAD。如果你想签出一个分支,你必须通过指定分支/引用。
  • 我想做类似的事情: git branch --contains * devel master release-branch

标签: ruby git rugged


【解决方案1】:

我遇到了同样的问题,但在我的情况下是当我尝试在 CircleCi 上运行脚本时,所以为了避免错误,你应该运行 [[ ! -s \"$(git rev-parse --git-dir)/shallow\" ]] || git fetch --unshallow,也许在你的情况下你应该只运行 git fetch --unshallow 然后运行你想要的任务。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2011-01-29
    • 1970-01-01
    • 2014-01-22
    • 2013-08-26
    • 2018-04-26
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    相关资源
    最近更新 更多