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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ひでシス
October 31, 2016
Programming
0
810
第3課 書いたコードを管理する(Git)
Gitの使い方を学び、GitHubでコードを世界に公開します。
ひでシス
October 31, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
710
第2課 Rubyでプログラミング
hidesys
0
810
第1課 Linuxことはじめ
hidesys
0
890
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
CSC307 Lecture 03
javiergs
PRO
1
480
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
690
SQL Server 2025 LT
odashinsuke
0
200
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.5k
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
130
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.8k
CSC307 Lecture 05
javiergs
PRO
0
480
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
780
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
410
Implementation Patterns
denyspoltorak
0
260
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
gunshi
kazupon
1
140
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
1
220
Navigating Team Friction
lara
192
16k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.9k
Documentation Writing (for coders)
carmenintech
77
5.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Curious Case for Waylosing
cassininazir
0
220
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
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