设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
管道命令
- 2.43.1 → 2.47.0 无更改
- 2.43.0 11/20/23
- 2.10.5 → 2.42.3 无更改
- 2.9.5 07/30/17
- 2.1.4 → 2.8.6 无更改
- 2.0.5 12/17/14
描述
这不是最终用户想要运行的命令。永远。本文档适用于正在研究 Porcelain-ish 脚本和/或正在编写新脚本的人员。
git sh-setup 脚本旨在由其他 shell 脚本(使用 .
)作为源代码,以设置一些指向正常 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 条目,以留下更新引用的命令记录。 - git_editor
-
在给定文件上运行用户选择的编辑器(GIT_EDITOR、core.editor、VISUAL 或 EDITOR),但如果未指定编辑器且终端是哑终端,则会出错。
- is_bare_repository
-
将
true
或false
输出到标准输出流,以指示存储库是否为空存储库(即没有关联的工作树)。 - 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] 套件的一部分