SSHの使用

SSHの使用
─[$] cat ~/.gitconfig

[user]
    name = Shirish Agarwal
    email = [email protected]
[core]
    editor = leafpad
    excludesfiles = /home/shirish/.gitignore
    gitproxy = \"ssh\" for gitorious.org
[merge]
    tool = meld
[push]
    default = simple
[color]
    ui = true
    status = auto
    branch = auto

今度は、ブラウザで資格情報を見つける必要がないように、git資格情報をgithub、gitlab、gitoriousに入れたいと思います。これをどのように自動化できますか?

zshを実行しています。

ベストアンサー1

SSHの使用

git認証を処理する一般的な方法はSSHに委任することです。通常、リモートストレージ(例えば GitHubから)認証が必要なときはいつでも使用してください。もちろん、キーエージェントを使用したり、デスクトップ環境で処理したり、ssh-agent手動で使用して処理したりできますssh-add

ユーザー名を指定したくない場合は、SSHで構成することもできます。~/.ssh/configたとえば、次のようになります。

Host git.opendaylight.org
  User skitt

その後、次のように複製できます。

git clone ssh://git.opendaylight.org:29418/aaa

(ここにはユーザー名はありません。)

使用gitcredentials

SSH方式を適用できない場合(例えばHTTPS経由でアクセスされるリポジトリを使用している場合)gitには資格情報を処理する独自の方法があります。gitcredentials(そして一般的にgit-credential-store)。以下を使用してユーザー名を指定します。

git config credential.${remote}.username yourusername

資格情報ヘルパーで使用

git config credential.helper store

--globalこの設定をどこでも使用する場合は指定してください)。

その後、初めてリポジトリにアクセスすると、gitはパスワードを要求して保存します(デフォルトでは~/.git-credentials)。その後、リポジトリにアクセスすると、ユーザーに尋ねるのではなく、保存されたパスワードを使用します。

警告する:資格情報をホームディレクトリにプレーンテキストとして保存します。したがって、これが意味するものを理解し、リスクに快適でない限り、お勧めできません。

おすすめ記事