SourceTreeをつかったSalesforceのプロジェクト管理についてです。Salesforce開発でもGitでバージョン管理することで何かトラブル発生時に元に戻しやすくなったり、過去どういった変更を行ってきたかの確認ができるようになります。
また、ファイルの差分チェックがやりやすくなったりと他にもメリットがたくさんあります。SourceTreeを使うと、このGitのバージョン管理作業がやりやすくなるのですごく便利です。
Salesforceプロジェクト作成
はじめにSaleforceプロジェクトを作成します。 Sublime×MaventMateが便利です。
.gitignoreファイルの用意
.DS Storeなどのシステムファイルがバージョン管理に含まれない用に.gitignoreファイルを用意します。ここはコマンドラインから作成する方が簡単だと思います。giboコマンドが便利です。
$ gibo OSX Windows SublimeText >> .gitignore
下記のファイルが管理対象外になるように指定します。
- config/←新規追加
- *.sublime-project← コメントアウトの解除
- *.sublime-workspace← そのままでOK
リモートブランチにリポジトリを作成
今回はBitbucketを利用します。
Gitの設定
Gitの初期設定を行います。初期設定コマンドはBitbucketのページでも確認できます。
$ git init $ git remote add origin git@bitbucket.org:<your project>
SourceTreeの設定
Gitの設定ができたらSourceTreeの設定を行います。SourceTreeを起動してローカルを選択、ディレクトリのスキャンまたはドラッグ&ドロップで先程作成したSalesforceプロジェクトを追加します。
これでSourceTreeの設定が完了しました。
初回コミット
プロジェクト開始時の既存コードをコミットします。
コミットメッセージは以下のルールが望ましいみたいです。
- 1行目:タイトル
- 2行目:空白行
- 3行目以降:コミット内容の詳細
コミットするとコミット履歴で作業内容を確認できるようになります。
タグの追加
タグは区切りのいい部分の目印です。プロジェクト開始のタグを設定しておきます。
タグを追加しておくとプロジェクトが進んだ際に、タグ設定時とのファイルの差分チェックなどができるようになるので便利です。
リモートブランチにプッシュ
初回コミット分をBitbucketにプッシュします。
これでBitbucketにプロジェクトコードを用意できました。
タグもBitbucketで管理できます。
ここから開発を初めていきます。
開発開始
今回はデモ用に「取引先登録機能」の開発を行います。作業開始前は必ずプル操作を実行して最新情報を取得しておきます。
ブランチの作成
開発を進めるときは必ずブランチを作成してそこで作業を進めます。直接masterで作業してコミットするというのはできる限り控えるようにします。
作成したブランチが選択されていることを確認してから作業を進めます。
取引先登録画面の開発とコミット
取引先登録画面のPageファイルを作成。
コミットは一作業毎に行うようにすると後から問題が発生した際に元に戻しやすくなります。
実装を進めて・・・
コミット。
入力欄を追加して・・・
コミット。
こんな感じです。
ひとまず登録画面の作成が完了したことにします。
作業結果のマージ
問題がなければmasterにマージしてあげます。まずはmasterブランチに切り替えます。
ちなみにブランチを切り替えたとき、コードも自動で切り替わるので便利です。
masterブランチに切り替えた後は、マージしたいブランチを右クリックしてメニューを表示します。その中にマージメニューが用意されています。
確認メッセージが表示されるのでOKを選択。これでマージ完了です。
マージ完了するとブランチでの作業内容がmasterに反映されます。
ブランチを作成して作業を進めることで何か失敗してしまったときに、元のファイルを壊さずに作業を進めることができます。
作業結果のプッシュ
マージ完了後はBitbuketにプッシュします。これで他の人に最新コードを共有できます。
作業内容をきちんとプッシュすることでコンフリクトなどの問題を回避しやすくなります。
不要なブランチの削除
個人的な作業用ブランチなどは不要になったタイミングで削除してあげるとリポジトリが整理されていいと思います。
SourceTreeをつかったSalesforceのプロジェクト管理についてはだいたいこんな感じです。あとはきちんと運用ルール等を決めてそのとおりに作業を進めるようにすれば正しくバージョン管理を行えると思います。
Gitをつかったバージョン管理の開発の考え方ですが、Git Flowという考え方がありSourceTreeにもそれを利用するための機能が用意されているみたいです。
Smart branching with SourceTree and Git-flow | SourceTree Blog