狠狠撸

狠狠撸Share 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基礎觀念
Ad

Recommended

惭别谤肠耻谤颈补濒介绍与教学
惭别谤肠耻谤颈补濒介绍与教学
芳本 林
?
初心者 Git 上手攻略
初心者 Git 上手攻略
Lucien Lee
?
骋颈迟基础介绍
骋颈迟基础介绍
Max Ma
?
版本控制 使用Git & git hub
版本控制 使用Git & git hub
維佋 唐
?
寫給大家的 Git 教學
寫給大家的 Git 教學
littlebtc
?
Git 入門與實作
Git 入門與實作
奕浦 郭
?
Git and Github basic with SourceTree
Git and Github basic with SourceTree
Chu-Siang Lai
?
Git Tutorial 教學
Git Tutorial 教學
Wen-Tien Chang
?
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
?
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
?
Xcode 的 git 版本管理
Xcode 的 git 版本管理
彼得潘 Pan
?
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
?
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
?
Visual Studio 2015 與 Git 開發實戰
Visual Studio 2015 與 Git 開發實戰
Will Huang
?
Git in a nutshell
Git in a nutshell
Nelson Tai
?
连哈秋都懂的骋颈迟教学
连哈秋都懂的骋颈迟教学
hydai
?
幸福快乐的完美结局
幸福快乐的完美结局
Anna Su
?
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
?
開發用不著打一架 - 分散式版本控制 Git
開發用不著打一架 - 分散式版本控制 Git
Calvin Huang
?
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
?
Yet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
?
Introduction to git
Introduction to git
Bo-Yi Wu
?
Git 使用介绍
Git 使用介绍
medcl
?
骋颈迟由超浅入超深
骋颈迟由超浅入超深
羊 小咩 (lamb-mei)
?
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
?
Gitlab
Gitlab
Tom Chen
?
簡介 GitHub 平台
簡介 GitHub 平台
Will Huang
?
Git 入门实战
Git 入门实战
icy leaf
?
CocoaPods 使用教學
CocoaPods 使用教學
ShengWen Chiou
?
工作坊总结
工作坊总结
Shengyou Fan
?

More Related Content

What's hot (20)

Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
?
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
?
Xcode 的 git 版本管理
Xcode 的 git 版本管理
彼得潘 Pan
?
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
?
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
?
Visual Studio 2015 與 Git 開發實戰
Visual Studio 2015 與 Git 開發實戰
Will Huang
?
Git in a nutshell
Git in a nutshell
Nelson Tai
?
连哈秋都懂的骋颈迟教学
连哈秋都懂的骋颈迟教学
hydai
?
幸福快乐的完美结局
幸福快乐的完美结局
Anna Su
?
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
?
開發用不著打一架 - 分散式版本控制 Git
開發用不著打一架 - 分散式版本控制 Git
Calvin Huang
?
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
?
Yet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
?
Introduction to git
Introduction to git
Bo-Yi Wu
?
Git 使用介绍
Git 使用介绍
medcl
?
骋颈迟由超浅入超深
骋颈迟由超浅入超深
羊 小咩 (lamb-mei)
?
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
?
Gitlab
Gitlab
Tom Chen
?
簡介 GitHub 平台
簡介 GitHub 平台
Will Huang
?
Git 入门实战
Git 入门实战
icy leaf
?
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
?
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
?
Xcode 的 git 版本管理
Xcode 的 git 版本管理
彼得潘 Pan
?
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
?
Visual Studio 2015 與 Git 開發實戰
Visual Studio 2015 與 Git 開發實戰
Will Huang
?
Git in a nutshell
Git in a nutshell
Nelson Tai
?
连哈秋都懂的骋颈迟教学
连哈秋都懂的骋颈迟教学
hydai
?
幸福快乐的完美结局
幸福快乐的完美结局
Anna Su
?
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
?
開發用不著打一架 - 分散式版本控制 Git
開發用不著打一架 - 分散式版本控制 Git
Calvin Huang
?
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
?
Yet another introduction to Git - from the bottom up
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
?
Introduction to git
Introduction to git
Bo-Yi Wu
?
Git 使用介绍
Git 使用介绍
medcl
?
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
?
簡介 GitHub 平台
簡介 GitHub 平台
Will Huang
?
Git 入门实战
Git 入门实战
icy leaf
?

