简体中文 ▾ 主题 ▾ 最新版本 ▾ git-sh-setup 上次更新于 2.43.0

名称

git-sh-setup - Git 通用 shell 脚本设置代码

概要

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

描述

这不是最终用户想要运行的命令。永远不要。此文档是为研究 Porcelain 风格脚本和/或编写新脚本的人员准备的。

git sh-setup 脚本段旨在被其他 shell 脚本(使用 .)源(source)来设置指向普通 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)来编辑给定文件,但如果未指定编辑器且终端为“dumb”则报错。

is_bare_repository

truefalse 输出到标准输出流,以指示存储库是否为裸存储库(即没有关联的工作树)。

cd_to_toplevel

执行 chdir 到工作树的顶级目录。

require_work_tree

检查当前目录是否在存储库的工作树内,否则退出。

require_work_tree_exists

检查存储库关联的工作树是否存在,否则退出。这通常在调用 cd_to_toplevel 之前完成,而如果不存在工作树,则无法执行 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] 套件的一部分