Git

名称

git-sh-setup - 常见的 Git shell 脚本设置代码

摘要

. "$(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 条目,以留下更新引用的命令记录。

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