Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ゆるふわっGit入門kanazawa.rb meetup #102013/06/15初心者による超初心者Git入門1
2@cotton_desuKEISUKE OHATA
Gitを使えると3
モテるらしい4
AgendaGitって何ですか?Gitのインストール・設定Gitの基本操作5
Gitって何ですか?6
Gitって何ですか?7Git?GitHub?う∼ん、同じような物?
Gitって何ですか?GitGitHub別物です8
Gitとは分散型バージョン管理システム開発者ごとにリポジトリを持つことが可能GithubとはGitリポジトリのホスティングサービス9
10バージョン管理?
バージョン管理とはファイルの変更履歴を保持するシステム複数人でファイルを共有可能ファイルの特定のバージョンを取得可能11
12分散型?集中型?
集中型バージョン管理システムRemote Repository(ex SVN,CVS)変更変更変更Commit/CheckoutCommit/CheckoutCommit/Checkout13
集中型のデメリット中央サーバが止まるとバージョン変更できない中央サーバのハードディスクが破損するとプロジェクト全体の変更履歴を失う14
分散型バージョン管理システムRemote Repository(ex Github)変更addcommitLocal RepositoryPull/Push15ファイルPull/PushLocalRepository
 分散型のメリット外部リポジトリが止まってもバージョン変更できる外部リポジトリを失ってもローカル     リポジトリを持っているので変更履歴を   失わず、復旧も容易16
分散型バージョン管理システムRemote Repository(ex Github)変更addcommitLocal RepositoryPull/Push17ファイルPull/PushLocalRepository今回の対象
18はい、 Pull/Pushについて今回は話しません
19ただし
20git cloneはするよ
21何かしらのコードがあった方がイメージでき、Gitの練習しやすい
Gitのインストール・設定22
Gitインストール公式サイトhttp://git-scm.com/最近のmacだとデフォルトインストール済23
Gitインストール皆の大好きな黒い画面でバージョン確認2013/6/15時点では1.8.3.1が最新$ git --version24
設定git configコマンドでGitで利用する名前、メールアドレスを設定「~/.gitconfig」に出力$ git config --global user.name “Firstname Lastname”$ git config --glob...
Gitの基本操作26
Git基本操作27Git操作を知ろう
基本操作(コマンド)git init/git clonegit add/git commitgit rm/git mvgit diff28git log/git statusgit checkoutgit branchgit stash
リポジトリ作成git initコマンドで.gitディレクトリが作成されるGitの管理領域となる29$ git inithoge .githogegit init
リポジトリ作成2git cloneコマンドで外部リポジトリをコピー30$ git clone https://github.com/twitter/bootstrap.git外部リポジトリを指定git clonehoge bootstrap外部...
リポジトリ登録git addコマンドで管理対象に登録git commitコマンドで管理対象の変更をリポジトリに登録31git add git commit$ git add kanazawa.rb$ git commit -m “add firs...
コメント修正git commit --amendコマンドでエディタが開かれるので、コメント修正/保存する➡再コミット32
管理対象ファイル削除git rmコマンドで管理対象からも削除33$ git rm kanazawa.rbgit rm管理対象kanazawa.rbkanazawa.rb作業フォルダ管理対象作業フォルダ
管理対象ファイルリネームgit mvコマンドで管理対象も含めてファイルリネーム34$ git mv kanazawa.rb hokuriku.rbgit mv管理対象kanazawa.rbkanazawa.rb作業フォルダ管理対象作業フォルダh...
差分表示(diff)git diffコマンドで管理対象との差分表示  管理対象に限らず、コミットに対しても可能35$ git diff$ git diff HEAD$ git diff --cashedgit diffgit diff HEAD...
36差分(diff)を意識して、add、commitをしましょう!!
コミットログ、状態表示git logコマンドでコミットログを表示git statusコマンドで管理対象、リポジトリ状態を表示37$ git log$ git statusリポジトリgit log 歴史見る git status管理対象対象見る
あるコミット時点の状態にするgit checkoutコマンドでコミット以降の変更をなかったことにする38$ git checkout kanazawa.rb$ git checkout <HEADまたはコミットID> kanazawa.rbリポ...
現在の作業を一時保存git stashコマンドで現在の作業を一時保存git stash listコマンドで保存リストの確認git stash applyコマンドで保存状態に戻す保存状態を省略すると直近の状態に戻す39$ git stash [s...
現在の作業を一時保存2git stash dropコマンドで保存リストから保存状態を削除保存状態を省略すると直近の状態を削除git stash branchコマンドでstashからブランチを作成保存状態を省略すると直近の状態から作成40$ gi...
41kanazawa.rb作業フォルダgit stashスタッシュ(スタック)stashのイメージ
42kanazawa.rb作業フォルダgit stashstash@{0}スタッシュ(スタック)stashのイメージ
43stash@{0}スタッシュ(スタック)stashのイメージgit stash listリスト確認
44stash@{0}スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stash
45スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}
46スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}git stash apply
47スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}git stash applykanazawa.rb作業フォルダ保存した状態に戻す
48スタッシュ(スタック)stashのイメージstash@{1}stash@{0}git stash drop
49スタッシュ(スタック)stashのイメージgit stash dropstash@{0}stash@{0}
50スタッシュ(スタック)stashのイメージstash@{0}git stash branch
51スタッシュ(スタック)stashのイメージstash@{0}git stash branch保存した状態からブランチ作成新規ブランチ
branch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動52$ git branch hokuriku$ git checkout hokurikuhokurikuブランチmasterブラン...
branch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動53Acommit masterブランチ
masterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動54A Bcommit
masterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動55$ git branch hokuriku$ git checkout hokurikuA Bbranchch...
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動56A BBbranchcheckout
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動57A BBcommit
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動58A BBcommitC
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動59A BB C$ git checkout mastercheckout
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動60A BB Ccommit
hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動61A BB CcommitD
branch作成、移動git checkout -bコマンド1つでブランチ作成から移動まで可能62$ git branch hokuriku$ git checkout hokuriku$ git checkout -b hokurikuショー...
63リポジトリの軌跡はなんだか家系図に似ていますね
64commit、branch、をして立派な家系図を作って行きましょう
gitコマンドまとめ65
今後検討中ですが次回は merge、pull/pushの少なくともどちらかはやります66
67ご清聴ありがとうございました
Upcoming SlideShare
Loading in …5
×

