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 ゼンゼン ムズカシクナイ
Search
TomPenguin
June 23, 2021
Programming
0
470
Git ゼンゼン ムズカシクナイ
TomPenguin
June 23, 2021
Tweet
Share
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
210
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
tompenguin
0
170
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
390
あきらめる Atomic Design
tompenguin
5
640
Other Decks in Programming
See All in Programming
Git Rebase
bkuhlmann
11
1.6k
Goのエラースタックトレースの歴史と今後
sonatard
9
1.6k
Node.js v22 で変わること
yosuke_furukawa
PRO
10
3.5k
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
880
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Goのmultiple errorsについて (2024年4月版)
syumai
4
990
新宿ダンジョンを可視化してみた
satoshi7190
2
270
Polars入門
daikikatsuragawa
1
100
Ruby Function Composition
bkuhlmann
1
330
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
310
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
Designing for Performance
lara
601
67k
Designing for humans not robots
tammielis
248
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
It's Worth the Effort
3n
180
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Designing Experiences People Love
moore
136
23k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Visualization
eitanlees
136
14k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Transcript
Git ゼンゼン ムズカシクナイ TomPenguin karabiner, inc 2021/06/23
あなたは誰ですか? Vue.jsばっかりさわっているエンジニア 仙台から福岡のシステム開発会社へフル リモートで勤務 昔は仙台の某百貨店の店員 TomPenguin tompenguin_ Work at karabiner,
inc
どんな話をするのか Gitの勉強を自分でするための足がかりの話
Gitってなあに? ソースコードの変更履歴とかを管理するアプリだよ
じゃあよく聞くGithubって? プロジェクト管理サービスだよ。 メールとGmailの関係に似てるよ。
Gitがない世界だと何が起きるのか 😵 誰かの変更を上書き保存で消してしまった 😵 誰かがどこをどんな風に修正したのか分からない 😵 あの時リリースしたのに戻したいけど保存しとくの忘れて た
本家と分家 Gitではソースコードを本家と分家(コピー)と いう形で2重管理するんだよ。 こうしておけば分家でどんなにトチっても安 心っていうことなんだね。 本家をリモートリポジトリ、分家をローカル リポジトリと言うよ。 分家のつくり方 本家 (リモートリポジトリ)
分家 (ローカルリポジトリ)
安全に作業できる作業箱 Gitでは「やりたいこと」ごとに作業箱を用意す るんだ。例えば、ヘッダーを実装する、とかね。 作業箱には全てのソースコードのコピーが 入ってる。そこに、修正を加えていくんだ。 作業箱のつくり方 作業箱のことは ブランチと言うよ
一番偉い作業箱 色々な人が色々な作業箱を作って修正を加えていくけど、 一番偉い作業箱っていうのがあるんだ。それは大体、 main か master って名前がつけられてる。本番環境にはこ の一番偉い作業箱を広げるのが基本だよ。
鎖で繋がった作業箱 作業箱どうしは鎖で繋がっていて、どこからコ ピーしてきたかわかるようになってるんだ。分家 を作った時は、これら全ての作業箱のコピーも 作られるんだよ。
作業箱の切り替え 作業箱を作っただけではすぐに作業できない。い ちど、作業台の上に広げる必要があるんだ。 (こうすれば、ある作業を途中でやめて、別の作業にとりかかったりでき るよね) 作業箱を切り替えることをチェックアウトとい うよ。 作業箱の切り替え方
どこを修正したかメモをとる 修正したら、どういう修正をしたのかルーズ リーフにメモを取らないと行けない。この ルーズリーフをコミットと言うよ。 実は、ルーズリーフにいきなり修正を書くのではなく、いったんルー ズリーフに何を書くのかメモっておく場所がある。その場所をイン デックスと言うんだ。 ルーズリーフのしまい方
作業箱を本家に献上しよう! よ〜し、ようやく一通り作業が終わったぞ👏 それじゃあ、分家の作業箱のコピーを本家に 献上しよう! これをプッシュと言うんだ。 分家 (ローカルリポジトリ) 本家 (リモートリポジトリ) プッシュ
プッシュのやり方
本家の一番偉い作業箱に取り込まれたら おめでとう🎉 これできみはGitの基本的な概念を ざっくり理解できたよ!