BaseSASユーザのためのGit(その2:sasプログラムの登録と変更)
前回は、Gitを使うためにSourceTreeのセットアップを行いました。
今回は、実際にsasプログラムを登録し、変更する手順を解説します。
プログラムの登録
まず、管理先フォルダ(ここではC:\Users\FMVtest\Documents\Git\SAStest)に簡単なサンプルプログラムを作成してclass.sasとして保存します。SASでもメモ帳等でも構いません。
data class; set sashelp.class; where age<15; run; proc univariate data=class; run;
保存後、SourceTreeを開くと以下のような画面となります

- 赤枠:変更を確定する予定のファイル(もしくはファイルの一覧)
- 青枠:選択したファイルの内容(もしくは変更の差分内容)
- 緑枠:変更したファイル(もしくはファイルの一覧)
ざっとファイルの内容を確認し(確認するほどでもないですが)、class.sasはひとまずこの内容で確定したいと思います。
まず、画面左上の「+コミット」をクリックしてコミット画面に切り替えます。
コミットとは、変更を確定することを意味します。

続いて、「class.sas」を選択し、「選択をインデックスに追加」をクリックすると、class.sasが赤枠内に移動します。

登録のためのコメントを入力し、コミットをクリックします

さて、これでmasterブランチにファイルが登録されました。

masterブランチとは、このリポジトリ(管理ファイル群)の主となる環境です。(今ではmaster/slaveのイメージを忌避してmainという名前のブランチを使う/と言うことが多いです)
ここからブランチを作成して、例えばテスト環境や、新規機能の開発用の環境などを作成することが可能です。
プログラムの変更
続いて、このファイルに変更を加えたいと思います。
そのため、新しい環境として、修正用のブランチを作成します。

ブランチをクリックし、ブランチの名前(ここでは「fix_proc」とします)を指定し、ブランチを作成します。

新規ブランチを作成してチェックアウトは最初からチェックが入っていると思いますが、「チェックアウト」とは、ブランチを作成して、そのブランチに環境を切り替える、といった操作を意味します。
(ブランチを作成してチェックアウトすることを「ブランチを切る」なんて表現したりします)

それでは、先程のファイルを開き、univariateをmeansに変更して保存します。
SourceTreeに切り替えると、変更が検出され、
-と赤表示が削除された行
+と緑表示が追加された行
として表示されます。
(変更は行単位で処理されます)

それでは、この変更をコミットします。
「選択をインデックスに追加」し、変更のコメントを入力してコミットします。

これで現在のfix_procブランチでは変更が確定されました。
ブランチの概念を体験するために、ここでmasterブランチに切り替えてみましょう。
masterブランチをダブルクリックするか、右クリックで「masterをチェックアウト」をクリックします。

masterをチェックアウトしたら、先程変更したclass.sasを開き直してみてください。
変更前のunivariateに戻ってしまっていませんか?
これは、fix_procブランチではコミット(変更を確定)しましたが、masterブランチでは一切変更されていないからなのです。
どうでしょうか。
本番環境に一切手を加えず、修正やテスト実行などができるのです!
話を戻して、fix_procブランチの変更をmasterブランチに反映させましょう
fix_procを右クリックし、「現在のブランチにfix_procをマージ」をクリックし、確認ダイアログでOKをクリックします。

これで変更が反映されました。再度class.sasを開き直して、univariateがmeansになっていることを確認してください。
修正用のブランチは不要であれば削除してしまって構いません。
右クリックから「fix_procを削除」から削除できます。
以上が、最も簡単(単純)なプログラムの登録、変更の反映、の手順となります。
まだまだ続きます。
次回はsasプログラムに潜む問題とその解決方法です。