×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
書いたコードを管理する(Git) ひでシス=めぐみ・西岡 1
Slide 2
Slide 2 text
第3課の内容 • ファイルのバージョン管理ソフトについて学び ます – Gitでファイルを管理 – GitHubにアップロードして世界中に公開する 2
Slide 3
Slide 3 text
バージョン管理ソフトとは • ファイルを管理するときに • プレゼン_20121029.pptx • プレゼン_20121031.pptx • プレゼン_20121031(修正済み).pptx • プレゼン_20121031(最終稿).pptx • プレゼン_20121031(最終稿)(弄るな!).pptx – とかなっていませんか。 • 複数人でファイルを同時編集するにはどうし ますか。 Gitで解決 3
Slide 4
Slide 4 text
Gitとは • 分散型バージョン管理システム リポジトリ リポジトリ リポジトリ 分散 4
Slide 5
Slide 5 text
リポジトリとコミット • リポジトリ – 複数のファイルやディレクトリの状 態を管理するもの – コミットが過去から現在まで枝状 に履歴として保存されている • コミット – ある一時点での変更内容 コミット リポジトリ 5
Slide 6
Slide 6 text
ワークツリーとインデックス • ワークツリー – 見えているファイル・ディレクトリ構造 – ここでファイルを編集する • インデックス – コミットするファイルのリスト ワークツリー インデックス コミット 登録 コミット 取りやめ 6
Slide 7
Slide 7 text
Gitを使ってみよう! • やること – 前回の課題2ファイルをGitで管理します – 最終的にGitHubを使って世界中に公開します 7
Slide 8
Slide 8 text
Gitのユーザー設定 • `git config --global user.name "自分の名前"` • `git config --global user.email メールアドレス` – 自分の行うコミットに焼き付けられます – GitHubに公開すると、公開されますよ! 8
Slide 9
Slide 9 text
Gitリポジトリの作成 • /home/ユーザー名/nabeatsu ディレクトリを作 成 • 中に、前回の課題の回答2ファイルをコピー • nabeatsuに移動し、`git init .` – ディレクトリがGitリポジトリになります • `git status`で状態確認 9
Slide 10
Slide 10 text
インデックスへの登録 • `git add 課題ファイル名1` • `git add 課題ファイル名2` – ワークツリーにある課題ファイルがインデックスに 登録されます • `git status`で状態確認 – ちなみに、誤ったファイルを登録してしまったとき は、`git remove ファイル名`で取りやめできます 10
Slide 11
Slide 11 text
コミット • `git commit –m "ナベアツなう"` – インデックスに登録された2ファイルがコミットされ ます • `git status`で状態確認 11
Slide 12
Slide 12 text
ローカルリポジトリとリモートリポジトリ ローカル リポジトリ リモート リポジトリ リモート リポジトリ 分散 12
Slide 13
Slide 13 text
GitHubにリモートリポジトリを作ろう • GitHubとは – Gitのリポジトリを置けるサービス – 内容をWebから見れる – 編集要請を発行することができる – https://github.com/ 13
Slide 14
Slide 14 text
GitHubにリモートリポジトリを作ろう 14
Slide 15
Slide 15 text
リモートリポジトリのアドレスを ローカルリポジトリに登録する • `git remote add origin https://github.com/hidesys/nabeatsu.git` – originという名前でGitHubのアドレスを登録 15
Slide 16
Slide 16 text
変更内容をプッシュする • `git push -u origin master` – originリモートに対してmasterブランチをpush 16
Slide 17
Slide 17 text
ブランチとは? • 枝 • コミットの系列に対して 付けられる別名 • 本branchの名前は masterというのが慣例 – バグ修正の時に新しく ブランチを切り、編集し てからマージする コミット リポジトリ ブランチ(枝) 17
Slide 18
Slide 18 text
ブランチ関連の操作 • `git branch` – ブランチ一覧の表示 • `git branch 新しいブランチ名` – 現在のコミットから新しくブランチを作成 • `git checkout ブランチ名` – ワークツリーの内容をブランチに切り替え 18
Slide 19
Slide 19 text
README.mdを追加するブランチを作 る • `git branch add-readme` – readmeブランチを作成 • `git branch` – branch一覧を確認 • `git checkout add-readme` – add-readmeブランチに切り替え • `git branch` – branch一覧を確認 19
Slide 20
Slide 20 text
README.md追加ブランチで編集 • `nano README.md ` – README.mdの中身を作成 • `git status` – 現状を確認 • `git add README.md` – インデックスに登録 • `git status` – 現状を確認 • `git commit –m "README.md追加"` 20
Slide 21
Slide 21 text
変更をpush • `git push origin add-readme` – add-readmeブランチをoriginにpush • `git branch -a` • GitHubで確認 21
Slide 22
Slide 22 text
変更をマージ • GitHub上でやってみよう 1. add-readmeブランチのmasterブランチへの プルリクエストを作成 2. オッケーならマージボタンを押す 22
Slide 23
Slide 23 text
変更をpull • `git checkout master` – masterブランチに切り替える • `ls` – README.mdはこのブランチにはありません • `git pull origin master` – originリモートリポジトリの最新版を取ってくる • `ls` – README.mdが追加されていることを確認 • `git log` – 履歴を確認してみよう! 23
Slide 24
Slide 24 text
GitHubではなく手元でmergeするには • `git checkout master` – masterブランチに切り替え • `git merge add-readme` – add-readmeブランチをマージ 24
Slide 25
Slide 25 text
Gitのログを見よう! • `git log --graph` – マージの様子などが時系列順に見れる! • 最新が下 25
Slide 26
Slide 26 text
昔のコミットに戻るには? • `git log` – 過去のコミット一覧を参照 • `git checkout コミットハッシュの先頭4文字` – `git checkout 3f2e`など。 – `git log`で表示されているハッシュを使う • `git branch` – 自分がdedtached headに居ることを確認 • 元に戻るときは`git checkout master` 26
Slide 27
Slide 27 text
【メンバー向け】 GitHubのOrganizationに参加してね • GitHubアカウントのidを、hidesys, universato 等に教えてください。Organizationに招待しま す。 • 過去のコードや課題などを見れます。 • https://github.com/onemonthweb 27