Backlog3分クッキング ~ Gitのファイルをお手軽に確認!~

仕様や画面は現行バージョンと異なる可能性があります。
Backlogの最新版についてはこちらからご確認ください。

皆さんこんにちは。よく訓練されたIntelliJ IDEA信者の中村です。

最近はヌーラボメンバーも増えてきて、メンバー間でコミュニケーションを取る機会が今まで以上に増えてきました。私はエンジニアですのでソースコードで会話することもよくあるのですが、Backlogで管理しているソースコードに対して、もっと手軽にコミュニケーションを取りたいなとは常々考えていました。

というわけで、今日はBacklogのGit上のファイルを簡単に確認するためのTIPSを3つほど紹介したいと思います。

ファイルの特定箇所を選択してURLで共有

まずは、意外に気づいていない人もいるかもしれない、小ネタの紹介です。

Backlogにpushされたファイルは、Backlog上のリポジトリブラウザで表示することができます。この画面では、左側の行番号をクリックすると、その行がハイライトされて選択状態となります。任意の行を選んだ後、Shiftキーを押しながら別の行を選択すると、範囲選択となります。

この選択状態はURL上で保持されていますので、こちらのURLを共有することによって、ファイル中の該当の箇所を指し示すことができます。

selection_multiple_area

1コマンドでリポジトリブラウザを表示

リポジトリブラウザで、ファイルの該当の箇所を共有する方法は分かりました。それでは、リポジトリブラウザ自体を手軽に開ける方法はないのでしょうか?

これは、git-browse-remoteというコマンドで実現できます。詳しい説明はリンク先を参照してもらいたいと思いますが、まずはgit-browse-remoteをインストールします。

gem install git-browse-remote

# rbenv を使っている人は、rehash も忘れないように
rbenv rehash

続いて、Backlogと連携するための初期設定です。初期設定の方法は、リポジトリのURLがHTTPとSSHで異なっています。簡単なのはHTTPの方なので、まずはこちらから紹介します。

HTTPなリポジトリURLを扱う際は、下記のコマンドでできます。git-remote-browseは、Githubとの連携がデフォルトで用意されていて、BacklogのリポジトリブラウザもGithubと同じ構成を取っているので、その設定を流用できるんですよね。

# xxx は利用したいスペースID
git browse-remote --init xxx.backlog.jp=github

SSHなリポジトリURLは、ちょっとカスタマイズが必要です。以下の設定コードを、自身の~/.gitconfigに追記してください。xxx は適宜利用したいスペースIDを入力するように。

[browse-remote "xxx.git.backlog.jp"]
	top = https://{host.gsub('.git.','.')}/git/{path}
	ref = https://{host.gsub('.git.','.')}/git/{path}/tree/{short_ref}
	rev = https://{host.gsub('.git.','.')}/git/{path}/commit/{commit}
	file = "https://{host.gsub('.git.','.')}/git/{path}/{file.directory? and :tree or :blob}/{short_rev}/{file}{lines && \"#L%s\" % lines.join(\"-\")}"

上記の初期設定が終わったら、後はgit-browse-remoteの通常の利用方法と一緒です。git browse-remote にブランチ名やファイル名を渡すと、Backlogのリポジトリブラウザを開くことができます。

git browse-remote master
git browse-remote src/main/java/Main.java

IntelliJ IDEAからリポジトリブラウザを表示

gitコマンドでリポジトリブラウザを一発で開けるようにはなりました。ここまでなると、普段使っているエディタからも一発で開けるようになると嬉しいですよね。

私は、IntelliJ IDEAを普段使いしているので、これから開けるようにしてみましょう。IntelliJの”External Tools”という、外部コマンドを実行する機能を設定します。

intellij_settings

Program

 /usr/bin/git-browse-remote

(rbenvを使っている場合は、/Users/nakamura/.rbenv/shims/git-browse-remote など)

Parameters $FilePathRelativeToProjectRoot$

設定後、右クリックのコンテキストメニューなどから、先ほど登録したコマンドを実行すると、リポジトリブラウザを開くことができます。

intellij_execute

 

なお、調べきれてなくて申し訳ないのですが、 IntelliJからリポジトリブラウザを開いても、正しく開けないことがあります。Extenal Toolsの設定画面で”Open console”オプションを付けてみると分かるのですが、”No known browser available.”というエラーメッセージが出ていることがあります。その際は、私が使用しているMac OXですと、以下のコマンドでGitの設定を追加すると正常に実行できるようになるようです。

git config --global web.browser open

その他の環境については、git-browse-remoteが内部で使用しているgit-web–browseのドキュメントを参照して適宜設定してください。


今回は、Gitで管理されているファイルを簡単に確認するための方法を紹介しました。ご存知の方もいるでしょうが、Git自体の使い方を紹介する「サルでもわかるGit入門」も私達は提供しています。こちらも合わせてどうぞ!

サルでもわかるGit入門

 

チームで使うプロジェクト管理・タスク管理ツール

カテゴリ一覧