Maven发布的Github项目无法使用错误的Github帐户

时间:2013-12-21 00:18:04

标签: macos maven github release maven-scm

我正在使用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的来源。它不在~/.gitconfig.git/config中。没有~/.m2/settings.xml个文件。我的Maven settings.xml文件对Github一无所知。

如果我在命令行上使用git它可以正常工作 - 例如push就好了。

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

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

我正在使用Mac OS X.

2 个答案:

答案 0 :(得分:1)

最简单的方法是明确使用ssh网址,详情请见in this answer

git remote set-url origin git@github.com:FIZZ/FOO/BAR.git

答案 1 :(得分:0)

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