$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第3課 書いたコードを管理する(Git)
Search
ひでシス
October 31, 2016
Programming
0
810
第3課 書いたコードを管理する(Git)
Gitの使い方を学び、GitHubでコードを世界に公開します。
ひでシス
October 31, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
700
第2課 Rubyでプログラミング
hidesys
0
800
第1課 Linuxことはじめ
hidesys
0
890
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.5k
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
160
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
140
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.2k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
420
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
160
Navigating Dependency Injection with Metro
l2hyunwoo
1
160
エディターってAIで操作できるんだぜ
kis9a
0
740
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.6k
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
140
Optimizing for Happiness
mojombo
379
70k
The Limits of Empathy - UXLibs8
cassininazir
1
190
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
26
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
How GitHub (no longer) Works
holman
316
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Agile that works and the tools we love
rasmusluckow
331
21k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
28
RailsConf 2023
tenderlove
30
1.3k
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