Version Control Systems?
VCSとは?
バージョン管理システム(VCS)は、ファイル内の変化を記録しておいて、必要な状況でファイルを取り出すことができるシステムです。
バージョン管理システムを使用すると、ファイルのプロセスを管理するのに役立ちます。
また、ファイルの特定のバージョンに関する記録を保存できます。
例えば、バージョンを記録した時点のユーザー情報、記録された日付と時間、ファイル項目などの情報を一緒に保存して確認することができます。
このような情報は保存される中央サーバーがあり、サーバーに接続する人はこのすべての情報とファイルを共有できます。
このようなVCSの種類としては3つがあります。
ローカルバージョン管理システム
ローカルバージョン管理システムはRCS(Revision Control System)を活用します。
RCSは基本的にファイルから変更される部分(Patchset)を管理します。
パッチセットを通じてすべてのファイルを特定の時点に戻すことができます。
中央集中型バージョン管理システム
中央集中型バージョン管理システムは、プロジェクト進行中に他の開発者と協業する際に使用します。
ファイル管理のためのサーバーが別で存在し、クライアントは中央サーバーからファイルを受け取って使用します。
中央集中式バージョン管理システムを使えば、プロジェクトに参加した人の中で誰がどんな作業をするのか簡単に確認できます。
また、すべてのクライアントのローカルDBを管理するよりも、VCSを1つ管理する方が簡単であるため、よく使用されます。
しかし、中央サーバーがダウンしたり問題が発生した場合は作業が不可能であり、すべてのヒストリーを失う可能性があります。
分散バージョン管理システム
開発者が独立して作業した後、変更をマージできるシステムです。
リポジトリにあるヒストリーとファイルの両方が開発者ローカルにコピーして使用されます。
Gitとは?
バージョン管理システムの 1 つで、ソースコードを効果的に管理できる無料公開ソフトウェアです。
襟の特徴です
- 分散バージョン管理システム
- 全開発履歴を各開発者ローカルにコピーを提供し、変更された履歴をもう一つのストレージにコピーします。
- これらの変更は、追加開発ポイント(ブランチ)を取得し、ローカル開発ポイントと同様にマージできます。
- ストレージは、Gitプロトコル、HTTPで簡単かつ効率的にアクセスできます。
- 非線形開発
便利なブランチとマージサポート、非線形開発履歴を視覚化および探索できます。 - 大きなプロジェクトを効果的に管理できる。
Gitは他のほとんどのバージョン管理システムよりも速く動き、長期間の修正履歴を非常に効率的な圧縮方法で保管します。 - 内訳を暗号化できる。
Gitの履歴はcommitによる改訂名として保存されます。
配布されると改訂名が分からなくなり、以前のバージョンに変更することはできません。 - ツールキットデザイン
UNIXの伝統に従い、GITはcで作成されました。
そして、多くのスクリプトがGITの機能を補強しています。
GIT 基本用語
- Repository:ストレージはヒストリー、タグ、またはブランチに従ってバージョンを保存します。 作業者が変更したすべてのヒストリーを確認できます。
- Working Tree:リポジトリをある時点見る作業者の現在の時点
- Staging Area:リポジトリにコミットする前にコミットを準備する位置
- Commit:現在変更された作業状態の点検を終えたら、確認して保存する作業
- HEAD:現在作業中のブランチ
- Branch:ジャンクション、作業時に現在の状態をコピーしてブランチで作業し、完了時にマージしながら作業します。
- Merge : 他のBranchの内容を現在のブランチにインポートして合わせる作業
GIT基本命令語
1. git init : git 初期化
2. git status : git 状態
3. git add : commitするファイルを追加
4. git commit [-m 'commit message'] : commitを作成し、変更内容を反映します。
5. git clone [github address]:既存のソースをダウンロドしコーピします。
7. git log : gitのcommit履歴を確認できます。
8. git branch [branchname]:新しいブランチを作成します。
9. git checkout [branchname]:ブランチからブランチへ移動できます。現在のバージョンから以前のバージョンへ移動したり更新前のブランチに接近できます。
10. git push [local branch] [server branch]:ソースコードの更新内容をサーバーに反映します。
11. git pull :サーバーの内容をローカルにコーピし併合しま。
12. git merge : ブランチを併合します、
Discussion