git-log error: ambiguous argument 'master'
git-log error: ambiguous argument 'master'
我正在 运行 构建 java 项目的 Maven 构建,该项目存储在 git 存储库中。当在构建服务器(使用 Bamboo)上发布计划 运行s 时,它会发出以下 git 命令:
git log -n1 --date-order master
但收到以下错误:
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
我当然有一个 master 分支,当我下拉 repo 和 运行 本地命令时它工作正常。我的猜测是构建服务器上有不同的配置,但我不知道要寻找什么。我希望你们中的一位 git 专家能有一些见解。
作为参考,这是我从 Maven 构建中获得的实际错误日志。它发生在 buildnumber-maven-plugin 执行期间:
build 19-Aug-2015 15:10:28 [INFO] [INFO] --- buildnumber-maven-plugin:1.2:create (default) @ my-rest-project ---
build 19-Aug-2015 15:10:28 [INFO] [INFO] Verifying there are no local modifications ...
build 19-Aug-2015 15:10:28 [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git status --porcelain
build 19-Aug-2015 15:10:28 [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build 19-Aug-2015 15:10:28 [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git log -n1 --date-order master
build 19-Aug-2015 15:10:28 [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build 19-Aug-2015 15:10:28 [INFO] [ERROR] Provider message:
build 19-Aug-2015 15:10:28 [INFO] [ERROR] The git-log command failed.
build 19-Aug-2015 15:10:28 [INFO] [ERROR] Command output:
build 19-Aug-2015 15:10:28 [INFO] [ERROR] fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
build 19-Aug-2015 15:10:28 [INFO] Use '--' to separate paths from revisions, like this:
build 19-Aug-2015 15:10:28 [INFO] 'git <command> [<revision>...] -- [<file>...]'
构建服务器可能只有来自您而非 git 存储库的文件。这是许多构建服务器中非常常见的设置,您可能需要检查是否属于这种情况。
许多构建服务器还提供选项来检出存储库。
在 运行安装 maven-release-plugin 2.2 及更低版本时有效。
事实证明,当发布插件在版本 2.3-2.5 之间时,maven-release-plugin 和 maven-buildnumber-plugin 之间存在某种冲突(2.5 是撰写本文时的最新版本)。
我不确定错误的确切原因是什么,但日志显示 release-plugin 在这些版本中执行了一个额外的 git 命令,它以某种方式导致了 buildnumber 插件 运行 就在它失败之后。
具体来说,它 运行s git ls-remote ssh://git@reponame.git
和 运行s 它在一个临时目录中,而不是所有其他 git 命令 运行 的目录in。我不确定这是 Maven 故障还是 Bamboo 故障。无论如何,我现在知道如何解决它了。
更新:
在 运行 遇到另一个 bamboo/maven-release/git 问题迫使我将 maven-release-plugin 升级到 2.5 后,我确定解决所有这些问题的唯一方法是删除 buildnumber 插件。最终是内部版本号插件导致了这个问题,毕竟它对我的工作流程并不重要。
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
这似乎是一些 git 版本问题,其中 git 命令(或包)运行 在我们的 CI 盒子上与生成的命令不兼容buildnumer-maven-plugin
。它在我的 Mac.
本地为我工作
我们 CI 框上的修复是将 doUpdate
更改为 false
。我们已经将 doCheck
设置为 false
,所以现在我们的配置如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
...
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate> <!-- changed this from true -->
</configuration>
</plugin>
这会导致 buildnumber-maven-plugin 发出以下 git 命令,该命令似乎在任何地方都运行良好:
[INFO] --- buildnumber-maven-plugin:1.4:create (default) @ parent ---
[INFO] Executing: /bin/sh -c cd '/build/parent' && 'git' 'rev-parse' '--verify' 'HEAD'
我正在 运行 构建 java 项目的 Maven 构建,该项目存储在 git 存储库中。当在构建服务器(使用 Bamboo)上发布计划 运行s 时,它会发出以下 git 命令:
git log -n1 --date-order master
但收到以下错误:
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
我当然有一个 master 分支,当我下拉 repo 和 运行 本地命令时它工作正常。我的猜测是构建服务器上有不同的配置,但我不知道要寻找什么。我希望你们中的一位 git 专家能有一些见解。
作为参考,这是我从 Maven 构建中获得的实际错误日志。它发生在 buildnumber-maven-plugin 执行期间:
build 19-Aug-2015 15:10:28 [INFO] [INFO] --- buildnumber-maven-plugin:1.2:create (default) @ my-rest-project ---
build 19-Aug-2015 15:10:28 [INFO] [INFO] Verifying there are no local modifications ...
build 19-Aug-2015 15:10:28 [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git status --porcelain
build 19-Aug-2015 15:10:28 [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build 19-Aug-2015 15:10:28 [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git log -n1 --date-order master
build 19-Aug-2015 15:10:28 [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build 19-Aug-2015 15:10:28 [INFO] [ERROR] Provider message:
build 19-Aug-2015 15:10:28 [INFO] [ERROR] The git-log command failed.
build 19-Aug-2015 15:10:28 [INFO] [ERROR] Command output:
build 19-Aug-2015 15:10:28 [INFO] [ERROR] fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
build 19-Aug-2015 15:10:28 [INFO] Use '--' to separate paths from revisions, like this:
build 19-Aug-2015 15:10:28 [INFO] 'git <command> [<revision>...] -- [<file>...]'
构建服务器可能只有来自您而非 git 存储库的文件。这是许多构建服务器中非常常见的设置,您可能需要检查是否属于这种情况。
许多构建服务器还提供选项来检出存储库。
在 运行安装 maven-release-plugin 2.2 及更低版本时有效。
事实证明,当发布插件在版本 2.3-2.5 之间时,maven-release-plugin 和 maven-buildnumber-plugin 之间存在某种冲突(2.5 是撰写本文时的最新版本)。
我不确定错误的确切原因是什么,但日志显示 release-plugin 在这些版本中执行了一个额外的 git 命令,它以某种方式导致了 buildnumber 插件 运行 就在它失败之后。
具体来说,它 运行s git ls-remote ssh://git@reponame.git
和 运行s 它在一个临时目录中,而不是所有其他 git 命令 运行 的目录in。我不确定这是 Maven 故障还是 Bamboo 故障。无论如何,我现在知道如何解决它了。
更新: 在 运行 遇到另一个 bamboo/maven-release/git 问题迫使我将 maven-release-plugin 升级到 2.5 后,我确定解决所有这些问题的唯一方法是删除 buildnumber 插件。最终是内部版本号插件导致了这个问题,毕竟它对我的工作流程并不重要。
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
这似乎是一些 git 版本问题,其中 git 命令(或包)运行 在我们的 CI 盒子上与生成的命令不兼容buildnumer-maven-plugin
。它在我的 Mac.
我们 CI 框上的修复是将 doUpdate
更改为 false
。我们已经将 doCheck
设置为 false
,所以现在我们的配置如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
...
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate> <!-- changed this from true -->
</configuration>
</plugin>
这会导致 buildnumber-maven-plugin 发出以下 git 命令,该命令似乎在任何地方都运行良好:
[INFO] --- buildnumber-maven-plugin:1.4:create (default) @ parent ---
[INFO] Executing: /bin/sh -c cd '/build/parent' && 'git' 'rev-parse' '--verify' 'HEAD'