この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
台風の影響により絶賛在宅勤務中な今日この頃、皆様如何お過ごしでしょうか。しんやです。
当エントリはタイトルにもありますようにGitとかあんま使った事無かったりするような方々 *1に向けて導入メモ・備忘録的な位置付けで書いているものです。その辺りご了承頂ければと思います。
Stashとは
- Stash - エンタープライズ Git リポジトリ管理 | Atlassian
- 新製品 Atlassian Stash: エンタープライズチームのための Git リポジトリ管理 | Atlassian Japan
最近の分散型バージョン管理システムの1つ、gitの共有ウェブサービスとしてはGitHubが最もポピュラーなGitホスティングサイトとして知られていますが、Stashは、StashはGitHubのようにGitリポジトリを管理するサービスです。 Atlassian社製品の1つであり、同社の様々な製品とスムーズに連携しています。
Stashそのものについての解説については以下に良さげな感じでまとまっていたので引用させて頂きます。
Stash (スタッシュ) は、ファイアウォール越しで Git レポジトリを管理するための一元化ソリューションです。プロジェクトの規模やユーザー数が増大するにつれ、レポジトリやアクティブなブランチの管理は複雑になりがちですが、Stash を導入することで、分散したレポジトリの作成や管理を自社サーバー上で一元的かつセキュアに行うことができます。また、Stash の持つ柔軟性により、貴社の環境に合わせた使い方も可能です。例えば、ユーザーやグループの管理には、Stash の内部ディレクトリだけでなく、JIRA や LDAP を使用することができます。さらには、課題管理システム JIRA と Stash とを連携することで、JIRA 課題上でコミット情報やソースコードの変更などの追跡を行ったり、Stash 上でコミットに関連する JIRA 課題の一覧を確認したりすることも可能です。
Stash利用環境構築
ここでは、(管理者経由で)Stashのアカウントを取得してから実際に既存リポジトリのCloneを試みる、新しいリポジトリを作成するといったところまでの手順を順を追って記載して行きます。
一応、今回の検証に使用した環境はこんな感じでした。
環境 | バージョン |
---|---|
OS | Mac OS X 10.8.4 |
Atlassian Stash | v2.5.1 |
アクセス用の公開鍵を作成
Stashにアクセスする為の公開鍵を作成します。ssh-keygenコマンドで生成が可能です。ここではファイル名はデフォルトのままで作成しています。
$ pwd
/Users/(ログインユーザー名)/.ssh
$ ssh-keygen -t rsa -C "(任意のメールアドレス)"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(ログインユーザー名)/.ssh/id_rsa): 【そのままEnter押下】
Enter passphrase (empty for no passphrase): 【任意のパスフレーズを入力】
Enter same passphrase again: 【任意のパスフレーズを再度入力】
Your identification has been saved in /Users/(ログインユーザー名)/.ssh/id_rsa.
Your public key has been saved in /Users/(ログインユーザー名)/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx (ログインユーザー名)@xxxxxxxxxx
The key's randomart image is:
+--[ RSA 2048]----+
|*****************|
|*****************|
|*****************|
|*****************|
|*****************|
|*****************|
|*****************|
|*****************|
|*****************|
+-----------------+
$
ファイルが出来ました。(id_rsa, id_rsa.pubの2つ)
$ ls
id_rsa id_rsa.pub known_hosts
$
Stashにログインし、メニューから[Manage Account]を選択。
[ssh keys]を選択→[Add Key]を押下。
と、ここでターミナルに戻り、公開鍵の内容をコピーしておきます。
$ pbcopy < id_rsa.pub
[/shell]
<p>テキストエリアに上記コピー内容をペースト、[Add Key]を押下。これで事前準備が整いました。</p>
<p><a href="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/10/setup-stash_03.png"><img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/10/setup-stash_03.png" alt="setup-stash_03" width="695" height="507" class="alignnone size-full wp-image-78227" /></a></p>
<p>Stash上に展開されている任意のプロジェクトに遷移し、[Clone]ボタンを押下してみます。SSH及びSourceTreeでのClone手段が提示されていますね。</p>
<p><a href="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/10/setup-stash_05.png"><img src="https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2013/10/setup-stash_05.png" alt="setup-stash_05" width="421" height="419" class="alignnone size-full wp-image-78266" /></a></p>
<h2 id="toc--from-git">接続確認 from Git</h2>
<p>まずは何は無くともGitが必要。ですのでインストールします。brewが入っていれば『<tt>brew install git</tt>』で一発です。</p>
$ brew search git
bagit git-encrypt git-multipush giter8
easy-git git-extras git-now gitslave
geogit git-flow git-sh legit
git git-flow-avh git-ssh libgit2
git-archive-all git-flow-clone git-tf magit
git-cola git-ftp git-tracker stgit
git-crypt git-gerrit git-url-sub topgit
$
$ brew install git
==> Downloading http://git-core.googlecode.com/files/git-1.8.3.4.tar.gz
######################################################################## 100.0%
==> make prefix=/usr/local/Cellar/git/1.8.3.4 CC=cc CFLAGS= LDFLAGS= install
==> make CC=cc CFLAGS= LDFLAGS=
==> make clean
==> make CC=cc CFLAGS= LDFLAGS=
==> Downloading http://git-core.googlecode.com/files/git-manpages-1.8.3.4.tar.gz
######################################################################## 100.0%
==> Downloading http://git-core.googlecode.com/files/git-htmldocs-1.8.3.4.tar.gz
######################################################################## 100.0%
==> Caveats
The OS X keychain credential helper has been installed to:
/usr/local/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
/usr/local/share/git-core/contrib
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
==> Summary
/usr/local/Cellar/git/1.8.3.4: 1327 files, 29M, built in 59 seconds
$
$ git --version
git version 1.8.3.4
$
git cloneコマンドでプロジェクトをクローンしてみます。コマンド実行時にパスワードを聞かれました。公開鍵作成時のパスワードを入力し、無事ソースコードのクローンが出来ました。
接続確認 from SourceTree
コマンドラインベースでの接続確認は出来たので、ここではもう1つGUIツール経由での確認もしてみましょう。アトラシアン社からSourceTreeというツールが提供されていますのでこれを導入します。Topページの[Mac版ダウンロード]をクリックし、dmgファイルをダウンロード&実行してください。
アイコンをApplicationsフォルダにドラッグ&ドロップすればインストール完了です。
SourceTreeをインストールした状態で先程参照したStashリポジトリの[Clone]から辿れる[Clone in SourceTree]ボタンを押下。すると今度はダイアログが表示されます。[アプリケーションの起動]を選択。
SourceTreeに連携され、接続及びクローンの際の情報が設定された状態になっています。値を確認し、[クローン]押下。
クローン作業完了。ソースコードを取得出来ている事を確認出来ました。
まとめ
まぁ、この辺の手順は一度やってしまえばどうって事無い部分ではありますが、割と日本語で書かれているものも無さそうだったので記録として残してみました。何らかの折でStashを利用する局面が訪れた時に、このエントリが『はじめの一歩』を踏み出す一助となれば幸いです。
Git/GitHubについては色々分り易く解説されているエントリやサイトがあるので、その辺を参考にすると良いと思います。:-)
- サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
- ガチで5分で分かる分散型バージョン管理システムGit (1/6) - @IT
- git入門 (全22回) - プログラミングならドットインストール
- もっと早く知りたかった! Gitが鬼のようにわかるスライド厳選7選 | Find Job ! Startup
- git を学ぶための日本語ドキュメント一覧 - Qiita [キータ]
脚注
- 自分もどちらかと言えばここまでHg/Mercurial派でした ↩