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
EngineerCafe
February 03, 2024
0
270
git勉強会(トラブルシューティングについて考えよう)
EngineerCafe
February 03, 2024
Tweet
Share
More Decks by EngineerCafe
See All by EngineerCafe
Hacktivation2025_イントロダクション_ブロックチェーンことはじめ
engineercafe
0
110
エンジニアカフェ台湾ツアー2025
engineercafe
0
25
台湾視察報告レポート_2024
engineercafe
1
100
インド・バンガロール視察報告会
engineercafe
0
100
イベントレポート_Hacktivation 続:生成AI時代におけるブロックチェーンの可能性
engineercafe
0
93
Docker はじめの一歩 #1 Dockerコンテナを動かしてみよう
engineercafe
0
77
git勉強会 (基本的なコマンドを覚えよう)
engineercafe
0
130
エンジニアのための論文ゆる輪読会 #1【 #ゆるりん 】
engineercafe
0
160
Unityの環境構築
engineercafe
0
82
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Writing Fast Ruby
sferik
630
62k
Building an army of robots
kneath
306
46k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Why Our Code Smells
bkeepers
PRO
340
57k
We Have a Design System, Now What?
morganepeng
54
7.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Become a Pro
speakerdeck
PRO
29
5.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
A Tale of Four Properties
chriscoyier
162
23k
Transcript
git勉強会 (トラブルシューティングについて考えよう) 2024年2月4日(日)10時~ 渕上 恵士朗
自己紹介 ・名前:渕上 恵士朗(ふちがみ けいしろう) ・出身:福岡大学商学部 ・仕事:某銀行でアプリ開発(バックエンド) エンジニアカフェスタッフとしてたまに勤務 ・技術:vb.net、SQLServer、IIS(windowsアプリ) 最近kotlin(spring boot)でAPI開発 AWS関連作業もやり始めたり ・業界:ホテル基幹システム、販売管理システム、
バンキングアプリ
イベントの目的 ・gitの初歩から実務的な運用、コマンドまで理解を深める (ステップ別に複数回のイベント実施を企画しています!!) ・よりよいgitの運用方法を皆さんで議論したい ・主催者が転職先でgitを利用するので、使い方を思い出したい
何となくのカリキュラム 1回目:gitをインストールしよう(開催済) 2回目:基本的なコマンドを覚えよう(開催済) 3回目:ブランチを操作しよう(開催済) 4回目:トラブルシューティングについて考えよう(本日開催)
今回の目標 ・競合(conflict)発生時の対応 ・前のコミットに戻りたい(revert) ・前のコミットを消したい(reset) ・コミットをきれいにしたい(reset, push -f) ・特定のコミットのみマージしたい(cherry-pick) ・ブランチのみ切り替えたい(switch) ・特定のファイルやディレクトリはgitで管理しない(ignoreファイル)
コンフリクトとは? ・同じブランチから派生している複数のブランチで同じ個所を編集した際に発生。 どちらの修正が正しいか判断ができないので、人間が目で見て判断してあげる 必要がある。 https://www.engilaboo.com/git-conflict/
前のコミットに戻る(revert) ・取り消したいコミットを消したコミットを新しく作成する https://backlog.com/ja/git-tutorial/stepup/29/
前のコミットに戻る(reset) ・取り消したいコミットを消す(物理的) ・soft,mixed,hardがある(デフォルトはmixed) https://www.r-staffing.co.jp/engineer/entry/20191129_1
push済みのコミットを整理したい ・作業中にレビューを依頼するためにリモートにpushしてプルリクエストを作成。 その時はマージは行わず、全ての作業が完了したタイミングで再度pushを行っ た。このときに1つの修正に対して複数コミットができてしまう。 ・そのブランチは自分のみ作業しているとする ・git reset →git push -f(強制pushを行う)
特定のコミットのみマージしたい(cherry-pick) ・ブランチを切って作業していたが、急遽特定の変更のみ派生ブランチにマージ する必要が出てきた。 https://www.r-staffing.co.jp/engineer/entry/20200327_1
ブランチのみ切り替える(switch) ・checkoutはブランチ操作、ファイル操作も実行される ・2019年からブランチ操作のみ(switch)、ファイル操作のみ(resotre)が実装され た。 ・ファイルは上書きされたくないが、ブランチのみ切り替えたい場合に利用する。 https://hiro8blog.com/git-switch/
特定ファイルは管理しない ・どれだけ気を付けても不要なファイルをaddして気付かずpushまでしてしまうこ とはある。 ・ignoreファイルを作成することでトラッキング対象外にすることができる。 https://qiita.com/anqooqie/items/110957797b3d5280c44f