今回のブログ担当は石川です。6月といえば雨という印象ですが、今年の松江は雨が降らない日が続いています。
さて、業務でのソースコードのバージョン管理にGitを使っています。 その中で、何度かこんなコミットをしました。
「不要なファイルを間違えてpushしてしまったので消します...」といった内容です。
gitでファイルをcommitをする前の段階でしっかりチェックしていれば防げる話なのですが、それでも時々見落としがありました。 幸い動作確認のために追加していたファイルなど、あまり問題にならないレベルのものしか「間違えてpushしました...」となることはなかったのですが、この調子だったらその内何かやらかしてもおかしくないと危機感を覚えていました。
1度目にミスをしてから、次に同じミスをしないためのルールを決めました。
ファイルをaddする際は git add -u で変更があった部分のみをaddし、ファイル追加したいときは単体でファイルを指定して git add sample.txt とする
ですがそれでもついつい-uをつけ忘れて、そのままgit statusで確認した際も見逃してしまい、pushしてしまうことがありました。
いくらルールを作ってもそれを守らない(守れない)と意味がないですね。
そのルールを確実に守るためにはどうしたら良いか考えて、 スニペット を活用することにしました。
元から利用していたMacのランチャーアプリ「Alfred3」がスニペット機能を持っていたので、
Alfredにgit addというキーワードでgit add -uという内容を引き出せるようにセットしました。
スニペット機能とは、あらかじめ登録しておいたテキストを必要なときに呼び出して素早く入力できる機能です。
そして、Auto-Expansionという機能を使うように設定しました。
これは、登録しておいた短いキーワードだけ入力すれば自動的にスニペット全体が展開される機能です。要はgit addと入力したら自動でスニペットが展開される(つまりgit add -u)に変換されるという機能です。ターミナルをはじめ、テキスト入力エリアであればどこでも使えます。
そうすることで、いつも通りgit addと入力すると-uのオプションも自動でつくので、忘れることはなくなりました。
新しいファイルを追加したい場合は、意識的に-uを消して使います。
実際何が変わったのかというと、入力する文字数が3文字(スペースとハイフンとu)減っただけなのですが、それだけでも考えることなく「不要なファイルを間違えてpushしてしまったので消します...」とならないためのルールを守ることができるようになりました。
gitはコマンドもいろいろな種類があり、オプションをつけると随分と長文になってしまったりします。私の記憶力では覚えることができません。 そういったコマンドを省略できるようにgit自体にもエイリアスを設定できるようになっています。
例えば、git status --short --branchというコマンドをよく使うときは、git stと入力するだけでgit status --short --branchを入力した時と同じ結果を得る...と設定しておくことができます。
私は、これで楽ができる!と思いワクワクしながらいくつかのコマンドのエイリアスを設定しました。
↓ しかし
結局、数回程度しか使いませんでした。 その理由は、純粋に私の記憶力が悪かったからです。 入力文字数は多くても、何も考えずにいる方が「楽」に思えたのです。(もちろん、速度のことを考えれば覚えてしまった方が良いのはわかりきっているのですが。)
結局、ここでやりたかったことも今はスニペット機能で補っています。
       
     | 
    
      2025年11月29日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催) ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。  | 
  
       
     | 
    
      オープンソースのプロジェクト管理ツール「Redmine 6.1」の最新機能紹介セミナーを10月30日に開催 2025年9月22日にリリースされた Redmine 6.1 の新機能をRedmineコミッターの前田剛(ファーエンドテクノロジー株式会社 代表取締役)が解説します。  | 
  
       
     | 
    
      【AIがRedmineのチケットを要約】チケット内容が瞬時に分かる新機能「AIチケット要約」をMy Redmineで提供開始! Redmineのクラウドサービス『My Redmine JP Edition』で、チケット内容を要約する新機能「AIチケット要約」が使えるようになりました。  | 
  
       
     | 
    
      RubyWorld Conference 2025 (11/6・7開催) にPlatinumスポンサーとして協賛 2025年11月6日(木)〜7日(金)に島根県松江市で開催される「RubyWorld Conference 2025」にPlatinumスポンサーとして協賛しています。  | 
  
       
     | 
    
      Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け  |