Download - DO YOU WANT TO USE A VCS
![Page 1: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/1.jpg)
DO YOU WANNA USE A VCSSeongJae Park <[email protected]>
![Page 2: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/2.jpg)
Software Is Alive: Keeps Changing
“How To Keep Software’s Moment?”
![Page 3: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/3.jpg)
Life Of Files
FileA ver 0 FileB ver 0
![Page 4: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/4.jpg)
Life Of Files
FileB Changed
FileA ver 0 FileB ver 1
![Page 5: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/5.jpg)
Life Of Files
FileA Changed
FileB ver 1 FileA ver 1
![Page 6: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/6.jpg)
Life Of Files
FileB Changed Again
FileB ver 2FileA ver 1
![Page 7: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/7.jpg)
Software Is Alive: Keeps Changing
“How To Keep Software’s Moment?”
$ ls0213_1st.tar0239_2nd.tar.gzip0305_final.zip0307_final2.alz
![Page 8: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/8.jpg)
VCS: Version Control System
Help Versioning, History Managing
![Page 9: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/9.jpg)
VCS: Version Control System
Help Versioning, History Managing
Get Back Specific Version’s Software Anytime
![Page 10: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/10.jpg)
CVCS vs DVCS
Centralized vs Distributed
Not Detail This Time…
Just Remember, CVCS is EVIL
![Page 11: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/11.jpg)
git
Distributed Version Control System
Developed For Kernel SCM By Linus Torvalds“Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it ;)” - Linus Torvalds
Just Remember: Cool Programmer Uses GIT
![Page 12: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/12.jpg)
GIT, ALONE AND FREE“Yes, I’m Alone, But I’m Alone And Free”
- Frozen -
![Page 13: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/13.jpg)
git init: Create Repository
$ mkdir olaf && cd olaf && git init
`pwd` Is Now A Git Repository
Can Version Control Files Inside `pwd` Now
![Page 14: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/14.jpg)
git add: Add Files Under Git’s Admin
$ echo “warmhug” > favor && git add favor
They Will Be One Of Version Later
![Page 15: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/15.jpg)
git status: Show Git’s Admin Status
$ git status
$ echo “anna” >> favor
$ git status
Changed? Deleted? Be Conflicted?
![Page 16: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/16.jpg)
git commit: Make Version
$ git commit -m “add warmhug as favor”
Already Added Files Are New Version, Now
![Page 17: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/17.jpg)
git log: Show History
● Development Cycle○ While(!blamed) {Analysis(); Develop(); Blame();}
Useful For Blaming ;)
![Page 18: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/18.jpg)
git branch: Manage Branches
git branch;
git branch more_favor;
git branch;
![Page 19: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/19.jpg)
git checkout: Move To Other Branch
git checkout more_favor
git branch
git commit -am “add anna as favor, too”
git log
git checkout master
git log
![Page 20: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/20.jpg)
git checkout: Move To Commit
$ git checkout d8ec26
Branch Is Just Name Of Ref To Commit
![Page 21: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/21.jpg)
Life Of Files Under Git, Internal
FileA ver 0 FileB ver 0
![Page 22: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/22.jpg)
git commit
FileA ver 0 FileB ver 0
commit 1
Life Of Files Under Git, Internal
![Page 23: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/23.jpg)
git branch
FileA ver 0 FileB ver 0
commit 1
master branch
Life Of Files Under Git, InternalHEAD
![Page 24: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/24.jpg)
FileB Changed
FileA ver 0 FileB ver 0 FileB ver 1
commit 1
master branch
Life Of Files Under Git, InternalHEAD
![Page 25: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/25.jpg)
git commit -a
FileA ver 0 FileB ver 0 FileB ver 1
commit 1 commit 2
master branch
Life Of Files Under Git, InternalHEAD
![Page 26: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/26.jpg)
git commit -a
FileA ver 0 FileB ver 0 FileB ver 1
commit 1 commit 2
master branch
Life Of Files Under Git, InternalHEAD
![Page 27: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/27.jpg)
Change FileA, FileBgit commit -a
FileA ver 0 FileA ver 1FileB ver 0 FileB ver 1 FileB ver 2
commit 1 commit 2 commit 3
master branch
Life Of Files Under Git, InternalHEAD
![Page 28: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/28.jpg)
git checkout -b newbranch
FileA ver 0 FileA ver 1FileB ver 0 FileB ver 1
commit 1 commit 2 commit 3
master branch newbranch
FileB ver 2
Life Of Files Under Git, InternalHEAD
![Page 29: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/29.jpg)
Change FileAgit commit -a
FileA ver 0 FileA ver 1FileB ver 0 FileB ver 1 FileB ver 2
commit 1 commit 2 commit 3
master branch
FileA ver 2
commit 4
newbranch
Life Of Files Under Git, InternalHEAD
![Page 30: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/30.jpg)
GIT IS AN OPEN DOOR“We Can Fix This Hand In Hand”
- Frozen -
![Page 31: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/31.jpg)
Communication Between Repos
Git Repositories Can…ClonePush Commits ToPull Commits FromEach Others
![Page 32: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/32.jpg)
Protocol Between Repos
HTTP://HTTPS://GIT://SSH://
Even Usual File System
![Page 33: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/33.jpg)
git clone: Clone Other’s Repo
$ git clone /home/elsa/olaf
![Page 34: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/34.jpg)
git remote: Manage Remote Repos
$ git remote
$ git remote add origin /home/elsa/olaf
![Page 35: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/35.jpg)
git push: Push Changes To Remote
$ echo “carrot” > noise && git add noise \
&& git commit -am “add noise”
$ git push
![Page 36: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/36.jpg)
git pull: Fetch & Merge Changes
May Cause Conflict In Some Scenario
Remember To Make Things Clean Before Push
![Page 37: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/37.jpg)
Free GIT Repo Hosting Service
● GitHub○ Popular Service○ Money For Private Repository
● Bitbucket○ Less Than GitHub, But Popular○ No Money For Private Repository
![Page 38: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/38.jpg)
FAQ: When Commit?
One Commit For One Logical Change
![Page 39: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/39.jpg)
FAQ: How To Revert?
git reset --soft HEAD^
![Page 40: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/40.jpg)
FAQ: How To Revert Silently?
$ git reset --hard HEAD^
![Page 41: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/41.jpg)
FAQ: Howto @#$@!%^?
Sorry, Next Time…
![Page 42: DO YOU WANT TO USE A VCS](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f5919b4c905b9508b528a/html5/thumbnails/42.jpg)
IT’s TIME TO SEEWhat You Can Do
To Test The Limit And Breakthrough