GitLabにHTTPでアクセスする際、毎回ユーザー名とパスワードを入力する手間を省く方法はいくつかあります。ここでは、HTTP通信を使用しつつ認証情報の入力を省く方法の一部を説明します。
Gitの認証情報をキャッシュに保存する
Gitには認証情報をキャッシュする仕組みがあり、一度入力した認証情報を一定時間保存することで、毎回の入力を省くことができます。以下のコマンドで認証情報をキャッシュに保存します。
git config --global credential.helper cache
この設定をすると、デフォルトでは15分間の間、認証情報がキャッシュされます。
キャッシュの有効期限を変更したい場合は、以下のようにして秒数を指定します。例えば、1時間キャッシュしたい場合は以下のコマンドを使用します。
git config --global credential.helper 'cache --timeout=3600'
認証情報を永久に保存する
キャッシュではなく、永久に認証情報を保存して毎回の入力を省きたい場合は、credential.helper を使って認証情報をローカルのファイルに保存することができます。
git config --global credential.helper store
個人アクセストークンの使用
GitLabで 個人アクセストークン(Personal Access Token) を使う方法もあります。
個人アクセストークンはパスワードの代わりに使えるもので、セキュリティ的にもより推奨されます。
個人アクセストークンの作成手順
GitLabにログインし、プロフィールの設定ページに移動します。
**「Access Tokens(アクセストークン)」**のセクションで新しいトークンを作成します。
トークンには名前と有効期限を設定できます。
必要な権限(repo や read_repository など)を選びます。
Gitの認証情報に個人アクセストークンを保存
トークンを発行したら、Gitリポジトリへの認証情報としてこのトークンを使用します。例えば、次回Gitで認証情報を聞かれたとき、ユーザー名にはGitLabのユーザー名を使い、パスワードの代わりに発行されたトークンを入力します。その後、credential.helper store
を使って保存することで、以降の認証情報入力を省略できます。
git config --global credential.helper store
.netrcファイルを使う
.netrcファイルを使って、HTTP通信の際に認証情報を自動で提供することも可能です。
手順:
ホームディレクトリに.netrcファイルを作成します(~/.netrc)。
次のようにGitLabの情報を記述します。
machine gitlab.com
login your_username
password your_password_or_personal_access_token
machine: 接続先(例: gitlab.com)
login: GitLabのユーザー名
password: パスワードまたは個人アクセストークン
.netrcファイルはプレーンテキストで保存されるため、このファイルの権限を限定してセキュリティを保つことが重要です。
chmod 600 ~/.netrc