2012/01/15

[git]cygwinではfilemode=falseをglobal設定にしても、localでtrueになるみたいだ

私は既存のファイルをgithubに上げる際、Windowsではこんな順番で作業している。
  1. githubでリポジトリを作る
  2. 既存フォルダをcygwinで開く
  3. git init
  4. git add *
  5. git commit -m 'first commit'
  6. git remote ・・・(githubの手順に従うだけ)
その後は、TortoiseGitを使ってcommit/pushするのだが、いつも初回は全ファイルがcommit対象になってしまう。
これはどうやら、filemodeがtrueになっていて、ファイル属性が変更された、とみなされてしまうかららしい。
それはいいのだが、私はglobal設定でfilemode=falseとしている。
なんでいつもtrueになるんだろう?

検索すると、こんな話がされていた。
http://git.661346.n2.nabble.com/ignoring-file-modes-completely-td5995724.html
どうやら、chmod()をサポートする環境では、自動的にfilemode=trueになってしまうらしい。
うーん、globalは無視されるのか・・・。

解決方法は、cygwinでgit initせず、TortoiseGitでリポジトリ作成すること、だった。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。