SlideShare a Scribd company logo
1 of 17
Download to read offline
プチgit道場
  in sendagaya.rb

Jun 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 master
2. リモートブランチの更新をmasterブランチへ反映する
     $ git pull
3. トピックブランチの更新を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

More Related Content

What's hot

バッチリネーマーの制作
バッチリネーマーの制作バッチリネーマーの制作
バッチリネーマーの制作eighttails
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組みTeloo
 
Mercurial入門(後半)解説版
Mercurial入門(後半)解説版Mercurial入門(後半)解説版
Mercurial入門(後半)解説版You&I
 
Git入門 あの頃に戻るには
Git入門 あの頃に戻るにはGit入門 あの頃に戻るには
Git入門 あの頃に戻るにはYoshihiro Ohsuka
 
gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編Sanae Yamashita
 
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇RubyRuby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇RubyYouhei SASAKI
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Satoshi Kume
 
msysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるmsysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるKenichi Yamada
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Sho A
 

What's hot (15)

バッチリネーマーの制作
バッチリネーマーの制作バッチリネーマーの制作
バッチリネーマーの制作
 
(工事中) Git の仕組み
(工事中) Git の仕組み(工事中) Git の仕組み
(工事中) Git の仕組み
 
Mercurial入門(後半)解説版
Mercurial入門(後半)解説版Mercurial入門(後半)解説版
Mercurial入門(後半)解説版
 
Mercurial入門(後半)
Mercurial入門(後半)Mercurial入門(後半)
Mercurial入門(後半)
 
Rails vim easy
Rails vim easyRails vim easy
Rails vim easy
 
Git入門 あの頃に戻るには
Git入門 あの頃に戻るにはGit入門 あの頃に戻るには
Git入門 あの頃に戻るには
 
gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編
 
Git overview (v 0.96)
Git overview (v 0.96)Git overview (v 0.96)
Git overview (v 0.96)
 
チートシート
チートシートチートシート
チートシート
 
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇RubyRuby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
 
msysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させるmsysgit1.8.0でプロンプトにブランチ名を表示させる
msysgit1.8.0でプロンプトにブランチ名を表示させる
 
Tsume git
Tsume gitTsume git
Tsume git
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]
 
Aizu lt tokyo_luxion
Aizu lt tokyo_luxionAizu lt tokyo_luxion
Aizu lt tokyo_luxion
 

Viewers also liked

Minterms raj kumar i bca
Minterms raj kumar i bcaMinterms raj kumar i bca
Minterms raj kumar i bcavasanth122
 
Ependymome intramedullaire
Ependymome intramedullaireEpendymome intramedullaire
Ependymome intramedullaireNorbert Manzo
 
So You Want to Work in the Travel Industry
So You Want to Work in the Travel IndustrySo You Want to Work in the Travel Industry
So You Want to Work in the Travel IndustryDanielle Dutsch
 
Media Magazine Evaluation
Media Magazine EvaluationMedia Magazine Evaluation
Media Magazine EvaluationAphra20
 

Viewers also liked (7)

Minterms raj kumar i bca
Minterms raj kumar i bcaMinterms raj kumar i bca
Minterms raj kumar i bca
 
Ependymome intramedullaire
Ependymome intramedullaireEpendymome intramedullaire
Ependymome intramedullaire
 
So You Want to Work in the Travel Industry
So You Want to Work in the Travel IndustrySo You Want to Work in the Travel Industry
So You Want to Work in the Travel Industry
 
The CanPill
The CanPillThe CanPill
The CanPill
 
digital
digitaldigital
digital
 
Media Magazine Evaluation
Media Magazine EvaluationMedia Magazine Evaluation
Media Magazine Evaluation
 
File name
File nameFile name
File name
 

Similar to Git-dojo In Sendagaya.rb

猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubToru Tamaki
 
git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩Shin Yoshida
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみようTamotsu Furuya
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎Makoto Yamazaki
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラムTakashi Okamoto
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
バージョン管理
バージョン管理バージョン管理
バージョン管理Misa Kondo
 

Similar to Git-dojo In Sendagaya.rb (20)

Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHub
 
Git (運用編)
Git (運用編)Git (運用編)
Git (運用編)
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみよう
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラム
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
Git 入門
Git 入門Git 入門
Git 入門
 
Git
GitGit
Git
 
バージョン管理
バージョン管理バージョン管理
バージョン管理
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

Git-dojo In Sendagaya.rb

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