SlideShare a Scribd company logo
G I T & S O U C E T R E E 簡 介
什 麼 是 版 本 控 制 系 統 ? 能 吃 嗎 ?
• 版本控制是一個能夠記錄一個或一組檔案在某一段時間
的變更,使得讀者以後能取回特定版本的系統。
• 記錄檔案變更的系統
• 可提供每次變更(提交)的有意義說明
• 方便取回特定版本
為 什 麼 要 版 本 控 制 系 統 ?
• 檔案被別人或自己覆蓋、甚至遺失
• 想復原前幾天/幾小時/幾分鐘前的版本
• 想知道跟前幾天寫的差異在哪裏
• 誰改了這行程式碼?什麼時候?一起改的有哪些?為什
麼?
程式上線後,需要分成維護版和開發版
非 要 版 本 控 制 系 統 嗎 ?
• 那些台灣產業所缺少的
• 檔案改名備份神功
• 一各檔案一天改50次時,要存幾個備份?
• 依賴檔案變更時,前端怎麼知道?
• 資料夾改名備份護體大法
• 不同資料夾內容有哪些檔案的哪些內容有改變?為什
麼?
其 他 好 處
• 降低 Code Review 門檻,實現 Code Review
• 增強編寫能力
• 找出責任歸屬
• CI 持續整合開發的前置技能點
• 還需要unit test, unit test 需要MVC架構..
• 更好的工作
• GIT 現在是大軟體公司應徵的必備條件!
版 本 控 制 系 統 比 較
集 中 式 ( S V N ) V S 分 散 式 ( G I T )
• 更多說明
集 中 式 分 散 式
連 線 到 S E R V E R 才 能 提 交 本 機 提 交 , 稍 後 上 傳
容 易 控 管 權 限 需 分 拆 儲 存 庫
一 各 檔 案 一 次 只 有 一 個 人 能 更
新 ( 這 未 必 是 好 事 . . )
可 以 多 人 同 時 處 理 同 一 檔 案
( 有 可 能 會 造 成 衝 突 )
M A S T E R / S L A V E
正 規 軍 模 式
P E E R T O P E E R
游 擊 隊 模 式
需 要 嚴 謹 的 規 範 才 能 發 揮 效 果 容 易 於 各 種 詭 異 狀 態 中 使 用
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 T T P : / / W W W . B N E X T . C O M . T W / A R T I C L E / V I E W / I D / 3 5 6 4 3
W H A T I S S O U R C E T R E E
• 好用、免費、免費、免費的 Git GUI Client
• 公司 https://www.atlassian.com/
• 下載位置 https://www.sourcetreeapp.com/ (Win/Mac 版
本都有)
• 15天后需要進行免費註冊
S O U R C E T E E 安 裝
• 1. 下載後點兩下..
• 2. 輸入基本資料 for git (name, email)
• 非必須設定
• 某些網路環境中需要設定對外的 proxy (win/mac 不同)
• 加入常見忽略設定(.gitignore)
• 設定為中文環境..不過他的中文我不是很懂..
S O U R C E T E E
安 裝
• 基本資料畫面(Mac)
S O U R C E T R E E 開 始 使 用
• 建立 ST 管理的repo
• 對ST而言都是新增 REPO(儲存庫),差別在作法
常 用 設 定 — 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
最 常 用 功 能 : C O M M I T 提 交
• commit!!
• by task
• by file
• by segment
• by LINE!!
推 薦 作 法
• DO: 做了什麼
• RE: 為什麼
• ps: 其他的碎碎念
其 他 有 用 功 能
• diff
• log selected: 檔案演進
• blame: 找出這行是誰寫的!
• diff 衍生之 code review
• code review: 透過檢查每次版本的差異,了解撰寫能力
• Tag
D I F F
• 不同檔案內容的比對,也可
以是前一版本與目前版本
Log Selected
所選取檔案的歷次修改記錄
Blame Selected
選取檔案目前版本中,每行的最後一次更改者
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基礎觀念

More Related Content

PDF
寫給大家的 Git 教學
PPTX
Mercurial簡介與教學
PDF
初心者 Git 上手攻略
PPTX
Git基礎介紹
PDF
版本控制 使用Git & git hub
PPTX
Git 入門與實作
PDF
Git and Github basic with SourceTree
PDF
Git Tutorial 教學
寫給大家的 Git 教學
Mercurial簡介與教學
初心者 Git 上手攻略
Git基礎介紹
版本控制 使用Git & git hub
Git 入門與實作
Git and Github basic with SourceTree
Git Tutorial 教學

