Revision control (RC, 版本控制) 有沒有用或是否重要,要吃過苦頭才知道。當你修改一些設計犯了錯想要回頭,或是要做一些 optimization 的實驗。如果有好的 revision control, 就像有一幅地圖,可以清楚而且有效率的 navigate 如何前進或後退。
有時和工程師談到 revision control, 得到的反應是用不到或是真的需要學一個新的 tool 嗎? 其實他們有一套私有的 revision control, 例如 copy 到不同的 file 或 directory, 用日期或 v1, v2.. 來做版本控制。私有的問題是 (i) 簡單但容易有人為的錯誤;(ii) 很難和別人 share 和溝通。多半是單幹戶的方法。
雖然已經有許多的 revision control tool, 我發現 git 是最適合我 (as a designer) 時 revision control. 原因是:linux built-in revision control tool (事實上 linux 本身也是用 git 做 revision control); 可以簡單到單幹戶都可以自己取代私有的 revision control ; 但也非常適合一個 team project 的 revision control.
Git 三招走江湖
Git 的操作參考上圖。比起其他的 RC tool, 除了一樣的 working directory 和 repository 外,多了一個 staging area.
第一招:Create First Revision
Only 3 command
- git init
- git add .
- git commit –m “init version”
Before start, first setup
- .gitconfig in your root directory
- .gitignore in your project directory
第二招:Check-in New/Modified Files/Directories
Add new files
- git add <file/.> --> from working area to staging area
- git commit –m “check-in message” --> from staging to repository
Modified files
Method 1: same as above
Method 2:
- git commit –am “check-in message” --> from working area to staging area and repository
git ci -am 不包括 new files
git add or git commit –m only apply to 本目錄及其下所有子目錄
Always use “git status” to check
第三招:Checkout Repository
回復原狀 (repository to staging area and working area)
- git checkout -- .
Staged, but not commit
- git reset <file> --> staging area to working area
要撤消 Commit, 但維持 working directory
- git reset --soft HEAD~1 -->repository to staging area
沒有留言:
張貼留言