gitで管理している資材が編集してないのにeclipseで編集マークが付く
ハマった
いつも作業するのにWindowsOSでcygwinを使っていた。
いつも通りGitBucketでリポジトリを作成し、ローカル資材をpushして、eclipseでインポートしたら、リポジトリ内の資材のすべてに >
が付与された。
え、なんで!?
さっきgit init
してadd
-> commit
-> push
したばかりの資材。
ファイルを個別に開くことなんてしてないし、ローカルの履歴にももちろん何もない。
cygwinでgit diff
してもなにもない。
これが気持ち悪くてかなり解消するのに少し嵌りました。
試行錯誤する
Eclipseからコミットしてみる
最初は環境が壊れたか!?とか思ってテンパっててgoogleで
"編集してないのにEclipseで編集マークがつく"
とかセンスのない検索をしてましたが、冷静になってみた。
まず、Eclipseが"これ編集されてるよ!"って言ってるくらいだからEclipseからだと変更がコミットできるのか?と思い、プロジェクトルートでTeam -> Commit
を実行してみた。
できた!
大量のファイルがcommit -> pushされたらしい。
そしてEclipse上の >
は消えた。
何が起きた??
これをGitBucketのほうでHistoryを確認してみると、
File renamed without changes
なんでー
差分がわからないよー
Cygwinでdiffを確認する
ここで気づく。
あれ?EclipseからcommitしたからCygwinのほうのでpullする?
(ほんとはEclipseでインポートしてるから必要ない。。。)
しかしCygwinでgit diff
を実行すると大量の差分が!!
old mode 100644
new mode 100755
これだけ。
ファイル内の差分はなし。
うしろ3ケタは権限か??
Eclipseでファイルの権限が書き換わってる???
よくわからないけどCygwinから再度add -> commit -> push
当然Eclipseのほうで >
が復活。
よくわからないけどこれをキーワードにググる
たどり着いた解決策
cygwinのほうで
git config core.filemode false
を実行。
ファイルモードをgitとしては無視するようなconfigなのかな。
(調べてない)
しかしこれを実行してEclipseのほうで資材をRefreshしたら >
は消えてくれた。
謎
今までもいろいろとCygwinでcloneしてEclipseでインポートはやってきたけど、なぜ今になってこんなことになったのか。。。
謎。。。
参考
Author And Source
この問題について(gitで管理している資材が編集してないのにeclipseで編集マークが付く), 我々は、より多くの情報をここで見つけました https://qiita.com/guchuan/items/80902175fc5b16088175著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .