Skip to content

強大的非中心式的版本控制系統

Notifications You must be signed in to change notification settings

libre-knowledge/git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e4eeea · Oct 3, 2024

History

14 Commits
Jul 29, 2024
Jul 29, 2024
Oct 3, 2024
Jan 3, 2022
Jan 3, 2022
Nov 11, 2023
Jan 3, 2022
Jul 29, 2024
Jul 29, 2024
Jan 3, 2022
Jul 29, 2024
Jul 29, 2024
Jul 29, 2024
Jul 29, 2024
Jul 29, 2024
Oct 3, 2024
Jan 3, 2022
Jul 29, 2024
Jan 3, 2022
Oct 3, 2024

Repository files navigation

Git 版本控制系統

強大的非中心式的版本控制系統

https://gitlab.com/libre-knowledge/git
GitLab CI 持續整合流程狀態標章 「檢查專案中的潛在問題」GitHub Actions 作業流程狀態標章 pre-commit REUSE 規範遵從狀態標章

特色

  • 能有效率地處理大規模的版控庫
  • 最早使用於 Linux 作業系統核心開發,後被大多數軟體專案採用
  • 為分散式(非中心式)版本控制系統,大多數非涉及遠端操作可直接於本地進行

基本概念

修訂版(revision)修訂版提交(commit(名詞))

版本控制系統中內容變動的單位,在 Git 版本控制系統中修訂版(revision)跟 commit 的名詞部份意義相同

修訂歷史(history)

被版本控制的內容所變動的歷程,在 Git 版本控制系統中修訂歷史(history)是由一系列互相連接的修訂版提交(commit(名詞))所構成

有向無環圖(Directed acyclic graph)

Git 版本控制系統修訂歷史(history)所構成的圖形graph,有方向性(較早的修訂版提交(commit(名詞))指向較晚的修訂版提交(commit(名詞)))但不存在首尾為同一修訂版提交(commit(名詞))之組成環路cycle的狀況

提交(commit(動詞))

提交新的修訂版(revision)版控庫repository中的動作

新修訂版準備區域staging area

在提交前集中要加進新修訂版中的內容變更的地方,又稱為 index

Git 掛勾程序hook

可以掛接hook (v.)在特定 Git 操作,在其運行前/後觸發執行的程序,參閱 githooks(5) 的使用手冊頁面manpage

常用的 Git 子命令

  • init
    初始化一版控庫
  • config
    配置系統全域、使用者全域或版控庫範圍的 Git 設定選項
  • status
    查詢版控庫當前狀態
  • add
    將內容變更移入新修訂版準備區域(staging area)
  • rm
    將被版控檔案移除並將此變更移入新修訂版準備區域(staging area)
  • commit
    建立一新修訂版(revision)並將其提交進版控庫
  • diff
    查看修訂版參照間的內容差異
  • log
    查看版本紀錄
  • remote
    管理遠端版控庫
  • push
    將本地版控庫當前分支歷史推送至遠端版控庫
  • pull
    將遠端版控庫追蹤分之歷史拉取並合併回本地版控庫當前分支
  • reset
    重設參照指標及/或當前工作樹內容

解決方案

參考資料

中文教學文件

※使用的專有術語翻譯可能會有不精確的情況,以原文為主

原文教學文件

其他


本主題為自由知識協作平台的一部分,除部份特別標註之經合理使用(fair use)原則使用的內容外允許公眾於授權範圍內自由使用

如有任何問題,歡迎於本主題的議題追蹤系統創建新議題反饋

About

強大的非中心式的版本控制系統

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages