131221_02:Gitの勉強

今日はプログラミングのメンターにデータベースまわりの設計を指導して頂いた。

今日からGitとBitbucket, mysqlの勉強を本格的にはじめる。

まずはGitから

            • -

Gitポケットリファレンス
http://www.amazon.co.jp/Git%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E5%B2%A1%E6%9C%AC-%E9%9A%86%E5%8F%B2/dp/477415184X/ref=sr_1_1?s=books&ie=UTF8&qid=1387631407&sr=1-1&keywords=git+%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9
を購入

この本を中心にGitの使い方を実際に使いながら学んで行く。


Git作業フロー


1. リポジトリを作成する: $ git init もしくは $ git clone url

2. ユーザ名、メールアドレスを設定する: $ git config user.name “~”, $ git config user.email “~"

3. ファイルを管理する: $ git add FILE…, $ git rm FILE…, $ git mv OLD NEW
4. 変更を確認する: $git status, $ git diff BRANCH_NAME, $ git show

5. 変更をコミットする: $ git add <変更したファイル>, $ git commit もしくは $ git commit -a

6. 変更を共有リポジトリへ送信する: $ git push


共有リポジトリ
共有リポジトリは、チームメンバーで共有するリポジトリで、ソースコードのメインバージョンが格納されている。開発者はここにあるソースコードをpull/fetchで取り込む。

ローカルリポジトリ
作業者のマシン上にあるリポジトリ。ローカルマシンでの作業内容が保存される。pushにより共有リポジトリに変更内容を反映する。

インデックス(ステージングエリア)
ローカルリポジトリへ反映する変更を一時的にためておく場所。インデックスの内容は、commitによりローカルリポジトリへ反映される。

作業ツリー
ローカルリポジトリ上にある現在の作業ファイル。作業ツリーの変更点はaddによりインデックスに追加される。


Gitを使ってみる
Gitでは、共有リポジトリの完全な複製を利用者のマシン上に持っている(ローカルリポジトリ)。ローカルリポジトリを持つことにより、ファイルの変更履歴情報の参照をサーバに問い合わせることなく高速に行える。また、ファイルの変更(コミット)をローカルリポジトリに貯めておいて、差分情報をまとめてサーバ上の共有リポジトリに送信することにより、一時的にオフラインで作業できるようになったり、通信の負荷も減らすことができる。

使い方
ファイルを作ったり修正したり、ある程度まとまりになったら履歴データベースに保存する。
1人で作業する場合はローカルリポジトリに保存していく。