Невозможно нажать, используя 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:

  1. Создайте пустое репо на BitBicket
  2. Скопировать URL-адрес репо
  3. Clone repo на ваш компьютер, используя представление "Git Repositories".
  4. Поделитесь своим проектом с новым клонированным репо.

С момента клонирования репо - удаленные настройки были настроены автоматически. Это означает, что вы сможете сразу нажать

Ответ 5

В этом конкретном случае я согласен с резолюцией от комментария Оливье Дж. По оригинальному вопросу.

Но у меня была схожая проблема, и это было вызвано чем-то другим. Я разрешил это, и вот что произошло:

  1. Я использовал некоторый частный репозиторий в Bitbucket (A) с некоторой учетной записью пользователя и некоторым открытым ключом (X) для доступа к нему. Я имел ключ X загруженной в моем pageant Шпатлевке брелоке.

  2. Затем я создал новый публичный репозиторий (B), также в Bitbucket с другой учетной записью пользователя и другим открытым ключом (Y). Я добавил этот ключ и на pageant.

  3. Когда я пытался получить доступ к репозиторию B, очевидно, был использован открытый ключ X, а не Y, потому что для SSH-клиента оба соединения одинаковы - тот же пользователь (git) на том же хосте (bitbucket.org)! И ключ X был использован первым, потому что... он был загружен раньше? Или, может быть, потому, что его имя было в алфавитном порядке первым? Я не уверен, но результат в том, что...

  4. Доступ только для чтения для B с использованием X был предоставлен, потому что репозиторий был общедоступным, и любого действительного пользовательского ключа Bitbucket было достаточно, чтобы получить такой доступ!

  5. .. но написание (нажатие) требуемой клавиши Y, которая не использовалась SSH.

Итак, общий совет: разрешить странный git для чтения с помощью ошибок доступа SSH, тщательно проверить, какой секретный ключ фактически используется SSH.

Я разрешил эту проблему, загрузив одновременно только один ключ - X или Y - pageant но я хотел бы сделать это более умным способом - пожалуйста, дайте мне знать в комментариях, если вы знаете, как это сделать!

Ответ 6

Использование Bitbucket я делаю так:

  1. создать репозиторий в битбакете
  2. клонировать пустой репозиторий, используя https-url
  3. подключите проект в eclipse к репозиторию с помощью опции Team → Share и выберите место, где вы клонировали репо
  4. index (stage) ваши файлы проекта
  5. совершать и нажимать