設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.43.1 → 2.50.1 無更改
-
2.43.0
2023-11-20
- 2.10.5 → 2.42.4 無更改
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 無變更
-
2.0.5
2014-12-17
描述
這不是終端使用者希望執行的命令。永遠不會。本文件旨在供研究 Porcelain 指令碼和/或編寫新指令碼的人員使用。
git sh-setup 指令碼片段旨在由其他 shell 指令碼引用(使用 .
),以設定指向正常 Git 目錄的一些變數和一些輔助 shell 函式。
在引用它之前,您的指令碼應該設定一些變數;USAGE
(以及 LONG_USAGE
,如果有的話)用於定義 usage
() shell 函式給出的訊息。SUBDIRECTORY_OK
可以設定,如果指令碼可以從工作樹的子目錄執行(有些命令不行)。
該指令碼片段設定 GIT_DIR
和 GIT_OBJECT_DIRECTORY
shell 變數,但**不會**將它們匯出到環境中。
函式
- die
-
在向標準錯誤流發出提供的錯誤訊息後退出。
- usage
-
使用用法訊息退出。
- set_reflog_action
-
將
GIT_REFLOG_ACTION
環境變數設定為給定字串(通常是程式名稱),除非它已被設定。每當指令碼執行一個更新引用的git
命令時,都會使用此字串的值建立一個引用日誌條目,以記錄哪個命令更新了引用。 - git_editor
-
在給定檔案上執行使用者選擇的編輯器(GIT_EDITOR、core.editor、VISUAL 或 EDITOR),但如果沒有指定編輯器且終端是啞終端,則報錯退出。
- is_bare_repository
-
向標準輸出流輸出
true
或false
,以指示倉庫是否是裸倉庫(即沒有關聯的工作樹)。 - cd_to_toplevel
-
執行 chdir 命令到工作樹的頂層目錄。
- require_work_tree
-
檢查當前目錄是否在倉庫的工作樹內,否則退出。
- require_work_tree_exists
-
檢查與倉庫關聯的工作樹是否存在,否則退出。通常在呼叫 cd_to_toplevel 之前完成,如果沒有工作樹則無法執行此操作。
- require_clean_work_tree <action> [<hint>]
-
檢查與倉庫關聯的工作樹和索引沒有對跟蹤檔案進行未提交的更改。否則,它會發出一個錯誤訊息,格式為
Cannot
<action>:
<reason>.
<hint>,然後退出。例如require_clean_work_tree rebase "Please commit or stash them."
- get_author_ident_from_commit
-
輸出可與 eval 配合使用的程式碼,用於為一個給定提交設定 GIT_AUTHOR_NAME、GIT_AUTHOR_EMAIL 和 GIT_AUTHOR_DATE 變數。
- create_virtual_base
-
修改第一個檔案,使其只保留與第二個檔案共有的行。如果沒有足夠的共同內容,則第一個檔案將留空。結果適合作為三向合併的虛擬基礎輸入。