Backlogというプロジェクト管理ツールでsvnとgitを連携してみる。
Subversion(svn)とは
Subversion(svn)とはプログラムソース等を管理する集中型バージョン管理システム。
一昔前まではsubversionで大型案件から中型案件をプロジェクトチームで共有していましたが、最近はGitに押され気味です。
Gitとは
Gitとはプログラムソース等を分散型バージョン管理システム。
レガシー的な扱いになってしまったsvnよりモダンな扱いになってきてる。
backlogと連携してみる
■プロジェクトの作成
ここではプロジェクトが作成されていて、かつSubversion / Git が使える状態になっている前提で始めます。
Subversion 下記の環境で進めて行きます。
■自分のPCに作業環境を構築(リポジトリの登録、チェックアウト)
1 . Add Repositoryをクリックする。
2 . ダイアログからHTTP Serverを選択して
3 . チェックアウト
window左上のCheck Outボタンをクリックして、「where」からローカルマシンのworkingフォルダを選択する。
■更新作業の進め方(アップデート、コミット)
アップデート :
サーバーにあるwokingスペースと自分のローカルスペースを同じ状態にすること。
window上のUpdateボタンをクリックする。
コミット :
自分が編集、新規追加(Add)、削除(Delete)したファイルまたはフォルダ(構成)をサーバーにアップすること。
編集されたファイルはファイル名の横に「M」と出るのでそのファイルを選択してwindow上のCommitボタンを押す。
※Addの場合はファイル名の横に「A」と Deleteの場合はファイル名の横に「D」と出ます。
また新規ファイルでかつサーバーに無いものは「?」が付きますので該当ファイル or フォルダを選択してwindow下のAddボタンを押す。
■競合発生の対応(コンフリクトがおこった際の対処)
コンフリクト :
Aさんがa.txtを編集してcommitをして、Bさんがa.txtをUpdateしないでCommitしようとする時に発生。
発生した時はローカルのworkingフォルダに
+ hoge.txt.r2
+ hoge.txt.r3
+ hoge.txt.mine
と、競合している1つのファイルにつき3つ、上記のように命名されたファイルが生成される。
対応方法:
Revertを選択して再度Updateさせます。(つまりは現在のリビジョンと同じになる)
この時、自分が編集していた内容は消えます。
→自分の作業ファイルは別途コピーして避難させるのを忘れずに。
■trunk、branches、tagsの概念
trunk :
常に最新のバージョンで作業する所。
tags :
trunkで作業していてphase1が完了したから次がphase2に移行するとき、phase1を「phase1」とtag(フォルダ名)を付けて置いておく場所。ここは主にphase1時のアーカイブまたはバックアップと考える。
branches :
trunkで作業していて、phase1が終了していてphase2を作成している時に、もしphase1の状態でバグや改修が入った時に、tagsからphase1の状態でバグフィックスや改修を行う場所。
後にtrunkで作業しているphase2とMergeさせてphase1の修正 or 改修している状態にできます。
Git
下記の環境で進めて行きます。
※ここではホントのGitの基本的なことしか触れません。詳しい内容はBacklogの公式ページ、サルでもわかるGit入門をご覧ください。
■自分のPCに作業環境を構築(リポジトリの登録、クローン)
1 . Clone Remote Repositoryをクリックする。
2 . Clone Remote Repositoryのダイアログwindowが出るので下記の情報を入力する。
HTTP
のURLを入れる。3 . 上記を入力語にClone
ボタンを押してクローンする。
4 . 追加したレポジトリをクリックしてそのレポジトリwindowを開く。
■Gitオンラインサービス + github + Bitbucket などがあります。
まとめ
情報管理とファイル/ソースコードの管理。スムーズにプロジェクトを進めるためには、どちらも重要なプロセスです。無駄な手戻りを減らして、業務の効率を向上させるには必須ですね。日頃からこのフローに慣れておくことが大事!と思います。