ソースコードのバージョン管理ソフトとは

ソースコードのバージョン管理とはソフトウェアのソースコードを変更した時の変更を記録・管理するためのソフトウェアです。 最近では Git が利用されることが多いです。

バージョン管理を行う目的

  • いつ何を変更したのかの履歴を管理する
  • 過去の特定のタイミングのバージョンを復元できる様にする
  • 複数人でソースコードを修正した際の競合の解決ができる

変更履歴を管理する

長期にわたってソフトウェアを開発する場合にはいつどの様な修正をしたかを記録する必要が出てきます。 バージョン管理ソフトが普及するまではソースコード内にコメントとして変更履歴を記述していました。

function test(condition: boolean): void {
  if (condition) {
    // 2022/09/13 23:00 update developer-1 メッセージを変更 start
    console.log('condition が true です。');
    // 2022/09/13 23:00 update developer-1 メッセージを変更 end
  }
}

バージョン管理ソフトを利用することでソースコード中にコメントを入れなくても過去の変更履歴を確認できるようになります。 バージョン管理ソフトを利用する場合専用のソフトウェアやサービスを利用することで、変更履歴を閲覧することができます。 ソースコードの見やすさや管理のしやすさを考えるとコメントではなく管理ソフトを利用して変更履歴を管理すべきでしょう。

過去のバージョンの復元

ソフトウェアの設計を進めていくと、『○○ 時点でのソフトの調査を行わないといけない』状況が発生することが良くあります。 各リリース時期のソースコードの完全なバックアップを取ることで対応することもできますが、バージョン管理ソフトを利用すれば過去の特定のタイミングのソースコードを復元することができます。 全ての変更タイミングでの復元だけでなく、特定のタイミングの状態に名前を付けて管理することも出来ます。この機能は Git ではタグと呼ばれます。

競合の解決

1 つのソフトウェアを複数人で開発する場合、それぞれの設計者の変更が同じファイルや同じ行に対して行われて衝突する場合があります。 バージョン管理ソフトを利用すると、効率よく衝突を解決することができます。

参考資料