C008|分支在開發流程中扮演什麼角色?

更新於 發佈於 閱讀時間約 2 分鐘

儲存庫 (Repository) 是檔案(File)的儲存區域。


在版本控制中,儲存庫是包含所有檔案的資料夾[1]。


每次改動檔案,你都可以選擇要不要儲存。


而那些有被處存的改動,就被稱為「提交 Commit」[2]。


而當一個儲存庫有多個開發者(Developer)在貢獻,


大家改動的路徑會不一樣,


就可能會使用到「分支 Branch」的概念。


「分支 Branch」的定義,


是「開發的其他路徑 Other paths of Development」[3]。


這個定義對我十分有啟發,


因為在盧曼的卡片盒筆記法中,


也有一個概念叫「內部分支 Internal Branching」[4]。


但盧曼卡片盒筆記法與Git的版本控制有個很大的區別,


就是前者是不會覆蓋過去的紀錄,


而後者則是接納一切的新增,覆蓋,刪除。


這樣一想,持續寫卡片筆記,


見證自己卡片盒每一個版本的迭代,


的確是一個不可逆的過程。


而寫文件,透過Git做版本控制,


則是一個可逆過程,


某條Branch發展得太爛或偏離主線,


都可以跳回之前某個版本號再繼續生長。


很有意思,希望之後再寫學術論文中也觀察到類似的事情。


Reference

[1] Section 2.1.3, https://www.manning.com/books/learn-git-in-a-month-of-lunches

[2] Section 2.1.4, https://www.manning.com/books/learn-git-in-a-month-of-lunches

[3] Section 2.1.5, https://www.manning.com/books/learn-git-in-a-month-of-lunches

[4] https://luhmann.ir/wp-content/uploads/2021/07/Communicating-with-Slip-Boxes.pdf

