Я использую Sourcetree 3.0.8 на Win-10 с удаленными компьютерами на экземпляре gitlab компании.У меня также установлен «Git для Windows», у меня не было никаких реальных проблем.Сейчас я все время бьюсь с SSH.
На gitlab у меня работает 2FA;У меня также установлены ключи ssh.Допустим, я создаю новый проект в gitlab.Это работает, и я затем возвращаюсь к своему окну Windows, где я выбираю место для своей папки для разработки, а затем git clone git@...
, чтобы развернуть пустой начальный проект.Это работает.
Затем я работаю над проектом локально и в конце концов хочу сделать коммит и нажать.Локальный коммит будет работать, но push почти наверняка скажет мне, что у меня нет доступа к удаленному.Я знаю , что ssh-ключи верны в gitlab.Все это работало в довольно недавнем прошлом.
В Sourcetree я открываю «терминал» в рабочей папке, и они нажимают вручную.Мне обычно говорят, что время соединения ssh истекло.
Вот необычный бит для меня.Я бегал putty
годами.Я знаю, что pagent
работает на моей машине.До сегодняшнего дня я никогда не "добавил ключи" к нему.Добавление ключей к pagent
ничего не помогло.
Тар заставил меня задуматься о том, как оболочка "Git Bash" находит свои ключи.Я также использую git-bash в течение нескольких лет, и до сегодняшнего дня я даже не думал о «добавлении ключей» в ssh-agent
.В git-bash я попытался
ssh-add -L
, но мне сказали, что агент не работает.Затем я запустил
ssh-agent
, который отображал некоторые команды сценария оболочки.Я попробовал ssh-add
еще раз с теми же результатами.Я скопировал и вставил команды агента сценария оболочки из агента и снова попытался ssh-add
.Это просто сказал, что не было никаких записей.Затем я добавил все имеющиеся у меня ключи ssh;перезапустил ssh-add
и увидел ключи агента.
Затем я попробовал git push
из Git Bash, и это сработало.Yay!
Sourcetree больше не отображает счетчик нажатий рядом с ответвлением ветви, но на кнопке «Push» еще есть счетчик.
Я делаю некоторые другие изменения и пытаюсь зафиксировать / нажатьи все вышеперечисленное снова радует.Если я получаю толчок к работе, а затем хочу создать релиз, то все это терпит неудачу.Если я переключаю ветки, ssh перестает работать при следующей операции.
Я не знаю, что происходит.Я не знаю, является ли это "Git для Windows", Sourcetree или как, но это очень расстраивает.