{"id":13679,"date":"2025-12-28T18:25:59","date_gmt":"2025-12-28T18:25:59","guid":{"rendered":"https:\/\/davelevy.info\/wiki\/?p=13679"},"modified":"2025-12-28T18:26:04","modified_gmt":"2025-12-28T18:26:04","slug":"the-git-credential-manager","status":"publish","type":"post","link":"https:\/\/davelevy.info\/wiki\/the-git-credential-manager\/","title":{"rendered":"The GIT credential manager"},"content":{"rendered":"\n<p>The need for this went away as they implemented gh auth login. I moved the following words from using github to here. It should be marked deprecated.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3 class=\"wp-block-heading\">2FA &#8211; 2024<\/h3>\n\n\n\n<p>In March 2024, I had a look at github&#8217;s documentation again and came across among other pages, <a href=\"https:\/\/github.com\/cli\/cli\">the CLI  aka gh<\/a> and <a href=\"https:\/\/github.com\/cli\/cli\/blob\/trunk\/docs\/install_linux.md\">how to install it on Debiab\/Unbuntu<\/a>.  See also, <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.github.com\/en\/github-cli\/github-cli\/about-github-cli\">https:\/\/docs.github.com\/en\/github-cli\/github-cli\/about-github-cli<\/a> , from github<\/li>\n\n\n\n<li>A page on personal tokens, which would seem to be an enterprise solution, <a href=\"https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/managing-your-personal-access-tokens\">Managing your personal access tokens<\/a>, again from githube<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.github.com\/en\/get-started\/getting-started-with-git\/about-remote-repositories#cloning-with-https-urls\">About remote repositories, cloning with https<\/a><\/li>\n<\/ol>\n\n\n\n<p>We need to work out how to use <em>gh auth login<\/em>. This is simple, its default mode is to boot a web browser, generate a one time token and ise the web page to authenticate. Cool!<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The Git Credential Manager<\/h4>\n\n\n\n<p>This section was written when they first canned the CLI login and some of it is based on the need to install this on a Raspberry Pi which was not their first priority. I need to QA it to see how much of it is still correct and relevant. <\/p>\n\n\n\n<p> So do do it in batch it seems you need the Git Credential Manager<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>What is it and how does it work\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/main\/README.md\">Git Credential Manager, a how to<\/a>&nbsp;at github,com, and <a href=\"https:\/\/git-scm.com\/docs\/gitcredentials\">their documentation page<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\">https:\/\/github.com\/GitCredentialManager\/git-credential-manager<\/a>. the code&nbsp; page, hads a wiki obvs<\/li>\n\n\n\n<li>This page d<a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Git-Internals-Environment-Variables\">ocuments the environment variables<\/a>.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Installing the Binaries\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/install.md\">Install instructions inc package repos<\/a>&nbsp;at github.com, there is no Raspberry Pi\/arm version, I may need to use the source code version. I have asked for help at <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=343218\">https:\/\/forums.raspberrypi.com<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/credstores.md\">Credential stores<\/a>, on Linux, the GCM has helpers. This page documents how to install <code>gpg<\/code> and <code>pass<\/code> as helpers. The <a href=\"https:\/\/linux.die.net\/man\/1\/pass\">man pass<\/a> page at linux.die.net<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/install.md#.NET-tool\">https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/install.md#.NET-tool<\/a>, how to install a Linux .NET tool, I have not done this yet as I am testing it on an Ubuntu VM.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/install.md\">https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/blob\/release\/docs\/install.md<\/a>, how to install by OS, we need Debian for Ubuntu; we would for\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/releases\/tag\/v2.0.877\">https:\/\/github.com\/GitCredentialManager\/git-credential-manager\/releases\/tag\/v2.0.877<\/a>, hosts the code, .deb or in tar or source.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Will I need <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/iot\/deployment\">this, .NET<\/a> from MS? Or <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/install\/linux-ubuntu\">this<\/a>? The GCM compiles without installing .net in Ubuntu 22.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Configuring GCM\n<ol class=\"wp-block-list\">\n<li>This page d<a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Git-Internals-Environment-Variables\">ocuments the environment variables<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/creating-a-personal-access-token\">https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/creating-a-personal-access-token<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/web.archive.org\/web\/20221217023845\/https:\/\/docs.github.com\/en\/get-started\/getting-started-with-git\/about-remote-repositories\">About remote repositories<\/a>, or <a href=\"https:\/\/docs.github.com\/en\/get-started\/getting-started-with-git\/about-remote-repositories#cloning-with-https-urls\">about-remote-repositories#cloning-with-https-urls<\/a> how to get access tokens FFS, and <a href=\"https:\/\/github.com\/settings\/tokens?type=beta\">Fine-grained personal access tokens (Beta)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.github.com\/en\/get-started\/getting-started-with-git\/caching-your-github-credentials-in-git\">https:\/\/docs.github.com\/en\/get-started\/getting-started-with-git\/caching-your-github-credentials-in-git<\/a>, does this mean if one uses <code>git clone https<\/code>, it obviates the need for all this shite<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<p>I was trying to make a pull on a pi, and was told I had to <a href=\"https:\/\/www.theserverside.com\/definition\/git-stash\">stash<\/a> the build. I need to take some care on pulling the repo&#8217;s from github, it gets quite tricky although a correspondent <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?p=2056210#p2056210\">on the pi forums recommends<\/a> using ssh protocol.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The need for this went away as they implemented gh auth login. I moved the following words from using github to here. It should be marked deprecated.<\/p>\n","protected":false},"author":1,"featured_media":13680,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_share_on_mastodon":"0"},"categories":[3],"tags":[1184,864,865,12,911],"class_list":["post-13679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-deprecated","tag-git","tag-github","tag-security","tag-technology"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"https:\/\/davelevy.info\/wiki\/wp-content\/uploads\/2025\/12\/git-rubaitulazad-unsplash-w1080.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/13679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/comments?post=13679"}],"version-history":[{"count":1,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/13679\/revisions"}],"predecessor-version":[{"id":13681,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/13679\/revisions\/13681"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media\/13680"}],"wp:attachment":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media?parent=13679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/categories?post=13679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/tags?post=13679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}