1 min read

GitHubで変更を加えていないのにChangesに表示された

MacさんのOSをクリーンインストールしてGitHub環境を構築しようとして躓いた(?)

キャプチャがこちら

スクリーンショット 2015-10-24 午前3.17.52

通常は変更した箇所がマーキングされて表示されるが、なにも表示されていない。

とりあえずこのままではなにがなんだかわからないのでcommit&syncしてみた。

そしてGitHubのサイトのcommitの履歴を見てみると

スクリーンショット 2015-10-24 午前3.32.36

とても納得。
ファイルをバックアップからコピーしたときにパーミッションが変わったのね、なるほど。

前にも一回こんなことあったなぁとか思いながら調べてみた。

git config core.filemode false

git filemodeで検索したらすぐにでてきた。
とりあえずこれでChangesに出てくることは回避できた。

ただこれは一つのリポジトリだけじゃなくて全部のリポジトリに共通させてしまいたいので

git config --global core.filemode false

これでよし。すべてのリポジトリに対してfilemodeを無視するようにできた。

直前のcommitに戻す

「ディレクトリ変更」という無駄なcommitをしてしまったため、それを取り消す

// commitを取り消したい対象のディレクトリに移動
cd workspace/ChinachuClient
// 直前のcommitをなかったことに
git reset --hard HEAD^
// pushをするが、強制的にpushをしてやらないとエラーを吐かれる
git push -f

これで直前のcommitがなかったことになる