GIT 致命:模棱两可的参数“HEAD”:未知修订版或路径不在 Travis 的工作树中

Posted

技术标签:

【中文标题】GIT 致命:模棱两可的参数“HEAD”:未知修订版或路径不在 Travis 的工作树中【英文标题】:GIT fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree in Travis 【发布时间】:2016-09-15 04:44:10 【问题描述】:

我有以下配置:

git version 1.8.5.6
GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)

我打电话给zgit_info_update 并尝试提交。但是在 Travis (Git diff command returns error #6069) 中从 Bash 运行 git diff --name-only dev 时我仍然遇到问题。

我怎样才能让它工作?

这里是输出:

git version 1.8.5.6
GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later       <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
* (detached from FETCH_HEAD)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
[detached HEAD 72afa70] Add package.json
 1 file changed, 37 insertions(+)
 create mode 100644 package.json
fatal: ambiguous argument 'dev': unknown revision or path not in the   working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

【问题讨论】:

暗中刺伤:先试试git pull ing? 【参考方案1】:

更简单的解决方法是

git remote set-branches --add origin $BRANCH_TO_DIFF_AGAINST
git fetch
git diff origin/$BRANCH_TO_DIFF_AGAINST

【讨论】:

解释一下。例如,想法/要点是什么?为什么它可以解决问题?请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。 这和defrex's comment on the issue on GitHub非常相似。【参考方案2】:

使用以下命令解决了该问题:

if [ "$TRAVIS" == "true" ]; then
  # Resolving `detached HEAD` by attaching HEAD to the `TRAVIS_FROM_BRANCH` branch
  TRAVIS_FROM_BRANCH="travis_from_branch"
  git branch $TRAVIS_FROM_BRANCH
  git checkout $TRAVIS_FROM_BRANCH

  # Fetching `TRAVIS_BRANCH` branch
  git fetch origin $TRAVIS_BRANCH
  git checkout -qf FETCH_HEAD
  git branch $TRAVIS_BRANCH
  git checkout $TRAVIS_BRANCH

  # Switch to `TRAVIS_FROM_BRANCH`
  git checkout $TRAVIS_FROM_BRANCH
fi

【讨论】:

解释一下。例如,想法/要点是什么?它应该做什么和实现什么?为什么需要 7 次 Git 调用?请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。

以上是关于GIT 致命:模棱两可的参数“HEAD”:未知修订版或路径不在 Travis 的工作树中的主要内容,如果未能解决你的问题,请参考以下文章

git submodule update --init 给出错误致命:需要单个修订版无法在子模块路径中找到当前修订版

错误:无法创建符号链接,致命:无法将索引文件重置为修订版“HEAD”

要从gitlab repo中删除最新的提交,并删除旧的本地提交

尝试使用“brew tap aws/tap”命令在 ubuntu 上通过 brew 安装 aws-sam-cli,出现错误“致命:无法将 HEAD 解析为修订版”

ssh:无法解析主机名 git:名称或服务未知 致命:无法从远程存储库读取

HEAD修订的问题