Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gitの紹介/共有
Search
kushidam
November 14, 2023
Programming
0
140
Gitの紹介/共有
kushidam
November 14, 2023
Tweet
Share
More Decks by kushidam
See All by kushidam
第一回Enablement Bootcamp for Gopherizing 発表会資料
kushidam
0
100
Other Decks in Programming
See All in Programming
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
340
Integrating WordPress and Symfony
alexandresalome
0
120
AIコーディングエージェント(Gemini)
kondai24
0
160
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
CSC509 Lecture 14
javiergs
PRO
0
220
AWS CDKの推しポイントN選
akihisaikeda
1
240
How Software Deployment tools have changed in the past 20 years
geshan
0
28k
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
560
CSC305 Lecture 15
javiergs
PRO
0
250
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
600
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
300
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.3k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
76
5.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Agile that works and the tools we love
rasmusluckow
331
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Making Projects Easy
brettharned
120
6.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Transcript
Gitの紹介 2023/11/14
自己紹介 Zenn https://zenn.dev/kushidam Github https://github.com/kushidam Name: @kushidam SI企業でCやC#を書いている
現在、プロジェクトではSVN使っていますが... コミットの差分や履歴を見るの大変じゃないですか? 頻繁に競合発生してませんか? ブランチ発行で面倒と感じませんか?
Git使ってみませんか 個人的に取り入れてできたこと ・ 一時的な保存(試行錯誤の履歴) ・ ローカルでのブランチ管理(作業用、マージ用など) ・ IDE(VisualStudio)機能を活用し、コードレビュー ローカルのみGitを採用することで操作感を養えた プロジェクトで採用が難しくても個人環境で利用するだけでも恩恵を受けれた
Gitとは ・分散型バージョン管理システムの一つ(対義:集中型、 SVN) ・リポジトリの完全なコピーをローカルに持つ(ローカルリポジトリ) ・作業中の変更も履歴を記録できる ・変更中でも共有リポジトリにあげることで、他メンバーも見ることができる ・ブランチの発行やマージが容易 ・VisualStudioやVSCodeなど製品に組み込まれている ・デファクトスタンダードゆえに周辺のエコシステムが良い
メンバ / リーダ 目線のメリット 【メンバ】 ・ 一時的な保存(試行錯誤の履歴) ・ ローカルでのブランチ管理(作業用、マージ用など) 【リーダ】
・ IDE(VisualStudio)機能を活用し、コードレビュー ・ ローカルでのブランチ管理(+レビュー用など) IDE上でバージョンや差分が確認できる!
Gitに出てくる用語 リポジトリ (Repository): プロジェクトのコードやファイルが保存される場所 クローン (Clone): リモートリポジトリをローカルに複製する操作。 コミット (Commit): 変更を保存する操作。コミットにはメッセージを含み、変更内容を記録。
プッシュ (Push): ローカルの変更をリモートリポジトリにアップロードする操作。 プル (Pull): リモートから変更をダウンロードして、ローカルに統合する操作。 チェックアウト (Checkout):別のブランチにワーキングディレクトリを切り替えるための操作。 ブランチ (Branch): プロジェクト内での異なる作業の流れ。 マージ (Merge): ブランチからの変更を統合する操作。異なるブランチの変更を組み合わせる。
SVNイメージ図 サーバ リモート リポジトリ (共有リポジトリ) PC 作業 フォルダ コミット アップデート
├── ブランチ ├── └──
Gitイメージ図 サーバ リモート リポジトリ (共有リポジトリ) PC 作業 フォルダ プッシュ プル
コミット ローカル リポジトリ ├── ブランチ ├── └── ├── ブランチ ├── └──
Hotfix :本番環境で発生したバグ修正や緊急の変更を行うためのブランチ GitはブランチやマージがSVNに比べ容易 容易性を活用したブランチ運用方法がある(例:GitFlow) Main Develop Feature Release :本番用のコードが置かれるメインブランチ(直接コミットは NG)
:開発チームが共有する作業用ブランチ。 :Developブランチから派生。開発が完了したら Developへマージ :Developブランチから派生。QA テストやバグ修正を実施、OKならMainへマージ。
ブランチ運用方法(例:GitFlow) ・厳密に真似る必要はない ・プロジェクト規模やメンバの理解度など状況に応じて運用する 時間軸 Feature Main HotFix Release Develop バグ修正
緊急の修正 先行開発 本番環境 リリース 開発 1.0 1.1 2.0
[再]Git使ってみませんか 個人的に取り入れてできたこと ・ 一時的な保存(試行錯誤の履歴) ・ ローカルでのブランチ管理(作業用、マージ用など) ・ IDE(VisualStudio)機能を活用し、コードレビュー ローカルのみGitを採用することで操作感を養えた プロジェクトで採用が難しくても個人環境で利用するだけでも恩恵を受けれた
Thank you... 学習リソースとトレーニング、資料 MIXI社研修資料 https://speakerdeck.com/mixi_engineers/2023-git-training/ Microsoft Learn https://learn.microsoft.com/ja-jp/training/paths/intro-to-vc-git/ Git操作手順書 ファイルサーバ配備