Linux バージョン管理システム
今日は、バージョン管理システムを学びました。
分散型で開発を進めていくときにメリットを発揮するようです。
分散型バージョン管理
各開発者はレポジトリのコピーを “クローン” し、自身のハード ドライブ上にそのプロジェクトの 完全な 履歴を持ちます。このコピー (または “クローン”) には、オリジナルのすべてのメタデータが含まれています。
メリット
- チェンジセットのプッシュやプル以外の操作の実行は非常に高速です。理由は、ツールがアクセスする必要があるのはリモート サーバーではなくハード ドライブだからです。
- 誰の目にもさらされることなく、新しいチェンジセットのコミットをローカルで行えます。チェンジセットのグループの準備が完了したら、それらをすべて一度にプッシュできます。
- プッシュとプル以外のすべての操作はインターネット接続なしに行えます。したがって、飛行機の中でも作業できます。また、複数のバグ修正を 1 つの巨大なチェンジセットとしてコミットする必要はありません。
- プログラマーはプロジェクト レポジトリの完全なコピーをそれぞれ持っているため、変更を同時に 1 人か 2 人のプログラマーと共有してフィードバックを得てから、その変更を全員に公開できます。
コマンドラインインターフェース
- Git
- Marcurial
Marcurialの使い方
$ hg feature ブックマーク名 : ブックマーク作成
$ hg bookmarks :どのブックマークにいるか表示
$ hg update ブックマーク名 : ブックマーク切り替え
参考:
バージョン管理とは : 集中型 vs. DVCS - Atlassian Japan
Mercurial 対 Git:なぜ Mercurial を選ぶのか? - Atlassian Japan
おまけ
-ls -la : 隠しフォルダ・ファイル(.から始まるやつ)も全て表示される