Невозможно нажать, используя EGit и Bitbucket
Я пытался запустить проект с использованием EGit с Bitbucket, но я не могу продвинуть проект в репозиторий на сервере.
Это шаги, которые я выполнил (я постараюсь быть очень конкретным, чтобы другие люди могли использовать его в качестве учебного режима, хотя он не работает для меня, он может работать для других):
1) Я установил Git на Ubuntu 12.10, используя этот учебник
2) Следуйте этому руководству для GitHub.
- Начать новый проект C++ в Eclipse
- В разделе "Окно"> "Настройки"> "Общие"> "Сетевое подключение"> "SSH2"> "Управление ключами" я сгенерировал новый ключ RSA и добавил его в список ключей развертывания моего репозитория на Bitbucket.
- Щелкните правой кнопкой мыши по проекту eclipse: Team> Share project; Команда> Добавить в индекс; Команда> Commit
- Окно> Показать вид> Другое> Git> Репозитории Git
- Щелкните правой кнопкой мыши на пульте дистанционного управления> Create Remote> Checked "Configure push" и введите имя моего проекта
- Добавить URL Push:
ssh://[email protected]/myuser/myrepository.git
, Protocol: ssh; порт: пустой; Пользователь: git; Пароль: пусто - Расширенная кнопка под отображением Ref и выбрана "основная" версия. Если этот шаг работает, это означает, что ключ RSA правильно настроен в Bitbucket и EGit. В противном случае будет отображаться ошибка подключения.
Все сделано. Однако, когда я нажимаю "Push", я получаю следующую ошибку:
ssh://[email protected]/myuser/myrepository.git: push not permitted
Я пробовал каждую конфигурацию: переключился на новое рабочее пространство, обновил Eclipse, создал новые репозитории, снова установил Git... Любые идеи?
Ответы
Ответ 1
Хорошо, я наконец нашел способ работать с ним.
Это просто изменение режима аутентификации. Если используется ссылка HTTPS, вместо использования ссылки SSH все работает отлично. Кажется, что SSH работает только в режиме только для чтения.
![SSH/HTTPS selection]()
Конечно, метод аутентификации отличается: вы должны ввести пароль, а ключи SSH, хранящиеся в Bitbucket, больше не нужны.
Для тех, кто испытывает проблемы с EGit, я рекомендую следовать правилу Eugener для автоматической настройки EGit. Затем вам просто нужно выбрать HTTPS в качестве режима аутентификации, чтобы нажать сохраненные фиксации.
Ответ 2
Существует much simpler way
настройки удаленных репозиториев Git в Eclipse:
- Создайте пустое репо на BitBicket
- Скопировать URL-адрес репо
- Clone repo на ваш компьютер, используя представление "Git Repositories".
- Поделитесь своим проектом с новым клонированным репо.
С момента клонирования репо - удаленные настройки были настроены автоматически. Это означает, что вы сможете сразу нажать
Ответ 3
Это может быть неправильная настройка имени пользователя в.gitconfig.
Ответ 4
Вероятно, связанный, я исправил проблемы "auth fail", следуя инструкциям: http://wangpidong.blogspot.com.es/2012/05/how-to-use-bitbucket-with-egit-in.html
Получил это от: Настройка egit с помощью BitBucket
Ответ 5
В этом конкретном случае я согласен с резолюцией от комментария Оливье Дж. По оригинальному вопросу.
Но у меня была схожая проблема, и это было вызвано чем-то другим. Я разрешил это, и вот что произошло:
-
Я использовал некоторый частный репозиторий в Bitbucket (A) с некоторой учетной записью пользователя и некоторым открытым ключом (X) для доступа к нему. Я имел ключ X загруженной в моем pageant
Шпатлевке брелоке.
-
Затем я создал новый публичный репозиторий (B), также в Bitbucket с другой учетной записью пользователя и другим открытым ключом (Y). Я добавил этот ключ и на pageant
.
-
Когда я пытался получить доступ к репозиторию B, очевидно, был использован открытый ключ X, а не Y, потому что для SSH-клиента оба соединения одинаковы - тот же пользователь (git) на том же хосте (bitbucket.org)! И ключ X был использован первым, потому что... он был загружен раньше? Или, может быть, потому, что его имя было в алфавитном порядке первым? Я не уверен, но результат в том, что...
-
Доступ только для чтения для B с использованием X был предоставлен, потому что репозиторий был общедоступным, и любого действительного пользовательского ключа Bitbucket было достаточно, чтобы получить такой доступ!
-
.. но написание (нажатие) требуемой клавиши Y, которая не использовалась SSH.
Итак, общий совет: разрешить странный git для чтения с помощью ошибок доступа SSH, тщательно проверить, какой секретный ключ фактически используется SSH.
Я разрешил эту проблему, загрузив одновременно только один ключ - X или Y - pageant
но я хотел бы сделать это более умным способом - пожалуйста, дайте мне знать в комментариях, если вы знаете, как это сделать!
Ответ 6
Использование Bitbucket я делаю так:
- создать репозиторий в битбакете
- клонировать пустой репозиторий, используя https-url
- подключите проект в eclipse к репозиторию с помощью опции Team → Share и выберите место, где вы клонировали репо
- index (stage) ваши файлы проекта
- совершать и нажимать