はじめての Github で自作のライブラリを公開するためのリポジトリ作成や設定まとめ

今回は Github でアカウントを設定して自作のライブラリを入れるまでの手順をメモとして残しておきます。

Github に登録する

登録して自分のページを作成していきます。連絡をもらうためのメールアドレスとか自分のプロフィールを作成できるようです。

SSH key を追加する

Github 用の SSH キーを作成します。私の環境では ~/.ssh/github に github_rsa と github_rsa.pub を作成しました。この github_rsa.pub の内容は Github の設定ページの SSH keys の項目より追加してください。

1
2
3
mkdir ~/.ssh/github
cd ~/.ssh/github
ssh-keygen

次に ~/.ssh/config を作成して以下の記述をします。この設定ファイルについては以前記事にしておりますので、詳しく知らない方はそちらを読んでください。

1
2
3
4
5
Host github
HostName github.com
Port 22
User git
IdentityFile ~/.ssh/github/github_rsa

こうすれば github に SSH で接続しようとすれば、自動的に ~/.ssh/github/github_rsa を読みに行きますので、下記のように書くだけで簡単に clone することができます。

1
git clone github:hoge/TsubuyakiComponent.git

Github にリポジトリを作成する

リポジトリを作成します。Repository name はリポジトリ名です。説明には「グレイトなリポジトリ名は短くて覚えやすいものです。インスピレーションが必要?それなら cloaked-octo-ironman とかどうですか。」とのことですが、実際には時と場合によって自由に付ければ良いかも。私は CakePHP のライブラリのリポジトリを作成するので、キャメルケースで名前付けました。

Github のリポジトリを触ってみる

clone する方法

1
git clone github:hoge/TsubuyakiComponent.git

コミットする方法

1
git commit -am 'TsubuyakiComponent 作成しました。'

push する方法

1
git push

リポジトリを削除する

一度プロジェクトを終了したい場合やリポジトリを Github に置きたくない時や、リポジトリをリフレッシュしたい時などに削除することもできます。

Github にリポジトリを作って良いなと思ったこと

ライブラリがファイルとしてダウンロードできる

こういう感想は特殊かもしれませんが、ローカルで Git で管理して Github に push するだけで、Web 上からライブラリを ZIP ファイルでダウンロードできるようになるのは凄いと思いました。昔はライブラリを作成したら、こっちでファイルを圧縮してブログにアップロードして、ダウンロードできるようにしていました。

ライブラリの更新履歴が勝手に作られる

昔は更新履歴なんていう感じでテーブルで履歴を作っていたんですが、コミットログがその役目を果たしてくれるので良いですね。あと README.md にちょっとした使い方などを書いて、push すれば Web 上ですぐ確認できるようになるのも凄いです。いちいちブログに変更についての説明を書いて更新して、なおかつ readme.txt にもその変更を加えるという作業がなくなって良いです。

これからライブラリを作った時は、ブログには「こんなライブラリを作りました。最新版は Github からダウンロードできます。」という感じの紹介だけで良いわけですね。

ちょっとしたメモ書き

Github の README.md は markdown 記法

私も愛用している markdown 記法が採用されています。ご存じない方は以下のページが参考になりますので、一度読んでみましょう。

git rebase

git rebase が便利そうです。まだ上手く使いこなせないのですが、今後細かい作業を行なっていく上でお世話になりそうなコマンドなので色々調べて参考になったページをまとめておきます。

Github での fork について

他人のコードを弄って、これ push してくださいって時に fork を使うらしいです。私のコードも fork されまくって、様々な機能が実装されたりしたら嬉しいです。でも基本 fork は新機能付けるよりバグの修正とかそういうレベルなのでしょうか。これから Github を使いながら学んでいきたいです。

コメント

コメントは受け付けていません。