1

我正在使用 Maven 在 Github 上发布一个项目。release:prepare失败:

[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] remote: Permission to FOO/BAR.git denied to BAZ.
[ERROR] fatal: unable to access 'https://github.com/FOO/BAR.git/': The requested URL returned error: 403

奇怪的是,这BAZ是“错误”的github.com帐户。它是我在 Github 上使用的两个用户名之一,但不是我在BAR项目中使用过的一个。假设正确的帐户是FIZZ.

SCM 设置不指定用户名:

<scm>
  <connection>scm:git:https://github.com/FOO/BAR.git</connection>
  <url>scm:git:https://github.com/FOO/BAR.git</url>
  <developerConnection>scm:git:https://github.com/FOO/BAR.git</developerConnection>
  ...
</scm>

FOO是我参与的一个组织。)事实上,我不知道究竟BAZ是从哪里来的。它不在~/.gitconfigor中.git/config。没有~/.m2/settings.xml文件。我的 Mavensettings.xml文件没有提到 Github。

如果我git在命令行上使用它可以工作——push例如很好。

谁能告诉我这可能来自哪里?某个隐藏的配置文件或目录,无论是 Maven 还是 Git 相关的?

或者,记录 Github 用户以在私有本地文件中使用的最佳做法是什么,比如 Mavensettings.xml.git/config,这样我就不需要将自己的用户放入构建文件中?

我正在使用 Mac OS X。

4

2 回答 2

1

最简单的方法是显式使用 ssh url,请参阅此答案中的更多详细信息。

git remote set-url origin git@github.com:FIZZ/FOO/BAR.git
于 2013-12-21T05:46:55.957 回答
0

终于想通了。问题是我在 OS X 上,并且已经BAZ通过 Safari 登录到我的第二个帐户。这保存了https://github.com钥匙串中的用户名和密码。显然,Maven SCM 插件会针对 HTTPS URL 进行咨询,但git不会。清除钥匙串后,它正确提示我输入用户名和密码。

于 2013-12-21T11:17:49.853 回答