40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

Git勉強再開

しばらく勉強してなかったけど、先週は読書週間だったのと、とっても仕事が忙しくって、Mac持ち歩く気分ではなかったのでプログラミング関連の勉強は基本行わなかったので、今朝から気を取り直して再開。

行ったのはgit reset HEAD^でコミットを捨てるという作業

たとえば、index.htmlとstyle.cssとの両方を編集したけれど、まずstyle.cssの変更後の状態だけをコミットしたかったとしましょう。git add style.cssのあとに、-aオプションなしで、git commitを実行するはずのところを間違って-aオプションを付けてしまうと、中途半端な変更をしたindex.htmlの状態まで記録されてしまいます。

こんな状況の時に

git reset HEAD^

とすることで、間違ったコミットオブジェクトを破棄出来るらしいからその作業をしたあとで、改めて

git add style.css
git commit -m "本来行うべきコミット"

とすればOKとのことで、書かれている通りにやったんだけど

% git reset HEAD^
zsh: no matches found: HEAD^

と、何故かHEAD^が見つからないと怒られる・・書かれているとおりにやっているつもりなんだけどなぁ。

ただ概念はわかったので、後でこれは調べて再度勉強しよう。