騰訊又開發一款新工具,用起來真優雅!

来源:https://www.cnblogs.com/javastack/p/18426649
-Advertisement-
Play Games

UGit 是一款為騰訊內部研發環境特點而定製的 Git 客戶端,旨在提高開發效率和團隊協作的流暢性。UGit 支持 macOS 10.11+、Apple Silicon 和 Win64 位系統。 官方地址:https://ugit.qq.com/zh/index.html 主要特性 Ugit 提供便 ...


UGit 是一款為騰訊內部研發環境特點而定製的 Git 客戶端,旨在提高開發效率和團隊協作的流暢性。UGit 支持 macOS 10.11+、Apple Silicon 和 Win64 位系統。

官方地址:https://ugit.qq.com/zh/index.html

主要特性

Ugit 提供便捷的大文件管理、快速提交、工蜂鎖機制以及支持檢出子目錄等特性,極大提升了大型團隊的協作效率和數據處理能力,是專業開發者不可或缺的工具。

便捷的大文件管理

  • 內置 LFS 模版,騰訊眾多大型項目 LFS 管理經驗沉澱,尤其是游戲項目。
  • 支持對倉庫或工作區進行大文件分析,以便於更好的配置 Git LFS 規則。
  • 提交時,可根據工蜂單文件大小限制,提示用戶將超限文件納入 Git LFS 管理。
  • 支持單倉庫或多倉庫清理 LFS 緩存,快速解決磁碟空間不足問題。
  • 支持使用 UGit 本地 LFS Cache 加速服務,體驗極致的下載速度。
  • 支持超大文件 (>4GB) 的無損下載。

快速提交

原生 Git 提交流程,如果遠程有新的提交,Git 會強制要求先更新再提交,在一個大型項目中,提交流程會因為遠程頻繁變更而不停中斷,影響工作效率。

UGit 的快速提交,可以實現只要用戶提交的文件其他人沒修改,可以在不更新情況下直接完成提交,不會因遠程頻繁變更而中斷提交流程,讓大型團隊協作更加流暢。

工蜂鎖

  • 工蜂鎖是針對游戲項目中存在大量二進位文件協作場景而設計的鎖方案,解決了 Git LFS Lock 的穩定性和性能問題。
  • 支持對文件、目錄進行加解鎖。同時也可以支持全分支鎖,即加鎖一個對象時,同時鎖定所有分支上的該對象。
  • 支持項目設置強制加鎖工作流,要求用戶必須先加鎖才能提交。
  • 支持推送變更到遠程後,自動對推送內容進行解鎖。
  • 也可以配置路徑的鎖白名單,限定配置的目錄只允許特定用戶可以加解鎖。

支持檢出子目錄

對於大型倉庫,克隆完整倉庫下來可能需要很長時間,有些時候,我們只需要下載一個或若幹子目錄即可進行工作,此時可以使用 UGit 克隆時,只勾選工作需要用到的目錄進行克隆,這樣可以快速完成,不用等待。

基礎能力

  • 極簡操作,類似於 SVN 或 P4 的集中式版本控制工具體驗,可一鍵提交或更新
  • OAuth,支持工蜂、Github、Coding.net 平臺的 OAuth 認證
  • 集成工蜂合併請求,便捷的在客戶端中進行 MR 評審或操作
  • 集成工蜂代碼審查,在 UGit 中進行代碼審查
  • 集成工蜂 Issue 管理,郵件式的產品體驗,可便捷、快速的查看、修改或評論 Issue
  • Gitflow,可視化的交互集成業界經典的 Gitflow 工作流實踐
  • 分支管理,可以查看分支生命周期、批量管理,比如可以快速批量清理無用分支
  • SSH 訪問工蜂,支持零配置使用 SSH 訪問工蜂
  • 提交關聯,可在提交時關聯工蜂 Issue

