TechCraft – エンジニアのためのスキルアップメモ

エンジニアのスキルアップを少しでも加速する技術ブログ

CUIから始めるSubversion(SVN)入門

CUIから始めるSubversionSVN)入門:基本操作と実践活用

SubversionSVN)は、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ツールに依存せず柔軟な対応が可能になります。


参考リンク

参考書籍