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
演習:Gitの操作(応用編) / GitHub Practice Advanced
Search
kaityo256
PRO
October 22, 2021
Education
1.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
演習:Gitの操作(応用編) / GitHub Practice Advanced
物理情報工学ソフトウェア開発演習
kaityo256
PRO
October 22, 2021
More Decks by kaityo256
See All by kaityo256
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.3k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.7k
この講義について / 00-setup
kaityo256
PRO
2
430
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
350
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
570
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
340
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
400
バージョン管理とは / 01-a-vcs
kaityo256
PRO
2
370
Gitの仕組みと用語 / 01-b-term
kaityo256
PRO
1
470
Other Decks in Education
See All in Education
Examen de Selectividad. Geografía julio 2026 (Convocatoria Extraordinaria). UCLM
juanmartin2026
0
7.9k
[2026前期火5] 論理学(京都大学文学部 前期 第8回)「正規化定理の証明」
yatabe
0
210
「機械学習と因果推論」入門 ③ 漸近効率な推定量と二重機械学習
masakat0
0
720
LinkedIn
matleenalaakso
0
4.4k
コミュニティを通じた_キャリア設計のススメ_20260424.pdf
masakiokuda
0
340
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
110
【セーフィー】テクニカルライティング&コミュニケーション実践講座(26新卒エンジニア向け研修資料)
ymzaki_m4
0
250
Implicit and Cross-Device Interaction - Lecture 10 - Next Generation User Interfaces (4018166FNR)
signer
PRO
2
2.3k
Padlet opetuksessa
matleenalaakso
12
16k
AI-Based Speaking Assessment of a Short-Term Study Abroad Program
uranoken
0
360
AI時代に、 なぜ英語を勉強するのか
empelt
0
120
Course Review - Lecture 13 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2.3k
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
270
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Statistics for Hackers
jakevdp
799
230k
Automating Front-end Workflow
addyosmani
1370
210k
It's Worth the Effort
3n
188
29k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
Transcript
1 29 演習:Gitの操作(応用編) 慶應義塾大学理工学部物理情報工学科 渡辺 物理情報工学ソフトウェア開発演習
2 29 • git amendによりコミットが変更されることを確認する • git mergeの衝突を解決する • git
rebaseにより歴史を改変する • git rebaseの衝突を解決する • git bisectを使ってみる
3 29 リポジトリのクローン ディレクトリの作成 github cd mkdir github cd github
git clone https://github.com/appi-github/amend-sample.git cd amend-sample ホームディレクトリに移動してから githubディレクトリを作成 github amend-sample ホームディレクトリ Git管理された ディレクトリ ここがカレントディレクトリに
4 29 git log --oneline initial commit updates README.md updates
README.md updaets README.md main HEAD 歴史の確認
5 29 コミットの保存 initial commit updates README.md updates README.md updaets
README.md main HEAD original_main git branch original_main 現在のコミットに別名をつけておく
6 29 コミットメッセージの修正 git commit --amend -m "updates README.md" initial
commit updates README.md updates README.md updaets README.md main HEAD original_main updates README.md
7 29 git log --oneline 歴史の確認 initial commit updates README.md
updates README.md updates README.md main HEAD 修正されていることを確認
8 29 git log --all --graph --oneline 歴史が分岐したことを確認 initial commit
updates README.md updates README.md updaets README.md main HEAD original_main updates README.md
9 29 リポジトリのクローン cd cd github git clone https://github.com/appi-github/merge-sample.git cd
merge-sample github merge-sample ここがカレントディレクトリに
10 29 ブランチの作成 git branch knock origin/knock main HEAD knock
ブランチの確認 git branch -vva main HEAD origin/knock origin/knock origin/knockの指すコミットに knockブランチを作成
11 29 差分確認 main HEAD knock git diff knock poetry.txt
poetry.txt コミット間を比較 ここに差分を検出
12 29 マージ main HEAD knock 衝突 git merge knock
マージの中断 git merge --abort main HEAD knock このプロセスでpoetry.txtが どのように変化したか調べる
13 29 マージ git merge knock main HEAD knock 衝突
衝突の解決とコミット git add poetry.txt git commit -m "knock" potery.txtをエディタで修正
14 29 main HEAD knock git log --all --graph --oneline
マージされた「歴史」を確認
15 29 リポジトリのクローン cd cd github git clone https://github.com/appi-github/rebase-history-sample.git cd
rebase-history-sample github rebase-history-sample ここがカレントディレクトリに
16 29 二人が目を覚ます アイスがまだある アイスが消えた ボブが登校 歴史の確認 git log --oneline
17 29 ブランチの作成 git branch start origin/start 二人が目を覚ます アイスがまだある アイスが消えた
ボブが登校 main HEAD knock 歴史改変の起点にする
18 29 歴史改変 git rebase -i start
19 29 改変された歴史の確認 git log --oneline 二人が目を覚ます アイスがまだある アイスが消えた ボブが登校
20 29 リポジトリのクローン cd cd github git clone https://github.com/appi-github/rebase-conflict-sample cd
rebase-conflict-sample github rebase-conflict-sample ここがカレントディレクトリに
21 29 main HEAD branch origin/branch ブランチの準備 git switch -c
branch origin/branch origin/branchの指すコミットにbranchというブランチを作成し、 カレントブランチをそこへ移動
22 29 歴史の確認 git log --all --graph --oneline main HEAD
branch m1 m2 m3 f1 f2 f3
23 29 リベースの実行 git rebase main main HEAD branch
24 29 main m1 m2 m3 f1 f2 f3 f1’
f2’ f3’ 状態の確認 git status HEAD HEADは「最後にリベースがうまくいったコミット」を指している (detached HEAD)
25 29 main m1 m2 m3 f1 f2 f3 f1’
f2’ f3’ HEAD エディタで衝突状態にあるファイル「text1.txt」を修正し、保存する
26 29 解決をGitに伝える git add text1.txt git commit -m "f2"
main m1 m2 m3 f1 f2 f3 f1’ f2’ f3’ HEAD Gitが自動で作ることができなかった このコミットを手動で作った
27 29 リベースの続行 git rebase --continue main m1 m2 m3
f1’ f2’ f3’ HEAD branch リベースが最後まで実行され、detached HEAD状態が解消される
28 29 歴史の確認 git log --oneline --graph main m1 m2
m3 f1’ f2’ f3’ HEAD branch もともと分岐していた歴史が一本道になり、 mainからbranchへfast-forwardマージが可能になった
29 29 git bisectを使った犯人捜し