What's hot (20)

PDF
Git與source tree 基礎教學
PPTX
工程師必備第一工具 - Git
PDF
Xcode 的 git 版本管理
PDF
Git 版本控制 (使用教學)
PDF
Git 版本控制系統 -- 從微觀到宏觀
PPTX
Visual Studio 2015 與 Git 開發實戰
PDF
Git in a nutshell
PDF
連哈秋都懂的Git教學
PDF
幸福快樂的完美結局
PDF
A successful git branching model 導讀
PPTX
開發用不著打一架 - 分散式版本控制 Git
PPTX
git merge 與 rebase 的觀念與實務應用
PDF
Yet another introduction to Git - from the bottom up
PDF
Introduction to git
PPTX
Git 使用介绍
PDF
Git由超淺入超深
PDF
Git tutorial for windows user (給 Windows user 的 Git 教學)
PPTX
Gitlab
PPTX
簡介 GitHub 平台
PDF
Git 入门实战
Git與source tree 基礎教學
工程師必備第一工具 - Git
Xcode 的 git 版本管理
Git 版本控制 (使用教學)
Git 版本控制系統 -- 從微觀到宏觀
Visual Studio 2015 與 Git 開發實戰
Git in a nutshell
連哈秋都懂的Git教學
幸福快樂的完美結局
A successful git branching model 導讀
開發用不著打一架 - 分散式版本控制 Git
git merge 與 rebase 的觀念與實務應用
Yet another introduction to Git - from the bottom up
Introduction to git
Git 使用介绍
Git由超淺入超深
Git tutorial for windows user (給 Windows user 的 Git 教學)
Gitlab
簡介 GitHub 平台
Git 入门实战
Ad

Viewers also liked (19)

PPTX
CocoaPods 使用教學
PDF
工作坊總結
PDF
驗證與訊息
PDF
CRUD 綜合運用
PDF
View 與 Blade 樣板引擎
PDF
Migrations 與 Schema 操作
PDF
使用 Controller
PDF
整合 Open ID
PDF
Package 安裝與使用
PDF
Eloquent ORM
PDF
Digital modulation basics(nnm)
PDF
Route 路由控制
PDF
啟動 Laravel 與環境設定
PDF
使用者認證
PDF
Composer 套件管理
PDF
PHP 語法基礎與物件導向
PDF
開發環境建置
PDF
Model 設定與 Seeding
PDF
Git 實務圖解
CocoaPods 使用教學
工作坊總結
驗證與訊息
CRUD 綜合運用
View 與 Blade 樣板引擎
Migrations 與 Schema 操作
使用 Controller
整合 Open ID
Package 安裝與使用
Eloquent ORM
Digital modulation basics(nnm)
Route 路由控制
啟動 Laravel 與環境設定
使用者認證
Composer 套件管理
PHP 語法基礎與物件導向
開發環境建置
Model 設定與 Seeding
Git 實務圖解
Ad

Similar to Git & Sourcetree 介紹 (20)

PPTX
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
PPTX
Introduction to Version Control System for Windows
PPTX
Git and git hub
PDF
Git Tutorial
PDF
為自己學 Git
PDF
Learning to Use Git | WeiYuan
PPTX
Android 程式設計(4)
PPTX
Git introduction
PPTX
電子內容管理 使用Git 與 github 1
PDF
Git 簡介(古時候的簡報備份)
PPTX
Git & git hub v1.2
PPTX
Git初步入門
PDF
Git 好吃嗎
PPT
Git 超簡單學習懶人包(軟體程式版本控管系統)
PPTX
Git raiders of junior
PPTX
版本控制
PPTX
Gitlab教學
ODP
Git basis - usage
PDF
Intro to Git 投影片
PDF
Git簡介
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Introduction to Version Control System for Windows
Git and git hub
Git Tutorial
為自己學 Git
Learning to Use Git | WeiYuan
Android 程式設計(4)
Git introduction
電子內容管理 使用Git 與 github 1
Git 簡介(古時候的簡報備份)
Git & git hub v1.2
Git初步入門
Git 好吃嗎
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git raiders of junior
版本控制
Gitlab教學
Git basis - usage
Intro to Git 投影片
Git簡介

