【问题标题】:Maven release of Github project fails for using wrong Github accountGithub 项目的 Maven 版本因使用错误的 Github 帐户而失败
【发布时间】:2013-12-21 00:18:04
【问题描述】:

我正在使用 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。

【问题讨论】:

    标签: macos maven github release maven-scm


    【解决方案1】:

    最简单的方法是显式使用 ssh url,查看更多详细信息 in this answer

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

    【讨论】:

    • 谢谢——问题是,HTTPS URL 通过git 可以正常工作,这是一个 Git 设置。这只是与Maven有关。但是,您促使我更加努力地考虑 HTTPS,我想通了。我认为这个答案在它只是避免 HTTPS 的意义上也有效,但我会写下 HTTPS 的愚蠢真实答案。
    • 是关于钥匙串缓存的好点。我更多地考虑在项目 设置中严格和明确,如果可能的话,使用明确的用户名使用 ssh url。当然,除非 Maven 版本由多个用户共享。但即便如此,有人可能会争辩说,拥有一个发布专用的用户帐户将是有利的。
    • 就是这样,很多用户都使用它,如果我把我的用户名放在那里,我认为这会干扰正常的git 操作?没有把握。但同意这是一个很好的做法。
    • Github 支持每个 repo 多个用户(请参阅help.github.com/articles/how-do-i-add-a-collaborator)。因此,为您的命令行git ops 拥有一个发布用户和一个普通用户(这就是您所说的正常流程吗?)应该没问题,但是最好将 repo 与 repo maven 使用的 repo 正交克隆到释放。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2023-03-31
      • 2018-10-21
      • 1970-01-01
      相关资源
      最近更新 更多