GitHub модулей Go

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

GitHub модулей Go

Непрочитанное сообщение Olej » 10 май 2022, 16:29

Olej писал(а):
13 янв 2021, 22:50
Но вот мы наконец добрались до Create a new repository...
Пробую создать новый репозиторий на своём GitHyb ... в связи с экспериментами c (модулями и дженериками) Go: Go : философия ("фишки Go")

Код: Выделить всё

olej@R420:~/2022/Go/news/testmod$ git init
Инициализирован пустой репозиторий Git в /home/olej/2022/Go/news/testmod/.git/

Код: Выделить всё

olej@R420:~/2022/Go/news/testmod$ git add *

Код: Выделить всё

olej@R420:~/2022/Go/news/testmod$ git commit -am "my first Go commit"
[master (корневой коммит) 2fcdd10] my first Go commit
 3 files changed, 14 insertions(+)
 create mode 100644 go.mod
 create mode 100644 testmod.go
 create mode 100644 testmod.hist

Код: Выделить всё

olej@R420:~/2022/Go/news/testmod$ git push --set-upstream http://github.com/Olej-Tsil/testmod master
Username for 'https://github.com': oleg-tsiliuric
Password for 'https://oleg-tsiliuric@github.com': Asdf__1951
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/Olej-Tsil/testmod/'
Это произошло уже после последних сообщений этой темы!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

GitHub модулей Go

Непрочитанное сообщение Olej » 10 май 2022, 17:31

Olej писал(а):
10 май 2022, 16:29
Это произошло уже после последних сообщений этой темы!
Ошибка «remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead» (РЕШЕНО)
Команды, показанные в статье, всё ещё актуальны, но из-за изменений на GitHub теперь вместо пароль нужно использовать токен, который нужно получить на самом GitHub.
...
Суть ошибки в том, что с 13 августа 2021 года поддержка аутентификации по паролю была удалена и теперь нужно использовать токен.
Также дана ссылка для чтения подробностей: https://github.blog/2020-12-15-token-au ... perations/

С той ссылки нужно будет перейти на другую страницу, где всё-таки объяснят как получить токен: https://docs.github.com/en/authenticati ... cess-token

Можете ознакомиться с этими страницами. Но суть довольно проста, перейдите на страницу https://github.com/settings/tokens и нажмите на кнопку «Generate new token».

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: использование GIT

Непрочитанное сообщение Olej » 10 май 2022, 17:35

Olej писал(а):
10 май 2022, 17:31
https://github.com/settings/tokens и нажмите на кнопку «Generate new token»
Пробую...
Отметил все флажки.
Tokens you have generated that can be used to access the GitHub API.
Make sure to copy your personal access token now. You won’t be able to see it again!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: использование GIT

Непрочитанное сообщение Olej » 10 май 2022, 21:49

Olej писал(а):
10 май 2022, 16:29
Пробую создать новый репозиторий на своём GitHyb
Я конечно могу создать это всё через WEB-интерфейс ... но всё мне это очень не нравится:
Вложения
Снимок экрана от 2022-05-10 21-44-37.png
Снимок экрана от 2022-05-10 21-44-37.png (106.04 КБ) 776 просмотров
Снимок экрана от 2022-05-10 21-44-47.png
Снимок экрана от 2022-05-10 21-44-47.png (70.46 КБ) 776 просмотров
Снимок экрана от 2022-05-10 21-46-59.png
Снимок экрана от 2022-05-10 21-46-59.png (85.46 КБ) 776 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 14:22

Olej писал(а):
10 май 2022, 21:49
Я конечно могу создать это всё через WEB-интерфейс ... но всё мне это очень не нравится:
Продолжаю...
Слегка подправлю testmod.hist и :

Код: Выделить всё

olej@R420:~/go/src/testmod$ git status
На ветке main
Изменения, которые не в индексе для коммита:
  (используйте «git add <файл>…», чтобы добавить файл в индекс)
  (используйте «git restore <файл>…», чтобы отменить изменения в рабочем каталоге)
    изменено:      testmod.hist

нет изменений добавленных для коммита
(используйте «git add» и/или «git commit -a»)

Код: Выделить всё

olej@R420:~/go/src/testmod$ git add testmod.hist

Код: Выделить всё

olej@R420:~/go/src/testmod$ git status
На ветке main
Изменения, которые будут включены в коммит:
  (используйте «git restore --staged <файл>…», чтобы убрать из индекса)
    изменено:      testmod.hist

Код: Выделить всё

