Gitを使用して単一のブランチでライブラリ管理を行う!(masterブランチのみ)

gitを使用して、masterブランチのみの単一のブランチを使用してライブラリ管理を行う場合について整理します。

使用環境

  • Ubuntu 18.04.3 Desktop
  • git version 2.17.1

単一のブランチのみを使用するケース

変更要件が複数発生して、変更作業を複数並行で行うことがなく順番に行う場合は、単一のブランチのみ使用して作業するのが最も効率がよいでしょう。

ワークフロー(変更要件単位)

単一のブランチのみを使用する場合の作業のワークフローを示します。

「変更要件1」→「変更作業1」→「変更作業1反映」→「リリース」
「変更要件2」→「変更作業2」→「変更作業2反映」→「リリース」
...

ポイントは、複数の変更要件が発生しても必ず順番に変更作業を行います。並行で作業すると、変更作業のマージが必要になり、変更管理や稼働システムへの反映タイミングの管理が複雑になります。

gitでの作業の流れ

単一ブランチを使用した作業の流れを示します。基本的に、以下の記事の流れで、ローカルリポジトリを作成し、ライブラリの作成と更新を行いますが、最後にバージョンを示すタグを付与して、変更の反映状態をわかりやすくしましょう。

ローカル環境へのリポジトリの作成

ローカル環境に、gitのリポジトリを作成します。

作業ディレクトリでのファイルの編集

gitの作業ディレクトリで、テキストエディタや、画像編集ソフト等でファイル追加、変更、削除を行います。

更新したファイルのコミット

作業を行っていた変更要件について作業ディレクトリでの作業を完了したら、ライブラリにコミットします。

ローカルリポジトリでのタグの付与

コミットは、作業中断などにより臨時で行うこともあり、案件終了時に行うとは限りません。どの変更要件を反映した状態であるのかわかりやすくするために、タグを付与します。

$ git tag v1.0
$ git tag
v1.0

tagの削除は、「-d」オプションを使用します。

$ git tag -d v1.0
Deleted tag 'v1.0' (was 0708a93)
$ git tag

リモートリポジトリへのタグの反映

リモートリポジトリへのタグの反映は、タグごとに個別に行います。

$ git push origin v1.0
sysadm01@gitsrv01's password: 
Total 0 (delta 0), reused 0 (delta 0)
To gitsrv01:repo-git/sample/sample001.git
 * [new tag]         v1.0 -> v1.0

おわりに

変更要件を順番に行うように制御できる場合は、単一のブランチのみで作業を行うことができます。単一のブランチのみを使用する場合でも、変更要件のすべてを反映し終えたことがわかるようにタグを使用するようにしましょう。

関連記事

  1. gitを使用してローカル環境でライブラリ管理を行う!(基本編)
  2. gitを使用してリモートリポジトリを構成してライブラリ管理を行う!