简体中文 ▾ 主题 ▾ 最新版本 ▾ 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