SlideShare a Scribd company logo
Remote
Repository
Other Git Repository
Local
Repository
new_branch_joshku
new_branch_bugfix
new_branch_feature
Clone
Fork
Pull Request
Create Pull Request
Merge from
remote branch
*1
開發中,隨時pull from master
確認開發是在最新的狀態中
以免發生之後合併造成reflix
*2
.gitignore 檔案
不只是比較機密的檔案,有時候一些程式編譯
的中間檔或暫存檔,因為每次只要一編譯就等
於產生一次新的檔案,對專案來說通常沒有實
質的利用價值,像這樣的檔案其實也不會想讓
它進到Git 裡。
Commit
Push
Fetch
*3
git fetch + git merge等同於git pull。
*4
如發生conflict 需手動解決,越頻繁的
branches越容易發生
*3採用Git-flow 開發流程
可以使用SourceTree 內建Git-flow功能
主要分支
1. master: 主要是用來放穩定、隨時可上線的版本。這個分支的來源只能從別的分支合併過來,開發者不會直
接Commit 到這個分支。因為是穩定版本,所以通常也會在這個分支上的Commit 上打上版本號標籤。
2. develop: 這個分支主要是所有開發的基礎分支,當要新增功能的時候,所有的Feature 分支都是從這個分
支切出去的。而Feature 分支的功能完成後,也都會合併回來這個分支。
支援性分支
1. Feature branches: 當要開始新增功能的時候,就是使用Feature 分支的時候了。Feature 分支都是從
Develop 分支來的,完成之後會再併回Develop 分支。
2. Release branches:當認為Develop 分支夠成熟了,就可以把Develop 分支合併到Release 分支,在這邊
進行算是上線前的最後測試。測試完成後,Release 分支將會同時合併到Master 以及Develop 這兩個分
支上。Master 分支是上線版本,而合併回Develop 分支的目的,是因為可能在Release 分支上還會測到
並修正一些問題,所以需要跟Develop 分支同步,免得之後的版本又再度出現同樣的問題。
3. Hotfix branches: 當線上產品發生緊急問題的時候,會從Master 分支開一個Hotfix 分支出來進行修復,
Hotfix 分支修復完成之後,會合併回Master 分支,也同時會合併一份到Develop 分支。
為什麼要合併回Develop 分支?如果不這麼做,等到時候Develop 分支完成並且合併回Master 分支的時
候,那個問題就又再次出現了。
那為什麼一開始不從Develop 分支切出來修?因為Develop 分支的功能可能尚在開發中,這時候硬是要從
這裡切出去修再合併回Master 分支,只會造成更大的災難。

More Related Content

PDF
First meetingwithgit
PPTX
Android 程式設計(4)
PDF
Git入门与实践
PPTX
簡介 GitHub 平台
PDF
Git與source tree 基礎教學
PPTX
Git内部培训文档
PPTX
Github簡介
PDF
Git簡介
First meetingwithgit
Android 程式設計(4)
Git入门与实践
簡介 GitHub 平台
Git與source tree 基礎教學
Git内部培训文档
Github簡介
Git簡介

What's hot (20)

PDF
Xcode 的 git 版本管理
PPTX
Git Essence Tutorial
PPTX
git merge 與 rebase 的觀念與實務應用
PDF
Git 簡介(古時候的簡報備份)
PPTX
開發用不著打一架 - 分散式版本控制 Git
PDF
A successful git branching model 導讀
PPTX
20170510 git 懶人包
PPT
Git 简介
PPTX
工程師必備第一工具 - Git
PPTX
Git 入門與實作
PDF
Git&Github Tutorial
PPTX
Visual Studio 2015 與 Git 開發實戰
PDF
寫給大家的 Git 教學
PPTX
Git & Sourcetree 介紹
PDF
初心者 Git 上手攻略
PDF
git, repo, Gerrit 基礎教學
PPTX
Git Flow 管理
PDF
Learning to Use Git | WeiYuan
PDF
Use Git-flow Manage Your Git Workflow
PPTX
Git基礎介紹
Xcode 的 git 版本管理
Git Essence Tutorial
git merge 與 rebase 的觀念與實務應用
Git 簡介(古時候的簡報備份)
開發用不著打一架 - 分散式版本控制 Git
A successful git branching model 導讀
20170510 git 懶人包
Git 简介
工程師必備第一工具 - Git
Git 入門與實作
Git&Github Tutorial
Visual Studio 2015 與 Git 開發實戰
寫給大家的 Git 教學
Git & Sourcetree 介紹
初心者 Git 上手攻略
git, repo, Gerrit 基礎教學
Git Flow 管理
Learning to Use Git | WeiYuan
Use Git-flow Manage Your Git Workflow
Git基礎介紹
Ad