ゆるふわっGit入門

1,877 views

Published on

Git入門です。ゆるくふわっとGit、GitHubってなんぞや?から
バージョン管理?、Gitインストール・設定、Git基本コマンド
って感じです。

Published in: Technology

ゆるふわっGit入門

  1. 1. ゆるふわっGit入門kanazawa.rb meetup #102013/06/15初心者による超初心者Git入門1
  2. 2. 2@cotton_desuKEISUKE OHATA
  3. 3. Gitを使えると3
  4. 4. モテるらしい4
  5. 5. AgendaGitって何ですか?Gitのインストール・設定Gitの基本操作5
  6. 6. Gitって何ですか?6
  7. 7. Gitって何ですか?7Git?GitHub?う∼ん、同じような物?
  8. 8. Gitって何ですか?GitGitHub別物です8
  9. 9. Gitとは分散型バージョン管理システム開発者ごとにリポジトリを持つことが可能GithubとはGitリポジトリのホスティングサービス9
  10. 10. 10バージョン管理?
  11. 11. バージョン管理とはファイルの変更履歴を保持するシステム複数人でファイルを共有可能ファイルの特定のバージョンを取得可能11
  12. 12. 12分散型?集中型?
  13. 13. 集中型バージョン管理システムRemote Repository(ex SVN,CVS)変更変更変更Commit/CheckoutCommit/CheckoutCommit/Checkout13
  14. 14. 集中型のデメリット中央サーバが止まるとバージョン変更できない中央サーバのハードディスクが破損するとプロジェクト全体の変更履歴を失う14
  15. 15. 分散型バージョン管理システムRemote Repository(ex Github)変更addcommitLocal RepositoryPull/Push15ファイルPull/PushLocalRepository
  16. 16.  分散型のメリット外部リポジトリが止まってもバージョン変更できる外部リポジトリを失ってもローカル     リポジトリを持っているので変更履歴を   失わず、復旧も容易16
  17. 17. 分散型バージョン管理システムRemote Repository(ex Github)変更addcommitLocal RepositoryPull/Push17ファイルPull/PushLocalRepository今回の対象
  18. 18. 18はい、 Pull/Pushについて今回は話しません
  19. 19. 19ただし
  20. 20. 20git cloneはするよ
  21. 21. 21何かしらのコードがあった方がイメージでき、Gitの練習しやすい
  22. 22. Gitのインストール・設定22
  23. 23. Gitインストール公式サイトhttp://git-scm.com/最近のmacだとデフォルトインストール済23
  24. 24. Gitインストール皆の大好きな黒い画面でバージョン確認2013/6/15時点では1.8.3.1が最新$ git --version24
  25. 25. 設定git configコマンドでGitで利用する名前、メールアドレスを設定「~/.gitconfig」に出力$ git config --global user.name “Firstname Lastname”$ git config --global user.email “hoge@example.com”25$ git config --global -i-i オプションでも設定の確認可能
  26. 26. Gitの基本操作26
  27. 27. Git基本操作27Git操作を知ろう
  28. 28. 基本操作(コマンド)git init/git clonegit add/git commitgit rm/git mvgit diff28git log/git statusgit checkoutgit branchgit stash
  29. 29. リポジトリ作成git initコマンドで.gitディレクトリが作成されるGitの管理領域となる29$ git inithoge .githogegit init
  30. 30. リポジトリ作成2git cloneコマンドで外部リポジトリをコピー30$ git clone https://github.com/twitter/bootstrap.git外部リポジトリを指定git clonehoge bootstrap外部リポジトリhoge即使える
  31. 31. リポジトリ登録git addコマンドで管理対象に登録git commitコマンドで管理対象の変更をリポジトリに登録31git add git commit$ git add kanazawa.rb$ git commit -m “add first commit”管理対象 リポジトリkanazawa.rbkanazawa.rbkanazawa.rb作業フォルダ
  32. 32. コメント修正git commit --amendコマンドでエディタが開かれるので、コメント修正/保存する➡再コミット32
  33. 33. 管理対象ファイル削除git rmコマンドで管理対象からも削除33$ git rm kanazawa.rbgit rm管理対象kanazawa.rbkanazawa.rb作業フォルダ管理対象作業フォルダ
  34. 34. 管理対象ファイルリネームgit mvコマンドで管理対象も含めてファイルリネーム34$ git mv kanazawa.rb hokuriku.rbgit mv管理対象kanazawa.rbkanazawa.rb作業フォルダ管理対象作業フォルダhokuriku.rbhokuriku.rb
  35. 35. 差分表示(diff)git diffコマンドで管理対象との差分表示  管理対象に限らず、コミットに対しても可能35$ git diff$ git diff HEAD$ git diff --cashedgit diffgit diff HEAD管理対象 リポジトリkanazawa.rbkanazawa.rbkanazawa.rb作業フォルダgit diff --cashed
  36. 36. 36差分(diff)を意識して、add、commitをしましょう!!
  37. 37. コミットログ、状態表示git logコマンドでコミットログを表示git statusコマンドで管理対象、リポジトリ状態を表示37$ git log$ git statusリポジトリgit log 歴史見る git status管理対象対象見る
  38. 38. あるコミット時点の状態にするgit checkoutコマンドでコミット以降の変更をなかったことにする38$ git checkout kanazawa.rb$ git checkout <HEADまたはコミットID> kanazawa.rbリポジトリkanazawa.rbkanazawa.rb 変更git checkoutkanazawa.rb
  39. 39. 現在の作業を一時保存git stashコマンドで現在の作業を一時保存git stash listコマンドで保存リストの確認git stash applyコマンドで保存状態に戻す保存状態を省略すると直近の状態に戻す39$ git stash [save “コメント”]$ git stash list$ git stash apply [stash@{Number}]
  40. 40. 現在の作業を一時保存2git stash dropコマンドで保存リストから保存状態を削除保存状態を省略すると直近の状態を削除git stash branchコマンドでstashからブランチを作成保存状態を省略すると直近の状態から作成40$ git stash drop [stash@{Number}]$ git stash branch ブランチ名 [stash@{Number}]
  41. 41. 41kanazawa.rb作業フォルダgit stashスタッシュ(スタック)stashのイメージ
  42. 42. 42kanazawa.rb作業フォルダgit stashstash@{0}スタッシュ(スタック)stashのイメージ
  43. 43. 43stash@{0}スタッシュ(スタック)stashのイメージgit stash listリスト確認
  44. 44. 44stash@{0}スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stash
  45. 45. 45スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}
  46. 46. 46スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}git stash apply
  47. 47. 47スタッシュ(スタック)stashのイメージkanazawa.rb作業フォルダgit stashstash@{1}stash@{0}git stash applykanazawa.rb作業フォルダ保存した状態に戻す
  48. 48. 48スタッシュ(スタック)stashのイメージstash@{1}stash@{0}git stash drop
  49. 49. 49スタッシュ(スタック)stashのイメージgit stash dropstash@{0}stash@{0}
  50. 50. 50スタッシュ(スタック)stashのイメージstash@{0}git stash branch
  51. 51. 51スタッシュ(スタック)stashのイメージstash@{0}git stash branch保存した状態からブランチ作成新規ブランチ
  52. 52. branch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動52$ git branch hokuriku$ git checkout hokurikuhokurikuブランチmasterブランチA BB CD
  53. 53. branch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動53Acommit masterブランチ
  54. 54. masterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動54A Bcommit
  55. 55. masterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動55$ git branch hokuriku$ git checkout hokurikuA Bbranchcheckout
  56. 56. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動56A BBbranchcheckout
  57. 57. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動57A BBcommit
  58. 58. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動58A BBcommitC
  59. 59. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動59A BB C$ git checkout mastercheckout
  60. 60. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動60A BB Ccommit
  61. 61. hokurikuブランチmasterブランチbranch作成、移動git branchコマンドでブランチ作成git checkoutコマンドでブランチ移動61A BB CcommitD
  62. 62. branch作成、移動git checkout -bコマンド1つでブランチ作成から移動まで可能62$ git branch hokuriku$ git checkout hokuriku$ git checkout -b hokurikuショートカット便利!!
  63. 63. 63リポジトリの軌跡はなんだか家系図に似ていますね
  64. 64. 64commit、branch、をして立派な家系図を作って行きましょう
  65. 65. gitコマンドまとめ65
  66. 66. 今後検討中ですが次回は merge、pull/pushの少なくともどちらかはやります66
  67. 67. 67ご清聴ありがとうございました

×