Gist上のソースを超簡単にWordPressに表示するプラグイン

Gist.GitHub上のソースを超簡単にWordPress上に表示するプラグインを作りました。

http://firegoby.theta.ne.jp/wp/oembed-gist

このプラグインを使うとGistのURLをエディター上にコピペするだけで、以下のようにソースが表示されます。

MacOSでGitHub – ファイルの更新からコミット

前回及び前々回に続いてGitHubについて。

今回はいよいよファイルを更新して、レポジトリに反映するところまでを行う。

GitのcloneとSubversionのチェックアウト

ローカルやテストサーバーなどにファイルをダウンロードして、更新作業を行うには、Subversionでは、チェックアウトという操作を行い作業ディレクトリを作成する。

そして、Gitではこれとよく似た操作でcloneという操作を行う。

では、このcloneとsubversionのチェックアウトは何が違うのか?

両者の最も大きな違いは、cloneの結果得られたローカルの作業ディレクトリ内には、レポジトリの全ての修正履歴が含まれている点にある。

したがって、サーバーへのアクセスができないときでも、履歴が参照できたりする!これはエライ!

実際にcloneを行って作業ディレクトリを作成する

ターミナルでデスクトップ上等に任意のディレクトリを作成する。

mkdir ~/Desktop/WorkDir
cd ~/Desctop/WorkDir

この後、cloneを行うためのコマンドを入力するのだが、そのためのリポジトリのパスをあらかじめ調べておく。

リポジトリのパスは、前回の記事で作成したforkの画面上に記載されている。

forkをしたリポジトリは、”Read+Write Access”となっていることに注目。

では、実際にこのパスをコマンドにコピペして使用する。

git clone git@github.com:user/path/to/repos.git

以上を実行すると、カレントディレクトリ内に作業ディレクトリが作成される。

commitしてpush

作業ディレクトリ内に作成された、ファイルを修正したらリポジトリに修正内容を反映する。

それには、以下の操作を行う。

1)追加したファイルや修正したファイルをGitの索引に追加する。

git add file.txt

file.txtというのが修正したファイル。
これに該当するコマンドは、Subversionにはない。

2)コミットする

git commit -m “hogeをhugaした”

これは、コマンドのフォーマットは、Subversionとにているが、この時点ではサーバーのリポジ鳥に反映されていないことが、大きく違う。

なので、以下のコマンドを実行して、”なかった事にする”ことができる。これもエライ!

git reset --soft HEAD^

3)サーバーに反映する

コミットした結果をリポジトリに反映するには、以下のコマンドを実行する。

git push

以上で修正した結果が、forkに反映される。

もし、forkに反映されたものをマスターに反映してもらいたいなら、メール等でマスターのオーナーにお願いすると、反映してもらえるかもしれない。

というわけで、gitについてはここまで。

ちなみに、Gitコマンドについては以下のサイトがわかりやすくまとまっていた。

Gitを使いこなすための20のコマンド – SourceForge.JP Magazine : オープンソースの話題満載

MacOSでGitHub – 既存のプロジェクトをForkする

前の記事に続けて、GitHubについて。

タイトルでは、「MacOSで」とあるが、今回はOSはどれでも同じ。

GitHubについてさらに詳しく

GitHubとは、分散リポジトリのクラウドサービスで、簡単に言うとSubversionが高機能になったシステム(git)のWebサービスである。

では、gitとは何かと言うと、Linuxを開発したリーナス・トーバルズさんが開発したバージョン管理システムで、彼に言わせるとCVSやSubversionは最悪らしい。(笑)

何が最悪なのかは、私の技術レベルではよくわからないが、要はSubversionみたいなバージョン管理システムがGitで、そのレポジトリをオンラインで共有出来るようにしたサービスがGitHubだと考えるとわかりやすい。

今回やりたい事

今回は、WordPressの某テーマファイルを日本語化するに当たり、私以外の方がすでにGitHubでリポジトリを作成しており、そこでメンテナンスをしていた。(感謝!)

ところが、現在の最新バージョンのテーマファイルに対応していなかったので、それを引き継いで修正したいと考えた。

既存のリポジトリをForkする

既存のリポジトリを引き継ぐには、Forkという機能を使用する。

これは、Subversionで言うところのブランチと似ているが、もとのリポジトリにアクセス権が無くても出来ることとか、あとでメインのリポジトリ(マスターと呼ぶ)にマージすることもできる(これはマスターにアクセス権が必要)など、ややブランチとはニュアンスが違う。

実際にForkするには?

引き継ぎたいリポジトリの画面を開いて(例えばこれ)、右上にある「Fork」をクリックする。

これだけの操作で、既存のリポジトリのForkが完了して、コミットができるようになる。

もちろん、Forkしたものは削除もできる。
削除するには、さきほどのForkボタンの左側にある「Admin」ボタンをクリックして、「Delete this repository」をクリックする。

Subversionでブランチを作る手間を考えると、ここまでは簡単。

というわけで、今回はここまで。

MacOSでGitHub – アカウントの作成から初期設定まで

今日、GitHubというサービスを始めて使った。

Githubとは、分散リポジトリのクラウドサービスで、まあ、簡単に言うとオープンなSubversionって感じ?

ちょうど「株式会社はてなの開発戦略」というプレゼンテーションで紹介されていたので、以下のとおりご紹介。

アカウントを作成する

GitHubには0.3GBまで保存できる無料アカウントが用意されており、他にもディスク容量等によって、いくつかのプランがある。(フリーミアムなのだ!)

無料アカウントを作成するには、以下のページで登録する。

アカウントの詳細を登録する

ここまでの作業でとりあえずログインはできるようになるが、以下のページでURLや名前などの公開情報や、ファイルをコミットするための公開鍵を設定できる。

公開鍵は後述するので、とりあえず、それ以外の情報を登録しておく。

ちなみに、このページで「Email」を登録すると公開されてしまうので要注意!

Your Account – GitHub

公開鍵の作成

以降はMacOSXのターミナルでの作業が中心。

まず、ターミナルで以下のコマンドを入力して公開鍵を作成する。
パスフレーズの入力を求められるので、任意のパスフレーズを入力するか、パスフレーズが不要な場合は、そのままEnter。

ssh-keygen

上記のコマンドを入力すると、.sshというディレクトリが作成され、その中にid_rsaというファイル名の秘密鍵と、id_rsa.pubというファイル名の公開鍵が作成される。

この公開鍵をGitHubに登録するには、以下のコマンドを実行して出力された文字列をコピペして、「SSH Public Keys」のページで登録する。

cat .ssh/id_rsa.pub

gitコマンドのインストールと設定

GitHubは分散リポジトリのウェブサービスなので、ファイルをコミットしたりチェックアウトするためのコマンドが用意されている。

MacOSXでは、MacPortsで提供されているのでそれを利用してインストールする。

MacPortsがまだインストールされていない場合はこの記事をご参照。

sudo port install git-core +gitweb +svn

とっても優しい github の使い方 – ¬¬日常日記 によると、以下のコマンドも実行しておいたほうがいいらしい。

git config --global user.name "Your Name"
git config --global user.email you@example.com

以上、とりあえず、今回はここまで。