3
Как верифицировать свои коммиты на GitHub | Паблико
6 подписчики

Начало работы с терминалом


12 авг 2022 · 10:00    

Многие в начале пути разработчика сталкиваются с непониманием такой вещи, как «терминал», боятся его использовать. До сих пор один из членов нашей команды вспоминает слова своего знакомого: «терминалы и командные строки пугают меня. Есть ли у вас какие-нибудь советы разработчикам по началу работы с ними или вы знаете какие-нибудь хорошие ресурсы?» 



12.08.2022.01.png 64.2 KB


Так что давайте сегодня разберем несколько основных команд, которые помогут нам более комфортно пользоваться Терминалом.

Какой Терминал использовать?

Возможно, хорошей отправной точкой будет вопрос о том, какой Терминал использовать. Честно говоря, это скорее предпочтительный выбор, чем реальная разница. Но мы используем iTerm2 на Macbook'ах, который прекрасно работает.

Если вы предпочитаете другой или же Терминал по умолчанию, будьте нашим гостем. Это ничего не изменит в том, что мы будем делать сегодня.

Основные команды терминала

Хорошо, давайте разберемся с некоторыми командами.

Bash Изменение каталога

Команда cd означает change-directory, что то же самое, что щелкнуть по папке на обычном рабочем столе. Например:

cd Desktop // перейти в «папку» рабочего стола.

Мы также можем подняться на один уровень вверх, используя '..'

cd.. 
// или даже на несколько уровней
cd.. /.. /

Мы всегда можем вернуться в исходную точку, используя cd без аргументов:

cd

Bash Где мы?

Время от времени вы забываете, где находитесь, и хотите узнать текущую папку. Вы можете использовать команду pwd или же 'Print Working Directory'.

pwd // Возвращает что-то вроде: /Users/chrisbongers/Desktop

Bash List

Еще одна удобная команда - ls. Она означает список и может быть использована для показа папок внутри каталога, в котором мы находимся.

ls // Показать текущий каталог
ls.. // Показать родительский каталог
ls Desktop // Показать конкретный каталог

Bash Создание папок

Иногда проще создать папку в Терминале, потому что вы уже там находитесь. Для этого мы можем использовать mkdir make directory:

mkdir NewApp

Bash Удаление

Будьте осторожны при использовании команды remove. Терминал силен и может удалять системные файлы, поэтому используйте их с осторожностью. Мы можем использовать rmdir Remove Directory для удаления папки.

rmdir NewApp

Или мы можем использовать rm Remove в общем случае.

rm testfile. txt

Для команды rm мы можем задать параметр -r, что означает «рекурсивный». Она удалит все внутри переданной папки.

rm -r NewApp

Копирование с помощью Bash

Мы также можем копировать папки и файлы с помощью Терминала, используя команду cp, то есть Copy.

cp testfile. txt test2. csv

Где первый аргумент - источник, а второй - файл назначения. Мы также можем скопировать всю папку и ее содержимое:

cp -r NewApp TestApp

Bash Move

Еще одна замечательная команда - mv или же Move. Она работает так же, как и cp, но вместо копирования перемещает элементы.

mv testfile. txt Desktop/testfile2. txt

Как видите, мы можем даже перемещать и переименовывать.

Bash создание файла

Возможно, самым интересным является возможность создавать файлы. Существует несколько способов создания файлов, самый распространенный - touch, но наш личный фаворит - nano. Nano отлично работает, потому что он универсален. Он может не только создавать, но и редактировать файл одновременно.

nano testfile. txt // Создаст файл и откроет его.

Открыв файл в nano, вы можете набирать все, что хотите, а когда закончите, используйте CTRL+X, чтобы закрыть и сохранить файл.

Заключение

Надеемся, что эти команды Терминала были полезны, и мы предлагаем вам поиграть с ними. 

Понравилась статья? Тогда Ставьте лайки, пишите комментарии, делитесь ею с друзьями, а также подписывайтесь на нас тут и на остальных платформах (ссылка в шапке профиля).

Читайте также

Комментарии 1

Войдите для комментирования
■ Дедушка Геннадий 12 авг 2022 в 11:48
Лайк и реклама

Как верифицировать свои коммиты на GitHub


13 авг 2022 · 10:05    

Вы могли видеть, что некоторые коммиты из merge-requests или Dependabot имеют значок с надписью verified. Но у ваших коммитов нет этого модного значка?



Детали верифицированного коммита на GitHub