Viewers also liked (19)

CocoaPods 使用教學
CocoaPods 使用教學
ShengWen Chiou
?
工作坊总结
工作坊总结
Shengyou Fan
?
验证与讯息
验证与讯息
Shengyou Fan
?
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
?
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
?
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
?
使用 Controller
使用 Controller
Shengyou Fan
?
整合 Open ID
整合 Open ID
Shengyou Fan
?
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
?
Eloquent ORM
Eloquent ORM
Shengyou Fan
?
Digital modulation basics(nnm)
Digital modulation basics(nnm)
nnmaurya
?
Route 路由控制
Route 路由控制
Shengyou Fan
?
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
?
使用者认证
使用者认证
Shengyou Fan
?
Composer 套件管理
Composer 套件管理
Shengyou Fan
?
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
?
开发环境建置
开发环境建置
Shengyou Fan
?
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
?
Git 實務圖解
Git 實務圖解
Pokai Chang
?
Ad

Similar to Git & Sourcetree 介紹 (20)

大家應該都要會的工具 Git 從放棄到會用1-基礎篇
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Alan Tsai
?
Introduction to Version Control System for Windows
Introduction to Version Control System for Windows
Peter Chang
?
Git and git hub
Git and git hub
唯 李
?
Git Tutorial
Git Tutorial
Drake Huang
?
為自己學 Git
為自己學 Git
昀 李
?
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
Wei-Yuan Chang
?
Android 程式設計(4)
Android 程式設計(4)
Roy Wang
?
Git introduction
Git introduction
mythnc
?
電子內容管理 使用Git 與 github 1
電子內容管理 使用Git 與 github 1
Alan Tsai
?
Git 簡介(古時候的簡報備份)
Git 簡介(古時候的簡報備份)
Hsin-lin Cheng
?
Git & git hub v1.2
Git & git hub v1.2
Chris Chen
?
骋颈迟初步入门
骋颈迟初步入门
recast203
?
Git 好吃嗎
Git 好吃嗎
Szuping Wang
?
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
flylon
?
Git raiders of junior
Git raiders of junior
Kevin Chen
?
版本控制
版本控制
Wen-Hsien SU
?
骋颈迟濒补产教学
骋颈迟濒补产教学
ssuserc68ac2
?
Git basis - usage
Git basis - usage
Eason Cao
?
Intro to Git 投影片
Intro to Git 投影片
Tony Yeh
?
骋颈迟介绍
骋颈迟介绍
Stanley Chen
?
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Alan Tsai
?
Introduction to Version Control System for Windows
Introduction to Version Control System for Windows
Peter Chang
?
Git and git hub
Git and git hub
唯 李
?
為自己學 Git
為自己學 Git
昀 李
?
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
Wei-Yuan Chang
?
Android 程式設計(4)
Android 程式設計(4)
Roy Wang
?
Git introduction
Git introduction
mythnc
?
電子內容管理 使用Git 與 github 1
電子內容管理 使用Git 與 github 1
Alan Tsai
?
Git 簡介(古時候的簡報備份)
Git 簡介(古時候的簡報備份)
Hsin-lin Cheng
?
Git & git hub v1.2
Git & git hub v1.2
Chris Chen
?
骋颈迟初步入门
骋颈迟初步入门
recast203
?
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
flylon
?
Git raiders of junior
Git raiders of junior
Kevin Chen
?
骋颈迟濒补产教学
骋颈迟濒补产教学
ssuserc68ac2
?
Git basis - usage
Git basis - usage
Eason Cao
?
Intro to Git 投影片
Intro to Git 投影片
Tony Yeh
?
Ad

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基礎觀念