Git & Sourcetree 介紹

  • 1. G I T & S O U C E T R E E 簡 介
  • 2. 什 麼 是 版 本 控 制 系 統 ? 能 吃 嗎 ? • 版本控制是一個能夠記錄一個或一組檔案在某一段時間 的變更,使得讀者以後能取回特定版本的系統。 • 記錄檔案變更的系統 • 可提供每次變更(提交)的有意義說明 • 方便取回特定版本
  • 3. 為 什 麼 要 版 本 控 制 系 統 ? • 檔案被別人或自己覆蓋、甚至遺失 • 想復原前幾天/幾小時/幾分鐘前的版本 • 想知道跟前幾天寫的差異在哪裏 • 誰改了這行程式碼?什麼時候?一起改的有哪些?為什 麼? 程式上線後,需要分成維護版和開發版
  • 4. 非 要 版 本 控 制 系 統 嗎 ? • 那些台灣產業所缺少的 • 檔案改名備份神功 • 一各檔案一天改50次時,要存幾個備份? • 依賴檔案變更時,前端怎麼知道? • 資料夾改名備份護體大法 • 不同資料夾內容有哪些檔案的哪些內容有改變?為什 麼?
  • 5. 其 他 好 處 • 降低 Code Review 門檻,實現 Code Review • 增強編寫能力 • 找出責任歸屬 • CI 持續整合開發的前置技能點 • 還需要unit test, unit test 需要MVC架構.. • 更好的工作 • GIT 現在是大軟體公司應徵的必備條件!
  • 6. 版 本 控 制 系 統 比 較 集 中 式 ( S V N ) V S 分 散 式 ( G I T ) • 更多說明 集 中 式 分 散 式 連 線 到 S E R V E R 才 能 提 交 本 機 提 交 , 稍 後 上 傳 容 易 控 管 權 限 需 分 拆 儲 存 庫 一 各 檔 案 一 次 只 有 一 個 人 能 更 新 ( 這 未 必 是 好 事 . . ) 可 以 多 人 同 時 處 理 同 一 檔 案 ( 有 可 能 會 造 成 衝 突 ) M A S T E R / S L A V E 正 規 軍 模 式 P E E R T O P E E R 游 擊 隊 模 式 需 要 嚴 謹 的 規 範 才 能 發 揮 效 果 容 易 於 各 種 詭 異 狀 態 中 使 用
  • 7. W H Y I L I K E G I T ? • 門檻低: 不用 server • 其實svn 也可以本機使用,不過麻煩..門檻比較高 • Commit 成本低 • 不用連線、不用check out • 最小單元為"行",而非檔案 • 可以 commit 單行/數行 • 自帶比對功能: diff
  • 8. 向 G I T H U B 投 降 ! G O O G L E C O D E 明 年 正 式 關 閉 H T T P : / / W W W . B N E X T . C O M . T W / A R T I C L E / V I E W / I D / 3 5 6 4 3
  • 9. W H A T I S S O U R C E T R E E • 好用、免費、免費、免費的 Git GUI Client • 公司 https://www.atlassian.com/ • 下載位置 https://www.sourcetreeapp.com/ (Win/Mac 版 本都有) • 15天后需要進行免費註冊
  • 10. S O U R C E T E E 安 裝 • 1. 下載後點兩下.. • 2. 輸入基本資料 for git (name, email) • 非必須設定 • 某些網路環境中需要設定對外的 proxy (win/mac 不同) • 加入常見忽略設定(.gitignore) • 設定為中文環境..不過他的中文我不是很懂..
  • 11. S O U R C E T E E 安 裝 • 基本資料畫面(Mac)
  • 12. S O U R C E T R E E 開 始 使 用 • 建立 ST 管理的repo • 對ST而言都是新增 REPO(儲存庫),差別在作法
  • 13. 常 用 設 定 — 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
  • 14. 最 常 用 功 能 : C O M M I T 提 交 • commit!! • by task • by file • by segment • by LINE!!
  • 15. 推 薦 作 法 • DO: 做了什麼 • RE: 為什麼 • ps: 其他的碎碎念
  • 16. 其 他 有 用 功 能 • diff • log selected: 檔案演進 • blame: 找出這行是誰寫的! • diff 衍生之 code review • code review: 透過檢查每次版本的差異,了解撰寫能力 • Tag
  • 17. D I F F • 不同檔案內容的比對,也可 以是前一版本與目前版本
  • 20. 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
  • 21. 參 考 資 料 • 擊敗 Google、微軟開發者平台,GitHub 憑的是什麼? • 台灣所缺少的: 版本控制系統 • google "git svn 比較" • Git達人教你搞懂GitHub基礎觀念