Gitでバージョン管理

2,084 views
1,997 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

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

No notes for slide

Gitでバージョン管理

  1. 1. Gitでバージョン管理第2回・NNCTアイディアソン 奥本 隼
  2. 2. Agenda1. はじめに2. Gitの便利なところ・注意したいこと3. GithubでSocial Coding※バージョン管理システム全般で便利なところも含みます
  3. 3. はじめに
  4. 4. バージョン管理してる?
  5. 5. バージョン管理しましょう!!
  6. 6. バージョン管理システム を使おう
  7. 7. 変更履歴を記録
  8. 8. 複数人での共有
  9. 9. Gitって知ってる?
  10. 10. Git(ギット)は プログラムなどのソースコード管理を行う 分散型バージョン 管理システム http://ja.wikipedia.org/wiki/Git
  11. 11. LinusがLinuxのソースコード管理 のために作った
  12. 12. Gitの作業サイクル(基本) 変更 commit add
  13. 13. 変更を共有する commit fetch, push pull (merge)
  14. 14. 分散型?集中型?
  15. 15. 分散型変更 変更 共有 リポジトリ ユーザの ユーザのリポジトリ リポジトリ
  16. 16. 集中型変更 変更 リポジトリ 変更 変更
  17. 17. ブランチ release H I B C D Emaster A topic F G
  18. 18. Gitの便利なところ気を付けたいこと
  19. 19. 派生を作る・並行作業をする• ブランチを使う• 作業時には必ずブランチを切ろう(あとから マージできる)• git branch <new branch name> – ブランチを作成する(だけ) – 現在のブランチから派生する• git checkout <branch name> – ブランチに移動する• git checkout ‒b <new branch name> – ブランチ作成&作成ブランチに移動
  20. 20. ブランチを統合(マージ)する• git merge <branch name> – 現在のブランチに指定されたブランチをマー ジする – 自動マージ – コンフリクトした場合は手動でその箇所のみ 修正してコミット
  21. 21. 一時的に変更を保存する• git stash save – スタックに変更を保存する – 現在の変更がコミットには至らないときに, checkoutなどをしたい場合に使う – git stash pop で呼び出し
  22. 22. 以前の状態に戻す方法• git commit --amend – 直前のコミットログを修正したい – 直前のコミットにファイルを含め忘れた • git addの後に• git reset --hard HEAD~n – n個前の状態に完全に戻す – ログに残らない• git checkout -- . – or “git reset –-hard HEAD – コミット後にした変更を無しにしたい – 直前のコミットの状態に戻す http://labs.timedia.co.jp/2011/08/git-undo-999.html
  23. 23. 特定のコミットを取り消す• git revert <commit name> – 指定したコミットの変更を取り消す(コミッ トが作成される) – ログが残る• git rebase ‒i HEAD n – 現在を含めn個分前からの歴史を書き換える
  24. 24. rebaseには気をつけよう• rebaseは便利だからこそ諸刃の剣 – rebaseでは歴史を書き換える事ができる • rebaseはあるコミットまで積み木を積み下ろして から,変更.そして,積み下ろした積み木を再び 積むイメージ. – リポジトリを破壊することも・・・• 良く知って,練習してから使ったほうが いい• rebaseしたものはpushするな
  25. 25. rebaseの動作 A B C D E F git rebase –i HEAD~4 D’ E’ F’ git rebase –-continue
  26. 26. とある記録
  27. 27. リポジトリの共有方法• Github – 簡単!便利! – 無料で使うにはオープンソースにしないといけない• SSHリポジトリサーバを建てる – サーバが必要 – メンバーが増えるたび公開鍵の追加が必要 – リポジトリの追加の度にサーバにログインが必要 – プライベートリポジトリ,容量などが気にならない – gitosisなどを使うと便利
  28. 28. commit -> push ->commit -> push -> commit -> push
  29. 29. commit -> commit ->commit -> commit -> commit -> push
  30. 30. pushは必要になるまでしない!• 1度pushするとresetやcheckoutが使 えない! – 正確にはpush時にrejectされる – ログに残らない歴史の書き換えができなくな る• 公開リポジトリにrebaseしたものを pushするのは禁物 – 何も知らないメンバーが混乱する
  31. 31. ソースコードを世界中の人と共有!
  32. 32. ソースコードによるコミュニケーション
  33. 33. SOCIAL CODING
  34. 34. 実際にGithubを 見てみよう
  35. 35. Free Micro Plan ($7/Month) Private Repository 5Private Collaboraters 1
  36. 36. https://github.com/edu
  37. 37. @*.ac.jp のメールアドレス 理由を一言書かないとダメ
  38. 38. まとめ• 今日紹介できたのはまだまだ基本です• Gitの資料 – Pro Git http://progit.org/book/ja/

×