Git-dojo In Sendagaya.rb

1,152 views

Published on

git-dojo was held on 7/2 at sendagara.rb.
I will upload editable format document for someone want to reuse.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,152
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Git-dojo In Sendagaya.rb

  1. 1. プチgit道場 in sendagaya.rbJun Fukaya(@fukajun)
  2. 2. ● twitter : fukajun● git-hub : fukajun● sendagaya.rb はじめました。● RoR, bsh, C#, Ruby, PHP, C, Pro*C, VB, VC● Oracle, PostgreSQL, Solaris, Linux,● git(自己流), Ruby弱, vim弱, JS弱● MBA最近買いました。(Macは3台目)● 料理好き、パエリア作るの好き
  3. 3. やること gitを利用したチームでの開発の流れを 学ぶ・体験する
  4. 4. 目標● gitを利用したチーム開発の流れがわかる● リモートリポジトリへpushできる● mergeのときのコンフリクトを解消できる● rebaseのときのコンフリクトを解消できる● git-hubへのpushを自信を持って出来るようになる
  5. 5. 今日の流れ● 説明 – チームで開発するときの準備 – よく使うコマンドの紹介 – チームで開発するときの流れ – reject、confrictした時の対応● 実習 – とりあえずリモートへpushしてみる – 結果の確認 – git pull –rebaseを使用してみる – 結果の確認
  6. 6. チームで開発するときの準備● ユーザーの設定 – $ git config –global user.name “fukajun” – $ git config –global user.email “fukajun.shark(a)gmail.com”● リモートリポジトリからのソースの取得 $ git clone <リポジトリURL> $ git clone git@github.com:sendagayarb/git-dojo.git● 取得したソースのフォルダへ移動 $ cd <リポジトリ名> $ cd ./git-dojo  
  7. 7. よく使うコマンド紹介(状態)● 現在ローカルにあるブランチの一覧を見る。 $ git branch● 現在いるブランチの変更状態を見る。 $ git status● 現在のブランチ名と変更内容が見れて便利 $ git status -s -b – aliasの設定(何回も叩くコマンドはalias化) $ git config --global alias.st ”status -s -b “ →git st で git status -s -b が実行できる● 最新のコミットから変更した内容を比較する。 $ git diff (add した内容も比較すときは、--stagedオプションを追加) 
  8. 8. よく使うコマンド紹介(履歴)● 現在いるブランチの最新のコミット内容を見る $ git show● 現在いるブランチのコミットの履歴を見る。 $ git log – 変更・追加・削除されたファイル名も表示 $ git log --stat – パッチ形式で表示(diffっぽい表示で変更内容を表示) $ git log -p  
  9. 9. チームで開発するときの流れ(前半)1. トピックブランチを作成 $ git branch <トピックブランチ名>2. ブランチの切り替え $ git checkout <トピックブランチ名>3. ファイルの編集作業 <エディターを使って適当に>4. ファイルの追加作業(ステージへ追加する) $ git add <ファイル名>5. 変更の確定 $ git commit -m “コミットコメント”
  10. 10. チームで開発するときの流れ(後半)1. ブランチの切り替え(トピックブランチからmasterブランチへ) $ git checkout master2. リモートブランチの更新をmasterブランチへ反映する $ git pull3. トピックブランチの更新をmasterブランチへ反映する $ git merge <トピックブランチ名>4. リモートブランチへmasterブランチでまとめた変更をアップロード $ git push origin master
  11. 11. git 開発の流れ(リジェクト時1)● push で rejectされたら? – $ git pull● リモートで同じファイルが変更されているとコンフリクトが起きること があるので解消する。 – $ git status # コンフリクトしたファイルの確認 – <コンフリクトしたファイルを編集> – $ git add <コンフリクトしたファイル> – $ git commit● 再度、リモートリポジトリへアップロード – $ git push origin master – ※これでまた reject されたら git pull から繰り返す
  12. 12. git 開発の流れ(リジェクト時2)● git pull --rebase でコンフリクトした場合 – add & commit ではなく – $ git rebase –continue – コミットメッセージは、できるだけそのまま利用したほうがいい い
  13. 13. 慣れる<実習1>● 同じリポジトリ、同じファイルで作業する。 →コンフリクト起きる● Numbersファイルを編集して、リモートブランチにpush● Numbersの各先頭の番号は、消さない。● コミットメッセージしっかり書く – コミットの内容についての私語禁止 – だから、コミットの内容が相手に伝わるように意識すること● 一人あたり、5回くらいはpushする● 連続でpush しない(チームでやる意味がなくなる)
  14. 14. 結果の確認<実習1>● チームで作業した結果、gitのグラフがどのようになったかを確認す る。 – git-hub の NETWORKで確認する。 – または、 – $ git log --graph --pretty=oneline
  15. 15. 慣れる<実習2>● 基本的に実習1と同じ● ただしpull するときに、--rebaseオプションをつける。
  16. 16. 結果の確認<実習2>● チームで作業した結果、gitのグラフがどのようになったかを確認す る。 – git-hub の NETWORKで確認する。 – または、 – $ git log --graph --pretty=oneline● 実習1(pull だけの時)とグラフがどのように違っているかを確認する
  17. 17. git-dojo in sendagaya.rb <配布資料>● トピックブランチを作成 ● push で rejectされたら? – $ git branch <トピック – $ git pull ブランチ名>● ブランチの切り替え ● リモートで同じファイルが変更さ – $ git checkout <トピッ れているとコンフリクトが起きる クブランチ名> ことがあるので解消する。● ファイルの編集作業 – $ git status # コンフ リクトしたファイルの – <エディターを使って適 確認 当に> – <コンフリクトしたファイ● ファイルの追加作業(ステージ ルを編集> へ追加する) – $ git add <コンフリク トしたファイル> – $ git add <ファイル名>● – $ git commit

×