我正在使用Maven在Github上执行项目版本。 release:prepare
失败:Github项目的Maven版本因使用错误的Github帐户而失败
[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的
谢谢 - 事情是,HTTPS URL可以通过'git'正常工作,这是一个Git设置。这只是与Maven有关。但是,您促使我更加深入地思考HTTPS,并将其弄清楚。我认为这个答案也会起作用,因为它只是避免使用HTTPS,但我会写下关于HTTPS的愚蠢的真实答案。 –
有关钥匙串缓存的好处。我正在考虑在项目设置中严格明确地使用ssh url,如果可能的话使用明确的用户名。当然,除非maven版本被多个用户共享。但即使如此,人们可能会争辩说,拥有一个专用于发布的用户帐户将是有利的。 –
mockinterface
就是这样,很多用户使用这个,如果我把用户名放在那里,我认为这会干扰正常的'git'操作?不确定。但同意这是一个很好的做法。 –