TortoiseSVN初心者のメモ

# TortoiseSVN基本学習用チュートリアルをやってみた

下記のチュートリアルをやってた際の学習用メモです。
環境はWindows7(32bit)。

__TortoiseSVN の基礎勉強 ～TortoiseSVN によるバージョン管理を使う～__
http://tracpath.com/bootcamp/learning_tortoisesvn.html


## レッスン 1. インストール
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id2


### TortoiseSVN ファイルのダウンロード
https://tortoisesvn.net/downloads.html

for 32-bit OS [TortoiseSVN 1.9.5 - 32-bit]からダウンロード
今回DLしたファイル：TortoiseSVN-1.9.5.27581-win32-svn-1.9.5.msi

Japanese \[step\](32bit) から言語パックをダウンロード
今回DLしたファイル：LanguagePack_1.9.5.27581-win32-ja.msi


### インストール

インストーラー、言語パックのファイルをダブルクリックしてインストール。
ウィザードはデフォルトのまま[次へ]クリック。

インストール完了後、適当な場所を右クリックで
TortoiseSVNメニューがあることを確認。

*※インストール後は一度、再起動したほうが良さそう。
そのまま進めてたら、同期状態を表すフォルダアイコンが反映されなかったので。*


## レッスン 2. 動作確認
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id3

インストールが完了したと思って、
スタートメニューから起動しようとしたら、アラートが…

> ! Information
TortoiseSVN is a shell extension.
That measn it is integrated into the Windows explorer.
To use TortoiseSVN please open the explorer and right-click on any folder you like
to bring up the context menu where you will find all TortoiseSVN commands.
And read the manual!

参考：http://gamers-park.com/node/204
どうやら、アプリケーションを起動して使うのではなく、エクスプローラー上から操作しろという事らしい。


### 言語設定

適当な場所を右クリックメニュー>[TortoiseSVN]>[About]
表示が英語になっている場合は、
右クリック>[TortoiseSVN]>[Setting]>設定ウインドウ[General]>Langate [English]→[日本語（日本）]に変更し[OK]


# レッスン 3. リポジトリ用のディレクトリを作成
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id4

- 任意の場所に[tortoise-repo]フォルダを作成
- 右クリック:[TortoiseSVN]>[ここにリポジトリを作成]
- リポジトリを作成ダイアログが表示され、[フォルダー構造を作成(C)]クリック。成功のアラート出たら[OK]。
- リポジトリ作成したフォルダアイコンが変わる。

*※チュートリアルの内容とバージョン違いの所為か、フォルダ内に作成される構造が違うみたいなので注意。*
*　今回 tortoise-repo/ 内に作成された構造は、*
*　conf/,db/,hooks/,locks/,fotmat,README.txt,svn,ico　*


## リポジトリビューアーで確認

- 先に作成した[tortoise-repo]フォルダを右クリック>[TortoiseSVN]>[リポジトリブラウザー]


# レッスン 4. チェックアウト
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id5

*チェックアウト…リポジトリ登録ソースコードを自分用ローカル環境にもってくる。ローカル環境にコピーを取得するコマンドのこと。

- 作業用フォルダ「project2」を作成（「tortoise-repo」外でよい）
- 「project2」を右クリック：[SVN チェックアウト]
- ウインドウからディレクトリ等の設定し[OK]。
- チェックアウト終了ダイアログ表示。各ディレクトリパスが表示され、[OK]。


なぜか？チュートリアルページにレッスン5は存在しないみたいなので、そのまま次へ。


# レッスン 6. 作業ディレクトリで作業開始
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id6

前項でチェックアウトしたディレクトリを開くと、
.svn/branches/tags/trunk フォルダがあり、.svn以外には、緑チェックアイコンが付いてるのが確認できる。

状態には
通常/変更/競合/読み取り専用/削除/ロック/追加/無視/バージョン管理外
があり、各アイコンは、右クリック>[TortoiseSVN]>[設定]>設定ウインドウ[アイコンオーバーレイ]>[アイコンセット]で確認できる。


# レッスン 7. 新しいファイルを作成・追加
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id7

「trunk」フォルダで作業を進める。
フォルダ内にtutorial.htmlを作成。

```ruby:tutorial.html
<html>
  <body>

<h1>Subversion チュートリアル</h1>
<ol>
  <li>リポジトリ作成</li>
  <li>作業コピー作成</li>
  <li>開発作業</li>
  <li>コミット</li>
</ol>

  </body>
</html>

```

「tutorial.html」右クリック>[TortoiseSVC]>[追加]
htmlファイルアイコンが＋アイコン状態となる。


### コミットしてみる

tutorial.htmlまたはフォルダ空白部分を右クリック>[SVN コミット]
コミット用ウインドウが開く。
メッセージ欄に、コミット時の変更内容を入力する。
「tutorial.html ファイルを新規作成」
[OK]ボタンでローカル作業内容がリポジトリに反映される。
コミット終了ウインドウが表示され、内容を確認できる。
[OK]して閉じる。
tutorial.htmlに緑チェックアイコンに変わっている。


