[解決済み] Git - Windowsで.netrcファイルを使用してユーザーとパスワードを保存する方法
質問
Git を使って HTTP とユーザー - パスワードでリモート・リポジトリをクローンする場合、Windows で .netrc ファイルを使用することは可能でしょうか?
解決方法を教えてください。
<ブロッククオート
を使用することは可能ですか?
.netrc
ファイルを Windows で使用することはできますか?
はい:必ず必要です。
-
環境変数の定義
%HOME%
(Git2.0以前、Git2.0+では不要になりました) -
を置く
_netrc
ファイルを%HOME%
Windows 7/10を使用している場合、[ ]内に
CMD
セッションで、タイプしてください。
setx HOME %USERPROFILE%
と、その
%HOME%
は' に設定されます。
C:\Users\"username"
'.
そのフォルダに移動して (
cd %HOME%
というファイルを作成し、'
_netrc
'
注:繰り返しになりますが、Windowsの場合、'
_netrc
' ファイルを作成します。
ではなく
a '
.netrc
' ファイルを作成します。
その内容は極めて標準的なものです。
<examples>
をあなたの値で埋めてください。)
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
ルーク がコメントで言及しています。
Windows 7 で msysgit の最新版を使用したところ、このメソッドを使用するために
HOME
環境変数 を使用します。_netrc
ファイルだけで、うまくいきました。
これは確かに"に書いてあった通りです。
を試してみる "
install
" github
.ssh
ディレクトリがありません
"です。
git-cmd.bat
msysgit に含まれている
%HOME%
環境変数
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
爱国者は、コメントで「httpプロトコルでは動作しないようです"」と考えています。
しかし、私は次のように答えました。
netrc
が使用されます。
curl
で示されるように、HTTP プロトコルで動作します。
この例
(を探します。
netrc
' が表示されます)。 . また、ここではHTTPプロトコルで使用されています: "
_netrc
/
.netrc
に代わるもの
cURL
"です。
でよくある罠
netrc
が Windows でサポートされている場合、オリジンの https url でユーザー名が指定されていると、git がそれを使用するのを回避してしまいます。
例えば
.git/config
ファイルに含まれています。
[リモート "オリジン"]。 フェッチ = +refs/heads/*:refs/remotes/origin/* url = https://[email protected]/p/my-project/
Git は
_netrc
これを解決するには、ユーザ名を削除してください。
[リモート "オリジン"]。 フェッチ = +refs/heads/*:refs/remotes/origin/* url = https://code.google.com/p/my-project/
代替案です。で git バージョン 1.7.9+ (2012年1月)。 この回答 から マーク・ロンゲアー を詳しく説明します。 クレデンシャルキャッシュ機構 どの また を使用することができます。 ない パスワードは以下のようにプレーンテキストで保存されます。
と Git 1.8.3 (2013年4月)です。
を使用できるようになりました。
暗号化された .netrc
(を使用)。
gpg
).
Windowsの場合。
%HOME%/_netrc
(
_
でなく、'
.
')
A 新しい読み取り専用のクレデンシャルヘルパー は
contrib/
) と対話することができます。.netrc/.authinfo
ファイルが追加されました。
そのスクリプトを使用すると gpg で暗号化された netrc ファイルを使用する。 プレーンテキストファイルに保存されている認証情報の問題を回避することができます。
<ブロッククオート
を持つファイルは
.gpg
拡張子はパースする前にGPGで復号化されます。
複数
-f
の引数はOKです。それらは順番に処理され、最初に見つかったマッチするエントリがクレデンシャルヘルパープロトコル経由で返されます。
がない場合
-f
オプションが指定されます。
.authinfo.gpg
,
.netrc.gpg
,
.authinfo
および
.netrc
のファイルがこの順番で使用されます。
このクレデンシャルヘルパーを有効にするには。
git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'
(Gitは"を先頭につけることに注意してください。
git-credential-
"をヘルパー名に追加して、パスから探します)。
# and if you want lots of debugging info:
git config credential.helper '$shortname -f AUTHFILE -d'
#or to see the files opened and data found:
git config credential.helper '$shortname -f AUTHFILE -v'
詳しい例は"でご覧ください。
を使用する際に、パスワードの入力を省略する方法はありますか?
https:// github
"です。
Git 2.18+(2018年6月)では、暗号化されたものを復号化するために使用するGPGプログラムをカスタマイズできるようになりました。
.netrc
ファイルを作成します。
参照
コミット 786ef50
,
コミット f07eeed
(2018年5月12日)による
ルイス・マルサノ (``)
.
(によって統合されました。
ジュニオ・C・ハマノ--。
gitster
--
で
コミット 017b7c5
, 2018年5月30日)
git-credential-netrc
: 受け入れる
gpg
オプション
git-credential-netrc
がハードコードされ、復号化には '
gpg
とは関係なく
gpg.program オプションを指定します。
これはDebianのようにモダンなGnuPGを別の名前で呼ぶディストリビューションでの問題で、例えば'
gpg2
'
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Gitのプッシュでユーザー名とパスワードが必要
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】cmdでdirを呼び出すと出力される。"Cドライブのボリュームにはラベルがありません。"
-
[解決済み] マイクロソフト既知のDLL
-
[解決済み] コマンドプロンプトから sqlite - 認識されないコマンド
-
[解決済み] Sudoが見つかりません。npm install を試しています。
-
[解決済み] terasso libraryでUnknown errorが発生し、vbaを使用してteradataに接続できない。
-
[解決済み] Windowsでフォルダへのアクセスを回復する方法
-
[解決済み] Windowsで "rm -rf "に相当するものはありますか?
-
[解決済み] cmd lineを使用してファイルをZIPする方法は?
-
[解決済み] コミットをプッシュするためにhttpsの認証情報をキャッシュする方法はありますか?
-
[解決済み】Gitのパーソナルアクセストークンをどこに保存するか?