13

WindowsPCのCygwinインストールからgitを使用しています。cygwinはNTFSファイルシステムでUnixアクセス許可ビットをサポートしていますが、私のEclipseのようなネイティブWindowsプログラムはそれらを認識しないため、Windowsプログラムによって作成されたすべてのファイルに実行可能ビットが設定されます(755)。

実行可能ビットがGitリポジトリに設定されているファイルをチェックインする必要があることはめったにありません。したがって、私はcore.filemode=falseデフォルトで持っていたいです。この値をグローバル構成で設定しましたが、残念ながら通常は効果がありません。文書化されgit cloneているように、ファイルシステムをプローブして、アクセス許可をサポートしているかどうかを確認し、それにcore.filemode応じてリポジトリごとに設定します。したがってcore.filemode=true、すべてのリポジトリ構成に構成があり、望ましいデフォルト。

自動的git cloneに設定されないようにする方法はありますか?core.filemode

4

3 に答える 3

1

cdそのディレクトリがリポジトリであるかどうかを毎回確認し、適切に設定するように Bash を設定できます。あなたの~/.bash_profile追加で

PROMPT_COMMAND=pc
pc () {
  [ -d .git -a ! -g .git/config ] || return
  git config core.filemode 0
  chmod +s .git/config
}
于 2012-12-17T08:08:34.223 に答える
0

通常の方法は、git テンプレート ディレクトリを使用してリポジトリを初期化またはクローンすることです。

 git clone --template=<template directory>

そのディレクトリで、構成ファイルを指定できます。このファイルは、新しく初期化または複製されたリポジトリのローカルgit リポジトリ構成として使用されます。

OP oberlies は、man pageに対しては動作しないと報告していますが :core.filemodecore.ignorecasegit config

git-cloneまたは、リポジトリの作成時git-initにプローブしてcore.fileMode、適切な場合は false に設定します。

于 2012-09-17T11:47:04.883 に答える