CUIから始めるSubversion(SVN)入門:基本操作と実践活用
Subversion(SVN)は、Gitよりも古くから利用されてきた集中型のバージョン管理システムです。現在でも、企業やレガシーシステムではSVNが使われているケースも多く、知っておくと役に立つ技術の一つです。
本記事では、CUI(コマンドライン)環境でのSVN基本操作とその仕組みについて、初心者向けにわかりやすく解説します。
1. SVNとは?
- 正式名称:Apache Subversion
- 特徴:
- 集中型リポジトリ(Centralized Repository Model)
- サーバーが1つの「真実の情報源」として機能する
- ファイル単位の変更履歴管理が中心
2. SVNをインストールする
Linux (Debian/Ubuntu系)
sudo apt update sudo apt install subversion
macOS (Homebrew)
brew install subversion
Windows
- Chocolateyを使う場合:
choco install subversion
3. 基本的なCUI操作
3.1 リポジトリのチェックアウト(cloneに相当)
svn checkout https://svn.example.com/repos/project # または短縮形 svn co https://svn.example.com/repos/project
3.2 作業ファイルの更新(pullに相当)
svn update # または svn up
3.3 ファイルの追加
svn add newfile.txt
3.4 ファイルの削除
svn delete oldfile.txt
3.5 差分の確認
svn diff
3.6 状態の確認
svn status
記号の意味例:
- M
: 修正済み
- A
: 追加予定
- ?
: バージョン管理されていない
3.7 コミット(変更をサーバーに反映)
svn commit -m "メッセージ" # または svn ci -m "初回コミット"
4. ブランチ・タグの考え方(Gitとの違い)
SVNにはGitのような「ブランチ操作コマンド」はなく、ディレクトリをコピーしてブランチを作るスタイルです。
svn copy https://svn.example.com/repos/project/trunk \ https://svn.example.com/repos/project/branches/feature-x \ -m "Create branch: feature-x"
タグも同様にディレクトリコピーで管理します。
5. よくある操作まとめ
操作内容 | コマンド例 |
---|---|
初期チェックアウト | svn checkout [URL] |
ファイル追加 | svn add file.txt |
コミット | svn commit -m "message" |
更新 | svn update |
差分確認 | svn diff |
状態確認 | svn status |
ログ表示 | svn log |
6. 注意点とTips
- svn addを忘れがち:新規ファイルは必ず手動で
svn add
しないと無視されます。 - 集中型なのでオフライン作業が弱い:Gitとは違い、リポジトリサーバーにアクセスできないと履歴が見られません。
- 改行コードの管理に注意:Windows/Linux間での共有時は
svn:eol-style
を指定すること。
7. まとめ
SVNは今でも根強く使われており、以下のような場面で活用されています:
- 既存のレガシーシステム保守
- 企業や公共系プロジェクト
- ファイル単位での厳密な管理が必要な現場
CUIで基本操作をマスターしておけば、GUIツールに依存せず柔軟な対応が可能になります。
参考リンク
参考書籍
リンク