2016-12-16 11 views
1

私は長いパス名を持つファイルを含むGitHubのリポジトリのクローンを作成しようとしています拒否された、と私は、コマンドはgitのと、ファイル名の長さ制限を設定しようとすると - 権限が

git config --system core.longpaths true 
を使用してGitリポジトリのファイルの長さの制限を回避しようとしています

しかし、私はエラーメッセージを取得しています:コマンドはありませんCで、プログラムファイル内のファイルを変更しようとしているよう

error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied 
error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Invalid argument 

これは、奇妙なよう:Users \ユーザー\それがあるべきユーザ名を。さらに、.gitconfigファイルのC:\ Users \ usernameをチェックしたところ、見つけられませんでした。誰が何が起こっているか知っていますか?

+0

'core.longpaths'は何をすると思いますか? GitリポジトリでGit自身のために実行される次のコマンドは、全く出力を生成しないことがわかります。 'git grep -i longpath' – torek

+0

ここを参照してください:http://stackoverflow.com/questions/22575662/filename-too-long -in-git-for-windows – Alex

+0

ああ、これはGitのことではなく、msysgit特有のものです。私はmsysgitタグを追加しました。おそらく誰かが知っているだろう。 – torek

答えて

1

あなたがほしいgit config --global

これはコマンドがプログラムファイル内のファイルを変更しようとしているため、これは変わったようです。C:\ Users \ usernameではないはずです。

これは予想される動作です。 git config --systemを実行したので、システム全体の設定ファイルが検索されます。書き込みオプションについてgit-config docs ...

--system

から:システム全体の$(接頭辞)は/ etc/gitconfigではなく、リポジトリの.git/configのに書き込みます。

git config --globalは、あなたのユーザーディレクトリのグローバルgit設定ファイルに書き込むことをお勧めします。これは、git config --localとは対照的に、現在のリポジトリの設定ファイルに書き込むためのもので、.git/configです。書き込みオプションについて

--global

:、グローバル〜/ .gitconfigファイルではなく、リポジトリ .git/configのに書き込み、このファイルが存在する場合は$ XDG_CONFIG_HOME/gitの/ configファイルに書き込み、 〜/ .gitconfigファイルはありません。

私はそれは単純にUnix形式/etc/gitconfigでWindowsスタイルのプレフィックスC:\Program Files\Git\mingw64を一緒にマッシュと混合区切り文字とナンセンスのパスを取得していますのでmsysgitは、git config --systemの動作を変更しませんでした期待しています。

letting them know about this behaviorを検討し、より良いエラーメッセージが表示されることをお勧めします。

関連する問題