一般社団法人 全国個人事業主支援協会

COLUMN コラム

そろそろ技術的なことを話さないとと思ったので、Gitのチェリーピックについて書きたいと思う。

Gitを始めたての頃は、基本コマンドを覚えるだけで手一杯なことが多い。
また、SVNから入った人にとってファイル管理の考え方が違うのでGitを受け入れる際に戸惑うだろう。
むしろ、いきなりGitから入った人の方が覚えが良いかもしれない。

そんなこんなで、ある程度Gitに慣れてきたとしよう。

慣れてきた場合は、Gitでコミットをする際にしっかりと修正のまとまり単位でコミットしておくと良い。
いくつか修正を一度に対応する場合に、一つのコミットに「しない」ということだ。

特に、共通ライブラリを修正する際などはコミットを分けておいた方が良い。

●developブランチ
↓※2つのブランチを切る
○develop-001
○develop-002

と対応が並行で進むとする。

○develop-001
・コミットA(共通ライブラリ修正)
・コミットB

○develop-002
・コミットC(共通ライブラリ修正)
・コミットD

というように、コミットAとコミットCは同じ対応なのにコミットが別だと、developにマージする際にコンフリクトが発生してしまう。
ましてや、コミットA・BとコミットC・Dを同じコミットにしてしまうのはさらに悪手だ。

○develop-001
・コミットA(共通ライブラリ修正)
・コミットB
↓※チェリーピックでコミットAをdevelop-002に付ける
○develop-002
・コミットA(共通ライブラリ修正)
・コミットD

とすれば、その後の運用がスムーズに進む。
develop-001とdevelop-002のコミットAのコミット番号が同じなので、どちらを先にdevelopにマージしてもコミットAに関してはコンフリクトが発生しない。

共同開発するにあたって、これはとても便利な仕組みと機能だ。

プログラムのスキルは当然大切だが、世の中のシステムは共同開発が多い以上、Gitとコミット・チェリーピックを上手に使ってうまく進めていきたい。

この点は、生成AIにはまかせるのは難しい、人の手による匠の部分になる。

生成AIは便利だが、技術研鑽したエンジニアの手が不要になることは今後ずっと無いだろう。

The following two tabs change content below.

今成 匡志

IT業界20年、その中でフリーランスSEは10年になる40代エンジニアです。 新卒と35歳のときにリストラに会った氷河期世代でもあります。 個人的に最も興味あるのは、技術メインではなく「仕事が出来て稼げるSEはどのような性質があるか?」という点です。 もちろん技術そのものにも興味がありますし、技術がどのように世の中に使われているか?ということにも興味があります。 上に挙げたような切り口から記事を書いていきたいと思います。

最新記事 by 今成 匡志 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア