本文へジャンプ

Subversion/GitをBacklogに連携してみた

Posted by MONSTER DIVE

Backlogというプロジェクト管理ツールでsvnとgitを連携してみる。

Subversion(svn)とは

Subversion(svn)とはプログラムソース等を管理する集中型バージョン管理システム。
一昔前まではsubversionで大型案件から中型案件をプロジェクトチームで共有していましたが、最近はGitに押され気味です。

Gitとは

Gitとはプログラムソース等を分散型バージョン管理システム。
レガシー的な扱いになってしまったsvnよりモダンな扱いになってきてる。

backlogと連携してみる

■プロジェクトの作成

ここではプロジェクトが作成されていて、かつSubversion / Git が使える状態になっている前提で始めます。


Subversion 下記の環境で進めて行きます。

  • OS : mac OS 10.8.x系
  • svnクライントapp : cornerstone(有料)

■自分のPCに作業環境を構築(リポジトリの登録、チェックアウト)

画像

1 . Add Repositoryをクリックする。

画像

2 . ダイアログからHTTP Serverを選択して

画像

  • Protocol: https
  • Server: そのプロジェクトのbacklog上のURL
  • Repository Path: その時のBacklogのプロジェクトでのレポジトリ名
  • NickName: 任意
  • Name: backlogでのユーザー名
  • Password: backlogでのログイン時のpwd

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入門をご覧ください。

  • OS : mac OS 10.8.x系
  • Gitクライントapp : Tower(有料)

■自分のPCに作業環境を構築(リポジトリの登録、クローン)

画像

1 . Clone Remote Repositoryをクリックする。

画像

2 . Clone Remote Repositoryのダイアログwindowが出るので下記の情報を入力する。

  • Repository URL: backlogのプロジェクト内でのGitのリポジトリ一覧のHTTPのURLを入れる。
  • Bookmark Title:自分でわかりやすい任意の名前。
  • UserName:backlogのログイン時のユーザー名。
  • Password:backlogのログイン時のパスワード。
  • Proxy:無し。
  • SSL Cerrificate:チェックいらない。
  • Clone TO:自分の開発ローカルフォルダ。

画像

3 . 上記を入力語にCloneボタンを押してクローンする。

4 . 追加したレポジトリをクリックしてそのレポジトリwindowを開く。

■Gitオンラインサービス + github + Bitbucket などがあります。

まとめ

情報管理とファイル/ソースコードの管理。スムーズにプロジェクトを進めるためには、どちらも重要なプロセスです。無駄な手戻りを減らして、業務の効率を向上させるには必須ですね。日頃からこのフローに慣れておくことが大事!と思います。

Recent Entries
MD EVENT REPORT
What's Hot?