2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ソフトウェアのバージョン管理について

2
Last updated at Posted at 2026-03-12

バージョン管理については大まかに以下の2通りになる

  1. 集中型
  2. 分散型
型式 特徴
集中型 作業時には常にサーバに接続が必要となる。
分散型 必要な作業の時だけサーバに接続出来れば良い。

長所と短所であるが...

型式 長所 短所
集中型 操作は分散型と比較して簡単 枯れたソース管理なので今後は主流になる事は無い
分散型 OSSでも使われる様に現在の主力 操作が難しい (集中型と比較して)

使い方としてはどんな感じ?

使い方としては以下の感じ

集中型

  1. 修正したいソースをロック (サーバにはロック情報が残る)
  2. チェックアウト (サーバ → ローカルに最新ソースを取得するイメージ)
  3. 修正 (ローカル)
  4. コミット (ローカル → サーバ)
  5. ロック解除 (サーバのロック情報を解除)

分散型

  1. チェックアウト (マスターブランチ)
  2. フェッチ (サーバ → ローカル)
  3. ブランチを切る (マスターブランチ → 開発ブランチ)
  4. 修正 (ローカル)
  5. コミット (ローカル)
  6. プッシュ (ローカル → サーバ)
  7. プルリクエスト作成 (開発ブランチ → マスターブランチ) ※GitLabだとマージリクエストとも言いますね)
  8. コードレビュー (NGであれば4 からやり直し)
  9. 6.でOKならばマージ (開発ブランチ → マスターブランチ)

※分散型はマージの時にコンフリクトが発生した場合の対応...etc
もあるのだが...今回は説明しない

集中型としてはどんなものがある?

  1. Microsoft Visual Source Safe ※1 (主にVB5・VB6...etcで使われていたな...)
  2. SubVersion (主にレガシーなJavaで使われていましたねぇ...)
  3. Mifrosoft Team Foundation Server ※2 (Microsoft製だが余り使われない?)

※1…略してVSSとも言う。現在ではサポートが終了しているため使用される事は殆ど無い...はず
※2…略してTFSとも言う。

分散型としてはどんなものがある?

  1. git (恐らく...これ一択じゃね?って感じ)
  2. Mercurial (こちらもチラホラと話は聞くが...筆者は使った事が無い...)

分散型のGitサーバとしては主に以下の通り...

  1. GitHub (強い)
  2. CodeCommit (AWSのサービスの一つ)
  3. GitLab (無料でサーバ建てられたので一昔は使われていたけど...GitHubの様に課金して使う事も出来る)
  4. Bitbucket (Sourcetree(Gitクライアントソフト)で有名なアトラシアンが提供している。)
  5. GitBucket (こちらもGitLabと同様にサーバ建てられる)

gitってどうやって使うの?

  1. CUIコマンド (コマンドミスったりするので余りオススメしない)
  2. GUIなクライアントツール (オススメ)

GUIなツールとしてどんなのがあるの?

  1. Sourcetree (アトラシアン製の有名なGitクライアント)
  2. GitLens (VsCodeの有名なプラグイン)
  3. GitKraken (課金する必要ありのGUIなGit)
  4. IntelliJ IDEA Ultimate (JetBrainsが提供しているエディタに内蔵しているGitクライアント)

この中では筆者はJetBrains All Products Pack課金しているため
Intellij IDEA Ultimate・PyCharm・WebStorm...etc
に内蔵しているGitクライアントを愛用している (←JetBrains社の回し者じゃね?と言われても仕方ない)

何故GUIなGitクライアントがオススメなの?

  1. 視覚的にどのブランチに居るかも分かる
  2. 間違った時の訂正についてもCUIよりも容易 (gitの概念を理解していれば...だが...)
  3. コンフリクトした際の問題についても視覚的に解決出来る (こちらが一番大きなメリット)
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?