Git Introduction

Git Introduction

3b36493b4296ebeb219bcd3ffab3aa2b?s=128

Kenju Wagatsuma

March 26, 2014
Tweet

Transcript

  1. バージョン管理 システム

  2. 開発者ツール

  3. あの爽やかに晴れた 夏の日。 「いい感じ」まで書けた プログラム。僕は 調子に乗って新機能を 実装しようとした。

  4. でも、上手く行かなかった。 よし、前のコードに 戻そう。 ・・・あれ? どこ変更したんだっけ? どこ書き加えたんだっけ?

  5. モドラナイ ...

  6. モドラナイ ... ドウシヨウ ...

  7. そんな時は!

  8. None
  9. sample.app 2014.03.20 12:12 “アプリ作成” sample.app 2014.03.20 12:21 “reload メソッドを作成した” sample.app

    2014.03.20 12:45 “現在最高の機能を実装中”
  10. sample.app 2014.03.20 12:12 “アプリ作成” sample.app 2014.03.20 12:21 “reload メソッドを作成した” sample.app

    2014.03.20 13:15 “実装に失敗した”
  11. sample.app 2014.03.20 12:12 “アプリ作成” sample.app 2014.03.20 12:21 “reload メソッドを作成した” sample.app

    2014.03.20 13:15 “実装に失敗した” ここに 戻りたい !
  12. Git で実現できる! 読書のしおりや ゲームのセーブポイントの ようなものです!

  13. バージョン管理システム Git Github 「バージョン管理 システム」の一種 類である「Git」 の内の一つ GNU arch Bazaar

    CVS Subversion SCCS BitKeeper
  14. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  15. git は shell でコマンドとして 使います shell で以下のコマンドを打って git がインストールされている事を 確認しよう

    ! $ git version-- git version 1.8.3.4 (Apple Git-47)
  16. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  17. git 使用者の名前とメールアドレスを 登録します。 情報は PC 内に保存されますが、使い方によっては 公開されることもあります。 仮のアドレスでも大丈夫 $ git

    config --global user.name KJ $ git config --global user.email info@kj-studio-japan.com
  18. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  19. git はフォルダ単位で履歴 (ver.) を管理します バージョン管理されている場所を「レポジトリ」と 呼びます。 コマンド cd で管理したいフォルダへ移動します $

    cd sample.app $ git init Initialized epmty Git repoaitory in sample.app/.git/
  20. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  21. sample.app 2014.03.20 12:12 “アプリ作成” sample.app 2014.03.20 12:21 “reload メソッドを作成した” sample.app

    2014.03.20 12:45 “現在最高の機能を実装中” 履歴のポイントを作る。 =「コミット」 =「コミット」 =「コミット」 =「コミット」 例えば、 「sample.app」で Rails のアプリを作成する とします。 新しい機能を付け加える毎に “セーブポイント”を加えたい のですが、そのポイントを 「コミット」と呼びます
  22. sample.app 2014.03.20 12:12 “アプリ作成” sample.app 2014.03.20 12:21 “reload メソッドを作成した” sample.app

    2014.03.20 12:45 “現在最高の機能を実装中” =「コミット」 左の図の「•」の部分。 変更した部分毎に 「セーブポイント」を作成。 いつでもそのセーブポイントに 戻れるようにする。
  23. コミットの際に -m オプションで自由に コメントを追加する事が出来ます $ git add sample.app $ git

    commit -m “コメント機能を追加” [master 5419039] Initial Commit 52 files changed, 702 insertions(+) create mode 100644 sample.app/.gitignore create mode 100644 sample.app/README.rdoc create mode 100644 sample.app/Rakefile create mode 100644 sample.app/app/assets/images/.keep create mode 100644 sample.app/app/assets/javascripts/application.js create mode 100644 sample.app/app/assets/stylesheets/application.css ...
  24. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  25. 履歴を見てみよう。先ほど作ったコミットが 見られるはずですね。 上から順に   「コミットハッシュ ( コミットを示す名札のようなモノ )」   「コミットした人」

      「コミットした日時」 コミットした内容 が書いてあります。 $ git log commit 5419039fbaaac5834b52e5993346a231d716557f Author: KENJU <ken901waga@gmail.com> Date: Tue Mar 25 21:41:38 2014 +0900 Initial Commit
  26. より履歴を詳しく見るにはこのコマンドです。 $ git config --global color.ui true コミットで変わったところをカラーで表示 ( ずっと有効

    ) $ git log -p commit 5419039fbaaac5834b52e5993346a231d716557f Author: KENJU <ken901waga@gmail.com> Date: Tue Mar 25 21:41:38 2014 +0900 Initial Commit diff --git a/sample.app/.gitignore b/sample.app/.gitignore new file mode 100644 index 0000000..6a502e9 --- /dev/null +++ b/sample.app/.gitignore @@ -0,0 +1,16 @@ ...
  27. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  28. ファイルに変更がない時 $ git status On branch master nothing to commit

    (working directory clean)
  29. ファイルに変更があった時 $ git status # On branch master # Your

    branch is ahead of 'origin/master' by 1 commit. # (use "git push" to publish your local commits) # # Changes not staged for commit: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: ../.DS_Store # modified: ../books_picture_app/Gemfile # deleted: ../first_app/.gitignore # deleted: ../first_app/Gemfile ...
  30. Git の使い方 ・git インストール確認 ・git 設定確認 ・git 初期化 ・git コミットの仕方

    ・git ログ ( 履歴 ) の見方 ・git ステータスの見方 ・git 歴史の巻き戻し方
  31. さて。 git の使い方は分かった。

  32. でも、 実際コミットしたポイントに 戻りたい時、 過去に巻き戻したい時は どうするの?

  33. 過去のコミットに巻き戻すには $git checkout [ コミットハッシュ ] 「コミットハッシュ」は $git log で調べよう

    ! $ git checkout edbc9a Note: checking out ‘edbc9a’ You are in ‘detached HEAD’ state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at edbc9a... Add new awesome function
  34. 巻き戻した歴史を巻き戻したい時 ($git checkout をやり直す ) $ git checkout master Previous

    HEAD position was edbc9a... Add new awesome function Switched to branch ‘master’
  35. git 練習場 http://try.github.com