特色能力

  • 加速服務,支持 Git LFS 緩存加速、UE4 DDC、Unity Cache
  • 支持客戶端鉤子(python/shell/batch),可使用鉤子腳本定製團隊工作流,如提交規範檢查
  • 定時任務,包括定時鎖分支、定時更新(下載 LFS 數據/pull/pull -f 三種策略)
  • 倉庫同步服務,支持 Git/SVN/P4 任意兩種倉庫之間互相按 Commit 維度進行單向或雙向同步,也可進行倉庫遷移
  • 分支規則管理,可一鍵鎖定符合規則的分支;
  • 多倉庫管理,Git Submodule 的替代方案,通過可視化操作,旨在解決大型項目多倉庫依賴管理問題,支持批量克隆,一鍵更新、拉分支、切分支等等
  • 倉庫分組管理,可以對倉庫進行分組管理,並且分組信息會展示在倉庫標簽上
  • 變更集分組,可對工作區變更進行分組管理,按分組進行提交
  • 集成 CodeAction,不用克隆倉庫就可以進行代碼審查
  • 支持 Excel Diff&Merge,支持單元格內容、公式,暫不支持表格樣式
  • 版本標記,支持在 UGit 倉庫歷史中標記版本為好的、壞的、標星等操作,方便版本回溯或版本信息共用;

UGit 的這些功能使其成為一個強大的工具,特別是對於那些處理大量數據和需要高效協作的團隊,歡迎下載使用。

更多文章推薦:

1.Spring Boot 3.x 教程,太全了!

2.2,000+ 道 Java面試題及答案整理(2024最新版)

3.免費獲取 IDEA 激活碼的 7 種方式(2024最新版)

覺得不錯,別忘了隨手點贊+轉發哦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 非同步消息傳遞 1.1. 通信是分散式系統的基礎,也是架構師需要納入其系統設計的主要問題 1.2. 客戶端發送請求並等待伺服器響應 1.2.1. 這就是大多數分散式通信的設計方式,因為客戶端需要得到即時響應後才能繼續 1.2.2. 並非所有系統都有這個要求 1.3. 使用非同步通信的方式,客戶端( ...
  • 在Python中,協議(Protocol)和介面(Interface)是用於定義類和對象之間交互的一種方式,特別是在實現多態性和代碼可重用性時,協議是一種抽象概念,描述了對象所需實現的方法和屬性,而不關心具體的類或實現。 ...
  • JMM記憶體模型 定義 java記憶體模型(即 java Memory Model,簡稱JMM),不存在的東西,是一個概念,約定 主要分成兩部分來看,一部分叫做主記憶體,另一部分叫做工作記憶體。 java當中的共用變數;都放在主記憶體當中,如類的成員變數(實例變數),還有靜態的成員變數(類變數),都是存儲在主 ...
  • 1. 什麼是gprof? 2. gprof的用法 2.1. 編譯程式 2.2. 運行程式 2.3. 生成分析報告 2.4. gprof常用參數說明 2.5. 分析報告解讀 2.5.1. Flat profile 各個欄位的含義 2.5.2. Call graph 各個欄位的含義 3. Demo演示 ...
  • 一、基礎階段 Python 基礎語法 學習內容:變數、數據類型(如整數、浮點數、字元串、布爾等)、運算符、控制流語句(如 if-else、for、while 等)、函數定義與調用等。 學習網站及網址: 廖雪峰的 Python 入門教程:https://www.liaoxuefeng.com/wiki ...
  • 動態代理的API Proxy 動態代理類 生成代理對象:Proxy.newProxyInstance( 類載入器,介面數組,處理器 ) 類載入器:對象.getClass( ).getClassLoader( ) 介面數組-被代理類的所有介面:被代理對象.getClass( ).getInterfac ...
  • 大家好,我是 V 哥,粉絲小A面試阿裡,說被問到 Redis 的記憶體淘汰策略的問題,整理這個筆記給他參考,也分享給大家,如果你遇到這個問題,會怎麼回答呢? Redis 的記憶體淘汰策略是指當Redis的記憶體使用量達到設定的上限時,決定哪些數據應該被移除以便為新數據騰出空間的規則。Redis 提供了多種 ...
  • 正文 跟靈分別後,我在椅子上發了很久的呆。可能有五分鐘吧。就這樣感受著微風吹過身體,聽著身邊熙熙攘攘的聲音。 我不知道為什麼要發呆。自然而然就這樣做了。 過了很久,我意識到可能必須要吃飯了,才起身找飯館。 今天情緒不太好。我不知道是不是因為沒睡夠。不過,並沒有從一開始就很糟糕,到晚上才開始。 先是發 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...