2013-12-21 2 views
1

Я выполняю выпуск проекта на Github с использованием Maven. release:prepare терпит неудачу с:Выпуск Maven проекта Github не подходит для использования неправильной учетной записи 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.

ответ

0

Наконец-то понял это. Проблема в том, что я на OS X, и вошел в свой второй аккаунт BAZ через Safari. Это сохранили имя пользователя и пароль для https://github.com в Keychain. По-видимому, плагин Maven SCM советует это для URL-адресов HTTPS, хотя git не будет. После очистки Keychain он правильно запросил меня для имени пользователя и пароля.

1

проще всего было бы явно использовать SSH URL, подробнее in this answer.

git remote set-url origin [email protected]:FIZZ/FOO/BAR.git 
+0

Благодарим вас - дело в том, что HTTPS-URL работает отлично с помощью 'git', и это настройка Git. Это как-то связано с Maven. Тем не менее, вы подсказали мне подумать о HTTPS, и я понял это. Я думаю, что этот ответ также работал бы в том смысле, что он просто избегал HTTPS, но я напишу немой реальный ответ для HTTPS. –

+1

Да, хороший момент о кешировании ключей. Я думал больше о строгих и явных в настройках проекта , используя URL-адрес ssh, если это возможно, с явным именем пользователя. Это, конечно же, если выпуски maven не будут использоваться несколькими пользователями. Но даже тогда можно было бы утверждать, что иметь специальную учетную запись пользователя, предназначенную для релиза, будет выгодным. – mockinterface

+0

Это то, что многие пользователи используют это, и я думаю, что это помешало бы нормальным операциям 'git', если бы я поставил там свое имя пользователя? Не уверен. Но согласитесь, что это хорошая практика. –

Смежные вопросы