歡迎您光臨本站 註冊首頁

實時 Git,在版本控制之前控制源碼

←手機掃碼閱讀     admin @ 2019-07-09 , reply:0

Git 用於源代碼版本控制已經是一個很強大的神器了,但是有人在此基礎上還開發了一個被認為是「實時 Git」的工具。

這個工具叫 Coactive,它以 Visual Studio 插件的形式存在,作者描述它的作用是讓開發者實時查看隊友正在處理哪些文件(如上圖),並且在操作 commit 之前,都可以查看到文件版本與自己的版本之間的差異(如下圖),這樣可以讓整個開發團隊不同的成員在確定某一版本代碼之前心理有數,寫出的代碼能夠盡量避免合併衝突。

這樣的功能,其實就是把 Git 的階段性操作(版本)再微分到開發團隊中每個人編寫代碼過程中的每個時刻,所以有人評論這是一個實時 Git,「它在源代碼進行版本控制之前進行版本控制,怎麼可能出錯?」,表達了他們對於這一創造性設計的驚嘆:

但是評論中也有不同的聲音,有個 20 年經驗的版本控制老司機認為這種方法存在問題,他的想法是這樣的:

  • 這種類似鎖定文件來防止合併衝突的方法其實早在 Git 和 SVN 之前就有了,但是文件級粒度的版本控制沒有意義,許多代碼庫文件都有成千上萬行代碼,如果有人在同一個文件中工作,那會導致大量誤報;
  • 並不是所有代碼更改都要 commit,通常會對調試或原型進行本地更改,並計劃丟棄,或將它們提交給新的分支。
  • 分支情況又怎麼確定?通知純粹是基於文件名嗎?那你如果收到與其他工程師正在處理同一個文件的信息,但是這個文件是在同一個分支上嗎?
  • Coactive 無法避免衝突,它只會減少衝突的數量,但會以其它方式增加成本。開發者必須思考一大堆問題才能知道如何解決衝突,比如「我是否要改變我的計劃並等到 Bob 完成該文件?」、「我是否要發消息給 Bob,了解他的計劃是什麼?」、「我們要編輯相同的行嗎?」、「怎樣可以更快/更容易地處理衝突?」

老司機認為 Coactive 這個工具對於涉及到的文件很少的小團隊會非常有用,但是文件多了就會適得其反,而溝通才是更重要的,他說:「我不認為插件可以取代傳統的團隊溝通。」。

下邊的跟帖有人還據此提出了完善建議,他認為直接讓該工具只給出衝突提示,而不是文件級的源碼差異,這樣就可以適用於大型團隊:

你怎麼看呢?

Coactive 運行環境需要:

  • Visual Studio 2017 或 2019
  • Git

項目主頁:https://coactive.io


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/108091/coactive-the-real-time-git
實時 Git,在版本控制之前控制源碼已經有241次圍觀

http://coctec.com/news/soft/show-post-209347.html