Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
SVN 経験者のための GIT 入門         Aiming 大阪スタジオ                 エンジニア                  安井彰一
アウトライン    SVN と GIT の比較    これだけ覚えよう      –   トピックブランチ      –   各コマンドの説明    実際の使用例    その他便利なコマンド紹介
SVN と GIT の比較    SVN                                   GIT                                pull          update          ...
これだけ覚えよう    ブランチという概念    トピックブランチ    git pull –rebase       –    git fetch    git checkout    git add -u    git comm...
ブランチという概念    svn の trunk/release と同じ    特定のコミットの別名      –   ただし、コミットする度に指す先が変わる    リモートブランチ      –   他の人と共同作業しているブランチ ...
トピックブランチ    特定の作業用のブランチ     –   新機能実装 / バグの修正 / コメントの修正 / リファ         クタ    何をするにしてもこのブランチを作成する。    これがあることで、作業の切り替えが便利...
git pull (--rebase)    rebase オプションにより svn update と同等      –   git pull --rebase    他人の変更を取得し、自分のブランチとマージ    fetch と me...
git fetch    svn update と同等      –   ただし対象は origin/master などリモートブラン          チ    他人の変更 ( 最新のリモートブランチ ) を    取得する
git checkout    svn に該当するコマンドはない     –   現在のローカルのファイルに対し、         該当コミットのファイルを取得するなど         一部同じような動作もある     –   svn che...
git add (-u)    svn に該当するコマンドはない     –   svn では常時 git add -u されている状態     –   svn add と混同しないようにしよう    次のコミットに使用するファイルを選択す...
git commit    svn commit に似ている      –   git では add されないとコミットされない      –   git commit -a で svn commit と見た目は同じ挙動          で...
git rebase ( -i )    svn に該当するコマンドはない      –   svn update と感覚は似ているかも    特定のブランチ ( コミット ) に対して    自分のブランチのコミットをくっつける     ...
git rebase ( -i )    pick    reword    edit    squash    fixup    exec
git rebase ( -i )    pick       –     コミットを使用する    reword       –     コミットメッセージを改変する    fixup       –     コミットを1つ前のコミット...
git push    svn commit      –   ここで初めて他人に影響が出る    リモートブランチに変更を反映
実際の使用例    ベクトルクラスに operator+ を作ろう    operator+ を operator+= で実装 → コミット    正しくできたか printf で調べてみる → コミット    関係ないけど Vecto...
その他便利なコマンド紹介    git status -sb ( svn status )       –    現在の変更を見る    git log ( svn log )       –    ログを見る    git show ブ...
その他便利なコマンド紹介    git reset       –    HEAD を移動する       –    コミットを分割する時などに       –    git reset –hard は            危険なので注意し...
その他便利なコマンド紹介    git rebase –onto ブランチ A ブランチ B       –     A に rebase するけど、 B の変更は含まない    git mergetool       –     コンフリ...
質疑応答
ご清聴ありがとうございました。
Prochain SlideShare
Chargement dans…5
×

1

Partager

Télécharger pour lire hors ligne

SVN経験者のためのGIT入門

Télécharger pour lire hors ligne

