设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
git-sh-setup 手册中的更改- 2.43.1 → 2.52.0 无更改
-
2.43.0
2023-11-20
- 2.10.5 → 2.42.4 无更改
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 无变更
-
2.0.5
2014-12-17
描述
这不是最终用户想要运行的命令。永远不要。此文档是为研究 Porcelain 风格脚本和/或编写新脚本的人员准备的。
git sh-setup 脚本段旨在被其他 shell 脚本(使用 .)源(source)来设置指向普通 Git 目录的一些变量和几个辅助 shell 函数。
在源它之前,你的脚本应该设置一些变量; USAGE(以及 LONG_USAGE,如果存在)用于定义 usage() shell 函数提供的消息。 SUBDIRECTORY_OK 可以设置为如果脚本可以在工作树的子目录中运行(有些命令不行)。
脚本段设置 GIT_DIR 和 GIT_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
-
将
true或false输出到标准输出流,以指示存储库是否为裸存储库(即没有关联的工作树)。 - 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
-
修改第一个文件,使其只保留与第二个文件共有的行。如果共同的内容不足,则第一个文件将留空。结果适合作为三向合并的虚拟基础输入。