git pushを構成するには、ユーザー名とパスワードを入力するたびに

2785 ワード

1.sshプロトコルの使用
  • step 1:公開鍵
  • を生成する.
    ssh-keygen -t rsa -C "[email protected]"  
    # Generating public/private rsa key pair...
    #          ssh key
    
  • step 2:生成された公開鍵を表示する
  • cat ~/.ssh/id_rsa.pub
    # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
    
  • step 3:生成された公開鍵をgitサーバ
  • にコピーする.
  • step 4:sshプロトコルcloneリモートウェアハウスor httpsプロトコルcloneをローカルに使用した場合は、リモートウェアハウス
  • を再設定します.
    git remote set-url origin [email protected]:xxx/xxx.git
    

    2.git構成の設定
    HTTPプロトコルgitに対してこの件を処理するための証明書システムがある
  • デフォルトではすべてキャッシュされません.接続するたびに、ユーザー名とパスワードを尋ねます.
  • 「cache」モードでは、証明書がメモリにしばらく保存されます.パスワードはディスクに保存されず、15分後にメモリから消去されます.
  • 「store」モードでは、証明書は明示的にディスクに保存され、期限切れになりません.これは、Gitサーバのパスワードを変更しない限り、証明書情報を再入力する必要はありません.この方法の欠点は、あなたのパスワードが明文でホームディレクトリの下に保存されていることです.
  • Macを使用している場合、Gitにはシステムユーザーのキー列に証明書をキャッシュする「osxkeychain」モードもあります.この方式では、証明書はディスクに保存され、期限は切れませんが、暗号化されています.この暗号化方式は、HTTPS証明書およびSafariの自動記入と同じです.
  • Windowsを使用している場合は、「winstore」というアシストツールをインストールできます.これは前述の「osxkeychain」とよく似ていますが、Windows Credential Storeを使用して機密情報を制御しています.可以在 https://gitcredentialstore.codeplex.comダウンロードします.Gitの構成を設定して上記の方法を選択することができます
  • git config --global credential.helper cache
    

    一部の補助ツールにはいくつかのオプションがあります.storeモードでは、パスワードを保存するファイルパスをカスタマイズできる--fileパラメータが使用できます(デフォルトは~/.git-credentials).cacheモードには--timeoutパラメータがあり、バックグラウンドプロセスの生存時間(デフォルトは「900」、つまり15分)を設定できます.次に、storeモードのカスタムパスを構成する例を示します.
    git config --global credential.helper store --file ~/.my-credentials
    

    Gitでは、複数のアシストツールを構成することもできます.特定のサーバの資格証明を検索すると、Gitは順番にクエリーし、最初の回答が見つかったときにクエリーを停止します.証明書を保存すると、Gitはユーザー名とパスワードをすべての構成リストの補助ツールに送信し、ユーザー名とパスワードを独自の方法で処理します.フラッシュメモリに認証ファイルがあるが、フラッシュメモリが抜かれた場合にメモリキャッシュを使用してユーザー名パスワードを保存したい場合は、gitconfigプロファイルは次のとおりです.
    [credential]
        helper = store --file /mnt/thumbdrive/.git-credentials
        helper = cache --timeout 30000
    

    3.gitプロファイルの変更
    ユーザーフォルダの下に.gitconfigファイルが見つかり、エディタまたはvimで開き、以前にユーザー名とパスワードが設定されていたら中に表示されます.
    [user]
        name = xxx
        email = xxx@xxxxx.com
    

    以下の構成を追加して保存します.
    [credential]
         helper=store
    

    次にgit pushを実行するユーザ名を再度入力と、gitはユーザ名パスワードを記憶して上記ディレクトリの下に作成する.git-credentialsファイルは、入力したユーザー名パスワードを記録します.
    出典:https://www.jianshu.com/p/bcfb6a0d5c7a