avatar-img
534會員
1.8K內容數
Outline as Content
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
王啟樺的沙龍 的其他內容
學術工作最有趣的地方, 就是可以去研究各式各樣有趣的現象。 剛開始念博士, 基本上只能去解其他人提出的問題, 而貢獻也就是技術上又做得難一點。 博士畢業後, 托老闆的福, 有一個好的研究環境, 有充足的時間去探索各種, 由生成式AI引發的一系列資
28歲之前,我也曾認為基礎科學研究與現實脫節。然而,隨著我在美國普渡大學的求學經歷,這一觀點逐漸發生了變化。回顧我在台灣大學數學系、應用數學所,以及中央研究院統計所的七年時光,確實感覺基礎研究似乎與現實相距甚遠。然而,博士時期的經歷讓我有機會追尋許多重要問題的源頭,逐漸理解到有價值的基礎科學研究,最
「透過體驗所得到的感受與情緒,是獨一無二的。」 「獨特的語言,是說服力與原創性的關鍵。」 「為了獲得專屬於你自己的語言,把握機會進行各式各樣的體驗吧!」 這3句話,節錄於日本作者山口拓郎[1]的著書, 《「うまく言葉にできない」がなくなる 言語化大全 》[2]的第38頁。
無論你是內容創作者、學生還是專業工作者, 微論文都能幫助你提升寫作技能,精練思想。 微論文強調從經驗、意見和事件三方面入手, 使文章更具深度和多樣性。 在這篇文章中, 我將分享三個關於微論文的重要啟發, 幫助你更好地運用這種寫作方式。 ▋啟發1 - 深入理解
版本控制 (Version Control), 是一種追蹤檔案被更改歷史的技術, 是團隊合作必備的工作實務[1]。 我在博士一二年級時期, 比較像是單打獨鬥, 與合作的學弟妹也是一對一溝通, 可以維持同步,把研究成果做出來。 然而,當我到博士三年級以後,
我從2020年博士四年級開始使用Obsidian, 到現在2024年已經有快5年的經驗。 每個時期需要產出的知識工作成果不一樣, 所以我的Obsidian知識生產工作流也是一直不斷在調整。 照我的經驗, 要打造自己最順手的工作流, 你需要先定義清楚「產出物」是什麼
學術工作最有趣的地方, 就是可以去研究各式各樣有趣的現象。 剛開始念博士, 基本上只能去解其他人提出的問題, 而貢獻也就是技術上又做得難一點。 博士畢業後, 托老闆的福, 有一個好的研究環境, 有充足的時間去探索各種, 由生成式AI引發的一系列資
28歲之前,我也曾認為基礎科學研究與現實脫節。然而,隨著我在美國普渡大學的求學經歷,這一觀點逐漸發生了變化。回顧我在台灣大學數學系、應用數學所,以及中央研究院統計所的七年時光,確實感覺基礎研究似乎與現實相距甚遠。然而,博士時期的經歷讓我有機會追尋許多重要問題的源頭,逐漸理解到有價值的基礎科學研究,最
「透過體驗所得到的感受與情緒,是獨一無二的。」 「獨特的語言,是說服力與原創性的關鍵。」 「為了獲得專屬於你自己的語言,把握機會進行各式各樣的體驗吧!」 這3句話,節錄於日本作者山口拓郎[1]的著書, 《「うまく言葉にできない」がなくなる 言語化大全 》[2]的第38頁。
無論你是內容創作者、學生還是專業工作者, 微論文都能幫助你提升寫作技能,精練思想。 微論文強調從經驗、意見和事件三方面入手, 使文章更具深度和多樣性。 在這篇文章中, 我將分享三個關於微論文的重要啟發, 幫助你更好地運用這種寫作方式。 ▋啟發1 - 深入理解
版本控制 (Version Control), 是一種追蹤檔案被更改歷史的技術, 是團隊合作必備的工作實務[1]。 我在博士一二年級時期, 比較像是單打獨鬥, 與合作的學弟妹也是一對一溝通, 可以維持同步,把研究成果做出來。 然而,當我到博士三年級以後,
我從2020年博士四年級開始使用Obsidian, 到現在2024年已經有快5年的經驗。 每個時期需要產出的知識工作成果不一樣, 所以我的Obsidian知識生產工作流也是一直不斷在調整。 照我的經驗, 要打造自己最順手的工作流, 你需要先定義清楚「產出物」是什麼
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
在進行Electron 專案時,後端夥伴選擇將 sqlite 資料庫跟專案檔打包成一個執行檔。在開發過程中,前端的操作經常會更動到 db的資料,此時 Git 就會追蹤到 db 的變化,因此前端在推送檔案到遠端 repo 前,會需要將其移出 Git 追蹤範圍,該怎麼做?
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
Thumbnail
資料庫之備份工作大都是自動執行,但是執行結果是否成功,需要安排人員去檢查,有時疏忽忘記確認作業,致備份工作失敗仍不知道,等到有一天需要回復舊有資料的場合時,才發現找不到過去某段期間的備份資料,造成無法彌補之後果。   2.    改善: 2.1 設計一執行檔,功能為打開備
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
這篇文章介紹了機關檔案分類表的編製方法,以及在文書處理過程中需要注意的事項。同時也提到了檔案管理人員的工作內容和相關法令。文章總結了檔案管理的重要性和相關程序。
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
在進行Electron 專案時,後端夥伴選擇將 sqlite 資料庫跟專案檔打包成一個執行檔。在開發過程中,前端的操作經常會更動到 db的資料,此時 Git 就會追蹤到 db 的變化,因此前端在推送檔案到遠端 repo 前,會需要將其移出 Git 追蹤範圍,該怎麼做?
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
※ 需要做版本備份時: git init:初始化此資料夾,由git 開始追蹤版本控制。 git add:將檔案加入到暫存區。 git commit:把暫存區的內容提交到儲存庫。 git status:查看目前所有檔案的狀態。 git log:查看過去所有commit的記錄。 ※ 需要做修
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
Thumbnail
資料庫之備份工作大都是自動執行,但是執行結果是否成功,需要安排人員去檢查,有時疏忽忘記確認作業,致備份工作失敗仍不知道,等到有一天需要回復舊有資料的場合時,才發現找不到過去某段期間的備份資料,造成無法彌補之後果。   2.    改善: 2.1 設計一執行檔,功能為打開備
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人