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
460
Git ゼンゼン ムズカシクナイ
TomPenguin
June 23, 2021
Tweet
Share
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
200
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
tompenguin
0
170
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
380
あきらめる Atomic Design
tompenguin
5
620
Other Decks in Programming
See All in Programming
RISC-V カスタムのためのツールチェーン拡張 ― GNU Binutils と GCC の拡張・コミュニティへの参加編 (未完成版)
a4lg
0
190
PHPアプリケーションのスケーラビリティと 信頼性を革新する nginx+ngx_mrubyとGoの融合
pyama86
2
220
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
0
610
sbt-assemblyにハマってDB接続できず時間が溶けた話
wakye5815
1
660
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
1.4k
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
2
490
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
4
810
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
22
12k
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2k
オープンなデータ・ソフトウェアを活用した開発
404background
0
160
Catch Up with Swift 5.10
ojun9
1
450
Honoとhtmx
yusukebe
6
1.1k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
71
5k
The Brand Is Dead. Long Live the Brand.
mthomps
48
19k
Building Applications with DynamoDB
mza
88
5.5k
The Mythical Team-Month
searls
214
42k
Building Adaptive Systems
keathley
29
1.8k
Web development in the modern age
philhawksworth
201
10k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
Thoughts on Productivity
jonyablonski
57
3.7k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Web Components: a chance to create the future
zenorocha
304
41k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
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の基本的な概念を ざっくり理解できたよ!