*

Gitの基本

このブログにGitについてあまり書いていないので、今さらですが基本的なことを書く。
SubversionからGitへ変える時など参考に。
GitHubなどは次回にでも書く。

■分散リポジトリとは

」では、リポジトリが1つ存在し、そのリポジトリに対して更新反映(COMMIT)を行う。
」では、本流のリポジトリが存在し、それとは別に作業者個々人がリポジトリを持つことができる。

【メリット】
自身の中で作業が長く続いている場合
・COMMITは出来ないけれども履歴は保持したい
・一旦COMMITして記録としたい
このような場合に、自身のリポジトリだけでCOMMITすることが出来る。

この際、自身のリポジトリへ本流のリポジトリからファイルをマージ出来る。
マージすると以下のように、ファイル内に変更箇所が記載される。
DIFFするような形で確認することができる。

■分散リポジトリ運用フロー

1.本流リポジトリ作成

※「Git」においては、実はどれが本流という概念はあまりない。
ローカルのリポジトリもリモートで本流になることが出来るので。
※また、本流リポジトリを「」というリポジトリ管理サービスに保管することも可能。

「GitHub」については次回にでも。

2.ローカルリポジトリ作成
3.ローカルリポジトリで初期ファイルをコミット
4.ローカルリポジトリから本流リポジトリにプッシュ
この時点で、本流リポジトリからチェックアウトが可能になる
5.開発者が本流のリポジトリからチェックアウト
6.開発者は、ローカルで開発
7.開発者は、ローカルで自身のローカルリポジトリにコミット

 ※本流にプッシュしない限り、開発者はローカルでコミットを繰り返すことが可能
 リビジョンの戻しなども可能
8.開発者が、本流にプッシュ
9.本流に修正が反映される

■「git」インストール

今回は、CentOSで上記コマンドにてインストール。
リポジトリサーバー、開発サーバー、ローカルPCなどそれぞれ「Git」を使う場所にインストール。
Winの場合は、「TortoiseGit」などもあり。

■実開発フロー例

1. プロジェクト名(リポジトリ名)を決定し、管理者に本流リポジトリ作成依頼
2. 管理者が、本流リポジトリ作成
「Git」リポジトリサーバーにて管理者は作業

※「–bare」は、ファイル自体を持たないリポジトリという意味。
ローカルリポジトリは、ファイル群をチェックアウトするのでファイルあり。
パーミッションを変えているのは、開発者がプッシュ可能なように

※注記※
SVNのようにWebDAV経由でhttp or httpsにてリポジトリへアクセス出来るが、
ドキュメントルートに置く必要があるので今回はSSHにて

参考
gitレポジトリをhttpで公開する
http://www.fraction.jp/log/archives/2008/05/15/setup-git-server-over-http

3. 管理者が、ローカルリポジトリを作成し、本流リポジトリにプッシュ
※ローカルリポジトリはどこで作成しても可

▼gitを使うユーザー情報。リポジトリにコミットした際に記録されます

▼ローカルリポジトリの作成と、初期ファイルのローカルリポジトリへのコミット


▼本流リポジトリへ、ローカルでコミットした初期ファイルをプッシュ
※「Git」では、本流リポジトリへ初期ファイルをプッシュしないと、他の開発者がチェックアウト出来ない仕様のため行う

————————————————————————–
【例外】

「本流リポジトリへ追加する準備」などは、SSHだと次のような形になる。

※「github」へのaddの場合は、公開鍵でパスワードなしで「github」に接続できる設定をした
RSA暗号鍵をサーバー上で作成して行った

これでできた公開鍵を、「github」に登録
————————————————————————–

4. 開発者が本流のリポジトリからチェックアウト

▼gitを使うユーザー情報。リポジトリにコミットした際に記録されます

▼本流のリポジトリからチェックアウト

プロジェクト名のディレクトリと、初期ファイルが作成される

SSHだと次のような形になる。

5. 開発開始

参考

せっかちな人のための git 入門 – git をインストールし、共同で開発できる環境を整えるまで
http://blog.champierre.com/archives/670
続 せっかちな人のための git 入門 – 共有リポジトリの作り方
http://blog.champierre.com/archives/842
とっても優しい github の使い方
http://d.hatena.ne.jp/keita_yamaguchi/20080409/1207752188

■「Git」と 「Subversion」

基本的な使い方・フローは、「Git」も「SVN」も変わらず。
ローカルリポジトリを持つため、便利な機能はたくさんある様子。
↓などのコマンド一覧で色々ローカルリポジトリで試すとよさそう

Git/Subversionコマンド対応表
http://b4.x0.com/hiki/?Git%2FSubversion%A5%B3%A5%DE%A5%F3%A5%C9%C2%D0%B1%FE%C9%BD

Gitを使いこなすための20のコマンド
http://sourceforge.jp/magazine/09/03/16/0831212

参考
これからGitを始める人が読むべき記事のまとめ
http://www.akiyan.com/blog/archives/2009/05/posts-for-git-beginne.html

関連記事

2018年総括&2019年抱負

新年明けましておめでとうございます。 旧年中は、大変お世話になり...

記事を読む

amazonパントリーで日用品を翌日配送

最近、amazonパントリーというサービスを使ってみた。 Ama...

記事を読む

クラウド

Google Cloud Next in Tokyo ’18 まとめレポート

開催日/場所 9/19(水)、20(木) ザ・...

記事を読む

Googleが目指す(AIの)民主化をあらためて

  「AIの民主化(Democratizing AI)」 ...

記事を読む

2017年総括&2018年抱負

新年明けましておめでとうございます。 旧年中は、大変お世話になり...

記事を読む

新着記事

no image

40代男の育児日記 〜便利なアイテム(新生児)〜

最近、イクメンという言葉が流行っているけれど、 実際に自分が父親にな...

記事を読む

2018年総括&2019年抱負

新年明けましておめでとうございます。 旧年中は、大変お世話になり...

記事を読む

amazonパントリーで日用品を翌日配送

最近、amazonパントリーというサービスを使ってみた。 Ama...

記事を読む

StackdriverでGoogleComputeEngineで構築したサイトのhttp監視設定

GoogleCloudPlatform(以下GCP)には、監視設定が簡...

記事を読む

AppleWatch

楽天ブラックカードをApple Watchで(QuickPayとして)使う方法

Apple Watchで楽天ブラックカードを(QuickPayとして)...

記事を読む

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます




PAGE TOP ↑