• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Git-dojo In Sendagaya.rb
 

Git-dojo In Sendagaya.rb

on

  • 1,009 views

git-dojo was held on 7/2 at sendagara.rb.

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

Statistics

Views

Total Views
1,009
Views on SlideShare
1,008
Embed Views
1

Actions

Likes
1
Downloads
3
Comments
0

1 Embed 1

http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Git-dojo In Sendagaya.rb Git-dojo In Sendagaya.rb Presentation Transcript

    • プチgit道場 in sendagaya.rbJun Fukaya(@fukajun)
    • ● 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台目)● 料理好き、パエリア作るの好き
    • やること gitを利用したチームでの開発の流れを 学ぶ・体験する
    • 目標● gitを利用したチーム開発の流れがわかる● リモートリポジトリへpushできる● mergeのときのコンフリクトを解消できる● rebaseのときのコンフリクトを解消できる● git-hubへのpushを自信を持って出来るようになる
    • 今日の流れ● 説明 – チームで開発するときの準備 – よく使うコマンドの紹介 – チームで開発するときの流れ – reject、confrictした時の対応● 実習 – とりあえずリモートへpushしてみる – 結果の確認 – git pull –rebaseを使用してみる – 結果の確認
    • チームで開発するときの準備● ユーザーの設定 – $ 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  
    • よく使うコマンド紹介(状態)● 現在ローカルにあるブランチの一覧を見る。 $ 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オプションを追加) 
    • よく使うコマンド紹介(履歴)● 現在いるブランチの最新のコミット内容を見る $ git show● 現在いるブランチのコミットの履歴を見る。 $ git log – 変更・追加・削除されたファイル名も表示 $ git log --stat – パッチ形式で表示(diffっぽい表示で変更内容を表示) $ git log -p  
    • チームで開発するときの流れ(前半)1. トピックブランチを作成 $ git branch <トピックブランチ名>2. ブランチの切り替え $ git checkout <トピックブランチ名>3. ファイルの編集作業 <エディターを使って適当に>4. ファイルの追加作業(ステージへ追加する) $ git add <ファイル名>5. 変更の確定 $ git commit -m “コミットコメント”
    • チームで開発するときの流れ(後半)1. ブランチの切り替え(トピックブランチからmasterブランチへ) $ git checkout master2. リモートブランチの更新をmasterブランチへ反映する $ git pull3. トピックブランチの更新をmasterブランチへ反映する $ git merge <トピックブランチ名>4. リモートブランチへmasterブランチでまとめた変更をアップロード $ git push origin master
    • git 開発の流れ(リジェクト時1)● push で rejectされたら? – $ git pull● リモートで同じファイルが変更されているとコンフリクトが起きること があるので解消する。 – $ git status # コンフリクトしたファイルの確認 – <コンフリクトしたファイルを編集> – $ git add <コンフリクトしたファイル> – $ git commit● 再度、リモートリポジトリへアップロード – $ git push origin master – ※これでまた reject されたら git pull から繰り返す
    • git 開発の流れ(リジェクト時2)● git pull --rebase でコンフリクトした場合 – add & commit ではなく – $ git rebase –continue – コミットメッセージは、できるだけそのまま利用したほうがいい い
    • 慣れる<実習1>● 同じリポジトリ、同じファイルで作業する。 →コンフリクト起きる● Numbersファイルを編集して、リモートブランチにpush● Numbersの各先頭の番号は、消さない。● コミットメッセージしっかり書く – コミットの内容についての私語禁止 – だから、コミットの内容が相手に伝わるように意識すること● 一人あたり、5回くらいはpushする● 連続でpush しない(チームでやる意味がなくなる)
    • 結果の確認<実習1>● チームで作業した結果、gitのグラフがどのようになったかを確認す る。 – git-hub の NETWORKで確認する。 – または、 – $ git log --graph --pretty=oneline
    • 慣れる<実習2>● 基本的に実習1と同じ● ただしpull するときに、--rebaseオプションをつける。
    • 結果の確認<実習2>● チームで作業した結果、gitのグラフがどのようになったかを確認す る。 – git-hub の NETWORKで確認する。 – または、 – $ git log --graph --pretty=oneline● 実習1(pull だけの時)とグラフがどのように違っているかを確認する
    • git-dojo in sendagaya.rb <配布資料>● トピックブランチを作成 ● push で rejectされたら? – $ git branch <トピック – $ git pull ブランチ名>● ブランチの切り替え ● リモートで同じファイルが変更さ – $ git checkout <トピッ れているとコンフリクトが起きる クブランチ名> ことがあるので解消する。● ファイルの編集作業 – $ git status # コンフ リクトしたファイルの – <エディターを使って適 確認 当に> – <コンフリクトしたファイ● ファイルの追加作業(ステージ ルを編集> へ追加する) – $ git add <コンフリク トしたファイル> – $ git add <ファイル名>● – $ git commit