Enviar pesquisa
Carregar
Git版本管理控管實戰
•
0 gostou
•
29 visualizações
Claire Chang
Seguir
介紹git
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 33
Baixar agora
Baixar para ler offline
Recomendados
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
Liangjun Jiang
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
Rick Hwang
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
Alex Su
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 (Git v2.35.2)
深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 (Git v2.35.2)
Will Huang
Git入门与实践
Git入门与实践
LC2009
Git Flow 管理
Git Flow 管理
Pu Lee
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
Recomendados
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
Liangjun Jiang
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
Rick Hwang
How to integrate GitLab CICD into B2B service
How to integrate GitLab CICD into B2B service
Alex Su
A successful git branching model 導讀
A successful git branching model 導讀
Wen Liao
深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 (Git v2.35.2)
深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 (Git v2.35.2)
Will Huang
Git入门与实践
Git入门与实践
LC2009
Git Flow 管理
Git Flow 管理
Pu Lee
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
Chang Shih-Chieh
Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路
AgileCommunity
Git flow 與團隊合作
Git flow 與團隊合作
Bo-Yi Wu
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
Git for everyone
Git for everyone
書慶 黃書慶
Git 經驗分享
Git 經驗分享
Mu Chun Wang
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
LetAgileFly
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
棋文 鄭
Intro to Git 投影片
Intro to Git 投影片
Tony Yeh
Git
Git
EthanTu
Jira live demo_2020_v20
Jira live demo_2020_v20
Linktech
Git流派與工作流程.pptx
Git流派與工作流程.pptx
健誠 呂
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
Yi-Wei Lai
Git & git flow
Git & git flow
Amo Wu
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
TIM WANG
敏捷開發分享
敏捷開發分享
東城 楊
Git flow
Git flow
shaokun
How we migrate TFS to Git ( using Azure DevOps )
How we migrate TFS to Git ( using Azure DevOps )
Roberson Liou
資訊架構-Blueprints For The Web Ch1
資訊架構-Blueprints For The Web Ch1
William Lin
我們要做什麼」20230707
我們要做什麼」20230707
Claire Chang
Pixi.js網頁遊戲開發實戰
Pixi.js網頁遊戲開發實戰
Claire Chang
Mais conteúdo relacionado
Semelhante a Git版本管理控管實戰
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
Chang Shih-Chieh
Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路
AgileCommunity
Git flow 與團隊合作
Git flow 與團隊合作
Bo-Yi Wu
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
Git for everyone
Git for everyone
書慶 黃書慶
Git 經驗分享
Git 經驗分享
Mu Chun Wang
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
LetAgileFly
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
棋文 鄭
Intro to Git 投影片
Intro to Git 投影片
Tony Yeh
Git
Git
EthanTu
Jira live demo_2020_v20
Jira live demo_2020_v20
Linktech
Git流派與工作流程.pptx
Git流派與工作流程.pptx
健誠 呂
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
Yi-Wei Lai
Git & git flow
Git & git flow
Amo Wu
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
TIM WANG
敏捷開發分享
敏捷開發分享
東城 楊
Git flow
Git flow
shaokun
How we migrate TFS to Git ( using Azure DevOps )
How we migrate TFS to Git ( using Azure DevOps )
Roberson Liou
資訊架構-Blueprints For The Web Ch1
資訊架構-Blueprints For The Web Ch1
William Lin
Semelhante a Git版本管理控管實戰
(20)
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
以 PM 角度來看轉型 Agile 的歷程,與那些踩過的坑
Project GATE 的敏捷實踐之路
Project GATE 的敏捷實踐之路
Git flow 與團隊合作
Git flow 與團隊合作
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Git for everyone
Git for everyone
Git 經驗分享
Git 經驗分享
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
Intro to Git 投影片
Intro to Git 投影片
Git
Git
Jira live demo_2020_v20
Jira live demo_2020_v20
Git流派與工作流程.pptx
Git流派與工作流程.pptx
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
Git & git flow
Git & git flow
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
敏捷開發分享
敏捷開發分享
Git flow
Git flow
How we migrate TFS to Git ( using Azure DevOps )
How we migrate TFS to Git ( using Azure DevOps )
資訊架構-Blueprints For The Web Ch1
資訊架構-Blueprints For The Web Ch1
Mais de Claire Chang
我們要做什麼」20230707
我們要做什麼」20230707
Claire Chang
Pixi.js網頁遊戲開發實戰
Pixi.js網頁遊戲開發實戰
Claire Chang
ansible
ansible
Claire Chang
薩提爾的對話練習
薩提爾的對話練習
Claire Chang
從零架設直播伺服器
從零架設直播伺服器
Claire Chang
Learn to code 2 - Beyond the Basics
Learn to code 2 - Beyond the Basics
Claire Chang
Ane
Ane
Claire Chang
Starling
Starling
Claire Chang
Auto layout in i os 7
Auto layout in i os 7
Claire Chang
Mais de Claire Chang
(9)
我們要做什麼」20230707
我們要做什麼」20230707
Pixi.js網頁遊戲開發實戰
Pixi.js網頁遊戲開發實戰
ansible
ansible
薩提爾的對話練習
薩提爾的對話練習
從零架設直播伺服器
從零架設直播伺服器
Learn to code 2 - Beyond the Basics
Learn to code 2 - Beyond the Basics
Ane
Ane
Starling
Starling
Auto layout in i os 7
Auto layout in i os 7
Git版本管理控管實戰
1.
Claire Chang Git版本控管實戰 課程分享
2.
為什麼想去上課 ❖ 導入GIT後在mobile2.0開發完成要合併時發⽣嚴重衝突 ❖ 整體開發流程上尚未建⽴⼀致的流程概念 ❖
因⾃⼰和團隊對GIT不熟悉,導致容易在操作GIT時因操 作錯誤產⽣問題,並且在遇到問題時不知該如何解決 ❖ 現有的GIT線圖混亂⽽難以辨視,讓GIT的優點無法在團 隊內發⽣效果(反⽽比SVN時代更難理解)
3.
這次分享的⽬標 ❖ 建⽴⼀套操作GIT的標準流程規範(包括統⼀PULL⽅ 式,與Designer的合作模式,分⽀合併策略的統⼀等 等) ❖ 提升團隊成員對GIT的了解度,使團隊減少因操作問題⽽ 發⽣的錯誤 ❖
讓團隊的GIT分⽀圖能夠更易於理解與辨視
4.
5.
<< 終極⽬標
6.
分散式版本控管 ❖ 分為『⼯作區』及『儲存庫』 ❖ 本地端⼯作區會有⼀份完整的儲存庫 ❖
沒有.git⽬錄可⽤git init⾃⼰建⼀個 ❖ 砍掉.git等於刪除所有版控資訊 ❖ 擁有.git⽬錄等於可以隨時復原所有歷史原始碼
7.
8.
儲存庫(Repository) ❖ 本地儲存庫( Local
Repository ) ❖ 同時包含⼯作⽬錄與儲存庫 ❖ 預設位於⼯作⽬錄下的.git 資料夾 ❖ 遠端儲存庫( Remote Repository ) ❖ 僅儲存庫(Bare Repository) ❖ GitHub / Bitbucket / Visual Studio Team Services / … ❖ 共⽤儲存庫( Shared Repository ) ❖ 僅儲存庫(Bare Repository) ❖ 使⽤⽅式跟遠端儲存庫⼀樣 ❖ 可以⽤git init--bare建⽴共⽤儲存庫
9.
了解Git 資料結構 ❖ 物件(
Object ) ❖ ⽤來保存儲存庫中所有檔案與版本紀錄( 或稱「物件儲存區」) ❖ 屬於⼀種「不可變的」(immutable) 檔案類型 ❖ 區分四種物件類型 ❖ blob儲存檔案內容 ❖ tree儲存⽬錄內容(儲存⽬錄下有哪些檔名) ❖ commit儲存版本內容 ❖ tag儲存標籤內容 ❖ 索引( Index ) ❖ ⽤來保存要進儲存庫之前的所有檔案狀態 ❖ 屬於⼀種「可變的」(mutable) 檔案類型 ❖ 主要位於.git/index檔案(⼆進位檔) ❖ 介於物件儲存區(object storage) 與⼯作⽬錄(working directory) ❖ 不在索引中的檔案又稱為untracked files
10.
11.
查看物件ID / 內容/
類型/ ⼤⼩ ❖ 計算物件編號(object id) git hash-object filename.ext ❖ 查看物件內容(pretty print) git cat-file -p a023a56eb2870c106ea9b968ece62604c9d81bb1 ❖ 查看物件類型(type) git cat-file -t a023a56eb2870c106ea9b968ece62604c9d81bb1 ❖ 查看物件⼤⼩(size) git cat-file -s a023a56eb2870c106ea9b968ece62604c9d81bb1
12.
13.
問題: 如果有⼀個SHA壓縮後1GB的⽂字檔,今 天修改了裡⾯1byte的內容,commit後git儲 存庫的⼤⼩會增加多少呢︖
14.
儲存庫、⼯作⽬錄與索引的關係圖
15.
顯⽰前幾次在GIT操作過的指令 git reflog
16.
深入了解RESET ❖ 主要⽤途:將當前分⽀復原變更–復原上次認可( Undo last
commit ) git reset HEAD~ ❖ 字⾯翻譯:將當前分⽀重置到指定版本–復原至特定版本 git reset 9ac91edf7342c14c3698f27cb4a18ea5727c3d53
17.
問題:TAG與BRANCH有什麼不 ⼀樣︖
18.
關於「分⽀」的真正意義 ❖ 三維空間(3D) 外加⼀個時間維度可以稱為四維空間(4D) ❖
分⽀就是⼀個可以讓你標記時間維度的指標 ❖ 分⽀是⼀個會隨著時間演進的指標 ❖ 標籤則是⼀個不會隨著時間演進的指標 ❖ 分⽀在Git 中就是⼀個⽂字檔案紀載著⽬前版本的位置 ❖ 「切換分⽀」( Checkout ) 等同於「控制時間維度」
19.
合併(Merging) ❖ ⼀般合併 ❖ git
merge ❖ git merge —no-ff ❖ git merge —squash ❖ git merge —no-commit ❖ git merge —abort ❖ 正向挑選合併(撿櫻桃) ❖ git cherry-pick ❖ git cherry-pick —continue ❖ git cherry-pick —quit ❖ git cherry-pick —abort ❖ 重新指定基礎位置合併 ❖ git rebase ❖ git rebase -i ❖ git rebase —continue ❖ git rebase —skip ❖ git rebase —abort ❖ 反向挑選合併 ❖ git revert ❖ git revert —continue ❖ git revert —quit ❖ git revert --abort
20.
合併「不同世界」的分⽀
21.
分⽀合併與衝突處理
22.
其他不同的合併⽅式
23.
保持「⼯作⽬錄」的乾淨清爽
24.
認識detached HEAD 狀態
25.
認識fast-forward Fast forward 合併之前 no Fast
forward
26.
重新認識git pull ❖ 等同於下列命令 ❖
git fetch origin <branch> ❖ git merge FETCH_HEAD
27.
保哥的強烈建議 ❖ 最好在AD登入時每個⼈都執⾏這個 ❖ git
config —global pull.ff only ❖ 預設改⽤rebase進⾏合併 ❖ 不要把主要分⽀合併到次要分⽀,如果次要分⽀需要更 新主要分⽀的內容,⽤rebase的⽅式,這樣線圖的箭頭才 不會來來回回的很亂
28.
看圖說故事 誰把DEV偷⾛了
29.
30.
31.
重定基底(Rebase)
32.
Rebase DEMO
33.
改善建議 ❖ 預設改⽤rebase進⾏合併 git config
—global pull.ff only ❖ Branch需要更新dev資料時,使⽤rebase取代merge ❖ dev要合併到qat時,加下—no-ff參數 ❖ Designer不實際參與GIT操作 ❖ 每個⼈⾃⼰⼀個branch(這邊叫Sena branch好了) ❖ 送交:寫好bat檔,點兩下輸入訊息後⾃動做commit和push。 ❖ 取得檔案:要切換到不同的QAT單⼯作時,設計⼀個bat檔,點兩 下後輸入單號,該bat檔會⾃動reset Sena branch,然後rebase到 該單號的HEAD。(將本地端未COMMIT的所有之前的⼯作內容 清空)
Baixar agora