## レッスン 8. 新しいディレクトリを作成・追加
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id8

コマンドプロントでディレクトリ追加/ファイルの追加をやってみる。

```ruby:cmd
cd C:\data\coding\project2\trunk
mkdir A
mkdir B
echo hello world! > B\hello.txt
echo こんにちは > B\こんにちは.txt
```

フォルダA/Bをそれぞれ右クリックして[追加]を実行
※Aを[追加]実行するとウインドウが開き、Aフォルダにチェックボックスが付いてる。そのまま[OK]。追加終了ウインドウ[OK]。エクスプローラ更新すると？アイコンが＋アイコンに変わった。
Bを[追加]すると同じくウインドウ。フォルダと中のファイル一覧にチェックボックスがチェックされてる。そのまま[OK]。あとはAと同様。

### コミットする

trunkフォルダ内空白を右クリックメニューよりコミット。
さっきと同様にコミットウインドウのメッセージを入力して[OK]

```
- A,Bの新規フォルダを追加
- あいさつファイルを追加
```
コミット時のメッセージは後で見て分かりやすいよう、変更点や修正内容を書くこと。


## レッスン 9. ファイルを更新
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id9

エディタでtrunk/tutorial.htmlを開き、変更を加えてみる。

```ruby:tutorial.html
<html>
  <body>

<h1>Subversion チュートリアル</h1>
<ol>
  <li>リポジトリ作成</li>
  <li>作業コピー作成</li>
  <li>開発作業</li>
  <li>コミット</li>
  <li>コミット時は更新内容をログとして記述</li>
  <li>バージョン管理システムの更新</li>
</ol>

  </body>
</html>
```

変更を保存すると、tutorial.htmlファイルアイコンに赤！マークが付く。
これは、作業コピー内のファイルに変更があったことを示す。

コミットしてみる
*※記事で特に指定が無かったので、メッセージを「tutorial.html リスト項目を追加」にしてコミット。*

また変更を加える。

```ruby:tutorial.html
<html>
  <body>

<h1>Subversion チュートリアル</h1>
<ol>
  <li>リポジトリ作成</li>
  <li>作業コピー作成</li>
  <li>開発作業</li>
  <li>コミット</li>
  <li>コミット時は更新内容をログとして記述</li>
  <li>バージョン管理システムの更新</li>
  <li>ファイルの更新</li>
</ol>

  </body>
</html>
```

編集により！アイコンの付いたtutorial.htmlを
右クリック>[TortoiseSVN]>[差分を表示]
で「TortoiseMarge」が開き、差分の比較画面が表示される。

※差分比較ツールは設定で「WinMerge」などの外部ソフトに変更可能。
__WinMarge__
http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html

内容を確認したらコミット。
*※記事で特に指定が無かったので、メッセージを「tutorial.html リスト項目を再追加」にしてコミット。*


## レッスン 10. ファイルを移動
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id10


/project2/trunk/tutorial.html
をエクスプローラ上で
/project2/tutorial.html
に移動した場合、どうなるか見てみる。

tutorial.htmlに？アイコンが付いた（記事内では！アイコン）。


一度、ファイルの場所を元に戻し、正規の方法でやってみる。

/project2/trunk/tutorial.htmlを右クリックしたままドラッグし、
/project2/で右クリックを離すと、TortosieSVNのメニューが表示されるので、
[SVN バージョン管理下の項目をここに移動]を選択。

ファイルが移動され、trunkには！アイコン、tutorial.htmlには＋アイコンが付いた。

この操作もコミット実行まではリポジトリに反映されないので注意。


練習なので、今回の操作は取り消して元に戻す。
/project2/右クリック>[TortosieSVN]>[変更の取り消し]
ウインドウが表示されるので、一覧から取り消したい操作の項目にチェックを入れて[OK]
変更の取り消し終了ウインドウが表示されるので [OK]で閉じて完了。

ファイルの移動は　svn copy の後に svn delete を実行するのと同じ。


## レッスン 11. ファイル名を変更
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id11

ファイル名の変更にもTortosieSVNメニューで変更する必要がある。

右クリック>[TortosieSVN]>[名前を変更]→ウインドウに任意の名前を入力。
変更をリポジトリに反映させるにはコミットは必ず必要なので忘れずに。

*コミットメッセージ：tutorial.html ファイル名を変更 tutorial2.html*


## レッスン 12. ファイルを削除
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id12

ファイルの削除を実行してみる。
tutorial2.html 右クリック>[TortosieSVN]>[削除]
操作後、コミットを忘れずに。

*コミットメッセージ：tutorial2.html ファイルを削除*



レッスン 13. 履歴を確認
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id13

任意の場所で右クリック>[TortoiseSVN]>[ログを表示]
ログメッセージウインドウが開き、これまでコミットした内容とファイル一覧が表示される。

変更履歴毎に右クリックで表示メニューから差分表示や、取り消しも可能。



## 最後に
http://tracpath.com/bootcamp/learning_tortoisesvn.html#id14

TortosieSVN基本学習用チュートリアル終了。
ありがとうございました。