目次
そもそもSVNとは
SubversionはApache財団が管理しているバージョン管理システムです。以前広く使われていたCVS(Concurrent Versions System)の後継として開発されました。
現在では、GitやGitHubの普及により、新規プロジェクトではGitを使うことが多くなっていますが、既存のプロジェクトや企業の開発環境では今でもSVNが現役で使われています。
集中型バージョン管理の仕組み
基本構造
サーバーに1つだけリポジトリ(ファイルの保管庫)があり、全員がそこにアクセスする方式です。
サーバー(SVNリポジトリ)
↑↓
┌─────────┼─────────┐
↑↓ ↑↓ ↑↓
Aさん Bさん Cさん
(作業コピー)(作業コピー)(作業コピー)動作の流れ
- checkout(最初の1回)
- サーバーからファイルをダウンロード
- 手元に作業コピーを作成
- update(作業前に毎回)
- サーバーの最新版を取得
- 他の人の変更を手元に反映
- 編集
- 手元のファイルを編集
- commit
- 変更を直接サーバーに送信
- 全員に即座に反映される
| 項目 | 集中型(SVN) | 分散型(Git) |
| リポジトリの場所 | サーバーのみ | サーバー + 各自の手元 |
| commitの影響範囲 | 全員に即反映 | 自分のローカルのみ |
| オフライン作業 | ほぼ不可 | 可能 |
| 履歴の保存 | サーバーのみ | 各自が完全な履歴を持つ |
SVNとGitの違い
| 項目 | Git | SVN |
|---|---|---|
| リポジトリ | 分散型(手元にもある) | 集中型(サーバーのみ) |
| commit | ローカル保存 | 即座にサーバー反映 |
| 作業の流れ | commit→push | commitで完結 |
| オフライン作業 | 可能 | 不可 |
主要コマンド対応表
| 操作 | Git | SVN |
|---|---|---|
| 取得 | git clone | svn checkout |
| 最新化 | git pull | svn update |
| 状態確認 | git status | svn status |
| 差分確認 | git diff | svn diff |
| 追加 | git add | svn add |
| 反映 | git commit + git push | svn commit |
| 履歴 | git log | svn log |
| 削除 | git rm | svn delete |
Gitでは
git add → git commit(ローカル保存)→ git push(サーバー反映)
SVNでは
svn commit(即座にサーバー反映)
TortoiseSVNとは
Windows用のSVNクライアントソフト。エクスプローラーの右クリックメニューから直感的にSVN操作ができるツールです。
エクスプローラーに統合されているので、右クリックで操作できて便利ですよね
- コマンド不要で視覚的に操作可能
- エクスプローラーに統合(右クリックで操作)
- 差分表示が見やすい
- Windows専用(Linuxでは使えない)
インストール方法
- 公式サイトからダウンロード:https://tortoisesvn.net/
- インストーラーを実行
- エクスプローラーを再起動
- 右クリックメニューに「TortoiseSVN」が表示される
主な機能
| 操作 | TortoiseSVN | 対応するコマンド |
|---|---|---|
| チェックアウト | 右クリック → SVN Checkout | svn checkout |
| 更新 | 右クリック → SVN Update | svn update |
| コミット | 右クリック → SVN Commit | svn commit |
| 差分確認 | 右クリック → TortoiseSVN → Diff | svn diff |
| ログ確認 | 右クリック → TortoiseSVN → Show log | svn log |
| 追加 | 右クリック → TortoiseSVN → Add | svn add |
| 削除 | 右クリック → TortoiseSVN → Delete | svn delete |
| 競合解決 | 右クリック → TortoiseSVN → Resolve | svn resolve |
アイコン表示
ファイルやフォルダにステータスアイコンが表示されます:
- 緑のチェック:最新・変更なし
- 赤の感嘆符:変更あり
- 黄色の感嘆符:競合発生
- グレーのチェック:バージョン管理外
- 青のプラス:追加予定

意図しない赤びっくりマークの取り消し
TortoiseSVNで作業中、うっかりファイルを編集してしまい、赤いビックリマークが表示されることがあります。この記事では、意図しない変更を簡単に取り消す方法を解説します。
赤いビックリマークとは
赤いビックリマークは、ファイルが変更されている状態を示しています。自分で編集した覚えがないのに表示されている場合、うっかり保存してしまった可能性があります。
変更を取り消す手順
- 赤いマークが付いているファイルまたはフォルダを右クリック
- 「TortoiseSVN」→「変更の取り消し」を選択
- 取り消したいファイルにチェックが入っていることを確認
- 「OK」をクリック
これで、ファイルは最後にSVNから取得した状態に戻り、赤いマークが緑のチェックマークに変わります。
注意事項
「変更の取り消し」を実行すると、編集した内容は完全に削除され、元に戻すことはできません。実行前に、本当に取り消してよい変更かどうか必ず確認してください。
必要な変更が含まれている可能性がある場合は、事前にファイルのバックアップを取っておくことをおすすめします。