Advertisement
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Git 勉強会

  1. Git 勉強会 ~GitHubが使えるようになり隊~ @kinmemodoki
  2. 2 キンメモドキ @kinmemodoki そろそろFPSやりたい Who are you?
  3. 3 参考資料 Git講習 masawada氏 http://sssslide.com/speakerdeck.com/masawada/gitjiang-xi-2014-dot-04-dot-15 Git チュートリアル https://www.atlassian.com/ja/git
  4. 本スライドで扱うコマンド一覧 ・init ・add ・commit ・status ・log ・reset ・branch ・checkout ・merge ・clone ・push ・pull 4 はじめに
  5. What is git? “Git” ってなんだろう Gitは、プログラムのソースコードなどの 変更履歴を記録・追跡するための 分散型バージョン管理システムである。 5Wikipedia[git]:http://ja.wikipedia.org/wiki/Git Wikipediaより
  6. What is git? プログラムの基礎っぽいところができたとき 6 次はチャット機能を 追加しようかな でもヘタに変えたら 動かなくなるかも…
  7. What is git? プログラムの基礎っぽいところができたとき 7 新しいディレクトリに コピーして編集しよう!!
  8. What is git? 8 どれが最新…? 一個前のはどれ…?
  9. What is git? 9 ソースを特定の時期の 状態にもどしたい…
  10. What is git? 10 チーム開発で最新ファイルの 共有をしたい… ソースコード編集して新機能追加しました お前が編集したのは前バージョンのものだ!
  11. What is git? 11 そんな問題を解決!
  12. What is git? 12 • コードの状態を保存できる • どの順番で更新していったかわかる • チームでの開発だともっと便利
  13. 13 0. gitの準備
  14. Windows 1. http://git-scm.com/downloads からインストール 14 0. gitの準備 2. Git Bash を起動
  15. Mac 1. http://git-scm.com/downloads からインストール 15 0. gitの準備
  16. Mac 2. pkgファイルをインストール 3. shファイル(シェルスクリプト)使ってパス設定 16 0. gitの準備
  17. 確認 「git –version」を入力し versionが表示されたら完了 17 0. gitの準備
  18. 18 1. プログラミングをする前
  19. 19 $ git init <directory> 1.プログラミングをする前 新しい 作業ディレクトリ .gitフォルダを含む新規フォルダが作成される + .git
  20. 20 $ git init 1.プログラミングをする前 カレントディレクトリ .git カレントフォルダに.gitフォルダが作成される +
  21. データの編集履歴の保存場所 昔の状態に戻りたい時に参照 21 1.プログラミングをする前 .git リポジトリ
  22. データの編集履歴の保存場所 昔の状態に戻りたい時に参照 22 1.プログラミングをする前 .git リポジトリ データベース的な感じ
  23. 23 2. コード編集後
  24. 24 2. コード編集後 作業 ディレクトリ 編集履歴をリポジトリに保存する流れ ワークツリーでファイルを追加/編集/削除
  25. 25 2. コード編集後 作業 ディレクトリ ステージング エリア 編集履歴をリポジトリに保存する流れ リポジトリに登録したいファイルを追加
  26. 26 2. コード編集後 作業 ディレクトリ リポジトリ ステージング エリア 編集履歴をリポジトリに保存する流れ ステージングエリアのファイルをリポジトリに登録
  27. 27 2. コード編集後 作業 ディレクトリ リポジトリ ステージング エリア 編集履歴をリポジトリに保存する流れ add commit
  28. 28 [filename] を ステージングエリアに登録 $ git add [filename] 2. コード編集後 作業 ディレクトリ ステージング エリア add
  29. 29 作業ディレクトリ追加/変更されたファイルをadd $ git add . 2. コード編集後 作業 ディレクトリ ステージング エリア add
  30. 30 作業ディレクトリ変更/削除されたファイルをadd $ git add -u 2. コード編集後 作業 ディレクトリ ステージング エリア add
  31. 31 作業ディレクトリ追加/変更/削除されたファイルをadd $ git add -A 2. コード編集後 作業 ディレクトリ ステージング エリア add
  32. 32 $ git commit リポジトリ ステージング エリア commit 登録されたファイルをリポジトリにすべて保存 2. コード編集後
  33. commit後のコメント入力(vim) 33 2. コード編集後 何の更新をしたかをコメント
  34. 34 $ git commit –m “comment” リポジトリ ステージング エリア commit コメントをしつつコミット 2. コード編集後
  35. 35 $ git status ファイルのadd状態を表示 2. コード編集後 作業 ディレクトリ ステージング エリア
  36. 36 リポジトリのログを表示 $ git log 2. コード編集後 リポジトリlog
  37. 37 2. コード編集後 リポジトリの “詳しい” ログを表示 コメント 日付 更新者
  38. 38 リポジトリの “短い” ログを表示 $ git log -oneline 2. コード編集後 リポジトリlog
  39. 39 2. コード編集後 リポジトリの “簡易的” ログを表示 コメント
  40. Tips 40
  41. 41 What is staging? ステージングエリアっている?
  42. 4242 ステージングエリアっている? 編集 ファイル リポジトリ commit What is staging?
  43. 4343 チャット機能&履歴閲覧機能を 実装したぞ!! chat.js history.js チャット機能を付けるために変更したファイル What is staging?
  44. 4444 chat.js リポジトリ history.js まとめて commit 「chat&history機能つけました」 What is staging?
  45. 4545 リポジトリlog 3/14「chatとhistory機能つけた」 3/12「基本機能つけた」 New Old What is staging?
  46. 4646 その後… history機能でバグ発見 「history機能を実装し直しだ…」 リセットしよう! What is staging?
  47. 4747 リポジトリlog 3/14「chatとhistory機能つけた」 3/12「基本機能つけた」 イマココ What is staging?
  48. 4848 リポジトリlog 3/14「chatとhistory機能つけた」 3/12「基本機能つけた」一個前 「chat機能も実装し直しじゃねーか…」 What is staging?
  49. 4949http://protectasapporo.blog.fc2.com/blog-entry-205.html What is staging?
  50. 5050 なんてことになる前に! http://protectasapporo.blog.fc2.com/blog-entry-205.html What is staging?
  51. 5151 chat.js リポジトリ history.js commit 「chat機能つけました」 リポジトリ commit 「history機能つけました」 commitはしっかり分けましょう ※分け方はいろいろ commitしたらhistoryを編集 What is staging?
  52. 5252 チャット機能をcommitする前に history.js作っちゃったぞ! history.jsは消さなきゃダメ…? What is staging?
  53. 5353 ステージング エリア What is staging?
  54. 5454 commitchat.js history.js 「chat機能つけました」 add addしない What is staging?
  55. 5555 commitchat.js history.js 「history機能つけました」 add What is staging?
  56. 5656 What is staging? ステージング エリア 良いcommitをするための 整理場所
  57. 5757 Tips 作業 ディレクトリ リポジトリ ステージング エリア 編集履歴をリポジトリに保存する流れ add commit
  58. git できるようになったこと ・リポジトリに登録できるようになった 58 おさらい でてきたコマンド ・git init 初期準備 ・git add 登録するファイルを選ぶ ・git commit リポジトリへ登録 ・git status add状態を表示 ・git log commitの履歴を表示
  59. 59 3. 巻き戻したいとき
  60. 60 3. 巻き戻したいとき 間違えてaddした!!
  61. 61 ステージングファイルの中身を消去 $ git reset 3. 巻き戻したいとき ステージング ファイル
  62. 62 3. 巻き戻したいとき 間違えてcommitした!!
  63. 63 直前のコミットをキャンセルしてコミット $ git commit --amend 3. 巻き戻したいとき 新規コミット前コミット内容
  64. 64 前のコミットをキャンセルしてコミット $ git commit --amend 3. 巻き戻したいとき 新規コミット前コミット内容 上書き保存
  65. 65 指定したコミット以降の コミット履歴を消去 $ git reset --soft [commit] 3. 巻き戻したいとき 指定コミット 最新コミット ・・・
  66. 66 3. 巻き戻したいとき Tips:コミットの指定方法 3/14「latest commit」 ------> HEAD 3/12「3rd commit」 ------> HEAD^ 3/10「2nd commit」 ------> HEAD^^ 3/8 「1st commit」 ------> HEAD^^^ New Old
  67. 67 $ git reset --soft HEAD^^ 3. 巻き戻したいとき 1st commit HEAD^^ 2nd commit HEAD^ latest commit HEAD
  68. 68 コミット履歴を消去しつつ コミット内容を作業ディレクトリに反映 $ git reset --hard [commit] 3. 巻き戻したいとき 指定コミット 作業 ディレクトリ 最新コミット ・・・
  69. 69 $ git reset --hard HEAD^^ 3. 巻き戻したいとき 1st commit HEAD^^ 2nd commit HEAD^ latest commit HEAD 作業 ディレクトリ
  70. 70 4. 新機能を追加したいとき
  71. 71 4. 新機能を追加したいとき ブランチ brunch枝
  72. 72 4. 新機能を追加したいとき ブランチ(branch) 複数の機能を並行して作成するときに使用する チャット機能 画像アップ機能 主機能 commit commit
  73. 73 $ git branch [name] name master commit デフォルトは「master」 ブランチを新規作成 4. 新機能を追加したいとき
  74. 74 $ git checkout [name] name master commit 編集中のブランチを変更 4. 新機能を追加したいとき 編集中
  75. 75 $ git merge [name] name master commit ブランチを統合 4. 新機能を追加したいとき 編集中 commit
  76. 76 4. 新機能を追加したいとき ブランチの流れ 作成 移行 編集 保存 移行 統合 master commit 編集中
  77. 77 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ git brunch chat 編集中
  78. 78 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ git checkout chat 編集中
  79. 79 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ vim sample.java とか 編集中
  80. 80 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ git commit 編集中 commit
  81. 81 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ git checkout master 編集中 commit
  82. 82 4. 新機能を追加したいとき ブランチの流れ chat master commit 作成 移行 編集 保存 移行 統合 $ git merge chat 編集中 commit
  83. 83 4. 新機能を追加したいとき コンフリクト (マージの衝突)
  84. 84 4. 新機能を追加したいとき コンフリクト (マージの衝突)
  85. 85 4. 新機能を追加したいとき コンフリクト 同じファイルに違う編集をした状態でマージしたとき TAKENOKO is GOD KINOKO is GOD 主機能 commit commit commit
  86. コンフリクトのエラー対処法 86 <<<<<<<HEAD echo("TAKENOKO is GOD"); ======= echo("KINOKO is GOD"); >>>>>>> kinoko コンフリクト状態のファイルを 編集してコミット 4. 新機能を追加したいとき
  87. コンフリクトのエラー対処法 87 <<<<<<<HEAD echo("TAKENOKO is GOD"); ======= echo("KINOKO is GOD"); >>>>>>> kinoko コンフリクト状態のファイルを 編集してコミット 消去 4. 新機能を追加したいとき
  88. コンフリクトのエラー対処法 88 echo("TAKENOKO is GOD"); コンフリクト状態のファイルを 編集してコミット TAKENOKO is GOD 4. 新機能を追加したいとき
  89. 5. リモートでリポジトリを使う 89
  90. 90 5. リモートでリポジトリを使う ひとりでバージョン管理するには
  91. 91 5. リモートでリポジトリを使う みんなでバージョン管理するには 要:みんながアクセスできるリポジトリ R
  92. 92 5. リモートでリポジトリを使う R リモートリポジトリ それぞれの計算機にある ローカルなリポジトリとは別物の 共有リポジトリ
  93. 93 5. リモートでリポジトリを使う R リモートリポジトリ
  94. 94 5. リモートでリポジトリを使う 作業 ディレクトリ リポジトリ ステージング エリア add commit 編集履歴をリポジトリに保存する流れ
  95. 95 5. リモートでリポジトリを使う 作業 ディレクトリ リポジトリ ステージング エリア add commit R pull push リモート リポジトリ
  96. 96 5. リモートでリポジトリを使う 作業 ディレクトリ リポジトリ ステージング エリア add commit R pull push リモート リポジトリ
  97. リモートリポジトリから ローカルリポジトリを新規作成してコピー + リモートリポジトリの登録 97 5. リモートでリポジトリを使う $ git clone [URL] R
  98. URL:GitHubのコピーしたいリポジトリの 右下を参照(HTTPSの場合) 98 5. リモートでリポジトリを使う $ git clone [URL]
  99. ローカルリポジトリ変更履歴を リモートリポジトリへアップロード 99 5. リモートでリポジトリを使う $ git push R
  100. リモートリポジトリ変更履歴を ローカルリポジトリへダウンロード 100 5. リモートでリポジトリを使う $ git pull R
  101. 101 素材元 HUMAN PICTOGRAM 2.0 http://pictogram2.com/ git http://git-scm.com/downloads/logos/
  102. 本スライドで扱ったコマンド一覧 ・init ・add ・commit ・status ・log ・reset ・branch ・checkout ・merge ・clone ・push ・pull 102 おわりに
  103. 103
Advertisement