Зачем беспокоиться о проверенных коммитах?

Это правильный вопрос, который в основном сводится к безопасности в наше время.

Мы по-прежнему в основном работаем удаленно/из дома. Это означает, что у компаний, на которые мы работаем, возникает много вопросов о том, безопасно ли то, что мы делаем дома. Когда вы задаете конфигурацию git, вы вводите определенный email и имя пользователя. И выдаёте себя за другого человека. Это, конечно, немного странно.



13.08.2022.01.jpg 60.89 KB


Если посмотреть на частные репозитории, это имеет смысл. Вы используете какой-то SSH-ключ для фиксации в git, но вы все равно можете притвориться, например, коллегой. Вот против чего будут направлены проверенные коммиты. Они будут проверять, что коммит подписан от имени конкретного пользователя.

Настройка верифицированных коммитов на GitHub

GitHub использует криптографические подписи в виде ключа GNU Privacy Guard (GPG). Такой ключ бывает открытым, который мы установим в GitHub, и закрытым, который находится на нашем компьютере. В следующий раз, когда мы отправим коммит в GitHub, он будет использовать этот ключ и зашифрует наш коммит и данные. На сайте GitHub он будет расшифровываться и проверять, что это правильный пользователь.

Шаг 1. Установите GPG

Мы будем использовать Homebrew, так как это самый быстрый способ установки. Выполните следующую команду в терминале:

brew install gpg

Шаг 2 Генерирование нового ключа GPG

Теперь мы можем использовать команду GPG для генерации нового ключа. Выполните следующую команду в терминале:

gpg --full-generate-key

Это вызовет программу CLI, которая проведет вас через весь процесс генерации.



CLI для генерации ключей GPG


Помните о следующих настройках:

  • Мы выбираем ключ RSA (вариант 1).
  • Размер ключа должен быть МИНИМУМ 4096 бит
  • Мы устанавливаем, что срок его действия никогда не истекает (вариант 0)
  • Имя и электронная почта. Используйте свой email на GitHub, иначе ничего не получится!

После этого дважды появится поле для ввода пароля. Используйте надежный пароль:



GPG, защищенный паролем



Шаг 3 Проверка ключа GPG

Теперь, когда мы создали ключ, давайте проверим, правильно ли он настроен. Выполните следующую команду в терминале:

gpg --list-secret-keys --keyid-format LONG

В результате должно получиться что-то вроде этого:

[SCRAMBLING NOT REALLY IMPORTANT]
--------------------------------------
sec rsa4096/[THIS_KEY_ID] 2021-07-07 [SC]
 2B18EEB732D15480D40A60D605AE1785E201CE95
uid [ultimate] Chris Bongers <chrisbongers@gmail. com>
ssb rsa4096/C98A99F6B0202433 2021-07-07 [E]

Обратите внимание, мы добавили [THIS_KEY_ID], который будет содержать ключ, важный для выполнения коммитов.

Шаг 4 Экспортируйте ключ в GitHub

Теперь мы должны быть в состоянии создать экспорт этого ключа для использования в GitHub. С [THIS_KEY_ID], который вы получили в шаге 3, выполните следующую команду:

gpg --armor --export [THIS_KEY_ID].

В результате будет сгенерирован большой блок кода:

-----BEGIN PGP PUBLIC KEY BLOCK-----
[SCRAMBLE]
-----END PGP PUBLIC KEY BLOCK-----

Скопируйте весь этот раздел, включая комментарии.

Теперь зайдите на GitHub, нажмите на изображение своего профиля -> Настройки. Выберите SSH и GPG Keys в левом меню, прокрутите вниз и добавьте новый GPG ключ.



Ключи GitHub


Скопируйте этот блок кода в редакторе и нажмите сохранить. Теперь у вас должен быть настроен GPG-ключ.

Шаг 5 Настройка git always для подписи коммитов

Давайте включим клиент Git, чтобы он всегда подписывал коммиты нашим новым ключом. Выполните следующие команды в терминале.

git config --global user. signingkey [THIS_KEY_ID]
git config --global commit. gpgsign true

Теперь попробуйте зафиксировать один из ваших проектов. Должен появиться проверенный коммит, как показано здесь:



Верифицированный коммит на GitHub



Устранение неполадок

Если у вас возникли проблемы с последней частью и терминал выдаёт, что коммит не может быть проверен, вы можете попробовать следующее:

echo «test» | gpg --clearsign

Если снова выдаёт ошибку, используйте следующую команду:

