git & sourcetree 介紹
Post on 08-Aug-2015
134 Views
Preview:
TRANSCRIPT
什 麼 是 版 本 控 制 系 統 ? 能 吃 嗎 ?
• 版本控制是一個能夠記錄一個或一組檔案在某一段時間的變更,使得讀者以後能取回特定版本的系統。
• 記錄檔案變更的系統
• 可提供每次變更 ( 提交 ) 的有意義說明
• 方便取回特定版本
為 什 麼 要 版 本 控 制 系 統 ?
• 檔案被別人或自己覆蓋、甚至遺失
• 想復原前幾天 / 幾小時 / 幾分鐘前的版本
• 想知道跟前幾天寫的差異在哪裏
• 誰改了這行程式碼?什麼時候?一起改的有哪些?為什麼?
程式上線後,需要分成維護版和開發版
非 要 版 本 控 制 系 統 嗎 ?
• 那些台灣產業所缺少的
• 檔案改名備份神功
• 一各檔案一天改 50 次時,要存幾個備份?
• 依賴檔案變更時,前端怎麼知道?
• 資料夾改名備份護體大法
• 不同資料夾內容有哪些檔案的哪些內容有改變?為什麼?
其 他 好 處
• 降低 Code Review 門檻,實現 Code Review
• 增強編寫能力
• 找出責任歸屬
• CI 持續整合開發的前置技能點
• 還需要 unit test, unit test 需要 MVC 架構 ..
• 更好的工作
• GIT 現在是大軟體公司應徵的必備條件!
版 本 控 制 系 統 比 較 集 中 式 ( S V N) VS 分 散 式 (G I T )
• 更多說明
集 中 式 分 散 式
連 線 到 S ERVER 才 能 提 交 本 機 提 交 , 稍 後 上 傳
容 易 控 管 權 限 需 分 拆 儲 存 庫
一 各 檔 案 一 次 只 有 一 個 人 能 更新 ( 這 未 必 是 好 事 . . )
可 以 多 人 同 時 處 理 同 一 檔 案( 有 可 能 會 造 成 衝 突 )
MAS TER / S L AVE 正 規 軍 模 式
P EE R TO P EER游 擊 隊 模 式
需 要 嚴 謹 的 規 範 才 能 發 揮 效 果 容 易 於 各 種 詭 異 狀 態 中 使 用
W H Y I L I K E G I T ?
• 門檻低 : 不用 server
• 其實 svn 也可以本機使用,不過麻煩 .. 門檻比較高
• Commit 成本低
• 不用連線、不用 check out
• 最小單元為 " 行 " ,而非檔案
• 可以 commit 單行 / 數行
• 自帶比對功能 : diff
向 G I T H U B 投 降 ! G O O G L E C O D E明 年 正 式 關 閉H TT P : / /W W W. BNE XT. CO M. T W /A RT ICLE /V IE W / ID /35643
W H AT I S S O U RC E T R E E
• 好用、免費、免費、免費的 Git GUI Client
• 公司 https://www.atlassian.com/
• 下載位置 https://www.sourcetreeapp.com/ (Win/Mac 版本都有 )
• 15 天后需要進行免費註冊
S OU RC E T E E 安裝
• 1. 下載後點兩下 ..
• 2. 輸入基本資料 for git (name, email)
• 非必須設定
• 某些網路環境中需要設定對外的 proxy (win/mac 不同 )
• 加入常見忽略設定 (.gitignore)
• 設定為中文環境 .. 不過他的中文我不是很懂 ..
常用設定 — I G N O R E L I S T
• https://github.com/github/gitignore
• 使用 regular expresstion 規則
• 可分成 global/project ignore list
• global ignore: .recyclebin, *.tmp
• repo ignore: *.json
其 他 有 用 功 能
• diff
• log selected: 檔案演進
• blame: 找出這行是誰寫的!
• diff 衍生之 code review
• code review: 透過檢查每次版本的差異,了解撰寫能力
• Tag
A N D M O R E . .
• branch & git flow
• 中文 https://ihower.tw/blog/archives/5140
• 英文 http://danielkummer.github.io/git-flow-cheatsheet/
• 高上大的雲端托管服務 : github/bitbucket
• 整合其他 git: git-submodule
參考資 料
• 擊敗 Google、微軟開發者平台,GitHub 憑的是什麼?
• 台灣所缺少的: 版本控制系統
• google "git svn 比較"
• Git達人教你搞懂GitHub基礎觀念
top related