Ошибка GitKraken Push: SSH не удалось записать данные

Я получаю сообщение об ошибке (показано ниже) при попытке отправить изменения в GitKraken.

введите описание изображения здесь
Это разветвленный проект, и в прошлом мне удавалось отлично продвигать его. Что изменилось с прошлого раза, так это то, что я вытащил и объединил обновление из удаленной ветки (исходного репо).

Кто-нибудь сталкивался с этим раньше? Есть идеи, что останавливает толчок?

Спасибо


person lewisnewson    schedule 04.05.2018    source источник
comment
Как вы загрузили и объединили обновление из удаленной ветки в Gitkraken, можете ли вы показать подробные шаги, которые вы сделали? Кроме того, проверьте команды «git status» и git branch -vv в вашем локальном репозитории.   -  person Marina Liu    schedule 07.05.2018
comment
При выполнении этой команды в git bash было сказано только, что мастер отстал на 2 коммита, поэтому локальные файлы нужно было отправить. Я нажал изменения с другой машины, и это сработало нормально. Теперь машина, у которой изначально была проблема, также может снова нажать, что странно.   -  person lewisnewson    schedule 08.05.2018


Ответы (5)


Недостаточно представителей, чтобы прокомментировать сообщение @Sam, но если у вас есть проблема с кодовой фиксацией SSH и AWS с использованием GitKraken или любая ошибка типа SSH could not read/write data:, вы можете заставить GitKraken использовать ваше имя пользователя AWS.

Сначала убедитесь, что gitkraken закрыт, на всякий случай!

Найдите git-файл репозитория в: repo-root/.git/config. Откройте его в своем любимом текстовом редакторе, блокнот работает отлично!

В разделе, описывающем [remote "origin"], вы должны увидеть url = .... Убедитесь, что написано: url = ssh://[email protected]/v1/repos/YOUR_REPO_NAME.

Простой способ убедиться, что URL-адрес правильный, — зайти в codecommit, просмотреть свои репозитории, а затем щелкнуть ссылку «SSH» рядом с нужным репозиторием. он должен скопировать URL-адрес SSH для этого репо в буфер обмена. Затем просто добавьте свой «YOUR_AWS_KEY@» после ssh:// и перед git-codecommit.

КЛЮЧЕВЫЕ ПРИМЕЧАНИЯ. Убедитесь, что URL-адрес начинается с ssh://, за которым следует идентификатор вашего ключа ssh, а затем @, а затем убедитесь, что URL-адрес НЕ заканчивается на «.git», иначе gitkraken выдаст « ошибка недопустимого URL-адреса репозитория!

Здесь «YOUR_AWS_KEY» — это «идентификатор ключа SSH», найденный в вашем AWS IAM при просмотре ваших учетных данных безопасности. убедитесь, что это ключ SSH вашего текущего компьютера!

person Japser36    schedule 31.03.2020
comment
Ты обалденный!! Это здорово помогло мне! - person user3352442; 17.04.2020

Казалось, что отправка изменений с другой машины «сбрасывает» коммиты. Другой машине удалось успешно отправить изменения, и после этого исходная машина также может отправить изменения снова.

Надеюсь, что этот обходной путь может помочь кому-то в будущем.

person lewisnewson    schedule 08.05.2018
comment
Вы можете отметить ответ (нажмите символ √ слева от ответа). И это также принесет пользу другим, которые сталкиваются с подобными вопросами. - person Marina Liu; 10.05.2018
comment
Это сработало для меня - было бы здорово понять, почему! - person Mhluzi Bhaka; 04.12.2020

Поэтому, если этот ответ не был полезен для других, таких как я, я понял это.

  1. Создайте новый ключ ssh.
  2. Установите инструменты PuTTY с https://www.ssh.com/ssh/putty/download
  3. Запустите PuTTYgen.
  4. на вкладке «Конверсии» выберите ключ импорта и выберите свой закрытый ключ ssh.
  5. Сохраните закрытый ключ.
  6. на панели инструментов (рядом с часами) дважды щелкните Pageant.
  7. Добавьте закрытый ключ, который мы только что сделали.
  8. в gitkraken в разделе «Настройки/Аутентификация/Bitbucket.org» подключитесь к битовому ведру, а затем нажмите две синие кнопки, которые добавляют ваши закрытые/открытые ключи ssh (не тот, который мы сделали с PuTTY, это замазочный ключ).
  9. добавьте открытый ключ в свою учетную запись Bitbucket.

И вы должны быть все хорошо идти!

person Xan Nava    schedule 17.11.2018

У меня была эта проблема при использовании SSH с AWS codecommit и GitKraken, мне пришлось добавить имя пользователя (идентификатор ключа aws ssh в IAM) к URL-адресу SSH следующим образом:

ssh://имя пользователя@git-codecommit.eu-west-1.amazonaws.com/v1/wibble/

Клонирование было в порядке, поскольку оно запрашивает имя пользователя, но при попытке вытащить или нажать его не запрашивало и не удалось с ошибкой «Не удалось прочитать/записать».

person Sam    schedule 10.02.2020

Ответы от @Sam и @Jasper36 будут работать для GitKraken, но откроют новую проблему, когда вы снова попытаетесь извлечь из cli.

  1. Чтобы разрешить GitKraken доступ к git, откройте my-project/.git/config и измените исходный URL на url = ssh://[email protected]/v1/wibble/.
  2. Чтобы разрешить вашему терминалу снова получить доступ к git, выполните команду: ssh-add ~/.ssh/{my-wibble-key_rsa}

Этот пример предназначен для интеграции кодовой фиксации AWS, но одни и те же принципы будут работать для подключения ssh ко всем формам клиентов ssh.

person Hunter    schedule 01.04.2021