#git #github
Вопрос:
До недавнего времени я никогда не использовал частное репо Git. У меня возникли проблемы с получением доступа к моему частному репо с моего локального компьютера. В прошлом месяце GitHub обновил способ доступа к частным репозиториям. Теперь вы не можете использовать свое имя пользователя и пароль. Мне выдается это сообщение, когда я пытаюсь использовать маркер личного доступа: remote: Repository not found. fatal: repository 'https://github.com/[Org]/[Repo].git/' not found
.
Я уже инициализировал свой локальный репозиторий. Теперь мне просто нужно подключить его к моему личному удаленному хранилищу. Я хотел бы использовать свой личный токен доступа вместо ssh.
Вот команды, которые я использую в Windows:
git remote add origin https://[UserName]:[Token]@github.com/[Org]/[Repo].git
git add .
git commit -m "Commit" ---> Output: On branch master nothing to commit, working tree clean
git push --set-upstream origin master ---> Output: Gives me the error
Комментарии:
1. Существует ли
https://github.com/[Org]/[Repo].git/
на самом деле? Если да, то можете ли вы его клонировать?2. Ну, [Org] и [Репо] являются заполнителями. На самом деле я могу его клонировать. Вот что я получаю в качестве сообщения:
Cloning into '[Repo]'... warning: You appear to have cloned an empty repository.
3. Если ваш знак есть опечатки или другие ошибки в ней (или не установлен вообще на GitHub), вы увидите это поведение для любого репозитория, кто может читать: он будет там для вас, чтобы клонировать, но ты не сможешь
git push
, потому что ты не прошел проверку подлинности, как и вы, и ошибки, которые они дают на это «не нашли», а не «отказано в доступе», поскольку «отказано в доступе» является слишком информативным (серьезно: в целях безопасности никто не хочет различать «существует, но нет доступа» и «не существует»: это бессмысленно для публичного чтения РЕПО на GitHub, но не могу проверить, что первый).4. Таким образом, похоже, что администратор не дает достаточных разрешений для отправки кода. Я сменил свою роль на владельца, и теперь это работает. Было бы неплохо, если бы роли были лучше объяснены на GitHub. Спасибо за помощь. Было бы бессмысленно говорить «Не существует» вместо «Существует, но доступа нет» при попытке нажать, когда не аутентифицирован, потому что тогда кому-то просто нужно было бы выполнить команду клонирования, чтобы увидеть, что она на самом деле существует. Если это действительно мера безопасности, то она плохая и только создает путаницу.
Ответ №1:
Я не думаю, что ваше заявление «В прошлом месяце GitHub обновил способ доступа к частным репозиториям. Теперь вместо пароля вы используете личный токен доступа. «это вообще правда. Ты можешь это сделать, верно.
Чтобы использовать токен, добавьте URL-адрес своего репо следующим образом:
git remote add origin https://[Token]@github.com/[Org]/[Repo].git
Комментарии:
1. Так значит, вам не нужно имя пользователя?
2. Наверное, ты прав. Похоже, что маркеры личного доступа уже некоторое время используются на GitHub. Просто в прошлом месяце они удалили возможность использовать ваше имя пользователя и пароль.
3. Похоже, вы также можете использовать свое имя пользователя с вашим маркером доступа, как я пытался сделать. Хотя тебе это и не нужно. Как вы указали, необходим только маркер доступа.
Ответ №2:
Поэтому главный вывод из моей проблемы заключается в том, чтобы убедиться, что назначенная вам роль разрешена для отправки в частное хранилище. Мы с моей командой предполагали, что администратор сможет надавить, но, похоже, это не так. Кроме того, вы можете использовать любой из них для вашего происхождения:
https://[Token]@github.com/[Org]/[Repo].git
или
https://[UserName]:[Token]@github.com/[Org]/[Repo].git