強大的非中心式的版本控制系統
https://gitlab.com/libre-knowledge/git
- 能有效率地處理大規模的版控庫
- 最早使用於 Linux 作業系統核心開發,後被大多數軟體專案採用
- 為分散式(非中心式)版本控制系統,大多數非涉及遠端操作可直接於本地進行
版本控制系統中內容變動的單位,在 Git 版本控制系統中修訂版跟 commit 的名詞部份意義相同
被版本控制的內容所變動的歷程,在 Git 版本控制系統中修訂歷史是由一系列互相連接的修訂版提交所構成
Git 版本控制系統修訂歷史所構成的圖形,有方向性(較早的修訂版提交指向較晚的修訂版提交)但不存在首尾為同一修訂版提交之組成環路的狀況
提交新的修訂版到版控庫中的動作
在提交前集中要加進新修訂版中的內容變更的地方,又稱為 index
可以掛接在特定 Git 操作,在其運行前/後觸發執行的程序,參閱 githooks(5) 的使用手冊頁面
- init
初始化一版控庫 - config
配置系統全域、使用者全域或版控庫範圍的 Git 設定選項 - status
查詢版控庫當前狀態 - add
將內容變更移入新修訂版準備區域 - rm
將被版控檔案移除並將此變更移入新修訂版準備區域 - commit
建立一新修訂版並將其提交進版控庫 - diff
查看修訂版參照間的內容差異 - log
查看版本紀錄 - remote
管理遠端版控庫 - push
將本地版控庫當前分支歷史推送至遠端版控庫 - pull
將遠端版控庫追蹤分之歷史拉取並合併回本地版控庫當前分支 - reset
重設參照指標及/或當前工作樹內容
以下列舉本主題相關的解決方案:
- The Common .gitignore Templates
提供可快速引入專案中的 Git 版本追蹤排除規則 - The Common Gitattributes Template
提供可快速引入專案中的 Git 檔案路徑屬性配置檔 - Git 版本控制忽略規則範本
提供多種情境適用之 Git 版本追蹤忽略規則 - Git Cola
基於 Qt 與 Python 的 Git 圖形界面客戶端 - gitignore - A collection of useful .gitignore templates
由 GitHub 所維護的多情境適用之 Git 追蹤排除規則範本 - vcsh-git
林博仁(Buo-ren Lin)'s preferred Git configuration - git filter-repo
高效率的 Git 版控庫歷史重寫工具 - The pivot-submodule-git-dir utility
修正 Git 子模組的版控庫目錄不在子模組中所引發之問題
※使用的專有術語翻譯可能會有不精確的情況,以原文為主
- Git 官方教學用書:
Git - Book - 連猴子都能懂的Git入門指南 | 貝格樂(Backlog)
本主題為自由知識協作平台的一部分,除部份特別標註之經合理使用(fair use)原則使用的內容外允許公眾於授權範圍內自由使用
如有任何問題,歡迎於本主題的議題追蹤系統創建新議題反饋