Git

名稱

git-sh-setup - Git Shell Script 通用設定程式碼

概要

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

說明

這不是終端使用者會想要執行的指令。絕對不是。此文件是為研究 Porcelain-ish 腳本和/或編寫新腳本的人所準備的。

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 環境設定為給定的字串(通常是程式的名稱)。每當腳本執行更新 ref 的 git 指令時,都會使用此字串的值建立 reflog 項目,以記錄哪個指令更新了 ref。

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>]

檢查與存放庫關聯的工作樹和索引是否沒有對追蹤檔案的未提交變更。否則,它會發出 無法 <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