簡體中文 ▾ 主題 ▾ 最新版本 ▾ git-sh-setup 最後更新於 2.43.0

名稱

git-sh-setup - 通用的 Git shell 指令碼設定程式碼

概要

. "$(git --exec-path)/git-sh-setup"

描述

這不是終端使用者希望執行的命令。永遠不會。本文件旨在供研究 Porcelain 指令碼和/或編寫新指令碼的人員使用。

git sh-setup 指令碼片段旨在由其他 shell 指令碼引用(使用 .),以設定指向正常 Git 目錄的一些變數和一些輔助 shell 函式。

在引用它之前,您的指令碼應該設定一些變數;USAGE(以及 LONG_USAGE,如果有的話)用於定義 usage() shell 函式給出的訊息。SUBDIRECTORY_OK 可以設定,如果指令碼可以從工作樹的子目錄執行(有些命令不行)。

該指令碼片段設定 GIT_DIRGIT_OBJECT_DIRECTORY shell 變數,但**不會**將它們匯出到環境中。

函式

die

在向標準錯誤流發出提供的錯誤訊息後退出。

usage

使用用法訊息退出。

set_reflog_action

GIT_REFLOG_ACTION 環境變數設定為給定字串(通常是程式名稱),除非它已被設定。每當指令碼執行一個更新引用的 git 命令時,都會使用此字串的值建立一個引用日誌條目,以記錄哪個命令更新了引用。

git_editor

在給定檔案上執行使用者選擇的編輯器(GIT_EDITOR、core.editor、VISUAL 或 EDITOR),但如果沒有指定編輯器且終端是啞終端,則報錯退出。

is_bare_repository

向標準輸出流輸出 truefalse,以指示倉庫是否是裸倉庫(即沒有關聯的工作樹)。

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

修改第一個檔案,使其只保留與第二個檔案共有的行。如果沒有足夠的共同內容,則第一個檔案將留空。結果適合作為三向合併的虛擬基礎輸入。

GIT

Git[1] 套件的一部分

scroll-to-top