自分なりの目線で情報を発信します。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ソースコードのバージョン管理システム(VCS)として、
Gitを使い始めようと思います。
今までCVS,SVNの利用経験はあるのですが、Gitには手を出せずにいました。
同じような方も多いのではないでしょうか。
実際に使いながら、このブログも書きながら、Gitの概念に慣れていきたいと思います。
実際の使用に関する記事を書く前に、Gitに対する現在の理解をまとめておきます。
CVSやSVNと、Gitの大きな違いの一つは、
- CVSやSVN
→集中型のVCS
- Git
→分散型のVCS
ということです。
分散型ってどういうことよ?って話ですが、
要は、リポジトリをローカルで保持できるってことです。
集中型だと、1つのリポジトリに対してコミットやチェックアウトを行います。
作業対象となるのは、リポジトリからローカルにチェックアウトしてきたソースコードです。
これに対して分散型は、リポジトリ自体がローカルにあるわけです。
ですから、作業対象もコミット先もローカルに存在することになります。
それで何が嬉しいのかというと、
ネットワークにアクセスできない環境でも使える
ということです。
例えば集中型だと、
- リポジトリにアクセスできない環境にいる
- リポジトリのサーバーが稼動していない
などの理由でコミットができなくなります。
これに対して分散型の場合は、
ローカルにリポジトリがあるため、いつでもどこでもコミットができます。
バージョン管理に対する制約が少なくなるのですね。
といっても、
「集中型でも、とりあえずローカルで作業しておいて、
リポジトリにアクセスできるようになってからまとめてコミットすればいーじゃん」
と思ったりもしました。
はい、これでも運用は可能かと思います。
ただ、リポジトリにアクセスできない環境にいる間にも開発を進める場合、
例えば以下のようなケースで困るのかなと思います。
- 変更履歴を参考にしたくても見られない
- とりあえずソースを修正→コミットしてみて、状況に応じてすぐに修正前に戻せるようにしておきたい
- 必ず毎日コミットする運用をしたくとも、コミットできない日ができてしまう
- リポジトリにアクセスできない期間だけ、コミットの粒度が変わってしまう
こう考えてみると、確かに分散型って便利だなーと感じます。
「いつでもどこでも作業できる」ってこういうことなのかと。
ここまでまとめてきて、
ローカルでリポジトリを保持するのはわかった。
ローカルでリポジトリを保持するのはわかった。
でも、複数人で開発し、リポジトリを共有したい場合はどうなるの?
その場合1つのリポジトリを複数で使うのだから、結局集中型と同じじゃないの?
と一瞬思います。
確かに、複数人で開発するなら、リポジトリは共有しなければなりません。
その点では集中型と同じように感じるのですが、
分散型の場合は、ローカルのコミット履歴も含めて
共有リポジトリにプッシュできる点が異なるようです。
(このあたり理解が曖昧なので間違ってたらすみません)
つまり、共有リポジトリにアクセスできない環境にいる間にも作業が進んだ場合、
集中型だと1回分のコミット履歴しか残せませんが
(共有リポジトリにアクセスできるようになってからのコミット)、
分散型だとローカルのコミット履歴をまとめて共有リポジトリに残せます。
しかも、集中型だと共有リポジトリへのコミットは慎重さが求められますが、
分散型だとローカルリポジトリに気軽にコミットしまくって、
厳選されたもののみを共有リポジトリにプッシュすることができます。
以上のようなことから、「分散型は(集中型に比べて)いつでもどこでも気軽に使える」
ということが言われるのだと思います。
最後に、先ほど「プッシュ」という用語が何度が出現しましたが、
Gitの世界では、
- コミット:ローカルリポジトリへのコミット
- プッシュ:リモートリポジトリへのコミット
を指すようです。
現在のGitに関する大まかな理解はこんなところです。
次回から、実際のGitコマンドの実行法などまとめていきまーす。
PR
|HOME|
お知らせ
最新記事
(03/11)
(02/23)
(01/08)
(12/28)
(11/18)
カテゴリー
プロフィール
HN:
shusatoo
性別:
男性
自己紹介:
基本PHP。JavaScriptちょっとだけ。Javaをほんの少し。
最新トラックバック
カレンダー
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
ブログ内検索
最古記事
(09/18)
(09/23)
(10/01)
(10/09)
(10/10)
カウンター
アク解アナライズ
ビジター