Gitの紹介
-
Upload
shoot-morii -
Category
Technology
-
view
1.463 -
download
2
description
Transcript of Gitの紹介
Git の紹介
ShootMORII2011/06/30
Pasta0915[at]gmail.com
About me• Shuto MORII aka. Pasta-K
– Hatena : id:Pasta-K– Twitter : @pastak– http://pastak.cosmio.net/
• Online.sg 主宰 (with sora_h• 京都クリエイティブワークショップ代表• OSC Kansai@Kyoto 実行委員• Javascript (GreaseMonkey) , PHP and so o
n..– Basic, Ruby, Java( on Android), Objective-C2.0
• Etc
Agenda• What’s “Git”
– バージョン管理システムとは?– バージョン管理のおおまかな流れ– Github について
• How to start Git and Github– Install Git– Setup Github
• Let’s try “Git”– How to use “Git”– Practice working with Git
What’s “Git”?
•分散型バージョン管理システムの一種– CVS, Subversion– ファイルのバージョンを管理する
•製作日時•製作者•更新内容(更新差分)
• Linuxカーネルのバージョン管理用にリーナス氏によって開発
ファイルのバージョン管理?• ソースコードを更新したら bug が消えな
くなったら・・・?– Ctrl + Z で戻る?
• 一回エディタを閉じたら戻れない– 保存時に過去のファイルも取っておく?
• hoge_20110614.rb• hoge_20110615.rb• hoge_old.rb
• もっと cool に管理したい!!⇒ バージョン管理システムの出番
Clone & Push(Use only you)
You
Master
Your localBranch
clone
push
Clone, Push and Pull(Team Development)
You
MasterBranch
YourBranch
Team Master
MasterLocalBranch
yourLocalBranch
A’sBranch
A
A’sLocalBranch
cloneclone push pushpush
folk
pull
pull
System of Merge
AYou
p(“hello”)
Master sub plus(a,b){ return a+b }p(“hello”)
p(“hello”) a=plus(10,
6) p(a)
sub plus(a,b){return a+b
}p(“hello”) a=plus(10,6)p(a) pull
pull
folk
folk
merge
バージョン管理の流れ1. ファイルをリポジトリに登録する。
・今回は Github を使います
2. ファイルをリポジトリからローカル環境に取り出す(チェックアウト)
3. ローカル環境で、ファイルに対し変更を行う。
4. 変更したファイルをリポジトリに書き戻す(チェックイン)
Github について
• https://github.com/ • Git のプロジェクトホスティングサービス• 無料アカウントで 100MB 使用可能• 1クリックで fork したり出来る。• ブラウザ上でディレクトリの中身を見た
りファイルを参照することも可能。
My Github Page
https://github.com/pastak
Install Git• Have you finished install git ?
– http://code.google.com/p/msysgit/
• これで Git が使えるようになりました• Path などを通すのがややこしいので、Windows スタートメニュー -> Git -> Git Bashを使うようにすると楽です。( ls とかも使える
C:\>git --versiongit version 1.6.5.1.1367.gcd48
Setup Git & Github
1. Github アカウントを作る・省略
2. SSH 通信用の鍵を用意して github に登録
3. Git に自分の情報を登録する
SSH用の鍵を作成する$ cd ~/.ssh $ mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa* $ ssh-keygen -t rsa -C " 自分のメールアドレス
" # 鍵を実際に作る$ Enter passphrase (empty for no passphrase): # パスフレーズを入力
Github のアカウントに紐付ける
• https://github.com/account にアクセス• SSH Public Key をクリック• add another public key をクリック• ~.ssh/id_rsa.pub の中身をコピペ
確認用コマンド$ ssh [email protected]
Git に自分の情報を登録
•変更を共有したときに共有する情報を登録します。– ちゃんと登録しないとマシン名が出たりとか残念な感じになるかも…
•他にも色々あるけどとりあえずこれで OK
$ git config --global user.name " 自分のユーザー名 "$ git config --global user.email " 自分のメールアドレス "
How to use Git (1)
• 作業用のディレクトリを作ってローカルに git レポジトリを作成する
• いつも通りファイルを作成する
$ mkdir testproject$ cd testproject$ git init
How to use Git (2)
•ローカルのレポジトリにファイルを追加する
•ローカルレポジトリに変更を適用する
•ローカルだけで管理するなら基本はこれだけ
$ git add hoge.rb foo.rb README# git add <file> [<file>…]
$ git commit –m’ first update’# git commit –m’ コメント’
How to push
•リモートレポジトリを originという名前で登録
•ローカルレポジトリのブランチ (master)をリモートレポジトリ (origin)に push– まぁアップするみたいなもの
$ git remote add origin [email protected]: ユーザー名 / 作ったプロジェクト名 .git
$ git push origin master
Pull requestする人• folkしたプロジェクトページ内の Pull
requestボタンを押す•適当にコメントを書く
すると folk元の人に通知メールが行きます
Pull requestされる人•相手のレポジトリを手元に取り寄せる
$ git checkout master$ git remote add [name] git://github.com/[name]/[jobs].git$ git fetch [name]$ git merge [name]/[project_name]$ git push origin master
Tips:差分を確認する
$ git diff
diff --git a/readme.txt b/readme.txtindex 277c8cc..5eed5b3 100644--- a/readme.txt+++ b/readme.txt@@ -1 +1,2 @@ This is a readme file.+Nice to meet you.
Tips:作業ログを確認する$ git logcommit 6d97800229c8b9ed98f8153bc2e032aee0b06a66Author: @pastak <[email protected]>Date: Tue Jul 20 18:22:09 2010 +0900 add key config. - j : go2next - k: go2prev
commit 8fecdf65f35a351c1ebcebac758d9e8286e82463Author: @pastak <[email protected]>Date: Tue Jul 20 18:18:26 2010 +0900 add check json path. if json file path is false, it will display prompt.
まとめ• Git を使えばファイルのバージョン管理を
簡単にコマンドで行えるようになります• pull や merge などを使えば複数人での開
発もスムーズにすることが出来ます• 詳しくは僕がセプキャン 2009 で習った
ときの資料や git のチートシート ( コマンドの一覧表 ) を見てください
参考文献一覧• Github を Windows で使ってみる 2011 年版 | Num
b. – http://wp.graphact.com/2011/02/07/github-windows-2011
• Git の基礎練習 – http://www.hyuki.com/techinfo/gitinit.html
• github で pull request もらったので merge してみる - 狐の王国 – http://d.hatena.ne.jp/KoshianX/20080616/1213581933
• A-Liaison BLOG: github で pull request をされたとき・するときの手順– http://akisute.com/2011/02/github-pull-request.html
• Help.GitHub - Send pull requests – http://help.github.com/send-pull-requests/