Настройки git для работы с github


Инсталляция gh в Ubuntu Linux


gh - консольная программа для работы с GitHub API в командной строке.


$ cd ~/tmp


$ vi gh.sh


curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable master" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh


$ chmod +x gh.sh
$ ./gh.sh


// Чтобы создавался origin на ssh а не https
$ gh config set git_protocol ssh -h github.com


$ git config --global user.name "<GITHUB_USERNAME>"
$ git config --global user.email "<GITHUB_EMAIL>"


Настройка работы с GitHub по SSH ключу


Сгенерировать ключ для GitHub


$ cd ~/.ssh/


$ ssh-keygen \
-t rsa \
-b 4096 \
-C "[email protected]" \
-f webmakaka


$ chmod 0600 webmakaka*
$ eval "$(ssh-agent -s)"


// Добавить ключ
$ ssh-add ~/.ssh/webmakaka

// Проверка, что ключ добавлен
$ ssh-add -l -E md5


// Посмотреть public key
$ cat webmakaka.pub


В настройка аккаунта github добавить public key

https://github.com/settings/keys

New SSH key


// Проверка возможности подключиться
$ ssh -T [email protected]

// При необходимости использовать токен
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/webmakaka -o IdentitiesOnly=yes' ssh -T [email protected]


Использовать несколько ключей для разных github аккаунтов


$ GIT_SSH_COMMAND='ssh -i ~/.ssh/webmakaka -o IdentitiesOnly=yes' git push