olej@R420:~/go/src/testmod$ git commit -m '11.05 13:59'
[main 5f218a5] 11.05 13:59
 1 file changed, 32 insertions(+), 1 deletion(-)

Код: Выделить всё

olej@R420:~/go/src/testmod$ git status
На ветке main
нечего коммитить, нет изменений в рабочем каталоге

Код: Выделить всё

olej@R420:~/go/src/testmod$ git log
commit 5f218a52ae8e8fca1d6079838f4805b2e4a95238 (HEAD -> main)
Author: oleg-tsiliuric <olej@rambler.ua>
Date:   Wed May 11 13:59:48 2022 +0300

    11.05 13:59

commit 2fcdd10c44130ef0765f0d99ab60071cea0ed69d
Author: Oleg Tsiliuric <olej.tsil@gmail.com>
Date:   Tue May 10 15:49:18 2022 +0300

    my first Go commit

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 14:30

Olej писал(а):
10 май 2022, 17:31
Суть ошибки в том, что с 13 августа 2021 года поддержка аутентификации по паролю была удалена и теперь нужно использовать токен.
Olej писал(а):
10 май 2022, 17:31
Но суть довольно проста, перейдите на страницу https://github.com/settings/tokens и нажмите на кнопку «Generate new token».
Токен сгенерировал и сохранил....
https://github.com/settings/tokens
Personal access tokens
Make sure to copy your personal access token now. You won’t be able to see it again!
...
Теперь нужно научиться организовывать remote доступ к GitHub через токен...

Код: Выделить всё

olej@R420:~/go/src/testmod$ git remote set-url origin https://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@github.com/Olej-Tsil/testmod

Код: Выделить всё

olej@R420:~/go/src/testmod$ git remote show origin
* внешний репозиторий origin
  URL для извлечения: https://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@github.com/Olej-Tsil/testmod
  URL для отправки: https://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@github.com/Olej-Tsil/testmod
  HEAD ветка: main
  Внешняя ветка:
    main новая (следующее извлечение сохранит ее в remotes/origin)
  Локальная ссылка, настроенная для «git push»:
    main будет отправлена в main (локальная ветка устарела)
Пытаемся залить на GitHub:

Код: Выделить всё

olej@R420:~/go/src/testmod$ git push
fatal: Текущая ветка main не имеет вышестоящей ветки.
Чтобы отправить текущую ветку и установить внешнюю ветку как вышестоящую для этой ветки, используйте

    git push --set-upstream origin main

Код: Выделить всё

olej@R420:~/go/src/testmod$ git push --set-upstream origin main
To https://github.com/Olej-Tsil/testmod
 ! [rejected]        main -> main (fetch first)
error: не удалось отправить некоторые ссылки в «https://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@github.com/Olej-Tsil/testmod»
подсказка: Обновления были отклонены, так как внешний репозиторий содержит
подсказка: изменения, которых у вас нет в вашем локальном репозитории.
подсказка: Обычно, это связанно с тем, что кто-то уже отправил изменения в
подсказка: то же место. Перед повторной отправкой ваших изменений, вам нужно
подсказка: забрать и слить изменения из внешнего репозитория себе
подсказка: (например, с помощью «git pull …»).
подсказка: Для дополнительной информации, смотрите «Note about fast-forwards»
подсказка: в «git push --help».
Облом ... Но оно и понятно: я вручную, онлайн, через WEB-интерфейс изменил удалённый реподиторий (загрузил файлы при создании).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 14:32

Olej писал(а):
11 май 2022, 14:30
Пытаемся залить на GitHub:
Ну и прежде - уберу из-под контроля GIT файл журнала истории:

Код: Выделить всё

olej@R420:~/go/src/testmod$ touch .gitignore

olej@R420:~/go/src/testmod$ echo .gitignore > .gitignore

olej@R420:~/go/src/testmod$ ls
go.mod  testmod.go  testmod.hist

olej@R420:~/go/src/testmod$ echo testmod.hist >> .gitignore

olej@R420:~/go/src/testmod$ cat .gitignore
.gitignore
testmod.hist

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 14:42

Olej писал(а):
11 май 2022, 14:30
Но оно и понятно: я вручную, онлайн, через WEB-интерфейс изменил удалённый реподиторий (загрузил файлы при создании).
Можно (и это наверное правильнее) обновить локальный репозиторий: git pull ... или gut fetch ...
Но я сделаю по-другому...
- новая ветка локального репозитория:

Код: Выделить всё

olej@R420:~/go/src/testmod$ git checkout -b v1
Переключено на новую ветку «v1»

