PersonalForgeはSourceForge.jp (sf.jp)が提供する個人向けのGitリポジトリを提供するサービスで、2011年1月13日にリリースされています。
GitHubも同時に使い始めましたが、sf.jp全般は本家のSourceForge.net (sf.net)と比べてガイドが分かりやすく、次に何をするべきか把握することができました。
sf.netを使った時には、Gitリポジトリのパスのみが表示されて、どうやってコードを配置するか直接的なガイドはありませんでした。もちろんドキュメントは探せばあります。
ガイドはGitHubもちゃんとしていますが、日本語である点も含めてsf.jpを使うメリットはあるだろうと感じました。
それに自分のパソコンの外にコードを置くのはハードディスクのクラッシュといった災害から守る意味もあります。
Gitをとりあえず個人的に使ってみたくて、最初にどう使ったらよくわからないならPersonalForgeがお勧めです。
もちろんコードにオープンソース系のライセンスを付ける事が必要ですけどね。
Subversion v.s. Git
Gitを使うと決めてしまうと、Google CodeはSubversionのリポジトリのみを提供しているため選択肢から外れてしまいます。 それがlscouchdbの開発にsf.netを選択した理由です。
GitHubやGitorisは、PersonalForgeよりもリッチな感じですけれど、それでもコードを管理するだけの機能しかないですからね。
そんなわけで、今年に入ってから本格的にPersonalForge以外にもGitを使っています。
個人的にかなり初期からSVNリポジトリを自宅に構築してきたので、経験の差はありますが、それでも個人利用であればGitの方がいろいろなストレスから開放されそうです。
SVNのブランチやタグはどちらも大きな違いはなくて、高速かつ簡単にトップディレクトリ全体を別の場所にコピーするのと同じです。 SVNでは簡単にブランチを作成する事はできますが、そんなブランチ間を移動するのは、Gitを使った今はかなり面倒に感じます。
Gitの場合はもっとドライで、ブランチ間の移動がスムーズにできるよう設計されています。
けれど、根本的にSVNとGitではリポジトリの主従関係が逆転しています。
SVNを使っていると、バックアップの有無とかに関係なく、サーバに何かあったらどうしようかと心配になります。
Gitの自分の手元のリポジトリがメインで、サーバ側がその安全なスナップショットを反映するミラーにしか過ぎないというのは、地味だけれどGitに対するポジティブな印象を持つ大きな理由でしょう。
この一点だけでもSVNを捨てようかなと真剣に検討しているほどです。
SVN固有の機能は個人開発に必要なのか
SVNではファイル名を変更してもコードの変更履歴を追跡できるところがメリットですが、Gitではそこに注力してはいません。
SVNではファイル名を変更して、さらにその上のディレクトリ名を変更したり、重複した変更を一度にコミットするような複雑な変更を一度にして競合が発生した経験があります。
gitでも似たような事をしてしまいましたが、Gitはすんなりとその有り様を受け入れました。
これはフェアな比較ではありませんが、個人利用ではSVNの機能の多くは実際は必要ないと感じました。 履歴を追跡できる事は必ずしも重要ではないわけです。
その反面、企業ユースではむしろSVNの機能が必要な場合もあり得るでしょう。
学生であればSVNを学んでおく事は必要だと思いますが、SCM初心者の選択肢としては、特に分散リポジトリが必要なくても、SVNではなくてGitを利用するメリットはあると思います。
0 件のコメント:
コメントを投稿