2012-01-30

git / github 覚え書き

Redmine本体のソース、プラグインのソースがSubversionからgit (Guthub) や Mercurial (Bitbucket) に移行しつつあるので、強制的にこの辺のコマンドを利用するようになっています。

Redmine本体に関しては気が付いた点や要望はチケットにして報告しています。

あわせて、プラグインについても、動作確認してみてなんかうまく動かなかった場合に、修正方法が見つかったら、できるだけ作者さんにレポートするようにしています。

その方法ですが、一応 github や bitbucketにアカウントがあるので、オリジナルをフォークして、自分のところで検証して、まあうまくいきそうならpull requestを作者さんに送る、という流れになっています。

一回きりのpull requestなら、フォークしたリポジトリは用が済んでしまうので、削除しちゃってもいいのですが、フォーク元の変更に追従しつつ、自分でも少し検証をしながらリポジトリを温存する場合..。

こちらを参考にしました:

手順は、こんな感じ。

1. git clone …… (フォークして作った自分のリポジトリ)

2. git remote add honke git://github.com/xxxxx/xxxx.git (フォーク元を honke という短縮名で、remote に追加

3. git remote コマンドで確かめる

# git remote
honke <- remoteに追加された
origin <- こっちは自分のgithub上のorigin

4. 本家の更新を、ローカルに反映させる (ローカルリポジトリは master)

# git pull --rebase honke master

5. 自分のフォークしたリモートリポジトリから、いったん pull し、その上で push する。

# git pull origin master
# git push origin master

これで大丈夫らしい(^^;

GitもMergurial(hg)も、まだまだ良くわかりませんが、ブランチをその場で作ったり、ささっと切り替えたりできる点は、すごくSubversionよりも楽だ、ということは体感してきました。自分自身はこまめにコミットするけれど、本流のリポジトリには、コミットをまとめたものだけを反映させたりできるので、「とにかく書いてみよう、間違ってもだいじょうぶ!」な安心感もあります。

説明できるほどには身についてないですが、もう少し精進して、みんなが気軽に使えるような仕組みを用意してあげたいなあと思ってます..。

そして、間違った内容があれば、ぜひご指摘ください!

0 件のコメント:

コメントを投稿