小さな習慣の感想

毎日のデスクワークと育児で最近は全く運動をしてなかったので、かなり運動不足を感じている。 筋トレとかランニングをしようと思うんだけど、なかなか時間が取れない。そこで毎日少しでもいいから筋トレをしようと思って、こんな本を買ってみた。 この本ではなぜ小さな習慣がいいかを脳科学的に説明しており、モチベーションではなく少しの意志の力でやれるように極端に習慣を小さくするようにすすめている。 腕立てふせ一回とか、一日に文章を50ワード書くとか。 今までの人生振り返ってみると、何かをしようと思って新しいことを始めてみても、一か月か二ヶ月でやめてしまうことが多かった。 やはり早く結果を出したいという気持ちが強くなり目標を大きく設定していた。 たとえば、いきなり筋トレ何種目かを3セットとか。毎日1時間勉強するとか。 モチベーションが高い間はできるが、少しでも疲れていたり、やる気がない日はどうしてもできない時が出てくる。 一日でもできない日が出てくるとさらにモチベーションが下がって結局まったくしなくなってしまう。 それを何回も繰り返してきた。そのたびに自分は意志力が弱いんだと思って悲観していた。 だが、この本を読んで続かないのは目標が大きすぎるのが原因だとわかった。 モチベーションは必ず落ちるものでモチベーションで何かをやろうとすると必ず続かなくなると思った。 これからは何かを始めるとき目標をできる限り小さくしていこうと思う。 とりあえず毎日腕立て伏せ一回、スクワット一回をやっていく。 一回だけで効果があるのかと思うかもしれないが、ずっと一回をやっていくのではなく最低一回。なので10回やるときもある。 習慣化することができたら少しだけ回数を増やす。しかし、一気には増やさない。あくまでも目標は小さくする。こんな感じでやっていければと思う。 これはダイエットとか禁煙とかにも効果があると思う。今までなかなか習慣化できなかった人は読んでみてもいいと思う。

バッチファイルのテンプレート

バッチファイルを作ることは最近減ってきているが、たまに作るときに一から作成すると時間がかかるので、最低限のテンプレートを用意しておく。 @echo off rem バッチファイルの説明 rem 環境変数の定義 set VAR1="VAR1の値" set VAR2="VAR2の値" pushd "%~dp0" pause echo offは実行するコマンドを表示させないコマンド。@をコマンドの前につけるとそのコマンドは表示されなくなるが、すべてのコマンドに@をつけるのは面倒なのでecho offですべてのコマンドを表示しないようにする。 ただし、echo off自体は表示されてしまうので@をつける。 remはコマンド行。 setは環境変数を設定する。 pushdはディレクトリの移動するコマンドで、%~dp0はこのバッチファイルがあるディレクトリを表す。 なのでpushd "%~dp0"はこのバッチファイルがあるディレクトリをカレントディレクトリにする。 ディレクトリの移動はcdでもできるが、cdと比べてpushdは以下の利点がある。 pushdを実行した後、popdで元のディレクトリに戻れる 現在のドライブとは別のドライブに移動できる \server\hoge\fugaのようなUNCパスに移動できる pauseは処理を一時停止するコマンド。このコマンドがないとウィンドウが閉じてしまい処理結果がわからないので入れておく。

Gitで過去のコミットのAuthor名とメールアドレスを変更する方法

以前、GitHubのユーザー名とメールアドレスを変更したのだが、GitHubのリポジトリのコミット履歴のAuthor名とメールアドレスに古いものが含まれており、これを新しいものに変更したかったので調べてみた。 Author名とメールアドレスを一括変更 以下のコマンドで一括で変更できるらしい。 $ git filter-branch -f --env-filter \ "GIT_AUTHOR_NAME='<new name>'; \ GIT_AUTHOR_EMAIL='<new email>'; \ GIT_COMMITTER_NAME='<new name>'; \ GIT_COMMITTER_EMAIL='<new email>';" \ <対象コミットリスト> GitではAuthorの他にCommitterを記録しているのでこれも一緒に変更する。 対象コミットリストは、すべてのコミットが対象ならHEAD、対象を制限するならHEAD~20..HEADのように指定する。 実際に実行したコマンドは以下。 $ git filter-branch -f --env-filter \ "GIT_AUTHOR_NAME='sohtaro'; \ GIT_AUTHOR_EMAIL='sohtaro28@gmail.com'; \ GIT_COMMITTER_NAME='sohtaro'; \ GIT_COMMITTER_EMAIL='sohtaro28@gmail.com';" \ HEAD AuthorとCommitter両方を確認するためにgit log --pretty=fullを実行。 通常、AuthorとCommitterは同じだが`git commit –author=“Yamada Taro <yamada@example.com>“の形式でAuthor名を指定できる) $ git log --pretty=full -1 commit 35afa51b289fff2403a6ecd0f3afce4e917034e0 (HEAD -> master) Author: sohtaro <sohtaro28@gmail.com> Commit: sohtaro <sohtaro28@gmail.com> Update public files あっさり変更できた。