olej@R420:~/go/src/testmod$ git branch
  main
* v1
- залить новую ветку на удалённый репо:

Код: Выделить всё

olej@R420:~/go/src/testmod$ git push --set-upstream origin v1
Перечисление объектов: 8, готово.
Подсчет объектов: 100% (8/8), готово.
При сжатии изменений используется до 40 потоков
Сжатие объектов: 100% (6/6), готово.
Запись объектов: 100% (8/8), 1.03 КиБ | 1.03 МиБ/с, готово.
Всего 8 (изменения 1), повторно использовано 0 (изменения 0)
remote: Resolving deltas: 100% (1/1), done.
remote:
remote: Create a pull request for 'v1' on GitHub by visiting:
remote:      https://github.com/Olej-Tsil/testmod/pull/new/v1
remote:
To https://github.com/Olej-Tsil/testmod
 * [new branch]      v1 -> v1
Ветка «v1» отслеживает внешнюю ветку «v1» из «origin».

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 14:47

Код: Выделить всё

olej@R420:~/go/src/testmod$ git remote show
origin

Код: Выделить всё

olej@R420:~/go/src/testmod$ git remote show origin
* внешний репозиторий origin
  URL для извлечения: https://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@github.com/Olej-Tsil/testmod
  URL для отправки: https://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@github.com/Olej-Tsil/testmod
  HEAD ветка: main
  Внешние ветки:
    main отслеживается
    v1   отслеживается
  Локальная ветка, настроенная для «git pull»:
    v1 будет слита с внешней веткой v1
  Локальные ссылки, настроенные для «git push»:
    main будет отправлена в main (локальная ветка устарела)
    v1   будет отправлена в v1   (уже актуальна)
Но это то что касается HTTP доступа к GitHub.
А интереснее доступ через SSH.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: GitHub модулей Go

Непрочитанное сообщение Olej » 11 май 2022, 15:36

Olej писал(а):
11 май 2022, 14:47
Но это то что касается HTTP доступа к GitHub.
А интереснее доступ через SSH.
Поехали...
Переходим с HTTPS на SSH доступ в GitHub
16.08.2021
SSH-ключи...
Так было:

Код: Выделить всё

olej@R420:~/.ssh$ pwd
/home/olej/.ssh

olej@R420:~/.ssh$ ls -al
итого 36
drwx------  2 olej olej 4096 апр  4 22:34 .
drwxr-xr-x 51 olej olej 4096 мая 11 10:36 ..
-rw-rw-r--  1 olej olej   50 мая  6  2021 config
-rw-------  1 olej olej 2590 мая  6  2021 id_rsa
-rw-r--r--  1 olej olej  563 мая  6  2021 id_rsa.pub
-rw-------  1 olej olej 7310 мая  1 14:02 known_hosts
-rw-------  1 olej olej 6644 апр  1 19:30 known_hosts.old
Генерирую новый ключ:

Код: Выделить всё

olej@R420:~/.ssh$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/olej/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/olej/.ssh/id_ed25519
Your public key has been saved in /home/olej/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:bfhOSGz8q49eW06Ees85AxBrslbNYj3uNGc64bxRypM olej@R420
The key's randomart image is:
+--[ED25519 256]--+
|                 |
|        .        |
|         *       |
|      .oBo=.     |
|       *S++.o    |
|      oo B*=o    |
|     .  o=EBo    |
|         **@o.   |
|       .+o*o=o   |
+----[SHA256]-----+
Стало:

Код: Выделить всё

olej@R420:~/.ssh$ ls -al
итого 44
drwx------  2 olej olej 4096 мая 11 15:04 .
drwxr-xr-x 51 olej olej 4096 мая 11 10:36 ..
-rw-rw-r--  1 olej olej   50 мая  6  2021 config
-rw-------  1 olej olej  399 мая 11 15:04 id_ed25519
-rw-r--r--  1 olej olej   91 мая 11 15:04 id_ed25519.pub
-rw-------  1 olej olej 2590 мая  6  2021 id_rsa
-rw-r--r--  1 olej olej  563 мая  6  2021 id_rsa.pub
-rw-------  1 olej olej 7310 мая  1 14:02 known_hosts
-rw-------  1 olej olej 6644 апр  1 19:30 known_hosts.old
P.S. Вовсе не обязательно использовать алгоритм шифрования ed25519 - что пишут почти везде ... переписывают друг у друга? :lol: - в GitHub настройках, как вы увидите, ожидают один из многих алогоритмов, в том числе и rsa.

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя