Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Git VCS - Talk @PHP User Group Malang, March 9 ...
Search
Achmad Mahardi
March 09, 2015
Programming
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Git VCS - Talk @PHP User Group Malang, March 9 2015
Git - Open Source, Distributed, Speedy, and Efficient version manager.
Achmad Mahardi
March 09, 2015
More Decks by Achmad Mahardi
See All by Achmad Mahardi
CSS Modules - Talk @Malang Front-End, January 8 2016
maman
2
180
Webpack Assets Loading - Talk @PHP User Group Malang, March 2015
maman
0
120
Material Resource Planning - OpenERP Manufacturing Management
maman
0
260
Material Resource Planning - OpenERP Warehouse Management
maman
0
110
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
720
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
990
ActionController meets Protocol Buffers
sorah
0
440
残高管理から台帳サービスへの進化
artoy
1
200
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
JIS keyboard support in Omarchy
lef237
0
110
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
25
29k
golang-bob.pdf
iwatsukayura
0
130
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
1.4k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.2k
A better future with KSS
kneath
240
18k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Transcript
GIT VCS @achmadmahardi
Achmad Mahardi • Frontend Devs • Server side languages (PHP,
NodeJS, C#) • Unix aficionados
GIT Open Source - Distributed - Speedy - Efficient -
*is • (almost) Everything local • No network needed •
Immutable
• Backup tool • Binary file storage/diff/apapun • Github/Bitbucket/apapun *is
not
INSTALASI
msysgit built-in / brew install git
apt-‐get install git / yum install git pkg_add -‐r git via ports / donlot source, kompel dewe
FIRST STEPS
git config -‐-‐global user.name "..." git config -‐-‐global user.email
"..." git config user.name "..." git config user.email "..." ~
git config -‐-‐global color.ui true
*optional* ENVARS • EXPORT PAGER=less • EXPORT EDITOR=nano
GETTING STARTED
git init Membuat repository baru
None
git status Melihat status repository
git add Masukkan/track file ke repository
*gitignore • curl -‐L -‐s https:// www.gitignore.io/api/ $LANG •
binary files • autogenerated files • autogenerated folders
git commit Fix-kan perubahan, catat history (delta)
*commit convention • Jelaskan perubahan • Singkat padat jelas •
Max 50 karakter/line
*commit convention -cont • curl -‐L http://git.io/xTwk • GitHub
specific syntaxes
SYNC& REMOTES& BRANCHES. github.
mabes open source forex IB client area. vagrant, PHP5, bootstrap
+ LESS
git remote mengatur referensi ke remote repo add <name> <url>
rm <name> rename <old> <new>
git fetch import commit dari remote ke local
None
git fetch import commit dari remote ke local
git merge Merge changes dari remote-referenced branch ke master branch
kita
*merge vs rebase • merge = direct merging • rebase
= prevent unnecessary git config -‐-‐global branch.autosetuprebase always
*mengenai git pull • fetch + merge • --rebase =
fetch + rebase
git push export commit dari local ke remote ➜
git branch manajemen branch.
branching
None
None
None
None
fast-forward merge
3-way merge
*github • fast-forward merge otomatis • close issues via commit
message • integration (travis, scrutinizer, slack, ...)
DEVELOPMENT PRACTICES advanced chapter
• sering sering commit & resync • three-tier development (dev,
staging, prod). • patuhi commit convention / buat commit convention u/ team. • gitignore, .gitignore, .gitignore
None
None
None
&
None
*+++ • isolated • through-testing • rolling-release • lebih gampang
u/ revert
*lagi? • https://speakerdeck.com/ schacon/introduction-to-git • https://speakerdeck.com/ holman/more-git-and-github- secrets • https://www.atlassian.com/git/
/maman /achmadmahardi /Achmad.mahardi Pertanyaan/Diskusi? Malang PHP User Group