SlideShare a Scribd company logo
GIT
はじめに

 GIT + Dropbox
 でバージョン管理を目指すための覚え書きです。



下の条件に当てはまる人用の覚え書きです。
 ・複数人でソースを編集している。
 ・これまで適当だったけど、そろそろしっかりソース管理したい。
1. 共用リポジトリをつくる

  この作業をする人 : 1人
#1 Dropboxにフォルダを作る

 Dropbox上に、共用リポジトリを作る。

 $ cd ~/Dropbox       // Dropbox下に移動して
 $ mkdir sample.git   // gitリポジトリを作成する。


                  ※今回はsample.gitという名前のリポジトリを作成。
                   リポジトリの名前は任意。.gitついてなくてもOK !
#2 リポジトリを初期化

 #1で作ったリポジトリを初期化する。
// sample.git下に移動して、初期化コマンドを入力
$ cd sample.git
$ git init --bare --share=true

          --bare : 誤ってDropbox内のファイルを
                 直接編集してしまうのを防ぐために必要。
    --share=true : グループで共有するために必要。


        ※オプションの詳しい説明 →       http://blog.s21g.com/articles/1312
#3 リポジトリをチームで共有

#1,#2で作ったリポジトリをメンバに共有する。

Dropboxの共有機能を用いて、
作ったリポジトリをメンバに共有しましょう。


 [Dropbox] 他のユーザとフォルダを共有するには
 http://dekiru.impress.co.jp/contents/062/06216.htm
#4 共用リポジトリにpushする

 ここまで作ったリポジトリはまだ空です。
 自分の持っているファイル達をpushしてあげましょう。

 // 作成済みファイルがあるフォルダに移動後、以下をコマンド入力

 $ git init
 $ git remote add origin ~/Dropbox/sample.git
 $ git push origin master
2. 作業用フォルダをつくる

 この作業をする人 : チーム全員
#5 共用リポジトリから
   作業用フォルダにソースをcloneする
共用リポジトリにあるファイル達を、
作業フォルダにコピりましょう。

 // 作業用フォルダに移動後、以下をコマンド入力

 $ git clone ~/Dropbox/sample.git

 コマンド実行後、フォルダにソースファイルが入ってるはずです。
3. ファイルを更新したらコマンド打とう

    この作業をする人 : チーム全員
用語の説明
イメージ図
                        Dropbox上のフォルダ


                            共用リポジトリ
 Commit       push

                     pull
    作業用フォルダ

   ローカル上のフォルダ
#6 ファイルを更新したらやること

機能の追加など、ソースをいじったらcommitしましょう。
commitすることでバージョン状態を記録でき、
万一挙動がおかしくなった場合、昔の状態に復元できます。

$ git add .
$ git commit -m “ログイン機能を追加”
   または

$ git commit -a -m “ログイン機能を追加”
“ログイン機能を追加”の部分は好きなメッセージに変更する。

commit時に-aオプションをつけることで、addと同様の効果を発揮。
(ただし、新規にファイルを追加した場合は必ずaddが必要)
#7 ファイルを更新したらやること-2

キリのいい所まで実装できたら、ソースをpushしましょう。
pushすることで初めて共用リポジトリに更新が通知され、
他のメンバがその変更を参照できるようになります。

 $ git push


状況に応じて以下のコマンドを使うと便利です。

 $ git status
 $ git log --stat
#8 他のメンバの更新を取り込む

他メンバの更新を取り込むには、pullコマンドを使います。
pullすることで共用リポジトリの最新のバージョンの状態に
ソースコードが変更されます。


$ git pull
#9 もしコンフリクトが発生したら

運悪く他ユーザが編集済のファイルをpushしようとした場合、
編集の衝突(コンフリクト)が発生します。
そんな時は以下の手順で対処します。


1. まずは落ち着く。
2. $ git pull で最新バージョンに更新。
  この時、コンフリクトが∼というメッセージが出ます。
3. コンフリクトしたファイルをマージする。
  >>>>>HEAD 等のマーカーで指定されている範囲を、
  手動なりなんなりの手段でマージします。

4. マージしたファイルをadd, commit, そしてpushする。

More Related Content

Git+Dropboxでのチーム開発入門

Editor's Notes