SVN経験者のためのGIT入門

  1. 1. SVN 経験者のための GIT 入門 Aiming 大阪スタジオ エンジニア 安井彰一
  2. 2. アウトライン SVN と GIT の比較 これだけ覚えよう – トピックブランチ – 各コマンドの説明 実際の使用例 その他便利なコマンド紹介
  3. 3. SVN と GIT の比較 SVN  GIT pull update branch こ 作業 作業 こ が 重 add/commit (update) squash commit push 要
  4. 4. これだけ覚えよう ブランチという概念 トピックブランチ git pull –rebase – git fetch git checkout git add -u git commit git rebase -i git push
  5. 5. ブランチという概念 svn の trunk/release と同じ 特定のコミットの別名 – ただし、コミットする度に指す先が変わる リモートブランチ – 他の人と共同作業しているブランチ ローカルブランチ – 自分しか使わないブランチ • 好き勝手できる!!!
  6. 6. トピックブランチ 特定の作業用のブランチ – 新機能実装 / バグの修正 / コメントの修正 / リファ クタ 何をするにしてもこのブランチを作成する。 これがあることで、作業の切り替えが便利に。 – 今の作業を置いといて、急ぎのバグ修正をす る。 – typo 見つけたので見つからないうちに修正 push するまで他人に全く影響が出ない!
  7. 7. git pull (--rebase) rebase オプションにより svn update と同等 – git pull --rebase 他人の変更を取得し、自分のブランチとマージ fetch と merge(rebase) の組み合わせ – git fetch;git merge origin/master – (git fetch; git rebase origin/master) ローカルブランチで使用しないこと! – 基本は master ブランチで使用 – (origin/master – master - ローカルブランチ )
  8. 8. git fetch svn update と同等 – ただし対象は origin/master などリモートブラン チ 他人の変更 ( 最新のリモートブランチ ) を 取得する
  9. 9. git checkout svn に該当するコマンドはない – 現在のローカルのファイルに対し、 該当コミットのファイルを取得するなど 一部同じような動作もある – svn checkout と混同しないようにしよう 特定のブランチ ( コミット ) に移動する – git checkout -b でブランチ作成・移動が一発で可 能
  10. 10. git add (-u) svn に該当するコマンドはない – svn では常時 git add -u されている状態 – svn add と混同しないようにしよう 次のコミットに使用するファイルを選択する – git add -p で行単位での指定も可能 どうせ後から改変できるから – git add -u .
  11. 11. git commit svn commit に似ている – git では add されないとコミットされない – git commit -a で svn commit と見た目は同じ挙動 でも全然違うので気をつけよう 新しいコミットを作る 現在の修正が不要になったとしてもコミットすべし! – しまった、あの変更だけは取っておきたかった ということがないように・・・。 何か変更したらとりあえず git commit ! – git commit -a -m”`date`” とかを alias してもいいか も git commit –amend で1つ前のコミットと統合できる
  12. 12. git rebase ( -i ) svn に該当するコマンドはない – svn update と感覚は似ているかも 特定のブランチ ( コミット ) に対して 自分のブランチのコミットをくっつける – git cherry-pick を繰り返す – あくまで主体は「特定のブランチ」の方 git checkout –ours ファイル名 で取ってこれるのは 「特定のブランチ」のファイルであることに注意 git reset なんかもあるけどこっちの方がわかりやすい
  13. 13. git rebase ( -i ) pick reword edit squash fixup exec
  14. 14. git rebase ( -i ) pick – コミットを使用する reword – コミットメッセージを改変する fixup – コミットを1つ前のコミットにまとめる edit – コミットの内容を修正する 消したいとき – その行を消す
  15. 15. git push svn commit – ここで初めて他人に影響が出る リモートブランチに変更を反映
  16. 16. 実際の使用例 ベクトルクラスに operator+ を作ろう operator+ を operator+= で実装 → コミット 正しくできたか printf で調べてみる → コミット 関係ないけど Vector のスペルが違う! – 別ブランチで修正してくる operator+= の実装にミスを発見・修正 → コミット operator+ が正しく動くことを確認 rebase して、 operator+= の修正と operator+ の実装を push して終了 デモ
  17. 17. その他便利なコマンド紹介 git status -sb ( svn status ) – 現在の変更を見る git log ( svn log ) – ログを見る git show ブランチ ( コミット ) – 該当のコミット ( ブランチ名は最新コ ミット ) の内容を見る
  18. 18. その他便利なコマンド紹介 git reset – HEAD を移動する – コミットを分割する時などに – git reset –hard は 危険なので注意して使用すること git reflog – しまった!と思ったらこれで復元 – ただし、コミットされていない変更は 復元できません!!!
  19. 19. その他便利なコマンド紹介 git rebase –onto ブランチ A ブランチ B – A に rebase するけど、 B の変更は含まない git mergetool – コンフリクトした時用 git gc – パフォーマンスの改善に git merge – rebase よりこちらを推奨したいが、 不要なコミットも混ざる
  20. 20. 質疑応答
  21. 21. ご清聴ありがとうございました。
  • Masraow

    May. 13, 2013

Vues

Nombre de vues

2 293

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

3

Actions

Téléchargements

9

Partages

0

Commentaires

0

Mentions J'aime

1

×