![見出し画像](https://assets.st-note.com/production/uploads/images/16383035/rectangle_large_type_2_09ff1890cd54bfd0a5f5d0364d329b1a.png?width=1200)
バージョン管理ツール-TortoiseSVN【無料】の使い方
■バージョン管理とは?
ソフトウェア開発業では必ず使われているバージョン管理ですが、実はソフト開発だけではなく、あらゆる業界でバージョン管理が必要になります。
さらに、コンピュータを使って作成したファイルだけではなく、紙ベースで作成した資料についても、バージョンの管理は必要になるでしょう。
「バージョン管理」とは、どんどん上がっていくファイルのバージョンを管理することです。
ファイルのバージョンがなんでどんどん上がっていくかというと、頻繁に修正していくからです。
会社では、ファイルサーバにexcelファイル等を保存し、皆一緒に修正したりします。そして、偶には前回のファイル内容を残すために、下記のようにバックアップを取ったりしますね。
201910売り上げ報告_bk_佐藤修正前.xlsx
201910売り上げ報告_bk_遠藤.xlsx
。。。
上記の「バックアップを取る」という行動が、実は「自分が修正する前のバージョンを残す」という意味になります。
一般的には、上記のように社内でなんらかのバックアップファイル名のルールを決めて、みんな修正する前に必ずバックアップを取るようにしていると思いますが、人間って必ずミスを犯すもんだから、いつの間にか上手くいかなかったり、バックアップ取り忘れたりするもんですね。
災厄、間違ってファイルを削除してしまったというケースも無くはないでしょう。
こういうリスクから解放するために、バージョン管理ツールが必要になります。
SVNというのが、その「バージョン管理ツール」の一つです。
■SVNとは?
SVNとはApache SubVersioNの略称で、アパッチという団体が開発している、ファイルのバージョンを管理してくれる「バージョン管理システム」の一つです。
もともとは、ソースファイル(テキストファイル)のバージョンを管理するためのものですが、excel, worlなどのファイルとバイナリファイルのバージョンも管理できます。
ただ、SVNはコマンド式なので、下記のようにいちいちコマンドを覚えて、「コマンドプロンプト」画面でコマンドを叩かないといけません。
SVNコマンドの使用例(ウィキペディアより)
上記のように、バージョン管理に移管したいなら「import」コマンド、ローカルにもって作業したい場合は「checkout」コマンド、他の方が修正した内容を自分のローカルに反映したい場合は「update」コマンド、自分の修正を公開したい場合は「commit」コマンド。。。等々、たくさんのコマンドを覚えておかないといけません。
こんな状況だと、プログラマー達でも全部覚えられないし、非プログラマー達はもっと敬遠するでしょう。バージョン管理はしたいんだけど、こんなに「コマンドを覚えて叩く」というと、確かに逆に面倒臭いもんです。(実は筆者もあんまりコマンド叩いたりしません)
そして、上記のSVNをベースに、windowsの特徴(GUIを使う)を十分に生かし、コマンドをぜんぜん知らなくてもバージョン管理が簡単にできるように開発されたwindowsアプリに、「TortoiseSVN」というものがあります。
■TortoiseSVNとは?
バージョン管理用のwindowsアプリです。GUI(画面)ベースでバージョンの管理ができる、すごく便利なツールです。
TortoiseSVNのメイン画面
TortoiseSVNを使うと、コマンドは一切不要です。全てが画面上でのマウス操作になるので、TortoiseSVNの使い方さえマスタすれば、非IT業界の会社でも簡単にファイルのバージョン管理ができるようになります。
複数の人がお互いにメンテナンスしていくファイルはもちろん、(上記のように)私は自分しか修正しないファイルについてもバージョン管理をしています。
このように、自分しか修正しないファイルについても、バージョン管理をすることで、「いつ何を修正したっけ?」とか「この修正をした前の状態に戻したいな」とかの場合に、すぐ調べたり戻したりすることができるようになります。
普段はSVNでバージョン管理をしたいとなった場合に、「SVNバージョン管理サーバ(HTTPサーバ)」が必要になりますが、TortoiseSVNを使う場合は、普通のどの会社にも存在する「ファイルサーバ」でもOKです。なので、「HTTPサーバ作れない」という会社でも、社内のファイルサーバ上でバージョン管理することができるので、ハードルもそんなに高くはないと思います。
■TortoiseSVNのダウンロード、インストール方法
TortoiseSVNの公式サイト(https://tortoisesvn.net/downloads.html)からダウンロードできます。
常に最新バージョンをダウンロードするほうがいいでしょう。そして、32ビット版か64ビット版かは自分のwindowsに合わせてください。
インストール方法は基本的に「次へ」ボタンを押すだけなので、割愛します。ネット上で検索してもたくさんあると思うので、分からなかった場合は検索してみてください。
下記のように、デスクトップ画面でマウス右クリックし、表示されたコンテキストメニューに「SVN Checkout...」と「TortoiseSVN」サブメニューが表示されたら、TortoiseSVNアプリが正常にインストールされたことになります。
もちろん、「インストールした全てのアプリ」のところでも、TortoiseSVNのフォルダが確認できます。
■TortoiseSVNの基本的な使い方
先ずはTortoiseSVNでバージン管理をするために必要な幾つかの専門用語を覚えておきましょう。
下記のように、バージョン管理する場合の状況をイメージしてみてください。
普段は、ファイルサーバのあるディレクトリにファイルを保存して置き(Ⓐ)、複数のメンバーが一緒に修正したりしますね。
tortoiseSVNを使ってバージョン管理する場合は、このⒶを「リポジトリ」と呼びます。
サーバ上のファイルを修正する場合、他のメンバーに知らせるために、直接サーバー上のファイルを開くと思いますが、tortoiseSVNでバージョン管理する場合は、必ずサーバからファイルを自分のマシンにコピーして置く(Ⓑ)必要があります。このⒷを「ローカルコピー」と呼びます。
最初はローカルマシンにはローカルコピーがありません。リポジトリから最新ファイルをローカルにコピーしてくることで、初めて「ローカルコピー」というのができますね。この最初にリポジトリからローカルコピーを作成する処理を、「チェックアウト」と呼びます。
チェックアウトした後からは、
リポジトリから最新ファイルを自分のマシンに取得し、自分の「ローカルコピー」のファイルを更新しておく(ローカルコピーをリポジトリとまったく同じ状態にする)、このⒸの処理を「更新(update)」と呼びます。
自分のローカルコピーを修正し、それをリポジトリに反映しておく(ローカルコピーの内容でリポジトリのファイルを更新する)処理(Ⓓ)を、「コミット(commit)」と呼びます。
最初は、「更新」と「コミット」でよく混乱すると思いますが、最初に「コミットは ローカルコピー → リポジトリ」と覚えておけば、その逆は更新で、 リポジトリ → ローカルコピーであることが簡単に覚えられます。
上記の専門用語を覚えた上で、改めてtortoiseSVNの使い方を解説すると、
「先ずはファイルサーバー上にリポジトリを作成し、みんなそのリポジトリに接続してから、最初はチェックアウト処理でローカルコピーを作成し、その後は「更新」と「コミット」の繰り返しになる。」
です。
次に一個ずつ使い方を解説していきます。
1.「リポジトリ」の作成方法
2.「チェックアウト」方法
3.「更新」方法
4.「コミット」方法
◆1.「リポジトリ」の作成方法
先ずはファイルサーバ上で、バージョン管理したいファイルを格納するフォルダを作成します。
上記のサンプルでは、「d:\tmp\temp\2019年度営業」というフォルダを作成していますが、ファイルサーバーがある場合はファイルサーバ上にフォルダを作成することをお勧めします(複数の社員が同時に参照できる必要があるので)。
ディレクトリを作ったら、上記の「d:\tmp\temp\2019年度営業」にリポジトリを作成します。
上記で作成したディレクトリ上でマウス右クリックし、「TortoiseSVN」>「Create repository here」を押して、ディレクトリ「d:\tmp\temp\2019年度営業」にリポジトリを作成します。
そうすると、リポジトリ作成が完了した旨をお知らせする下記の画面が表示されます。この画面に表示されているAの部分が、リポジトリのURLになります。まずはメモ取ってから、「Create folder structure」ボタンを押します。
最後に下記の画面が表示されたら、リポジトリの作成処理が正常終了したことになります。
「おまけ」:リポジトリを作成したら、フォルダのアイコンは下記のように変わります。
最後に、先ほど作成したリポジトリに接続しましょう。
デスクトップ画面でマウス右クリックし、「TortoiseSVN」>「Repo-Browser」をクリックします。
すると、下記のようなリポジトリのURL入力画面が表示されるので、上でメモ取ったURLを指定し、「OK」をクリックします。
すると、tortoiseSVNのメイン画面が表示されます。
branches, tags, trunkといった3つのディレクトリが自動作成されています。
branches, tagsについては次回解説します。
trunkディレクトリ配下が、バージョン管理する対象ファイルの保存場所です。(まだリポジトリを作成しただけで、バージョン管理するファイルが存在しないため、空っぽです。)
バージョン管理対象ファイルがない状態では、次の操作の確認ができないので、先ずはバージョン管理したいファイルをリポジトリに移管みましょう。
下記のようにtortoiseSVNのメイン画面で「trunk」をクリックし、右側の空白部分でマウス右クリック>「Add file...」を押します。
すると、下記のようにファイル選択画面が表示されるので、バージョン管理したいファイルを指定します。
すると、下記のようにコメント入力画面が表示されるので、ログに残したいコメントを記入し、「OK」を押します。
※tortoiseSVNでバージョン管理をすると、上記のように、バージン管理に移行する初回目からすべての変更にコメントを入力することができるので、後で調べる時にすごく便利です。
このように、バージョン管理したいファイルをどんどんリポジトリへ移管することができます。「Add folder...」では指定したフォルダを丸ごとバージョン管理リポジトリへ移行することができます。
バージョン管理するファイルが追加されたリポジトリは下記のようなイメージです。
◆2.「チェックアウト」方法
リポジトリ内のファイルを修正するためには、先にローカルコピーを作成する必要があります。
先ずは、ローカルコピー(ローカルの作業場所)を保存したいフォルダを決めます(例: D:\SHARE\tortoiseSVN練習 等)。
そして、tortoiseSVNのメイン画面で、「trunk」を右クリックし、「checkout...」をクリックします。
すると、Checkout設定画面が表示されるので、上で決めたローカルコピーの場所を指定し、「OK」を押します。
すると、チェックアウト画面が表示されます。
チェックアウト処理が終了すると、下記のようにローカルコピーにもリポジトリとまったく同じファイルが置かれていることが分かります。
◆3.「更新」方法
更新は簡単です。ローカルコピーのフォルダ内でマウス右クリック>「SVN update」を押します。
すると、アップデータ状況を表示する画面が表示されます。アップデータ必要なファイルがたくさんある場合は、ファイル一覧にファイル名が表示されます(同時にローカルコピーが更新されます)。
◆4.「コミット」方法
ローカルコピーで、コミットしたいファイルを右クリックし、「SVN Commit...」を押します。
すると、下記のようなコミット設定画面が表示されます。
上半部分はコメントを記入する場所です。このコメントはログの形で残るので、後でこの修正の意図を調べることができます。下半部分にはコミットするファイルの一覧が表示されます。(今回はなにも修正していないので、コミットする必要がないと判断され、コミット一覧には何のファイルもありません)
「おまけ」:ローカルコピーのファイルが変わった場合は下記のようなアイコンになります。
該当ファイルを右クリックし、「SVN Commit...」を押すと変更されたファイルがコミットファイル一覧に表示されます。
コメントを入力し、「OK」を押します。
修正されたファイルがコミットされたことを示す「コミット状態表示画面」が表示されます。「OK」を押して画面をクローズします。
以上で、tortoiseSVNというGUIツールで、バージョン管理を行う基本的の処理を解説しました。SVNのようにコマンドを覚える必要もないので、慣れればすごく便利はツールです。
最後に、今までの処理のログを確認する方法を解説します。
tortoiseSVNのメイン画面の「trunk」を右クリックし、「Show log」をクリックします。
すると、履歴(ログ)表示画面が表示されます。
・どのファイルに対し、何時、誰が、なんの処理をやったのか?
・それぞれのバージョン番号がどんどん上がっていく。
のようなことが一目瞭然です。
■まとめ
SVNというバージョン管理ツールのGUI版ーーtortoiseSVNは非常に簡単でバージョン管理ができるツールです。
アプリ開発時はもちろん、非IT業でのファイルのバージョン管理にもすごく便利な機能なので、複数のメンバーが共同作業する場合は是非使ってほしいです。
今回は以上で、バイバイ。 Have a nice day!
この記事が気に入ったらサポートをしてみませんか?