Similar to Git tutorial (20)

PDF
Introduction to git
PDF
Git 版本控制系統 -- 從微觀到宏觀
ODP
Git 程式碼版本控制軟體介紹
PDF
Git in a nutshell
PDF
Git 入門與應用
PDF
Intro to Git 投影片
ODP
Git 教學
PPTX
Git & git flow
PPTX
GIT實務操作與理論
PPTX
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
PDF
Git 經驗分享
PDF
Git Flow基礎操作與觀念介紹
PPTX
Git & git hub v1.2
PPTX
Git introduction
PDF
Git Tutorial
PPTX
Git and git hub
PDF
Git 版本控制 (使用教學)
PDF
Git and Github basic with SourceTree
PDF
Git由超淺入超深
PPTX
大家應該都要會的工具 Git 從放棄到會用2-分支篇
Introduction to git
Git 版本控制系統 -- 從微觀到宏觀
Git 程式碼版本控制軟體介紹
Git in a nutshell
Git 入門與應用
Intro to Git 投影片
Git 教學
Git & git flow
GIT實務操作與理論
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
Git 經驗分享
Git Flow基礎操作與觀念介紹
Git & git hub v1.2
Git introduction
Git Tutorial
Git and git hub
Git 版本控制 (使用教學)
Git and Github basic with SourceTree
Git由超淺入超深
大家應該都要會的工具 Git 從放棄到會用2-分支篇
Ad

Git tutorial

  • 1. Remote Repository Other Git Repository Local Repository new_branch_joshku new_branch_bugfix new_branch_feature Clone Fork Pull Request Create Pull Request Merge from remote branch *1 開發中,隨時pull from master 確認開發是在最新的狀態中 以免發生之後合併造成reflix *2 .gitignore 檔案 不只是比較機密的檔案,有時候一些程式編譯 的中間檔或暫存檔,因為每次只要一編譯就等 於產生一次新的檔案,對專案來說通常沒有實 質的利用價值,像這樣的檔案其實也不會想讓 它進到Git 裡。 Commit Push Fetch *3 git fetch + git merge等同於git pull。 *4 如發生conflict 需手動解決,越頻繁的 branches越容易發生
  • 2. *3採用Git-flow 開發流程 可以使用SourceTree 內建Git-flow功能 主要分支 1. master: 主要是用來放穩定、隨時可上線的版本。這個分支的來源只能從別的分支合併過來,開發者不會直 接Commit 到這個分支。因為是穩定版本,所以通常也會在這個分支上的Commit 上打上版本號標籤。 2. develop: 這個分支主要是所有開發的基礎分支,當要新增功能的時候,所有的Feature 分支都是從這個分 支切出去的。而Feature 分支的功能完成後,也都會合併回來這個分支。 支援性分支 1. Feature branches: 當要開始新增功能的時候,就是使用Feature 分支的時候了。Feature 分支都是從 Develop 分支來的,完成之後會再併回Develop 分支。 2. Release branches:當認為Develop 分支夠成熟了,就可以把Develop 分支合併到Release 分支,在這邊 進行算是上線前的最後測試。測試完成後,Release 分支將會同時合併到Master 以及Develop 這兩個分 支上。Master 分支是上線版本,而合併回Develop 分支的目的,是因為可能在Release 分支上還會測到 並修正一些問題,所以需要跟Develop 分支同步,免得之後的版本又再度出現同樣的問題。 3. Hotfix branches: 當線上產品發生緊急問題的時候,會從Master 分支開一個Hotfix 分支出來進行修復, Hotfix 分支修復完成之後,會合併回Master 分支,也同時會合併一份到Develop 分支。 為什麼要合併回Develop 分支?如果不這麼做,等到時候Develop 分支完成並且合併回Master 分支的時 候,那個問題就又再次出現了。 那為什麼一開始不從Develop 分支切出來修?因為Develop 分支的功能可能尚在開發中,這時候硬是要從 這裡切出去修再合併回Master 分支,只會造成更大的災難。