要旨
リモートリポジトリがssh通信を受け付けておらず、https接続のみ使える、という場合があったりすると思います。ポート変えてsshあけておいてほしいですよね その場合、認証が毎回問われてめんどくさいので自動化したいという話です。
環境:Ubuntu-20.04(wsl, ローカル) EC2上のgitlab(リモート)
結論
この方の通りにしてください。
元記事読むのが面倒な人向けに
$ sudo apt-get install make gcc libsecret-1-0 libsecret-1-dev
$ cd /usr/share/doc/git/contrib/credential/libsecret
$ sudo make
$ git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
次に認証したら、以降はパスワードが暗号化されて保存され、自動認証してくれるので楽になると思います。
補足
ネットでいくらか検索するとlibgnome-keyring-devをインストールしろとかいろいろ出てくるのですが、Ubuntu-20.04からはdeprecatedになってパッケージがインストールできなくなってました。あとはシェルスクリプトを書いている記事( https://yaaamaaaguuu.hatenablog.com/entry/2017/08/22/223612 )もあり、もちろんそれでもいいのですが、パスワードが平文で環境変数に保存されてしまうこともあり、さすがに公式のツールでほかの方法が存在するだろう、と思って探してました。というか元記事によるとgitってパスワード認証やめとけって言ってるんですね。なおさらssh使っとけって話ですね