export GPG_TTY=$ (tty)

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

gpgconf --kill all
gpg-agent --daemon

Заключение

Понравилась статья? Тогда Ставьте лайки, пишите комментарии, делитесь ею с друзьями, а также подписывайтесь на нас тут и на остальных платформах (ссылки в шапке профиля).

Многие в начале пути разработчика сталкиваются с непониманием такой вещи, как «терминал», боятся его использовать. До сих пор один из членов нашей команды вспоминает слова своего знакомого: «терминалы и командные строки пугают меня. Есть ли у вас какие-нибудь советы разработчикам по началу работы с ними или вы знаете какие-нибудь хорошие ресурсы?» 



12.08.2022.01.png 64.2 KB


Так что давайте сегодня разберем несколько основных команд, которые помогут нам более комфортно пользоваться Терминалом.

Какой Терминал использовать?

Возможно, хорошей отправной точкой будет вопрос о том, какой Терминал использовать. Честно говоря, это скорее предпочтительный выбор, чем реальная разница. Но мы используем iTerm2 на Macbook'ах, который прекрасно работает.

Если вы предпочитаете другой или же Терминал по умолчанию, будьте нашим гостем. Это ничего не изменит в том, что мы будем делать сегодня.

Основные команды терминала

Хорошо, давайте разберемся с некоторыми командами.

Bash Изменение каталога

Команда cd означает change-directory, что то же самое, что щелкнуть по папке на обычном рабочем столе. Например:

cd Desktop // перейти в «папку» рабочего стола.

Мы также можем подняться на один уровень вверх, используя '..'

cd.. 
// или даже на несколько уровней
cd.. /.. /

Мы всегда можем вернуться в исходную точку, используя cd без аргументов:

cd

Bash Где мы?

Время от времени вы забываете, где находитесь, и хотите узнать текущую папку. Вы можете использовать команду pwd или же 'Print Working Directory'.

pwd // Возвращает что-то вроде: /Users/chrisbongers/Desktop

Bash List

Еще одна удобная команда - ls. Она означает список и может быть использована для показа папок внутри каталога, в котором мы находимся.

ls // Показать текущий каталог
ls.. // Показать родительский каталог
ls Desktop // Показать конкретный каталог

Bash Создание папок

Иногда проще создать папку в Терминале, потому что вы уже там находитесь. Для этого мы можем использовать mkdir make directory:

mkdir NewApp

Bash Удаление

Будьте осторожны при использовании команды remove. Терминал силен и может удалять системные файлы, поэтому используйте их с осторожностью. Мы можем использовать rmdir Remove Directory для удаления папки.

rmdir NewApp

Или мы можем использовать rm Remove в общем случае.

rm testfile. txt

Для команды rm мы можем задать параметр -r, что означает «рекурсивный». Она удалит все внутри переданной папки.

rm -r NewApp

Копирование с помощью Bash

Мы также можем копировать папки и файлы с помощью Терминала, используя команду cp, то есть Copy.

cp testfile. txt test2. csv

Где первый аргумент - источник, а второй - файл назначения. Мы также можем скопировать всю папку и ее содержимое:

cp -r NewApp TestApp

Bash Move

Еще одна замечательная команда - mv или же Move. Она работает так же, как и cp, но вместо копирования перемещает элементы.

mv testfile. txt Desktop/testfile2. txt

Как видите, мы можем даже перемещать и переименовывать.

Bash создание файла

Возможно, самым интересным является возможность создавать файлы. Существует несколько способов создания файлов, самый распространенный - touch, но наш личный фаворит - nano. Nano отлично работает, потому что он универсален. Он может не только создавать, но и редактировать файл одновременно.

nano testfile. txt // Создаст файл и откроет его.

Открыв файл в nano, вы можете набирать все, что хотите, а когда закончите, используйте CTRL+X, чтобы закрыть и сохранить файл.

Заключение

Надеемся, что эти команды Терминала были полезны, и мы предлагаем вам поиграть с ними. 

Понравилась статья? Тогда Ставьте лайки, пишите комментарии, делитесь ею с друзьями, а также подписывайтесь на нас тут и на остальных платформах (ссылка в шапке профиля).

Читайте также

Комментарии 1

Войдите для комментирования
■ Дедушка Геннадий 14 авг 2022 в 17:14
Лайк и реклама
НОВОСТИ ПОИСК РЕКОМЕНД. НОВОЕ ЛУЧШЕЕ ПОДПИСКИ