Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第3課 書いたコードを管理する(Git)
Search
ひでシス
October 31, 2016
Programming
820
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第3課 書いたコードを管理する(Git)
Gitの使い方を学び、GitHubでコードを世界に公開します。
ひでシス
October 31, 2016
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
720
第2課 Rubyでプログラミング
hidesys
0
820
第1課 Linuxことはじめ
hidesys
0
900
第1課 Linuxことはじめ 事前準備
hidesys
0
270
Other Decks in Programming
See All in Programming
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
3.9k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
510
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.9k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
The NotImplementedError Problem in Ruby
koic
1
660
JavaDoc 再入門
nagise
0
310
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
180
Lessons from Spec-Driven Development
simas
PRO
0
150
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
A2UI という光を覗いてみる
satohjohn
1
120
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
380
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
The browser strikes back
jonoalderson
0
1.2k
Google's AI Overviews - The New Search
badams
0
1k
Being A Developer After 40
akosma
91
590k
Mobile First: as difficult as doing things right
swwweet
225
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
The Pragmatic Product Professional
lauravandoore
37
7.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Transcript
書いたコードを管理する(Git) ひでシス=めぐみ・西岡 1
第3課の内容 • ファイルのバージョン管理ソフトについて学び ます – Gitでファイルを管理 – GitHubにアップロードして世界中に公開する 2
バージョン管理ソフトとは • ファイルを管理するときに • プレゼン_20121029.pptx • プレゼン_20121031.pptx • プレゼン_20121031(修正済み).pptx •
プレゼン_20121031(最終稿).pptx • プレゼン_20121031(最終稿)(弄るな!).pptx – とかなっていませんか。 • 複数人でファイルを同時編集するにはどうし ますか。 Gitで解決 3
Gitとは • 分散型バージョン管理システム リポジトリ リポジトリ リポジトリ 分散 4
リポジトリとコミット • リポジトリ – 複数のファイルやディレクトリの状 態を管理するもの – コミットが過去から現在まで枝状 に履歴として保存されている •
コミット – ある一時点での変更内容 コミット リポジトリ 5
ワークツリーとインデックス • ワークツリー – 見えているファイル・ディレクトリ構造 – ここでファイルを編集する • インデックス –
コミットするファイルのリスト ワークツリー インデックス コミット 登録 コミット 取りやめ 6
Gitを使ってみよう! • やること – 前回の課題2ファイルをGitで管理します – 最終的にGitHubを使って世界中に公開します 7
Gitのユーザー設定 • `git config --global user.name "自分の名前"` • `git config
--global user.email メールアドレス` – 自分の行うコミットに焼き付けられます – GitHubに公開すると、公開されますよ! 8
Gitリポジトリの作成 • /home/ユーザー名/nabeatsu ディレクトリを作 成 • 中に、前回の課題の回答2ファイルをコピー • nabeatsuに移動し、`git init
.` – ディレクトリがGitリポジトリになります • `git status`で状態確認 9
インデックスへの登録 • `git add 課題ファイル名1` • `git add 課題ファイル名2` –
ワークツリーにある課題ファイルがインデックスに 登録されます • `git status`で状態確認 – ちなみに、誤ったファイルを登録してしまったとき は、`git remove ファイル名`で取りやめできます 10
コミット • `git commit –m "ナベアツなう"` – インデックスに登録された2ファイルがコミットされ ます •
`git status`で状態確認 11
ローカルリポジトリとリモートリポジトリ ローカル リポジトリ リモート リポジトリ リモート リポジトリ 分散 12
GitHubにリモートリポジトリを作ろう • GitHubとは – Gitのリポジトリを置けるサービス – 内容をWebから見れる – 編集要請を発行することができる –
https://github.com/ 13
GitHubにリモートリポジトリを作ろう 14
リモートリポジトリのアドレスを ローカルリポジトリに登録する • `git remote add origin https://github.com/hidesys/nabeatsu.git` – originという名前でGitHubのアドレスを登録
15
変更内容をプッシュする • `git push -u origin master` – originリモートに対してmasterブランチをpush 16
ブランチとは? • 枝 • コミットの系列に対して 付けられる別名 • 本branchの名前は masterというのが慣例 –
バグ修正の時に新しく ブランチを切り、編集し てからマージする コミット リポジトリ ブランチ(枝) 17
ブランチ関連の操作 • `git branch` – ブランチ一覧の表示 • `git branch 新しいブランチ名`
– 現在のコミットから新しくブランチを作成 • `git checkout ブランチ名` – ワークツリーの内容をブランチに切り替え 18
README.mdを追加するブランチを作 る • `git branch add-readme` – readmeブランチを作成 • `git
branch` – branch一覧を確認 • `git checkout add-readme` – add-readmeブランチに切り替え • `git branch` – branch一覧を確認 19
README.md追加ブランチで編集 • `nano README.md ` – README.mdの中身を作成 • `git status`
– 現状を確認 • `git add README.md` – インデックスに登録 • `git status` – 現状を確認 • `git commit –m "README.md追加"` 20
変更をpush • `git push origin add-readme` – add-readmeブランチをoriginにpush • `git
branch -a` • GitHubで確認 21
変更をマージ • GitHub上でやってみよう 1. add-readmeブランチのmasterブランチへの プルリクエストを作成 2. オッケーならマージボタンを押す 22
変更をpull • `git checkout master` – masterブランチに切り替える • `ls` –
README.mdはこのブランチにはありません • `git pull origin master` – originリモートリポジトリの最新版を取ってくる • `ls` – README.mdが追加されていることを確認 • `git log` – 履歴を確認してみよう! 23
GitHubではなく手元でmergeするには • `git checkout master` – masterブランチに切り替え • `git merge
add-readme` – add-readmeブランチをマージ 24
Gitのログを見よう! • `git log --graph` – マージの様子などが時系列順に見れる! • 最新が下 25
昔のコミットに戻るには? • `git log` – 過去のコミット一覧を参照 • `git checkout コミットハッシュの先頭4文字`
– `git checkout 3f2e`など。 – `git log`で表示されているハッシュを使う • `git branch` – 自分がdedtached headに居ることを確認 • 元に戻るときは`git checkout master` 26
【メンバー向け】 GitHubのOrganizationに参加してね • GitHubアカウントのidを、hidesys, universato 等に教えてください。Organizationに招待しま す。 • 過去のコードや課題などを見れます。 •
https://github.com/onemonthweb 27