summary refs log tree commit diff
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2022-04-11 08:47:13 +0800
committerJiang Xin <worldhello.net@gmail.com>2022-04-11 08:47:13 +0800
commit6e0a35803f22b7a653aa3f02d3f0d27c6a560479 (patch)
tree91d487d5fba592c0d560db963f645bc927a6eb3b
parent22ac4887f4292e3e855938dfb9f6ba842bab90a9 (diff)
parent00e5af3f24f35b95d7a1476c56ffb3b017bb0a0d (diff)
Merge branch 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po
* 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po:
  l10n: zh_CN v2.36.0 round 1
  l10n: Update zh_CN repo link
-rw-r--r--po/TEAMS2
-rw-r--r--po/zh_CN.po8641
2 files changed, 4706 insertions, 3937 deletions
diff --git a/po/TEAMS b/po/TEAMS
index 1e73b765d7..2e407267c8 100644
--- a/po/TEAMS
+++ b/po/TEAMS
@@ -73,7 +73,7 @@ Leader:		Trần Ngọc Quân <vnwildman AT gmail.com>
 Members:	Nguyễn Thái Ngọc Duy <pclouds AT gmail.com>
 
 Language:	zh_CN (Simplified Chinese)
-Repository:	https://github.com/fangyi-zhou/git/
+Repository:	https://github.com/fangyi-zhou/git-po/
 Leader:		Fangyi Zhou <me AT fangyi.io>
 Members:	Ray Chen <oldsharp AT gmail.com>
 		依云 <lilydjwg AT gmail.com>
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 484f2d8aaf..11847a429c 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -144,224 +144,223 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-01-17 08:34+0800\n"
-"PO-Revision-Date: 2022-01-11 18:18+0000\n"
+"POT-Creation-Date: 2022-04-06 14:40+0800\n"
+"PO-Revision-Date: 2022-04-06 21:16+0100\n"
 "Last-Translator: Fangyi Zhou <me@fangyi.io>\n"
-"Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
+"Language-Team: GitHub <https://github.com/fangyi-zhou/git-po/>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 41.0\n"
+"X-Generator: Gtranslator 40.0\n"
 
-#: add-interactive.c:380
+#: add-interactive.c:382
 #, c-format
 msgid "Huh (%s)?"
 msgstr "嗯(%s)?"
 
-#: add-interactive.c:533 add-interactive.c:834 reset.c:65 sequencer.c:3509
-#: sequencer.c:3974 sequencer.c:4136 builtin/rebase.c:1233
-#: builtin/rebase.c:1642
+#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
+#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
+#: builtin/rebase.c:1671
 msgid "could not read index"
 msgstr "不能读取索引"
 
-#: add-interactive.c:588 git-add--interactive.perl:269
+#: add-interactive.c:590 git-add--interactive.perl:269
 #: git-add--interactive.perl:294
 msgid "binary"
 msgstr "二进制"
 
-#: add-interactive.c:646 git-add--interactive.perl:278
+#: add-interactive.c:648 git-add--interactive.perl:278
 #: git-add--interactive.perl:332
 msgid "nothing"
 msgstr "无"
 
-#: add-interactive.c:647 git-add--interactive.perl:314
+#: add-interactive.c:649 git-add--interactive.perl:314
 #: git-add--interactive.perl:329
 msgid "unchanged"
 msgstr "没有修改"
 
-#: add-interactive.c:684 git-add--interactive.perl:641
+#: add-interactive.c:686 git-add--interactive.perl:641
 msgid "Update"
 msgstr "更新"
 
-#: add-interactive.c:701 add-interactive.c:889
+#: add-interactive.c:703 add-interactive.c:891
 #, c-format
 msgid "could not stage '%s'"
 msgstr "不能暂存 '%s'"
 
-#: add-interactive.c:707 add-interactive.c:896 reset.c:89 sequencer.c:3713
+#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
 msgid "could not write index"
 msgstr "不能写入索引"
 
-#: add-interactive.c:710 git-add--interactive.perl:626
+#: add-interactive.c:712 git-add--interactive.perl:626
 #, c-format, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "更新了 %d 个路径\n"
 msgstr[1] "更新了 %d 个路径\n"
 
-#: add-interactive.c:728 git-add--interactive.perl:676
+#: add-interactive.c:730 git-add--interactive.perl:676
 #, c-format, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "说明:%s 现已成为未跟踪的。\n"
 
-#: add-interactive.c:733 apply.c:4151 builtin/checkout.c:306
+#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
 #: builtin/reset.c:167
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: add-interactive.c:763 git-add--interactive.perl:653
+#: add-interactive.c:765 git-add--interactive.perl:653
 msgid "Revert"
 msgstr "还原"
 
-#: add-interactive.c:779
+#: add-interactive.c:781
 msgid "Could not parse HEAD^{tree}"
 msgstr "不能解析 HEAD^{tree}"
 
-#: add-interactive.c:817 git-add--interactive.perl:629
+#: add-interactive.c:819 git-add--interactive.perl:629
 #, c-format, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "还原了 %d 个路径\n"
 msgstr[1] "还原了 %d 个路径\n"
 
-#: add-interactive.c:868 git-add--interactive.perl:693
+#: add-interactive.c:870 git-add--interactive.perl:693
 #, c-format
 msgid "No untracked files.\n"
 msgstr "没有未跟踪的文件。\n"
 
-#: add-interactive.c:872 git-add--interactive.perl:687
+#: add-interactive.c:874 git-add--interactive.perl:687
 msgid "Add untracked"
 msgstr "添加未跟踪的"
 
-#: add-interactive.c:899 git-add--interactive.perl:623
+#: add-interactive.c:901 git-add--interactive.perl:623
 #, c-format, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "增加了 %d 个路径\n"
 msgstr[1] "增加了 %d 个路径\n"
 
-#: add-interactive.c:929
+#: add-interactive.c:931
 #, c-format
 msgid "ignoring unmerged: %s"
 msgstr "忽略未合入的:%s"
 
-#: add-interactive.c:941 add-patch.c:1752 git-add--interactive.perl:1371
+#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
 #, c-format
 msgid "Only binary files changed.\n"
 msgstr "只有二进制文件被修改。\n"
 
-#: add-interactive.c:943 add-patch.c:1750 git-add--interactive.perl:1373
+#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
 #, c-format
 msgid "No changes.\n"
 msgstr "没有修改。\n"
 
-#: add-interactive.c:947 git-add--interactive.perl:1381
+#: add-interactive.c:949 git-add--interactive.perl:1381
 msgid "Patch update"
 msgstr "补丁更新"
 
-#: add-interactive.c:986 git-add--interactive.perl:1794
+#: add-interactive.c:988 git-add--interactive.perl:1794
 msgid "Review diff"
 msgstr "检视 diff"
 
-#: add-interactive.c:1014
+#: add-interactive.c:1016
 msgid "show paths with changes"
 msgstr "显示含变更的路径"
 
-#: add-interactive.c:1016
+#: add-interactive.c:1018
 msgid "add working tree state to the staged set of changes"
 msgstr "将工作区状态添加到暂存区修改集中"
 
-#: add-interactive.c:1018
+#: add-interactive.c:1020
 msgid "revert staged set of changes back to the HEAD version"
 msgstr "将暂存的修改集恢复为 HEAD 版本"
 
-#: add-interactive.c:1020
+#: add-interactive.c:1022
 msgid "pick hunks and update selectively"
 msgstr "挑选数据块并有选择地更新"
 
-#: add-interactive.c:1022
+#: add-interactive.c:1024
 msgid "view diff between HEAD and index"
 msgstr "显示 HEAD 和索引的差异"
 
-#: add-interactive.c:1024
+#: add-interactive.c:1026
 msgid "add contents of untracked files to the staged set of changes"
 msgstr "将未跟踪文件的内容添加到暂存区修改集中"
 
-#: add-interactive.c:1032 add-interactive.c:1081
+#: add-interactive.c:1034 add-interactive.c:1083
 msgid "Prompt help:"
 msgstr "帮助:"
 
-#: add-interactive.c:1034
+#: add-interactive.c:1036
 msgid "select a single item"
 msgstr "选择一个条目"
 
-#: add-interactive.c:1036
+#: add-interactive.c:1038
 msgid "select a range of items"
 msgstr "选择一系列条目"
 
-#: add-interactive.c:1038
+#: add-interactive.c:1040
 msgid "select multiple ranges"
 msgstr "选择多个范围"
 
-#: add-interactive.c:1040 add-interactive.c:1085
+#: add-interactive.c:1042 add-interactive.c:1087
 msgid "select item based on unique prefix"
 msgstr "基于唯一前缀选择条目"
 
-#: add-interactive.c:1042
+#: add-interactive.c:1044
 msgid "unselect specified items"
 msgstr "反选指定的条目"
 
-#: add-interactive.c:1044
+#: add-interactive.c:1046
 msgid "choose all items"
 msgstr "选择所有条目"
 
-#: add-interactive.c:1046
+#: add-interactive.c:1048
 msgid "(empty) finish selecting"
 msgstr "(空)结束选择"
 
-#: add-interactive.c:1083
+#: add-interactive.c:1085
 msgid "select a numbered item"
 msgstr "选择一个编号条目"
 
-#: add-interactive.c:1087
+#: add-interactive.c:1089
 msgid "(empty) select nothing"
 msgstr "(空)不选择任何内容"
 
-#: add-interactive.c:1095 builtin/clean.c:839 git-add--interactive.perl:1898
+#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: add-interactive.c:1096 builtin/clean.c:840 git-add--interactive.perl:1895
+#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
 msgid "What now"
 msgstr "请选择"
 
-#: add-interactive.c:1148 git-add--interactive.perl:213
+#: add-interactive.c:1150 git-add--interactive.perl:213
 msgid "staged"
 msgstr "缓存"
 
-#: add-interactive.c:1148 git-add--interactive.perl:213
+#: add-interactive.c:1150 git-add--interactive.perl:213
 msgid "unstaged"
 msgstr "未缓存"
 
-#: add-interactive.c:1148 apply.c:5020 apply.c:5023 builtin/am.c:2367
-#: builtin/am.c:2370 builtin/bugreport.c:107 builtin/clone.c:128
-#: builtin/fetch.c:153 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:1858
-#: builtin/submodule--helper.c:1861 builtin/submodule--helper.c:2504
-#: builtin/submodule--helper.c:2507 builtin/submodule--helper.c:2574
-#: builtin/submodule--helper.c:2579 builtin/submodule--helper.c:2812
+#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
+#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
+#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
+#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
+#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "路径"
 
-#: add-interactive.c:1155
+#: add-interactive.c:1157
 msgid "could not refresh index"
 msgstr "不能刷新索引"
 
-#: add-interactive.c:1169 builtin/clean.c:804 git-add--interactive.perl:1805
+#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
@@ -662,30 +661,30 @@ msgstr "无法解析数据块头信息 '%.*s'"
 msgid "could not parse colored hunk header '%.*s'"
 msgstr "无法解析彩色数据块头信息 '%.*s'"
 
-#: add-patch.c:420
+#: add-patch.c:431
 msgid "could not parse diff"
 msgstr "不能解析差异信息"
 
-#: add-patch.c:439
+#: add-patch.c:450
 msgid "could not parse colored diff"
 msgstr "不能解析彩色差异信息"
 
-#: add-patch.c:453
+#: add-patch.c:464
 #, c-format
 msgid "failed to run '%s'"
 msgstr "无法运行 '%s'"
 
-#: add-patch.c:612
+#: add-patch.c:618
 msgid "mismatched output from interactive.diffFilter"
 msgstr "interactive.diffFilter 的输出不匹配"
 
-#: add-patch.c:613
+#: add-patch.c:619
 msgid ""
 "Your filter must maintain a one-to-one correspondence\n"
 "between its input and output lines."
 msgstr "您的过滤器必须在其输入和输出的行之间保持一一对应的关系。"
 
-#: add-patch.c:791
+#: add-patch.c:797
 #, c-format
 msgid ""
 "expected context line #%d in\n"
@@ -694,7 +693,7 @@ msgstr ""
 "预期上下文行 #%d 于\n"
 "%.*s"
 
-#: add-patch.c:806
+#: add-patch.c:812
 #, c-format
 msgid ""
 "hunks do not overlap:\n"
@@ -707,11 +706,11 @@ msgstr ""
 "\t不是结尾于:\n"
 "%.*s"
 
-#: add-patch.c:1082 git-add--interactive.perl:1115
+#: add-patch.c:1088 git-add--interactive.perl:1115
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
 
-#: add-patch.c:1086
+#: add-patch.c:1092
 #, c-format
 msgid ""
 "---\n"
@@ -725,7 +724,7 @@ msgstr ""
 "以 %c 开始的行将被删除。\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1100 git-add--interactive.perl:1129
+#: add-patch.c:1106 git-add--interactive.perl:1129
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
@@ -734,11 +733,11 @@ msgstr ""
 "如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n"
 "此次编辑被终止,该块不会被修改。\n"
 
-#: add-patch.c:1133
+#: add-patch.c:1139
 msgid "could not parse hunk header"
 msgstr "无法解析数据块头信息"
 
-#: add-patch.c:1178
+#: add-patch.c:1184
 msgid "'git apply --cached' failed"
 msgstr "'git apply --cached' 失败"
 
@@ -754,24 +753,24 @@ msgstr "'git apply --cached' 失败"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: add-patch.c:1247 git-add--interactive.perl:1244
+#: add-patch.c:1253 git-add--interactive.perl:1244
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? "
 
-#: add-patch.c:1290
+#: add-patch.c:1296
 msgid "The selected hunks do not apply to the index!"
 msgstr "选中的块不能应用到索引!"
 
-#: add-patch.c:1291 git-add--interactive.perl:1348
+#: add-patch.c:1297 git-add--interactive.perl:1348
 msgid "Apply them to the worktree anyway? "
 msgstr "无论如何都要应用到工作区么?"
 
-#: add-patch.c:1298 git-add--interactive.perl:1351
+#: add-patch.c:1304 git-add--interactive.perl:1351
 msgid "Nothing was applied.\n"
 msgstr "未应用。\n"
 
-#: add-patch.c:1355
+#: add-patch.c:1361
 msgid ""
 "j - leave this hunk undecided, see next undecided hunk\n"
 "J - leave this hunk undecided, see next hunk\n"
@@ -793,73 +792,73 @@ msgstr ""
 "e - 手动编辑当前块\n"
 "? - 显示帮助\n"
 
-#: add-patch.c:1517 add-patch.c:1527
+#: add-patch.c:1523 add-patch.c:1533
 msgid "No previous hunk"
 msgstr "没有前一个块"
 
-#: add-patch.c:1522 add-patch.c:1532
+#: add-patch.c:1528 add-patch.c:1538
 msgid "No next hunk"
 msgstr "没有下一个块"
 
-#: add-patch.c:1538
+#: add-patch.c:1544
 msgid "No other hunks to goto"
 msgstr "没有其它可供跳转的块"
 
-#: add-patch.c:1549 git-add--interactive.perl:1608
+#: add-patch.c:1555 git-add--interactive.perl:1608
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "跳转到哪个块(<回车> 查看更多)? "
 
-#: add-patch.c:1550 git-add--interactive.perl:1610
+#: add-patch.c:1556 git-add--interactive.perl:1610
 msgid "go to which hunk? "
 msgstr "跳转到哪个块?"
 
-#: add-patch.c:1561
+#: add-patch.c:1567
 #, c-format
 msgid "Invalid number: '%s'"
 msgstr "无效数字:'%s'"
 
-#: add-patch.c:1566
+#: add-patch.c:1572
 #, c-format
 msgid "Sorry, only %d hunk available."
 msgid_plural "Sorry, only %d hunks available."
 msgstr[0] "对不起,只有 %d 个可用块。"
 msgstr[1] "对不起,只有 %d 个可用块。"
 
-#: add-patch.c:1575
+#: add-patch.c:1581
 msgid "No other hunks to search"
 msgstr "没有其它可供查找的块"
 
-#: add-patch.c:1581 git-add--interactive.perl:1663
+#: add-patch.c:1587 git-add--interactive.perl:1663
 msgid "search for regex? "
 msgstr "使用正则表达式搜索?"
 
-#: add-patch.c:1596
+#: add-patch.c:1602
 #, c-format
 msgid "Malformed search regexp %s: %s"
 msgstr "错误的正则表达式 %s:%s"
 
-#: add-patch.c:1613
+#: add-patch.c:1619
 msgid "No hunk matches the given pattern"
 msgstr "没有和给定模式相匹配的块"
 
-#: add-patch.c:1620
+#: add-patch.c:1626
 msgid "Sorry, cannot split this hunk"
 msgstr "对不起,不能拆分这个块"
 
-#: add-patch.c:1624
+#: add-patch.c:1630
 #, c-format
 msgid "Split into %d hunks."
 msgstr "拆分为 %d 块。"
 
-#: add-patch.c:1628
+#: add-patch.c:1634
 msgid "Sorry, cannot edit this hunk"
 msgstr "对不起,不能编辑这个块"
 
-#: add-patch.c:1680
+#: add-patch.c:1686
 msgid "'git apply' failed"
 msgstr "'git apply' 失败"
 
-#: advice.c:78
+#: advice.c:81
 #, c-format
 msgid ""
 "\n"
@@ -868,37 +867,37 @@ msgstr ""
 "\n"
 "使用 \"git config advice.%s false\" 来关闭此消息"
 
-#: advice.c:94
+#: advice.c:97
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%s提示:%.*s%s\n"
 
-#: advice.c:178
+#: advice.c:181
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:180
+#: advice.c:183
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:182
+#: advice.c:185
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:184
+#: advice.c:187
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:186
+#: advice.c:189
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:188
+#: advice.c:191
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:196
+#: advice.c:199
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -906,27 +905,27 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:204
+#: advice.c:207
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:209 builtin/merge.c:1382
+#: advice.c:212 builtin/merge.c:1388
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:211
+#: advice.c:214
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:212
+#: advice.c:215
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:217
+#: advice.c:220
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: advice.c:227
+#: advice.c:230
 #, c-format
 msgid ""
 "The following paths and/or pathspecs matched paths that exist\n"
@@ -936,7 +935,7 @@ msgstr ""
 "下面的路径和/或者路径规格匹配了您定义的稀疏检出以外的路径,\n"
 "所以不会在索引中更新:\n"
 
-#: advice.c:234
+#: advice.c:237
 msgid ""
 "If you intend to update such entries, try one of the following:\n"
 "* Use the --sparse option.\n"
@@ -946,7 +945,7 @@ msgstr ""
 "* 使用 --sparse 选项。\n"
 "* 禁用或者修改稀疏规则。"
 
-#: advice.c:242
+#: advice.c:245
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -1003,80 +1002,83 @@ msgstr "未能识别的空白字符选项 '%s'"
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: apply.c:136 archive.c:584 range-diff.c:559 revision.c:2303 revision.c:2307
-#: revision.c:2316 revision.c:2321 revision.c:2527 revision.c:2870
-#: revision.c:2874 revision.c:2880 revision.c:2883 revision.c:2885
-#: builtin/add.c:510 builtin/add.c:512 builtin/add.c:529 builtin/add.c:541
-#: builtin/branch.c:727 builtin/checkout.c:467 builtin/checkout.c:470
-#: builtin/checkout.c:1644 builtin/checkout.c:1754 builtin/checkout.c:1757
-#: builtin/clone.c:906 builtin/commit.c:358 builtin/commit.c:361
-#: builtin/commit.c:1196 builtin/describe.c:593 builtin/diff-tree.c:155
-#: builtin/difftool.c:733 builtin/fast-export.c:1245 builtin/fetch.c:2038
-#: builtin/fetch.c:2043 builtin/index-pack.c:1852 builtin/init-db.c:560
-#: builtin/log.c:1946 builtin/log.c:1948 builtin/ls-files.c:778
-#: builtin/merge.c:1403 builtin/merge.c:1405 builtin/pack-objects.c:4073
-#: builtin/push.c:592 builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1193 builtin/rebase.c:1195 builtin/rebase.c:1199
-#: builtin/repack.c:684 builtin/repack.c:715 builtin/reset.c:426
-#: builtin/reset.c:462 builtin/rev-list.c:541 builtin/show-branch.c:710
-#: builtin/stash.c:1707 builtin/stash.c:1710 builtin/submodule--helper.c:1316
-#: builtin/submodule--helper.c:2975 builtin/tag.c:526 builtin/tag.c:572
-#: builtin/worktree.c:702
+#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
+#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
+#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
+#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
+#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
+#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
+#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
+#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
+#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
+#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
+#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
+#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
+#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
+#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
+#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
+#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
+#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
+#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
+#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
+#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
+#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
+#: builtin/worktree.c:779
 #, c-format
 msgid "options '%s' and '%s' cannot be used together"
 msgstr "选项 '%s' 和 '%s' 不能同时使用"
 
-#: apply.c:139 apply.c:150 apply.c:153
+#: apply.c:141 apply.c:152 apply.c:155
 #, c-format
 msgid "'%s' outside a repository"
 msgstr "'%s' 在仓库之外"
 
-#: apply.c:800
+#: apply.c:807
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: apply.c:809
+#: apply.c:816
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
-#: apply.c:883
+#: apply.c:890
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: apply.c:921
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
-#: apply.c:927
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: apply.c:928
+#: apply.c:935
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: apply.c:933
+#: apply.c:940
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: apply.c:962
+#: apply.c:969
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
-#: apply.c:1281
+#: apply.c:1288
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
-#: apply.c:1371
+#: apply.c:1378
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -1087,92 +1089,92 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1384
+#: apply.c:1391
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1480
+#: apply.c:1487
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1549
+#: apply.c:1556
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: apply.c:1752
+#: apply.c:1759
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1754
+#: apply.c:1761
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1788
+#: apply.c:1795
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1825
+#: apply.c:1832
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: apply.c:1827
+#: apply.c:1834
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1830
+#: apply.c:1837
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: apply.c:1978
+#: apply.c:1985
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: apply.c:2015
+#: apply.c:2022
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2177
+#: apply.c:2184
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2263
+#: apply.c:2270
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2267
+#: apply.c:2274
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2936
+#: apply.c:2943
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3057
+#: apply.c:3064
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "块 #%d 成功应用于 %d(偏移 %d 行)"
 msgstr[1] "块 #%d 成功应用于 %d(偏移 %d 行)"
 
-#: apply.c:3069
+#: apply.c:3076
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3075
+#: apply.c:3082
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1181,446 +1183,446 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3097
+#: apply.c:3104
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3105
+#: apply.c:3112
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3152
+#: apply.c:3159
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3163
+#: apply.c:3170
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
-#: apply.c:3171
+#: apply.c:3178
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3189
+#: apply.c:3196
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必需的目标文件 %1$s"
 
-#: apply.c:3202
+#: apply.c:3209
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3209
+#: apply.c:3216
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3230
+#: apply.c:3237
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3353
+#: apply.c:3360
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:104 pack-revindex.c:214
+#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
 #: setup.c:309
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3413
+#: apply.c:3420
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3442 apply.c:3711
+#: apply.c:3449 apply.c:3721
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3549 apply.c:3726
+#: apply.c:3559 apply.c:3736
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3558 apply.c:3734 apply.c:3978
+#: apply.c:3568 apply.c:3744 apply.c:3960
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3595
+#: apply.c:3605
 msgid "repository lacks the necessary blob to perform 3-way merge."
 msgstr "仓库缺乏执行三方合并所必需的数据对象。"
 
-#: apply.c:3598
+#: apply.c:3608
 #, c-format
 msgid "Performing three-way merge...\n"
 msgstr "执行三方合并...\n"
 
-#: apply.c:3614 apply.c:3618
+#: apply.c:3624 apply.c:3628
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3630
+#: apply.c:3640
 #, c-format
 msgid "Failed to perform three-way merge...\n"
 msgstr "无法执行三方合并...\n"
 
-#: apply.c:3644
+#: apply.c:3654
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3649
+#: apply.c:3659
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3666
+#: apply.c:3676
 #, c-format
 msgid "Falling back to direct application...\n"
 msgstr "回落到直接应用...\n"
 
-#: apply.c:3678
+#: apply.c:3688
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3751
+#: apply.c:3761
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3753
+#: apply.c:3763
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3918 apply.c:3920 read-cache.c:889 read-cache.c:918
-#: read-cache.c:1381
+#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
+#: read-cache.c:1399
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3976
+#: apply.c:3958
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3980
+#: apply.c:3962
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:4000
+#: apply.c:3982
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:4005
+#: apply.c:3987
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "%2$s 的新模式(%1$o)和 %4$s 的旧模式(%3$o)不匹配"
 
-#: apply.c:4025
+#: apply.c:4007
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:4029
+#: apply.c:4011
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:4044
+#: apply.c:4026
 #, c-format
 msgid "Checking patch %s..."
 msgstr "正在检查补丁 %s..."
 
-#: apply.c:4136
+#: apply.c:4118
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4143
+#: apply.c:4125
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式变更,但它不在当前 HEAD 中"
 
-#: apply.c:4146
+#: apply.c:4128
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4155
+#: apply.c:4137
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4165
+#: apply.c:4147
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4303
+#: apply.c:4285
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4337
+#: apply.c:4319
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4343
+#: apply.c:4325
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
-#: apply.c:4351
+#: apply.c:4333
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4357 apply.c:4502
+#: apply.c:4339 apply.c:4484
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4400 builtin/bisect--helper.c:540 builtin/gc.c:2258
+#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
 #: builtin/gc.c:2293
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "无法写入 '%s'"
 
-#: apply.c:4404
+#: apply.c:4386
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4474
+#: apply.c:4456
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4572
+#: apply.c:4554
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4580
+#: apply.c:4562
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4583
+#: apply.c:4565
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 
-#: apply.c:4594
+#: apply.c:4576
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4602
+#: apply.c:4584
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4616
+#: apply.c:4598
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4620
+#: apply.c:4602
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4749
+#: apply.c:4731
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4758
+#: apply.c:4740
 msgid "No valid patches in input (allow with \"--allow-empty\")"
 msgstr "输入中没有合法的补丁 (使用 \"--allow-empty\" 来允许)"
 
-#: apply.c:4779
+#: apply.c:4761
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4936
+#: apply.c:4918
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4963
+#: apply.c:4945
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4969 apply.c:4984
+#: apply.c:4951 apply.c:4966
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
-#: apply.c:4977
+#: apply.c:4959
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "修复空白错误后,应用了 %d 行。"
 msgstr[1] "修复空白错误后,应用了 %d 行。"
 
-#: apply.c:4993 builtin/add.c:704 builtin/mv.c:338 builtin/rm.c:430
+#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:5021
+#: apply.c:5003
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:5024
+#: apply.c:5006
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:5026 builtin/am.c:2376
+#: apply.c:5008 builtin/am.c:2379
 msgid "num"
 msgstr "数字"
 
-#: apply.c:5027
+#: apply.c:5009
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:5030
+#: apply.c:5012
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:5032
+#: apply.c:5014
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:5036
+#: apply.c:5018
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:5038
+#: apply.c:5020
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:5040
+#: apply.c:5022
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:5042
+#: apply.c:5024
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:5044
+#: apply.c:5026
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
-#: apply.c:5046
+#: apply.c:5028
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:5048
+#: apply.c:5030
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:5051
+#: apply.c:5033
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:5053
+#: apply.c:5035
 msgid "attempt three-way merge, fall back on normal patch if that fails"
 msgstr "尝试三路合并,如果失败则回落至正常补丁模式"
 
-#: apply.c:5055
+#: apply.c:5037
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:5058 builtin/checkout-index.c:196
+#: apply.c:5040 builtin/checkout-index.c:230
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:5060
+#: apply.c:5042
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:5061 builtin/am.c:2352 builtin/am.c:2355
+#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
 #: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3960
-#: builtin/rebase.c:1051
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
+#: builtin/rebase.c:1079
 msgid "action"
 msgstr "动作"
 
-#: apply.c:5062
+#: apply.c:5044
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:5065 apply.c:5068
+#: apply.c:5047 apply.c:5050
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:5071
+#: apply.c:5053
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:5073
+#: apply.c:5055
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:5075
+#: apply.c:5057
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:5077
+#: apply.c:5059
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:5080
+#: apply.c:5062
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:5083
+#: apply.c:5065
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:5085 builtin/am.c:2364
+#: apply.c:5067 builtin/am.c:2367
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:5086
+#: apply.c:5068
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: apply.c:5089
+#: apply.c:5071
 msgid "don't return error for empty patches"
 msgstr "对空的补丁不返回错误"
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:346
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "不能打开数据对象 %s"
 
-#: archive-tar.c:265 archive-zip.c:358
+#: archive-tar.c:265 archive-zip.c:359
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "不支持的文件模式:0%o (SHA1: %s)"
@@ -1639,22 +1641,22 @@ msgstr "无法重定向描述符"
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
 
-#: archive-zip.c:318
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "路径不是有效的 UTF-8:%s"
 
-#: archive-zip.c:322
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
-#: archive-zip.c:469 builtin/pack-objects.c:365 builtin/pack-objects.c:368
+#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: archive-zip.c:603
+#: archive-zip.c:604
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "对于本系统时间戳太大:%<PRIuMAX>"
@@ -1663,10 +1665,6 @@ msgstr "对于本系统时间戳太大:%<PRIuMAX>"
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<选项>] <树对象> [<路径>...]"
 
-#: archive.c:15
-msgid "git archive --list"
-msgstr "git archive --list"
-
 #: archive.c:16
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
@@ -1678,12 +1676,12 @@ msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
 #: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:578
+#: builtin/tag.c:579
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: archive.c:426 builtin/add.c:215 builtin/add.c:671 builtin/rm.c:334
+#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -1725,7 +1723,7 @@ msgstr "格式"
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:552 builtin/log.c:1790
+#: archive.c:552 builtin/log.c:1809
 msgid "prefix"
 msgstr "前缀"
 
@@ -1733,12 +1731,12 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:554 archive.c:557 builtin/blame.c:880 builtin/blame.c:884
-#: builtin/blame.c:885 builtin/commit-tree.c:115 builtin/config.c:135
+#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
+#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
 #: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:935 builtin/hash-object.c:103
+#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
 #: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:190
+#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
 msgid "file"
 msgstr "文件"
 
@@ -1766,8 +1764,8 @@ msgstr "设置压缩级别"
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:118 builtin/clone.c:121
-#: builtin/submodule--helper.c:1870 builtin/submodule--helper.c:2513
+#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
+#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
 msgid "repo"
 msgstr "仓库"
 
@@ -1788,11 +1786,12 @@ msgstr "远程 git-upload-archive 命令的路径"
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
-#: archive.c:580 fetch-pack.c:300 revision.c:2887 builtin/add.c:544
-#: builtin/add.c:576 builtin/checkout.c:1763 builtin/commit.c:370
-#: builtin/fast-export.c:1230 builtin/index-pack.c:1848 builtin/log.c:2115
-#: builtin/reset.c:435 builtin/reset.c:493 builtin/rm.c:281
-#: builtin/stash.c:1719 builtin/worktree.c:508 http-fetch.c:144
+#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
+#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
+#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
+#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
+#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
+#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
 #: http-fetch.c:153
 #, c-format
 msgid "the option '%s' requires '%s'"
@@ -1812,17 +1811,17 @@ msgstr "未知归档格式 '%s'"
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
 
-#: attr.c:203
+#: attr.c:202
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s 不是一个有效的属性名"
 
-#: attr.c:364
+#: attr.c:363
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "不允许 %s:%s:%d"
 
-#: attr.c:404
+#: attr.c:403
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1840,12 +1839,12 @@ msgstr "文件 '%s' 包含错误的引用格式:%s"
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
-#: bisect.c:764
+#: bisect.c:765
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
-#: bisect.c:789
+#: bisect.c:790
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1854,7 +1853,7 @@ msgstr ""
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: bisect.c:794
+#: bisect.c:795
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1863,7 +1862,7 @@ msgstr ""
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: bisect.c:799
+#: bisect.c:800
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1872,7 +1871,7 @@ msgstr ""
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: bisect.c:807
+#: bisect.c:808
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1883,7 +1882,7 @@ msgstr ""
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
-#: bisect.c:820
+#: bisect.c:821
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1894,36 +1893,36 @@ msgstr ""
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
-#: bisect.c:859
+#: bisect.c:860
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "二分查找中:合并基线必须是经过测试的\n"
 
-#: bisect.c:909
+#: bisect.c:910
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:939
+#: bisect.c:940
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: bisect.c:985 builtin/merge.c:155
+#: bisect.c:986 builtin/merge.c:155
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:1025
+#: bisect.c:1026
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:1055
+#: bisect.c:1056
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
-#: bisect.c:1064
+#: bisect.c:1065
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1932,7 +1931,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:1093
+#: bisect.c:1094
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1942,80 +1941,80 @@ msgstr[1] "(大概 %d 步)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1099
+#: bisect.c:1100
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
-#: blame.c:2776
+#: blame.c:2773
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:2790
+#: blame.c:2787
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:2811
+#: blame.c:2808
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:2820 bundle.c:224 midx.c:1042 ref-filter.c:2370 remote.c:2158
-#: sequencer.c:2352 sequencer.c:4899 submodule.c:883 builtin/commit.c:1114
-#: builtin/log.c:429 builtin/log.c:1036 builtin/log.c:1644 builtin/log.c:2071
-#: builtin/log.c:2362 builtin/merge.c:431 builtin/pack-objects.c:3373
-#: builtin/pack-objects.c:3775 builtin/pack-objects.c:3790
+#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
+#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
+#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
+#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
+#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
 #: builtin/shortlog.c:255
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:2838
+#: blame.c:2835
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
-#: blame.c:2849
+#: blame.c:2846
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: blame.c:2860
+#: blame.c:2857
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "不能为路径 %2$s 读取数据对象 %1$s"
 
-#: branch.c:77
+#: branch.c:93
 msgid ""
 "cannot inherit upstream tracking configuration of multiple refs when "
 "rebasing is requested"
 msgstr "在请求变基时无法继承上游多个引用的跟踪设置"
 
-#: branch.c:88
+#: branch.c:104
 #, c-format
 msgid "not setting branch '%s' as its own upstream"
 msgstr "没有将分支 '%s' 设置为它自己的上游"
 
-#: branch.c:144
+#: branch.c:160
 #, c-format
 msgid "branch '%s' set up to track '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪 '%s'。"
 
-#: branch.c:145
+#: branch.c:161
 #, c-format
 msgid "branch '%s' set up to track '%s'."
 msgstr "分支 '%s' 设置为跟踪 '%s'。"
 
-#: branch.c:148
+#: branch.c:164
 #, c-format
 msgid "branch '%s' set up to track:"
 msgstr "分支 '%s' 设置为跟踪:"
 
-#: branch.c:160
+#: branch.c:176
 msgid "unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
-#: branch.c:162
+#: branch.c:178
 msgid ""
 "\n"
 "After fixing the error cause you may try to fix up\n"
@@ -2024,47 +2023,84 @@ msgstr ""
 "\n"
 "在修复错误后,您可以通过执行以下命令来尝试修改远程跟踪分支:"
 
-#: branch.c:203
+#: branch.c:219
 #, c-format
 msgid "asked to inherit tracking from '%s', but no remote is set"
 msgstr "要求从 '%s' 继承跟踪信息,但是没有设置远程"
 
-#: branch.c:209
+#: branch.c:225
 #, c-format
 msgid "asked to inherit tracking from '%s', but no merge configuration is set"
 msgstr "要求从 '%s' 继承跟踪信息,但是没有设置合并配置"
 
-#: branch.c:252
+#: branch.c:277
+#, c-format
+msgid "not tracking: ambiguous information for ref '%s'"
+msgstr "不在跟踪中:引用 '%s' 有歧义的信息"
+
+#  译者:为保证在输出中对齐,注意调整句中空格!
+#. TRANSLATORS: This is a line listing a remote with duplicate
+#. refspecs in the advice message below. For RTL languages you'll
+#. probably want to swap the "%s" and leading "  " space around.
+#.
+#. TRANSLATORS: This is line item of ambiguous object output
+#. from describe_ambiguous_object() above. For RTL languages
+#. you'll probably want to swap the "%s" and leading " " space
+#. around.
+#.
+#: branch.c:289 object-name.c:464
 #, c-format
-msgid "not tracking: ambiguous information for ref %s"
-msgstr "未跟踪:引用 %s 有歧义"
+msgid "  %s\n"
+msgstr "  %s\n"
+
+#. TRANSLATORS: The second argument is a \n-delimited list of
+#. duplicate refspecs, composed above.
+#.
+#: branch.c:295
+#, c-format
+msgid ""
+"There are multiple remotes whose fetch refspecs map to the remote\n"
+"tracking ref '%s':\n"
+"%s\n"
+"This is typically a configuration error.\n"
+"\n"
+"To support setting up tracking branches, ensure that\n"
+"different remotes' fetch refspecs map into different\n"
+"tracking namespaces."
+msgstr ""
+"有多个远程的获取引用规格映射到了追踪引用 '%s':\n"
+"%s\n"
+"这一般是个配置错误。\n"
+"\n"
+"如果要支持设置追踪分支,请保证不同远程的获取引用规格映射至不同的追踪命名空"
+"间。"
 
-#: branch.c:287
+#: branch.c:344
 #, c-format
 msgid "'%s' is not a valid branch name"
 msgstr "'%s' 不是一个有效的分支名称"
 
-#: branch.c:307
+#: branch.c:364
 #, c-format
 msgid "a branch named '%s' already exists"
 msgstr "一个名为 '%s' 的分支已经存在"
 
-#: branch.c:313
+#: branch.c:370
 #, c-format
 msgid "cannot force update the branch '%s' checked out at '%s'"
 msgstr "无法强制更新检出于 '%2$s' 的分支 '%1$s'"
 
-#: branch.c:336
+#: branch.c:393
 #, c-format
 msgid "cannot set up tracking information; starting point '%s' is not a branch"
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支"
 
-#: branch.c:338
+#: branch.c:395
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:340
+#: branch.c:397
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -2082,126 +2118,144 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:384 builtin/replace.c:321 builtin/replace.c:377
+#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
 #: builtin/replace.c:423 builtin/replace.c:453
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
-#: branch.c:404
+#: branch.c:465
 #, c-format
 msgid "ambiguous object name: '%s'"
 msgstr "歧义的对象名:'%s'"
 
-#: branch.c:409
+#: branch.c:470
 #, c-format
 msgid "not a valid branch point: '%s'"
 msgstr "无效的分支点:'%s'"
 
-#: branch.c:469
+#: branch.c:658
+#, c-format
+msgid "submodule '%s': unable to find submodule"
+msgstr "子模组 '%s':无法找到子模组"
+
+#: branch.c:661
+#, c-format
+msgid ""
+"You may try updating the submodules using 'git checkout %s && git submodule "
+"update --init'"
+msgstr ""
+"你可以用 'git checkout %s && git submodule update --init' 来尝试更新子模组"
+
+#: branch.c:672 branch.c:698
+#, c-format
+msgid "submodule '%s': cannot create branch '%s'"
+msgstr "子模组 '%s':不能创建分支 '%s'"
+
+#: branch.c:730
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
-#: branch.c:494
+#: branch.c:755
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
 
-#: bundle.c:44
+#: bundle.c:45
 #, c-format
 msgid "unrecognized bundle hash algorithm: %s"
 msgstr "未能识别的归档包哈希算法:%s"
 
-#: bundle.c:48
+#: bundle.c:53
 #, c-format
 msgid "unknown capability '%s'"
 msgstr "未知能力 '%s'"
 
-#: bundle.c:74
+#: bundle.c:79
 #, c-format
 msgid "'%s' does not look like a v2 or v3 bundle file"
 msgstr "'%s' 不像是一个 v2 或 v3 版本的归档包文件"
 
-#: bundle.c:113
+#: bundle.c:118
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:140 rerere.c:464 rerere.c:674 sequencer.c:2620 sequencer.c:3406
-#: builtin/commit.c:862
+#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
+#: builtin/commit.c:865
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 
-#: bundle.c:198
+#: bundle.c:203
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交:"
 
-#: bundle.c:201
+#: bundle.c:206
 msgid "need a repository to verify a bundle"
 msgstr "需要一个仓库来校验一个归档包"
 
-#: bundle.c:257
+#: bundle.c:264
 #, c-format
 msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %d refs:"
+msgid_plural "The bundle contains these %<PRIuMAX> refs:"
 msgstr[0] "这个归档包中含有这个引用:"
-msgstr[1] "这个归档包中含有 %d 个引用:"
+msgstr[1] "这个归档包中含有 %<PRIuMAX> 个引用:"
 
-#: bundle.c:264
+#: bundle.c:272
 msgid "The bundle records a complete history."
 msgstr "这个归档包记录一个完整历史。"
 
-#: bundle.c:266
+#: bundle.c:274
 #, c-format
 msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %d refs:"
+msgid_plural "The bundle requires these %<PRIuMAX> refs:"
 msgstr[0] "这个归档包需要这个引用:"
-msgstr[1] "这个归档包需要 %d 个引用:"
+msgstr[1] "这个归档包需要 %<PRIuMAX> 个引用:"
 
-#: bundle.c:333
+#: bundle.c:350
 msgid "unable to dup bundle descriptor"
 msgstr "无法复制归档包描述符"
 
-#: bundle.c:340
+#: bundle.c:357
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
-#: bundle.c:351
+#: bundle.c:368
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
-#: bundle.c:400
+#: bundle.c:417
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:504
+#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
+#, c-format
+msgid "unrecognized argument: %s"
+msgstr "未能识别的参数:%s"
+
+#: bundle.c:548
 #, c-format
 msgid "unsupported bundle version %d"
 msgstr "不支持的归档包版本 %d"
 
-#: bundle.c:506
+#: bundle.c:550
 #, c-format
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "不能写入,归档包版本 %d 不支持算法 %s"
 
-#: bundle.c:524 builtin/log.c:210 builtin/log.c:1953 builtin/shortlog.c:399
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr "未能识别的参数:%s"
-
-#: bundle.c:553
+#: bundle.c:600
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空的归档包。"
 
-#: bundle.c:563
+#: bundle.c:610
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:588
+#: bundle.c:639
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
@@ -2229,7 +2283,7 @@ msgstr "最终块有非零 ID %<PRIx32>"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit-graph.c:204 midx.c:51
+#: commit-graph.c:204 midx.c:52
 msgid "invalid hash version"
 msgstr "无效的哈希版本"
 
@@ -2257,234 +2311,235 @@ msgstr "提交图形哈希版本 %X 和版本 %X 不匹配"
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "提交图形文件太小,容不下 %u 个块"
 
-#: commit-graph.c:482
+#: commit-graph.c:485
 msgid "commit-graph has no base graphs chunk"
 msgstr "提交图形没有基础图形块"
 
-#: commit-graph.c:492
+#: commit-graph.c:495
 msgid "commit-graph chain does not match"
 msgstr "提交图形链不匹配"
 
-#: commit-graph.c:540
+#: commit-graph.c:543
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr "无效的提交图形链:行 '%s' 不是一个哈希值"
 
-#: commit-graph.c:564
+#: commit-graph.c:567
 msgid "unable to find all commit-graph files"
 msgstr "无法找到所有提交图形文件"
 
-#: commit-graph.c:749 commit-graph.c:786
+#: commit-graph.c:752 commit-graph.c:789
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr "无效的提交位置。提交图形可能已损坏"
 
-#: commit-graph.c:770
+#: commit-graph.c:773
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
-#: commit-graph.c:803
+#: commit-graph.c:806
 msgid "commit-graph requires overflow generation data but has none"
 msgstr "提交图需要溢出世代数据,但是没有"
 
-#: commit-graph.c:1108 builtin/am.c:1369
+#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
+#: builtin/clone.c:705
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: commit-graph.c:1370 builtin/pack-objects.c:3070
+#: commit-graph.c:1373 builtin/pack-objects.c:3078
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
-#: commit-graph.c:1401
+#: commit-graph.c:1404
 msgid "Loading known commits in commit graph"
 msgstr "正在加载提交图中的已知提交"
 
-#: commit-graph.c:1418
+#: commit-graph.c:1421
 msgid "Expanding reachable commits in commit graph"
 msgstr "正在扩展提交图中的可达提交"
 
-#: commit-graph.c:1438
+#: commit-graph.c:1441
 msgid "Clearing commit marks in commit graph"
 msgstr "正在清除提交图中的提交标记"
 
-#: commit-graph.c:1457
+#: commit-graph.c:1460
 msgid "Computing commit graph topological levels"
 msgstr "正在计算提交图拓扑级别"
 
-#: commit-graph.c:1510
+#: commit-graph.c:1513
 msgid "Computing commit graph generation numbers"
 msgstr "正在计算提交图世代数字"
 
-#: commit-graph.c:1591
+#: commit-graph.c:1598
 msgid "Computing commit changed paths Bloom filters"
 msgstr "计算提交变更路径的布隆过滤器"
 
-#: commit-graph.c:1668
+#: commit-graph.c:1675
 msgid "Collecting referenced commits"
 msgstr "正在收集引用的提交"
 
-#: commit-graph.c:1693
+#: commit-graph.c:1701
 #, c-format
-msgid "Finding commits for commit graph in %d pack"
-msgid_plural "Finding commits for commit graph in %d packs"
-msgstr[0] "正在 %d 个包中查找提交图的提交"
-msgstr[1] "正在 %d 个包中查找提交图的提交"
+msgid "Finding commits for commit graph in %<PRIuMAX> pack"
+msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
+msgstr[0] "正在 %<PRIuMAX> 个包中查找提交图的提交"
+msgstr[1] "正在 %<PRIuMAX> 个包中查找提交图的提交"
 
-#: commit-graph.c:1706
+#: commit-graph.c:1714
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
-#: commit-graph.c:1710
+#: commit-graph.c:1718
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
-#: commit-graph.c:1747
+#: commit-graph.c:1756
 msgid "Finding commits for commit graph among packed objects"
 msgstr "正在打包对象中查找提交图的提交"
 
-#: commit-graph.c:1765
+#: commit-graph.c:1774
 msgid "Finding extra edges in commit graph"
 msgstr "正在查找提交图中额外的边"
 
-#: commit-graph.c:1814
+#: commit-graph.c:1823
 msgid "failed to write correct number of base graph ids"
 msgstr "无法写入正确数量的基础图形 ID"
 
-#: commit-graph.c:1845 midx.c:1149
+#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
-#: commit-graph.c:1858
+#: commit-graph.c:1868
 msgid "unable to create temporary graph layer"
 msgstr "无法创建临时图层"
 
-#: commit-graph.c:1863
+#: commit-graph.c:1873
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "无法为 '%s' 调整共享权限"
 
-#: commit-graph.c:1920
+#: commit-graph.c:1930
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "正在用 %d 步写出提交图"
 msgstr[1] "正在用 %d 步写出提交图"
 
-#: commit-graph.c:1956
+#: commit-graph.c:1967
 msgid "unable to open commit-graph chain file"
 msgstr "无法打开提交图形链文件"
 
-#: commit-graph.c:1972
+#: commit-graph.c:1983
 msgid "failed to rename base commit-graph file"
 msgstr "无法重命名基础提交图形文件"
 
-#: commit-graph.c:1992
+#: commit-graph.c:2004
 msgid "failed to rename temporary commit-graph file"
 msgstr "无法重命名临时提交图形文件"
 
-#: commit-graph.c:2125
+#: commit-graph.c:2137
 msgid "Scanning merged commits"
 msgstr "正在扫描合并提交"
 
-#: commit-graph.c:2169
+#: commit-graph.c:2181
 msgid "Merging commit-graph"
 msgstr "正在合并提交图形"
 
-#: commit-graph.c:2277
+#: commit-graph.c:2289
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr "正尝试写提交图,但是 'core.commitGraph' 被禁用"
 
-#: commit-graph.c:2384
+#: commit-graph.c:2396
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
-#: commit-graph.c:2482
+#: commit-graph.c:2494
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr "提交图文件的校验码错误,可能已经损坏"
 
-#: commit-graph.c:2492
+#: commit-graph.c:2504
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "提交图形的对象 ID 顺序不正确:%s 然后 %s"
 
-#: commit-graph.c:2502 commit-graph.c:2517
+#: commit-graph.c:2514 commit-graph.c:2529
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr "提交图形有不正确的扇出值:fanout[%d] = %u != %u"
 
-#: commit-graph.c:2509
+#: commit-graph.c:2521
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "无法从提交图形中解析提交 %s"
 
-#: commit-graph.c:2527
+#: commit-graph.c:2539
 msgid "Verifying commits in commit graph"
 msgstr "正在校验提交图中的提交"
 
-#: commit-graph.c:2542
+#: commit-graph.c:2554
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr "无法从提交图形的对象库中解析提交 %s"
 
-#: commit-graph.c:2549
+#: commit-graph.c:2561
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr "提交图形中的提交 %s 的根树对象 ID 是 %s != %s"
 
-#: commit-graph.c:2559
+#: commit-graph.c:2571
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr "提交 %s 的提交图形父提交列表太长了"
 
-#: commit-graph.c:2568
+#: commit-graph.c:2580
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "%s 的提交图形父提交是 %s != %s"
 
-#: commit-graph.c:2582
+#: commit-graph.c:2594
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr "提交 %s 的提交图形父提交列表过早终止"
 
-#: commit-graph.c:2587
+#: commit-graph.c:2599
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
 msgstr "提交图形中提交 %s 的世代号是零,但其它地方非零"
 
-#: commit-graph.c:2591
+#: commit-graph.c:2603
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
 msgstr "提交图形中提交 %s 的世代号非零,但其它地方是零"
 
-#: commit-graph.c:2608
+#: commit-graph.c:2620
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr "提交图形中的提交 %s 的世代号是 %<PRIuMAX> < %<PRIuMAX>"
 
-#: commit-graph.c:2614
+#: commit-graph.c:2626
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr "提交图形中提交 %s 的提交日期是 %<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:53 sequencer.c:3109 builtin/am.c:399 builtin/am.c:444
-#: builtin/am.c:449 builtin/am.c:1448 builtin/am.c:2123 builtin/replace.c:456
+#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
+#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 
-#: commit.c:55
+#: commit.c:56
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
-#: commit.c:196
+#: commit.c:197
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -2504,27 +2559,27 @@ msgstr ""
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1241
+#: commit.c:1252
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1245
+#: commit.c:1256
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1248
+#: commit.c:1259
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有 GPG 签名。"
 
-#: commit.c:1251
+#: commit.c:1262
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: commit.c:1505
+#: commit.c:1516
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -2538,7 +2593,15 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:125
+#: compat/terminal.c:167
+msgid "cannot resume in the background, please use 'fg' to resume"
+msgstr "无法从后台中恢复,请使用 'fg' 来恢复"
+
+#: compat/terminal.c:168
+msgid "cannot restore terminal settings"
+msgstr "无法恢复终端设置"
+
+#: config.c:143
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -2553,333 +2616,360 @@ msgstr ""
 "\t%2$s\n"
 "这可能是因为循环包含。"
 
-#: config.c:141
+#: config.c:159
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "无法扩展包含路径 '%s'"
 
-#: config.c:152
+#: config.c:170
 msgid "relative config includes must come from files"
 msgstr "相对路径的配置文件引用必须来自于文件"
 
-#: config.c:201
+#: config.c:219
 msgid "relative config include conditionals must come from files"
 msgstr "相对路径的配置文件条件引用必须来自于文件"
 
-#: config.c:398
+#: config.c:364
+msgid ""
+"remote URLs cannot be configured in file directly or indirectly included by "
+"includeIf.hasconfig:remote.*.url"
+msgstr ""
+"远程 URL 不能在文件中配置,不管直接地还是通过 includeIf.hasconfig:remote.*.url 间接"
+"包含地。"
+
+#: config.c:508
 #, c-format
 msgid "invalid config format: %s"
 msgstr "无效的配置格式:%s"
 
-#: config.c:402
+#: config.c:512
 #, c-format
 msgid "missing environment variable name for configuration '%.*s'"
 msgstr "配置 '%.*s' 缺少环境变量名称"
 
-#: config.c:407
+#: config.c:517
 #, c-format
 msgid "missing environment variable '%s' for configuration '%.*s'"
 msgstr "缺少环境变量 '%s' 于配置 '%.*s' "
 
-#: config.c:443
+#: config.c:553
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "键名没有包含一个小节名称:%s"
 
-#: config.c:448
+#: config.c:558
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
-#: config.c:470 sequencer.c:2806
+#: config.c:580 sequencer.c:2802
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 
-#: config.c:475
+#: config.c:585
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "无效键名(有换行符):%s"
 
-#: config.c:495
+#: config.c:605
 msgid "empty config key"
 msgstr "空的配置键名"
 
-#: config.c:513 config.c:525
+#: config.c:623 config.c:635
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "伪配置参数:%s"
 
-#: config.c:539 config.c:556 config.c:563 config.c:572
+#: config.c:649 config.c:666 config.c:673 config.c:682
 #, c-format
 msgid "bogus format in %s"
 msgstr "%s 中格式错误"
 
-#: config.c:606
+#: config.c:716
 #, c-format
 msgid "bogus count in %s"
 msgstr "%s 中错误计数"
 
-#: config.c:610
+#: config.c:720
 #, c-format
 msgid "too many entries in %s"
 msgstr "%s 中太多的条目"
 
-#: config.c:620
+#: config.c:730
 #, c-format
 msgid "missing config key %s"
 msgstr "缺失配置键名 %s"
 
-#: config.c:628
+#: config.c:738
 #, c-format
 msgid "missing config value %s"
 msgstr "缺失配置取值 %s"
 
-#: config.c:979
+#: config.c:1089
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:983
+#: config.c:1093
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:987
+#: config.c:1097
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:991
+#: config.c:1101
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:995
+#: config.c:1105
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:999
+#: config.c:1109
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:1136
+#: config.c:1246
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:1136
+#: config.c:1246
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:1137
+#: config.c:1247
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: config.c:1147
+#: config.c:1257
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1150
+#: config.c:1260
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1153
+#: config.c:1263
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
-#: config.c:1156
+#: config.c:1266
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1159
+#: config.c:1269
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1162
+#: config.c:1272
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1241
+#: config.c:1368
+#, c-format
+msgid "invalid value for variable %s"
+msgstr "变量 %s 的值无效"
+
+#: config.c:1389
+#, c-format
+msgid "ignoring unknown core.fsync component '%s'"
+msgstr "忽略未知的 core.fsync 组件 '%s'"
+
+#: config.c:1425
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "'%2$s' 的错误的布尔取值 '%1$s'"
 
-#: config.c:1259
+#: config.c:1443
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展用户目录:'%s'"
 
-#: config.c:1268
+#: config.c:1452
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
-#: config.c:1361
+#: config.c:1545
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "缩写长度超出范围:%d"
 
-#: config.c:1375 config.c:1386
+#: config.c:1559 config.c:1570
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:1476
+#: config.c:1660
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar 应该是一个字符"
 
-#: config.c:1509
+#: config.c:1692
+#, c-format
+msgid "ignoring unknown core.fsyncMethod value '%s'"
+msgstr "忽略未知的 core.fsyncMethod 值 '%s'"
+
+#: config.c:1698
+msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
+msgstr "core.fsyncObjectFiles 已经被弃用;取而代之使用 core.fsync"
+
+#: config.c:1714
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1584
+#: config.c:1800
 #, c-format
 msgid "malformed value for %s"
 msgstr "%s 的取值格式错误"
 
-#: config.c:1610
+#: config.c:1826
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "%s 的取值格式错误:%s"
 
-#: config.c:1611
+#: config.c:1827
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
-#: config.c:1672 builtin/pack-objects.c:4053
+#: config.c:1888 builtin/pack-objects.c:4078
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1795
+#: config.c:2014
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
-#: config.c:1798
+#: config.c:2017
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
-#: config.c:1816
+#: config.c:2035
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
-#: config.c:1861
+#: config.c:2080
 #, c-format
 msgid "failed to parse %s"
 msgstr "无法解析 %s"
 
-#: config.c:1917
+#: config.c:2136
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2285
+#: config.c:2512
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2459
+#: config.c:2686
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2504
+#: config.c:2731
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2550
+#: config.c:2763
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2552
+#: config.c:2765
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2637
+#: config.c:2850
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
-#: config.c:2669
+#: config.c:2882
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2698
+#: config.c:2911
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "无法写入新的配置文件 %s"
 
-#: config.c:2950 config.c:3277
+#: config.c:3177 config.c:3518
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
-#: config.c:2961
+#: config.c:3188
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
-#: config.c:2998 builtin/config.c:361
+#: config.c:3225 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
-#: config.c:3023
+#: config.c:3250
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
-#: config.c:3036 config.c:3290
+#: config.c:3263 config.c:3531
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:3047
+#: config.c:3274
 #, c-format
 msgid "unable to mmap '%s'%s"
 msgstr "不能 mmap '%s'%s"
 
-#: config.c:3057 config.c:3295
+#: config.c:3284 config.c:3536
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
-#: config.c:3142 config.c:3392
+#: config.c:3369 config.c:3633
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
-#: config.c:3176
+#: config.c:3403
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:3178 builtin/remote.c:662 builtin/remote.c:860 builtin/remote.c:868
+#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: config.c:3268
+#: config.c:3509
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
-#: config.c:3435
+#: config.c:3676
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
@@ -3208,68 +3298,68 @@ msgstr "拒绝使用缺少主机字段的凭据"
 msgid "refusing to work with credential missing protocol field"
 msgstr "拒绝使用缺少协议字段的凭据"
 
-#: credential.c:395
+#: credential.c:396
 #, c-format
 msgid "url contains a newline in its %s component: %s"
 msgstr "URL 的 %s 组件中包含换行符:%s"
 
-#: credential.c:439
+#: credential.c:440
 #, c-format
 msgid "url has no scheme: %s"
 msgstr "URL 没有 scheme:%s"
 
-#: credential.c:512
+#: credential.c:513
 #, c-format
 msgid "credential url cannot be parsed: %s"
 msgstr "不能解析凭据 URL:%s"
 
-#: date.c:138
+#: date.c:139
 msgid "in the future"
 msgstr "在将来"
 
-#: date.c:144
+#: date.c:145
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] "%<PRIuMAX> 秒钟前"
 msgstr[1] "%<PRIuMAX> 秒钟前"
 
-#: date.c:151
+#: date.c:152
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] "%<PRIuMAX> 分钟前"
 msgstr[1] "%<PRIuMAX> 分钟前"
 
-#: date.c:158
+#: date.c:159
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] "%<PRIuMAX> 小时前"
 msgstr[1] "%<PRIuMAX> 小时前"
 
-#: date.c:165
+#: date.c:166
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] "%<PRIuMAX> 天前"
 msgstr[1] "%<PRIuMAX> 天前"
 
-#: date.c:171
+#: date.c:172
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] "%<PRIuMAX> 周前"
 msgstr[1] "%<PRIuMAX> 周前"
 
-#: date.c:178
+#: date.c:179
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] "%<PRIuMAX> 个月前"
 msgstr[1] "%<PRIuMAX> 个月前"
 
-#: date.c:189
+#: date.c:190
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -3277,14 +3367,14 @@ msgstr[0] "%<PRIuMAX> 年"
 msgstr[1] "%<PRIuMAX> 年"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:192
+#: date.c:193
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] "%s %<PRIuMAX> 个月前"
 msgstr[1] "%s %<PRIuMAX> 个月前"
 
-#: date.c:197 date.c:202
+#: date.c:198 date.c:203
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -3315,10 +3405,14 @@ msgstr "来自 config 的数据岛正则表达式有太多的捕获组(最多
 msgid "Marked %d islands, done.\n"
 msgstr "已标记 %d 个数据岛,结束。\n"
 
-#: diff-merges.c:70
+#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
+#: parallel-checkout.c:42 sequencer.c:2805 setup.c:562 builtin/am.c:203
+#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
+#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
+#: builtin/pull.c:47 builtin/pull.c:321
 #, c-format
-msgid "unknown value for --diff-merges: %s"
-msgstr "未知的 --diff-merges 取值:%s"
+msgid "invalid value for '%s': '%s'"
+msgstr "'%s' 的值无效:'%s'"
 
 #: diff-lib.c:561
 msgid "--merge-base does not work with ranges"
@@ -3351,18 +3445,18 @@ msgid ""
 msgstr "不是 git 仓库。使用 --no-index 比较工作区之外的两个路径"
 
 #  译者:注意保持前导空格
-#: diff.c:158
+#: diff.c:159
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
 #  译者:注意保持前导空格
-#: diff.c:163
+#: diff.c:164
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:299
+#: diff.c:300
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -3370,7 +3464,7 @@ msgstr ""
 "移动的颜色设置必须是 'no'、'default'、'blocks'、'zebra'、'dimmed-zebra' 或 "
 "'plain'"
 
-#: diff.c:327
+#: diff.c:328
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -3379,18 +3473,18 @@ msgstr ""
 "未知的 color-moved-ws 模式 '%s',可能的取值有 'ignore-space-change'、'ignore-"
 "space-at-eol'、'ignore-all-space'、'allow-indentation-change'"
 
-#: diff.c:335
+#: diff.c:336
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
 msgstr "color-moved-ws:allow-indentation-change 不能与其它空白字符模式共用"
 
-#: diff.c:412
+#: diff.c:413
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:472
+#: diff.c:473
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -3399,48 +3493,48 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:4237
+#: diff.c:4282
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4589
+#: diff.c:4677 parse-options.c:1114
 #, c-format
 msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
 msgstr "选项 '%s'、'%s'、'%s' 和 '%s' 不能同时使用"
 
-#: diff.c:4593 builtin/difftool.c:736 builtin/log.c:1982 builtin/worktree.c:506
+#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
 #, c-format
 msgid "options '%s', '%s', and '%s' cannot be used together"
 msgstr "选项 '%s'、'%s' 和 '%s' 不能同时使用"
 
-#: diff.c:4597
+#: diff.c:4685
 #, c-format
 msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
 msgstr "选项 '%1$s'、'%2$s' 不能同时使用,与 '%4$s' 一起使用 '%3$s'"
 
-#: diff.c:4601
+#: diff.c:4689
 #, c-format
 msgid ""
 "options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
 msgstr "选项 '%1$s'、'%2$s' 不能同时使用,与 '%4$s' 和 '%5$s' 一起使用 '%3$s'"
 
-#: diff.c:4681
+#: diff.c:4769
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4729
+#: diff.c:4823
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "无效的 --stat 值:%s"
 
-#: diff.c:4734 diff.c:4739 diff.c:4744 diff.c:4749 diff.c:5277
+#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
 #: parse-options.c:217 parse-options.c:221
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s 期望一个数字值"
 
-#: diff.c:4766
+#: diff.c:4860
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3449,200 +3543,200 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4851
+#: diff.c:4893
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "--diff-filter=%2$s 中未知的变更类 '%1$c'"
 
-#: diff.c:4875
+#: diff.c:4917
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "ws-error-highlight=%.*s 之后未知的值"
 
-#: diff.c:4889
+#: diff.c:4931
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "不能解析 '%s'"
 
-#: diff.c:4939 diff.c:4945
+#: diff.c:4981 diff.c:4987
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s 期望 <n>/<m> 格式"
 
-#: diff.c:4957
+#: diff.c:4999
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s 期望一个字符,得到 '%s'"
 
-#: diff.c:4978
+#: diff.c:5020
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "坏的 --color-moved 参数:%s"
 
-#: diff.c:4997
+#: diff.c:5039
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "--color-moved-ws 中的无效模式 '%s' "
 
-#: diff.c:5037
+#: diff.c:5079
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
 msgstr ""
 "diff-algorithm 选项有 \"myers\"、\"minimal\"、\"patience\" 和 \"histogram\""
 
-#: diff.c:5073 diff.c:5093
+#: diff.c:5115 diff.c:5135
 #, c-format
 msgid "invalid argument to %s"
 msgstr "%s 的参数无效"
 
-#: diff.c:5197
+#: diff.c:5239
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "选项 -I 的正则表达式无效:'%s'"
 
-#: diff.c:5246
+#: diff.c:5288
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5302
+#: diff.c:5344
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "坏的 --word-diff 参数:%s"
 
-#: diff.c:5338
+#: diff.c:5380
 msgid "Diff output format options"
 msgstr "差异输出格式化选项"
 
-#: diff.c:5340 diff.c:5346
+#: diff.c:5382 diff.c:5388
 msgid "generate patch"
 msgstr "生成补丁"
 
-#: diff.c:5343 builtin/log.c:179
+#: diff.c:5385 builtin/log.c:180
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: diff.c:5348 diff.c:5462 diff.c:5469
+#: diff.c:5390 diff.c:5504 diff.c:5511
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5349 diff.c:5352
+#: diff.c:5391 diff.c:5394
 msgid "generate diffs with <n> lines context"
 msgstr "生成含 <n> 行上下文的差异"
 
-#: diff.c:5354
+#: diff.c:5396
 msgid "generate the diff in raw format"
 msgstr "生成原始格式的差异"
 
-#: diff.c:5357
+#: diff.c:5399
 msgid "synonym for '-p --raw'"
 msgstr "和 '-p --raw' 同义"
 
-#: diff.c:5361
+#: diff.c:5403
 msgid "synonym for '-p --stat'"
 msgstr "和 '-p --stat' 同义"
 
-#: diff.c:5365
+#: diff.c:5407
 msgid "machine friendly --stat"
 msgstr "机器友好的 --stat"
 
-#: diff.c:5368
+#: diff.c:5410
 msgid "output only the last line of --stat"
 msgstr "只输出 --stat 的最后一行"
 
-#: diff.c:5370 diff.c:5378
+#: diff.c:5412 diff.c:5420
 msgid "<param1,param2>..."
 msgstr "<参数1,参数2>..."
 
-#: diff.c:5371
+#: diff.c:5413
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "输出每个子目录相对变更的分布"
 
-#: diff.c:5375
+#: diff.c:5417
 msgid "synonym for --dirstat=cumulative"
 msgstr "和 --dirstat=cumulative 同义"
 
-#: diff.c:5379
+#: diff.c:5421
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "是 --dirstat=files,param1,param2... 的同义词"
 
-#: diff.c:5383
+#: diff.c:5425
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr "如果变更中引入冲突定界符或空白错误,给出警告"
 
-#: diff.c:5386
+#: diff.c:5428
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "精简摘要,例如创建、重命名和模式变更"
 
-#: diff.c:5389
+#: diff.c:5431
 msgid "show only names of changed files"
 msgstr "只显示变更文件的文件名"
 
-#: diff.c:5392
+#: diff.c:5434
 msgid "show only names and status of changed files"
 msgstr "只显示变更文件的文件名和状态"
 
-#: diff.c:5394
+#: diff.c:5436
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<宽度>[,<文件名宽度>[,<次数>]]"
 
-#: diff.c:5395
+#: diff.c:5437
 msgid "generate diffstat"
 msgstr "生成差异统计(diffstat)"
 
-#: diff.c:5397 diff.c:5400 diff.c:5403
+#: diff.c:5439 diff.c:5442 diff.c:5445
 msgid "<width>"
 msgstr "<宽度>"
 
-#: diff.c:5398
+#: diff.c:5440
 msgid "generate diffstat with a given width"
 msgstr "使用给定的长度生成差异统计"
 
-#: diff.c:5401
+#: diff.c:5443
 msgid "generate diffstat with a given name width"
 msgstr "使用给定的文件名长度生成差异统计"
 
-#: diff.c:5404
+#: diff.c:5446
 msgid "generate diffstat with a given graph width"
 msgstr "使用给定的图形长度生成差异统计"
 
-#: diff.c:5406
+#: diff.c:5448
 msgid "<count>"
 msgstr "<次数>"
 
-#: diff.c:5407
+#: diff.c:5449
 msgid "generate diffstat with limited lines"
 msgstr "生成有限行数的差异统计"
 
-#: diff.c:5410
+#: diff.c:5452
 msgid "generate compact summary in diffstat"
 msgstr "生成差异统计的简洁摘要"
 
-#: diff.c:5413
+#: diff.c:5455
 msgid "output a binary diff that can be applied"
 msgstr "输出一个可以应用的二进制差异"
 
-#: diff.c:5416
+#: diff.c:5458
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr "在 \"index\" 行显示完整的前后对象名称"
 
-#: diff.c:5418
+#: diff.c:5460
 msgid "show colored diff"
 msgstr "显示带颜色的差异"
 
-#: diff.c:5419
+#: diff.c:5461
 msgid "<kind>"
 msgstr "<类型>"
 
-#: diff.c:5420
+#: diff.c:5462
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
 msgstr "对于差异中的上下文、旧的和新的行,加亮显示错误的空白字符"
 
-#: diff.c:5423
+#: diff.c:5465
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3650,311 +3744,311 @@ msgstr ""
 "在 --raw 或者 --numstat 中,不对路径字符转码并使用 NUL 字符做为输出字段的分隔"
 "符"
 
-#: diff.c:5426 diff.c:5429 diff.c:5432 diff.c:5541
+#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
 msgid "<prefix>"
 msgstr "<前缀>"
 
-#: diff.c:5427
+#: diff.c:5469
 msgid "show the given source prefix instead of \"a/\""
 msgstr "显示给定的源前缀取代 \"a/\""
 
-#: diff.c:5430
+#: diff.c:5472
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "显示给定的目标前缀取代 \"b/\""
 
-#: diff.c:5433
+#: diff.c:5475
 msgid "prepend an additional prefix to every line of output"
 msgstr "输出的每一行附加前缀"
 
-#: diff.c:5436
+#: diff.c:5478
 msgid "do not show any source or destination prefix"
 msgstr "不显示任何源和目标前缀"
 
-#: diff.c:5439
+#: diff.c:5481
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr "显示指定行数的差异块间的上下文"
 
-#: diff.c:5443 diff.c:5448 diff.c:5453
+#: diff.c:5485 diff.c:5490 diff.c:5495
 msgid "<char>"
 msgstr "<字符>"
 
-#: diff.c:5444
+#: diff.c:5486
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "指定一个字符取代 '+' 来表示新的一行"
 
-#: diff.c:5449
+#: diff.c:5491
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "指定一个字符取代 '-' 来表示旧的一行"
 
-#: diff.c:5454
+#: diff.c:5496
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "指定一个字符取代 ' ' 来表示一行上下文"
 
-#: diff.c:5457
+#: diff.c:5499
 msgid "Diff rename options"
 msgstr "差异重命名选项"
 
-#: diff.c:5458
+#: diff.c:5500
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5459
+#: diff.c:5501
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "将完全重写的变更打破为成对的删除和创建"
 
-#: diff.c:5463
+#: diff.c:5505
 msgid "detect renames"
 msgstr "检测重命名"
 
-#: diff.c:5467
+#: diff.c:5509
 msgid "omit the preimage for deletes"
 msgstr "省略删除操作的差异输出"
 
-#: diff.c:5470
+#: diff.c:5512
 msgid "detect copies"
 msgstr "检测拷贝"
 
-#: diff.c:5474
+#: diff.c:5516
 msgid "use unmodified files as source to find copies"
 msgstr "使用未修改的文件做为发现拷贝的源"
 
-#: diff.c:5476
+#: diff.c:5518
 msgid "disable rename detection"
 msgstr "禁用重命名探测"
 
-#: diff.c:5479
+#: diff.c:5521
 msgid "use empty blobs as rename source"
 msgstr "使用空的数据对象做为重命名的源"
 
-#: diff.c:5481
+#: diff.c:5523
 msgid "continue listing the history of a file beyond renames"
 msgstr "继续列出文件重命名以外的历史记录"
 
-#: diff.c:5484
+#: diff.c:5526
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
 msgstr "如果重命名/拷贝目标超过给定的限制,禁止重命名/拷贝检测"
 
-#: diff.c:5486
+#: diff.c:5528
 msgid "Diff algorithm options"
 msgstr "差异算法选项"
 
-#: diff.c:5488
+#: diff.c:5530
 msgid "produce the smallest possible diff"
 msgstr "生成尽可能小的差异"
 
-#: diff.c:5491
+#: diff.c:5533
 msgid "ignore whitespace when comparing lines"
 msgstr "行比较时忽略空白字符"
 
-#: diff.c:5494
+#: diff.c:5536
 msgid "ignore changes in amount of whitespace"
 msgstr "忽略空白字符的变更"
 
-#: diff.c:5497
+#: diff.c:5539
 msgid "ignore changes in whitespace at EOL"
 msgstr "忽略行尾的空白字符变更"
 
-#: diff.c:5500
+#: diff.c:5542
 msgid "ignore carrier-return at the end of line"
 msgstr "忽略行尾的回车符(CR)"
 
-#: diff.c:5503
+#: diff.c:5545
 msgid "ignore changes whose lines are all blank"
 msgstr "忽略整行都是空白的变更"
 
-#: diff.c:5505 diff.c:5527 diff.c:5530 diff.c:5575
+#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
 msgid "<regex>"
 msgstr "<正则>"
 
-#: diff.c:5506
+#: diff.c:5548
 msgid "ignore changes whose all lines match <regex>"
 msgstr "忽略所有行都和正则表达式匹配的变更"
 
-#: diff.c:5509
+#: diff.c:5551
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "启发式转换差异边界以便阅读"
 
-#: diff.c:5512
+#: diff.c:5554
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "使用 \"patience diff\" 算法生成差异"
 
-#: diff.c:5516
+#: diff.c:5558
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "使用 \"histogram diff\" 算法生成差异"
 
-#: diff.c:5518
+#: diff.c:5560
 msgid "<algorithm>"
 msgstr "<算法>"
 
-#: diff.c:5519
+#: diff.c:5561
 msgid "choose a diff algorithm"
 msgstr "选择一个差异算法"
 
-#: diff.c:5521
+#: diff.c:5563
 msgid "<text>"
 msgstr "<文本>"
 
-#: diff.c:5522
+#: diff.c:5564
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "使用 \"anchored diff\" 算法生成差异"
 
-#: diff.c:5524 diff.c:5533 diff.c:5536
+#: diff.c:5566 diff.c:5575 diff.c:5578
 msgid "<mode>"
 msgstr "<模式>"
 
-#: diff.c:5525
+#: diff.c:5567
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr "显示单词差异,使用 <模式> 分隔变更的单词"
 
-#: diff.c:5528
+#: diff.c:5570
 msgid "use <regex> to decide what a word is"
 msgstr "使用 <正则表达式> 确定何为一个词"
 
-#: diff.c:5531
+#: diff.c:5573
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "相当于 --word-diff=color --word-diff-regex=<正则>"
 
-#: diff.c:5534
+#: diff.c:5576
 msgid "moved lines of code are colored differently"
 msgstr "移动的代码行用不同方式着色"
 
-#: diff.c:5537
+#: diff.c:5579
 msgid "how white spaces are ignored in --color-moved"
 msgstr "在 --color-moved 下如何忽略空白字符"
 
-#: diff.c:5540
+#: diff.c:5582
 msgid "Other diff options"
 msgstr "其它差异选项"
 
-#: diff.c:5542
+#: diff.c:5584
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr "当从子目录运行,排除目录之外的变更并显示相对路径"
 
-#: diff.c:5546
+#: diff.c:5588
 msgid "treat all files as text"
 msgstr "把所有文件当做文本处理"
 
-#: diff.c:5548
+#: diff.c:5590
 msgid "swap two inputs, reverse the diff"
 msgstr "交换两个输入,反转差异"
 
-#: diff.c:5550
+#: diff.c:5592
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "有差异时退出码为 1,否则为 0"
 
-#: diff.c:5552
+#: diff.c:5594
 msgid "disable all output of the program"
 msgstr "禁用本程序的所有输出"
 
-#: diff.c:5554
+#: diff.c:5596
 msgid "allow an external diff helper to be executed"
 msgstr "允许执行一个外置的差异助手"
 
-#: diff.c:5556
+#: diff.c:5598
 msgid "run external text conversion filters when comparing binary files"
 msgstr "当比较二进制文件时,运行外部的文本转换过滤器"
 
-#: diff.c:5558
+#: diff.c:5600
 msgid "<when>"
 msgstr "<何时>"
 
-#: diff.c:5559
+#: diff.c:5601
 msgid "ignore changes to submodules in the diff generation"
 msgstr "在生成差异时,忽略子模组的更改"
 
-#: diff.c:5562
+#: diff.c:5604
 msgid "<format>"
 msgstr "<格式>"
 
-#: diff.c:5563
+#: diff.c:5605
 msgid "specify how differences in submodules are shown"
 msgstr "指定子模组的差异如何显示"
 
-#: diff.c:5567
+#: diff.c:5609
 msgid "hide 'git add -N' entries from the index"
 msgstr "隐藏索引中 'git add -N' 条目"
 
-#: diff.c:5570
+#: diff.c:5612
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "将索引中 'git add -N' 条目当做真实的"
 
-#: diff.c:5572
+#: diff.c:5614
 msgid "<string>"
 msgstr "<字符串>"
 
-#: diff.c:5573
+#: diff.c:5615
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
 msgstr "查找改变了指定字符串出现次数的差异"
 
-#: diff.c:5576
+#: diff.c:5618
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
 msgstr "查找改变指定正则匹配出现次数的差异"
 
-#: diff.c:5579
+#: diff.c:5621
 msgid "show all changes in the changeset with -S or -G"
 msgstr "显示使用 -S 或 -G 的变更集的所有变更"
 
-#: diff.c:5582
+#: diff.c:5624
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "将 -S 的 <string> 当做扩展的 POSIX 正则表达式"
 
-#: diff.c:5585
+#: diff.c:5627
 msgid "control the order in which files appear in the output"
 msgstr "控制输出中的文件显示顺序"
 
-#: diff.c:5586 diff.c:5589
+#: diff.c:5628 diff.c:5631
 msgid "<path>"
 msgstr "<路径>"
 
-#: diff.c:5587
+#: diff.c:5629
 msgid "show the change in the specified path first"
 msgstr "先显示指定路径的变更"
 
-#: diff.c:5590
+#: diff.c:5632
 msgid "skip the output to the specified path"
 msgstr "跳过指定路径的输出"
 
-#: diff.c:5592
+#: diff.c:5634
 msgid "<object-id>"
 msgstr "<对象 ID>"
 
-#: diff.c:5593
+#: diff.c:5635
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
 msgstr "查找改变指定对象出现次数的差异"
 
-#: diff.c:5595
+#: diff.c:5637
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5596
+#: diff.c:5638
 msgid "select files by diff type"
 msgstr "通过差异类型选择文件"
 
-#: diff.c:5598
+#: diff.c:5640
 msgid "<file>"
 msgstr "<文件>"
 
-#: diff.c:5599
-msgid "Output to a specific file"
-msgstr "输出到一个指定的文件"
+#: diff.c:5641
+msgid "output to a specific file"
+msgstr "输出到指定的文件"
 
-#: diff.c:6257
+#: diff.c:6321
 msgid "exhaustive rename detection was skipped due to too many files."
 msgstr "由于文件太多,跳过详尽的重命名检查。"
 
-#: diff.c:6260
+#: diff.c:6324
 msgid "only found copies from modified paths due to too many files."
 msgstr "由于文件太多,只在修改的路径中找到了拷贝。"
 
-#: diff.c:6263
+#: diff.c:6327
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -4003,20 +4097,20 @@ msgstr "停用锥形模式匹配"
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
-#: dir.c:2418
+#: dir.c:2419
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2720
+#: dir.c:2721
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2844
+#: dir.c:2846
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
-#: dir.c:3112
+#: dir.c:3119
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -4024,17 +4118,17 @@ msgstr ""
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: dir.c:3800
+#: dir.c:3807
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
-#: dir.c:3847 dir.c:3852
+#: dir.c:3854 dir.c:3859
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3881
+#: dir.c:3888
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
@@ -4053,7 +4147,7 @@ msgstr "过滤内容"
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 
-#: environment.c:145
+#: environment.c:147
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "错误的 git 名字空间路径 \"%s\""
@@ -4084,253 +4178,280 @@ msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 msgid "unable to write to remote"
 msgstr "无法写到远程"
 
-#: fetch-pack.c:395 fetch-pack.c:1439
+#: fetch-pack.c:397 fetch-pack.c:1460
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:401 fetch-pack.c:1445
+#: fetch-pack.c:403 fetch-pack.c:1466
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:403 fetch-pack.c:1447
+#: fetch-pack.c:405 fetch-pack.c:1468
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:406 fetch-pack.c:1450
+#: fetch-pack.c:408 fetch-pack.c:1471
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:408 fetch-pack.c:1452
+#: fetch-pack.c:410 fetch-pack.c:1473
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:411 fetch-pack.c:1456
+#: fetch-pack.c:413 fetch-pack.c:1477
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
 
-#: fetch-pack.c:451
+#: fetch-pack.c:453
 #, c-format
 msgid "got %s %d %s"
 msgstr "得到 %s %d %s"
 
-#: fetch-pack.c:468
+#: fetch-pack.c:470
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:499
+#: fetch-pack.c:501
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:512 progress.c:339
+#: fetch-pack.c:514 progress.h:25
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:524
+#: fetch-pack.c:526
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "得到 %s (%d) %s"
 
-#: fetch-pack.c:560
+#: fetch-pack.c:562
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:775
+#: fetch-pack.c:784
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:861
+#: fetch-pack.c:870
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:878
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:974
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:980
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack:无效的 index-pack 输出"
 
-#: fetch-pack.c:988
+#: fetch-pack.c:997
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:990
+#: fetch-pack.c:999
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:1035
+#: fetch-pack.c:1048
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:1043 fetch-pack.c:1049 fetch-pack.c:1052 fetch-pack.c:1058
-#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
-#: fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086 fetch-pack.c:1090
-#: fetch-pack.c:1096 fetch-pack.c:1102 fetch-pack.c:1107 fetch-pack.c:1112
+#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
+#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
+#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
+#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
 #, c-format
 msgid "Server supports %s"
 msgstr "服务器支持 %s"
 
-#: fetch-pack.c:1045
+#: fetch-pack.c:1058
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持浅客户端"
 
-#: fetch-pack.c:1105
+#: fetch-pack.c:1118
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:1110
+#: fetch-pack.c:1123
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:1114
+#: fetch-pack.c:1127
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1116
+#: fetch-pack.c:1129
 msgid "Server does not support this repository's object format"
 msgstr "服务器不支持这个仓库的对象格式"
 
-#: fetch-pack.c:1129
+#: fetch-pack.c:1142
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1138 fetch-pack.c:1485 builtin/clone.c:1130
+#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
 msgid "source repository is shallow, reject to clone."
 msgstr "源仓库是浅克隆,拒绝克隆。"
 
-#: fetch-pack.c:1144 fetch-pack.c:1681
+#: fetch-pack.c:1157 fetch-pack.c:1705
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1258
+#: fetch-pack.c:1271
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "不匹配的算法:客户端 %s,服务端 %s"
 
-#: fetch-pack.c:1262
+#: fetch-pack.c:1275
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "服务器不支持算法 '%s'"
 
-#: fetch-pack.c:1295
+#: fetch-pack.c:1308
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持浅克隆请求"
 
-#: fetch-pack.c:1302
+#: fetch-pack.c:1315
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:1345 fetch-pack.c:2063
+#: fetch-pack.c:1358 fetch-pack.c:2087
 msgid "unable to write request to remote"
 msgstr "无法将请求写到远程"
 
-#: fetch-pack.c:1363
+#: fetch-pack.c:1376
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
-#: fetch-pack.c:1369
+#: fetch-pack.c:1382
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
-#: fetch-pack.c:1403
+#: fetch-pack.c:1416
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
-#: fetch-pack.c:1408
+#: fetch-pack.c:1421
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
-#: fetch-pack.c:1418
-msgid "expected packfile to be sent after 'ready'"
-msgstr "预期在 'ready' 之后发送 packfile"
+#. TRANSLATORS: The parameter will be 'ready', a protocol
+#. keyword.
+#.
+#: fetch-pack.c:1435
+#, c-format
+msgid "expected packfile to be sent after '%s'"
+msgstr "预期在 '%s' 之后发送 packfile"
 
-#: fetch-pack.c:1420
-msgid "expected no other sections to be sent after no 'ready'"
-msgstr "在没有 'ready' 不应该发送其它小节"
+#. TRANSLATORS: The parameter will be 'ready', a protocol
+#. keyword.
+#.
+#: fetch-pack.c:1441
+#, c-format
+msgid "expected no other sections to be sent after no '%s'"
+msgstr "在没有 '%s' 后不应该发送其它小节"
 
-#: fetch-pack.c:1461
+#: fetch-pack.c:1482
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
-#: fetch-pack.c:1510
+#: fetch-pack.c:1531
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
-#: fetch-pack.c:1515
+#: fetch-pack.c:1536
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
-#: fetch-pack.c:1520
+#: fetch-pack.c:1541
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
-#: fetch-pack.c:1550
+#: fetch-pack.c:1571
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack:预期响应结束包"
 
-#: fetch-pack.c:1959
+#: fetch-pack.c:1983
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1982 builtin/clone.c:581
+#: fetch-pack.c:2006 builtin/clone.c:587
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
-#: fetch-pack.c:2085
+#: fetch-pack.c:2109
 msgid "unexpected 'ready' from remote"
 msgstr "来自远程的意外的 'ready'"
 
-#: fetch-pack.c:2108
+#: fetch-pack.c:2132
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:2111
+#: fetch-pack.c:2135
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
 
-#: gpg-interface.c:329 gpg-interface.c:457 gpg-interface.c:974
-#: gpg-interface.c:990
+#: fsmonitor-ipc.c:119
+#, c-format
+msgid "fsmonitor_ipc__send_query: invalid path '%s'"
+msgstr "fsmonitor_ipc__send_query: 无效路径 '%s'"
+
+#: fsmonitor-ipc.c:125
+#, c-format
+msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
+msgstr "fsmonitor_ipc__send_query: 未知错误于 '%s'"
+
+#: fsmonitor-ipc.c:155
+msgid "fsmonitor--daemon is not running"
+msgstr "fsmonitor--daemon 没有运行"
+
+#: fsmonitor-ipc.c:164
+#, c-format
+msgid "could not send '%s' command to fsmonitor--daemon"
+msgstr "无法发送 '%s' 命令至 fsmonitor--daemon"
+
+#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
+#: gpg-interface.c:1011
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
-#: gpg-interface.c:332 gpg-interface.c:460
+#: gpg-interface.c:332 gpg-interface.c:459
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 
-#: gpg-interface.c:451
+#: gpg-interface.c:450
 msgid ""
 "gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
 "signature verification"
 msgstr "ssh 签名验证需要 gpg.ssh.allowedSignersFile 被设置且存在"
 
-#: gpg-interface.c:480
+#: gpg-interface.c:479
 msgid ""
 "ssh-keygen -Y find-principals/verify is needed for ssh signature "
 "verification (available in openssh version 8.2p1+)"
@@ -4338,61 +4459,61 @@ msgstr ""
 "ssh 签名验证需要 ssh-keygen -Y find-principals/verify \n"
 "(openssh 8.2p1+ 版本可用)"
 
-#: gpg-interface.c:536
+#: gpg-interface.c:550
 #, c-format
 msgid "ssh signing revocation file configured but not found: %s"
 msgstr "设置了 ssh 签名吊销文件但无法找到:%s"
 
-#: gpg-interface.c:624
+#: gpg-interface.c:638
 #, c-format
 msgid "bad/incompatible signature '%s'"
 msgstr "坏的/不兼容的签名 '%s‘"
 
-#: gpg-interface.c:801 gpg-interface.c:806
+#: gpg-interface.c:815 gpg-interface.c:820
 #, c-format
 msgid "failed to get the ssh fingerprint for key '%s'"
 msgstr "无法得到密钥 '%s' 的 ssh 指纹"
 
-#: gpg-interface.c:829
+#: gpg-interface.c:843
 msgid ""
 "either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
 msgstr "需要配置 user.signingkey 或者 gpg.ssh.defaultKeyCommand 其中之一"
 
-#: gpg-interface.c:851
+#: gpg-interface.c:865
 #, c-format
 msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
 msgstr "gpg.ssh.defaultKeyCommand 成功,但没有返回密钥:%s %s"
 
-#: gpg-interface.c:857
+#: gpg-interface.c:871
 #, c-format
 msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
 msgstr "gpg.ssh.defaultKeyCommand 失败:%s %s"
 
-#: gpg-interface.c:945
+#: gpg-interface.c:966
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:967
+#: gpg-interface.c:988
 msgid "user.signingkey needs to be set for ssh signing"
 msgstr "ssh 签名需要设置 user.signingkey"
 
-#: gpg-interface.c:978
+#: gpg-interface.c:999
 #, c-format
 msgid "failed writing ssh signing key to '%s'"
 msgstr "无法将 ssh 签名密钥写入 '%s'"
 
-#: gpg-interface.c:996
+#: gpg-interface.c:1017
 #, c-format
 msgid "failed writing ssh signing key buffer to '%s'"
 msgstr "无法将 ssh 签名密钥缓冲区写入 '%s'"
 
-#: gpg-interface.c:1014
+#: gpg-interface.c:1035
 msgid ""
 "ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
 "8.2p1+)"
 msgstr "ssh 签名需要 ssh-keygen -Y sign (openssh 8.2p1+ 版本可用)"
 
-#: gpg-interface.c:1026
+#: gpg-interface.c:1047
 #, c-format
 msgid "failed reading ssh signing data buffer from '%s'"
 msgstr "无法从 '%s' 读入 ssh 签名数据"
@@ -4402,7 +4523,7 @@ msgstr "无法从 '%s' 读入 ssh 签名数据"
 msgid "ignored invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
-#: grep.c:531
+#: grep.c:446
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4410,109 +4531,109 @@ msgstr ""
 "给定的模式包含 NULL 字符(通过 -f <文件> 参数)。只有 PCRE v2 下的 -P 支持此"
 "功能"
 
-#: grep.c:1942
+#: grep.c:1859
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1959 setup.c:177 builtin/clone.c:302 builtin/diff.c:90
+#: grep.c:1876 setup.c:177 builtin/clone.c:308 builtin/diff.c:90
 #: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法对 '%s' 调用 stat"
 
-#: grep.c:1970
+#: grep.c:1887
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
 
-#: help.c:24
+#: help.c:25
 msgid "start a working area (see also: git help tutorial)"
 msgstr "开始一个工作区(参见:git help tutorial)"
 
-#: help.c:25
+#: help.c:26
 msgid "work on the current change (see also: git help everyday)"
 msgstr "在当前变更上工作(参见:git help everyday)"
 
-#: help.c:26
+#: help.c:27
 msgid "examine the history and state (see also: git help revisions)"
 msgstr "检查历史和状态(参见:git help revisions)"
 
-#: help.c:27
+#: help.c:28
 msgid "grow, mark and tweak your common history"
 msgstr "扩展、标记和调校您的历史记录"
 
-#: help.c:28
+#: help.c:29
 msgid "collaborate (see also: git help workflows)"
 msgstr "协同(参见:git help workflows)"
 
-#: help.c:32
+#: help.c:33
 msgid "Main Porcelain Commands"
 msgstr "主要的上层命令"
 
-#: help.c:33
+#: help.c:34
 msgid "Ancillary Commands / Manipulators"
 msgstr "辅助命令/操作者"
 
-#: help.c:34
+#: help.c:35
 msgid "Ancillary Commands / Interrogators"
 msgstr "辅助命令/询问者"
 
-#: help.c:35
+#: help.c:36
 msgid "Interacting with Others"
 msgstr "与其它系统交互"
 
-#: help.c:36
+#: help.c:37
 msgid "Low-level Commands / Manipulators"
 msgstr "低级命令/操作者"
 
-#: help.c:37
+#: help.c:38
 msgid "Low-level Commands / Interrogators"
 msgstr "低级命令/询问者"
 
-#: help.c:38
+#: help.c:39
 msgid "Low-level Commands / Syncing Repositories"
 msgstr "低级命令/同步仓库"
 
-#: help.c:39
+#: help.c:40
 msgid "Low-level Commands / Internal Helpers"
 msgstr "低级命令/内部助手"
 
-#: help.c:313
+#: help.c:316
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:320
+#: help.c:323
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:329
+#: help.c:332
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:378 git.c:100
+#: help.c:382 git.c:100
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "不支持的命令列表类型 '%s'"
 
-#: help.c:418
+#: help.c:422
 msgid "The Git concept guides are:"
 msgstr "Git 概念向导有:"
 
-#: help.c:442
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr "执行 'git help <command>' 来查看特定子命令"
-
-#: help.c:447
+#: help.c:446
 msgid "External commands"
 msgstr "外部命令"
 
-#: help.c:462
+#: help.c:468
 msgid "Command aliases"
 msgstr "命令别名"
 
-#: help.c:543
+#: help.c:486
+msgid "See 'git help <command>' to read about a specific subcommand"
+msgstr "执行 'git help <command>' 来了解特定子命令"
+
+#: help.c:563
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -4521,36 +4642,36 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:565 help.c:662
+#: help.c:585 help.c:682
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:613
+#: help.c:633
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: help.c:635
+#: help.c:655
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "警告:您运行了一个并不存在的 Git 命令 '%s'。"
 
-#: help.c:640
+#: help.c:660
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "假定您想要的是 '%s' 并继续。"
 
-#: help.c:646
+#: help.c:666
 #, c-format
 msgid "Run '%s' instead [y/N]? "
 msgstr "取而代之运行 '%s' [y/N]?"
 
-#: help.c:654
+#: help.c:674
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "假定您想要的是 '%2$s',在 %1$0.1f 秒钟后继续。"
 
-#: help.c:666
+#: help.c:686
 msgid ""
 "\n"
 "The most similar command is"
@@ -4564,16 +4685,16 @@ msgstr[1] ""
 "\n"
 "最相似的命令是"
 
-#: help.c:706
+#: help.c:729
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:761
+#: help.c:784
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:765
+#: help.c:788
 msgid ""
 "\n"
 "Did you mean this?"
@@ -4587,7 +4708,7 @@ msgstr[1] ""
 "\n"
 "您指的是这其中的某一个么?"
 
-#: hook.c:27
+#: hook.c:28
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4596,15 +4717,20 @@ msgstr ""
 "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
 "配置 `git config advice.ignoredHook false` 来关闭这条警告。"
 
-#: ident.c:353
+#: hook.c:87
+#, c-format
+msgid "Couldn't start hook '%s'\n"
+msgstr "不能启动钩子 '%s'\n"
+
+#: ident.c:354
 msgid "Author identity unknown\n"
 msgstr "作者身份未知\n"
 
-#: ident.c:356
+#: ident.c:357
 msgid "Committer identity unknown\n"
 msgstr "提交者身份未知\n"
 
-#: ident.c:362
+#: ident.c:363
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -4629,71 +4755,71 @@ msgstr ""
 "来设置您账号的缺省身份标识。\n"
 "如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
-#: ident.c:397
+#: ident.c:398
 msgid "no email was given and auto-detection is disabled"
 msgstr "未提供邮件地址且自动探测被禁用"
 
-#: ident.c:402
+#: ident.c:403
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "无法自动探测邮件地址(得到 '%s')"
 
-#: ident.c:419
+#: ident.c:420
 msgid "no name was given and auto-detection is disabled"
 msgstr "未提供姓名且自动探测被禁用"
 
-#: ident.c:425
+#: ident.c:426
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "无法自动探测姓名(得到 '%s')"
 
-#: ident.c:433
+#: ident.c:434
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "不允许空的姓名(对于 <%s>)"
 
-#: ident.c:439
+#: ident.c:440
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:454 builtin/commit.c:648
+#: ident.c:455 builtin/commit.c:649
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: list-objects-filter-options.c:83
+#: list-objects-filter-options.c:68
 msgid "expected 'tree:<depth>'"
 msgstr "期望 'tree:<深度>'"
 
-#: list-objects-filter-options.c:98
+#: list-objects-filter-options.c:83
 msgid "sparse:path filters support has been dropped"
 msgstr "sparse:path 过滤器支持已被删除"
 
-#: list-objects-filter-options.c:105
+#: list-objects-filter-options.c:90
 #, c-format
 msgid "'%s' for 'object:type=<type>' is not a valid object type"
 msgstr "'object:type=<type>' 的值 '%s' 不是有效的对象类型"
 
-#: list-objects-filter-options.c:124
+#: list-objects-filter-options.c:109
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "无效的过滤器表达式 '%s'"
 
-#: list-objects-filter-options.c:140
+#: list-objects-filter-options.c:125
 #, c-format
 msgid "must escape char in sub-filter-spec: '%c'"
 msgstr "必须对 sub-filter-spec 中的字符进行转义:'%c'"
 
-#: list-objects-filter-options.c:182
+#: list-objects-filter-options.c:167
 msgid "expected something after combine:"
 msgstr "期望在组合后有一些东西:"
 
-#: list-objects-filter-options.c:264
+#: list-objects-filter-options.c:249
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
 
-#: list-objects-filter-options.c:376
+#: list-objects-filter-options.c:365
 msgid "unable to upgrade repository format to support partial clone"
 msgstr "无法升级仓库格式以支持部分克隆"
 
@@ -4707,17 +4833,17 @@ msgstr "不能访问 '%s' 中的稀疏数据对象"
 msgid "unable to parse sparse filter data in %s"
 msgstr "无法解析 %s 中的稀疏过滤器数据"
 
-#: list-objects.c:127
+#: list-objects.c:144
 #, c-format
 msgid "entry '%s' in tree %s has tree mode, but is not a tree"
 msgstr "树 %2$s 中的条目 '%1$s' 具有树的模式,但不是一个树对象"
 
-#: list-objects.c:140
+#: list-objects.c:157
 #, c-format
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr "树 %2$s 中的条目 '%1$s' 具有数据对象的模式,但不是一个数据对象"
 
-#: list-objects.c:398
+#: list-objects.c:415
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "无法为提交 %s 加载根树"
@@ -4745,17 +4871,12 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "不能创建 '%s.lock':%s"
 
-#: ls-refs.c:37
-#, c-format
-msgid "invalid value '%s' for lsrefs.unborn"
-msgstr "lsrefs.unborn 的取值 '%s' 无效"
-
-#: ls-refs.c:174
+#: ls-refs.c:175
 #, c-format
 msgid "unexpected line: '%s'"
 msgstr "意外的行:'%s'"
 
-#: ls-refs.c:178
+#: ls-refs.c:179
 msgid "expected flush after ls-refs arguments"
 msgstr "在 ls-refs 参数后应该有一个 flush 包"
 
@@ -4763,37 +4884,37 @@ msgstr "在 ls-refs 参数后应该有一个 flush 包"
 msgid "quoted CRLF detected"
 msgstr "检测到被引用的 CRLF"
 
-#: mailinfo.c:1254 builtin/am.c:184 builtin/mailinfo.c:46
+#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
 #, c-format
 msgid "bad action '%s' for '%s'"
 msgstr "'%2$s' 的错误动作 '%1$s'"
 
-#: merge-ort.c:1584 merge-recursive.c:1211
+#: merge-ort.c:1630 merge-recursive.c:1214
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "无法合并子模组 %s (没有检出)"
 
-#: merge-ort.c:1593 merge-recursive.c:1218
+#: merge-ort.c:1639 merge-recursive.c:1221
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "无法合并子模组 %s(提交不存在)"
 
-#: merge-ort.c:1602 merge-recursive.c:1225
+#: merge-ort.c:1648 merge-recursive.c:1228
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "无法合并子模组 %s (提交未跟随合并基线)"
 
-#: merge-ort.c:1612 merge-ort.c:1620
+#: merge-ort.c:1658 merge-ort.c:1666
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "注意:快进子模组 %s 到 %s"
 
-#: merge-ort.c:1642
+#: merge-ort.c:1688
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "无法合并子模组 %s"
 
-#: merge-ort.c:1649
+#: merge-ort.c:1695
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4802,7 +4923,7 @@ msgstr ""
 "无法合并子模组 %s,但是存在一个可能的合并方案:\n"
 "%s\n"
 
-#: merge-ort.c:1653 merge-recursive.c:1281
+#: merge-ort.c:1699 merge-recursive.c:1284
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4818,7 +4939,7 @@ msgstr ""
 "\n"
 "以接受此建议。\n"
 
-#: merge-ort.c:1666
+#: merge-ort.c:1712
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4827,21 +4948,21 @@ msgstr ""
 "无法合并子模组 %s,但是存在多个可能的合并:\n"
 "%s"
 
-#: merge-ort.c:1887 merge-recursive.c:1372
+#: merge-ort.c:1937 merge-recursive.c:1375
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-ort.c:1892 merge-recursive.c:1377
+#: merge-ort.c:1942 merge-recursive.c:1380
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-ort.c:1899 merge-recursive.c:1410
+#: merge-ort.c:1949 merge-recursive.c:1413
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-ort.c:2038 merge-recursive.c:2132
+#: merge-ort.c:2088 merge-recursive.c:2135
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4850,7 +4971,7 @@ msgstr ""
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-ort.c:2048 merge-recursive.c:2142
+#: merge-ort.c:2098 merge-recursive.c:2145
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4859,7 +4980,7 @@ msgstr ""
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-ort.c:2106
+#: merge-ort.c:2156
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
@@ -4869,14 +4990,14 @@ msgstr ""
 "冲突(分割的目录重命名):不清楚重命名 %s 到哪里,因为它被重命名到多个其他目"
 "录中,没有一个目标目录中包含多数文件。"
 
-#: merge-ort.c:2260 merge-recursive.c:2478
+#: merge-ort.c:2310 merge-recursive.c:2481
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
 
-#: merge-ort.c:2400 merge-recursive.c:3261
+#: merge-ort.c:2450 merge-recursive.c:3264
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4884,7 +5005,7 @@ msgid ""
 msgstr ""
 "路径已更新:%s 添加到 %s,位于一个被重命名到 %s 的目录中,将其移动到 %s。"
 
-#: merge-ort.c:2407 merge-recursive.c:3268
+#: merge-ort.c:2457 merge-recursive.c:3271
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4893,7 +5014,7 @@ msgstr ""
 "路径已更新:%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,将其移"
 "动到 %5$s。"
 
-#: merge-ort.c:2420 merge-recursive.c:3264
+#: merge-ort.c:2470 merge-recursive.c:3267
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4902,7 +5023,7 @@ msgstr ""
 "冲突(文件位置):%s 添加到 %s,位于一个被重命名为 %s 的目录中,建议将其移动"
 "到 %s。"
 
-#: merge-ort.c:2428 merge-recursive.c:3271
+#: merge-ort.c:2478 merge-recursive.c:3274
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4911,13 +5032,13 @@ msgstr ""
 "冲突(文件位置):%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,"
 "建议将其移动到 %5$s。"
 
-#: merge-ort.c:2584
+#: merge-ort.c:2634
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
 msgstr ""
 "冲突(重命名/重命名):%1$s 重命名为 %3$s 中的 %2$s,以及在 %5$s 中的 %4$s。"
 
-#: merge-ort.c:2679
+#: merge-ort.c:2729
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
@@ -4927,29 +5048,29 @@ msgstr ""
 "冲突(重命名卷入冲突):重命名 %s -> %s 有内容冲突并且和另外一个路径碰撞,这"
 "可能导致嵌套的冲突标签。"
 
-#: merge-ort.c:2698 merge-ort.c:2722
+#: merge-ort.c:2748 merge-ort.c:2772
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr "冲突(重命名/删除):%1$s 在 %3$s 中重命名为 %2$s,但在 %4$s 中删除。"
 
-#: merge-ort.c:3212 merge-recursive.c:3022
+#: merge-ort.c:3261 merge-recursive.c:3025
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-ort.c:3215 merge-recursive.c:3025
+#: merge-ort.c:3264 merge-recursive.c:3028
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-ort.c:3644
+#: merge-ort.c:3693
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
 "%s instead."
 msgstr "冲突(文件/目录):目录已存在于 %2$s 中的 %1$s,将其移动到 %3$s。"
 
-#: merge-ort.c:3721
+#: merge-ort.c:3770
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed both "
@@ -4958,7 +5079,7 @@ msgstr ""
 "冲突(不同类型):%s 在两侧有不同的类型,将两者都重命名以便它们能记录在不同位"
 "置。"
 
-#: merge-ort.c:3728
+#: merge-ort.c:3777
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed one "
@@ -4967,24 +5088,24 @@ msgstr ""
 "冲突(不同类型):%s 在两侧有不同的类型,将其中之一重命名以便它们能记录在不同"
 "位置。"
 
-#: merge-ort.c:3819 merge-recursive.c:3101
+#: merge-ort.c:3866 merge-recursive.c:3104
 msgid "content"
 msgstr "内容"
 
-#: merge-ort.c:3821 merge-recursive.c:3105
+#: merge-ort.c:3868 merge-recursive.c:3108
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-ort.c:3823 merge-recursive.c:3150
+#: merge-ort.c:3870 merge-recursive.c:3153
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-ort.c:3825 merge-recursive.c:3151
+#: merge-ort.c:3872 merge-recursive.c:3154
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-ort.c:3869
+#: merge-ort.c:3916
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
@@ -4993,7 +5114,7 @@ msgstr ""
 "冲突(修改/删除):%1$s 在 %2$s 中被删除,在 %3$s 中被修改。%5$s 的 %4$s 版本"
 "在树中被保留。"
 
-#: merge-ort.c:4165
+#: merge-ort.c:4212
 #, c-format
 msgid ""
 "Note: %s not up to date and in way of checking out conflicted version; old "
@@ -5003,12 +5124,12 @@ msgstr "注意:%s 不是最新的,并且与要检出的版本冲突。旧副
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:4534
+#: merge-ort.c:4586
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr "无法收集树 %s、%s、%s 的合并信息"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3716
+#: merge-ort-wrappers.c:13 merge-recursive.c:3723
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -5017,7 +5138,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3482 builtin/merge.c:405
+#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
@@ -5054,7 +5175,7 @@ msgstr ":可能是一个目录/文件冲突?"
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:956 builtin/cat-file.c:41
+#: merge-recursive.c:956 builtin/cat-file.c:47
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
@@ -5079,41 +5200,41 @@ msgstr "无法创建符号链接 '%s':%s"
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:1233 merge-recursive.c:1246
+#: merge-recursive.c:1236 merge-recursive.c:1249
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "子模组 %s 快进到如下提交:"
 
-#: merge-recursive.c:1236 merge-recursive.c:1249
+#: merge-recursive.c:1239 merge-recursive.c:1252
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
-#: merge-recursive.c:1273
+#: merge-recursive.c:1276
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr "无法合并子模组 %s (没发现合并跟随的提交)"
 
-#: merge-recursive.c:1277
+#: merge-recursive.c:1280
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "无法合并子模组 %s(非快进)"
 
-#: merge-recursive.c:1278
+#: merge-recursive.c:1281
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "找到子模组的一个可能的合并方案:\n"
 
-#: merge-recursive.c:1290
+#: merge-recursive.c:1293
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "无法合并子模组 %s (发现多个合并)"
 
-#: merge-recursive.c:1434
+#: merge-recursive.c:1437
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。"
 
-#: merge-recursive.c:1506
+#: merge-recursive.c:1509
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5122,7 +5243,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本被保留。"
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1514
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5131,7 +5252,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本被保留。"
 
-#: merge-recursive.c:1518
+#: merge-recursive.c:1521
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5140,7 +5261,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本保留在 %8$s 中。"
 
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5149,60 +5270,60 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本保留在 %9$s 中。"
 
-#: merge-recursive.c:1558
+#: merge-recursive.c:1561
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1558
+#: merge-recursive.c:1561
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1609 merge-recursive.c:2515 merge-recursive.c:3178
+#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "拒绝丢失脏文件 '%s'"
 
-#: merge-recursive.c:1619
+#: merge-recursive.c:1622
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "拒绝在 '%s' 处失去未跟踪文件,即使它存在于重命名中。"
 
-#: merge-recursive.c:1677
+#: merge-recursive.c:1680
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1708
+#: merge-recursive.c:1711
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1713
+#: merge-recursive.c:1716
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s"
 
-#: merge-recursive.c:1740
+#: merge-recursive.c:1743
 #, c-format
 msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
+"\"%s\"->\"%s\" in \"%s\"%s"
 msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1745
+#: merge-recursive.c:1748
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1837
+#: merge-recursive.c:1840
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
-"冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
-"%5$s"
+"冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s-"
+">%5$s"
 
-#: merge-recursive.c:2100
+#: merge-recursive.c:2103
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5212,7 +5333,7 @@ msgstr ""
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
-#: merge-recursive.c:2234
+#: merge-recursive.c:2237
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5221,78 +5342,78 @@ msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
 "%4$s->%5$s"
 
-#: merge-recursive.c:3089
+#: merge-recursive.c:3092
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:3089
+#: merge-recursive.c:3092
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:3128
+#: merge-recursive.c:3131
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:3181
+#: merge-recursive.c:3184
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:3385
+#: merge-recursive.c:3388
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:3408
+#: merge-recursive.c:3411
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:3413
+#: merge-recursive.c:3416
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3420
+#: merge-recursive.c:3423
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
 
-#: merge-recursive.c:3429
+#: merge-recursive.c:3432
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3438
+#: merge-recursive.c:3441
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "冲突(add/add):合并冲突于 %s"
 
-#: merge-recursive.c:3491
+#: merge-recursive.c:3494
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:3585
+#: merge-recursive.c:3588
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3598
+#: merge-recursive.c:3601
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:3648
+#: merge-recursive.c:3651
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3816
+#: merge-recursive.c:3823
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3834 builtin/merge.c:720 builtin/merge.c:906
+#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
 #: builtin/stash.c:489
 msgid "Unable to write index."
 msgstr "不能写入索引。"
@@ -5301,221 +5422,225 @@ msgstr "不能写入索引。"
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:102 rerere.c:704 builtin/am.c:1988 builtin/am.c:2022
-#: builtin/checkout.c:598 builtin/checkout.c:853 builtin/clone.c:706
+#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
+#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
 #: builtin/stash.c:269
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: midx.c:78
+#: midx.c:79
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr "多包索引的对象ID扇出表大小错误"
 
-#: midx.c:111
+#: midx.c:112
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "多包索引文件 %s 太小"
 
-#: midx.c:127
+#: midx.c:128
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配"
 
-#: midx.c:132
+#: midx.c:133
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "multi-pack-index 版本 %d 不能被识别"
 
-#: midx.c:137
+#: midx.c:138
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr "多包索引哈希版本 %u 和版本 %u 不匹配"
 
-#: midx.c:154
+#: midx.c:155
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "多包索引缺少必需的包名块"
 
-#: midx.c:156
+#: midx.c:157
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "多包索引缺少必需的对象 ID 扇出块"
 
-#: midx.c:158
+#: midx.c:159
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "多包索引缺少必需的对象 ID 查询块"
 
-#: midx.c:160
+#: midx.c:161
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "多包索引缺少必需的对象偏移块"
 
-#: midx.c:176
+#: midx.c:180
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "多包索引包名无序:'%s' 在 '%s' 之前"
 
-#: midx.c:224
+#: midx.c:228
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "错的 pack-int-id:%u(共有 %u 个包)"
 
-#: midx.c:274
+#: midx.c:278
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "多包索引存储一个64位偏移,但是 off_t 太小"
 
-#: midx.c:505
+#: midx.c:509
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "无法添加包文件 '%s'"
 
-#: midx.c:511
+#: midx.c:515
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "无法打开包索引 '%s'"
 
-#: midx.c:579
+#: midx.c:583
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "无法在包文件中定位对象 %d"
 
-#: midx.c:895
+#: midx.c:911
 msgid "cannot store reverse index file"
 msgstr "无法存储反向索引文件"
 
-#: midx.c:993
+#: midx.c:1009
 #, c-format
 msgid "could not parse line: %s"
 msgstr "不能解析行:%s"
 
-#: midx.c:995
+#: midx.c:1011
 #, c-format
 msgid "malformed line: %s"
 msgstr "格式错误的行:%s"
 
-#: midx.c:1162
+#: midx.c:1181
 msgid "ignoring existing multi-pack-index; checksum mismatch"
 msgstr "忽略已存在的多包索引,校验码不匹配"
 
-#: midx.c:1187
+#: midx.c:1206
 msgid "could not load pack"
 msgstr "不能载入包"
 
-#: midx.c:1193
+#: midx.c:1212
 #, c-format
 msgid "could not open index for %s"
 msgstr "不能打开 %s 的索引"
 
-#: midx.c:1204
+#: midx.c:1223
 msgid "Adding packfiles to multi-pack-index"
 msgstr "添加包文件到多包索引"
 
-#: midx.c:1247
+#: midx.c:1266
 #, c-format
 msgid "unknown preferred pack: '%s'"
 msgstr "未知的首选包:'%s'"
 
-#: midx.c:1292
+#: midx.c:1311
 #, c-format
 msgid "cannot select preferred pack %s with no objects"
 msgstr "不能选择没有对象的首选包 %s"
 
-#: midx.c:1324
+#: midx.c:1343
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "没有看到要丢弃的包文件 %s"
 
-#: midx.c:1370
+#: midx.c:1389
 #, c-format
 msgid "preferred pack '%s' is expired"
 msgstr "首选包 '%s' 已过期"
 
-#: midx.c:1383
+#: midx.c:1402
 msgid "no pack files to index."
 msgstr "没有要索引的包文件。"
 
-#: midx.c:1420
+#: midx.c:1409
+msgid "refusing to write multi-pack .bitmap without any objects"
+msgstr "拒绝写入没有任何对象的多包位图 .bitmap"
+
+#: midx.c:1451
 msgid "could not write multi-pack bitmap"
 msgstr "无法写入多包位图"
 
-#: midx.c:1430
+#: midx.c:1461
 msgid "could not write multi-pack-index"
 msgstr "无法写入多包索引"
 
-#: midx.c:1489 builtin/clean.c:37
+#: midx.c:1520 builtin/clean.c:37
 #, c-format
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: midx.c:1522
+#: midx.c:1553
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "无法清理位于 %s 的多包索引"
 
-#: midx.c:1585
+#: midx.c:1616
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "多包索引文件存在,但无法解析"
 
-#: midx.c:1593
+#: midx.c:1624
 msgid "incorrect checksum"
 msgstr "不正确的校验码"
 
-#: midx.c:1596
+#: midx.c:1627
 msgid "Looking for referenced packfiles"
 msgstr "正在查找引用的包文件"
 
-#: midx.c:1611
+#: midx.c:1642
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "对象 ID 扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1616
+#: midx.c:1647
 msgid "the midx contains no oid"
 msgstr "midx 不包含 oid"
 
-#: midx.c:1625
+#: midx.c:1656
 msgid "Verifying OID order in multi-pack-index"
 msgstr "校验多包索引中的 OID 顺序"
 
-#: midx.c:1634
+#: midx.c:1665
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "对象 ID 查询无序:oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1654
+#: midx.c:1685
 msgid "Sorting objects by packfile"
 msgstr "通过包文件为对象排序"
 
-#: midx.c:1661
+#: midx.c:1692
 msgid "Verifying object offsets"
 msgstr "校验对象偏移"
 
-#: midx.c:1677
+#: midx.c:1708
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "无法为 oid[%d] = %s 加载包条目"
 
-#: midx.c:1683
+#: midx.c:1714
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "无法为包文件 %s 加载包索引"
 
-#: midx.c:1692
+#: midx.c:1723
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
 
-#: midx.c:1719
+#: midx.c:1750
 msgid "Counting referenced objects"
 msgstr "正在对引用对象计数"
 
-#: midx.c:1729
+#: midx.c:1760
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "正在查找和删除未引用的包文件"
 
-#: midx.c:1921
+#: midx.c:1952
 msgid "could not start pack-objects"
 msgstr "不能开始 pack-objects"
 
-#: midx.c:1941
+#: midx.c:1972
 msgid "could not finish pack-objects"
 msgstr "不能结束 pack-objects"
 
@@ -5534,7 +5659,7 @@ msgstr "不能创建 lazy_name 线程:%s"
 msgid "unable to join lazy_name thread: %s"
 msgstr "不能加入 lazy_name 线程:%s"
 
-#: notes-merge.c:277
+#: notes-merge.c:276
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -5545,7 +5670,7 @@ msgstr ""
 "在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
-#: notes-merge.c:284
+#: notes-merge.c:283
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "您尚未结束注释合并(存在 %s)。"
@@ -5573,271 +5698,342 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object-file.c:456
+#: object-file.c:457
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates"
 
-#: object-file.c:514
+#: object-file.c:515
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "无法规范化备用对象路径:%s"
 
-#: object-file.c:588
+#: object-file.c:589
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s:忽略备用对象库,嵌套太深"
 
-#: object-file.c:595
+#: object-file.c:596
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "无法规范化对象目录: %s"
 
-#: object-file.c:638
+#: object-file.c:639
 msgid "unable to fdopen alternates lockfile"
 msgstr "无法 fdopen 替换锁文件"
 
-#: object-file.c:656
+#: object-file.c:657
 msgid "unable to read alternates file"
 msgstr "无法读取替代文件"
 
-#: object-file.c:663
+#: object-file.c:664
 msgid "unable to move new alternates file into place"
 msgstr "无法将新的替代文件移动到位"
 
-#: object-file.c:741
+#: object-file.c:742
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: object-file.c:762
+#: object-file.c:763
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: object-file.c:768
+#: object-file.c:769
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: object-file.c:774
+#: object-file.c:775
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: object-file.c:782
+#: object-file.c:783
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
-#: object-file.c:813
+#: object-file.c:814
 #, c-format
 msgid "could not find object directory matching %s"
 msgstr "无法找到和 %s 匹配的对象目录"
 
-#: object-file.c:863
+#: object-file.c:864
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
 
-#: object-file.c:1013
+#: object-file.c:1014
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "尝试 mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>"
 
-#: object-file.c:1048
+#: object-file.c:1049
 #, c-format
 msgid "mmap failed%s"
 msgstr "mmap 失败%s"
 
-#: object-file.c:1214
+#: object-file.c:1230
 #, c-format
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
-#: object-file.c:1333 object-file.c:2542
+#: object-file.c:1349 object-file.c:2588
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
-#: object-file.c:1335 object-file.c:2546
+#: object-file.c:1351 object-file.c:2592
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
 
-#: object-file.c:1457
+#: object-file.c:1473
 #, c-format
 msgid "unable to parse %s header"
 msgstr "无法解析 %s 头部"
 
-#: object-file.c:1459
+#: object-file.c:1475
 msgid "invalid object type"
 msgstr "无效的对象类型"
 
-#: object-file.c:1470
+#: object-file.c:1486
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "无法解开 %s 头部"
 
-#: object-file.c:1474
+#: object-file.c:1490
 #, c-format
 msgid "header for %s too long, exceeds %d bytes"
 msgstr "%s 的头部太长,超出了 %d 字节"
 
-#: object-file.c:1704
+#: object-file.c:1720
 #, c-format
 msgid "failed to read object %s"
 msgstr "无法读取对象 %s"
 
-#: object-file.c:1708
+#: object-file.c:1724
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "找不到 %2$s 的替代 %1$s"
 
-#: object-file.c:1712
+#: object-file.c:1728
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "松散对象 %s(保存在 %s)已损坏"
 
-#: object-file.c:1716
+#: object-file.c:1732
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "打包对象 %s(保存在 %s)已损坏"
 
-#: object-file.c:1821
+#: object-file.c:1855
 #, c-format
 msgid "unable to write file %s"
 msgstr "无法写文件 %s"
 
-#: object-file.c:1828
+#: object-file.c:1862
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "无法为 '%s' 设置权限"
 
-#: object-file.c:1835
+#: object-file.c:1869
 msgid "file write error"
 msgstr "文件写错误"
 
-#: object-file.c:1858
+#: object-file.c:1904
 msgid "error when closing loose object file"
 msgstr "关闭松散对象文件时出错"
 
-#: object-file.c:1925
+#: object-file.c:1971
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr "权限不足,无法在仓库对象库 %s 中添加对象"
 
-#: object-file.c:1927
+#: object-file.c:1973
 msgid "unable to create temporary file"
 msgstr "无法创建临时文件"
 
-#: object-file.c:1951
+#: object-file.c:1997
 msgid "unable to write loose object file"
 msgstr "不能写松散对象文件"
 
-#: object-file.c:1957
+#: object-file.c:2003
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "不能压缩新对象 %s(%d)"
 
-#: object-file.c:1961
+#: object-file.c:2007
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
 
-#: object-file.c:1965
+#: object-file.c:2011
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
-#: object-file.c:1976 builtin/pack-objects.c:1243
+#: object-file.c:2022 builtin/pack-objects.c:1251
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
 
-#: object-file.c:2054
+#: object-file.c:2100
 #, c-format
 msgid "cannot read object for %s"
 msgstr "不能读取对象 %s"
 
-#: object-file.c:2105
+#: object-file.c:2151
 msgid "corrupt commit"
 msgstr "损坏的提交"
 
-#: object-file.c:2113
+#: object-file.c:2159
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
-#: object-file.c:2213
+#: object-file.c:2259
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
-#: object-file.c:2216
+#: object-file.c:2262
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
-#: object-file.c:2289 object-file.c:2299
+#: object-file.c:2335 object-file.c:2345
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:无法插入数据库"
 
-#: object-file.c:2305
+#: object-file.c:2351
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
-#: object-file.c:2329 builtin/fetch.c:1453
+#: object-file.c:2375 builtin/fetch.c:1494
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
-#: object-file.c:2331
+#: object-file.c:2377
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: object-file.c:2358
+#: object-file.c:2404
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: object-file.c:2553
+#: object-file.c:2599
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "%s 的哈希值不匹配(预期 %s)"
 
-#: object-file.c:2576
+#: object-file.c:2622
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
-#: object-file.c:2582
+#: object-file.c:2628
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
-#: object-file.c:2587
+#: object-file.c:2633
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
-#: object-file.c:2598
+#: object-file.c:2644
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
 
-#: object-name.c:480
+#. TRANSLATORS: This is a line of ambiguous object
+#. output shown when we cannot look up or parse the
+#. object in question. E.g. "deadbeef [bad object]".
+#.
+#: object-name.c:382
+#, c-format
+msgid "%s [bad object]"
+msgstr "%s [坏的对象]"
+
+#. TRANSLATORS: This is a line of ambiguous commit
+#. object output. E.g.:
+#. *
+#.    "deadbeef commit 2021-01-01 - Some Commit Message"
+#.
+#: object-name.c:407
+#, c-format
+msgid "%s commit %s - %s"
+msgstr "%s 提交 %s - %s"
+
+#. TRANSLATORS: This is a line of ambiguous
+#. tag object output. E.g.:
+#. *
+#.    "deadbeef tag 2022-01-01 - Some Tag Message"
+#. *
+#. The second argument is the YYYY-MM-DD found
+#. in the tag.
+#. *
+#. The third argument is the "tag" string
+#. from object.c.
+#.
+#: object-name.c:428
+#, c-format
+msgid "%s tag %s - %s"
+msgstr "%s 标签 %s - %s"
+
+#. TRANSLATORS: This is a line of ambiguous
+#. tag object output where we couldn't parse
+#. the tag itself. E.g.:
+#. *
+#.    "deadbeef [bad tag, could not parse it]"
+#.
+#: object-name.c:439
+#, c-format
+msgid "%s [bad tag, could not parse it]"
+msgstr "%s [坏的标签,无法解析]"
+
+#. TRANSLATORS: This is a line of ambiguous <type>
+#. object output. E.g. "deadbeef tree".
+#.
+#: object-name.c:447
+#, c-format
+msgid "%s tree"
+msgstr "%s 树"
+
+#. TRANSLATORS: This is a line of ambiguous <type>
+#. object output. E.g. "deadbeef blob".
+#.
+#: object-name.c:453
+#, c-format
+msgid "%s blob"
+msgstr "%s 数据对象"
+
+#: object-name.c:569
 #, c-format
 msgid "short object ID %s is ambiguous"
 msgstr "短对象ID %s 存在歧义"
 
-#: object-name.c:491
-msgid "The candidates are:"
-msgstr "候选者有:"
+#. TRANSLATORS: The argument is the list of ambiguous
+#. objects composed in show_ambiguous_object(). See
+#. its "TRANSLATORS" comments for details.
+#.
+#: object-name.c:591
+#, c-format
+msgid ""
+"The candidates are:\n"
+"%s"
+msgstr ""
+"候选者有:\n"
+"%s"
 
-#: object-name.c:790
+#: object-name.c:888
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -5858,22 +6054,22 @@ msgstr ""
 "引用,可能需要删除它们。运行 \"git config advice.objectNameWarning\n"
 "false\" 命令关闭本消息通知。"
 
-#: object-name.c:910
+#: object-name.c:1008
 #, c-format
 msgid "log for '%.*s' only goes back to %s"
 msgstr "'%.*s' 的日志仅能回到 %s"
 
-#: object-name.c:918
+#: object-name.c:1016
 #, c-format
 msgid "log for '%.*s' only has %d entries"
 msgstr "'%.*s' 的日志仅有 %d 个条目"
 
-#: object-name.c:1696
+#: object-name.c:1794
 #, c-format
 msgid "path '%s' exists on disk, but not in '%.*s'"
 msgstr "路径 '%s' 在磁盘上,但是不在 '%.*s' 中"
 
-#: object-name.c:1702
+#: object-name.c:1800
 #, c-format
 msgid ""
 "path '%s' exists, but not '%s'\n"
@@ -5882,12 +6078,12 @@ msgstr ""
 "路径 '%s' 存在,而 '%s' 不存在\n"
 "提示:您的意思是 '%.*s:%s' 亦即 '%.*s:./%s'?"
 
-#: object-name.c:1711
+#: object-name.c:1809
 #, c-format
 msgid "path '%s' does not exist in '%.*s'"
 msgstr "路径 '%s' 不在 '%.*s' 中"
 
-#: object-name.c:1739
+#: object-name.c:1837
 #, c-format
 msgid ""
 "path '%s' is in the index, but not at stage %d\n"
@@ -5896,7 +6092,7 @@ msgstr ""
 "路径 '%s' 在索引中,但不在暂存区 %d 中\n"
 "提示:您的意思是 ':%d:%s'?"
 
-#: object-name.c:1755
+#: object-name.c:1853
 #, c-format
 msgid ""
 "path '%s' is in the index, but not '%s'\n"
@@ -5905,21 +6101,26 @@ msgstr ""
 "路径 '%s' 在索引中,但 '%s' 不在\n"
 "提示:您的意思是 ':%d:%s' 亦即 ':%d:./%s'?"
 
-#: object-name.c:1763
+#: object-name.c:1861
 #, c-format
 msgid "path '%s' exists on disk, but not in the index"
 msgstr "路径 '%s' 在磁盘上,但不在索引里"
 
-#: object-name.c:1765
+#: object-name.c:1863
 #, c-format
 msgid "path '%s' does not exist (neither on disk nor in the index)"
 msgstr "路径 '%s' 不存在(既不在磁盘上,也不在索引中)"
 
-#: object-name.c:1778
+#: object-name.c:1876
 msgid "relative path syntax can't be used outside working tree"
 msgstr "不能在工作区之外使用相对路径语法"
 
-#: object-name.c:1916
+#: object-name.c:1901
+#, c-format
+msgid "<object>:<path> required, only <object> '%s' given"
+msgstr "需要 <对象>:<路径>,只给出了 <对象> '%s'"
+
+#: object-name.c:2014
 #, c-format
 msgid "invalid object name '%.*s'."
 msgstr "无效的对象名 '%.*s'。"
@@ -5944,7 +6145,7 @@ msgstr "对象 %s 有未知的类型 id %d"
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: object.c:283 object.c:295
+#: object.c:283 object.c:294
 #, c-format
 msgid "hash mismatch %s"
 msgstr "哈希值与 %s 不匹配"
@@ -5953,21 +6154,21 @@ msgstr "哈希值与 %s 不匹配"
 msgid "multi-pack bitmap is missing required reverse index"
 msgstr "多包位图缺少必需的反向索引"
 
-#: pack-bitmap.c:429
+#: pack-bitmap.c:433
 msgid "load_reverse_index: could not open pack"
 msgstr "load_reverse_index:无法打开包"
 
-#: pack-bitmap.c:1069 pack-bitmap.c:1075 builtin/pack-objects.c:2424
+#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
 #, c-format
 msgid "unable to get size of %s"
 msgstr "无法得到 %s 的大小"
 
-#: pack-bitmap.c:1935
+#: pack-bitmap.c:1937
 #, c-format
 msgid "could not find %s in pack %s at offset %<PRIuMAX>"
 msgstr "在包 %2$s 偏移 %3$<PRIuMAX> 中无法找到 %1$s"
 
-#: pack-bitmap.c:1971 builtin/rev-list.c:92
+#: pack-bitmap.c:1973 builtin/rev-list.c:91
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "无法得到 %s 的磁盘使用量"
@@ -6011,7 +6212,7 @@ msgstr "不能调用 stat:%s"
 msgid "failed to make %s readable"
 msgstr "无法设置 %s 为可读"
 
-#: pack-write.c:520
+#: pack-write.c:521
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "无法写入 '%s' 承诺者文件"
@@ -6346,84 +6547,84 @@ msgstr "object-info:在参数之后应有一个 flush"
 msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
 
-#: range-diff.c:67
+#: range-diff.c:68
 msgid "could not start `log`"
 msgstr "不能启动 `log`"
 
-#: range-diff.c:69
+#: range-diff.c:70
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
-#: range-diff.c:97 sequencer.c:5602
+#: range-diff.c:98 sequencer.c:5575
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 
-#: range-diff.c:111
+#: range-diff.c:109
 #, c-format
 msgid ""
 "could not parse first line of `log` output: did not start with 'commit ': "
 "'%s'"
 msgstr "无法解析 `log` 输出的首行:不是以 'commit ' 开头:'%s'"
 
-#: range-diff.c:137
+#: range-diff.c:132
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "无法解析 git 头 '%.*s'"
 
-#: range-diff.c:304
+#: range-diff.c:300
 msgid "failed to generate diff"
 msgstr "无法生成 diff"
 
-#: range-diff.c:562 range-diff.c:564
+#: range-diff.c:558 range-diff.c:560
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
-#: read-cache.c:723
+#: read-cache.c:737
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "将不会添加文件别名 '%s'('%s' 已经存在于索引中)"
 
-#: read-cache.c:739
+#: read-cache.c:753
 msgid "cannot create an empty blob in the object database"
 msgstr "不能在对象数据库中创建空的数据对象"
 
-#: read-cache.c:761
+#: read-cache.c:775
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr "%s:只能添加常规文件、符号链接或 git 目录"
 
-#: read-cache.c:766 builtin/submodule--helper.c:3242
+#: read-cache.c:780 builtin/submodule--helper.c:3359
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "'%s' 没有检出一个提交"
 
-#: read-cache.c:818
+#: read-cache.c:832
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "无法索引文件 '%s'"
 
-#: read-cache.c:837
+#: read-cache.c:851
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "无法在索引中添加 '%s'"
 
-#: read-cache.c:848
+#: read-cache.c:862
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "无法对 %s 执行 stat"
 
-#: read-cache.c:1386
+#: read-cache.c:1404
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' 看起来既是文件又是目录"
 
-#: read-cache.c:1601
+#: read-cache.c:1619
 msgid "Refresh index"
 msgstr "刷新索引"
 
-#: read-cache.c:1733
+#: read-cache.c:1751
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6432,7 +6633,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1743
+#: read-cache.c:1761
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6441,144 +6642,148 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1799
+#: read-cache.c:1817
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "坏的签名 0x%08x"
 
-#: read-cache.c:1802
+#: read-cache.c:1820
 #, c-format
 msgid "bad index version %d"
 msgstr "坏的索引版本 %d"
 
-#: read-cache.c:1811
+#: read-cache.c:1829
 msgid "bad index file sha1 signature"
 msgstr "坏的索引文件 sha1 签名"
 
-#: read-cache.c:1845
+#: read-cache.c:1863
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "索引使用不被支持的 %.4s 扩展"
 
 # 	
-#: read-cache.c:1847
+#: read-cache.c:1865
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "忽略 %.4s 扩展"
 
-#: read-cache.c:1884
+#: read-cache.c:1902
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "未知的索引条目格式 0x%08x"
 
-#: read-cache.c:1900
+#: read-cache.c:1918
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "索引中靠近路径 '%s' 有错误的名称字段"
 
-#: read-cache.c:1957
+#: read-cache.c:1975
 msgid "unordered stage entries in index"
 msgstr "索引中有未排序的暂存条目"
 
-#: read-cache.c:1960
+#: read-cache.c:1978
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "合并文件 '%s' 有多个暂存条目"
 
-#: read-cache.c:1963
+#: read-cache.c:1981
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "'%s' 的未排序暂存条目"
 
-#: read-cache.c:2078 read-cache.c:2384 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1662 builtin/add.c:600 builtin/check-ignore.c:183
-#: builtin/checkout.c:527 builtin/checkout.c:719 builtin/clean.c:1013
-#: builtin/commit.c:378 builtin/diff-tree.c:122 builtin/grep.c:519
-#: builtin/mv.c:148 builtin/reset.c:499 builtin/rm.c:293
-#: builtin/submodule--helper.c:327 builtin/submodule--helper.c:3202
+#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
+#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
+#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
+#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
+#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
+#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: read-cache.c:2222
+#: read-cache.c:2240
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "无法创建 load_cache_entries 线程:%s"
 
-#: read-cache.c:2235
+#: read-cache.c:2253
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "无法加入 load_cache_entries 线程:%s"
 
-#: read-cache.c:2268
+#: read-cache.c:2286
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s:打开索引文件失败"
 
-#: read-cache.c:2272
+#: read-cache.c:2290
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s:不能对打开的索引执行 stat 操作"
 
-#: read-cache.c:2276
+#: read-cache.c:2294
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s:索引文件比预期的小"
 
-#: read-cache.c:2280
+#: read-cache.c:2298
 #, c-format
 msgid "%s: unable to map index file%s"
 msgstr "%s:无法映射索引文件%s"
 
-#: read-cache.c:2323
+#: read-cache.c:2341
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "无法创建 load_index_extensions 线程:%s"
 
-#: read-cache.c:2350
+#: read-cache.c:2368
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "无法加入 load_index_extensions 线程:%s"
 
-#: read-cache.c:2396
+#: read-cache.c:2414
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "无法刷新共享索引 '%s'"
 
-#: read-cache.c:2455
+#: read-cache.c:2473
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s"
 
-#: read-cache.c:3086 strbuf.c:1191 wrapper.c:641 builtin/merge.c:1150
+#: read-cache.c:3032
+msgid "cannot write split index for a sparse index"
+msgstr "无法为稀疏索引写入拆分索引"
+
+#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:3129
+#: read-cache.c:3157
 msgid "failed to convert to a sparse-index"
 msgstr "无法转换为稀疏索引"
 
-#: read-cache.c:3200
+#: read-cache.c:3228
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:3213
+#: read-cache.c:3241
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:3225
+#: read-cache.c:3253
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: read-cache.c:3254
+#: read-cache.c:3282
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "不能修复 '%s' 的权限位"
 
-#: read-cache.c:3411
+#: read-cache.c:3439
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s:不能落到暂存区 #0"
@@ -6691,9 +6896,9 @@ msgstr ""
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3883
-#: sequencer.c:3909 sequencer.c:5708 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:190
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
+#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
+#: builtin/rebase.c:191
 #, c-format
 msgid "could not write '%s'"
 msgstr "不能写入 '%s'"
@@ -6733,7 +6938,7 @@ msgstr ""
 msgid "%s: 'preserve' superseded by 'merges'"
 msgstr "%s:'preserve' 被 'merges' 取代"
 
-#: ref-filter.c:42 wt-status.c:2048
+#: ref-filter.c:42 wt-status.c:2057
 msgid "gone"
 msgstr "丢失"
 
@@ -6899,81 +7104,91 @@ msgstr "这个命令拒绝元素 %%(%.*s)"
 msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
 msgstr "--format=%.*s 不能和 --python、--shell、--tcl 同时使用"
 
-#: ref-filter.c:1706
+#: ref-filter.c:1707
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1709
+#: ref-filter.c:1710
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(非分支,正变基分离头指针 %s)"
 
-#: ref-filter.c:1712
+#: ref-filter.c:1713
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 
-#: ref-filter.c:1716
+#: ref-filter.c:1717
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针在 %s 分离)"
 
-#: ref-filter.c:1719
+#: ref-filter.c:1720
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针自 %s 分离)"
 
-#: ref-filter.c:1722
+#: ref-filter.c:1723
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1754 ref-filter.c:1972
+#: ref-filter.c:1755 ref-filter.c:1973
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1764
+#: ref-filter.c:1765
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:2155
+#: ref-filter.c:2156
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:2245
+#: ref-filter.c:2246
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:2250 refs.c:676
+#: ref-filter.c:2251 refs.c:672
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:2629
+#: ref-filter.c:2630
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2740
+#: ref-filter.c:2741
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
-#: ref-filter.c:2745
+#: ref-filter.c:2746
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "选项 `%s' 必须指向一个提交"
 
-#: refs.c:261
+#: reflog.c:407
+#, c-format
+msgid "not a reflog: %s"
+msgstr "不是一个引用日志:%s"
+
+#: reflog.c:410
+#, c-format
+msgid "no reflog for '%s'"
+msgstr "没有 '%s' 的引用日志"
+
+#: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s 没有指向一个有效的对象!"
 
-#: refs.c:563
+#: refs.c:561
 #, c-format
 msgid ""
 "Using '%s' as the name for the initial branch. This default branch name\n"
@@ -6997,81 +7212,81 @@ msgstr ""
 "\n"
 "\tgit branch -m <name>\n"
 
-#: refs.c:585
+#: refs.c:583
 #, c-format
 msgid "could not retrieve `%s`"
 msgstr "无法获取 `%s`"
 
-#: refs.c:595
+#: refs.c:593
 #, c-format
 msgid "invalid branch name: %s = %s"
 msgstr "无效的分支名:%s = %s"
 
-#: refs.c:674
+#: refs.c:670
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "忽略悬空符号引用 %s"
 
-#: refs.c:925
+#: refs.c:919
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "引用 %s 的日志在 %s 之后有缺口"
 
-#: refs.c:932
+#: refs.c:926
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "引用 %s 的日志意外终止于 %s "
 
-#: refs.c:997
+#: refs.c:991
 #, c-format
 msgid "log for %s is empty"
 msgstr "%s 的日志为空"
 
-#: refs.c:1090
+#: refs.c:1086
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "拒绝更新有错误名称 '%s' 的引用"
 
-#: refs.c:1168
+#: refs.c:1164
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "对引用 '%s' 执行 update_ref 失败:%s"
 
-#: refs.c:2067
+#: refs.c:2059
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "不允许对引用 '%s' 多次更新"
 
-#: refs.c:2150
+#: refs.c:2145
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
-#: refs.c:2161
+#: refs.c:2156
 msgid "ref updates aborted by hook"
 msgstr "引用更新被钩子中止"
 
-#: refs.c:2269 refs.c:2299
+#: refs.c:2264 refs.c:2294
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' 已存在,无法创建 '%s'"
 
-#: refs.c:2275 refs.c:2310
+#: refs.c:2270 refs.c:2305
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "无法同时处理 '%s' 和 '%s'"
 
-#: refs/files-backend.c:1267
+#: refs/files-backend.c:1295
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1281 refs/packed-backend.c:1549
-#: refs/packed-backend.c:1559
+#: refs/files-backend.c:1310 refs/packed-backend.c:1565
+#: refs/packed-backend.c:1575
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1284 refs/packed-backend.c:1562
+#: refs/files-backend.c:1313 refs/packed-backend.c:1578
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
@@ -7094,37 +7309,37 @@ msgstr "提供了一个以上的 receivepack,使用第一个"
 msgid "more than one uploadpack given, using the first"
 msgstr "提供了一个以上的 uploadpack,使用第一个"
 
-#: remote.c:699
+#: remote.c:698
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:703
+#: remote.c:702
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:707
+#: remote.c:706
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:775
+#: remote.c:774
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr "模式的键 '%s' 没有 '*'"
 
-#: remote.c:785
+#: remote.c:784
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr "模式的值 '%s' 没有 '*'"
 
-#: remote.c:1192
+#: remote.c:1191
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr "源引用规格 %s 没有匹配"
 
-#: remote.c:1197
+#: remote.c:1196
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr "源引用规格 %s 匹配超过一个"
@@ -7133,7 +7348,7 @@ msgstr "源引用规格 %s 匹配超过一个"
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
 #.
-#: remote.c:1212
+#: remote.c:1211
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -7155,7 +7370,7 @@ msgstr ""
 "\n"
 "都不行,所以我们已放弃。您必须给出完整的引用。"
 
-#: remote.c:1232
+#: remote.c:1231
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -7165,7 +7380,7 @@ msgstr ""
 "引用规格的 <src> 是一个提交对象。您是想创建一个新的分支而向\n"
 "'%s:refs/heads/%s' 推送么?"
 
-#: remote.c:1237
+#: remote.c:1236
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -7175,7 +7390,7 @@ msgstr ""
 "引用规格的 <src> 是一个标签对象。您是想创建一个新的标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
-#: remote.c:1242
+#: remote.c:1241
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -7185,7 +7400,7 @@ msgstr ""
 "引用规格的 <src> 是一个树对象。您是想为这个树对象创建标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
-#: remote.c:1247
+#: remote.c:1246
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -7195,114 +7410,114 @@ msgstr ""
 "引用规格的 <src> 是一个数据对象。您是想为这个数据对象创建标签而向\n"
 "'%s:refs/tags/%s' 推送么?"
 
-#: remote.c:1283
+#: remote.c:1282
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr "%s 无法被解析为分支"
 
-#: remote.c:1294
+#: remote.c:1293
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr "无法删除 '%s':远程引用不存在"
 
-#: remote.c:1306
+#: remote.c:1305
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr "目标引用规格 %s 匹配超过一个"
 
-#: remote.c:1313
+#: remote.c:1312
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr "目标引用 %s 接收超过一个源"
 
-#: remote.c:1834 remote.c:1941
+#: remote.c:1833 remote.c:1940
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1843
+#: remote.c:1842
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1846
+#: remote.c:1845
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1852
+#: remote.c:1851
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1867
+#: remote.c:1866
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1882
+#: remote.c:1881
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1892
+#: remote.c:1891
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1905
+#: remote.c:1904
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1927
+#: remote.c:1926
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2060
+#: remote.c:2059
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr "无法找到远程引用 %s"
 
-#: remote.c:2073
+#: remote.c:2072
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* 在本地忽略可笑的引用 '%s'"
 
-#: remote.c:2236
+#: remote.c:2235
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2240
+#: remote.c:2239
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2243
+#: remote.c:2242
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2247
+#: remote.c:2246
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "您的分支和 '%s' 指向不同的提交。\n"
 
-#: remote.c:2250
+#: remote.c:2249
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
-#: remote.c:2254
+#: remote.c:2253
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:2260
+#: remote.c:2259
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2263
+#: remote.c:2262
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -7311,11 +7526,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2271
+#: remote.c:2270
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2274
+#: remote.c:2273
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -7331,11 +7546,11 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2284
+#: remote.c:2283
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: remote.c:2476
+#: remote.c:2475
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "无法解析期望的对象名 '%s'"
@@ -7373,104 +7588,108 @@ msgstr "写入 '%s' (%s) 时出错"
 msgid "failed to flush '%s'"
 msgstr "无法刷新 '%s'"
 
-#: rerere.c:487 rerere.c:1023
+#: rerere.c:487 rerere.c:1024
 #, c-format
 msgid "could not parse conflict hunks in '%s'"
 msgstr "不能解析 '%s' 中的冲突块"
 
-#: rerere.c:668
+#: rerere.c:669
 #, c-format
 msgid "failed utime() on '%s'"
 msgstr "在 '%s' 上调用 utime() 失败"
 
-#: rerere.c:678
+#: rerere.c:679
 #, c-format
 msgid "writing '%s' failed"
 msgstr "写入 '%s' 失败"
 
-#: rerere.c:698
+#: rerere.c:699
 #, c-format
 msgid "Staged '%s' using previous resolution."
 msgstr "使用之前的解决方案暂存 '%s'。"
 
-#: rerere.c:737
+#: rerere.c:738
 #, c-format
 msgid "Recorded resolution for '%s'."
 msgstr "已记录 '%s' 的解决方案。"
 
-#: rerere.c:772
+#: rerere.c:773
 #, c-format
 msgid "Resolved '%s' using previous resolution."
 msgstr "使用之前的解决方案解决 '%s'。"
 
-#: rerere.c:787
+#: rerere.c:788
 #, c-format
 msgid "cannot unlink stray '%s'"
 msgstr "不能删除 stray '%s'"
 
-#: rerere.c:791
+#: rerere.c:792
 #, c-format
 msgid "Recorded preimage for '%s'"
 msgstr "为 '%s' 记录 preimage"
 
-#: rerere.c:865 submodule.c:2121 builtin/log.c:2017
-#: builtin/submodule--helper.c:1777 builtin/submodule--helper.c:1820
+#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
+#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: rerere.c:1041
+#: rerere.c:1042
 #, c-format
 msgid "failed to update conflicted state in '%s'"
 msgstr "无法更新 '%s' 中的冲突状态"
 
-#: rerere.c:1052 rerere.c:1059
+#: rerere.c:1053 rerere.c:1060
 #, c-format
 msgid "no remembered resolution for '%s'"
 msgstr "没有为 '%s' 记忆的解决方案"
 
-#: rerere.c:1061
+#: rerere.c:1062
 #, c-format
 msgid "cannot unlink '%s'"
 msgstr "不能删除 '%s'"
 
-#: rerere.c:1071
+#: rerere.c:1072
 #, c-format
 msgid "Updated preimage for '%s'"
 msgstr "已为 '%s' 更新 preimage"
 
-#: rerere.c:1080
+#: rerere.c:1081
 #, c-format
 msgid "Forgot resolution for '%s'\n"
 msgstr "忘记 '%s' 的解决方案\n"
 
-#: rerere.c:1191
+#: rerere.c:1192
 msgid "unable to open rr-cache directory"
 msgstr "不能打开 rr-cache 目录"
 
-#: reset.c:42
+#: reset.c:112
 msgid "could not determine HEAD revision"
 msgstr "不能确定 HEAD 版本"
 
-#: reset.c:70 reset.c:76 sequencer.c:3700
+#: reset.c:141 reset.c:147 sequencer.c:3696
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树"
 
-#: revision.c:2347
+#: revision.c:2358
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "不再支持 --unpacked=<packfile>"
 
-#: revision.c:2686
+#: revision.c:2712
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2689
+#: revision.c:2715
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2891
+#: revision.c:2901
+msgid "object filtering requires --objects"
+msgstr "对象过滤需要 --objects"
+
+#: revision.c:2918
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L 尚不支持 -p 和 -s 之外的差异格式"
 
@@ -7537,7 +7756,7 @@ msgstr "无效的提交信息清理模式 '%s'"
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:345 sequencer.c:4751 builtin/rebase.c:563 builtin/rebase.c:1297
+#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
 #: builtin/rm.c:409
 #, c-format
 msgid "could not remove '%s'"
@@ -7596,13 +7815,13 @@ msgstr ""
 "\"git revert --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "执行 \"git revert\" 之前的状态,执行 \"git revert --abort\"。"
 
-#: sequencer.c:448 sequencer.c:3292
+#: sequencer.c:448 sequencer.c:3288
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:450 sequencer.c:3091 sequencer.c:3296 sequencer.c:3310
-#: sequencer.c:3561 sequencer.c:5618 strbuf.c:1188 wrapper.c:639
+#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
+#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
@@ -7612,14 +7831,14 @@ msgstr "不能写入 '%s'"
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:460 sequencer.c:3096 sequencer.c:3298 sequencer.c:3312
-#: sequencer.c:3569
+#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
+#: sequencer.c:3565
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:473 sequencer.c:1934 sequencer.c:3116 sequencer.c:3551
-#: sequencer.c:3679 builtin/am.c:289 builtin/commit.c:834 builtin/merge.c:1148
+#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
+#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
@@ -7638,7 +7857,7 @@ msgstr "提交您的修改或贮藏后再继续。"
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
-#: sequencer.c:574 builtin/tag.c:614
+#: sequencer.c:574 builtin/tag.c:615
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
@@ -7669,8 +7888,8 @@ msgstr "在 '%.*s' 中没有 key"
 msgid "unable to dequote value of '%s'"
 msgstr "无法为 '%s' 的值去引号"
 
-#: sequencer.c:841 wrapper.c:209 wrapper.c:379 builtin/am.c:756
-#: builtin/am.c:848 builtin/rebase.c:694
+#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
+#: builtin/am.c:849 builtin/rebase.c:699
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
@@ -7784,350 +8003,345 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1288
+#: sequencer.c:1287
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1290
+#: sequencer.c:1289
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1339
+#: sequencer.c:1336
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1342
+#: sequencer.c:1338
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1346
+#: sequencer.c:1342
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1367
+#: sequencer.c:1363
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1369
+#: sequencer.c:1365
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
-#: sequencer.c:1373 sequencer.c:1451 builtin/commit.c:1708
+#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1429 sequencer.c:2314
+#: sequencer.c:1425 sequencer.c:2310
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1440 builtin/am.c:1643 builtin/merge.c:710
+#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
-#: sequencer.c:1473 sequencer.c:1593
+#: sequencer.c:1469 sequencer.c:1589
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
-#: sequencer.c:1504 sequencer.c:1536
+#: sequencer.c:1500 sequencer.c:1532
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "无效的作者身份 '%s'"
 
-#: sequencer.c:1510
+#: sequencer.c:1506
 msgid "corrupt author: missing date information"
 msgstr "损坏的作者:缺失日期信息"
 
-#: sequencer.c:1549 builtin/am.c:1670 builtin/commit.c:1822 builtin/merge.c:915
-#: builtin/merge.c:940 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
+#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: sequencer.c:1576 sequencer.c:4523 t/helper/test-fast-rebase.c:199
+#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
 #: t/helper/test-fast-rebase.c:217
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:1625
+#: sequencer.c:1621
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1630
+#: sequencer.c:1626
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1713 sequencer.c:1994
+#: sequencer.c:1709 sequencer.c:1990
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1755
+#: sequencer.c:1751
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1756
+#: sequencer.c:1752
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1757
+#: sequencer.c:1753
 msgid "The 1st commit message will be skipped:"
 msgstr "第一个提交说明将被跳过:"
 
-#: sequencer.c:1758
+#: sequencer.c:1754
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:1759
+#: sequencer.c:1755
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
-#: sequencer.c:1906 sequencer.c:1963
+#: sequencer.c:1902 sequencer.c:1959
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1953
+#: sequencer.c:1949
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1955 sequencer.c:3596
+#: sequencer.c:1951 sequencer.c:3592
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1957
+#: sequencer.c:1953
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1981
+#: sequencer.c:1977
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
-#: sequencer.c:2091
+#: sequencer.c:2087
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:2098
+#: sequencer.c:2094
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:2117
+#: sequencer.c:2113
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:2125 sequencer.c:2133
+#: sequencer.c:2121 sequencer.c:2129
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:2139
+#: sequencer.c:2135
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:2158
+#: sequencer.c:2154
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:2224
+#: sequencer.c:2220
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:2284
+#: sequencer.c:2280
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:2285
+#: sequencer.c:2281
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:2306
+#: sequencer.c:2302
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "丢弃 %s %s -- 补丁内容已在上游\n"
 
-#: sequencer.c:2364
+#: sequencer.c:2360
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:2372
+#: sequencer.c:2368
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:2452
+#: sequencer.c:2448
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
-#: sequencer.c:2461
+#: sequencer.c:2457
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2504
+#: sequencer.c:2500
 #, c-format
 msgid "could not parse '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:2565
+#: sequencer.c:2561
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2576
+#: sequencer.c:2572
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2624 builtin/rebase.c:184
+#: sequencer.c:2620 builtin/rebase.c:185
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:2662
+#: sequencer.c:2658
 msgid "cancelling a cherry picking in progress"
 msgstr "正在取消一个进行中的拣选"
 
-#: sequencer.c:2671
+#: sequencer.c:2667
 msgid "cancelling a revert in progress"
 msgstr "正在取消一个进行中的还原"
 
-#: sequencer.c:2711
+#: sequencer.c:2707
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:2713
+#: sequencer.c:2709
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2718
+#: sequencer.c:2714
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2729
+#: sequencer.c:2725
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2731
+#: sequencer.c:2727
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2809
-#, c-format
-msgid "invalid value for %s: %s"
-msgstr "%s 的值无效:%s"
-
-#: sequencer.c:2918
+#: sequencer.c:2914
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2938
+#: sequencer.c:2934
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:3033 sequencer.c:4902
+#: sequencer.c:3029 sequencer.c:4875
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:3050
+#: sequencer.c:3046
 msgid "revert is already in progress"
 msgstr "一个还原操作已在进行"
 
-#: sequencer.c:3052
+#: sequencer.c:3048
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3055
+#: sequencer.c:3051
 msgid "cherry-pick is already in progress"
 msgstr "拣选操作已在进行"
 
-#: sequencer.c:3057
+#: sequencer.c:3053
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3071
+#: sequencer.c:3067
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:3086
+#: sequencer.c:3082
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:3146 sequencer.c:4612
+#: sequencer.c:3142 sequencer.c:4585
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:3148 sequencer.c:3159
+#: sequencer.c:3144 sequencer.c:3155
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:3150 sequencer.c:3194
+#: sequencer.c:3146 sequencer.c:3190
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:3180 builtin/fetch.c:1004 builtin/fetch.c:1416
-#: builtin/grep.c:772
+#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
+#: builtin/grep.c:774
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:3182
+#: sequencer.c:3178
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:3183
+#: sequencer.c:3179
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:3189
+#: sequencer.c:3185
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:3200
+#: sequencer.c:3196
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:3241
+#: sequencer.c:3237
 msgid "no revert in progress"
 msgstr "没有正在进行的还原"
 
-#: sequencer.c:3250
+#: sequencer.c:3246
 msgid "no cherry-pick in progress"
 msgstr "没有正在进行的拣选"
 
-#: sequencer.c:3260
+#: sequencer.c:3256
 msgid "failed to skip the commit"
 msgstr "无法跳过这个提交"
 
-#: sequencer.c:3267
+#: sequencer.c:3263
 msgid "there is nothing to skip"
 msgstr "没有要跳过的"
 
-#: sequencer.c:3270
+#: sequencer.c:3266
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -8136,16 +8350,16 @@ msgstr ""
 "您已经提交了么?\n"
 "试试 \"git %s --continue\""
 
-#: sequencer.c:3432 sequencer.c:4503
+#: sequencer.c:3428 sequencer.c:4476
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:3449
+#: sequencer.c:3445
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3457
+#: sequencer.c:3453
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -8164,27 +8378,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3467
+#: sequencer.c:3463
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
-#: sequencer.c:3474
+#: sequencer.c:3470
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
-#: sequencer.c:3488 sequencer.c:3492 builtin/difftool.c:633
+#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3503
+#: sequencer.c:3499
 #, c-format
 msgid "Executing: %s\n"
 msgstr "正在执行:%s\n"
 
-#: sequencer.c:3514
+#: sequencer.c:3510
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -8199,11 +8413,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3520
+#: sequencer.c:3516
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:3526
+#: sequencer.c:3522
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -8220,90 +8434,90 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3586
+#: sequencer.c:3582
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
-#: sequencer.c:3659
+#: sequencer.c:3655
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:3664
+#: sequencer.c:3660
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:3743
+#: sequencer.c:3739
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:3775
+#: sequencer.c:3771
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:3797
+#: sequencer.c:3793
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:3806
+#: sequencer.c:3802
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
-#: sequencer.c:3818
+#: sequencer.c:3814
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
-#: sequencer.c:3873
+#: sequencer.c:3869
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "不能获取 '%s' 的提交说明"
 
-#: sequencer.c:4019
+#: sequencer.c:4013
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "甚至不能尝试合并 '%.*s'"
 
-#: sequencer.c:4035
+#: sequencer.c:4029
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:4116
+#: sequencer.c:4110
 msgid "Cannot autostash"
 msgstr "无法自动贮藏"
 
-#: sequencer.c:4119
+#: sequencer.c:4113
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "意外的贮藏响应:'%s'"
 
-#: sequencer.c:4125
+#: sequencer.c:4119
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "不能为 '%s' 创建目录"
 
-#: sequencer.c:4128
+#: sequencer.c:4122
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "创建了自动贮藏:%s\n"
 
-#: sequencer.c:4132
+#: sequencer.c:4124
 msgid "could not reset --hard"
 msgstr "无法硬性重置(reset --hard)"
 
-#: sequencer.c:4157
+#: sequencer.c:4148
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用自动贮藏。\n"
 
-#: sequencer.c:4169
+#: sequencer.c:4160
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:4172
+#: sequencer.c:4163
 #, c-format
 msgid ""
 "%s\n"
@@ -8314,29 +8528,29 @@ msgstr ""
 "您的修改在贮藏区中很安全。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:4177
+#: sequencer.c:4168
 msgid "Applying autostash resulted in conflicts."
 msgstr "应用自动贮藏导致冲突。"
 
-#: sequencer.c:4178
+#: sequencer.c:4169
 msgid "Autostash exists; creating a new stash entry."
 msgstr "自动贮藏已经存在;正在创建一个新的贮藏条目。"
 
-#: sequencer.c:4252
+#: sequencer.c:4225
 msgid "could not detach HEAD"
 msgstr "不能分离头指针"
 
-#: sequencer.c:4267
+#: sequencer.c:4240
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "停止在 HEAD\n"
 
-#: sequencer.c:4269
+#: sequencer.c:4242
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "停止在 %s\n"
 
-#: sequencer.c:4301
+#: sequencer.c:4274
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8356,58 +8570,58 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4347
+#: sequencer.c:4320
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "正在变基(%d/%d)%s"
 
-#: sequencer.c:4393
+#: sequencer.c:4366
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:4463
+#: sequencer.c:4436
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:4511
+#: sequencer.c:4484
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:4516
+#: sequencer.c:4489
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:4530
+#: sequencer.c:4503
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:4590
+#: sequencer.c:4563
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "成功变基并更新 %s。\n"
 
-#: sequencer.c:4642
+#: sequencer.c:4615
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:4651
+#: sequencer.c:4624
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:4653
+#: sequencer.c:4626
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:4655
+#: sequencer.c:4628
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:4658
+#: sequencer.c:4631
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8416,59 +8630,59 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:4694 sequencer.c:4733
+#: sequencer.c:4667 sequencer.c:4706
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:4749
+#: sequencer.c:4722
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:4759
+#: sequencer.c:4732
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:4879
+#: sequencer.c:4852
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:4883
+#: sequencer.c:4856
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:4918
+#: sequencer.c:4891
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:5189 sequencer.c:5418
+#: sequencer.c:5162 sequencer.c:5391
 #, c-format
 msgid "skipped previously applied commit %s"
 msgstr "跳过了先前已应用的提交 %s"
 
-#: sequencer.c:5259 sequencer.c:5434
+#: sequencer.c:5232 sequencer.c:5407
 msgid "use --reapply-cherry-picks to include skipped commits"
 msgstr "使用 --reapply-cherry-picks 来包括跳过的提交"
 
-#: sequencer.c:5405
+#: sequencer.c:5378
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:5408
+#: sequencer.c:5381
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:5666 sequencer.c:5683
+#: sequencer.c:5639 sequencer.c:5656
 msgid "nothing to do"
 msgstr "无事可做"
 
-#: sequencer.c:5702
+#: sequencer.c:5675
 msgid "could not skip unnecessary pick commands"
 msgstr "无法跳过不必要的拣选"
 
-#: sequencer.c:5802
+#: sequencer.c:5775
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -8521,92 +8735,92 @@ msgstr "无法使用无效配置来创建工作区"
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
-#: setup.c:722
+#: setup.c:723
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:730
+#: setup.c:731
 msgid "unknown repository extension found:"
 msgid_plural "unknown repository extensions found:"
 msgstr[0] "发现未知的仓库扩展:"
 msgstr[1] "发现未知的仓库扩展:"
 
-#: setup.c:744
+#: setup.c:745
 msgid "repo version is 0, but v1-only extension found:"
 msgid_plural "repo version is 0, but v1-only extensions found:"
 msgstr[0] "仓库的版本是 0,但是发现仅用于 v1 的扩展:"
 msgstr[1] "仓库的版本是 0,但是发现仅用于 v1 的扩展:"
 
-#: setup.c:765
+#: setup.c:766
 #, c-format
 msgid "error opening '%s'"
 msgstr "打开 '%s' 出错"
 
-#: setup.c:767
+#: setup.c:768
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
-#: setup.c:769
+#: setup.c:770
 #, c-format
 msgid "error reading %s"
 msgstr "读取 %s 出错"
 
-#: setup.c:771
+#: setup.c:772
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
-#: setup.c:773
+#: setup.c:774
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
-#: setup.c:775
+#: setup.c:776
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是 git 仓库:%s"
 
-#: setup.c:877
+#: setup.c:878
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
-#: setup.c:891
+#: setup.c:892
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是 git 仓库:'%s'"
 
-#: setup.c:920 setup.c:922 setup.c:953
+#: setup.c:921 setup.c:923 setup.c:954
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
-#: setup.c:925 setup.c:981 setup.c:991 setup.c:1030 setup.c:1038
+#: setup.c:926 setup.c:982 setup.c:992 setup.c:1031 setup.c:1039
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:1052
+#: setup.c:1053
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "无法获取 '%*s%s%s' 状态(stat)"
 
-#: setup.c:1295
+#: setup.c:1296
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:1304 setup.c:1310
+#: setup.c:1305 setup.c:1311
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
-#: setup.c:1315
+#: setup.c:1316
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是 git 仓库(或者任何父目录):%s"
 
-#: setup.c:1321
+#: setup.c:1322
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -8615,7 +8829,7 @@ msgstr ""
 "不是 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1446
+#: setup.c:1447
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -8624,57 +8838,61 @@ msgstr ""
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: setup.c:1508
+#: setup.c:1509
 msgid "fork failed"
 msgstr "fork 失败"
 
-#: setup.c:1513
+#: setup.c:1514
 msgid "setsid failed"
 msgstr "setsid 失败"
 
-#: sparse-index.c:289
+#: sparse-index.c:285
 #, c-format
 msgid "index entry is a directory, but not sparse (%08x)"
 msgstr "索引条目是一个目录,但不是稀疏的 (%08x)"
 
+#: split-index.c:9
+msgid "cannot use split index with a sparse index"
+msgstr "拆分索引无法与稀疏索引一起使用"
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:850
+#: strbuf.c:851
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u GiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:852
+#: strbuf.c:853
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u GiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:860
+#: strbuf.c:861
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u MiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:862
+#: strbuf.c:863
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u MiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:869
+#: strbuf.c:870
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u KiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:871
+#: strbuf.c:872
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u KiB/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:877
+#: strbuf.c:878
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
@@ -8682,130 +8900,140 @@ msgstr[0] "%u 字节"
 msgstr[1] "%u 字节"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:879
+#: strbuf.c:880
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u 字节/秒"
 msgstr[1] "%u 字节/秒"
 
-#: strbuf.c:1186 wrapper.c:207 wrapper.c:377 builtin/am.c:765
-#: builtin/rebase.c:650
+#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
+#: builtin/rebase.c:653
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: strbuf.c:1195
+#: strbuf.c:1196
 #, c-format
 msgid "could not edit '%s'"
 msgstr "不能编辑 '%s'"
 
-#: submodule-config.c:237
+#: submodule-config.c:238
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
-#: submodule-config.c:304
+#: submodule-config.c:305
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "submodule.fetchjobs 不允许为负值"
 
-#: submodule-config.c:402
+#: submodule-config.c:403
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr "忽略可能被解析为命令行选项的 '%s':%s"
 
-#: submodule-config.c:499
+#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
 #, c-format
-msgid "invalid value for %s"
-msgstr "%s 的值无效"
+msgid "invalid value for '%s'"
+msgstr "'%s' 的值无效"
 
-#: submodule-config.c:767
+#: submodule-config.c:828
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:114 submodule.c:143
+#: submodule.c:115 submodule.c:144
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:118 submodule.c:147
+#: submodule.c:119 submodule.c:148
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:154
+#: submodule.c:155
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:165
+#: submodule.c:166
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:358
+#: submodule.c:346
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
-#: submodule.c:389
+#: submodule.c:377
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:466
+#: submodule.c:454
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "坏的 --ignore-submodules 参数:%s"
 
-#: submodule.c:844
+#: submodule.c:866
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
 "same. Skipping it."
 msgstr "提交 %s 中位于路径 '%s' 的子模组和同名的子模组冲突。 跳过它。"
 
-#: submodule.c:954
+#: submodule.c:987
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1042
+#: submodule.c:1069
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
 "submodule %s"
 msgstr "无法在子模组 %s 中执行 'git rev-list <提交> --not --remotes -n 1'"
 
-#: submodule.c:1165
+#: submodule.c:1192
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "处理子模组 '%s' 失败"
 
-#: submodule.c:1194 builtin/branch.c:699 builtin/submodule--helper.c:2714
+#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1205
+#: submodule.c:1232
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "正在推送子模组 '%s'\n"
 
-#: submodule.c:1208
+#: submodule.c:1235
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "无法推送子模组 '%s'\n"
 
-#: submodule.c:1491
+#: submodule.c:1567
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "正在获取子模组 %s%s\n"
 
-#: submodule.c:1525
+#: submodule.c:1589
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "无法访问子模组 '%s'\n"
 
-#: submodule.c:1680
+#: submodule.c:1618
+#, c-format
+msgid "Could not access submodule '%s' at commit %s\n"
+msgstr "无法访问子模组 '%s' 提交 %s\n"
+
+#: submodule.c:1629
+#, c-format
+msgid "Fetching submodule %s%s at commit %s\n"
+msgstr "正在获取子模组 %s%s 提交 %s\n"
+
+#: submodule.c:1849
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8814,77 +9042,77 @@ msgstr ""
 "获取子模组时的错误:\n"
 "%s"
 
-#: submodule.c:1705
+#: submodule.c:1874
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为 git 仓库"
 
-#: submodule.c:1722
+#: submodule.c:1891
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "无法在子模组 %s 中执行 'git status --porcelain=2'"
 
-#: submodule.c:1763
+#: submodule.c:1932
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "在子模组 %s 中执行 'git status --porcelain=2' 失败"
 
-#: submodule.c:1838
+#: submodule.c:2007
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
-#: submodule.c:1851
+#: submodule.c:2020
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
-#: submodule.c:1868
+#: submodule.c:2037
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "无法在子模组 '%s' 中取消 core.worktree 的设置"
 
-#: submodule.c:1895 submodule.c:2210
+#: submodule.c:2064 submodule.c:2379
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:1917
+#: submodule.c:2086
 msgid "could not reset submodule index"
 msgstr "无法重置子模组索引"
 
-#: submodule.c:1959
+#: submodule.c:2128
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:2013
+#: submodule.c:2182
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
-#: submodule.c:2081
+#: submodule.c:2250
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "子模组 git 目录 '%s' 位于 git 目录 '%.*s' 中"
 
-#: submodule.c:2102
+#: submodule.c:2271
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:2114 submodule.c:2174
+#: submodule.c:2283 submodule.c:2343
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:2118
+#: submodule.c:2287
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "禁止移动 '%s' 到现存 git 目录中"
 
-#: submodule.c:2124
+#: submodule.c:2293
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8895,11 +9123,11 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:2255
+#: submodule.c:2424
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:2295
+#: submodule.c:2464
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
@@ -8920,8 +9148,8 @@ msgstr "执行 trailer 命令 '%s' 失败"
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
-#: builtin/remote.c:327
+#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
+#: builtin/remote.c:328
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
@@ -8936,11 +9164,11 @@ msgstr "尾注 '%.*s' 的键为空"
 msgid "could not read input file '%s'"
 msgstr "不能读取输入文件 '%s'"
 
-#: trailer.c:766 builtin/mktag.c:89 imap-send.c:1573
+#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:1024 wrapper.c:684
+#: trailer.c:1024 wrapper.c:760
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
@@ -9006,7 +9234,7 @@ msgstr "不能执行 fast-import"
 msgid "error while running fast-import"
 msgstr "执行 fast-import 出错"
 
-#: transport-helper.c:549 transport-helper.c:1251
+#: transport-helper.c:549 transport-helper.c:1254
 #, c-format
 msgid "could not read ref %s"
 msgstr "无法读取引用 %s"
@@ -9024,7 +9252,7 @@ msgstr "协议不支持设置远程服务路径"
 msgid "invalid remote service path"
 msgstr "无效的远程服务路径"
 
-#: transport-helper.c:661 transport.c:1479
+#: transport-helper.c:661 transport.c:1496
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
@@ -9033,72 +9261,72 @@ msgstr "协议不支持该操作"
 msgid "can't connect to subservice %s"
 msgstr "不能连接到子服务 %s"
 
-#: transport-helper.c:693 transport.c:404
+#: transport-helper.c:693 transport.c:415
 msgid "--negotiate-only requires protocol v2"
 msgstr "--negotiate-only 需要协议 v2"
 
-#: transport-helper.c:755
+#: transport-helper.c:758
 msgid "'option' without a matching 'ok/error' directive"
 msgstr "'option' 缺乏一个匹配的 'ok/error' 指令"
 
-#: transport-helper.c:798
+#: transport-helper.c:801
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "预期 ok/error,助手说 '%s'"
 
-#: transport-helper.c:859
+#: transport-helper.c:862
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "助手报告 %s 的意外状态"
 
-#: transport-helper.c:942
+#: transport-helper.c:945
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "助手 %s 不支持 dry-run"
 
-#: transport-helper.c:945
+#: transport-helper.c:948
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "助手 %s 不支持 --signed"
 
-#: transport-helper.c:948
+#: transport-helper.c:951
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "助手 %s 不支持 --signed=if-asked"
 
-#: transport-helper.c:953
+#: transport-helper.c:956
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "助手 %s 不支持 --atomic"
 
-#: transport-helper.c:957
+#: transport-helper.c:960
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "助手 %s 不支持 --%s"
 
-#: transport-helper.c:964
+#: transport-helper.c:967
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "助手 %s 不支持 'push-option'"
 
-#: transport-helper.c:1064
+#: transport-helper.c:1067
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-heper 不支持推送,需要引用规格"
 
-#: transport-helper.c:1069
+#: transport-helper.c:1072
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "助手 %s 不支持 'force'"
 
-#: transport-helper.c:1116
+#: transport-helper.c:1119
 msgid "couldn't run fast-export"
 msgstr "无法执行 fast-export"
 
-#: transport-helper.c:1121
+#: transport-helper.c:1124
 msgid "error while running fast-export"
 msgstr "执行 fast-export 时出错"
 
-#: transport-helper.c:1146
+#: transport-helper.c:1149
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -9107,52 +9335,52 @@ msgstr ""
 "没有共同的引用并且也没有指定,什么也不会做。\n"
 "也许您应该指定一个分支。\n"
 
-#: transport-helper.c:1228
+#: transport-helper.c:1231
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "不支持的对象格式 '%s'"
 
-#: transport-helper.c:1237
+#: transport-helper.c:1240
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
-#: transport-helper.c:1389
+#: transport-helper.c:1392
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
-#: transport-helper.c:1416
+#: transport-helper.c:1419
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
-#: transport-helper.c:1465
+#: transport-helper.c:1468
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
-#: transport-helper.c:1469
+#: transport-helper.c:1472
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
-#: transport-helper.c:1488 transport-helper.c:1492
+#: transport-helper.c:1491 transport-helper.c:1495
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
-#: transport-helper.c:1529
+#: transport-helper.c:1532
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
-#: transport-helper.c:1533
+#: transport-helper.c:1536
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
-#: transport-helper.c:1551 transport-helper.c:1560
+#: transport-helper.c:1554 transport-helper.c:1563
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
@@ -9161,58 +9389,58 @@ msgstr "不能启动线程来拷贝数据"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 
-#: transport.c:145
+#: transport.c:138
 #, c-format
 msgid "could not read bundle '%s'"
 msgstr "无法读取归档包 '%s'"
 
-#: transport.c:227
+#: transport.c:234
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:279
+#: transport.c:289
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "查看 'git help config' 中的 protocol.version 获取更多信息"
 
-#: transport.c:280
+#: transport.c:290
 msgid "server options require protocol version 2 or later"
 msgstr "服务端选项需要版本 2 协议或更高"
 
-#: transport.c:407
+#: transport.c:418
 msgid "server does not support wait-for-done"
 msgstr "服务器不支持 wait-for-done"
 
-#: transport.c:759
+#: transport.c:770
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
-#: transport.c:834
+#: transport.c:845
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
-#: transport.c:967
+#: transport.c:978
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
-#: transport.c:1033
+#: transport.c:1044
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
-#: transport.c:1082
+#: transport.c:1093
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
-#: transport.c:1185
+#: transport.c:1196
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:1189
+#: transport.c:1200
 #, c-format
 msgid ""
 "\n"
@@ -9239,11 +9467,11 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:1197
+#: transport.c:1208
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport.c:1343
+#: transport.c:1354
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
@@ -9513,16 +9741,16 @@ msgstr ""
 "以下路径发生碰撞(如:在不区分大小写的文件系统上的区分大小写的路径),\n"
 "并且碰撞组中只有一个文件存在工作区中:\n"
 
-#: unpack-trees.c:1636
+#: unpack-trees.c:1664
 msgid "Updating index flags"
 msgstr "正在更新索引标志"
 
-#: unpack-trees.c:2803
+#: unpack-trees.c:2925
 #, c-format
 msgid "worktree and untracked commit have duplicate entries: %s"
 msgstr "工作树和未跟踪提交具有重复条目:%s"
 
-#: upload-pack.c:1565
+#: upload-pack.c:1579
 msgid "expected flush after fetch arguments"
 msgstr "在 fetch 参数之后应该有一个 flush 包"
 
@@ -9559,123 +9787,137 @@ msgstr "无效的 '..' 路径片段"
 msgid "Fetching objects"
 msgstr "正在获取对象"
 
-#: worktree.c:238 builtin/am.c:2209 builtin/bisect--helper.c:156
+#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
 #, c-format
 msgid "failed to read '%s'"
 msgstr "无法读取 '%s'"
 
-#: worktree.c:305
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "在主工作区的 '%s' 不是仓库目录"
 
-#: worktree.c:316
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "文件 '%s' 不包含工作区的绝对路径"
 
-#: worktree.c:328
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' 不存在"
 
-#: worktree.c:334
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' 不是一个 .git 文件,错误码 %d"
 
-#: worktree.c:343
+#: worktree.c:342
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' 没有指回到 '%s'"
 
-#: worktree.c:604
+#: worktree.c:600
 msgid "not a directory"
 msgstr "不是一个目录"
 
-#: worktree.c:613
+#: worktree.c:609
 msgid ".git is not a file"
 msgstr ".git 不是一个文件"
 
-#: worktree.c:615
+#: worktree.c:611
 msgid ".git file broken"
 msgstr ".git 文件损坏"
 
-#: worktree.c:617
+#: worktree.c:613
 msgid ".git file incorrect"
 msgstr ".git 文件不正确"
 
-#: worktree.c:723
+#: worktree.c:719
 msgid "not a valid path"
 msgstr "不是一个有效的路径"
 
-#: worktree.c:729
+#: worktree.c:725
 msgid "unable to locate repository; .git is not a file"
 msgstr "无法定位仓库,.git 不是一个文件"
 
-#: worktree.c:733
+#: worktree.c:729
 msgid "unable to locate repository; .git file does not reference a repository"
 msgstr "无法定位仓库,.git 文件没有指向一个仓库"
 
-#: worktree.c:737
+#: worktree.c:733
 msgid "unable to locate repository; .git file broken"
 msgstr "无法定位仓库,.git 文件损坏"
 
-#: worktree.c:743
+#: worktree.c:739
 msgid "gitdir unreadable"
 msgstr "gitdir 不可读"
 
-#: worktree.c:747
+#: worktree.c:743
 msgid "gitdir incorrect"
 msgstr "gitdir 不正确"
 
-#: worktree.c:772
+#: worktree.c:768
 msgid "not a valid directory"
 msgstr "不是一个有效的目录"
 
-#: worktree.c:778
+#: worktree.c:774
 msgid "gitdir file does not exist"
 msgstr "gitdir 文件不存在"
 
-#: worktree.c:783 worktree.c:792
+#: worktree.c:779 worktree.c:788
 #, c-format
 msgid "unable to read gitdir file (%s)"
 msgstr "无法读取 gitdir 文件(%s)"
 
-#: worktree.c:802
+#: worktree.c:798
 #, c-format
 msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
 msgstr "读取过短(期望 %<PRIuMAX> 字节,读取 %<PRIuMAX>)"
 
-#: worktree.c:810
+#: worktree.c:806
 msgid "invalid gitdir file"
 msgstr "无效的 gitdir 文件"
 
-#: worktree.c:818
+#: worktree.c:814
 msgid "gitdir file points to non-existent location"
 msgstr "gitdir 文件指向一个不存在的位置"
 
-#: wrapper.c:151
+#: worktree.c:830
+#, c-format
+msgid "unable to set %s in '%s'"
+msgstr "无法在 '%2$s' 中设置 %1$s"
+
+#: worktree.c:832
+#, c-format
+msgid "unable to unset %s in '%s'"
+msgstr "无法在 '%2$s' 中取消设置 %1$s"
+
+#: worktree.c:852
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "无法设置 extensions.worktreeConfig"
+
+#: wrapper.c:161
 #, c-format
 msgid "could not setenv '%s'"
-msgstr "不能设置环境变量 '%s'"
+msgstr "无法设置环境变量 '%s'"
 
-#: wrapper.c:203
+#: wrapper.c:213
 #, c-format
 msgid "unable to create '%s'"
-msgstr "不能创建 '%s'"
+msgstr "无法创建 '%s'"
 
-#: wrapper.c:205 wrapper.c:375
+#: wrapper.c:215 wrapper.c:385
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
-#: wrapper.c:406 wrapper.c:607
+#: wrapper.c:416 wrapper.c:683
 #, c-format
 msgid "unable to access '%s'"
 msgstr "不能访问 '%s'"
 
-#: wrapper.c:615
+#: wrapper.c:691
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
@@ -9714,11 +9956,11 @@ msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:211 wt-status.c:1131
+#: wt-status.c:211 wt-status.c:1140
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:234 wt-status.c:1140
+#: wt-status.c:234 wt-status.c:1149
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
@@ -9824,22 +10066,22 @@ msgstr "修改的内容, "
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:964
+#: wt-status.c:973
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:995
+#: wt-status.c:1004
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:997
+#: wt-status.c:1006
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:1079
+#: wt-status.c:1088
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9847,7 +10089,7 @@ msgstr ""
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1171
+#: wt-status.c:1180
 #, c-format
 msgid ""
 "\n"
@@ -9858,290 +10100,290 @@ msgstr ""
 "花了 %.2f 秒才计算出分支的领先/落后范围。\n"
 "为避免,您可以使用 '--no-ahead-behind'。\n"
 
-#: wt-status.c:1201
+#: wt-status.c:1210
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1204
+#: wt-status.c:1213
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1206
+#: wt-status.c:1215
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1210
+#: wt-status.c:1219
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1213
+#: wt-status.c:1222
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1224
+#: wt-status.c:1233
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1227
+#: wt-status.c:1236
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1232
+#: wt-status.c:1241
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1234
+#: wt-status.c:1243
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1237
+#: wt-status.c:1246
 msgid ""
 "  (use \"git am --allow-empty\" to record this patch as an empty commit)"
 msgstr "  (使用 \"git am --allow-empty\" 将这个补丁记录为空提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1239
+#: wt-status.c:1248
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1372
+#: wt-status.c:1381
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1374
+#: wt-status.c:1383
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1377
+#: wt-status.c:1386
 #, c-format
-msgid "Last command done (%d command done):"
-msgid_plural "Last commands done (%d commands done):"
-msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
-msgstr[1] "最后的命令已完成(%d 条命令被执行):"
+msgid "Last command done (%<PRIuMAX> command done):"
+msgid_plural "Last commands done (%<PRIuMAX> commands done):"
+msgstr[0] "最后完成的命令(%<PRIuMAX> 条命令被执行):"
+msgstr[1] "最后完成的命令(%<PRIuMAX> 条命令被执行):"
 
-#: wt-status.c:1388
+#: wt-status.c:1397
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1393
+#: wt-status.c:1402
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1396
+#: wt-status.c:1405
 #, c-format
-msgid "Next command to do (%d remaining command):"
-msgid_plural "Next commands to do (%d remaining commands):"
-msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
-msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
+msgid "Next command to do (%<PRIuMAX> remaining command):"
+msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
+msgstr[0] "接下来要执行的命令(剩余 %<PRIuMAX> 条命令):"
+msgstr[1] "接下来要执行的命令(剩余 %<PRIuMAX> 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1404
+#: wt-status.c:1413
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1416
+#: wt-status.c:1425
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1421
+#: wt-status.c:1430
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1434
+#: wt-status.c:1443
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1436
+#: wt-status.c:1445
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1438
+#: wt-status.c:1447
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1445
+#: wt-status.c:1454
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1449
+#: wt-status.c:1458
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1454
+#: wt-status.c:1463
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1457
+#: wt-status.c:1466
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1461
+#: wt-status.c:1470
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1466
+#: wt-status.c:1475
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1469
+#: wt-status.c:1478
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1471
+#: wt-status.c:1480
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1482
+#: wt-status.c:1491
 msgid "Cherry-pick currently in progress."
 msgstr "拣选操作正在进行中。"
 
-#: wt-status.c:1485
+#: wt-status.c:1494
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1492
+#: wt-status.c:1501
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1495
+#: wt-status.c:1504
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (执行 \"git cherry-pick --continue\" 以继续)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1498
+#: wt-status.c:1507
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1500
+#: wt-status.c:1509
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (使用 \"git cherry-pick --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1502
+#: wt-status.c:1511
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1512
+#: wt-status.c:1521
 msgid "Revert currently in progress."
 msgstr "还原操作正在行中。"
 
-#: wt-status.c:1515
+#: wt-status.c:1524
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1521
+#: wt-status.c:1530
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并执行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1524
+#: wt-status.c:1533
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (执行 \"git revert --continue\" 以继续)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1527
+#: wt-status.c:1536
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:执行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1529
+#: wt-status.c:1538
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (使用 \"git revert --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1531
+#: wt-status.c:1540
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1541
+#: wt-status.c:1550
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1545
+#: wt-status.c:1554
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1548
+#: wt-status.c:1557
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1559
+#: wt-status.c:1568
 msgid "You are in a sparse checkout."
 msgstr "您处于一个稀疏检出中。"
 
-#: wt-status.c:1562
+#: wt-status.c:1571
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr "您处于稀疏检出状态,包含 %d%% 的跟踪文件"
 
-#: wt-status.c:1806
+#: wt-status.c:1815
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1813
+#: wt-status.c:1822
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1815
+#: wt-status.c:1824
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1820
+#: wt-status.c:1829
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1822
+#: wt-status.c:1831
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1825
+#: wt-status.c:1834
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1842
+#: wt-status.c:1851
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1843
+#: wt-status.c:1852
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1857
+#: wt-status.c:1866
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1859
+#: wt-status.c:1868
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1863
+#: wt-status.c:1872
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -10151,94 +10393,94 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1869
+#: wt-status.c:1878
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1871
+#: wt-status.c:1880
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1877
+#: wt-status.c:1886
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1882
+#: wt-status.c:1891
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: wt-status.c:1886
+#: wt-status.c:1895
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1890
+#: wt-status.c:1899
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1894
+#: wt-status.c:1903
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
-#: wt-status.c:1898
+#: wt-status.c:1907
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1902 wt-status.c:1908
+#: wt-status.c:1911 wt-status.c:1917
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
-#: wt-status.c:1905
+#: wt-status.c:1914
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
-#: wt-status.c:1910
+#: wt-status.c:1919
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:2015
+#: wt-status.c:2024
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:2019
+#: wt-status.c:2028
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:2050
+#: wt-status.c:2059
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:2052 wt-status.c:2060
+#: wt-status.c:2061 wt-status.c:2069
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:2055 wt-status.c:2058
+#: wt-status.c:2064 wt-status.c:2067
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2596
+#: wt-status.c:2605
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2602
+#: wt-status.c:2611
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2604
+#: wt-status.c:2613
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
@@ -10261,145 +10503,149 @@ msgstr "无法启动 accept_thread '%s'"
 msgid "could not start worker[0] for '%s'"
 msgstr "无法启动 '%s' 的 worker[0]"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:347
+#: compat/precompose_utf8.c:58 builtin/clone.c:353
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
 
+#: compat/fsmonitor/fsm-listen-darwin.c:355
+msgid "Unable to create FSEventStream."
+msgstr "无法创建 FSEventStream。"
+
+#: compat/fsmonitor/fsm-listen-darwin.c:403
+msgid "Failed to start the FSEventStream"
+msgstr "无法启动 FSEventStream"
+
 #: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
 
-#: builtin/add.c:64
+#: builtin/add.c:63
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "不能 chmod %cx '%s'"
 
-#: builtin/add.c:106
+#: builtin/add.c:105
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:111 builtin/commit.c:298
+#: builtin/add.c:110 builtin/commit.c:299
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:121
+#: builtin/add.c:120
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:205
+#: builtin/add.c:204
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:313 builtin/rev-parse.c:993
+#: builtin/add.c:312 builtin/rev-parse.c:993
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:326
+#: builtin/add.c:325
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:329
+#: builtin/add.c:328
 msgid "editing patch failed"
 msgstr "编辑补丁失败"
 
-#: builtin/add.c:332
+#: builtin/add.c:331
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/add.c:334
+#: builtin/add.c:333
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
-#: builtin/add.c:340
+#: builtin/add.c:339
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:348
+#: builtin/add.c:347
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:368 builtin/clean.c:927 builtin/fetch.c:174 builtin/mv.c:124
+#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1429 builtin/rm.c:244 builtin/send-pack.c:194
+#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:369 builtin/check-ignore.c:22 builtin/commit.c:1484
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2313
+#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
+#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
 #: builtin/mv.c:123 builtin/read-tree.c:120
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: builtin/add.c:371
+#: builtin/add.c:370
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:372 builtin/checkout.c:1581 builtin/reset.c:409
+#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:373
+#: builtin/add.c:372
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:374
+#: builtin/add.c:373
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:375
+#: builtin/add.c:374
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:376
+#: builtin/add.c:375
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "对已跟踪文件(暗含 -u)重新归一换行符"
 
-#: builtin/add.c:377
+#: builtin/add.c:376
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:378
+#: builtin/add.c:377
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:381
+#: builtin/add.c:380
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/add.c:383
+#: builtin/add.c:382
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:384
+#: builtin/add.c:383
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:385
+#: builtin/add.c:384
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:386 builtin/mv.c:128 builtin/rm.c:251
+#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
 msgid "allow updating entries outside of the sparse-checkout cone"
 msgstr "允许更新稀疏检出锥以外的条目"
 
-#: builtin/add.c:388 builtin/update-index.c:1004
+#: builtin/add.c:387 builtin/update-index.c:1023
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:390
+#: builtin/add.c:389
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:392
-msgid "backend for `git stash -p`"
-msgstr "`git stash -p` 的后端"
-
-#: builtin/add.c:410
+#: builtin/add.c:407
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10427,12 +10673,12 @@ msgstr ""
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:439
+#: builtin/add.c:436
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:459
+#: builtin/add.c:456
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10442,27 +10688,27 @@ msgstr ""
 "运行下面的命令来关闭本消息\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:474
+#: builtin/add.c:471
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:548
+#: builtin/add.c:534
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:569 builtin/checkout.c:1751 builtin/commit.c:364
-#: builtin/reset.c:429 builtin/rm.c:275 builtin/stash.c:1713
+#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
+#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
 #, c-format
 msgid "'%s' and pathspec arguments cannot be used together"
 msgstr "'%s' 和路径规格参数不能同时使用"
 
-#: builtin/add.c:580
+#: builtin/add.c:566
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:582
+#: builtin/add.c:568
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10472,111 +10718,106 @@ msgstr ""
 "运行下面的命令来关闭本消息\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:202
-#, c-format
-msgid "Invalid value for --empty: %s"
-msgstr "--empty 的值无效:%s"
-
-#: builtin/am.c:392
+#: builtin/am.c:393
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
-#: builtin/am.c:482
+#: builtin/am.c:483
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/am.c:524
+#: builtin/am.c:525
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/am.c:562
+#: builtin/am.c:563
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 
-#: builtin/am.c:588
+#: builtin/am.c:589
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:776
+#: builtin/am.c:777
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:841
+#: builtin/am.c:842
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/am.c:889
+#: builtin/am.c:890
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:894 builtin/am.c:906
+#: builtin/am.c:895 builtin/am.c:907
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:901
+#: builtin/am.c:902
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:994
+#: builtin/am.c:995
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:999 builtin/clone.c:300
+#: builtin/am.c:1000 builtin/clone.c:306
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
 
-#: builtin/am.c:1004
+#: builtin/am.c:1005
 msgid "Failed to split patches."
 msgstr "无法拆分补丁。"
 
-#: builtin/am.c:1153
+#: builtin/am.c:1154
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/am.c:1154
+#: builtin/am.c:1155
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/am.c:1159
+#: builtin/am.c:1160
 #, c-format
 msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
 msgstr "若要把空补丁记录为空提交,执行 \"%s --allow-empty\"。"
 
-#: builtin/am.c:1161
+#: builtin/am.c:1162
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/am.c:1256
+#: builtin/am.c:1257
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。"
 
-#: builtin/am.c:1344
+#: builtin/am.c:1345
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "在提交 %s 中缺失作者行"
 
-#: builtin/am.c:1347
+#: builtin/am.c:1348
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1566
+#: builtin/am.c:1567
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/am.c:1568
+#: builtin/am.c:1569
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1587
+#: builtin/am.c:1588
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10584,24 +10825,24 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1593
+#: builtin/am.c:1594
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/am.c:1619
+#: builtin/am.c:1620
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1651
+#: builtin/am.c:1652
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1703 builtin/am.c:1707
+#: builtin/am.c:1704 builtin/am.c:1708
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
-#: builtin/am.c:1725
+#: builtin/am.c:1726
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -10609,57 +10850,57 @@ msgstr "提交内容为:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1735
+#: builtin/am.c:1736
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1781 builtin/commit.c:409
+#: builtin/am.c:1782 builtin/commit.c:410
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1785
+#: builtin/am.c:1786
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/am.c:1827
+#: builtin/am.c:1828
 #, c-format
 msgid "Skipping: %.*s"
 msgstr "跳过:%.*s"
 
-#: builtin/am.c:1832
+#: builtin/am.c:1833
 #, c-format
 msgid "Creating an empty commit: %.*s"
 msgstr "创建空提交:%.*s"
 
-#: builtin/am.c:1836
+#: builtin/am.c:1837
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1847 builtin/am.c:1916
+#: builtin/am.c:1848 builtin/am.c:1917
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1864
+#: builtin/am.c:1865
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1870
+#: builtin/am.c:1871
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1874
+#: builtin/am.c:1875
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr "用 'git am --show-current-patch=diff' 命令查看失败的补丁"
 
-#: builtin/am.c:1920
+#: builtin/am.c:1921
 msgid "No changes - recorded it as an empty commit."
 msgstr "没有变更 —— 记录为空提交。"
 
-#: builtin/am.c:1922
+#: builtin/am.c:1923
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10669,7 +10910,7 @@ msgstr ""
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1930
+#: builtin/am.c:1931
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -10680,183 +10921,174 @@ msgstr ""
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "您可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:2038 builtin/am.c:2042 builtin/am.c:2054 builtin/reset.c:448
-#: builtin/reset.c:456
+#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
+#: builtin/reset.c:463
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:2090 builtin/am.c:2166
+#: builtin/am.c:2091 builtin/am.c:2167
 msgid "failed to clean index"
 msgstr "无法清空索引"
 
-#: builtin/am.c:2134
+#: builtin/am.c:2135
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2242
-#, c-format
-msgid "Invalid value for --patch-format: %s"
-msgstr "无效的 --patch-format 值:%s"
-
-#: builtin/am.c:2285
-#, c-format
-msgid "Invalid value for --show-current-patch: %s"
-msgstr "无效的 --show-current-patch 值:%s"
-
-#: builtin/am.c:2289
+#: builtin/am.c:2292
 #, c-format
 msgid "options '%s=%s' and '%s=%s' cannot be used together"
 msgstr "选项 '%s=%s' 和 '%s=%s' 不能同时使用"
 
-#: builtin/am.c:2320
+#: builtin/am.c:2323
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2324
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2327
+#: builtin/am.c:2330
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2329
+#: builtin/am.c:2332
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2331
+#: builtin/am.c:2334
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2332 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:642 builtin/stash.c:962
+#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
+#: builtin/repack.c:646 builtin/stash.c:946
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2334
+#: builtin/am.c:2337
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "在提交说明中添加 Signed-off-by 尾注"
 
-#: builtin/am.c:2337
+#: builtin/am.c:2340
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2342
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2341
+#: builtin/am.c:2344
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2343
+#: builtin/am.c:2346
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2345
+#: builtin/am.c:2348
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2348
+#: builtin/am.c:2351
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2351
+#: builtin/am.c:2354
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2353
+#: builtin/am.c:2356
 msgid "pass it through git-mailinfo"
 msgstr "传递给 git-mailinfo"
 
-#: builtin/am.c:2356 builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365
-#: builtin/am.c:2368 builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377
-#: builtin/am.c:2383
+#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
+#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
+#: builtin/am.c:2386
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2373 builtin/commit.c:1515 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:919 builtin/merge.c:263
+#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
+#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
 #: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1046 builtin/repack.c:653 builtin/repack.c:657
-#: builtin/repack.c:659 builtin/show-branch.c:649 builtin/show-ref.c:172
-#: builtin/tag.c:445 parse-options.h:154 parse-options.h:175
-#: parse-options.h:317
+#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
+#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
+#: parse-options.h:348
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2379 builtin/branch.c:680 builtin/bugreport.c:109
-#: builtin/for-each-ref.c:41 builtin/replace.c:555 builtin/tag.c:479
-#: builtin/verify-tag.c:38
+#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
+#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
+#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
+#: builtin/tag.c:480 builtin/verify-tag.c:38
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2380
+#: builtin/am.c:2383
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2386
+#: builtin/am.c:2389
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2388
+#: builtin/am.c:2391
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2391
+#: builtin/am.c:2394
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2394
+#: builtin/am.c:2397
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2397
+#: builtin/am.c:2400
 msgid "restore the original branch and abort the patching operation"
 msgstr "恢复原始分支并终止打补丁操作"
 
-#: builtin/am.c:2400
+#: builtin/am.c:2403
 msgid "abort the patching operation but keep HEAD where it is"
 msgstr "终止补丁操作但保持 HEAD 不变"
 
-#: builtin/am.c:2404
+#: builtin/am.c:2407
 msgid "show the patch being applied"
 msgstr "显示正在应用的补丁"
 
-#: builtin/am.c:2408
+#: builtin/am.c:2411
 msgid "record the empty patch as an empty commit"
 msgstr "把空补丁记录为空提交"
 
-#: builtin/am.c:2412
+#: builtin/am.c:2415
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2414
+#: builtin/am.c:2417
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2416 builtin/commit-tree.c:118 builtin/commit.c:1643
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1099
-#: builtin/revert.c:117 builtin/tag.c:460
+#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
+#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
+#: builtin/revert.c:117 builtin/tag.c:461
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2417 builtin/rebase.c:1100
+#: builtin/am.c:2420 builtin/rebase.c:1128
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2420
+#: builtin/am.c:2423
 msgid "how to handle empty patches"
 msgstr "如何处理空补丁"
 
-#: builtin/am.c:2423
+#: builtin/am.c:2426
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2441
+#: builtin/am.c:2444
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -10864,16 +11096,16 @@ msgstr ""
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2448
+#: builtin/am.c:2451
 msgid "failed to read the index"
 msgstr "无法读取索引"
 
-#: builtin/am.c:2463
+#: builtin/am.c:2466
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2487
+#: builtin/am.c:2490
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -10882,11 +11114,11 @@ msgstr ""
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2493
+#: builtin/am.c:2496
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
-#: builtin/am.c:2503
+#: builtin/am.c:2506
 msgid "interactive mode requires patches on the command line"
 msgstr "交互式模式需要命令行上提供补丁"
 
@@ -10923,14 +11155,6 @@ msgstr "git archive:应有一个 flush 包"
 msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr "git bisect--helper --bisect-reset [<提交>]"
 
-#: builtin/bisect--helper.c:25
-msgid ""
-"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
-"term-new]"
-msgstr ""
-"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
-"term-new]"
-
 #: builtin/bisect--helper.c:26
 msgid ""
 "git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
@@ -10940,10 +11164,6 @@ msgstr ""
 "git bisect--helper --bisect-start [--term-{new,bad}=<术语> --term-{old,good}"
 "=<术语>] [--no-checkout] [--first-parent] [<坏> [<好>...]] [--] [<路径>...]"
 
-#: builtin/bisect--helper.c:28
-msgid "git bisect--helper --bisect-next"
-msgstr "git bisect--helper --bisect-next"
-
 #: builtin/bisect--helper.c:29
 msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
 msgstr "git bisect--helper --bisect-state (bad|new) [<版本>]"
@@ -10960,10 +11180,6 @@ msgstr "git bisect--helper --bisect-replay <文件>"
 msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
 msgstr "git bisect--helper --bisect-skip [(<版本>|<范围>)...]"
 
-#: builtin/bisect--helper.c:33
-msgid "git bisect--helper --bisect-visualize"
-msgstr "git bisect--helper --bisect-visualize"
-
 #: builtin/bisect--helper.c:34
 msgid "git bisect--helper --bisect-run <cmd>..."
 msgstr "git bisect--helper --bisect-run <命令>..."
@@ -11181,111 +11397,121 @@ msgstr "'%s'?? 您在说什么?"
 msgid "cannot read file '%s' for replaying"
 msgstr "不能读取文件 '%s' 来重放"
 
-#: builtin/bisect--helper.c:1107 builtin/bisect--helper.c:1274
+#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
+#, c-format
+msgid "running %s\n"
+msgstr "正在执行 %s\n"
+
+#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
 msgid "bisect run failed: no command provided."
 msgstr "二分查找运行失败:没有提供命令。"
 
-#: builtin/bisect--helper.c:1116
+#: builtin/bisect--helper.c:1166
 #, c-format
-msgid "running %s\n"
-msgstr "正在执行 %s\n"
+msgid "unable to verify '%s' on good revision"
+msgstr "无法在好版本中验证 '%s'"
 
-#: builtin/bisect--helper.c:1120
+#: builtin/bisect--helper.c:1172
+#, c-format
+msgid "bogus exit code %d for good revision"
+msgstr "好版本返回错误的退出码 %d"
+
+#: builtin/bisect--helper.c:1180
 #, c-format
 msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
 msgstr "二分查找运行失败:命令 '%2$s' 的退出码 %1$d < 0 或 >= 128"
 
-#: builtin/bisect--helper.c:1136
+#: builtin/bisect--helper.c:1195
 #, c-format
 msgid "cannot open file '%s' for writing"
 msgstr "无法打开文件 '%s' 进行写入"
 
-#: builtin/bisect--helper.c:1152
+#: builtin/bisect--helper.c:1213
 msgid "bisect run cannot continue any more"
 msgstr "二分查找不能继续运行"
 
-#: builtin/bisect--helper.c:1154
+#: builtin/bisect--helper.c:1215
 #, c-format
 msgid "bisect run success"
 msgstr "二分查找运行成功"
 
-#: builtin/bisect--helper.c:1157
+#: builtin/bisect--helper.c:1218
 #, c-format
 msgid "bisect found first bad commit"
 msgstr "二分查找找到了第一个坏的提交"
 
-#: builtin/bisect--helper.c:1160
+#: builtin/bisect--helper.c:1221
 #, c-format
 msgid ""
 "bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
 "code %d"
 msgstr "二分查找运行失败:'git bisect--helper --bisect-state %s' 退出码为 %d"
 
-#: builtin/bisect--helper.c:1192
+#: builtin/bisect--helper.c:1253
 msgid "reset the bisection state"
 msgstr "清除二分查找状态"
 
-#: builtin/bisect--helper.c:1194
+#: builtin/bisect--helper.c:1255
 msgid "check whether bad or good terms exist"
 msgstr "检查坏的或好的术语是否存在"
 
-#: builtin/bisect--helper.c:1196
+#: builtin/bisect--helper.c:1257
 msgid "print out the bisect terms"
 msgstr "打印二分查找术语"
 
-#: builtin/bisect--helper.c:1198
+#: builtin/bisect--helper.c:1259
 msgid "start the bisect session"
 msgstr "启动二分查找过程"
 
-#: builtin/bisect--helper.c:1200
+#: builtin/bisect--helper.c:1261
 msgid "find the next bisection commit"
 msgstr "查询下一个二分查找提交"
 
-#: builtin/bisect--helper.c:1202
+#: builtin/bisect--helper.c:1263
 msgid "mark the state of ref (or refs)"
 msgstr "标记引用的状态"
 
-#: builtin/bisect--helper.c:1204
+#: builtin/bisect--helper.c:1265
 msgid "list the bisection steps so far"
 msgstr "列出到目前为止的二分查找步骤"
 
-#: builtin/bisect--helper.c:1206
+#: builtin/bisect--helper.c:1267
 msgid "replay the bisection process from the given file"
 msgstr "从给定文件重放二分查找进程"
 
-#: builtin/bisect--helper.c:1208
+#: builtin/bisect--helper.c:1269
 msgid "skip some commits for checkout"
 msgstr "跳过要检出的一些提交"
 
-#: builtin/bisect--helper.c:1210
+#: builtin/bisect--helper.c:1271
 msgid "visualize the bisection"
 msgstr "可视化二分查找过程"
 
-#: builtin/bisect--helper.c:1212
-msgid "use <cmd>... to automatically bisect."
-msgstr "使用 <命令>... 来自动二分查找。"
+#: builtin/bisect--helper.c:1273
+msgid "use <cmd>... to automatically bisect"
+msgstr "使用 <命令>... 来自动二分查找"
 
-#: builtin/bisect--helper.c:1214
+#: builtin/bisect--helper.c:1275
 msgid "no log for BISECT_WRITE"
 msgstr "BISECT_WRITE 无日志"
 
-#: builtin/bisect--helper.c:1229
+#: builtin/bisect--helper.c:1290
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset 无需参数或者需要一个提交"
 
-#: builtin/bisect--helper.c:1234
+#: builtin/bisect--helper.c:1295
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms 需要 0 或 1 个参数"
 
-#: builtin/bisect--helper.c:1243
+#: builtin/bisect--helper.c:1304
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next 需要 0 个参数"
 
-#: builtin/bisect--helper.c:1254
+#: builtin/bisect--helper.c:1315
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log 需要 0 个参数"
 
-#: builtin/bisect--helper.c:1259
+#: builtin/bisect--helper.c:1320
 msgid "no logfile given"
 msgstr "未提供日志文件"
 
@@ -11306,142 +11532,133 @@ msgstr "期望一个颜色:%s"
 msgid "must end with a color"
 msgstr "必须以一个颜色结尾"
 
-#: builtin/blame.c:724
-#, c-format
-msgid "invalid color '%s' in color.blame.repeatedLines"
-msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
-
-#: builtin/blame.c:742
-msgid "invalid value for blame.coloring"
-msgstr "设置 blame.coloring 中的无效取值"
-
-#: builtin/blame.c:841
+#: builtin/blame.c:842
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "不能找到要忽略的版本 %s"
 
-#: builtin/blame.c:863
+#: builtin/blame.c:864
 msgid "show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:864
+#: builtin/blame.c:865
 msgid "do not show object names of boundary commits (Default: off)"
 msgstr "不显示边界提交的对象名(默认:关闭)"
 
-#: builtin/blame.c:865
+#: builtin/blame.c:866
 msgid "do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:866
+#: builtin/blame.c:867
 msgid "show work cost statistics"
 msgstr "显示工作消耗统计"
 
-#: builtin/blame.c:867 builtin/checkout.c:1536 builtin/clone.c:94
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:180
+#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
+#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
 #: builtin/merge.c:301 builtin/multi-pack-index.c:103
 #: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
 #: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/send-pack.c:202
+#: builtin/remote.c:683 builtin/send-pack.c:202
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/blame.c:868
+#: builtin/blame.c:869
 msgid "show output score for blame entries"
 msgstr "显示 blame 条目的输出得分"
 
-#: builtin/blame.c:869
+#: builtin/blame.c:870
 msgid "show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:870
+#: builtin/blame.c:871
 msgid "show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:871
+#: builtin/blame.c:872
 msgid "show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:872
+#: builtin/blame.c:873
 msgid "show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:873
+#: builtin/blame.c:874
 msgid "use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:875
 msgid "show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:876
 msgid "show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:877
 msgid "suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:878
 msgid "show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:878
+#: builtin/blame.c:879
 msgid "ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:879 builtin/log.c:1838
+#: builtin/blame.c:880 builtin/log.c:1857
 msgid "rev"
 msgstr "版本"
 
-#: builtin/blame.c:879
+#: builtin/blame.c:880
 msgid "ignore <rev> when blaming"
 msgstr "在执行 blame 操作时忽略 <版本>"
 
-#: builtin/blame.c:880
+#: builtin/blame.c:881
 msgid "ignore revisions from <file>"
 msgstr "忽略来自 <文件> 中的版本"
 
-#: builtin/blame.c:881
+#: builtin/blame.c:882
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
-#: builtin/blame.c:882
+#: builtin/blame.c:883
 msgid "color lines by age"
 msgstr "依据时间着色"
 
-#: builtin/blame.c:883
+#: builtin/blame.c:884
 msgid "spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:884
+#: builtin/blame.c:885
 msgid "use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:885
+#: builtin/blame.c:886
 msgid "use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的镜像"
 
-#: builtin/blame.c:886 builtin/blame.c:887
+#: builtin/blame.c:887 builtin/blame.c:888
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:886
+#: builtin/blame.c:887
 msgid "find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:887
+#: builtin/blame.c:888
 msgid "find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:888
+#: builtin/blame.c:889
 msgid "range"
 msgstr "范围"
 
-#: builtin/blame.c:889
+#: builtin/blame.c:890
 msgid "process only line range <start>,<end> or function :<funcname>"
 msgstr "只处理在 <开始>,<结束> 范围内的行,或者函数:<函数名>"
 
-#: builtin/blame.c:947
+#: builtin/blame.c:949
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或机器内部格式一起使用"
 
@@ -11453,18 +11670,18 @@ msgstr "--progress 不能和 --incremental 或机器内部格式一起使用"
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:998
+#: builtin/blame.c:1000
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:1114
+#: builtin/blame.c:1116
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "文件 %s 只有 %lu 行"
 msgstr[1] "文件 %s 只有 %lu 行"
 
-#: builtin/blame.c:1159
+#: builtin/blame.c:1161
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
@@ -11473,31 +11690,37 @@ msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged] [--no-merged]"
 
 #: builtin/branch.c:30
-msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
-msgstr "git branch [<选项>] [-l] [-f] <分支名> [<起始点>]"
+msgid ""
+"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
+"point>]"
+msgstr "git branch [<选项>] [-f] [--recurse-submodules] <分支名> [<起始点>]"
 
 #: builtin/branch.c:31
+msgid "git branch [<options>] [-l] [<pattern>...]"
+msgstr "git branch [<选项>] [-l] [<模式>...]"
+
+#: builtin/branch.c:32
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<选项>] [-r] (-d | -D) <分支名>..."
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-m | -M) [<旧分支>] <新分支>"
 
-#: builtin/branch.c:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-c | -C) [<老分支>] <新分支>"
 
-#: builtin/branch.c:34
+#: builtin/branch.c:35
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<选项>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:35
+#: builtin/branch.c:36
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<选项>] [-r | -a] [--format]"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:153
+#: builtin/branch.c:165
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -11507,7 +11730,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:157
+#: builtin/branch.c:169
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -11516,12 +11739,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:171
+#: builtin/branch.c:183
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:175
+#: builtin/branch.c:187
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -11530,111 +11753,111 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:188
+#: builtin/branch.c:200
 msgid "Update of config-file failed"
 msgstr "更新配置文件失败"
 
-#: builtin/branch.c:223
+#: builtin/branch.c:235
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:230
+#: builtin/branch.c:242
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:247
+#: builtin/branch.c:259
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "无法删除检出于 '%2$s' 的分支 '%1$s'。"
 
-#: builtin/branch.c:262
+#: builtin/branch.c:274
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "未能找到远程跟踪分支 '%s'。"
 
-#: builtin/branch.c:263
+#: builtin/branch.c:275
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:294
+#: builtin/branch.c:306
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:295
+#: builtin/branch.c:307
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:445 builtin/tag.c:63
+#: builtin/branch.c:457 builtin/tag.c:64
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
-#: builtin/branch.c:476
+#: builtin/branch.c:488
 msgid "could not resolve HEAD"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/branch.c:482
+#: builtin/branch.c:494
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) 指向 refs/heads/ 之外"
 
-#: builtin/branch.c:497
+#: builtin/branch.c:509
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:501
+#: builtin/branch.c:513
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:518
+#: builtin/branch.c:530
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:520
+#: builtin/branch.c:532
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:531
+#: builtin/branch.c:543
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:572
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:562
+#: builtin/branch.c:574
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:566
+#: builtin/branch.c:578
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
-#: builtin/branch.c:569
+#: builtin/branch.c:581
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
-#: builtin/branch.c:575
+#: builtin/branch.c:587
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:584
+#: builtin/branch.c:596
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
-#: builtin/branch.c:586
+#: builtin/branch.c:598
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:614
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11645,205 +11868,221 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:651
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:653
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:654
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:656 builtin/checkout.c:1571
+#: builtin/submodule--helper.c:3077
 msgid "set branch tracking configuration"
 msgstr "设置分支跟踪配置"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:659
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:661
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:661
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:662
 msgid "unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:663
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:664
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:652 builtin/branch.c:654
+#: builtin/branch.c:666 builtin/branch.c:668
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:653 builtin/branch.c:655
+#: builtin/branch.c:667 builtin/branch.c:669
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
-#: builtin/branch.c:658
+#: builtin/branch.c:672
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:673
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:675
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:676
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:677
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:678
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:679
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:666
+#: builtin/branch.c:680
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:681
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:682
 msgid "show current branch name"
 msgstr "显示当前分支名"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:683 builtin/submodule--helper.c:3075
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:685
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:686
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:687
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:688
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:689
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:677 builtin/for-each-ref.c:45 builtin/notes.c:413
+#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
 #: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:475
+#: builtin/tag.c:476
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:692
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:679 builtin/for-each-ref.c:51 builtin/tag.c:482
+#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:680 builtin/for-each-ref.c:41 builtin/tag.c:480
-#: builtin/verify-tag.c:38
+#: builtin/branch.c:694 builtin/ls-files.c:667
+msgid "recurse through submodules"
+msgstr "在子模组中递归"
+
+#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
+#: builtin/tag.c:481 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:703 builtin/clone.c:678
+#: builtin/branch.c:718 builtin/clone.c:684
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:742 builtin/branch.c:798 builtin/branch.c:807
+#: builtin/branch.c:739
+msgid ""
+"branch with --recurse-submodules can only be used if submodule."
+"propagateBranches is enabled"
+msgstr ""
+"带有 --recurse-submodules 的分支只能在 submodule.propagateBranches 启用时使用"
+
+#: builtin/branch.c:741
+msgid "--recurse-submodules can only be used to create branches"
+msgstr "--recurse-submodules 只能用于创建分支"
+
+#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:774
+#: builtin/branch.c:802
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:807
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:786
+#: builtin/branch.c:814
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:817
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:832
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:841
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:818
+#: builtin/branch.c:846
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:822
+#: builtin/branch.c:850
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s,因为 HEAD 没有指向任何分支。"
 
-#: builtin/branch.c:825 builtin/branch.c:848
+#: builtin/branch.c:853 builtin/branch.c:873
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:829
+#: builtin/branch.c:857
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:842
+#: builtin/branch.c:867
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:871
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:852
+#: builtin/branch.c:877
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:862
+#: builtin/branch.c:890
 msgid ""
 "The -a, and -r, options to 'git branch' do not take a branch name.\n"
 "Did you mean to use: -a|-r --list <pattern>?"
@@ -11851,7 +12090,7 @@ msgstr ""
 "'git branch' 的 -a 和 -r 选项不带一个分支名。\n"
 "您是否想要使用:-a|-r --list <模式>?"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:894
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -11964,19 +12203,19 @@ msgstr "git bundle list-heads <文件> [<引用名>...]"
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <文件> [<引用名>...]"
 
-#: builtin/bundle.c:65 builtin/pack-objects.c:3876
+#: builtin/bundle.c:65 builtin/pack-objects.c:3899
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/bundle.c:67 builtin/bundle.c:167 builtin/pack-objects.c:3878
+#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3880
+#: builtin/bundle.c:69 builtin/pack-objects.c:3903
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/bundle.c:72 builtin/pack-objects.c:3883
+#: builtin/bundle.c:72 builtin/pack-objects.c:3906
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
@@ -11988,111 +12227,223 @@ msgstr "指定归档包的格式版本"
 msgid "Need a repository to create a bundle."
 msgstr "需要一个仓库来创建归档包。"
 
-#: builtin/bundle.c:107
+#: builtin/bundle.c:108
 msgid "do not show bundle details"
 msgstr "不显示归档包的细节"
 
-#: builtin/bundle.c:126
+#: builtin/bundle.c:127
 #, c-format
 msgid "%s is okay\n"
 msgstr "%s 可以\n"
 
-#: builtin/bundle.c:182
+#: builtin/bundle.c:183
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解开归档包。"
 
-#: builtin/bundle.c:185
+#: builtin/bundle.c:186
 msgid "Unbundling objects"
 msgstr "解包对象中"
 
-#: builtin/bundle.c:219 builtin/remote.c:1733
+#: builtin/bundle.c:220 builtin/remote.c:1758
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/cat-file.c:622
+#: builtin/cat-file.c:568
+msgid "flush is only for --buffer mode"
+msgstr "flush 只在 --buffer 模式中使用"
+
+#: builtin/cat-file.c:612
+msgid "empty command in input"
+msgstr "输入为空的命令"
+
+#: builtin/cat-file.c:614
+#, c-format
+msgid "whitespace before command: '%s'"
+msgstr "命令前存在空白:'%s'"
+
+#: builtin/cat-file.c:623
+#, c-format
+msgid "%s requires arguments"
+msgstr "%s 需要参数"
+
+#: builtin/cat-file.c:628
+#, c-format
+msgid "%s takes no arguments"
+msgstr "%s 不需要参数"
+
+#: builtin/cat-file.c:636
+#, c-format
+msgid "unknown command: '%s'"
+msgstr "未知命令:'%s'"
+
+#: builtin/cat-file.c:795
+msgid "only one batch option may be specified"
+msgstr "只能指定一个批处理选项"
+
+#: builtin/cat-file.c:824
+msgid "git cat-file <type> <object>"
+msgstr "git cat-file <类型> <对象>"
+
+#: builtin/cat-file.c:825
+msgid "git cat-file (-e | -p) <object>"
+msgstr "git cat-file (-e | -p) <对象>"
+
+#: builtin/cat-file.c:826
+msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
+msgstr "git cat-file (-t | -s) [--allow-unknown-type] <对象>"
+
+#: builtin/cat-file.c:827
 msgid ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <type> | --textconv | --filters) [--path=<path>] <object>"
+"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
+"objects]\n"
+"             [--buffer] [--follow-symlinks] [--unordered]\n"
+"             [--textconv | --filters]"
 msgstr ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
+"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
+"objects]\n"
+"             [--buffer] [--follow-symlinks] [--unordered]\n"
+"             [--textconv | --filters]"
 
-#: builtin/cat-file.c:623
+#: builtin/cat-file.c:830
 msgid ""
-"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
-"symlinks] [--textconv | --filters]"
+"git cat-file (--textconv | --filters)\n"
+"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
 msgstr ""
-"git cat-file (--batch[=<格式>] | --batch-check[=<格式>]) [--follow-symlinks] "
-"[--textconv | --filters]"
+"git cat-file (--textconv | --filters)\n"
+"             [<版本>:<路径|树对象> | --path=<路径|树对象> <版本>]"
 
-#: builtin/cat-file.c:644
-msgid "only one batch option may be specified"
-msgstr "只能指定一个批处理选项"
+#: builtin/cat-file.c:836
+msgid "Check object existence or emit object contents"
+msgstr "检查对象存在或输出对象内容"
 
-#: builtin/cat-file.c:662
-msgid "<type> can be one of: blob, tree, commit, tag"
-msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
+#: builtin/cat-file.c:838
+msgid "check if <object> exists"
+msgstr "检查 <对象> 是否存在"
 
-#: builtin/cat-file.c:663
-msgid "show object type"
-msgstr "显示对象类型"
+#: builtin/cat-file.c:839
+msgid "pretty-print <object> content"
+msgstr "美观地打印 <对象> 的内容"
 
-#: builtin/cat-file.c:664
+#: builtin/cat-file.c:841
+msgid "Emit [broken] object attributes"
+msgstr "输出 [坏的] 对象属性"
+
+#: builtin/cat-file.c:842
+msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
+msgstr "显示对象的类型('blob'、'tree'、'commit'、'tag'……其中之一)"
+
+#: builtin/cat-file.c:843
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:666
-msgid "exit with zero when there's no error"
-msgstr "当没有错误时退出并返回零"
+#: builtin/cat-file.c:845
+msgid "allow -s and -t to work with broken/corrupt objects"
+msgstr "允许 -s 和 -t 对损坏的对象生效"
 
-#: builtin/cat-file.c:667
-msgid "pretty-print object's content"
-msgstr "美观地打印对象的内容"
+#: builtin/cat-file.c:847
+msgid "Batch objects requested on stdin (or --batch-all-objects)"
+msgstr "批量处理标准输入中请求的对象(或者 --batch-all-objects)"
 
-#: builtin/cat-file.c:669
-msgid "for blob objects, run textconv on object's content"
-msgstr "对于数据对象,对其内容做文本转换"
+#: builtin/cat-file.c:849
+msgid "show full <object> or <rev> contents"
+msgstr "显示完整的 <对象> 或 <版本> 内容"
 
-#: builtin/cat-file.c:671
-msgid "for blob objects, run filters on object's content"
-msgstr "对于数据对象,对其内容做过滤"
+#: builtin/cat-file.c:853
+msgid "like --batch, but don't emit <contents>"
+msgstr "类似于 --batch,但不输出 <内容>"
 
-#: builtin/cat-file.c:672
-msgid "blob"
-msgstr "数据对象"
+#: builtin/cat-file.c:857
+msgid "read commands from stdin"
+msgstr "从标准输入读取命令"
 
-#: builtin/cat-file.c:673
-msgid "use a specific path for --textconv/--filters"
-msgstr "对于 --textconv/--filters 使用一个特定的路径"
+#: builtin/cat-file.c:861
+msgid "with --batch[-check]: ignores stdin, batches all known objects"
+msgstr "带有 --batch[-check]:忽略标准输入,批量处理所有已知的对象"
 
-#: builtin/cat-file.c:675
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr "允许 -s 和 -t 对损坏的对象生效"
+#: builtin/cat-file.c:863
+msgid "Change or optimize batch output"
+msgstr "更改或优化批处理输出"
 
-#: builtin/cat-file.c:676
+#: builtin/cat-file.c:864
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
-#: builtin/cat-file.c:678
-msgid "show info and content of objects fed from the standard input"
-msgstr "显示从标准输入提供的对象的信息和内容"
+#: builtin/cat-file.c:866
+msgid "follow in-tree symlinks"
+msgstr "跟随树内符号链接"
+
+#: builtin/cat-file.c:868
+msgid "do not order objects before emitting them"
+msgstr "在输出对象前不要排序"
+
+#: builtin/cat-file.c:870
+msgid ""
+"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
+"batch)"
+msgstr "转换或过滤后输出对象(数据对象或树)(单独或批处理)"
+
+#: builtin/cat-file.c:872
+msgid "run textconv on object's content"
+msgstr "对对象内容做文本转换"
+
+#: builtin/cat-file.c:874
+msgid "run filters on object's content"
+msgstr "对对象内容做过滤"
+
+#: builtin/cat-file.c:875
+msgid "blob|tree"
+msgstr "数据对象|树"
+
+#: builtin/cat-file.c:876
+msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
+msgstr "(--textconv | --filters) 使用 <路径>;而不是 'batch'"
+
+#: builtin/cat-file.c:894
+#, c-format
+msgid "'%s=<%s>' needs '%s' or '%s'"
+msgstr "'%s=<%s>' 需要 '%s' 或 '%s'"
+
+#: builtin/cat-file.c:896
+msgid "path|tree-ish"
+msgstr "路径|树对象"
+
+#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
+#, c-format
+msgid "'%s' requires a batch mode"
+msgstr "'%s' 需要批处理模式"
 
-#: builtin/cat-file.c:682
-msgid "show info about objects fed from the standard input"
-msgstr "显示从标准输入提供的对象的信息"
+#: builtin/cat-file.c:921
+#, c-format
+msgid "'-%c' is incompatible with batch mode"
+msgstr "'-%c' 与批处理模式不兼容"
 
-#: builtin/cat-file.c:686
-msgid "follow in-tree symlinks (used with --batch or --batch-check)"
-msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
+#: builtin/cat-file.c:924
+msgid "batch modes take no arguments"
+msgstr "批处理模式不带其他参数"
 
-#: builtin/cat-file.c:688
-msgid "show all objects with --batch or --batch-check"
-msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
+#: builtin/cat-file.c:932 builtin/cat-file.c:935
+#, c-format
+msgid "<rev> required with '%s'"
+msgstr "'%s' 需要 <版本>"
 
-#: builtin/cat-file.c:690
-msgid "do not order --batch-all-objects output"
-msgstr "不要对 --batch-all-objects 的输出排序"
+#: builtin/cat-file.c:938
+#, c-format
+msgid "<object> required with '-%c'"
+msgstr "'-%c' 需要 <对象>"
+
+#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
+#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
+#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
+#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
+#: builtin/tag.c:592
+msgid "too many arguments"
+msgstr "太多参数"
+
+#: builtin/cat-file.c:947
+#, c-format
+msgid "only two arguments allowed in <type> <object> mode, not %d"
+msgstr "<类型> <对象> 模式只允许两个参数,而不是 %d 个"
 
 #: builtin/check-attr.c:13
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
@@ -12110,7 +12461,7 @@ msgstr "报告设置在文件上的所有属性"
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:100
+#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
@@ -12118,8 +12469,8 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1532 builtin/gc.c:550
-#: builtin/worktree.c:493
+#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
+#: builtin/worktree.c:565
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -12176,161 +12527,165 @@ msgstr "未指定联系地址"
 msgid "git checkout--worker [<options>]"
 msgstr "git checkout--worker [<选项>]"
 
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1864
-#: builtin/submodule--helper.c:1867 builtin/submodule--helper.c:1875
-#: builtin/submodule--helper.c:2511 builtin/submodule--helper.c:2577
-#: builtin/worktree.c:491 builtin/worktree.c:728
+#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
+#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
+#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
+#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
+#: builtin/worktree.c:808
 msgid "string"
 msgstr "字符串"
 
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:202
+#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
 msgid "when creating files, prepend <string>"
 msgstr "在创建文件时,在前面加上 <字符串>"
 
-#: builtin/checkout-index.c:152
+#: builtin/checkout-index.c:184
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
 
-#: builtin/checkout-index.c:169
+#: builtin/checkout-index.c:201
 msgid "stage should be between 1 and 3 or all"
 msgstr "索引值应该取值 1 到 3 或者 all"
 
-#: builtin/checkout-index.c:187
+#: builtin/checkout-index.c:219
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:221
+msgid "do not skip files with skip-worktree set"
+msgstr "在 skip-worktree 设置时不要跳过文件"
+
+#: builtin/checkout-index.c:222
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
-#: builtin/checkout-index.c:190
+#: builtin/checkout-index.c:224
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
-#: builtin/checkout-index.c:192
+#: builtin/checkout-index.c:226
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
-#: builtin/checkout-index.c:194
+#: builtin/checkout-index.c:228
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
-#: builtin/checkout-index.c:198
+#: builtin/checkout-index.c:232
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
-#: builtin/checkout-index.c:200
+#: builtin/checkout-index.c:234
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
-#: builtin/checkout-index.c:204
+#: builtin/checkout-index.c:238
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:34
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:34
+#: builtin/checkout.c:35
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:39
+#: builtin/checkout.c:40
 msgid "git switch [<options>] [<branch>]"
 msgstr "git switch [<选项>] [<分支>]"
 
-#: builtin/checkout.c:44
+#: builtin/checkout.c:45
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<选项>] [--source=<分支>] <文件>..."
 
-#: builtin/checkout.c:198 builtin/checkout.c:237
+#: builtin/checkout.c:199 builtin/checkout.c:238
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:200 builtin/checkout.c:239
+#: builtin/checkout.c:201 builtin/checkout.c:240
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:216
+#: builtin/checkout.c:217
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必需的版本"
 
-#: builtin/checkout.c:269
+#: builtin/checkout.c:271
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必需的版本"
 
-#: builtin/checkout.c:286
+#: builtin/checkout.c:291
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:302
+#: builtin/checkout.c:307
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:419
+#: builtin/checkout.c:424
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "重新创建了 %d 个合并冲突"
 msgstr[1] "重新创建了 %d 个合并冲突"
 
-#: builtin/checkout.c:424
+#: builtin/checkout.c:429
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "从 %2$s 更新了 %1$d 个路径"
 msgstr[1] "从 %2$s 更新了 %1$d 个路径"
 
-#: builtin/checkout.c:431
+#: builtin/checkout.c:436
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "从索引区更新了 %d 个路径"
 msgstr[1] "从索引区更新了 %d 个路径"
 
-#: builtin/checkout.c:454 builtin/checkout.c:457 builtin/checkout.c:460
-#: builtin/checkout.c:464
+#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
+#: builtin/checkout.c:469
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:474
+#: builtin/checkout.c:479
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:478
+#: builtin/checkout.c:483
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "'%s' 或 '%s' 都没有指定"
 
-#: builtin/checkout.c:482
+#: builtin/checkout.c:487
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "未指定 '%2$s' 时,必须使用 '%1$s'"
 
-#: builtin/checkout.c:487 builtin/checkout.c:492
+#: builtin/checkout.c:492 builtin/checkout.c:497
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' 或 '%s' 不能和 %s 一起使用"
 
-#: builtin/checkout.c:566 builtin/checkout.c:573
+#: builtin/checkout.c:571 builtin/checkout.c:578
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:747
+#: builtin/checkout.c:753
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:797
+#: builtin/checkout.c:809
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -12339,51 +12694,51 @@ msgstr ""
 "不能继续,下列文件有暂存的修改:\n"
 "%s"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:902
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:934
+#: builtin/checkout.c:947
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:938 builtin/clone.c:609 t/helper/test-fast-rebase.c:203
+#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:942
+#: builtin/checkout.c:955
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:958
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:949
+#: builtin/checkout.c:962
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:951 builtin/checkout.c:1388
+#: builtin/checkout.c:964 builtin/checkout.c:1398
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:953
+#: builtin/checkout.c:966
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:1004
+#: builtin/checkout.c:1017
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:1010
+#: builtin/checkout.c:1023
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -12404,7 +12759,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1029
+#: builtin/checkout.c:1042
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12431,19 +12786,19 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:1064
+#: builtin/checkout.c:1077
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:1068
+#: builtin/checkout.c:1081
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:1114 builtin/checkout.c:1383
+#: builtin/checkout.c:1124 builtin/checkout.c:1393
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:1196
+#: builtin/checkout.c:1206
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12452,7 +12807,7 @@ msgstr ""
 "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n"
 "请使用 --(和可选的 --no-guess)来消除歧义"
 
-#: builtin/checkout.c:1203
+#: builtin/checkout.c:1213
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
@@ -12471,51 +12826,56 @@ msgstr ""
 "如果您总是喜欢使用模糊的简短分支名 <名称>,而不喜欢如 'origin' 的远程\n"
 "名称,可以在配置中设置 checkout.defaultRemote=origin。"
 
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1223
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "'%s' 匹配多个(%d 个)远程跟踪分支"
 
-#: builtin/checkout.c:1279
+#: builtin/checkout.c:1289
 msgid "only one reference expected"
 msgstr "只期望一个引用"
 
-#: builtin/checkout.c:1296
+#: builtin/checkout.c:1306
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1342 builtin/worktree.c:269 builtin/worktree.c:436
+#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1355 builtin/checkout.c:1725
+#: builtin/checkout.c:1365 builtin/checkout.c:1744
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1402
+#: builtin/checkout.c:1413
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "期望一个分支,得到标签 '%s'"
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1415
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "期望一个分支,得到远程分支 '%s'"
 
-#: builtin/checkout.c:1405 builtin/checkout.c:1413
+#: builtin/checkout.c:1417 builtin/checkout.c:1426
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "期望一个分支,得到 '%s'"
 
-#: builtin/checkout.c:1408
+#: builtin/checkout.c:1420
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "期望一个分支,得到提交 '%s'"
 
-#: builtin/checkout.c:1424
+#: builtin/checkout.c:1429
+msgid ""
+"If you want to detach HEAD at the commit, try again with the --detach option."
+msgstr "如果你在本提交分离头指针,使用 --detach 选项重试。"
+
+#: builtin/checkout.c:1442
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12523,7 +12883,7 @@ msgstr ""
 "不能在合并时切换分支\n"
 "考虑使用 \"git merge --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1428
+#: builtin/checkout.c:1446
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12531,7 +12891,7 @@ msgstr ""
 "不能在一个 am 会话期间切换分支\n"
 "考虑使用 \"git am --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1432
+#: builtin/checkout.c:1450
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12539,7 +12899,7 @@ msgstr ""
 "不能在变基时切换分支\n"
 "考虑使用 \"git rebase --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1436
+#: builtin/checkout.c:1454
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12547,7 +12907,7 @@ msgstr ""
 "不能在拣选时切换分支\n"
 "考虑使用 \"git cherry-pick --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1458
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12555,196 +12915,192 @@ msgstr ""
 "不能在还原时切换分支\n"
 "考虑使用 \"git revert --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1444
+#: builtin/checkout.c:1462
 msgid "you are switching branch while bisecting"
 msgstr "您在执行二分查找时切换分支"
 
-#: builtin/checkout.c:1451
+#: builtin/checkout.c:1469
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1454 builtin/checkout.c:1458 builtin/checkout.c:1462
+#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1466 builtin/checkout.c:1469 builtin/checkout.c:1472
-#: builtin/checkout.c:1477 builtin/checkout.c:1482
+#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
+#: builtin/checkout.c:1495 builtin/checkout.c:1500
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1479
+#: builtin/checkout.c:1497
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' 不带 <起始点>"
 
-#: builtin/checkout.c:1487
+#: builtin/checkout.c:1505
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1494
+#: builtin/checkout.c:1512
 msgid "missing branch or commit argument"
 msgstr "缺少分支或提交参数"
 
-#: builtin/checkout.c:1537
+#: builtin/checkout.c:1555
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1538 builtin/log.c:1825 parse-options.h:323
+#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1539
+#: builtin/checkout.c:1557
 msgid "conflict style (merge, diff3, or zdiff3)"
 msgstr "冲突输出风格(merge、diff3 或 zdiff3)"
 
-#: builtin/checkout.c:1551 builtin/worktree.c:488
+#: builtin/checkout.c:1569 builtin/worktree.c:560
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1553
-msgid "set up tracking mode (see git-pull(1))"
-msgstr "设置跟踪模式(参见 git-pull(1))"
-
-#: builtin/checkout.c:1556
+#: builtin/checkout.c:1574
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1558
+#: builtin/checkout.c:1576
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1558
+#: builtin/checkout.c:1576
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1560 builtin/merge.c:305
+#: builtin/checkout.c:1578 builtin/merge.c:305
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1563
+#: builtin/checkout.c:1581
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1576
+#: builtin/checkout.c:1594
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1579
+#: builtin/checkout.c:1597
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1583
+#: builtin/checkout.c:1601
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1640
+#: builtin/checkout.c:1659
 #, c-format
 msgid "options '-%c', '-%c', and '%s' cannot be used together"
 msgstr "选项 '-%c'、'-%c' 和 ‘%s' 不能同时使用"
 
-#: builtin/checkout.c:1681
+#: builtin/checkout.c:1700
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1686
+#: builtin/checkout.c:1705
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "缺少分支名,尝试 -%c"
 
-#: builtin/checkout.c:1718
+#: builtin/checkout.c:1737
 #, c-format
 msgid "could not resolve %s"
 msgstr "无法解析 %s"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1753
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1741
+#: builtin/checkout.c:1760
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
-#: builtin/checkout.c:1745
+#: builtin/checkout.c:1764
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1770
+#: builtin/checkout.c:1789
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
-#: builtin/checkout.c:1775
+#: builtin/checkout.c:1794
 msgid "you must specify path(s) to restore"
 msgstr "您必须指定一个要恢复的路径"
 
-#: builtin/checkout.c:1800 builtin/checkout.c:1802 builtin/checkout.c:1854
-#: builtin/checkout.c:1856 builtin/clone.c:126 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2959
-#: builtin/submodule--helper.c:3253 builtin/worktree.c:484
-#: builtin/worktree.c:486
+#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
+#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
+#: builtin/remote.c:173 builtin/submodule--helper.c:3038
+#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
+#: builtin/worktree.c:558
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1801
+#: builtin/checkout.c:1820
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1803
+#: builtin/checkout.c:1822
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1804
+#: builtin/checkout.c:1823
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1806
+#: builtin/checkout.c:1825
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "二次猜测 'git checkout <无此分支>'(默认)"
 
-#: builtin/checkout.c:1807
+#: builtin/checkout.c:1826
 msgid "use overlay mode (default)"
 msgstr "使用叠加模式(默认)"
 
-#: builtin/checkout.c:1855
+#: builtin/checkout.c:1874
 msgid "create and switch to a new branch"
 msgstr "创建并切换一个新分支"
 
-#: builtin/checkout.c:1857
+#: builtin/checkout.c:1876
 msgid "create/reset and switch to a branch"
 msgstr "创建/重置并切换一个分支"
 
-#: builtin/checkout.c:1859
+#: builtin/checkout.c:1878
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "二次猜测 'git switch <无此分支>'"
 
-#: builtin/checkout.c:1861
+#: builtin/checkout.c:1880
 msgid "throw away local modifications"
 msgstr "丢弃本地修改"
 
-#: builtin/checkout.c:1897
+#: builtin/checkout.c:1916
 msgid "which tree-ish to checkout from"
 msgstr "要检出哪一个树"
 
-#: builtin/checkout.c:1899
+#: builtin/checkout.c:1918
 msgid "restore the index"
 msgstr "恢复索引"
 
-#: builtin/checkout.c:1901
+#: builtin/checkout.c:1920
 msgid "restore the working tree (default)"
 msgstr "恢复工作区(默认)"
 
-#: builtin/checkout.c:1903
+#: builtin/checkout.c:1922
 msgid "ignore unmerged entries"
 msgstr "忽略未合并条目"
 
-#: builtin/checkout.c:1904
+#: builtin/checkout.c:1923
 msgid "use overlay mode"
 msgstr "使用叠加模式"
 
@@ -12892,8 +13248,8 @@ msgid "remove whole directories"
 msgstr "删除整个目录"
 
 #: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:937 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:651 builtin/name-rev.c:535 builtin/name-rev.c:537
+#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
+#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "模式"
@@ -12928,208 +13284,212 @@ msgstr ""
 msgid "-x and -X cannot be used together"
 msgstr "-x 和 -X 不能同时使用"
 
-#: builtin/clone.c:45
+#: builtin/clone.c:47
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:100
 msgid "don't clone shallow repository"
 msgstr "不克隆浅仓库"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:102
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:99 builtin/clone.c:101 builtin/init-db.c:542
+#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:107
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:109
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:113
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:115
+#: builtin/clone.c:119
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:116 builtin/init-db.c:539
+#: builtin/clone.c:120 builtin/init-db.c:539
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:117 builtin/init-db.c:540
+#: builtin/clone.c:121 builtin/init-db.c:540
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:119 builtin/clone.c:121 builtin/submodule--helper.c:1871
-#: builtin/submodule--helper.c:2514 builtin/submodule--helper.c:3260
+#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
+#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:123 builtin/submodule--helper.c:1873
-#: builtin/submodule--helper.c:2516
+#: builtin/clone.c:127 builtin/submodule--helper.c:1887
+#: builtin/submodule--helper.c:2721
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:124 builtin/column.c:27 builtin/fmt-merge-msg.c:27
+#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
 #: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3944 builtin/repack.c:665
-#: builtin/submodule--helper.c:3262 t/helper/test-simple-ipc.c:595
+#: builtin/pack-objects.c:3967 builtin/repack.c:669
+#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
 #: t/helper/test-simple-ipc.c:597
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:131
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:133
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:130 builtin/fetch.c:181 builtin/grep.c:876
+#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
 #: builtin/pull.c:212
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:135
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:132 builtin/fetch.c:183 builtin/pack-objects.c:3933
+#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
 #: builtin/pull.c:215
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:137
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:134 builtin/fetch.c:185 builtin/fetch.c:208
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1022
+#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
+#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:135 builtin/fetch.c:186 builtin/pull.c:219
+#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:137 builtin/submodule--helper.c:1883
-#: builtin/submodule--helper.c:2530
+#: builtin/clone.c:141 builtin/submodule--helper.c:1897
+#: builtin/submodule--helper.c:2735
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:143
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
-#: builtin/clone.c:141
+#: builtin/clone.c:145
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:142 builtin/init-db.c:548
+#: builtin/clone.c:146 builtin/init-db.c:548
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:143 builtin/init-db.c:549
+#: builtin/clone.c:147 builtin/init-db.c:549
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:144
+#: builtin/clone.c:148
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:145
+#: builtin/clone.c:149
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:147 builtin/fetch.c:203 builtin/ls-remote.c:77
+#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
 #: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/clone.c:147 builtin/fetch.c:203 builtin/ls-remote.c:77
+#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
 #: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/clone.c:148 builtin/fetch.c:204 builtin/pull.c:238
+#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
 #: builtin/push.c:576
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:150 builtin/fetch.c:206 builtin/pull.c:241
+#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
 #: builtin/push.c:578
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:154
+#: builtin/clone.c:158
+msgid "apply partial clone filters to submodules"
+msgstr "对子模组使用部分克隆过滤器"
+
+#: builtin/clone.c:160
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "任何克隆的子模组将使用它们的远程跟踪分支"
 
-#: builtin/clone.c:156
+#: builtin/clone.c:162
 msgid "initialize sparse-checkout file to include only files at root"
 msgstr "初始化稀疏检出文件,只包含根目录文件"
 
-#: builtin/clone.c:231
+#: builtin/clone.c:237
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:304
+#: builtin/clone.c:310
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:322
+#: builtin/clone.c:328
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "无法在 '%s' 上启动迭代器"
 
-#: builtin/clone.c:353
+#: builtin/clone.c:359
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:357
+#: builtin/clone.c:363
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:362
+#: builtin/clone.c:368
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "无法在 '%s' 上迭代"
 
-#: builtin/clone.c:389
+#: builtin/clone.c:395
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:403
+#: builtin/clone.c:409
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -13139,144 +13499,148 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git restore --source=HEAD :/' 重试\n"
 
-#: builtin/clone.c:480
+#: builtin/clone.c:486
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:597
+#: builtin/clone.c:603
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:645
+#: builtin/clone.c:651
 msgid "failed to initialize sparse-checkout"
 msgstr "无法初始化稀疏检出"
 
-#: builtin/clone.c:668
+#: builtin/clone.c:674
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:701
+#: builtin/clone.c:709
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:779
+#: builtin/clone.c:793
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:842
+#: builtin/clone.c:856
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:844
+#: builtin/clone.c:858
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:886
+#: builtin/clone.c:901
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:890 contrib/scalar/scalar.c:414
+#: builtin/clone.c:905 contrib/scalar/scalar.c:413
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:903
+#: builtin/clone.c:918
 #, c-format
 msgid "options '%s' and '%s %s' cannot be used together"
 msgstr "选项 '%s' 和 '%s %s' 不能同时使用"
 
-#: builtin/clone.c:920
+#: builtin/clone.c:935
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:924 builtin/fetch.c:2052
+#: builtin/clone.c:939 builtin/fetch.c:2176
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:934
+#: builtin/clone.c:949
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:940
+#: builtin/clone.c:955
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr "仓库路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:954
+#: builtin/clone.c:969
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:969 builtin/clone.c:990 builtin/difftool.c:256
-#: builtin/log.c:2012 builtin/worktree.c:281 builtin/worktree.c:313
+#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
+#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:974
+#: builtin/clone.c:989
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:994
+#: builtin/clone.c:1009
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:996
+#: builtin/clone.c:1011
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1025
+#: builtin/clone.c:1040
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
 
-#: builtin/clone.c:1080 builtin/remote.c:200 builtin/remote.c:710
+#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
-#: builtin/clone.c:1121
+#: builtin/clone.c:1157
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1123
+#: builtin/clone.c:1159
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1125
+#: builtin/clone.c:1161
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1127
+#: builtin/clone.c:1163
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1132
+#: builtin/clone.c:1168
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1137
+#: builtin/clone.c:1173
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1216 builtin/clone.c:1276
+#: builtin/clone.c:1185
+msgid "cannot clone from filtered bundle"
+msgstr "无法从经过过滤的归档包克隆"
+
+#: builtin/clone.c:1265 builtin/clone.c:1324
 msgid "remote transport reported error"
 msgstr "远程传输报告错误"
 
-#: builtin/clone.c:1228 builtin/clone.c:1239
+#: builtin/clone.c:1277 builtin/clone.c:1289
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1242
+#: builtin/clone.c:1292
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -13329,7 +13693,7 @@ msgstr ""
 ">]] [--reachable|--stdin-packs|--stdin-commits] [--changed-paths] [--"
 "[no-]max-new-filters <n>] [--[no-]progress] <切分选项>"
 
-#: builtin/commit-graph.c:51 builtin/fetch.c:192 builtin/log.c:1794
+#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
 msgid "dir"
 msgstr "目录"
 
@@ -13427,7 +13791,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "忽略重复的父提交 %s"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:577
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
 #, c-format
 msgid "not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -13450,13 +13814,13 @@ msgstr "父提交"
 msgid "id of a parent commit object"
 msgstr "父提交对象 ID"
 
-#: builtin/commit-tree.c:112 builtin/commit.c:1627 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1677
-#: builtin/tag.c:454
+#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
+#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
+#: builtin/tag.c:455
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit-tree.c:113 builtin/commit.c:1627
+#: builtin/commit-tree.c:113 builtin/commit.c:1626
 msgid "commit message"
 msgstr "提交说明"
 
@@ -13464,7 +13828,7 @@ msgstr "提交说明"
 msgid "read commit log message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit-tree.c:119 builtin/commit.c:1644 builtin/merge.c:303
+#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
 #: builtin/pull.c:180 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
@@ -13477,15 +13841,15 @@ msgstr "必须精确地提供一个树"
 msgid "git commit-tree: failed to read"
 msgstr "git commit-tree:无法读取"
 
-#: builtin/commit.c:42
+#: builtin/commit.c:43
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:47
+#: builtin/commit.c:48
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:52
+#: builtin/commit.c:53
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -13494,7 +13858,7 @@ msgstr ""
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
-#: builtin/commit.c:57
+#: builtin/commit.c:58
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -13508,15 +13872,15 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:64
+#: builtin/commit.c:65
 msgid "Otherwise, please use 'git rebase --skip'\n"
 msgstr "否则,请使用 'git rebase --skip'\n"
 
-#: builtin/commit.c:67
+#: builtin/commit.c:68
 msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr "否则,请使用 'git cherry-pick --skip'\n"
 
-#: builtin/commit.c:70
+#: builtin/commit.c:71
 msgid ""
 "and then use:\n"
 "\n"
@@ -13537,118 +13901,118 @@ msgstr ""
 "    git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:325
+#: builtin/commit.c:326
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:375
+#: builtin/commit.c:376
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:387
+#: builtin/commit.c:388
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:396
+#: builtin/commit.c:397
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:411
+#: builtin/commit.c:412
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:413
+#: builtin/commit.c:414
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:438 builtin/commit.c:461 builtin/commit.c:509
+#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:490
+#: builtin/commit.c:491
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:492
+#: builtin/commit.c:493
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:494
+#: builtin/commit.c:495
 msgid "cannot do a partial commit during a rebase."
 msgstr "在变基过程中不能做部分提交。"
 
-#: builtin/commit.c:502
+#: builtin/commit.c:503
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:521
+#: builtin/commit.c:522
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:619
+#: builtin/commit.c:620
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:621
+#: builtin/commit.c:622
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有格式错误的作者信息"
 
-#: builtin/commit.c:640
+#: builtin/commit.c:641
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:693
+#: builtin/commit.c:694
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:747 builtin/commit.c:781 builtin/commit.c:1166
+#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:759 builtin/shortlog.c:416
+#: builtin/commit.c:762 builtin/shortlog.c:417
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:761
+#: builtin/commit.c:764
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:765
+#: builtin/commit.c:768
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:802
+#: builtin/commit.c:805
 #, c-format
 msgid "options '%s' and '%s:%s' cannot be used together"
 msgstr "选项 '%s' 和 '%s:%s' 不能同时使用"
 
-#: builtin/commit.c:814 builtin/commit.c:830
+#: builtin/commit.c:817 builtin/commit.c:833
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:821
+#: builtin/commit.c:824
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:881
+#: builtin/commit.c:884
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:894
+#: builtin/commit.c:897
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '%c' will be ignored.\n"
 msgstr "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略。\n"
 
-#: builtin/commit.c:896
+#: builtin/commit.c:899
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13657,7 +14021,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:900
+#: builtin/commit.c:903
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13666,7 +14030,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被保留,如果您愿意\n"
 "也可以删除它们。\n"
 
-#: builtin/commit.c:904
+#: builtin/commit.c:907
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13676,7 +14040,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被保留,如果您愿意\n"
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
-#: builtin/commit.c:916
+#: builtin/commit.c:919
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13689,7 +14053,7 @@ msgstr ""
 "\tgit update-ref -d MERGE_HEAD\n"
 "然后重试。\n"
 
-#: builtin/commit.c:921
+#: builtin/commit.c:924
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13703,368 +14067,348 @@ msgstr ""
 "然后重试。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:948
+#: builtin/commit.c:951
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:956
+#: builtin/commit.c:959
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:963
+#: builtin/commit.c:966
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:981
+#: builtin/commit.c:984
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:1026
+#: builtin/commit.c:1029
 msgid "unable to pass trailers to --trailers"
 msgstr "无法将尾注传递给 --trailers"
 
-#: builtin/commit.c:1066
+#: builtin/commit.c:1069
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:1080 builtin/tag.c:316
+#: builtin/commit.c:1083 builtin/tag.c:317
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1124
+#: builtin/commit.c:1128
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1138
+#: builtin/commit.c:1142
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1156 builtin/commit.c:1451
+#: builtin/commit.c:1160 builtin/commit.c:1450
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未跟踪文件参数 '%s'"
 
-#: builtin/commit.c:1227
+#: builtin/commit.c:1231
 msgid "You are in the middle of a merge -- cannot reword."
 msgstr "您正处于一个合并过程中 -- 无法改写说明。"
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1233
 msgid "You are in the middle of a cherry-pick -- cannot reword."
 msgstr "您正处于一个拣选过程中 -- 无法改写说明。"
 
-#: builtin/commit.c:1232
+#: builtin/commit.c:1236
 #, c-format
 msgid "reword option of '%s' and path '%s' cannot be used together"
 msgstr "改写说明选项 '%s' 和路径 '%s' 不能同时使用"
 
-#: builtin/commit.c:1234
+#: builtin/commit.c:1238
 #, c-format
 msgid "reword option of '%s' and '%s' cannot be used together"
 msgstr "改写说明选项 '%s' 和 '%s' 不能同时使用"
 
-#: builtin/commit.c:1254
-msgid "Using both --reset-author and --author does not make sense"
-msgstr "同时使用 --reset-author 和 --author 没有意义"
-
-#: builtin/commit.c:1261
+#: builtin/commit.c:1263
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1264
+#: builtin/commit.c:1266
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1266
+#: builtin/commit.c:1268
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1268
+#: builtin/commit.c:1270
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr "您正处于一个变基过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1271
-msgid "Options --squash and --fixup cannot be used together"
-msgstr "选项 --squash 和 --fixup 不能同时使用"
-
-#: builtin/commit.c:1281
-msgid "Only one of -c/-C/-F/--fixup can be used."
-msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
-
-#: builtin/commit.c:1283
-msgid "Option -m cannot be combined with -c/-C/-F."
-msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
-
-#: builtin/commit.c:1292
+#: builtin/commit.c:1290
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1310
-msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
-msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
-
-#: builtin/commit.c:1338
+#: builtin/commit.c:1337
 #, c-format
 msgid "unknown option: --fixup=%s:%s"
 msgstr "未知选项:--fixup=%s:%s"
 
-#: builtin/commit.c:1355
+#: builtin/commit.c:1354
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "路径  '%s ...' 和 -a 选项同时使用没有意义"
 
-#: builtin/commit.c:1486 builtin/commit.c:1655
+#: builtin/commit.c:1485 builtin/commit.c:1654
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1488 builtin/commit.c:1657
+#: builtin/commit.c:1487 builtin/commit.c:1656
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1489
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1492 builtin/commit.c:1659
+#: builtin/commit.c:1491 builtin/commit.c:1658
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1493
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1494 builtin/commit.c:1661 builtin/push.c:551
-#: builtin/worktree.c:690
+#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
+#: builtin/worktree.c:765
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1497 builtin/commit.c:1663
+#: builtin/commit.c:1496 builtin/commit.c:1662
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1500 builtin/commit.c:1666
+#: builtin/commit.c:1499 builtin/commit.c:1665
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1502 builtin/commit.c:1506 builtin/commit.c:1669
+#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
 #: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1111 parse-options.h:337
+#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1503 builtin/commit.c:1669
+#: builtin/commit.c:1502 builtin/commit.c:1668
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1506
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1509 parse-options.h:192
+#: builtin/commit.c:1508 parse-options.h:197
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1509
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1511
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1513
+#: builtin/commit.c:1512
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1514
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
-#: builtin/commit.c:1538
+#: builtin/commit.c:1537
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1619
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1620
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1622
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1624 builtin/merge.c:288 builtin/tag.c:456
+#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1624
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1624
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1626 builtin/gc.c:551
+#: builtin/commit.c:1625 builtin/gc.c:551
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1626
+#: builtin/commit.c:1625
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1628 builtin/commit.c:1629 builtin/commit.c:1635
-#: parse-options.h:329 ref-filter.h:89
+#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
+#: parse-options.h:360 ref-filter.h:89
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1627
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1628
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
 #. TRANSLATORS: Leave "[(amend|reword):]" as-is,
 #. and only translate <commit>.
 #.
-#: builtin/commit.c:1634
+#: builtin/commit.c:1633
 msgid "[(amend|reword):]commit"
 msgstr "[(amend|reword):]提交"
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1633
 msgid ""
 "use autosquash formatted message to fixup or amend/reword specified commit"
 msgstr "使用自动挤压格式的提交说明对指定的提交进行修正、修补或改写说明"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1634
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用自动挤压格式的提交说明用以挤压至指定的提交"
 
-#: builtin/commit.c:1636
+#: builtin/commit.c:1635
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1637 builtin/interpret-trailers.c:111
+#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr "尾注"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1636
 msgid "add custom trailer(s)"
 msgstr "添加自定义尾注"
 
-#: builtin/commit.c:1638 builtin/log.c:1769 builtin/merge.c:306
+#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
 #: builtin/pull.c:146 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "添加 Signed-off-by 尾注"
 
-#: builtin/commit.c:1639
+#: builtin/commit.c:1638
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1640
+#: builtin/commit.c:1639
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1641
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1647
+#: builtin/commit.c:1646
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1648
+#: builtin/commit.c:1647
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1648
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1649
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1651
+#: builtin/commit.c:1650
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1652
+#: builtin/commit.c:1651
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1653
+#: builtin/commit.c:1652
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1653
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1667
+#: builtin/commit.c:1666
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1667
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1675
+#: builtin/commit.c:1674
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1677
+#: builtin/commit.c:1676
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1753
+#: builtin/commit.c:1752
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1760
+#: builtin/commit.c:1759
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1781
+#: builtin/commit.c:1780
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1788
+#: builtin/commit.c:1787
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1793
+#: builtin/commit.c:1792
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1804
+#: builtin/commit.c:1803
 #, c-format
 msgid "Aborting commit due to empty commit message body.\n"
 msgstr "因提交说明的正文为空而终止提交。\n"
 
-#: builtin/commit.c:1840
+#: builtin/commit.c:1839
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -14186,6 +14530,10 @@ msgstr "获得颜色设置:配置 [stdout-is-tty]"
 msgid "Type"
 msgstr "类型"
 
+#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
+msgid "type"
+msgstr "类型"
+
 #: builtin/config.c:154 builtin/env--helper.c:43
 msgid "value is given this type"
 msgstr "取值为该类型"
@@ -14393,10 +14741,6 @@ msgstr ""
 msgid "no such section: %s"
 msgstr "无此小节:%s"
 
-#: builtin/count-objects.c:90
-msgid "git count-objects [-v] [-H | --human-readable]"
-msgstr "git count-objects [-v] [-H | --human-readable]"
-
 #: builtin/count-objects.c:100
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
@@ -14563,7 +14907,7 @@ msgstr "只考虑匹配 <模式> 的标签"
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:570 builtin/name-rev.c:544
+#: builtin/describe.c:570 builtin/name-rev.c:595
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -14611,7 +14955,7 @@ msgstr "%s...%s:无合并基线"
 msgid "Not a git repository"
 msgstr "不是 git 仓库"
 
-#: builtin/diff.c:537 builtin/grep.c:698
+#: builtin/diff.c:537 builtin/grep.c:700
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
@@ -14727,11 +15071,11 @@ msgstr "传递给 `diff`"
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool 要求工作区或者 --no-index"
 
-#: builtin/difftool.c:744
+#: builtin/difftool.c:745
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:751
+#: builtin/difftool.c:752
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
@@ -14739,10 +15083,6 @@ msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
 msgstr "git env--helper --type=[bool|ulong] <选项> <环境变量>"
 
-#: builtin/env--helper.c:42 builtin/hash-object.c:96
-msgid "type"
-msgstr "类型"
-
 #: builtin/env--helper.c:46
 msgid "default for git_env_*(...) to fall back on"
 msgstr "git_env_*(...) 的默认值"
@@ -14759,13 +15099,13 @@ msgstr "选项 `--default' 和 `--type=bool` 期望一个布尔值,不是 `%s`
 #: builtin/env--helper.c:82
 #, c-format
 msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
 msgstr "选项 `--default' 和 `--type=ulong` 期望一个无符号长整型,不是 `%s`"
 
 #: builtin/fast-export.c:29
-msgid "git fast-export [rev-list-opts]"
-msgstr "git fast-export [rev-list-opts]"
+msgid "git fast-export [<rev-list-opts>]"
+msgstr "git fast-export [<rev-list 选项>]"
 
 #: builtin/fast-export.c:843
 msgid "Error: Cannot export nested tags unless --mark-tags is specified."
@@ -14819,7 +15159,7 @@ msgstr "使用 done 功能来终止流"
 msgid "skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1196 builtin/log.c:1841
+#: builtin/fast-export.c:1196 builtin/log.c:1860
 msgid "refspec"
 msgstr "引用规格"
 
@@ -14851,36 +15191,36 @@ msgstr "显示数据对象/提交的原始对象 ID"
 msgid "label tags with mark ids"
 msgstr "对带有标记 ID 的标签做标记"
 
-#: builtin/fast-import.c:3090
+#: builtin/fast-import.c:3097
 #, c-format
 msgid "Missing from marks for submodule '%s'"
 msgstr "子模组 '%s' 缺少 from 标记"
 
-#: builtin/fast-import.c:3092
+#: builtin/fast-import.c:3099
 #, c-format
 msgid "Missing to marks for submodule '%s'"
 msgstr "子模组 '%s' 缺少 to 标记"
 
-#: builtin/fast-import.c:3227
+#: builtin/fast-import.c:3234
 #, c-format
 msgid "Expected 'mark' command, got %s"
 msgstr "预期 'mark' 命令,得到 %s"
 
-#: builtin/fast-import.c:3232
+#: builtin/fast-import.c:3239
 #, c-format
 msgid "Expected 'to' command, got %s"
 msgstr "预期 'to' 命令,得到 %s"
 
-#: builtin/fast-import.c:3324
+#: builtin/fast-import.c:3331
 msgid "Expected format name:filename for submodule rewrite option"
 msgstr "子模组重写选项的预期格式为 name:filename"
 
-#: builtin/fast-import.c:3379
+#: builtin/fast-import.c:3386
 #, c-format
 msgid "feature '%s' forbidden in input without --allow-unsafe-features"
 msgstr "不带 --allow-unsafe-features 的输入中禁止使用功能 '%s'"
 
-#: builtin/fetch-pack.c:242
+#: builtin/fetch-pack.c:246
 #, c-format
 msgid "Lockfile created but not reported: %s"
 msgstr "Lockfile 已创建但未报告:%s"
@@ -14901,206 +15241,205 @@ msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:124
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel 不能为负数"
 
-#: builtin/fetch.c:146 builtin/pull.c:189
+#: builtin/fetch.c:147 builtin/pull.c:189
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:148 builtin/pull.c:249
+#: builtin/fetch.c:149 builtin/pull.c:249
 msgid "set upstream for git pull/fetch"
 msgstr "为 git pull/fetch 设置上游"
 
-#: builtin/fetch.c:150 builtin/pull.c:192
+#: builtin/fetch.c:151 builtin/pull.c:192
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:153
 msgid "use atomic transaction to update references"
 msgstr "使用原子事务更新引用"
 
-#: builtin/fetch.c:154 builtin/pull.c:195
+#: builtin/fetch.c:155 builtin/pull.c:195
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:155
+#: builtin/fetch.c:156
 msgid "force overwrite of local reference"
 msgstr "强制覆盖本地引用"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:158
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:159 builtin/pull.c:199
+#: builtin/fetch.c:160 builtin/pull.c:199
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:161
+#: builtin/fetch.c:162
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:163
+#: builtin/fetch.c:164
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:165
+#: builtin/fetch.c:166
 msgid "modify the refspec to place all refs within refs/prefetch/"
 msgstr "修改引用规格以将所有引用放入 refs/prefetch/"
 
-#: builtin/fetch.c:167 builtin/pull.c:202
+#: builtin/fetch.c:168 builtin/pull.c:202
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:169
+#: builtin/fetch.c:170
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:170 builtin/fetch.c:195 builtin/pull.c:123
+#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:172
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:176
+#: builtin/fetch.c:177
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "将获取到的引用写入 FETCH_HEAD 文件"
 
-#: builtin/fetch.c:177 builtin/pull.c:210
+#: builtin/fetch.c:178 builtin/pull.c:210
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:179
+#: builtin/fetch.c:180
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:182 builtin/fetch.c:188 builtin/pull.c:213
+#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
 #: builtin/pull.c:222
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:184 builtin/pull.c:216
+#: builtin/fetch.c:185 builtin/pull.c:216
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:190 builtin/pull.c:225
+#: builtin/fetch.c:191 builtin/pull.c:225
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:193
+#: builtin/fetch.c:194
+msgid "re-fetch without negotiating common commits"
+msgstr "不协商共有提交重新获取"
+
+#: builtin/fetch.c:197
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:196
+#: builtin/fetch.c:200
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:200 builtin/pull.c:228
+#: builtin/fetch.c:204 builtin/pull.c:228
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:201 builtin/pull.c:230
+#: builtin/fetch.c:205 builtin/pull.c:230
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:202 builtin/pull.c:231
+#: builtin/fetch.c:206 builtin/pull.c:231
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:209 builtin/pull.c:244
+#: builtin/fetch.c:213 builtin/pull.c:244
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 
-#: builtin/fetch.c:211
+#: builtin/fetch.c:215
 msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
 msgstr "不获取包文件;而是打印协商的祖先提交"
 
-#: builtin/fetch.c:214 builtin/fetch.c:216
+#: builtin/fetch.c:218 builtin/fetch.c:220
 msgid "run 'maintenance --auto' after fetching"
 msgstr "获取后执行 'maintenance --auto'"
 
-#: builtin/fetch.c:218 builtin/pull.c:247
+#: builtin/fetch.c:222 builtin/pull.c:247
 msgid "check for forced-updates on all updated branches"
 msgstr "在所有更新分支上检查强制更新"
 
-#: builtin/fetch.c:220
+#: builtin/fetch.c:224
 msgid "write the commit-graph after fetching"
 msgstr "抓取后写提交图"
 
-#: builtin/fetch.c:222
+#: builtin/fetch.c:226
 msgid "accept refspecs from stdin"
 msgstr "从标准输入获取引用规格"
 
-#: builtin/fetch.c:592
+#: builtin/fetch.c:618
 msgid "couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:766
-#, c-format
-msgid "configuration fetch.output contains invalid value %s"
-msgstr "配置变量 fetch.output 包含无效值 %s"
-
-#: builtin/fetch.c:867
+#: builtin/fetch.c:893
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:871
+#: builtin/fetch.c:897
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:883 builtin/fetch.c:901 builtin/fetch.c:973
+#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:885
+#: builtin/fetch.c:911
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:886
+#: builtin/fetch.c:912
 msgid "checked out in another worktree"
 msgstr "已在另一个工作树中检出"
 
-#: builtin/fetch.c:896
+#: builtin/fetch.c:922
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:897 builtin/fetch.c:934 builtin/fetch.c:956
-#: builtin/fetch.c:968
+#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
+#: builtin/fetch.c:994
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:927
 msgid "would clobber existing tag"
 msgstr "会破坏现有的标签"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:949
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:926
+#: builtin/fetch.c:952
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:929
+#: builtin/fetch.c:955
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:968
+#: builtin/fetch.c:994
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:973
+#: builtin/fetch.c:999
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:1076
+#: builtin/fetch.c:1102
 msgid ""
 "fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
@@ -15110,7 +15449,7 @@ msgstr ""
 "要重新启用,请使用 '--show-forced-updates' 选项或运行\n"
 "'git config fetch.showForcedUpdates true'"
 
-#: builtin/fetch.c:1080
+#: builtin/fetch.c:1106
 #, c-format
 msgid ""
 "it took %.2f seconds to check forced updates; you can use\n"
@@ -15121,22 +15460,22 @@ msgstr ""
 "花了 %.2f 秒来检查强制更新;您可以使用 '--no-show-forced-updates'\n"
 "或运行 'git config fetch.showForcedUpdates false' 以避免此项检查\n"
 
-#: builtin/fetch.c:1112
+#: builtin/fetch.c:1136
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必需的对象\n"
 
-#: builtin/fetch.c:1141
+#: builtin/fetch.c:1156
 #, c-format
 msgid "rejected %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆的根不允许被更新"
 
-#: builtin/fetch.c:1231 builtin/fetch.c:1379
+#: builtin/fetch.c:1259 builtin/fetch.c:1418
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:1252
+#: builtin/fetch.c:1269
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -15146,69 +15485,69 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1349
+#: builtin/fetch.c:1377
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为悬空状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1350
+#: builtin/fetch.c:1378
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为悬空状态)"
 
-#: builtin/fetch.c:1382
+#: builtin/fetch.c:1421
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:1383 builtin/remote.c:1128
+#: builtin/fetch.c:1422 builtin/remote.c:1153
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1405
+#: builtin/fetch.c:1446
 #, c-format
 msgid "refusing to fetch into branch '%s' checked out at '%s'"
 msgstr "拒绝获取于 '%2$s' 检出的分支 '%1$s'"
 
-#: builtin/fetch.c:1425
+#: builtin/fetch.c:1466
 #, c-format
 msgid "option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1428
+#: builtin/fetch.c:1469
 #, c-format
 msgid "option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1455
+#: builtin/fetch.c:1496
 #, c-format
 msgid "the object %s does not exist"
 msgstr "对象 '%s' 不存在"
 
-#: builtin/fetch.c:1643
+#: builtin/fetch.c:1748
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "检测到多分支,和 --set-upstream 不兼容"
 
-#: builtin/fetch.c:1655
+#: builtin/fetch.c:1760
 #, c-format
 msgid ""
 "could not set upstream of HEAD to '%s' from '%s' when it does not point to "
 "any branch."
 msgstr "无法在不指向任何分支时将 HEAD 的上游从 '%s' 设置为 '%s'。"
 
-#: builtin/fetch.c:1668
+#: builtin/fetch.c:1773
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "没有为一个远程跟踪分支设置上游"
 
-#: builtin/fetch.c:1670
+#: builtin/fetch.c:1775
 msgid "not setting upstream for a remote tag"
 msgstr "没有为一个远程标签设置上游"
 
-#: builtin/fetch.c:1672
+#: builtin/fetch.c:1777
 msgid "unknown branch type"
 msgstr "未知的分支类型"
 
-#: builtin/fetch.c:1674
+#: builtin/fetch.c:1779
 msgid ""
 "no source branch found;\n"
 "you need to specify exactly one branch with the --set-upstream option"
@@ -15216,79 +15555,79 @@ msgstr ""
 "未发现源分支;\n"
 "您需要使用 --set-upstream 选项指定一个分支"
 
-#: builtin/fetch.c:1804 builtin/fetch.c:1867
+#: builtin/fetch.c:1904 builtin/fetch.c:1967
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1814 builtin/fetch.c:1869
+#: builtin/fetch.c:1914 builtin/fetch.c:1969
 #, c-format
 msgid "could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1826
+#: builtin/fetch.c:1926
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "无法获取 '%s'(退出码:%d)\n"
 
-#: builtin/fetch.c:1930
+#: builtin/fetch.c:2030
 msgid ""
 "no remote repository specified; please specify either a URL or a\n"
 "remote name from which new revisions should be fetched"
 msgstr "未指定远程仓库;请指定一个用于获取新版本的 URL 或远程仓库名"
 
-#: builtin/fetch.c:1966
+#: builtin/fetch.c:2066
 msgid "you need to specify a tag name"
 msgstr "您需要指定一个标签名称"
 
-#: builtin/fetch.c:2032
-msgid "--negotiate-only needs one or more --negotiate-tip=*"
-msgstr "--negotiate-only 需要一个或多个 --negotiate-tip=*"
+#: builtin/fetch.c:2156
+msgid "--negotiate-only needs one or more --negotiation-tip=*"
+msgstr "--negotiate-only 需要一个或多个 --negotiation-tip=*"
 
-#: builtin/fetch.c:2036
+#: builtin/fetch.c:2160
 msgid "negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:2045
+#: builtin/fetch.c:2169
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:2062
+#: builtin/fetch.c:2186
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:2064
+#: builtin/fetch.c:2188
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:2073
+#: builtin/fetch.c:2197
 #, c-format
 msgid "no such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:2081
+#: builtin/fetch.c:2205
 msgid "fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
-#: builtin/fetch.c:2097
+#: builtin/fetch.c:2221
 msgid "must supply remote when using --negotiate-only"
 msgstr "在使用 --negotiate-only 时必须提供远程仓库"
 
-#: builtin/fetch.c:2102
+#: builtin/fetch.c:2226
 msgid "protocol does not support --negotiate-only, exiting"
 msgstr "协议不支持 --negotiate-only,退出"
 
-#: builtin/fetch.c:2121
+#: builtin/fetch.c:2246
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
 msgstr "只可以将 --filter 用于在 extensions.partialclone 中配置的远程仓库"
 
-#: builtin/fetch.c:2125
+#: builtin/fetch.c:2250
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic 仅在从一个远程仓库获取的时候可用"
 
-#: builtin/fetch.c:2129
+#: builtin/fetch.c:2254
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin 仅在从一个远程仓库获取的时候可用"
 
@@ -15357,7 +15696,7 @@ msgstr "引用占位符适用于 Tcl"
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:42 builtin/tag.c:481
+#: builtin/for-each-ref.c:42 builtin/tag.c:482
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
@@ -15551,7 +15890,7 @@ msgstr "正在检查对象目录"
 msgid "Checking %s link"
 msgstr "正在检查 %s 链接"
 
-#: builtin/fsck.c:710 builtin/index-pack.c:859
+#: builtin/fsck.c:710 builtin/index-pack.c:862
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
@@ -15620,7 +15959,7 @@ msgstr "也考虑包和备用对象"
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:798 builtin/mktag.c:76
+#: builtin/fsck.c:798 builtin/mktag.c:75
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
@@ -15650,6 +15989,118 @@ msgstr "%s:对象缺失"
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "无效的参数:期望 sha1,得到 '%s'"
 
+#: builtin/fsmonitor--daemon.c:13
+msgid "git fsmonitor--daemon start [<options>]"
+msgstr "git fsmonitor--daemon start [<选项>]"
+
+#: builtin/fsmonitor--daemon.c:14
+msgid "git fsmonitor--daemon run [<options>]"
+msgstr "git fsmonitor--daemon run [<选项>]"
+
+#: builtin/fsmonitor--daemon.c:15
+msgid "git fsmonitor--daemon stop"
+msgstr "git fsmonitor--daemon stop"
+
+#: builtin/fsmonitor--daemon.c:16
+msgid "git fsmonitor--daemon status"
+msgstr "git fsmonitor--daemon status"
+
+#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
+#, c-format
+msgid "value of '%s' out of range: %d"
+msgstr "'%s' 的值超出范围:%d"
+
+#: builtin/fsmonitor--daemon.c:57
+#, c-format
+msgid "value of '%s' not bool or int: %d"
+msgstr "'%s' 的值不是 bool 或 int:%d"
+
+#: builtin/fsmonitor--daemon.c:99
+#, c-format
+msgid "fsmonitor-daemon is watching '%s'\n"
+msgstr "fsmonitor-daemon 正在监视 '%s'\n"
+
+#: builtin/fsmonitor--daemon.c:104
+#, c-format
+msgid "fsmonitor-daemon is not watching '%s'\n"
+msgstr "fsmonitor-daemon 不在监视 '%s'\n"
+
+#: builtin/fsmonitor--daemon.c:170
+#, c-format
+msgid "could not create fsmonitor cookie '%s'"
+msgstr "无法创建 fsmonitor cookie '%s'"
+
+#: builtin/fsmonitor--daemon.c:753
+#, c-format
+msgid "fsmonitor: cookie_result '%d' != SEEN"
+msgstr "fsmonitor: cookie_result '%d' != SEEN"
+
+#: builtin/fsmonitor--daemon.c:1187
+#, c-format
+msgid "could not start IPC thread pool on '%s'"
+msgstr "无法在 '%s' 启动 IPC 线程池"
+
+#: builtin/fsmonitor--daemon.c:1199
+msgid "could not start fsmonitor listener thread"
+msgstr "无法启动 fsmonitor 监听线程"
+
+#: builtin/fsmonitor--daemon.c:1297
+msgid "could not initialize listener thread"
+msgstr "无法初始化监听线程"
+
+#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
+#, c-format
+msgid "fsmonitor--daemon is already running '%s'"
+msgstr "fsmonitor--daemon 已经在运行 '%s'"
+
+#: builtin/fsmonitor--daemon.c:1332
+#, c-format
+msgid "running fsmonitor-daemon in '%s'\n"
+msgstr "在 '%s' 中运行 fsmonitor-daemon\n"
+
+#: builtin/fsmonitor--daemon.c:1387
+#, c-format
+msgid "starting fsmonitor-daemon in '%s'\n"
+msgstr "在 '%s' 中启动 fsmonitor-daemon\n"
+
+#: builtin/fsmonitor--daemon.c:1413
+msgid "daemon failed to start"
+msgstr "守护进程无法启动"
+
+#: builtin/fsmonitor--daemon.c:1416
+msgid "daemon not online yet"
+msgstr "守护进程尚未在线"
+
+#: builtin/fsmonitor--daemon.c:1419
+msgid "daemon terminated"
+msgstr "守护进程被终结"
+
+#: builtin/fsmonitor--daemon.c:1429
+msgid "detach from console"
+msgstr "从控制台分离"
+
+#: builtin/fsmonitor--daemon.c:1432
+msgid "use <n> ipc worker threads"
+msgstr "使用 <n> 个 IPC 工作线程"
+
+#: builtin/fsmonitor--daemon.c:1435
+msgid "max seconds to wait for background daemon startup"
+msgstr "等待守护进程启动的最大秒数"
+
+#: builtin/fsmonitor--daemon.c:1449
+#, c-format
+msgid "invalid 'ipc-threads' value (%d)"
+msgstr "无效的 'ipc-threads' 值(%d)"
+
+#: builtin/fsmonitor--daemon.c:1464
+#, c-format
+msgid "Unhandled subcommand '%s'"
+msgstr "未处理的子命令 '%s'"
+
+#: builtin/fsmonitor--daemon.c:1477
+msgid "fsmonitor--daemon not supported on this platform"
+msgstr "fsmonitor--daemon 不支持本平台"
+
 #: builtin/gc.c:39
 msgid "git gc [<options>]"
 msgstr "git gc [<选项>]"
@@ -15891,8 +16342,8 @@ msgstr "无法启动 systemctl"
 msgid "failed to run systemctl"
 msgstr "无法运行 systemctl"
 
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:62
-#: builtin/worktree.c:944
+#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
+#: builtin/worktree.c:1024
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "无法删除 '%s'"
@@ -15940,16 +16391,16 @@ msgstr "git maintenance <子命令> [<选项>]"
 msgid "invalid subcommand: %s"
 msgstr "无效子命令:%s"
 
-#: builtin/grep.c:30
+#: builtin/grep.c:32
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:239
+#: builtin/grep.c:241
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
-#: builtin/grep.c:293
+#: builtin/grep.c:295
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
@@ -15958,258 +16409,250 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:301 builtin/index-pack.c:1582 builtin/index-pack.c:1785
-#: builtin/pack-objects.c:3142
+#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
+#: builtin/pack-objects.c:3150
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/grep.c:488 builtin/grep.c:617 builtin/grep.c:657
+#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:674
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:752
+#: builtin/grep.c:754
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:852
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:854
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:856
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:857
+#: builtin/grep.c:858
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:859
+#: builtin/grep.c:860
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:863
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:865
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:867
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:868
+#: builtin/grep.c:869
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:871
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:873
+#: builtin/grep.c:874
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:876
 msgid "search in subdirectories (default)"
 msgstr "在子目录中寻找(默认)"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:878
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:882
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:884
+#: builtin/grep.c:885
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:888
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:891
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:894
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:895
 msgid "show column number of first match"
 msgstr "显示第一个匹配的列号"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:896
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:897
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:899
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:901
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:903
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:905
+#: builtin/grep.c:906
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:907
+#: builtin/grep.c:908
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:911
 msgid "show only matching parts of a line"
 msgstr "只显示行中的匹配的部分"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:913
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:913
+#: builtin/grep.c:914
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:915
+#: builtin/grep.c:916
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:917
+#: builtin/grep.c:918
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:921
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:923
+#: builtin/grep.c:924
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:925
+#: builtin/grep.c:926
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:927
+#: builtin/grep.c:928
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:928
+#: builtin/grep.c:929
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:931
+#: builtin/grep.c:932
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:933
+#: builtin/grep.c:934
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:936
+#: builtin/grep.c:937
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:938
+#: builtin/grep.c:939
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:940
+#: builtin/grep.c:941
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:952
+#: builtin/grep.c:953
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:954
+#: builtin/grep.c:955
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:957
+#: builtin/grep.c:958
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:957
+#: builtin/grep.c:958
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:961
+#: builtin/grep.c:962
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:1027
+#: builtin/grep.c:1028
 msgid "no pattern given"
 msgstr "未提供匹配模式"
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1064
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index 或 --untracked 不能和版本同时使用"
 
-#: builtin/grep.c:1071
+#: builtin/grep.c:1072
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1101
+#: builtin/grep.c:1102
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "--untracked 不支持和 --recurse-submodules 共用"
 
-#: builtin/grep.c:1105
+#: builtin/grep.c:1106
 msgid "invalid option combination, ignoring --threads"
 msgstr "无效的选项组合,忽略 --threads"
 
-#: builtin/grep.c:1108 builtin/pack-objects.c:4059
+#: builtin/grep.c:1109 builtin/pack-objects.c:4084
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1111 builtin/index-pack.c:1579 builtin/pack-objects.c:3139
+#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:1145
+#: builtin/grep.c:1146
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:1171
-msgid "--cached or --untracked cannot be used with --no-index"
-msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
-
-#: builtin/grep.c:1174
-msgid "--untracked cannot be used with --cached"
-msgstr "--untracked 不能与 --cached 同时使用"
-
-#: builtin/grep.c:1180
+#: builtin/grep.c:1179
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容"
 
-#: builtin/grep.c:1188
+#: builtin/grep.c:1187
 msgid "both --cached and trees are given"
 msgstr "同时给出了 --cached 和树对象"
 
@@ -16221,107 +16664,99 @@ msgstr ""
 "git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters] [--stdin] "
 "[--] <文件>..."
 
-#: builtin/hash-object.c:84
-msgid "git hash-object  --stdin-paths"
-msgstr "git hash-object  --stdin-paths"
-
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "object type"
 msgstr "对象类型"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
-#: builtin/hash-object.c:102
+#: builtin/hash-object.c:103
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
 
-#: builtin/hash-object.c:103
+#: builtin/hash-object.c:104
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
-#: builtin/help.c:55
+#: builtin/help.c:57
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
-#: builtin/help.c:57
+#: builtin/help.c:60
+msgid "show external commands in --all"
+msgstr "在 --all 中显示外部命令"
+
+#: builtin/help.c:61
+msgid "show aliases in --all"
+msgstr "在 --all 中显示别名"
+
+#: builtin/help.c:62
 msgid "exclude guides"
 msgstr "排除向导"
 
-#: builtin/help.c:58
+#: builtin/help.c:63
 msgid "show man page"
 msgstr "显示 man 手册"
 
-#: builtin/help.c:59
+#: builtin/help.c:64
 msgid "show manual in web browser"
 msgstr "在 web 浏览器中显示手册"
 
-#: builtin/help.c:61
+#: builtin/help.c:66
 msgid "show info page"
 msgstr "显示 info 手册"
 
-#: builtin/help.c:63
+#: builtin/help.c:68
 msgid "print command description"
 msgstr "打印命令描述"
 
-#: builtin/help.c:65
+#: builtin/help.c:70
 msgid "print list of useful guides"
 msgstr "显示有用的指南列表"
 
-#: builtin/help.c:67
+#: builtin/help.c:72
 msgid "print all configuration variable names"
 msgstr "打印所有配置变量名称"
 
-#: builtin/help.c:78
-msgid ""
-"git help [-a|--all] [--[no-]verbose]]\n"
-"         [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-"git help [-a|--all] [--[no-]verbose]]\n"
-"         [[-i|--info] [-m|--man] [-w|--web]] [<命令>]"
-
-#: builtin/help.c:80
-msgid "git help [-g|--guides]"
-msgstr "git help [-g|--guides]"
-
-#: builtin/help.c:81
-msgid "git help [-c|--config]"
-msgstr "git help [-c|--config]"
+#: builtin/help.c:84
+msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
+msgstr "git help [[-i|--info] [-m|--man] [-w|--web]] [<命令>]"
 
-#: builtin/help.c:196
+#: builtin/help.c:201
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:222
+#: builtin/help.c:227
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:235
+#: builtin/help.c:240
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:243
+#: builtin/help.c:248
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:261 builtin/help.c:283 builtin/help.c:293 builtin/help.c:301
+#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "无法执行 '%s'"
 
-#: builtin/help.c:339
+#: builtin/help.c:344
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -16330,7 +16765,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:351
+#: builtin/help.c:356
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -16339,42 +16774,56 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:466
+#: builtin/help.c:471
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:482
+#: builtin/help.c:487
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:489
+#: builtin/help.c:494
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:550 builtin/help.c:561 git.c:348
+#: builtin/help.c:555 builtin/help.c:566 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' 是 '%s' 的别名"
 
-#: builtin/help.c:564 git.c:380
+#: builtin/help.c:569 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "坏的 alias.%s 字符串:%s"
 
-#: builtin/help.c:580
-msgid "this option doesn't take any other arguments"
-msgstr "这个选项不带其他参数"
+#: builtin/help.c:611
+#, c-format
+msgid "the '%s' option doesn't take any non-option arguments"
+msgstr "'%s' 选项不带任何非选项参数"
+
+#: builtin/help.c:631
+msgid ""
+"the '--no-[external-commands|aliases]' options can only be used with '--all'"
+msgstr "'--no-[external-commands|aliases]' 选项只能和 '--all' 一起使用"
 
-#: builtin/help.c:601 builtin/help.c:628
+#: builtin/help.c:643 builtin/help.c:671
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/help.c:623
+#: builtin/help.c:666
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
+#: builtin/hook.c:10
+msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
+msgstr "git hook run [--ignore-missing] <钩子名称> [-- <钩子参数>]"
+
+#: builtin/hook.c:30
+msgid "silently ignore missing requested <hook-name>"
+msgstr "静默地忽略缺失的 <钩子名称>"
+
 #: builtin/index-pack.c:221
 #, c-format
 msgid "object type mismatch at %s"
@@ -16409,244 +16858,245 @@ msgstr "输入上的读错误"
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:756
+#: builtin/index-pack.c:324 builtin/pack-objects.c:754
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr "包超过了最大允许值"
+#: builtin/index-pack.c:329
+#, c-format
+msgid "pack exceeds maximum allowed size (%s)"
+msgstr "包超过了最大允许大小(%s)"
 
-#: builtin/index-pack.c:358
+#: builtin/index-pack.c:362
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:360
+#: builtin/index-pack.c:364
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:376
+#: builtin/index-pack.c:380
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:482
+#: builtin/index-pack.c:485
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:531
+#: builtin/index-pack.c:534
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:539
+#: builtin/index-pack.c:542
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:547
+#: builtin/index-pack.c:550
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:578
+#: builtin/index-pack.c:581
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:580
+#: builtin/index-pack.c:583
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
-#: builtin/index-pack.c:606
+#: builtin/index-pack.c:609
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:781
-#: builtin/index-pack.c:820 builtin/index-pack.c:829
+#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
+#: builtin/index-pack.c:823 builtin/index-pack.c:832
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:292
-#: builtin/pack-objects.c:352 builtin/pack-objects.c:458
+#: builtin/index-pack.c:757 builtin/pack-objects.c:290
+#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:818
+#: builtin/index-pack.c:821
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
-#: builtin/index-pack.c:826
+#: builtin/index-pack.c:829
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:840
+#: builtin/index-pack.c:843
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:843 builtin/index-pack.c:862
+#: builtin/index-pack.c:846 builtin/index-pack.c:865
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
-#: builtin/index-pack.c:864
+#: builtin/index-pack.c:867
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:925 builtin/index-pack.c:972
+#: builtin/index-pack.c:928 builtin/index-pack.c:975
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1161
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1161
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1190
+#: builtin/index-pack.c:1195
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1200
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1198
+#: builtin/index-pack.c:1203
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1210
+#: builtin/index-pack.c:1215
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1233
+#: builtin/index-pack.c:1238
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1244 builtin/pack-objects.c:2905
+#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1277
+#: builtin/index-pack.c:1282
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1283
+#: builtin/index-pack.c:1288
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1295
+#: builtin/index-pack.c:1300
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1299
+#: builtin/index-pack.c:1304
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
-#: builtin/index-pack.c:1323
+#: builtin/index-pack.c:1328
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1419
+#: builtin/index-pack.c:1423
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1440
+#: builtin/index-pack.c:1445
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "包文件名 '%s' 没有以 '.%s' 结尾"
 
-#: builtin/index-pack.c:1464
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "无法写入 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1472
+#: builtin/index-pack.c:1477
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "无法关闭已写入的 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1489
+#: builtin/index-pack.c:1494
 #, c-format
 msgid "unable to rename temporary '*.%s' file to '%s'"
 msgstr "不能重命名临时文件 '*.%s' 为 '%s'"
 
-#: builtin/index-pack.c:1514
+#: builtin/index-pack.c:1519
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1573 builtin/pack-objects.c:3150
+#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1643
+#: builtin/index-pack.c:1648
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1645
+#: builtin/index-pack.c:1650
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1693
+#: builtin/index-pack.c:1698
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
-#: builtin/index-pack.c:1700
+#: builtin/index-pack.c:1705
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1742
+#: builtin/index-pack.c:1748
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1796 builtin/index-pack.c:1799
-#: builtin/index-pack.c:1819 builtin/index-pack.c:1823
+#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
+#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1829 builtin/init-db.c:379 builtin/init-db.c:614
+#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "未知的哈希算法 '%s'"
 
-#: builtin/index-pack.c:1850
+#: builtin/index-pack.c:1856
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要 git 仓库"
 
-#: builtin/index-pack.c:1867
+#: builtin/index-pack.c:1873
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1933 builtin/unpack-objects.c:584
+#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
@@ -16853,128 +17303,132 @@ msgstr "--trailer 和 --only-input 同时使用没有意义"
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
-#: builtin/log.c:59
+#: builtin/log.c:60
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
-#: builtin/log.c:60
+#: builtin/log.c:61
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:113
+#: builtin/log.c:114
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:180
+#: builtin/log.c:181
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:181
+#: builtin/log.c:182
 msgid "use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:184
+#: builtin/log.c:185
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
-#: builtin/log.c:186
+#: builtin/log.c:187
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
-#: builtin/log.c:187
+#: builtin/log.c:188
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:190
+#: builtin/log.c:191
 msgid ""
 "trace the evolution of line range <start>,<end> or function :<funcname> in "
 "<file>"
 msgstr "跟踪 <文件> 中 <开始>,<结束> 范围内的行或函数 :<函数名> 的演变"
 
-#: builtin/log.c:213
+#: builtin/log.c:214
 msgid "-L<range>:<file> cannot be used with pathspec"
 msgstr "-L<范围>:<文件> 不能和路径表达式共用"
 
-#: builtin/log.c:321
+#: builtin/log.c:322
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:586
+#: builtin/log.c:429
+msgid "unable to create temporary object directory"
+msgstr "无法创建临时对象目录"
+
+#: builtin/log.c:599
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:601 builtin/log.c:691
+#: builtin/log.c:614 builtin/log.c:706
 #, c-format
 msgid "could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:716
+#: builtin/log.c:731
 #, c-format
 msgid "unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:861
+#: builtin/log.c:880
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s:从描述生成附函的模式无效"
 
-#: builtin/log.c:868
+#: builtin/log.c:887
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:997
+#: builtin/log.c:1016
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:1014
+#: builtin/log.c:1033
 msgid "need exactly one range"
 msgstr "只需要一个范围"
 
-#: builtin/log.c:1024
+#: builtin/log.c:1043
 msgid "not a range"
 msgstr "不是一个范围"
 
-#: builtin/log.c:1188
+#: builtin/log.c:1207
 msgid "cover letter needs email format"
 msgstr "附函需要邮件地址格式"
 
-#: builtin/log.c:1194
+#: builtin/log.c:1213
 msgid "failed to create cover-letter file"
 msgstr "无法创建附函文件"
 
-#: builtin/log.c:1281
+#: builtin/log.c:1300
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1308
+#: builtin/log.c:1327
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1366
+#: builtin/log.c:1385
 msgid "two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1517 builtin/log.c:2344 builtin/log.c:2346 builtin/log.c:2358
+#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
 #, c-format
 msgid "unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1528 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "无法将 '%s' 解析为一个有效引用"
 
-#: builtin/log.c:1537
+#: builtin/log.c:1556
 msgid "could not find exact merge base"
 msgstr "不能找到准确的合并基线"
 
-#: builtin/log.c:1547
+#: builtin/log.c:1566
 msgid ""
 "failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -16984,272 +17438,276 @@ msgstr ""
 "git branch --set-upstream-to 来跟踪一个远程分支。或者您可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1589
 msgid "failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1606
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1616
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1655
+#: builtin/log.c:1674
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1718
+#: builtin/log.c:1737
 msgid "failed to infer range-diff origin of current series"
 msgstr "无法推断当前系列的 range-diff 起始"
 
-#: builtin/log.c:1720
+#: builtin/log.c:1739
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "使用 '%s' 作为当前系列的 range-diff 源"
 
-#: builtin/log.c:1764
+#: builtin/log.c:1783
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1767
+#: builtin/log.c:1786
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1790
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1773
+#: builtin/log.c:1792
 msgid "generate a cover letter"
 msgstr "生成一封附函"
 
-#: builtin/log.c:1775
+#: builtin/log.c:1794
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1776
+#: builtin/log.c:1795
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1777
+#: builtin/log.c:1796
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1779
+#: builtin/log.c:1798
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1780
+#: builtin/log.c:1799
 msgid "reroll-count"
 msgstr "重制-计数"
 
-#: builtin/log.c:1781
+#: builtin/log.c:1800
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1783
+#: builtin/log.c:1802
 msgid "max length of output filename"
 msgstr "输出文件名的最大长度"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1804
 msgid "use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1807
 msgid "cover-from-description-mode"
 msgstr "从分支描述获取附函的模式"
 
-#: builtin/log.c:1789
+#: builtin/log.c:1808
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr "基于一个分支描述生成部分附函"
 
-#: builtin/log.c:1791
+#: builtin/log.c:1810
 msgid "use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1794
+#: builtin/log.c:1813
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1797
+#: builtin/log.c:1816
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1800
+#: builtin/log.c:1819
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1802
+#: builtin/log.c:1821
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1804
+#: builtin/log.c:1823
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1806
+#: builtin/log.c:1825
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1808
+#: builtin/log.c:1827
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1809
+#: builtin/log.c:1828
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1810
+#: builtin/log.c:1829
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1811 builtin/log.c:1812
+#: builtin/log.c:1830 builtin/log.c:1831
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1811
+#: builtin/log.c:1830
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1812
+#: builtin/log.c:1831
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1813
+#: builtin/log.c:1832
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1814
+#: builtin/log.c:1833
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1816
+#: builtin/log.c:1835
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1817
+#: builtin/log.c:1836
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1818 builtin/log.c:1821
+#: builtin/log.c:1837 builtin/log.c:1840
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1819
+#: builtin/log.c:1838
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1822
+#: builtin/log.c:1841
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1826
+#: builtin/log.c:1845
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1828
+#: builtin/log.c:1847
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1829
+#: builtin/log.c:1848
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1830
+#: builtin/log.c:1849
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1831
+#: builtin/log.c:1850
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1834
+#: builtin/log.c:1853
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1835
+#: builtin/log.c:1854
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1837
+#: builtin/log.c:1856
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1839
+#: builtin/log.c:1858
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <版本> 的差异"
 
-#: builtin/log.c:1842
+#: builtin/log.c:1861
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <引用规格> 的差异"
 
-#: builtin/log.c:1844 builtin/range-diff.c:28
+#: builtin/log.c:1863 builtin/range-diff.c:28
 msgid "percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/log.c:1931
+#: builtin/log.c:1953
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1956
+#: builtin/log.c:1978
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1958
+#: builtin/log.c:1980
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1960
+#: builtin/log.c:1982
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:2104
+#: builtin/log.c:1984
+msgid "--remerge-diff does not make sense"
+msgstr "--remerge-diff 无意义"
+
+#: builtin/log.c:2129
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:2108
+#: builtin/log.c:2133
 msgid "Interdiff:"
 msgstr "版本间差异:"
 
-#: builtin/log.c:2109
+#: builtin/log.c:2134
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "对 v%d 的版本差异:"
 
-#: builtin/log.c:2119
+#: builtin/log.c:2144
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:2127
+#: builtin/log.c:2152
 msgid "Range-diff:"
 msgstr "范围差异:"
 
-#: builtin/log.c:2128
+#: builtin/log.c:2153
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "对 v%d 的范围差异:"
 
-#: builtin/log.c:2139
+#: builtin/log.c:2164
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:2175
+#: builtin/log.c:2200
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:2219
+#: builtin/log.c:2244
 msgid "failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:2279
+#: builtin/log.c:2304
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:2333
+#: builtin/log.c:2358
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -17343,10 +17801,6 @@ msgstr "添加标准的 git 排除"
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:667
-msgid "recurse through submodules"
-msgstr "在子模组中递归"
-
 #: builtin/ls-files.c:669
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
@@ -17385,7 +17839,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1103
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
 msgid "exec"
 msgstr "exec"
 
@@ -17417,42 +17871,70 @@ msgstr "若未找到匹配的引用则以退出码2退出"
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "除了显示指向的对象外,显示指向的引用名"
 
-#: builtin/ls-tree.c:30
+#: builtin/ls-tree.c:36
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树对象> [<路径>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:54
+#, c-format
+msgid "could not get object info about '%s'"
+msgstr "无法获得关于 '%s' 的对象信息"
+
+#: builtin/ls-tree.c:79
+#, c-format
+msgid "bad ls-tree format: element '%s' does not start with '('"
+msgstr "坏的 ls-tree 格式:元素 '%s' 没有以 '(' 开头"
+
+#: builtin/ls-tree.c:83
+#, c-format
+msgid "bad ls-tree format: element '%s' does not end in ')'"
+msgstr "坏的 ls-tree 格式:元素 '%s' 没有以 ')' 结尾"
+
+#: builtin/ls-tree.c:109
+#, c-format
+msgid "bad ls-tree format: %%%.*s"
+msgstr "坏的 ls-tree 格式: %%%.*s"
+
+#: builtin/ls-tree.c:336
 msgid "only show trees"
 msgstr "只显示树"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:338
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:340
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:343
 msgid "terminate entries with NUL byte"
 msgstr "条目以 NUL 字符终止"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:344
 msgid "include object size"
 msgstr "包括对象大小"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
 msgid "list only filenames"
 msgstr "只列出文件名"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:350
+msgid "list only objects"
+msgstr "只列出对象"
+
+#: builtin/ls-tree.c:353
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:355
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
+#: builtin/ls-tree.c:391
+msgid "--format can't be combined with other format-altering options"
+msgstr "--format 不能和改变格式的选项同时使用"
+
 #. TRANSLATORS: keep <> in "<" mail ">" info.
 #: builtin/mailinfo.c:14
 msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
@@ -17502,7 +17984,11 @@ msgstr "找到引号中的 CR 时的操作"
 msgid "use headers in message's body"
 msgstr "在消息正文中使用标头"
 
-#: builtin/mailsplit.c:239
+#: builtin/mailsplit.c:227
+msgid "reading patches from stdin/tty..."
+msgstr "从标准输入或tty读取补丁……"
+
+#: builtin/mailsplit.c:242
 #, c-format
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
@@ -17527,23 +18013,23 @@ msgstr "git merge-base --is-ancestor <提交> <提交>"
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <引用> [<提交>]"
 
-#: builtin/merge-base.c:143
+#: builtin/merge-base.c:144
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
-#: builtin/merge-base.c:145
+#: builtin/merge-base.c:146
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
-#: builtin/merge-base.c:147
+#: builtin/merge-base.c:148
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
-#: builtin/merge-base.c:149
+#: builtin/merge-base.c:150
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
-#: builtin/merge-base.c:151
+#: builtin/merge-base.c:152
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的分叉点"
 
@@ -17691,7 +18177,7 @@ msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
 #: builtin/merge.c:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1117 builtin/revert.c:114
+#: builtin/rebase.c:1145 builtin/revert.c:114
 msgid "strategy"
 msgstr "策略"
 
@@ -17822,72 +18308,72 @@ msgid ""
 "the commit.\n"
 msgstr "以 '%c' 开始的行将被忽略,而空的提交说明将终止提交。\n"
 
-#: builtin/merge.c:894
+#: builtin/merge.c:900
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:909
+#: builtin/merge.c:915
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:970
+#: builtin/merge.c:976
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:1009
+#: builtin/merge.c:1015
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:1011
+#: builtin/merge.c:1017
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:1013
+#: builtin/merge.c:1019
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:1018
+#: builtin/merge.c:1024
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1075
+#: builtin/merge.c:1081
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1177
+#: builtin/merge.c:1183
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1211
+#: builtin/merge.c:1217
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1324
+#: builtin/merge.c:1330
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1328
+#: builtin/merge.c:1334
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1346
+#: builtin/merge.c:1352
 msgid "--quit expects no arguments"
 msgstr "--quit 不带参数"
 
-#: builtin/merge.c:1359
+#: builtin/merge.c:1365
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1363
+#: builtin/merge.c:1369
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1379
+#: builtin/merge.c:1385
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17895,7 +18381,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1386
+#: builtin/merge.c:1392
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -17903,84 +18389,80 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1389
+#: builtin/merge.c:1395
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1421
+#: builtin/merge.c:1427
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1438
+#: builtin/merge.c:1444
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1440
+#: builtin/merge.c:1446
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1445
+#: builtin/merge.c:1451
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1447
+#: builtin/merge.c:1453
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1534
+#: builtin/merge.c:1540
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1553
+#: builtin/merge.c:1559
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1601
+#: builtin/merge.c:1606
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1608
+#: builtin/merge.c:1613
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1667 builtin/merge.c:1733
+#: builtin/merge.c:1671 builtin/merge.c:1737
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1671
+#: builtin/merge.c:1675
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1723
+#: builtin/merge.c:1727
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1725
+#: builtin/merge.c:1729
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1735
+#: builtin/merge.c:1739
 #, c-format
 msgid "Using the %s strategy to prepare resolving by hand.\n"
 msgstr "使用 %s 策略以准备手工解决。\n"
 
-#: builtin/merge.c:1749
+#: builtin/merge.c:1753
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
 
-#: builtin/mktag.c:10
-msgid "git mktag"
-msgstr "git mktag"
-
 #: builtin/mktag.c:27
 #, c-format
 msgid "warning: tag input does not pass fsck: %s"
@@ -18006,22 +18488,18 @@ msgstr "不能读取被标记的对象 '%s'"
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "对象 '%s' 被标记为 '%s',然而是一个 '%s' 类型"
 
-#: builtin/mktag.c:98
+#: builtin/mktag.c:97
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr "标准输入上的标签未通过我们严格的 fsck 检查"
 
-#: builtin/mktag.c:101
+#: builtin/mktag.c:100
 msgid "tag on stdin did not refer to a valid object"
 msgstr "标准输入上的标签未指向一个有效的对象"
 
-#: builtin/mktag.c:104 builtin/tag.c:242
+#: builtin/mktag.c:103 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/mktree.c:66
-msgid "git mktree [-z] [--missing] [--batch]"
-msgstr "git mktree [-z] [--missing] [--batch]"
-
 #: builtin/mktree.c:154
 msgid "input is NUL terminated"
 msgstr "输入以 NUL 字符终止"
@@ -18175,52 +18653,56 @@ msgstr "%s,源=%s,目标=%s"
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:314 builtin/remote.c:790 builtin/repack.c:857
+#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:474
+#: builtin/name-rev.c:524
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:475
+#: builtin/name-rev.c:525
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:476
-msgid "git name-rev [<options>] --stdin"
-msgstr "git name-rev [<选项>] --stdin"
+#: builtin/name-rev.c:526
+msgid "git name-rev [<options>] --annotate-stdin"
+msgstr "git name-rev [<选项>] --annotate-stdin"
 
-#: builtin/name-rev.c:533
+#: builtin/name-rev.c:583
 msgid "print only ref-based names (no object names)"
 msgstr "只打印基于引用的名称(非对象名)"
 
-#: builtin/name-rev.c:534
+#: builtin/name-rev.c:584
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:536
+#: builtin/name-rev.c:586
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:538
+#: builtin/name-rev.c:588
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:540
+#: builtin/name-rev.c:590
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:541
-msgid "read from stdin"
-msgstr "从标准输入读取"
+#: builtin/name-rev.c:591
+msgid "deprecated: use annotate-stdin instead"
+msgstr "已弃用:取而代之使用 annotate-stdin"
+
+#: builtin/name-rev.c:592
+msgid "annotate text from stdin"
+msgstr "标注标准输入的文字"
 
-#: builtin/name-rev.c:542
+#: builtin/name-rev.c:593
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:548
+#: builtin/name-rev.c:599
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
@@ -18261,14 +18743,6 @@ msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr "git notes [--ref <注解引用>] merge [-v | -q] [-s <策略> ] <注解引用>"
 
-#: builtin/notes.c:35
-msgid "git notes merge --commit [-v | -q]"
-msgstr "git notes merge --commit [-v | -q]"
-
-#: builtin/notes.c:36
-msgid "git notes merge --abort [-v | -q]"
-msgstr "git notes merge --abort [-v | -q]"
-
 #: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <注解引用>] remove [<对象>...]"
@@ -18329,10 +18803,6 @@ msgstr "git notes remove [<对象>]"
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<选项>]"
 
-#: builtin/notes.c:92
-msgid "git notes get-ref"
-msgstr "git notes get-ref"
-
 #: builtin/notes.c:97
 msgid "Write/edit the notes for the following object:"
 msgstr "为下面的对象写/编辑说明:"
@@ -18364,7 +18834,7 @@ msgstr "不能写注解对象"
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:240 builtin/tag.c:581
+#: builtin/notes.c:240 builtin/tag.c:582
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -18404,13 +18874,6 @@ msgstr "无法把注解从 '%s' 拷贝到 '%s'"
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %2$s(在 refs/notes/ 之外)%1$s注解"
 
-#: builtin/notes.c:374 builtin/notes.c:429 builtin/notes.c:507
-#: builtin/notes.c:519 builtin/notes.c:596 builtin/notes.c:663
-#: builtin/notes.c:813 builtin/notes.c:965 builtin/notes.c:987
-#: builtin/prune-packed.c:25 builtin/receive-pack.c:2487 builtin/tag.c:591
-msgid "too many arguments"
-msgstr "太多参数"
-
 #: builtin/notes.c:387 builtin/notes.c:676
 #, c-format
 msgid "no note found for object %s."
@@ -18590,7 +19053,7 @@ msgstr ""
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
-#: builtin/notes.c:899 builtin/tag.c:594
+#: builtin/notes.c:899 builtin/tag.c:595
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
@@ -18608,7 +19071,7 @@ msgstr "尝试删除不存在的注解不是一个错误"
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:147
+#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
@@ -18624,7 +19087,7 @@ msgstr "注解引用"
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1036 builtin/stash.c:1818
+#: builtin/notes.c:1036 builtin/stash.c:1802
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
@@ -18639,7 +19102,7 @@ msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:572
+#: builtin/pack-objects.c:570
 #, c-format
 msgid ""
 "write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
@@ -18647,110 +19110,110 @@ msgid ""
 msgstr ""
 "write_reuse_object:无法定位 %1$s,预期在包 %3$s 中的偏移量 %2$<PRIuMAX> 上"
 
-#: builtin/pack-objects.c:580
+#: builtin/pack-objects.c:578
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "%s 错的包对象 CRC"
 
-#: builtin/pack-objects.c:591
+#: builtin/pack-objects.c:589
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "%s 损坏的包对象"
 
-#: builtin/pack-objects.c:722
+#: builtin/pack-objects.c:720
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "发现对象 %s 递归 delta"
 
-#: builtin/pack-objects.c:941
+#: builtin/pack-objects.c:939
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:1036
+#: builtin/pack-objects.c:1034
 #, c-format
 msgid "expected object at offset %<PRIuMAX> in pack %s"
 msgstr "预期对象在包文件 %2$s 的偏移量 %1$<PRIuMAX> 上"
 
-#: builtin/pack-objects.c:1160
+#: builtin/pack-objects.c:1158
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:1173
+#: builtin/pack-objects.c:1171
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1235 builtin/update-index.c:90
+#: builtin/pack-objects.c:1243 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "无法对 %s 调用 stat"
 
-#: builtin/pack-objects.c:1268
+#: builtin/pack-objects.c:1276
 msgid "failed to write bitmap index"
 msgstr "无法写入位图索引"
 
-#: builtin/pack-objects.c:1294
+#: builtin/pack-objects.c:1302
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:1536
+#: builtin/pack-objects.c:1544
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:1984
+#: builtin/pack-objects.c:1992
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1993
+#: builtin/pack-objects.c:2001
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:2274
+#: builtin/pack-objects.c:2282
 msgid "Counting objects"
 msgstr "对象计数中"
 
-#: builtin/pack-objects.c:2439
+#: builtin/pack-objects.c:2447
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "无法解析对象 %s 头信息"
 
-#: builtin/pack-objects.c:2509 builtin/pack-objects.c:2525
-#: builtin/pack-objects.c:2535
+#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
+#: builtin/pack-objects.c:2543
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
-#: builtin/pack-objects.c:2512 builtin/pack-objects.c:2539
+#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr "对象 %s 不一致的对象长度(%<PRIuMAX> vs %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2549
+#: builtin/pack-objects.c:2557
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2872
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
-#: builtin/pack-objects.c:3003
+#: builtin/pack-objects.c:3011
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
-#: builtin/pack-objects.c:3089
+#: builtin/pack-objects.c:3097
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:3095
+#: builtin/pack-objects.c:3103
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
-#: builtin/pack-objects.c:3174
+#: builtin/pack-objects.c:3182
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -18759,24 +19222,24 @@ msgstr ""
 "uploadpack.blobpackfileuri 的取值必须是 '<object-hash> <pack-hash> <uri>' 格"
 "式(得到 '%s')"
 
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3185
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
 msgstr "对象已经在另外的 uploadpack.blobpackfileuri 中配置(得到 '%s')"
 
-#: builtin/pack-objects.c:3212
+#: builtin/pack-objects.c:3220
 #, c-format
 msgid "could not get type of object %s in pack %s"
 msgstr "无法获得包 %2$s 中对象 %1$s 的类型"
 
-#: builtin/pack-objects.c:3340 builtin/pack-objects.c:3351
-#: builtin/pack-objects.c:3365
+#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
+#: builtin/pack-objects.c:3373
 #, c-format
 msgid "could not find pack '%s'"
 msgstr "不能找到包 '%s'"
 
-#: builtin/pack-objects.c:3408
+#: builtin/pack-objects.c:3416
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -18785,7 +19248,7 @@ msgstr ""
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3422
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -18794,242 +19257,238 @@ msgstr ""
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:3507
-msgid "invalid value for --missing"
-msgstr "选项 --missing 的值无效"
-
-#: builtin/pack-objects.c:3532 builtin/pack-objects.c:3619
+#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
-#: builtin/pack-objects.c:3541
+#: builtin/pack-objects.c:3549
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
-#: builtin/pack-objects.c:3627
+#: builtin/pack-objects.c:3635
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
-#: builtin/pack-objects.c:3757
+#: builtin/pack-objects.c:3763
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
-#: builtin/pack-objects.c:3760 builtin/rev-parse.c:1061
+#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
-#: builtin/pack-objects.c:3788
+#: builtin/pack-objects.c:3794
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
-#: builtin/pack-objects.c:3841
+#: builtin/pack-objects.c:3847
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:3845
+#: builtin/pack-objects.c:3851
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3884
+#: builtin/pack-objects.c:3907
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
-#: builtin/pack-objects.c:3885
+#: builtin/pack-objects.c:3908
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:3888
+#: builtin/pack-objects.c:3911
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:3890
+#: builtin/pack-objects.c:3913
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:3892
+#: builtin/pack-objects.c:3915
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:3894
+#: builtin/pack-objects.c:3917
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:3896
+#: builtin/pack-objects.c:3919
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:3898
+#: builtin/pack-objects.c:3921
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:3900
+#: builtin/pack-objects.c:3923
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:3902
+#: builtin/pack-objects.c:3925
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:3904
+#: builtin/pack-objects.c:3927
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:3906
+#: builtin/pack-objects.c:3929
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:3908
+#: builtin/pack-objects.c:3931
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:3910
+#: builtin/pack-objects.c:3933
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:3912
+#: builtin/pack-objects.c:3935
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:3915
+#: builtin/pack-objects.c:3938
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3918
+#: builtin/pack-objects.c:3941
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3921
+#: builtin/pack-objects.c:3944
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3924
+#: builtin/pack-objects.c:3947
 msgid "read packs from stdin"
 msgstr "从标准输入读取包"
 
-#: builtin/pack-objects.c:3926
+#: builtin/pack-objects.c:3949
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3928
+#: builtin/pack-objects.c:3951
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:3930
+#: builtin/pack-objects.c:3953
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3932
+#: builtin/pack-objects.c:3955
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3934
+#: builtin/pack-objects.c:3957
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3937
+#: builtin/pack-objects.c:3960
 msgid "use the sparse reachability algorithm"
 msgstr "使用稀疏可达性算法"
 
-#: builtin/pack-objects.c:3939
+#: builtin/pack-objects.c:3962
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3941
+#: builtin/pack-objects.c:3964
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3943
+#: builtin/pack-objects.c:3966
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3945
+#: builtin/pack-objects.c:3968
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
-#: builtin/pack-objects.c:3947
+#: builtin/pack-objects.c:3970
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3949
+#: builtin/pack-objects.c:3972
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3951
+#: builtin/pack-objects.c:3974
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:3953
+#: builtin/pack-objects.c:3976
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:3957
+#: builtin/pack-objects.c:3980
 msgid "write a bitmap index if possible"
 msgstr "如果可能,写 bitmap 索引"
 
-#: builtin/pack-objects.c:3961
+#: builtin/pack-objects.c:3984
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3964
+#: builtin/pack-objects.c:3987
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3966
+#: builtin/pack-objects.c:3989
 msgid "respect islands during delta compression"
 msgstr "在增量压缩时参考数据岛"
 
-#: builtin/pack-objects.c:3968
+#: builtin/pack-objects.c:3991
 msgid "protocol"
 msgstr "协议"
 
-#: builtin/pack-objects.c:3969
+#: builtin/pack-objects.c:3992
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "使用此协议排除任何已配置的 uploadpack.blobpackfileuri"
 
-#: builtin/pack-objects.c:4002
+#: builtin/pack-objects.c:4027
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "增量链深度 %d 太深了,强制为 %d"
 
-#: builtin/pack-objects.c:4007
+#: builtin/pack-objects.c:4032
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "配置 pack.deltaCacheLimit 太高了,强制为 %d"
 
-#: builtin/pack-objects.c:4063
+#: builtin/pack-objects.c:4088
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
-#: builtin/pack-objects.c:4065
+#: builtin/pack-objects.c:4090
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
-#: builtin/pack-objects.c:4070
+#: builtin/pack-objects.c:4095
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
-#: builtin/pack-objects.c:4079
+#: builtin/pack-objects.c:4104
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
-#: builtin/pack-objects.c:4081
+#: builtin/pack-objects.c:4106
 msgid "cannot use --filter with --stdin-packs"
 msgstr "不能同时使用 --filter 和 --stdin-packs"
 
-#: builtin/pack-objects.c:4085
+#: builtin/pack-objects.c:4110
 msgid "cannot use internal rev list with --stdin-packs"
 msgstr "不能同时使用内部版本列表和 --stdin-packs"
 
-#: builtin/pack-objects.c:4144
+#: builtin/pack-objects.c:4169
 msgid "Enumerating objects"
 msgstr "枚举对象中"
 
-#: builtin/pack-objects.c:4180
+#: builtin/pack-objects.c:4210
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -19063,10 +19522,6 @@ msgstr "打包一切"
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
-#: builtin/prune-packed.c:6
-msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
-msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
-
 #: builtin/prune.c:14
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<head>...]"
@@ -19087,11 +19542,6 @@ msgstr "限制遍历 promisor 包以外的对象"
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
-#: builtin/pull.c:45 builtin/pull.c:47
-#, c-format
-msgid "Invalid value for %s: %s"
-msgstr "%s 的值无效:%s"
-
 #: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
@@ -19116,7 +19566,7 @@ msgstr "允许快进式"
 msgid "control use of pre-merge-commit and commit-msg hooks"
 msgstr "控制 pre-merge-commit 和 commit-msg 钩子的使用"
 
-#: builtin/pull.c:171 parse-options.h:340
+#: builtin/pull.c:171 parse-options.h:371
 msgid "automatically stash/stash pop before and after"
 msgstr "在操作前后执行自动贮藏和弹出贮藏"
 
@@ -19132,11 +19582,6 @@ msgstr "强制覆盖本地分支"
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:321
-#, c-format
-msgid "Invalid value for pull.ff: %s"
-msgstr "pull.ff 的取值无效:%s"
-
 #: builtin/pull.c:449
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
@@ -19164,7 +19609,7 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:460 builtin/rebase.c:951
+#: builtin/pull.c:460 builtin/rebase.c:978
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
@@ -19181,16 +19626,16 @@ msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
 #: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:957
+#: builtin/rebase.c:984
 msgid "<remote>"
 msgstr "<远程>"
 
 #: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:375
+#: contrib/scalar/scalar.c:374
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:475 builtin/rebase.c:949
+#: builtin/pull.c:475 builtin/rebase.c:976
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
@@ -19244,19 +19689,19 @@ msgstr ""
 "缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,\n"
 "或者 --ff-only 参数覆盖缺省设置。\n"
 
-#: builtin/pull.c:1046
+#: builtin/pull.c:1047
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:1050
+#: builtin/pull.c:1051
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:1051
+#: builtin/pull.c:1052
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:1076
+#: builtin/pull.c:1077
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -19266,7 +19711,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:1082
+#: builtin/pull.c:1083
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -19283,23 +19728,23 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:1097
+#: builtin/pull.c:1098
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:1102
+#: builtin/pull.c:1103
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:1104
+#: builtin/pull.c:1105
 msgid "Cannot fast-forward to multiple branches."
 msgstr "无法快进到多个分支。"
 
-#: builtin/pull.c:1119
+#: builtin/pull.c:1120
 msgid "Need to specify how to reconcile divergent branches."
 msgstr "需要指定如何调和偏离的分支。"
 
-#: builtin/pull.c:1133
+#: builtin/pull.c:1134
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
@@ -19462,7 +19907,7 @@ msgstr "推送到 %s\n"
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:544 builtin/submodule--helper.c:3259
+#: builtin/push.c:544 builtin/submodule--helper.c:3377
 msgid "repository"
 msgstr "仓库"
 
@@ -19700,11 +20145,11 @@ msgstr "调试 unpack-trees"
 msgid "suppress feedback messages"
 msgstr "抑制反馈信息"
 
-#: builtin/read-tree.c:183
+#: builtin/read-tree.c:190
 msgid "You need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/rebase.c:35
+#: builtin/rebase.c:36
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
 "[<upstream> [<branch>]]"
@@ -19712,54 +20157,50 @@ msgstr ""
 "git rebase [-i] [options] [--exec <命令>] [--onto <新基线> | --keep-base] [<"
 "上游> [<分支>]]"
 
-#: builtin/rebase.c:37
+#: builtin/rebase.c:38
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
 msgstr ""
 "git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] --root [<分支>]"
 
-#: builtin/rebase.c:39
-msgid "git rebase --continue | --abort | --skip | --edit-todo"
-msgstr "git rebase --continue | --abort | --skip | --edit-todo"
-
-#: builtin/rebase.c:230
+#: builtin/rebase.c:231
 #, c-format
 msgid "could not create temporary %s"
 msgstr "无法创建临时的 %s"
 
-#: builtin/rebase.c:236
+#: builtin/rebase.c:237
 msgid "could not mark as interactive"
 msgstr "无法标记为交互式"
 
-#: builtin/rebase.c:289
+#: builtin/rebase.c:290
 msgid "could not generate todo list"
 msgstr "无法生成待办列表"
 
-#: builtin/rebase.c:331
+#: builtin/rebase.c:332
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
 
-#: builtin/rebase.c:390
+#: builtin/rebase.c:391
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s 需要合并后端"
 
-#: builtin/rebase.c:432
+#: builtin/rebase.c:433
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "无法获取 'onto':'%s'"
 
-#: builtin/rebase.c:449
+#: builtin/rebase.c:450
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "无效的原始 head:'%s'"
 
-#: builtin/rebase.c:474
+#: builtin/rebase.c:475
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
 
-#: builtin/rebase.c:597
+#: builtin/rebase.c:600
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -19772,7 +20213,7 @@ msgstr ""
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
-#: builtin/rebase.c:680
+#: builtin/rebase.c:685
 #, c-format
 msgid ""
 "\n"
@@ -19790,14 +20231,19 @@ msgstr ""
 "\n"
 "因此 git 无法对其变基。"
 
-#: builtin/rebase.c:925
+#: builtin/rebase.c:836
+#, c-format
+msgid "could not switch to %s"
+msgstr "无法切换到 %s"
+
+#: builtin/rebase.c:952
 #, c-format
 msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
+"\"ask\"."
 msgstr "无法识别的空类型 '%s';有效值有 \"drop\"、\"keep\" 和 \"ask\"。"
 
-#: builtin/rebase.c:943
+#: builtin/rebase.c:970
 #, c-format
 msgid ""
 "%s\n"
@@ -19814,7 +20260,7 @@ msgstr ""
 "    git rebase '<branch>'\n"
 "\n"
 
-#: builtin/rebase.c:959
+#: builtin/rebase.c:986
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -19827,179 +20273,179 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branch> %s\n"
 "\n"
 
-#: builtin/rebase.c:989
+#: builtin/rebase.c:1016
 msgid "exec commands cannot contain newlines"
 msgstr "exec 命令不能包含换行符"
 
-#: builtin/rebase.c:993
+#: builtin/rebase.c:1020
 msgid "empty exec command"
 msgstr "空的 exec 命令"
 
-#: builtin/rebase.c:1023
+#: builtin/rebase.c:1051
 msgid "rebase onto given branch instead of upstream"
 msgstr "变基到给定的分支而非上游"
 
-#: builtin/rebase.c:1025
+#: builtin/rebase.c:1053
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr "使用上游和分支的合并基线做为当前基线"
 
-#: builtin/rebase.c:1027
+#: builtin/rebase.c:1055
 msgid "allow pre-rebase hook to run"
 msgstr "允许执行 pre-rebase 钩子"
 
-#: builtin/rebase.c:1029
+#: builtin/rebase.c:1057
 msgid "be quiet. implies --no-stat"
 msgstr "安静。暗示 --no-stat"
 
-#: builtin/rebase.c:1032
+#: builtin/rebase.c:1060
 msgid "display a diffstat of what changed upstream"
 msgstr "显示上游变化的差异统计"
 
-#: builtin/rebase.c:1035
+#: builtin/rebase.c:1063
 msgid "do not show diffstat of what changed upstream"
 msgstr "不显示上游变化的差异统计"
 
-#: builtin/rebase.c:1038
+#: builtin/rebase.c:1066
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "为每一个提交添加 Signed-off-by 尾注"
 
-#: builtin/rebase.c:1041
+#: builtin/rebase.c:1069
 msgid "make committer date match author date"
 msgstr "使提交者日期和作者日期一致"
 
-#: builtin/rebase.c:1043
+#: builtin/rebase.c:1071
 msgid "ignore author date and use current date"
 msgstr "忽略作者日期,使用当前日期"
 
-#: builtin/rebase.c:1045
+#: builtin/rebase.c:1073
 msgid "synonym of --reset-author-date"
 msgstr "--reset-author-date 的同义词"
 
-#: builtin/rebase.c:1047 builtin/rebase.c:1051
+#: builtin/rebase.c:1075 builtin/rebase.c:1079
 msgid "passed to 'git apply'"
 msgstr "传递给 'git apply'"
 
-#: builtin/rebase.c:1049
+#: builtin/rebase.c:1077
 msgid "ignore changes in whitespace"
 msgstr "忽略空白字符的变更"
 
-#: builtin/rebase.c:1053 builtin/rebase.c:1056
+#: builtin/rebase.c:1081 builtin/rebase.c:1084
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "拣选所有提交,即使未修改"
 
-#: builtin/rebase.c:1058
+#: builtin/rebase.c:1086
 msgid "continue"
 msgstr "继续"
 
-#: builtin/rebase.c:1061
+#: builtin/rebase.c:1089
 msgid "skip current patch and continue"
 msgstr "跳过当前补丁并继续"
 
-#: builtin/rebase.c:1063
+#: builtin/rebase.c:1091
 msgid "abort and check out the original branch"
 msgstr "终止并检出原有分支"
 
-#: builtin/rebase.c:1066
+#: builtin/rebase.c:1094
 msgid "abort but keep HEAD where it is"
 msgstr "终止但保持 HEAD 不变"
 
-#: builtin/rebase.c:1067
+#: builtin/rebase.c:1095
 msgid "edit the todo list during an interactive rebase"
 msgstr "在交互式变基中编辑待办列表"
 
-#: builtin/rebase.c:1070
+#: builtin/rebase.c:1098
 msgid "show the patch file being applied or merged"
 msgstr "显示正在应用或合并的补丁文件"
 
-#: builtin/rebase.c:1073
+#: builtin/rebase.c:1101
 msgid "use apply strategies to rebase"
 msgstr "使用应用策略进行变基"
 
-#: builtin/rebase.c:1077
+#: builtin/rebase.c:1105
 msgid "use merging strategies to rebase"
 msgstr "使用合并策略进行变基"
 
-#: builtin/rebase.c:1081
+#: builtin/rebase.c:1109
 msgid "let the user edit the list of commits to rebase"
 msgstr "让用户编辑要变基的提交列表"
 
-#: builtin/rebase.c:1085
+#: builtin/rebase.c:1113
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(已弃用)尝试重建合并提交而非忽略它们"
 
-#: builtin/rebase.c:1090
+#: builtin/rebase.c:1118
 msgid "how to handle commits that become empty"
 msgstr "如何处理成为空提交的提交"
 
-#: builtin/rebase.c:1093
+#: builtin/rebase.c:1121
 msgid "keep commits which start empty"
 msgstr "保留初始为空的提交"
 
-#: builtin/rebase.c:1097
+#: builtin/rebase.c:1125
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:1104
+#: builtin/rebase.c:1132
 msgid "add exec lines after each commit of the editable list"
 msgstr "可编辑列表的每一个提交下面增加一行 exec"
 
-#: builtin/rebase.c:1108
+#: builtin/rebase.c:1136
 msgid "allow rebasing commits with empty messages"
 msgstr "允许针对空提交说明的提交变基"
 
-#: builtin/rebase.c:1112
+#: builtin/rebase.c:1140
 msgid "try to rebase merges instead of skipping them"
 msgstr "尝试对合并提交变基而不是忽略它们"
 
-#: builtin/rebase.c:1115
+#: builtin/rebase.c:1143
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "使用 'merge-base --fork-point' 来优化上游"
 
-#: builtin/rebase.c:1117
+#: builtin/rebase.c:1145
 msgid "use the given merge strategy"
 msgstr "使用给定的合并策略"
 
-#: builtin/rebase.c:1119 builtin/revert.c:115
+#: builtin/rebase.c:1147 builtin/revert.c:115
 msgid "option"
 msgstr "选项"
 
-#: builtin/rebase.c:1120
+#: builtin/rebase.c:1148
 msgid "pass the argument through to the merge strategy"
 msgstr "将参数传递给合并策略"
 
-#: builtin/rebase.c:1123
+#: builtin/rebase.c:1151
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "将所有可达的提交变基到根提交"
 
-#: builtin/rebase.c:1126
+#: builtin/rebase.c:1154
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "自动重新安排任何失败的 `exec`"
 
-#: builtin/rebase.c:1128
+#: builtin/rebase.c:1156
 msgid "apply all changes, even those already present upstream"
 msgstr "应用所有更改,甚至那些已在上游存在的"
 
-#: builtin/rebase.c:1149
+#: builtin/rebase.c:1177
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git am' 正在执行中。无法变基。"
 
-#: builtin/rebase.c:1180
+#: builtin/rebase.c:1208
 msgid "--preserve-merges was replaced by --rebase-merges"
 msgstr "--preserve-merges 被 --rebase-merges 代替。"
 
-#: builtin/rebase.c:1202
+#: builtin/rebase.c:1230
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: builtin/rebase.c:1206
+#: builtin/rebase.c:1234
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: builtin/rebase.c:1229 t/helper/test-fast-rebase.c:122
+#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: builtin/rebase.c:1241
+#: builtin/rebase.c:1269
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -20007,16 +20453,16 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: builtin/rebase.c:1260
+#: builtin/rebase.c:1287
 msgid "could not discard worktree changes"
 msgstr "无法丢弃工作区变更"
 
-#: builtin/rebase.c:1279
+#: builtin/rebase.c:1308
 #, c-format
 msgid "could not move back to %s"
 msgstr "无法移回 %s"
 
-#: builtin/rebase.c:1325
+#: builtin/rebase.c:1354
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -20035,122 +20481,117 @@ msgstr ""
 "\t%s\n"
 "然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
 
-#: builtin/rebase.c:1353
+#: builtin/rebase.c:1382
 msgid "switch `C' expects a numerical value"
 msgstr "开关 `C' 期望一个数字值"
 
-#: builtin/rebase.c:1395
+#: builtin/rebase.c:1424
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "未知模式:%s"
 
-#: builtin/rebase.c:1434
+#: builtin/rebase.c:1463
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy 需要 --merge 或 --interactive"
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1492
 msgid "apply options and merge options cannot be used together"
 msgstr "应用选项和合并选项不能同时使用"
 
-#: builtin/rebase.c:1476
+#: builtin/rebase.c:1505
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "未知的变基后端:%s"
 
-#: builtin/rebase.c:1505
+#: builtin/rebase.c:1534
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec 需要 --exec 或 --interactive"
 
-#: builtin/rebase.c:1536
+#: builtin/rebase.c:1565
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "无效的上游 '%s'"
 
-#: builtin/rebase.c:1542
+#: builtin/rebase.c:1571
 msgid "Could not create new root commit"
 msgstr "不能创建新的根提交"
 
-#: builtin/rebase.c:1568
+#: builtin/rebase.c:1597
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "'%s':只需要与分支的一个合并基线"
 
-#: builtin/rebase.c:1571
+#: builtin/rebase.c:1600
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s':只需要一个合并基线"
 
-#: builtin/rebase.c:1580
+#: builtin/rebase.c:1609
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "没有指向一个有效的提交 '%s'"
 
-#: builtin/rebase.c:1607
+#: builtin/rebase.c:1636
 #, c-format
 msgid "no such branch/commit '%s'"
 msgstr "无此分支/提交 '%s'"
 
-#: builtin/rebase.c:1618 builtin/submodule--helper.c:39
-#: builtin/submodule--helper.c:2659
+#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
+#: builtin/submodule--helper.c:2477
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/rebase.c:1629
+#: builtin/rebase.c:1658
 msgid "Could not resolve HEAD to a revision"
 msgstr "无法将 HEAD 解析为一个版本"
 
-#: builtin/rebase.c:1650
+#: builtin/rebase.c:1679
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: builtin/rebase.c:1686
-#, c-format
-msgid "could not switch to %s"
-msgstr "无法切换到 %s"
-
-#: builtin/rebase.c:1697
+#: builtin/rebase.c:1714
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: builtin/rebase.c:1699
+#: builtin/rebase.c:1716
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "当前分支 %s 是最新的。\n"
 
-#: builtin/rebase.c:1707
+#: builtin/rebase.c:1724
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: builtin/rebase.c:1709
+#: builtin/rebase.c:1726
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "当前分支 %s 是最新的,强制变基。\n"
 
-#: builtin/rebase.c:1717
+#: builtin/rebase.c:1734
 msgid "The pre-rebase hook refused to rebase."
 msgstr "pre-rebase 钩子拒绝了变基操作。"
 
-#: builtin/rebase.c:1724
+#: builtin/rebase.c:1741
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "到 %s 的变更:\n"
 
-#: builtin/rebase.c:1727
+#: builtin/rebase.c:1744
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "从 %s 到 %s 的变更:\n"
 
-#: builtin/rebase.c:1752
+#: builtin/rebase.c:1769
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr "首先,回退头指针以便在其上重放您的工作...\n"
 
-#: builtin/rebase.c:1761
+#: builtin/rebase.c:1781
 msgid "Could not detach HEAD"
 msgstr "无法分离头指针"
 
-#: builtin/rebase.c:1770
+#: builtin/rebase.c:1790
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "快进 %s 到 %s。\n"
@@ -20159,7 +20600,7 @@ msgstr "快进 %s 到 %s。\n"
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
-#: builtin/receive-pack.c:1275
+#: builtin/receive-pack.c:1263
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -20185,7 +20626,7 @@ msgstr ""
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
-#: builtin/receive-pack.c:1295
+#: builtin/receive-pack.c:1283
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -20204,79 +20645,110 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:2474
+#: builtin/receive-pack.c:2476
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:2489
+#: builtin/receive-pack.c:2491
 msgid "you must specify a directory"
 msgstr "您必须指定一个目录"
 
-#: builtin/reflog.c:17
+#: builtin/reflog.c:9
+msgid "git reflog [show] [<log-options>] [<ref>]"
+msgstr "git reflog [show] [<log 选项>] [<引用>]"
+
+#: builtin/reflog.c:12
 msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--"
-"rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all] "
-"<refs>..."
+"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
+"                  [--rewrite] [--updateref] [--stale-fix]\n"
+"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
+"<refs>...]"
 msgstr ""
-"git reflog expire [--expire=<时间>] [--expire-unreachable=<时间>] [--"
-"rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all] <引"
-"用>..."
+"git reflog expire [--expire=<时间>] [--expire-unreachable=<时间>]\n"
+"                  [--rewrite] [--updateref] [--stale-fix]\n"
+"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | <"
+"引用>...]"
 
-#: builtin/reflog.c:22
+#: builtin/reflog.c:17
 msgid ""
-"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] "
-"<refs>..."
+"git reflog delete [--rewrite] [--updateref]\n"
+"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
 msgstr ""
-"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] <引"
-"用>..."
+"git reflog delete [--rewrite] [--updateref]\n"
+"                  [--dry-run | -n] [--verbose] <引用>@{<指定符>}..."
 
-#: builtin/reflog.c:25
+#: builtin/reflog.c:21
 msgid "git reflog exists <ref>"
 msgstr "git reflog exists <引用>"
 
-#: builtin/reflog.c:585 builtin/reflog.c:590
+#: builtin/reflog.c:197 builtin/reflog.c:211
 #, c-format
-msgid "'%s' is not a valid timestamp"
-msgstr "'%s' 不是一个有效的时间戳"
+msgid "invalid timestamp '%s' given to '--%s'"
+msgstr "给 '--%2$s' 的时间戳 '%1$s' 无效"
 
-#: builtin/reflog.c:631
+#: builtin/reflog.c:240 builtin/reflog.c:359
+msgid "do not actually prune any entries"
+msgstr "不要实际清除任何条目"
+
+#: builtin/reflog.c:243 builtin/reflog.c:362
+msgid ""
+"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
+msgstr "用现在前继条目的 SHA1 来重写旧的 SHA1"
+
+#: builtin/reflog.c:246 builtin/reflog.c:365
+msgid "update the reference to the value of the top reflog entry"
+msgstr "更新引用至引用日志顶部的条目"
+
+#: builtin/reflog.c:248 builtin/reflog.c:367
+msgid "print extra information on screen"
+msgstr "在屏幕上打印额外信息"
+
+#: builtin/reflog.c:249 builtin/reflog.c:253
+msgid "timestamp"
+msgstr "时间戳"
+
+#: builtin/reflog.c:250
+msgid "prune entries older than the specified time"
+msgstr "清除早于指定时间之前的条目"
+
+#: builtin/reflog.c:254
+msgid ""
+"prune entries older than <time> that are not reachable from the current tip "
+"of the branch"
+msgstr "清除早于 <时间> 且自当前分支顶部不可达的条目"
+
+#: builtin/reflog.c:258
+msgid "prune any reflog entries that point to broken commits"
+msgstr "清除指向损坏提交的引用条目"
+
+#: builtin/reflog.c:259
+msgid "process the reflogs of all references"
+msgstr "处理所有引用的引用日志"
+
+#: builtin/reflog.c:261
+msgid "limits processing to reflogs from the current worktree only"
+msgstr "仅处理当前工作树的引用日志"
+
+#: builtin/reflog.c:294
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "正在标记可达对象..."
 
-#: builtin/reflog.c:675
+#: builtin/reflog.c:338
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s 指向不存在!"
 
-#: builtin/reflog.c:731
+#: builtin/reflog.c:374
 msgid "no reflog specified to delete"
 msgstr "未指定要删除的引用日志"
 
-#: builtin/reflog.c:742
-#, c-format
-msgid "not a reflog: %s"
-msgstr "不是一个引用日志:%s"
-
-#: builtin/reflog.c:747
-#, c-format
-msgid "no reflog for '%s'"
-msgstr "没有 '%s' 的引用日志"
-
-#: builtin/reflog.c:794
+#: builtin/reflog.c:396
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "无效的引用格式:%s"
 
-#: builtin/reflog.c:803
-msgid "git reflog [ show | expire | delete | exists ]"
-msgstr "git reflog [ show | expire | delete | exists ]"
-
-#: builtin/remote.c:17
-msgid "git remote [-v | --verbose]"
-msgstr "git remote [-v | --verbose]"
-
-#: builtin/remote.c:18
+#: builtin/remote.c:19
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -20284,86 +20756,86 @@ msgstr ""
 "git remote add [-t <分支>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <名称> <地址>"
 
-#: builtin/remote.c:19 builtin/remote.c:39
-msgid "git remote rename <old> <new>"
-msgstr "git remote rename <旧名称> <新名称>"
+#: builtin/remote.c:20 builtin/remote.c:40
+msgid "git remote rename [--[no-]progress] <old> <new>"
+msgstr "git remote rename [--[no-]progress] <旧> <新>"
 
-#: builtin/remote.c:20 builtin/remote.c:44
+#: builtin/remote.c:21 builtin/remote.c:45
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
-#: builtin/remote.c:21 builtin/remote.c:49
+#: builtin/remote.c:22 builtin/remote.c:50
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <名称> (-a | --auto | -d | --delete | <分支>)"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <名称>"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <名称>"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr "git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...]"
 
-#: builtin/remote.c:25
+#: builtin/remote.c:26
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <名称> <分支>..."
 
-#: builtin/remote.c:26 builtin/remote.c:75
+#: builtin/remote.c:27 builtin/remote.c:76
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <名称>"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <名称> <新的地址> [<旧的地址>]"
 
-#: builtin/remote.c:28 builtin/remote.c:81
+#: builtin/remote.c:29 builtin/remote.c:82
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <名称> <新的地址>"
 
-#: builtin/remote.c:29 builtin/remote.c:82
+#: builtin/remote.c:30 builtin/remote.c:83
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <名称> <地址>"
 
-#: builtin/remote.c:34
+#: builtin/remote.c:35
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<选项>] <名称> <地址>"
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <名称> <分支>..."
 
-#: builtin/remote.c:55
+#: builtin/remote.c:56
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <名称> <分支>..."
 
-#: builtin/remote.c:60
+#: builtin/remote.c:61
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
-#: builtin/remote.c:65
+#: builtin/remote.c:66
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
-#: builtin/remote.c:70
+#: builtin/remote.c:71
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<选项>] [<组> | <远程>]..."
 
-#: builtin/remote.c:99
+#: builtin/remote.c:100
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
-#: builtin/remote.c:101
+#: builtin/remote.c:102
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/remote.c:131
+#: builtin/remote.c:132
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -20371,77 +20843,77 @@ msgstr ""
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
-#: builtin/remote.c:148
+#: builtin/remote.c:149
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
-#: builtin/remote.c:164
+#: builtin/remote.c:165
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
-#: builtin/remote.c:166
+#: builtin/remote.c:167
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "或不抓取任何标签(--no-tags)"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
-#: builtin/remote.c:172
+#: builtin/remote.c:173
 msgid "master branch"
 msgstr "主线分支"
 
-#: builtin/remote.c:174
+#: builtin/remote.c:175
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "把远程设置为用以推送或抓取的镜像"
 
-#: builtin/remote.c:186
+#: builtin/remote.c:187
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 
-#: builtin/remote.c:188
+#: builtin/remote.c:189
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
-#: builtin/remote.c:195 builtin/remote.c:705
+#: builtin/remote.c:196 builtin/remote.c:716
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:240
+#: builtin/remote.c:241
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
-#: builtin/remote.c:322
+#: builtin/remote.c:323
 #, c-format
 msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
 msgstr "未处理的 branch.%s.rebase=%s; 假定为 'true'"
 
-#: builtin/remote.c:366
+#: builtin/remote.c:367
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "无法得到引用规格 %s 的获取列表"
 
-#: builtin/remote.c:460 builtin/remote.c:468
+#: builtin/remote.c:461 builtin/remote.c:469
 msgid "(matching)"
 msgstr "(匹配)"
 
-#: builtin/remote.c:472
+#: builtin/remote.c:473
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:660
+#: builtin/remote.c:664
 #, c-format
 msgid "could not set '%s'"
 msgstr "不能设置 '%s'"
 
-#: builtin/remote.c:665
+#: builtin/remote.c:669
 #, c-format
 msgid ""
 "The %s configuration remote.pushDefault in:\n"
@@ -20452,17 +20924,17 @@ msgstr ""
 "\t%s:%d\n"
 "现在在为不存在的远程名 '%s' 命名"
 
-#: builtin/remote.c:696 builtin/remote.c:841 builtin/remote.c:948
+#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "没有此远程仓库:'%s'"
 
-#: builtin/remote.c:715
+#: builtin/remote.c:726
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
-#: builtin/remote.c:735
+#: builtin/remote.c:746
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -20473,17 +20945,21 @@ msgstr ""
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:775
+#: builtin/remote.c:783
+msgid "Renaming remote references"
+msgstr "正在重命名远程引用"
+
+#: builtin/remote.c:794
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:809
+#: builtin/remote.c:832
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:887
+#: builtin/remote.c:912
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -20493,118 +20969,118 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:901
+#: builtin/remote.c:926
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
-#: builtin/remote.c:1009
+#: builtin/remote.c:1034
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:1012
+#: builtin/remote.c:1037
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:1014
+#: builtin/remote.c:1039
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:1016
+#: builtin/remote.c:1041
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:1057
+#: builtin/remote.c:1082
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:1066
+#: builtin/remote.c:1091
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:1068
+#: builtin/remote.c:1093
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "交互式变基(含合并提交)到远程 %s"
 
-#: builtin/remote.c:1071
+#: builtin/remote.c:1096
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:1075
+#: builtin/remote.c:1100
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:1078
+#: builtin/remote.c:1103
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:1081
+#: builtin/remote.c:1106
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    以及和远程 %s\n"
 
-#: builtin/remote.c:1124
+#: builtin/remote.c:1149
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1127
+#: builtin/remote.c:1152
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1131
+#: builtin/remote.c:1156
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1134
+#: builtin/remote.c:1159
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1137
+#: builtin/remote.c:1162
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1144
+#: builtin/remote.c:1169
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1147
+#: builtin/remote.c:1172
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1151
+#: builtin/remote.c:1176
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1154
+#: builtin/remote.c:1179
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1222
+#: builtin/remote.c:1247
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1243
+#: builtin/remote.c:1268
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1269
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1245 builtin/remote.c:1261 builtin/remote.c:1398
+#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -20612,31 +21088,31 @@ msgstr "(无 URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1259 builtin/remote.c:1261
+#: builtin/remote.c:1284 builtin/remote.c:1286
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1263 builtin/remote.c:1265 builtin/remote.c:1267
+#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
-#: builtin/remote.c:1263
+#: builtin/remote.c:1288
 msgid "(not queried)"
 msgstr "(未查询)"
 
-#: builtin/remote.c:1265
+#: builtin/remote.c:1290
 msgid "(unknown)"
 msgstr "(未知)"
 
-#: builtin/remote.c:1269
+#: builtin/remote.c:1294
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1306
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -20644,159 +21120,159 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1284 builtin/remote.c:1310
+#: builtin/remote.c:1309 builtin/remote.c:1335
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1293
+#: builtin/remote.c:1318
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  为 'git pull' 配置的本地分支:"
 msgstr[1] "  为 'git pull' 配置的本地分支:"
 
-#: builtin/remote.c:1301
+#: builtin/remote.c:1326
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1307
+#: builtin/remote.c:1332
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  为 'git push' 配置的本地引用%s:"
 msgstr[1] "  为 'git push' 配置的本地引用%s:"
 
-#: builtin/remote.c:1328
+#: builtin/remote.c:1353
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1355
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1344
+#: builtin/remote.c:1369
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1346
+#: builtin/remote.c:1371
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1356
+#: builtin/remote.c:1381
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1364
+#: builtin/remote.c:1389
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1366
+#: builtin/remote.c:1391
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1384
+#: builtin/remote.c:1409
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为悬空状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1385
+#: builtin/remote.c:1410
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为悬空状态!"
 
-#: builtin/remote.c:1394
+#: builtin/remote.c:1419
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1395
+#: builtin/remote.c:1420
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1411
+#: builtin/remote.c:1436
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1414
+#: builtin/remote.c:1439
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1459
+#: builtin/remote.c:1484
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1523 builtin/remote.c:1579 builtin/remote.c:1649
+#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1541
+#: builtin/remote.c:1566
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1548
+#: builtin/remote.c:1573
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1565
+#: builtin/remote.c:1590
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1567
+#: builtin/remote.c:1592
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1597
+#: builtin/remote.c:1622
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1623
+#: builtin/remote.c:1648
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1625
+#: builtin/remote.c:1650
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1627
+#: builtin/remote.c:1652
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1634
+#: builtin/remote.c:1659
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1675
+#: builtin/remote.c:1700
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1683
+#: builtin/remote.c:1708
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1685
+#: builtin/remote.c:1710
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1702
+#: builtin/remote.c:1727
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
-#: builtin/repack.c:28
+#: builtin/repack.c:29
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
-#: builtin/repack.c:33
+#: builtin/repack.c:34
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -20804,144 +21280,144 @@ msgstr ""
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
-#: builtin/repack.c:201
+#: builtin/repack.c:206
 msgid "could not start pack-objects to repack promisor objects"
 msgstr "无法开始 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:275 builtin/repack.c:820
+#: builtin/repack.c:280 builtin/repack.c:824
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr "repack:期望来自 pack-objects 的完整十六进制对象 ID。"
 
-#: builtin/repack.c:299
+#: builtin/repack.c:304
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "无法完成 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:319
 #, c-format
 msgid "cannot open index for %s"
 msgstr "不能打开 %s 的索引"
 
-#: builtin/repack.c:373
+#: builtin/repack.c:378
 #, c-format
 msgid "pack %s too large to consider in geometric progression"
 msgstr "包 %s 太大,不在几何级数中考虑"
 
-#: builtin/repack.c:406 builtin/repack.c:413 builtin/repack.c:418
+#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
 #, c-format
 msgid "pack %s too large to roll up"
 msgstr "包 %s 太大导致数字溢出"
 
-#: builtin/repack.c:498
+#: builtin/repack.c:503
 #, c-format
 msgid "could not open tempfile %s for writing"
 msgstr "无法打开临时文件 %s 进行写入"
 
-#: builtin/repack.c:516
+#: builtin/repack.c:521
 msgid "could not close refs snapshot tempfile"
 msgstr "不能关闭引用快照临时文件"
 
-#: builtin/repack.c:630
+#: builtin/repack.c:634
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:632
+#: builtin/repack.c:636
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:635
+#: builtin/repack.c:639
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:637
+#: builtin/repack.c:641
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:639
+#: builtin/repack.c:643
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:641
+#: builtin/repack.c:645
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:644
+#: builtin/repack.c:648
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:646
+#: builtin/repack.c:650
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:648
+#: builtin/repack.c:652
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --delta-islands"
 
-#: builtin/repack.c:649
+#: builtin/repack.c:653
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:650
+#: builtin/repack.c:654
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:652
+#: builtin/repack.c:656
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:654
+#: builtin/repack.c:658
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:655 builtin/repack.c:661
+#: builtin/repack.c:659 builtin/repack.c:665
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:656
+#: builtin/repack.c:660
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:658
+#: builtin/repack.c:662
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:660
+#: builtin/repack.c:664
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:662
+#: builtin/repack.c:666
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:664
+#: builtin/repack.c:668
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:666
+#: builtin/repack.c:670
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
-#: builtin/repack.c:668
+#: builtin/repack.c:672
 msgid "find a geometric progression with factor <N>"
 msgstr "使用因子 <n> 查找几何级数"
 
-#: builtin/repack.c:670
+#: builtin/repack.c:674
 msgid "write a multi-pack index of the resulting packs"
 msgstr "写入结果包的多包索引"
 
-#: builtin/repack.c:680
+#: builtin/repack.c:684
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:829
+#: builtin/repack.c:833
 msgid "Nothing new to pack."
 msgstr "没有新的要打包。"
 
-#: builtin/repack.c:859
+#: builtin/repack.c:863
 #, c-format
 msgid "missing required file: %s"
 msgstr "缺少需要的文件:%s"
 
-#: builtin/repack.c:861
+#: builtin/repack.c:865
 #, c-format
 msgid "could not unlink: %s"
 msgstr "不能删除:%s"
@@ -20958,10 +21434,6 @@ msgstr "git replace [-f] --edit <对象>"
 msgid "git replace [-f] --graft <commit> [<parent>...]"
 msgstr "git replace [-f] --graft <提交> [<父提交>...]"
 
-#: builtin/replace.c:25
-msgid "git replace [-f] --convert-graft-file"
-msgstr "git replace [-f] --convert-graft-file"
-
 #: builtin/replace.c:26
 msgid "git replace -d <object>..."
 msgstr "git replace -d <对象>..."
@@ -21260,96 +21732,91 @@ msgid "HEAD is now at %s"
 msgstr "HEAD 现在位于 %s"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:299
+#: builtin/reset.c:304
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:396 builtin/stash.c:606 builtin/stash.c:680
-#: builtin/stash.c:704
+#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
+#: builtin/stash.c:693
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:404
+msgid "skip refreshing the index after reset"
+msgstr "重置后跳过刷新索引"
+
+#: builtin/reset.c:406
 msgid "reset HEAD and index"
 msgstr "重置 HEAD 和索引"
 
-#: builtin/reset.c:399
+#: builtin/reset.c:407
 msgid "reset only HEAD"
 msgstr "只重置 HEAD"
 
-#: builtin/reset.c:401 builtin/reset.c:403
+#: builtin/reset.c:409 builtin/reset.c:411
 msgid "reset HEAD, index and working tree"
 msgstr "重置 HEAD、索引和工作区"
 
-#: builtin/reset.c:405
+#: builtin/reset.c:413
 msgid "reset HEAD but keep local changes"
 msgstr "重置 HEAD 但保存本地变更"
 
-#: builtin/reset.c:411
+#: builtin/reset.c:419
 msgid "record only the fact that removed paths will be added later"
 msgstr "将删除的路径标记为稍后添加"
 
-#: builtin/reset.c:445
+#: builtin/reset.c:452
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
-#: builtin/reset.c:453
+#: builtin/reset.c:460
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "无法将 '%s' 解析为一个有效的树对象。"
 
-#: builtin/reset.c:472
+#: builtin/reset.c:479
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:474
+#: builtin/reset.c:481
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:489
+#: builtin/reset.c:496
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
-#: builtin/reset.c:520
+#: builtin/reset.c:527
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
-#: builtin/reset.c:523
+#: builtin/reset.c:530
 #, c-format
 msgid ""
-"\n"
-"It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
-"use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
-"to make this the default.\n"
-msgstr ""
-"\n"
-"重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
-"将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
+"It took %.2f seconds to refresh the index after reset.  You can use\n"
+"'--no-refresh' to avoid this."
+msgstr "在重置后花了 %.2f 秒来刷新索引。使用 '--no-refresh' 以避免之。"
 
-#: builtin/reset.c:541
+#: builtin/reset.c:547
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
-#: builtin/reset.c:546
+#: builtin/reset.c:552
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:602
-msgid "object filtering requires --objects"
-msgstr "对象过滤需要 --objects"
-
-#: builtin/rev-list.c:674
+#: builtin/rev-list.c:659
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-list.c:679
+#: builtin/rev-list.c:664
 #, c-format
 msgid "marked counting and '%s' cannot be used together"
 msgstr "标记计数和 '%s' 不能同时使用"
@@ -21691,11 +22158,11 @@ msgstr "字段"
 msgid "group by field"
 msgstr "按字段分组"
 
-#: builtin/shortlog.c:394
+#: builtin/shortlog.c:395
 msgid "too many arguments given outside repository"
 msgstr "仓库外执行提供了太多的参数"
 
-#: builtin/show-branch.c:13
+#: builtin/show-branch.c:14
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -21707,119 +22174,119 @@ msgstr ""
 "                [--more=<n> | --list | --independent | --merge-base]\n"
 "                [--no-name | --sha1-name] [--topics] [(<版本> | <通配符>)...]"
 
-#: builtin/show-branch.c:17
+#: builtin/show-branch.c:18
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<起始点>]] [--list] [<引用>]"
 
-#: builtin/show-branch.c:395
+#: builtin/show-branch.c:396
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "忽略 %s,无法处理 %d 个以上的引用"
 msgstr[1] "忽略 %s,无法处理 %d 个以上的引用"
 
-#: builtin/show-branch.c:547
+#: builtin/show-branch.c:548
 #, c-format
 msgid "no matching refs with %s"
 msgstr "没有和 %s 匹配的引用"
 
-#: builtin/show-branch.c:644
+#: builtin/show-branch.c:645
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:646
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:649
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:651
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:658
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:660
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:662
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:664
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:666
+#: builtin/show-branch.c:667
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:669
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:671
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
-#: builtin/show-branch.c:673
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:675
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从起始点开始的 <n> 条最近的引用日志记录"
 
-#: builtin/show-branch.c:734
+#: builtin/show-branch.c:735
 msgid "no branches given, and HEAD is not valid"
 msgstr "未提供分支,且 HEAD 无效"
 
-#: builtin/show-branch.c:737
+#: builtin/show-branch.c:738
 msgid "--reflog option needs one branch name"
 msgstr "选项 --reflog 需要一个分支名"
 
-#: builtin/show-branch.c:740
+#: builtin/show-branch.c:741
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "一次只能显示 %d 个条目。"
 msgstr[1] "一次只能显示 %d 个条目。"
 
-#: builtin/show-branch.c:744
+#: builtin/show-branch.c:745
 #, c-format
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
-#: builtin/show-branch.c:830
+#: builtin/show-branch.c:831
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "不能处理 %d 个以上的版本。"
 msgstr[1] "不能处理 %d 个以上的版本。"
 
-#: builtin/show-branch.c:834
+#: builtin/show-branch.c:835
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' 不是一个有效的引用。"
 
-#: builtin/show-branch.c:837
+#: builtin/show-branch.c:838
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "不能找到提交 %s(%s)"
@@ -21876,120 +22343,143 @@ msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
-#: builtin/sparse-checkout.c:22
+#: builtin/sparse-checkout.c:23
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <选项>"
 
-#: builtin/sparse-checkout.c:46
-msgid "git sparse-checkout list"
-msgstr "git sparse-checkout list"
-
-#: builtin/sparse-checkout.c:60
+#: builtin/sparse-checkout.c:61
 msgid "this worktree is not sparse"
 msgstr "这个工作区不是稀疏的"
 
-#: builtin/sparse-checkout.c:75
+#: builtin/sparse-checkout.c:76
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr "本工作区不是稀疏模式(稀疏检出文件可能不存在)"
 
-#: builtin/sparse-checkout.c:176
+#: builtin/sparse-checkout.c:177
 #, c-format
 msgid ""
 "directory '%s' contains untracked files, but is not in the sparse-checkout "
 "cone"
 msgstr "目录 '%s' 包括了未跟踪文件,但不在稀疏检出锥中"
 
-#: builtin/sparse-checkout.c:184
+#: builtin/sparse-checkout.c:185
 #, c-format
 msgid "failed to remove directory '%s'"
 msgstr "无法删除目录 '%s'"
 
-#: builtin/sparse-checkout.c:324
+#: builtin/sparse-checkout.c:327
 msgid "failed to create directory for sparse-checkout file"
 msgstr "无法为稀疏检出文件创建目录"
 
-#: builtin/sparse-checkout.c:365
-msgid "unable to upgrade repository format to enable worktreeConfig"
-msgstr "无法升级仓库格式以启用 worktreeConfig"
-
-#: builtin/sparse-checkout.c:367
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr "无法设置 extensions.worktreeConfig"
+#: builtin/sparse-checkout.c:366
+msgid "failed to initialize worktree config"
+msgstr "无法初始化工作树配置"
 
 #: builtin/sparse-checkout.c:411
 msgid "failed to modify sparse-index config"
 msgstr "无法修改 sparse-index 配置"
 
-#: builtin/sparse-checkout.c:422
-msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
-msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:729
-#: builtin/sparse-checkout.c:778
+#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
+#: builtin/sparse-checkout.c:847
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "初始化稀疏检出为锥形模式"
 
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:731
-#: builtin/sparse-checkout.c:780
+#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
+#: builtin/sparse-checkout.c:849
 msgid "toggle the use of a sparse index"
 msgstr "切换稀疏索引的使用"
 
-#: builtin/sparse-checkout.c:476
+#: builtin/sparse-checkout.c:479
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: builtin/sparse-checkout.c:528
+#: builtin/sparse-checkout.c:531
 #, c-format
 msgid "could not normalize path %s"
 msgstr "无法规范化路径 %s"
 
-#: builtin/sparse-checkout.c:557
+#: builtin/sparse-checkout.c:560
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "无法为 C 语言风格的字符串 '%s' 去引号"
 
-#: builtin/sparse-checkout.c:612 builtin/sparse-checkout.c:640
+#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "无法加载现存的稀疏检出模式"
 
-#: builtin/sparse-checkout.c:616
+#: builtin/sparse-checkout.c:619
 msgid "existing sparse-checkout patterns do not use cone mode"
 msgstr "已有的稀疏检出模式不使用锥形模式"
 
-#: builtin/sparse-checkout.c:682
-msgid "git sparse-checkout add (--stdin | <patterns>)"
-msgstr "git sparse-checkout add (--stdin | <模式>)"
+#: builtin/sparse-checkout.c:707
+msgid "please run from the toplevel directory in non-cone mode"
+msgstr "请在非锥形模式的顶级目录中运行"
 
-#: builtin/sparse-checkout.c:694 builtin/sparse-checkout.c:733
+#: builtin/sparse-checkout.c:712
+msgid "specify directories rather than patterns (no leading slash)"
+msgstr "指定目录而不是模式(无前导斜线)"
+
+#: builtin/sparse-checkout.c:714
+msgid ""
+"specify directories rather than patterns.  If your directory starts with a "
+"'!', pass --skip-checks"
+msgstr "指定目录而不是模式。若你的目录以 '!' 开头,传入 --skip-checks"
+
+#: builtin/sparse-checkout.c:716
+msgid ""
+"specify directories rather than patterns.  If your directory really has any "
+"of '*?[]\\' in it, pass --skip-checks"
+msgstr ""
+"指定目录而不是模式。若你的目录真的包含 '*?[]\\' 中的字符,传入 --skip-checks"
+
+#: builtin/sparse-checkout.c:732
+#, c-format
+msgid ""
+"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
+"skip-checks"
+msgstr ""
+"'%s' 不是目录;若无论如何都要将它当作目录,使用 --skip-checks 重新运行"
+
+#: builtin/sparse-checkout.c:734
+#, c-format
+msgid ""
+"pass a leading slash before paths such as '%s' if you want a single file "
+"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
+msgstr ""
+"如果您想要单独一个文件,在类似于 '%s' 的路径前传入前置斜线 (参见 git-sparse-"
+"checkout 手册中的 NON-CONE PROBLEMS)。"
+
+#: builtin/sparse-checkout.c:739
+msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
+msgstr "git sparse-checkout add [--skip-checks] (--stdin | <模式>)"
+
+#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
+msgid ""
+"skip some sanity checks on the given paths that might give false positives"
+msgstr "跳过可能对一些目录产生假阳性错误的合理性检查"
+
+#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
 msgid "read patterns from standard in"
 msgstr "从标准输入读取模式"
 
-#: builtin/sparse-checkout.c:699
+#: builtin/sparse-checkout.c:760
 msgid "no sparse-checkout to add to"
 msgstr "没有可以添加到的稀疏检出"
 
-#: builtin/sparse-checkout.c:712
+#: builtin/sparse-checkout.c:775
 msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] (--stdin | "
-"<patterns>)"
+"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
+"(--stdin | <patterns>)"
 msgstr ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] (--stdin | <模式"
-">)"
-
-#: builtin/sparse-checkout.c:765
-msgid "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
-msgstr "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
+"(--stdin | <模式>)"
 
-#: builtin/sparse-checkout.c:785
+#: builtin/sparse-checkout.c:854
 msgid "must be in a sparse-checkout to reapply sparsity patterns"
 msgstr "必须在稀疏检出中重应用稀疏模式"
 
-#: builtin/sparse-checkout.c:803
-msgid "git sparse-checkout disable"
-msgstr "git sparse-checkout disable"
-
-#: builtin/sparse-checkout.c:845
+#: builtin/sparse-checkout.c:914
 msgid "error while refreshing working directory"
 msgstr "刷新工作目录时出错"
 
@@ -22131,167 +22621,151 @@ msgstr "索引未从贮藏中恢复。"
 msgid "could not restore untracked files from stash"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: builtin/stash.c:608 builtin/stash.c:706
+#: builtin/stash.c:608 builtin/stash.c:695
 msgid "attempt to recreate the index"
 msgstr "尝试重建索引"
 
-#: builtin/stash.c:652
+#: builtin/stash.c:641
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "丢弃了 %s(%s)"
 
-#: builtin/stash.c:655
+#: builtin/stash.c:644
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s:无法丢弃贮藏条目"
 
-#: builtin/stash.c:668
+#: builtin/stash.c:657
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' 不是一个贮藏引用"
 
-#: builtin/stash.c:718
+#: builtin/stash.c:707
 msgid "The stash entry is kept in case you need it again."
 msgstr "贮藏条目被保留以备您再次需要。"
 
-#: builtin/stash.c:741
+#: builtin/stash.c:730
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: builtin/stash.c:825
+#: builtin/stash.c:809
 msgid "failed to parse tree"
 msgstr "无法解析树"
 
-#: builtin/stash.c:836
+#: builtin/stash.c:820
 msgid "failed to unpack trees"
 msgstr "无法解包目录树"
 
-#: builtin/stash.c:856
+#: builtin/stash.c:840
 msgid "include untracked files in the stash"
 msgstr "在贮藏中包含未跟踪文件"
 
-#: builtin/stash.c:859
+#: builtin/stash.c:843
 msgid "only show untracked files in the stash"
 msgstr "仅显示贮藏中的未跟踪文件"
 
-#: builtin/stash.c:946 builtin/stash.c:983
+#: builtin/stash.c:930 builtin/stash.c:967
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "无法用 %2$s 更新 %1$s"
 
-#: builtin/stash.c:964 builtin/stash.c:1678 builtin/stash.c:1750
+#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
 msgid "stash message"
 msgstr "贮藏说明"
 
-#: builtin/stash.c:974
+#: builtin/stash.c:958
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" 需要一个 <提交> 参数"
 
-#: builtin/stash.c:1159
+#: builtin/stash.c:1143
 msgid "No staged changes"
 msgstr "没有暂存的修改"
 
-#: builtin/stash.c:1220
+#: builtin/stash.c:1204
 msgid "No changes selected"
 msgstr "没有选择变更"
 
-#: builtin/stash.c:1320
+#: builtin/stash.c:1304
 msgid "You do not have the initial commit yet"
 msgstr "您尚未建立初始提交"
 
-#: builtin/stash.c:1347
+#: builtin/stash.c:1331
 msgid "Cannot save the current index state"
 msgstr "无法保存当前索引状态"
 
-#: builtin/stash.c:1356
+#: builtin/stash.c:1340
 msgid "Cannot save the untracked files"
 msgstr "无法保存未跟踪文件"
 
-#: builtin/stash.c:1367 builtin/stash.c:1386
+#: builtin/stash.c:1351 builtin/stash.c:1370
 msgid "Cannot save the current worktree state"
 msgstr "无法保存当前工作区状态"
 
-#: builtin/stash.c:1377
+#: builtin/stash.c:1361
 msgid "Cannot save the current staged state"
 msgstr "无法保存当前暂存状态"
 
-#: builtin/stash.c:1414
+#: builtin/stash.c:1398
 msgid "Cannot record working tree state"
 msgstr "不能记录工作区状态"
 
-#: builtin/stash.c:1463
+#: builtin/stash.c:1447
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
 
-#: builtin/stash.c:1474
+#: builtin/stash.c:1458
 msgid "Can't use --staged and --include-untracked or --all at the same time"
 msgstr "不能同时使用参数 --staged 和 --include-untracked 或 --all"
 
-#: builtin/stash.c:1492
+#: builtin/stash.c:1476
 msgid "Did you forget to 'git add'?"
 msgstr "您是否忘了执行 'git add'?"
 
-#: builtin/stash.c:1507
+#: builtin/stash.c:1491
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
 
-#: builtin/stash.c:1514
+#: builtin/stash.c:1498
 msgid "Cannot initialize stash"
 msgstr "无法初始化贮藏"
 
-#: builtin/stash.c:1529
+#: builtin/stash.c:1513
 msgid "Cannot save the current status"
 msgstr "无法保存当前状态"
 
-#: builtin/stash.c:1534
+#: builtin/stash.c:1518
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "保存工作目录和索引状态 %s"
 
-#: builtin/stash.c:1627
+#: builtin/stash.c:1615
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: builtin/stash.c:1667 builtin/stash.c:1739
+#: builtin/stash.c:1656 builtin/stash.c:1728
 msgid "keep index"
 msgstr "保持索引"
 
-#: builtin/stash.c:1669 builtin/stash.c:1741
+#: builtin/stash.c:1658 builtin/stash.c:1730
 msgid "stash staged changes only"
 msgstr "只贮藏暂存的变更"
 
-#: builtin/stash.c:1671 builtin/stash.c:1743
+#: builtin/stash.c:1660 builtin/stash.c:1732
 msgid "stash in patch mode"
 msgstr "以补丁模式贮藏"
 
-#: builtin/stash.c:1672 builtin/stash.c:1744
+#: builtin/stash.c:1661 builtin/stash.c:1733
 msgid "quiet mode"
 msgstr "静默模式"
 
-#: builtin/stash.c:1674 builtin/stash.c:1746
+#: builtin/stash.c:1663 builtin/stash.c:1735
 msgid "include untracked files in stash"
 msgstr "贮藏中包含未跟踪文件"
 
-#: builtin/stash.c:1676 builtin/stash.c:1748
+#: builtin/stash.c:1665 builtin/stash.c:1737
 msgid "include ignore files"
 msgstr "包含忽略的文件"
 
-#: builtin/stash.c:1783
-msgid ""
-"the stash.useBuiltin support has been removed!\n"
-"See its entry in 'git help config' for details."
-msgstr ""
-"对 stash.useBuiltin 的支持已被删除!\n"
-"详见 'git help config' 中的条目。"
-
-#: builtin/stripspace.c:18
-msgid "git stripspace [-s | --strip-comments]"
-msgstr "git stripspace [-s | --strip-comments]"
-
-#: builtin/stripspace.c:19
-msgid "git stripspace [-c | --comment-lines]"
-msgstr "git stripspace [-c | --comment-lines]"
-
 #: builtin/stripspace.c:37
 msgid "skip and remove all lines starting with comment character"
 msgstr "跳过和移除所有的注释行"
@@ -22300,47 +22774,43 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:46 builtin/submodule--helper.c:2668
+#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 
-#: builtin/submodule--helper.c:63
-msgid "submodule--helper print-default-remote takes no arguments"
-msgstr "submodule--helper print-default-remote 不带参数"
-
-#: builtin/submodule--helper.c:101
+#: builtin/submodule--helper.c:103
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:211
+#: builtin/submodule--helper.c:213
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1859
+#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:418
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:468 builtin/submodule--helper.c:605
-#: builtin/submodule--helper.c:628
+#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
+#: builtin/submodule--helper.c:640
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组路径 '%s' 的 url"
 
-#: builtin/submodule--helper.c:520
+#: builtin/submodule--helper.c:528
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "进入 '%s'\n"
 
-#: builtin/submodule--helper.c:523
+#: builtin/submodule--helper.c:531
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -22349,7 +22819,7 @@ msgstr ""
 "对 %s 执行 run_command 返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:545
+#: builtin/submodule--helper.c:553
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -22359,158 +22829,158 @@ msgstr ""
 "在递归 %s 的子模组执行 run_command 时返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:561
+#: builtin/submodule--helper.c:569
 msgid "suppress output of entering each submodule command"
 msgstr "抑制进入每一个子模组命令的输出"
 
-#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:864
-#: builtin/submodule--helper.c:1453
+#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:1458
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:568
+#: builtin/submodule--helper.c:576
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <命令>"
 
-#: builtin/submodule--helper.c:642
+#: builtin/submodule--helper.c:654
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:646
+#: builtin/submodule--helper.c:658
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)已对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:656
+#: builtin/submodule--helper.c:668
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:663
+#: builtin/submodule--helper.c:675
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:685
+#: builtin/submodule--helper.c:697
 msgid "suppress output for initializing a submodule"
 msgstr "抑制子模组初始化的输出"
 
-#: builtin/submodule--helper.c:690
+#: builtin/submodule--helper.c:702
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<选项>] [<路径>]"
 
-#: builtin/submodule--helper.c:763 builtin/submodule--helper.c:898
+#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:811
+#: builtin/submodule--helper.c:823
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
-#: builtin/submodule--helper.c:838 builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "无法递归进入子模组 '%s'"
 
-#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1590
+#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
 msgid "suppress submodule status output"
 msgstr "抑制子模组状态输出"
 
-#: builtin/submodule--helper.c:863
+#: builtin/submodule--helper.c:875
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:869
+#: builtin/submodule--helper.c:881
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
-#: builtin/submodule--helper.c:893
+#: builtin/submodule--helper.c:905
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:965
+#: builtin/submodule--helper.c:977
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr "* %s %s(数据对象)->%s(子模组)"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:980
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(子模组)->%s(数据对象)"
 
-#: builtin/submodule--helper.c:981
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1031
+#: builtin/submodule--helper.c:1043
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "不能从 '%s' 创建哈希对象"
 
-#: builtin/submodule--helper.c:1035
+#: builtin/submodule--helper.c:1047
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "意外的模式 %o\n"
 
-#: builtin/submodule--helper.c:1276
+#: builtin/submodule--helper.c:1288
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:1278
+#: builtin/submodule--helper.c:1290
 msgid "compare the commit in the index with that in the submodule HEAD"
 msgstr "比较存储在索引和子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:1280
+#: builtin/submodule--helper.c:1292
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr "跳过设置了 'ignore_config' 为 'all' 的子模组"
 
-#: builtin/submodule--helper.c:1282
+#: builtin/submodule--helper.c:1294
 msgid "limit the summary size"
 msgstr "限制总结的大小"
 
-#: builtin/submodule--helper.c:1287
+#: builtin/submodule--helper.c:1299
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr "git submodule--helper summary [<选项>] [<提交>] [--] [<路径>]"
 
-#: builtin/submodule--helper.c:1311
+#: builtin/submodule--helper.c:1323
 msgid "could not fetch a revision for HEAD"
 msgstr "不能为 HEAD 获取一个版本"
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1384
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
-#: builtin/submodule--helper.c:1379
+#: builtin/submodule--helper.c:1390
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1399
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
-#: builtin/submodule--helper.c:1404
+#: builtin/submodule--helper.c:1409
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
-#: builtin/submodule--helper.c:1451
+#: builtin/submodule--helper.c:1456
 msgid "suppress output of synchronizing submodule url"
 msgstr "抑制子模组 URL 同步的输出"
 
-#: builtin/submodule--helper.c:1458
+#: builtin/submodule--helper.c:1463
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
-#: builtin/submodule--helper.c:1508
+#: builtin/submodule--helper.c:1513
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory. This will be replaced "
@@ -22519,52 +22989,52 @@ msgstr ""
 "子模组工作区 '%s' 包含一个 .git 目录。这将会用 absorbgitdirs 子命令替换成一"
 "个 .git 文件。"
 
-#: builtin/submodule--helper.c:1525
+#: builtin/submodule--helper.c:1530
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: builtin/submodule--helper.c:1533
+#: builtin/submodule--helper.c:1538
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:1535
+#: builtin/submodule--helper.c:1540
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
-#: builtin/submodule--helper.c:1546
+#: builtin/submodule--helper.c:1551
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
-#: builtin/submodule--helper.c:1562
+#: builtin/submodule--helper.c:1567
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:1591
+#: builtin/submodule--helper.c:1596
 msgid "remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
-#: builtin/submodule--helper.c:1592
+#: builtin/submodule--helper.c:1597
 msgid "unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1597
+#: builtin/submodule--helper.c:1602
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
-#: builtin/submodule--helper.c:1611
+#: builtin/submodule--helper.c:1616
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: builtin/submodule--helper.c:1656
+#: builtin/submodule--helper.c:1665
 msgid ""
 "An alternate computed from a superproject's alternate is invalid.\n"
 "To allow Git to clone without an alternate in such a case, set\n"
@@ -22576,100 +23046,101 @@ msgstr ""
 "Git 不使用备用仓库克隆,或者等效地使用 '--reference-if-able' 而非\n"
 "'--reference' 来克隆。"
 
-#: builtin/submodule--helper.c:1701 builtin/submodule--helper.c:1704
+#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:1740
+#: builtin/submodule--helper.c:1749
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1747
+#: builtin/submodule--helper.c:1756
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocation 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1772
+#: builtin/submodule--helper.c:1781
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr "拒绝在另一个子模组的 git 目录中创建/使用 '%s'"
 
-#: builtin/submodule--helper.c:1813
+#: builtin/submodule--helper.c:1826
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:1818
+#: builtin/submodule--helper.c:1831
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "目录非空:'%s'"
 
-#: builtin/submodule--helper.c:1830
+#: builtin/submodule--helper.c:1843
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:1862
+#: builtin/submodule--helper.c:1876
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1865
+#: builtin/submodule--helper.c:1879
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1868
+#: builtin/submodule--helper.c:1882
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1876 builtin/submodule--helper.c:3265
+#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1879 builtin/submodule--helper.c:2526
-#: builtin/submodule--helper.c:3258
+#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
+#: builtin/submodule--helper.c:3376
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:2528
+#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
 msgid "disallow cloning into non-empty directory"
 msgstr "不允许克隆到一个非空目录"
 
-#: builtin/submodule--helper.c:1888
+#: builtin/submodule--helper.c:1903
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
-"<url> --path <path>"
+"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
+"<filter-spec>]--url <url> --path <path>"
 msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
-"[--name <名字>] [--depth <深度>] [--single-branch] --url <url> --path <路径>"
+"[--name <名字>] [--depth <深度>] [--single-branch] [--filter <过滤器规格>] --"
+"url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:1925
+#: builtin/submodule--helper.c:1943
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "子模组路径 '%2$s' 的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:1929
+#: builtin/submodule--helper.c:1947
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr "为子模组路径 '%2$s' 配置的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:2044
+#: builtin/submodule--helper.c:2041
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组路径 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:2048
+#: builtin/submodule--helper.c:2045
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:2078
+#: builtin/submodule--helper.c:2075
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:2107
+#: builtin/submodule--helper.c:2104
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
@@ -22684,226 +23155,254 @@ msgstr "克隆 '%s' 失败。按计划重试"
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:2373
+#: builtin/submodule--helper.c:2371
 #, c-format
 msgid "Unable to checkout '%s' in submodule path '%s'"
 msgstr "无法在子模组路径 '%2$s' 中检出 '%1$s'"
 
-#: builtin/submodule--helper.c:2377
+#: builtin/submodule--helper.c:2375
 #, c-format
 msgid "Unable to rebase '%s' in submodule path '%s'"
 msgstr "无法在子模组路径 '%2$s' 中变基 '%1$s'"
 
-#: builtin/submodule--helper.c:2381
+#: builtin/submodule--helper.c:2379
 #, c-format
 msgid "Unable to merge '%s' in submodule path '%s'"
 msgstr "无法在子模组路径 '%2$s' 中合并 '%1$s'"
 
-#: builtin/submodule--helper.c:2385
+#: builtin/submodule--helper.c:2383
 #, c-format
 msgid "Execution of '%s %s' failed in submodule path '%s'"
 msgstr "在子模组路径 '%3$s' 中执行 '%1$s %2$s' 失败"
 
-#: builtin/submodule--helper.c:2409
+#: builtin/submodule--helper.c:2402
 #, c-format
 msgid "Submodule path '%s': checked out '%s'\n"
 msgstr "子模组路径 '%s':检出 '%s'\n"
 
-#: builtin/submodule--helper.c:2413
+#: builtin/submodule--helper.c:2406
 #, c-format
 msgid "Submodule path '%s': rebased into '%s'\n"
 msgstr "子模组路径 '%s':变基至 '%s'\n"
 
-#: builtin/submodule--helper.c:2417
+#: builtin/submodule--helper.c:2410
 #, c-format
 msgid "Submodule path '%s': merged in '%s'\n"
 msgstr "子模组路径 '%s':合并入 '%s'\n"
 
-#: builtin/submodule--helper.c:2421
+#: builtin/submodule--helper.c:2414
 #, c-format
 msgid "Submodule path '%s': '%s %s'\n"
 msgstr "子模组路径 '%s':'%s %s'\n"
 
-#: builtin/submodule--helper.c:2445
+#: builtin/submodule--helper.c:2438
 #, c-format
 msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
 msgstr "无法在子模组路径 '%s' 中获取;尝试直接获取 %s:"
 
-#: builtin/submodule--helper.c:2454
+#: builtin/submodule--helper.c:2447
 #, c-format
 msgid ""
 "Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
 "of that commit failed."
 msgstr "获取了子模组路径 '%s',但是它没有包含 %s。直接获取该提交失败。"
 
-#: builtin/submodule--helper.c:2505 builtin/submodule--helper.c:2575
-#: builtin/submodule--helper.c:2813
+#: builtin/submodule--helper.c:2481
+#, c-format
+msgid ""
+"Submodule (%s) branch configured to inherit branch from superproject, but "
+"the superproject is not on any branch"
+msgstr "子模组(%s)的分支配置为继承上级项目的分支,但是上级项目不在任何分支上"
+
+#: builtin/submodule--helper.c:2499
+#, c-format
+msgid "could not get a repository handle for submodule '%s'"
+msgstr "无法获得子模组 '%s' 的仓库句柄"
+
+#: builtin/submodule--helper.c:2588
+#, c-format
+msgid "Unable to find current revision in submodule path '%s'"
+msgstr "无法在子模组路径 '%s' 中找到当前版本"
+
+#: builtin/submodule--helper.c:2599
+#, c-format
+msgid "Unable to fetch in submodule path '%s'"
+msgstr "无法在子模组路径 '%s' 中获取"
+
+#: builtin/submodule--helper.c:2604
+#, c-format
+msgid "Unable to find %s revision in submodule path '%s'"
+msgstr "无法在子模组路径 '%2$s' 中找到当前版本 %1$s"
+
+#: builtin/submodule--helper.c:2640
+#, c-format
+msgid "Failed to recurse into submodule path '%s'"
+msgstr "无法递归进入子模组路径 '%s'"
+
+#: builtin/submodule--helper.c:2699
+msgid "force checkout updates"
+msgstr "强制检出更新"
+
+#: builtin/submodule--helper.c:2701
+msgid "initialize uninitialized submodules before update"
+msgstr "在更新前初始化尚未初始化的子模组"
+
+#: builtin/submodule--helper.c:2703
+msgid "use SHA-1 of submodule's remote tracking branch"
+msgstr "使用子模组远程追踪分支的 SHA-1"
+
+#: builtin/submodule--helper.c:2705
+msgid "traverse submodules recursively"
+msgstr "递归遍历子模组"
+
+#: builtin/submodule--helper.c:2707
+msgid "don't fetch new objects from the remote site"
+msgstr "不要从远程地址获取新对象"
+
+#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:2508 builtin/submodule--helper.c:2580
+#: builtin/submodule--helper.c:2713
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:2512 builtin/submodule--helper.c:2578
+#: builtin/submodule--helper.c:2717
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:2518
+#: builtin/submodule--helper.c:2723
 msgid "create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:2521
+#: builtin/submodule--helper.c:2726
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:2523
+#: builtin/submodule--helper.c:2728
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:2524
+#: builtin/submodule--helper.c:2729
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:2535
-msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
-msgstr "git submodule--helper update-clone [--prefix=<路径>] [<路径>...]"
+#: builtin/submodule--helper.c:2741
+msgid ""
+"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
+"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
+"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
+"[--] [<path>...]"
+msgstr ""
+"git submodule [--quiet] update [--init [--filter=<过滤器规格>]] [--remote] [-"
+"N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
+"shallow] [--reference <仓库>] [--recursive] [--[no-]single-branch] [--] [<路"
+"径>...]"
 
-#: builtin/submodule--helper.c:2548
+#: builtin/submodule--helper.c:2767
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:2566
-msgid "suppress output for update by rebase or merge"
-msgstr "抑制变基或合并更新的输出"
-
-#: builtin/submodule--helper.c:2567
-msgid "force checkout updates"
-msgstr "强制检出更新"
-
-#: builtin/submodule--helper.c:2569
-msgid "don't fetch new objects from the remote site"
-msgstr "不要从远程地址获取新对象"
-
-#: builtin/submodule--helper.c:2571
-msgid "overrides update mode in case the repository is a fresh clone"
-msgstr "当仓库是新的克隆时,覆盖更新模式"
-
-#: builtin/submodule--helper.c:2572
-msgid "depth for shallow fetch"
-msgstr "浅获取的深度"
-
-#: builtin/submodule--helper.c:2582
-msgid "sha1"
-msgstr "sha1"
-
-#: builtin/submodule--helper.c:2583
-msgid "SHA1 expected by superproject"
-msgstr "上层项目期待的 SHA1"
-
-#: builtin/submodule--helper.c:2585
-msgid "subsha1"
-msgstr "subsha1"
-
-#: builtin/submodule--helper.c:2586
-msgid "SHA1 of submodule's HEAD"
-msgstr "子模块头指针的 SHA1"
-
-#: builtin/submodule--helper.c:2592
-msgid "git submodule--helper run-update-procedure [<options>] <path>"
-msgstr "git submodule--helper run-update-procedure [<选项>] <路径>"
-
-#: builtin/submodule--helper.c:2663
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-msgstr "子模组(%s)的分支配置为继承上级项目的分支,但是上级项目不在任何分支上"
-
-#: builtin/submodule--helper.c:2781
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr "无法获得子模组 '%s' 的仓库句柄"
-
-#: builtin/submodule--helper.c:2814
+#: builtin/submodule--helper.c:2893
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:2820
+#: builtin/submodule--helper.c:2899
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<选项>] [<路径>...]"
 
-#: builtin/submodule--helper.c:2876
+#: builtin/submodule--helper.c:2955
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "检查写入 .gitmodules 文件是否安全"
 
-#: builtin/submodule--helper.c:2879
+#: builtin/submodule--helper.c:2958
 msgid "unset the config in the .gitmodules file"
 msgstr "取消 .gitmodules 文件中的设置"
 
-#: builtin/submodule--helper.c:2884
+#: builtin/submodule--helper.c:2963
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <名称> [<值>]"
 
-#: builtin/submodule--helper.c:2885
+#: builtin/submodule--helper.c:2964
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <名称>"
 
-#: builtin/submodule--helper.c:2886
-msgid "git submodule--helper config --check-writeable"
-msgstr "git submodule--helper config --check-writeable"
-
-#: builtin/submodule--helper.c:2905 builtin/submodule--helper.c:3121
-#: builtin/submodule--helper.c:3277
+#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
+#: builtin/submodule--helper.c:3395
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "请确认 .gitmodules 文件在工作区里"
 
-#: builtin/submodule--helper.c:2921
+#: builtin/submodule--helper.c:3000
 msgid "suppress output for setting url of a submodule"
 msgstr "抑制设置子模组 URL 的输出"
 
-#: builtin/submodule--helper.c:2925
+#: builtin/submodule--helper.c:3004
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper set-url [--quiet] <路径> <新地址>"
 
-#: builtin/submodule--helper.c:2958
+#: builtin/submodule--helper.c:3037
 msgid "set the default tracking branch to master"
 msgstr "设置默认跟踪分支为 master"
 
-#: builtin/submodule--helper.c:2960
+#: builtin/submodule--helper.c:3039
 msgid "set the default tracking branch"
 msgstr "设置默认跟踪分支"
 
-#: builtin/submodule--helper.c:2964
+#: builtin/submodule--helper.c:3043
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr "git submodule--helper set-branch [-q|--quiet] (-d|--default) <路径>"
 
-#: builtin/submodule--helper.c:2965
+#: builtin/submodule--helper.c:3044
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <分支> <路径>"
 
-#: builtin/submodule--helper.c:2972
+#: builtin/submodule--helper.c:3051
 msgid "--branch or --default required"
 msgstr "需要 --branch 或 --default"
 
-#: builtin/submodule--helper.c:3038
+#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
+msgid "print only error messages"
+msgstr "只打印错误消息"
+
+#: builtin/submodule--helper.c:3073
+msgid "force creation"
+msgstr "强制创建"
+
+#: builtin/submodule--helper.c:3081
+msgid "show whether the branch would be created"
+msgstr "显示是否将要创建分支"
+
+#: builtin/submodule--helper.c:3085
+msgid ""
+"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
+"quiet] [-t|--track] [-n|--dry-run] <name> <start_oid> <start_name>"
+msgstr ""
+"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
+"quiet] [-t|--track] [-n|--dry-run] <名称> <起始对象 ID> <起始名称>"
+
+#: builtin/submodule--helper.c:3097
+#, c-format
+msgid "creating branch '%s'"
+msgstr "正在创建分支 '%s'"
+
+#: builtin/submodule--helper.c:3155
 #, c-format
 msgid "Adding existing repo at '%s' to the index\n"
 msgstr "向索引中添加位于 '%s' 的已存在的仓库\n"
 
-#: builtin/submodule--helper.c:3041
+#: builtin/submodule--helper.c:3158
 #, c-format
 msgid "'%s' already exists and is not a valid git repo"
 msgstr "'%s' 已存在并且不是一个有效的 git 仓库"
 
-#: builtin/submodule--helper.c:3054
+#: builtin/submodule--helper.c:3171
 #, c-format
 msgid "A git directory for '%s' is found locally with remote(s):\n"
 msgstr "发现一个本地 git 目录 '%s' 及其远程仓库:\n"
 
-#: builtin/submodule--helper.c:3061
+#: builtin/submodule--helper.c:3178
 #, c-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -22918,83 +23417,79 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库,或者如果您不确定这里\n"
 "的含义,使用 '--name' 选项指定另外的名称。"
 
-#: builtin/submodule--helper.c:3073
+#: builtin/submodule--helper.c:3190
 #, c-format
 msgid "Reactivating local git directory for submodule '%s'\n"
 msgstr "为子模组 '%s' 重新激活本地 git 目录\n"
 
-#: builtin/submodule--helper.c:3110
+#: builtin/submodule--helper.c:3227
 #, c-format
 msgid "unable to checkout submodule '%s'"
 msgstr "无法检出子模组 '%s'"
 
-#: builtin/submodule--helper.c:3149
+#: builtin/submodule--helper.c:3266
 #, c-format
 msgid "Failed to add submodule '%s'"
 msgstr "无法添加子模组 '%s'"
 
-#: builtin/submodule--helper.c:3153 builtin/submodule--helper.c:3158
-#: builtin/submodule--helper.c:3166
+#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
+#: builtin/submodule--helper.c:3283
 #, c-format
 msgid "Failed to register submodule '%s'"
 msgstr "无法注册子模组 '%s'"
 
-#: builtin/submodule--helper.c:3222
+#: builtin/submodule--helper.c:3339
 #, c-format
 msgid "'%s' already exists in the index"
 msgstr "'%s' 已经存在于索引中"
 
-#: builtin/submodule--helper.c:3225
+#: builtin/submodule--helper.c:3342
 #, c-format
 msgid "'%s' already exists in the index and is not a submodule"
 msgstr "'%s' 已经存在于索引中且不是一个子模组"
 
-#: builtin/submodule--helper.c:3254
+#: builtin/submodule--helper.c:3372
 msgid "branch of repository to add as submodule"
 msgstr "要添加为子模组的仓库的分支"
 
-#: builtin/submodule--helper.c:3255
+#: builtin/submodule--helper.c:3373
 msgid "allow adding an otherwise ignored submodule path"
 msgstr "允许添加一个被忽略的子模组路径"
 
-#: builtin/submodule--helper.c:3257
-msgid "print only error messages"
-msgstr "只打印错误消息"
-
-#: builtin/submodule--helper.c:3261
+#: builtin/submodule--helper.c:3379
 msgid "borrow the objects from reference repositories"
 msgstr "从引用仓库中借用对象"
 
-#: builtin/submodule--helper.c:3263
+#: builtin/submodule--helper.c:3381
 msgid ""
 "sets the submodule’s name to the given string instead of defaulting to its "
 "path"
 msgstr "将子模组的名称设置为给定的字符串,而非默认为其路径"
 
-#: builtin/submodule--helper.c:3270
+#: builtin/submodule--helper.c:3388
 msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
 msgstr "git submodule--helper add [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/submodule--helper.c:3298
+#: builtin/submodule--helper.c:3416
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: builtin/submodule--helper.c:3306
+#: builtin/submodule--helper.c:3425
 #, c-format
 msgid "repo URL: '%s' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'%s' 必须是绝对路径或以 ./|../ 起始"
 
-#: builtin/submodule--helper.c:3341
+#: builtin/submodule--helper.c:3460
 #, c-format
 msgid "'%s' is not a valid submodule name"
 msgstr "'%s' 不是一个有效的子模组名称"
 
-#: builtin/submodule--helper.c:3405 git.c:452 git.c:726
+#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:3411
+#: builtin/submodule--helper.c:3526
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -23027,7 +23522,7 @@ msgstr "原因"
 msgid "reason of the update"
 msgstr "更新的原因"
 
-#: builtin/tag.c:25
+#: builtin/tag.c:26
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
 "        <tagname> [<head>]"
@@ -23035,11 +23530,11 @@ msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <消息> | -F <文件>]\n"
 "        <标签名> [<头>]"
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
-#: builtin/tag.c:28
+#: builtin/tag.c:29
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
@@ -23050,21 +23545,21 @@ msgstr ""
 "at <对象>]\n"
 "        [--format=<格式>] [--merged <提交>] [--no-merged <提交>] [<模式>...]"
 
-#: builtin/tag.c:30
+#: builtin/tag.c:31
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<格式>] <标签名>..."
 
-#: builtin/tag.c:100
+#: builtin/tag.c:101
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:135
+#: builtin/tag.c:136
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:170
+#: builtin/tag.c:171
 #, c-format
 msgid ""
 "\n"
@@ -23077,7 +23572,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:174
+#: builtin/tag.c:175
 #, c-format
 msgid ""
 "\n"
@@ -23091,11 +23586,11 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:240
+#: builtin/tag.c:241
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:258
+#: builtin/tag.c:259
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -23108,115 +23603,119 @@ msgstr ""
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:274
+#: builtin/tag.c:275
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:325
+#: builtin/tag.c:326
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:332
+#: builtin/tag.c:333
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:444
+#: builtin/tag.c:445
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:447
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:449
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:450
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:451
+#: builtin/tag.c:452
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:454
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:455
+#: builtin/tag.c:456
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:458
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:459
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:461
+#: builtin/tag.c:462
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:463
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:463 builtin/update-ref.c:511
+#: builtin/tag.c:464 builtin/update-ref.c:511
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:465
+#: builtin/tag.c:466
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:466
+#: builtin/tag.c:467
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:467 builtin/tag.c:469
+#: builtin/tag.c:468 builtin/tag.c:470
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:468 builtin/tag.c:470
+#: builtin/tag.c:469 builtin/tag.c:471
 msgid "print only tags that don't contain the commit"
 msgstr "只打印不包含该提交的标签"
 
-#: builtin/tag.c:471
+#: builtin/tag.c:472
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:472
+#: builtin/tag.c:473
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:476
+#: builtin/tag.c:477
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:558
+#: builtin/tag.c:559
 #, c-format
 msgid "the '%s' option is only allowed in list mode"
 msgstr "'%s' 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:597
+#: builtin/tag.c:598
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:602
+#: builtin/tag.c:603
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:633
+#: builtin/tag.c:634
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
 
+#: builtin/unpack-objects.c:95
+msgid "pack exceeds maximum allowed size"
+msgstr "包超过了最大允许大小"
+
 #: builtin/unpack-objects.c:504
 msgid "Unpacking objects"
 msgstr "展开对象中"
@@ -23273,157 +23772,157 @@ msgstr " OK"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:993
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:996
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:999
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:1001
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:1003
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:1005
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:1008
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:1012
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:1016
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1017
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1027
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1030
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1033
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1036
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1039
 msgid "do not touch index-only entries"
 msgstr "不要触碰仅索引条目"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1041
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1043
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1045
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1047
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1051
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1055
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1059
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1063
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1047
+#: builtin/update-index.c:1066
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1068
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1072
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1074
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1076
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1078
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1080
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1082
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1084
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1086
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1070
+#: builtin/update-index.c:1089
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1173
+#: builtin/update-index.c:1195
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 "core.splitIndex 被设置为 false。如果您确实要启用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1204
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 "core.splitIndex 被设置为 true。如果您确实要禁用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1216
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -23431,11 +23930,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1198
+#: builtin/update-index.c:1220
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1228
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -23443,25 +23942,25 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1210
+#: builtin/update-index.c:1232
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1241
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
-#: builtin/update-index.c:1222
+#: builtin/update-index.c:1246
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1250
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
-#: builtin/update-index.c:1229
+#: builtin/update-index.c:1254
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -23493,10 +23992,6 @@ msgstr "标准输入有以 NUL 字符终止的参数"
 msgid "read updates from stdin"
 msgstr "从标准输入读取更新"
 
-#: builtin/update-server-info.c:7
-msgid "git update-server-info [--force]"
-msgstr "git update-server-info [--force]"
-
 #: builtin/update-server-info.c:15
 msgid "update the info files from scratch"
 msgstr "从头开始更新文件信息"
@@ -23578,33 +24073,37 @@ msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<选项>] <工作区>"
 
 #: builtin/worktree.c:25
+msgid "git worktree repair [<path>...]"
+msgstr "git worktree repair [<路径>...]"
+
+#: builtin/worktree.c:26
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
-#: builtin/worktree.c:75
+#: builtin/worktree.c:76
 #, c-format
 msgid "Removing %s/%s: %s"
 msgstr "删除 %s/%s: %s"
 
-#: builtin/worktree.c:148
+#: builtin/worktree.c:149
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
-#: builtin/worktree.c:150
+#: builtin/worktree.c:151
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
-#: builtin/worktree.c:220
+#: builtin/worktree.c:221
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:229
+#: builtin/worktree.c:230
 #, c-format
 msgid "unusable worktree destination '%s'"
 msgstr "无法使用的工作区目标 '%s'"
 
-#: builtin/worktree.c:234
+#: builtin/worktree.c:235
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -23613,7 +24112,7 @@ msgstr ""
 "'%s' 是一个丢失但锁定的工作区,\n"
 "使用 '%s -f -f' 覆盖,或用 'unlock' 和 'prune' 或 'remove' 清除"
 
-#: builtin/worktree.c:236
+#: builtin/worktree.c:237
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -23622,127 +24121,146 @@ msgstr ""
 "'%s' 是一个丢失但已经注册的工作区,\n"
 "使用 '%s -f' 覆盖,或用 'prune' 或 'remove' 清除"
 
-#: builtin/worktree.c:287
+#: builtin/worktree.c:248
+#, c-format
+msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
+msgstr "无法将 '%s' 复制至 '%s';稀疏检出可能无法正确工作"
+
+#: builtin/worktree.c:268
+#, c-format
+msgid "failed to copy worktree config from '%s' to '%s'"
+msgstr "无法把工作树配置从 '%s' 拷贝到 '%s'"
+
+#: builtin/worktree.c:280 builtin/worktree.c:285
+#, c-format
+msgid "failed to unset '%s' in '%s'"
+msgstr "无法在 '%2$s' 中取消配置 '%1$s'"
+
+#: builtin/worktree.c:356
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:378
 msgid "initializing"
 msgstr "初始化"
 
-#: builtin/worktree.c:420 builtin/worktree.c:426
+#: builtin/worktree.c:492 builtin/worktree.c:498
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
-#: builtin/worktree.c:422
+#: builtin/worktree.c:494
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr "准备工作区(重置分支 '%s',之前为 %s)"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:503
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
-#: builtin/worktree.c:437
+#: builtin/worktree.c:509
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:482
+#: builtin/worktree.c:554
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:485
+#: builtin/worktree.c:557
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:559
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:561
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:562
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:492 builtin/worktree.c:729
+#: builtin/worktree.c:564 builtin/worktree.c:809
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:567
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "设置跟踪模式(参见 git-branch(1))"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:570
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "尝试为新分支名匹配一个远程跟踪分支"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:584
 msgid "added with --lock"
 msgstr "由 --lock 添加"
 
-#: builtin/worktree.c:574
+#: builtin/worktree.c:646
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "只能在创建新分支时使用选项 --[no-]track "
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:766
 msgid "show extended annotations and reasons, if available"
 msgstr "显示扩展的注释和原因(如果有)"
 
-#: builtin/worktree.c:693
+#: builtin/worktree.c:768
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr "向早于 <时间> 的工作区添添加“可修剪”注释"
 
-#: builtin/worktree.c:741 builtin/worktree.c:774 builtin/worktree.c:848
-#: builtin/worktree.c:972
+#: builtin/worktree.c:770
+msgid "terminate records with a NUL character"
+msgstr "使用 NUL 字符终结记录"
+
+#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
+#: builtin/worktree.c:1052
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:743 builtin/worktree.c:776
+#: builtin/worktree.c:823 builtin/worktree.c:856
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:748
+#: builtin/worktree.c:828
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:750
+#: builtin/worktree.c:830
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:778
+#: builtin/worktree.c:858
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:819
+#: builtin/worktree.c:899
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "不能移动或删除包含子模组的工作区"
 
-#: builtin/worktree.c:827
+#: builtin/worktree.c:907
 msgid "force move even if worktree is dirty or locked"
 msgstr "强制移动,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:850 builtin/worktree.c:974
+#: builtin/worktree.c:930 builtin/worktree.c:1054
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' 是一个主工作区"
 
-#: builtin/worktree.c:855
+#: builtin/worktree.c:935
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "无法从 '%s' 算出目标名称"
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:948
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -23751,7 +24269,7 @@ msgstr ""
 "无法移动一个锁定的工作区,锁定原因:%s\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:870
+#: builtin/worktree.c:950
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -23759,36 +24277,36 @@ msgstr ""
 "无法移动一个锁定的工作区,\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:873
+#: builtin/worktree.c:953
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "验证失败,无法移动工作区:%s"
 
-#: builtin/worktree.c:878
+#: builtin/worktree.c:958
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "无法移动 '%s' 到 '%s'"
 
-#: builtin/worktree.c:924
+#: builtin/worktree.c:1004
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "无法在 '%s' 中执行 'git status'"
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:1008
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr "'%s' 包含修改或未跟踪的文件,使用 --force 删除"
 
-#: builtin/worktree.c:933
+#: builtin/worktree.c:1013
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "无法在 '%s' 中执行 'git status',退出码 %d"
 
-#: builtin/worktree.c:956
+#: builtin/worktree.c:1036
 msgid "force removal even if worktree is dirty or locked"
 msgstr "强制删除,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:979
+#: builtin/worktree.c:1059
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -23797,7 +24315,7 @@ msgstr ""
 "无法删除一个锁定的工作区,锁定原因:%s\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:981
+#: builtin/worktree.c:1061
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -23805,17 +24323,17 @@ msgstr ""
 "无法删除一个锁定的工作区,\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:984
+#: builtin/worktree.c:1064
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
 
-#: builtin/worktree.c:1008
+#: builtin/worktree.c:1088
 #, c-format
 msgid "repair: %s: %s"
 msgstr "修理:%s:%s"
 
-#: builtin/worktree.c:1011
+#: builtin/worktree.c:1091
 #, c-format
 msgid "error: %s: %s"
 msgstr "错误:%s:%s"
@@ -23920,29 +24438,29 @@ msgstr "%s 的空别名"
 msgid "recursive alias: %s"
 msgstr "递归的别名:%s"
 
-#: git.c:479
+#: git.c:480
 msgid "write failure on standard output"
 msgstr "在标准输出写入失败"
 
-#: git.c:481
+#: git.c:482
 msgid "unknown write failure on standard output"
 msgstr "到标准输出的未知写入错误"
 
-#: git.c:483
+#: git.c:484
 msgid "close failed on standard output"
 msgstr "标准输出关闭失败"
 
-#: git.c:835
+#: git.c:838
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "检测到别名循环:'%s'的扩展未终止:%s"
 
-#: git.c:885
+#: git.c:888
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "不能作为内置命令处理 %s"
 
-#: git.c:898
+#: git.c:901
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -23951,12 +24469,12 @@ msgstr ""
 "用法:%s\n"
 "\n"
 
-#: git.c:918
+#: git.c:921
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
-#: git.c:930
+#: git.c:933
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "无法运行命令 '%s':%s\n"
@@ -24110,139 +24628,139 @@ msgstr ""
 "     请求:%s\n"
 "   重定向:%s"
 
-#: remote-curl.c:183
+#: remote-curl.c:184
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "在 push-option 取值中无效的引号:'%s'"
 
-#: remote-curl.c:304
+#: remote-curl.c:308
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs 无效:这是 git 仓库么?"
 
-#: remote-curl.c:405
+#: remote-curl.c:409
 msgid "invalid server response; expected service, got flush packet"
 msgstr "无效的服务端响应。预期服务,得到 flush 包"
 
-#: remote-curl.c:436
+#: remote-curl.c:440
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "无效的服务端响应,得到 '%s'"
 
-#: remote-curl.c:496
+#: remote-curl.c:500
 #, c-format
 msgid "repository '%s' not found"
 msgstr "仓库 '%s' 未找到"
 
-#: remote-curl.c:500
+#: remote-curl.c:504
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "'%s' 鉴权失败"
 
-#: remote-curl.c:504
+#: remote-curl.c:508
 #, c-format
 msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
 msgstr "无法以 http.pinnedPubkey 设置访问 '%s':%s"
 
-#: remote-curl.c:508
+#: remote-curl.c:512
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "无法访问 '%s':%s"
 
-#: remote-curl.c:514
+#: remote-curl.c:518
 #, c-format
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
-#: remote-curl.c:645
+#: remote-curl.c:649
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "当没有设置温和处理文件结束符(EOF)时,不应该有文件结束符"
 
-#: remote-curl.c:657
+#: remote-curl.c:661
 msgid "remote server sent unexpected response end packet"
 msgstr "远程服务器发送意外的响应结束数据包"
 
-#: remote-curl.c:726
+#: remote-curl.c:730
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr "无法倒回 rpc post 数据 - 尝试增加 http.postBuffer"
 
-#: remote-curl.c:755
+#: remote-curl.c:759
 #, c-format
 msgid "remote-curl: bad line length character: %.4s"
 msgstr "remote-curl:错误的行宽字符:%.4s"
 
-#: remote-curl.c:757
+#: remote-curl.c:761
 msgid "remote-curl: unexpected response end packet"
 msgstr "remote-curl:意外响应结束包"
 
-#: remote-curl.c:833
+#: remote-curl.c:837
 #, c-format
 msgid "RPC failed; %s"
 msgstr "RPC 失败。%s"
 
-#: remote-curl.c:873
+#: remote-curl.c:877
 msgid "cannot handle pushes this big"
 msgstr "不能处理这么大的推送"
 
-#: remote-curl.c:986
+#: remote-curl.c:990
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "不能压缩请求,zlib 压缩错误 %d"
 
-#: remote-curl.c:990
+#: remote-curl.c:994
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "不能压缩请求,zlib 结束错误 %d"
 
-#: remote-curl.c:1040
+#: remote-curl.c:1044
 #, c-format
 msgid "%d bytes of length header were received"
 msgstr "收到了 %d 字节长度的头信息"
 
-#: remote-curl.c:1042
+#: remote-curl.c:1046
 #, c-format
 msgid "%d bytes of body are still expected"
 msgstr "预期仍然需要 %d 个字节的正文"
 
-#: remote-curl.c:1131
+#: remote-curl.c:1135
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "哑 http 传输不支持浅克隆能力"
 
-#: remote-curl.c:1146
+#: remote-curl.c:1150
 msgid "fetch failed."
 msgstr "获取失败。"
 
-#: remote-curl.c:1192
+#: remote-curl.c:1198
 msgid "cannot fetch by sha1 over smart http"
 msgstr "无法通过智能 HTTP 获取 sha1"
 
-#: remote-curl.c:1236 remote-curl.c:1242
+#: remote-curl.c:1242 remote-curl.c:1248
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr "协议错误:期望 sha/ref,却得到 '%s'"
 
-#: remote-curl.c:1254 remote-curl.c:1372
+#: remote-curl.c:1260 remote-curl.c:1378
 #, c-format
 msgid "http transport does not support %s"
 msgstr "http 传输协议不支持 %s"
 
-#: remote-curl.c:1290
+#: remote-curl.c:1296
 msgid "git-http-push failed"
 msgstr "git-http-push 失败"
 
-#: remote-curl.c:1478
+#: remote-curl.c:1485
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl:用法:git remote-curl <远程> [<url>]"
 
-#: remote-curl.c:1510
+#: remote-curl.c:1517
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl:错误读取来自 git 的命令流"
 
-#: remote-curl.c:1517
+#: remote-curl.c:1524
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl:尝试没有本地仓库下获取"
 
-#: remote-curl.c:1558
+#: remote-curl.c:1565
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl:未知的来自 git 的命令 '%s'"
@@ -24255,121 +24773,121 @@ msgstr "需要一个工作目录"
 msgid "could not find enlistment root"
 msgstr "无法找到登记根"
 
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:351
-#: contrib/scalar/scalar.c:436 contrib/scalar/scalar.c:579
+#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
+#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
 #, c-format
 msgid "could not switch to '%s'"
 msgstr "无法切换到 '%s'"
 
-#: contrib/scalar/scalar.c:180
+#: contrib/scalar/scalar.c:179
 #, c-format
 msgid "could not configure %s=%s"
 msgstr "无法配置 %s=%s"
 
-#: contrib/scalar/scalar.c:198
+#: contrib/scalar/scalar.c:197
 msgid "could not configure log.excludeDecoration"
 msgstr "无法配置 log.excludeDecoration"
 
-#: contrib/scalar/scalar.c:219
+#: contrib/scalar/scalar.c:218
 msgid "Scalar enlistments require a worktree"
 msgstr "Scalar 登记需要一个工作树"
 
-#: contrib/scalar/scalar.c:311
+#: contrib/scalar/scalar.c:310
 #, c-format
 msgid "remote HEAD is not a branch: '%.*s'"
 msgstr "远程 HEAD 不是一个分支:'%.*s'"
 
-#: contrib/scalar/scalar.c:317
+#: contrib/scalar/scalar.c:316
 msgid "failed to get default branch name from remote; using local default"
 msgstr "无法从远程获取默认分支名称;使用本地默认值"
 
-#: contrib/scalar/scalar.c:330
+#: contrib/scalar/scalar.c:329
 msgid "failed to get default branch name"
 msgstr "无法获取默认分支名称"
 
-#: contrib/scalar/scalar.c:341
+#: contrib/scalar/scalar.c:340
 msgid "failed to unregister repository"
 msgstr "无法取消注册仓库"
 
-#: contrib/scalar/scalar.c:356
+#: contrib/scalar/scalar.c:355
 msgid "failed to delete enlistment directory"
 msgstr "无法删除登记目录"
 
-#: contrib/scalar/scalar.c:376
+#: contrib/scalar/scalar.c:375
 msgid "branch to checkout after clone"
 msgstr "克隆后要检出的分支"
 
-#: contrib/scalar/scalar.c:378
+#: contrib/scalar/scalar.c:377
 msgid "when cloning, create full working directory"
 msgstr "在克隆时,创建完整的工作目录"
 
-#: contrib/scalar/scalar.c:380
+#: contrib/scalar/scalar.c:379
 msgid "only download metadata for the branch that will be checked out"
 msgstr "只下载要检出的分支的元信息"
 
-#: contrib/scalar/scalar.c:385
+#: contrib/scalar/scalar.c:384
 msgid "scalar clone [<options>] [--] <repo> [<dir>]"
 msgstr "scalar clone [<选项>] [--] <仓库> [<目录>]"
 
-#: contrib/scalar/scalar.c:410
+#: contrib/scalar/scalar.c:409
 #, c-format
 msgid "cannot deduce worktree name from '%s'"
 msgstr "无法从 '%s' 猜测工作区名称"
 
-#: contrib/scalar/scalar.c:419
+#: contrib/scalar/scalar.c:418
 #, c-format
 msgid "directory '%s' exists already"
 msgstr "目录 '%s' 已存在"
 
-#: contrib/scalar/scalar.c:446
+#: contrib/scalar/scalar.c:445
 #, c-format
 msgid "failed to get default branch for '%s'"
 msgstr "无法获取 '%s' 的默认分支"
 
-#: contrib/scalar/scalar.c:457
+#: contrib/scalar/scalar.c:456
 #, c-format
 msgid "could not configure remote in '%s'"
 msgstr "无法在 '%s' 中配置远程"
 
-#: contrib/scalar/scalar.c:466
+#: contrib/scalar/scalar.c:465
 #, c-format
 msgid "could not configure '%s'"
 msgstr "无法配置 '%s'"
 
-#: contrib/scalar/scalar.c:469
+#: contrib/scalar/scalar.c:468
 msgid "partial clone failed; attempting full clone"
 msgstr "部分克隆失败;尝试完整克隆"
 
-#: contrib/scalar/scalar.c:473
+#: contrib/scalar/scalar.c:472
 msgid "could not configure for full clone"
 msgstr "无法配置完整克隆"
 
-#: contrib/scalar/scalar.c:505
+#: contrib/scalar/scalar.c:504
 msgid "`scalar list` does not take arguments"
 msgstr "`scalar list` 不带参数"
 
-#: contrib/scalar/scalar.c:518
+#: contrib/scalar/scalar.c:517
 msgid "scalar register [<enlistment>]"
 msgstr "scalar register [<登记>]"
 
-#: contrib/scalar/scalar.c:545
+#: contrib/scalar/scalar.c:544
 msgid "reconfigure all registered enlistments"
 msgstr "重新配置所有注册的登记"
 
-#: contrib/scalar/scalar.c:549
+#: contrib/scalar/scalar.c:548
 msgid "scalar reconfigure [--all | <enlistment>]"
 msgstr "scalar reconfigure [--all | <登记>]"
 
-#: contrib/scalar/scalar.c:567
+#: contrib/scalar/scalar.c:566
 msgid "--all or <enlistment>, but not both"
 msgstr "--all 或者 <登记>,而不是两个一起"
 
-#: contrib/scalar/scalar.c:582
+#: contrib/scalar/scalar.c:581
 #, c-format
 msgid "git repository gone in '%s'"
 msgstr "在 '%s' 的 git 仓库已消失"
 
-#: contrib/scalar/scalar.c:622
+#: contrib/scalar/scalar.c:621
 msgid ""
 "scalar run <task> [<enlistment>]\n"
 "Tasks:\n"
@@ -24377,42 +24895,55 @@ msgstr ""
 "scalar run <任务> [<登记>]\n"
 "任务:\n"
 
-#: contrib/scalar/scalar.c:640
+#: contrib/scalar/scalar.c:639
 #, c-format
 msgid "no such task: '%s'"
 msgstr "没有此任务:'%s'"
 
-#: contrib/scalar/scalar.c:690
+#: contrib/scalar/scalar.c:689
 msgid "scalar unregister [<enlistment>]"
 msgstr "scalar unregister [<登记>]"
 
-#: contrib/scalar/scalar.c:737
+#: contrib/scalar/scalar.c:736
 msgid "scalar delete <enlistment>"
 msgstr "scalar delete <登记>"
 
-#: contrib/scalar/scalar.c:752
+#: contrib/scalar/scalar.c:751
 msgid "refusing to delete current working directory"
 msgstr "拒绝删除当前工作目录"
 
-#: contrib/scalar/scalar.c:767
+#: contrib/scalar/scalar.c:766
 msgid "include Git version"
 msgstr "包括 Git 的版本"
 
-#: contrib/scalar/scalar.c:769
+#: contrib/scalar/scalar.c:768
 msgid "include Git's build options"
 msgstr "包括 Git 的构建选项"
 
-#: contrib/scalar/scalar.c:773
+#: contrib/scalar/scalar.c:772
 msgid "scalar verbose [-v | --verbose] [--build-options]"
 msgstr "scalar verbose [-v | --verbose] [--build-options]"
 
+#: contrib/scalar/scalar.c:813
+msgid "-C requires a <directory>"
+msgstr "-C 需要 <目录>"
+
+#: contrib/scalar/scalar.c:815
+#, c-format
+msgid "could not change to '%s'"
+msgstr "无法变更到 '%s'"
+
 #: contrib/scalar/scalar.c:821
+msgid "-c requires a <key>=<value> argument"
+msgstr "-c 需要 <键>=<值> 参数"
+
+#: contrib/scalar/scalar.c:839
 msgid ""
-"scalar <command> [<options>]\n"
+"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
 "\n"
 "Commands:\n"
 msgstr ""
-"scalar <命令> [<选项>]\n"
+"scalar [-C <目录>] [-c <键>=<值>] <命令> [<选项>]\n"
 "\n"
 "命令:\n"
 
@@ -24424,43 +24955,43 @@ msgstr "编译器信息不可用\n"
 msgid "no libc information available\n"
 msgstr "libc 信息不可用\n"
 
-#: list-objects-filter-options.h:94
+#: list-objects-filter-options.h:126
 msgid "args"
 msgstr "参数"
 
-#: list-objects-filter-options.h:95
+#: list-objects-filter-options.h:127
 msgid "object filtering"
 msgstr "对象过滤"
 
-#: parse-options.h:183
+#: parse-options.h:188
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:197
+#: parse-options.h:202
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:310
+#: parse-options.h:341
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:312
+#: parse-options.h:343
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:318
+#: parse-options.h:349
 msgid "use <n> digits to display object names"
 msgstr "用 <n> 位数字显示对象名"
 
-#: parse-options.h:337
+#: parse-options.h:368
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: parse-options.h:338
+#: parse-options.h:369
 msgid "read pathspec from file"
 msgstr "从文件读取路径表达式"
 
-#: parse-options.h:339
+#: parse-options.h:370
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr "使用 --pathspec-from-file,路径表达式用空字符分隔"
@@ -24710,447 +25241,452 @@ msgid "Display help information about Git"
 msgstr "显示 Git 的帮助信息"
 
 #: command-list.h:108
+msgid "Run git hooks"
+msgstr "运行 git 钩子"
+
+#: command-list.h:109
 msgid "Server side implementation of Git over HTTP"
 msgstr "Git HTTP 协议的服务端实现"
 
-#: command-list.h:109
+#: command-list.h:110
 msgid "Download from a remote Git repository via HTTP"
 msgstr "通过 HTTP 从远程 Git 仓库下载"
 
-#: command-list.h:110
+#: command-list.h:111
 msgid "Push objects over HTTP/DAV to another repository"
 msgstr "通过 HTTP/DAV 推送对象另一个仓库"
 
-#: command-list.h:111
+#: command-list.h:112
 msgid "Send a collection of patches from stdin to an IMAP folder"
 msgstr "从标准输入将一组补丁发送到IMAP文件夹"
 
-#: command-list.h:112
+#: command-list.h:113
 msgid "Build pack index file for an existing packed archive"
 msgstr "从一个现存的包存档文件创建包索引"
 
-#: command-list.h:113
+#: command-list.h:114
 msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr "创建一个空的 Git 仓库或重新初始化一个已存在的仓库"
 
-#: command-list.h:114
+#: command-list.h:115
 msgid "Instantly browse your working repository in gitweb"
 msgstr "在 gitweb 中即时浏览您的工作仓库"
 
-#: command-list.h:115
+#: command-list.h:116
 msgid "Add or parse structured information in commit messages"
 msgstr "添加或解析提交说明中的结构化信息"
 
-#: command-list.h:116
+#: command-list.h:117
 msgid "Show commit logs"
 msgstr "显示提交日志"
 
-#: command-list.h:117
+#: command-list.h:118
 msgid "Show information about files in the index and the working tree"
 msgstr "显示索引和工作区中文件的信息"
 
-#: command-list.h:118
+#: command-list.h:119
 msgid "List references in a remote repository"
 msgstr "显示一个远程仓库的引用"
 
-#: command-list.h:119
+#: command-list.h:120
 msgid "List the contents of a tree object"
 msgstr "显示一个树对象的内容"
 
-#: command-list.h:120
+#: command-list.h:121
 msgid "Extracts patch and authorship from a single e-mail message"
 msgstr "从单个电子邮件中提取补丁和作者身份"
 
-#: command-list.h:121
+#: command-list.h:122
 msgid "Simple UNIX mbox splitter program"
 msgstr "简单的 UNIX mbox 邮箱切分程序"
 
-#: command-list.h:122
+#: command-list.h:123
 msgid "Run tasks to optimize Git repository data"
 msgstr "运行任务以优化仓库数据"
 
-#: command-list.h:123
+#: command-list.h:124
 msgid "Join two or more development histories together"
 msgstr "合并两个或更多开发历史"
 
-#: command-list.h:124
+#: command-list.h:125
 msgid "Find as good common ancestors as possible for a merge"
 msgstr "为了合并查找尽可能好的公共祖先提交"
 
-#: command-list.h:125
+#: command-list.h:126
 msgid "Run a three-way file merge"
 msgstr "运行一个三路文件合并"
 
-#: command-list.h:126
+#: command-list.h:127
 msgid "Run a merge for files needing merging"
 msgstr "对于需要合并的文件执行合并"
 
-#: command-list.h:127
+#: command-list.h:128
 msgid "The standard helper program to use with git-merge-index"
 msgstr "与 git-merge-index 一起使用的标准向导程序"
 
-#: command-list.h:128
+#: command-list.h:129
 msgid "Show three-way merge without touching index"
 msgstr "在不动索引的情况下显示三路合并"
 
-#: command-list.h:129
+#: command-list.h:130
 msgid "Run merge conflict resolution tools to resolve merge conflicts"
 msgstr "运行合并冲突解决工具以解决合并冲突"
 
-#: command-list.h:130
+#: command-list.h:131
 msgid "Creates a tag object with extra validation"
 msgstr "创建一个有额外验证的标签对象"
 
-#: command-list.h:131
+#: command-list.h:132
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "基于 ls-tree 的格式化文本创建一个树对象"
 
-#: command-list.h:132
+#: command-list.h:133
 msgid "Write and verify multi-pack-indexes"
 msgstr "写入和校验多包索引"
 
-#: command-list.h:133
+#: command-list.h:134
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "移动或重命名一个文件、目录或符号链接"
 
 # 查找给定版本的符号名称
-#: command-list.h:134
+#: command-list.h:135
 msgid "Find symbolic names for given revs"
 msgstr "查找给定版本的符号名称"
 
-#: command-list.h:135
+#: command-list.h:136
 msgid "Add or inspect object notes"
 msgstr "添加或检查对象注释"
 
-#: command-list.h:136
+#: command-list.h:137
 msgid "Import from and submit to Perforce repositories"
 msgstr "导入和提交到 Perforce 仓库中"
 
-#: command-list.h:137
+#: command-list.h:138
 msgid "Create a packed archive of objects"
 msgstr "创建对象的存档包"
 
-#: command-list.h:138
+#: command-list.h:139
 msgid "Find redundant pack files"
 msgstr "查找冗余的包文件"
 
-#: command-list.h:139
+#: command-list.h:140
 msgid "Pack heads and tags for efficient repository access"
 msgstr "打包头和标签以实现高效的仓库访问"
 
-#: command-list.h:140
+#: command-list.h:141
 msgid "Compute unique ID for a patch"
 msgstr "计算一个补丁的唯一 ID"
 
-#: command-list.h:141
+#: command-list.h:142
 msgid "Prune all unreachable objects from the object database"
 msgstr "删除对象库中所有不可达对象"
 
-#: command-list.h:142
+#: command-list.h:143
 msgid "Remove extra objects that are already in pack files"
 msgstr "删除已经在包文件中的多余对象"
 
-#: command-list.h:143
+#: command-list.h:144
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "获取并整合另外的仓库或一个本地分支"
 
-#: command-list.h:144
+#: command-list.h:145
 msgid "Update remote refs along with associated objects"
 msgstr "更新远程引用和相关的对象"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "将一个 quilt 补丁集应用到当前分支。"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr "比较两个提交范围(如一个分支的两个版本)"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Reads tree information into the index"
 msgstr "将树信息读取到索引"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Receive what is pushed into the repository"
 msgstr "接收推送到仓库中的对象"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Manage reflog information"
 msgstr "管理 reflog 信息"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Manage set of tracked repositories"
 msgstr "管理已跟踪仓库"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Pack unpacked objects in a repository"
 msgstr "打包仓库中未打包对象"
 
-#: command-list.h:153
+#: command-list.h:154
 msgid "Create, list, delete refs to replace objects"
 msgstr "创建、列出、删除对象替换引用"
 
-#: command-list.h:154
+#: command-list.h:155
 msgid "Generates a summary of pending changes"
 msgstr "生成待定更改的摘要"
 
-#: command-list.h:155
+#: command-list.h:156
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "重用冲突合并的解决方案记录"
 
-#: command-list.h:156
+#: command-list.h:157
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
-#: command-list.h:157
+#: command-list.h:158
 msgid "Restore working tree files"
 msgstr "恢复工作区文件"
 
-#: command-list.h:158
+#: command-list.h:159
 msgid "Lists commit objects in reverse chronological order"
 msgstr "按时间顺序列出提交对象"
 
-#: command-list.h:159
+#: command-list.h:160
 msgid "Pick out and massage parameters"
 msgstr "选出并处理参数"
 
-#: command-list.h:160
+#: command-list.h:161
 msgid "Revert some existing commits"
 msgstr "回退一些现存提交"
 
-#: command-list.h:161
+#: command-list.h:162
 msgid "Remove files from the working tree and from the index"
 msgstr "从工作区和索引中删除文件"
 
-#: command-list.h:162
+#: command-list.h:163
 msgid "Send a collection of patches as emails"
 msgstr "通过电子邮件发送一组补丁"
 
-#: command-list.h:163
+#: command-list.h:164
 msgid "Push objects over Git protocol to another repository"
 msgstr "使用 Git 协议推送对象到另一个仓库"
 
-#: command-list.h:164
+#: command-list.h:165
 msgid "Git's i18n setup code for shell scripts"
 msgstr "为 shell 脚本准备的 Git 国际化设置代码"
 
-#: command-list.h:165
+#: command-list.h:166
 msgid "Common Git shell script setup code"
 msgstr "常用的 Git shell 脚本设置代码"
 
-#: command-list.h:166
+#: command-list.h:167
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "只允许 Git SSH 访问的受限登录shell"
 
-#: command-list.h:167
+#: command-list.h:168
 msgid "Summarize 'git log' output"
 msgstr "'git log' 输出摘要"
 
-#: command-list.h:168
+#: command-list.h:169
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
-#: command-list.h:169
+#: command-list.h:170
 msgid "Show branches and their commits"
 msgstr "显示分支和提交"
 
-#: command-list.h:170
+#: command-list.h:171
 msgid "Show packed archive index"
 msgstr "显示打包归档索引"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "List references in a local repository"
 msgstr "显示本地仓库中的引用"
 
-#: command-list.h:172
-msgid "Initialize and modify the sparse-checkout"
-msgstr "初始化及修改稀疏检出"
-
+#  译者:中文字符串拼接,可删除前导空格
 #: command-list.h:173
+msgid "Reduce your working tree to a subset of tracked files"
+msgstr "将您的工作树缩减至已追踪文件的子集"
+
+#: command-list.h:174
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到暂存区"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Stash the changes in a dirty working directory away"
 msgstr "贮藏脏工作区中的修改"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Subersion 仓库和 Git 之间的双向操作"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Switch branches"
 msgstr "切换分支"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Creates a temporary file with a blob's contents"
 msgstr "用 blob 数据对象的内容创建一个临时文件"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Register file contents in the working tree to the index"
 msgstr "将工作区的文件内容注册到索引"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Update the object name stored in a ref safely"
 msgstr "安全地更新存储于引用中的对象名称"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "将对象压缩包发送回 git-fetch-pack"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Providing usernames and passwords to Git"
 msgstr "为 Git 提供用户名和口令"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "每一天 Git 的一组有用的最小命令集合"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Frequently asked questions about using Git"
 msgstr "关于使用 Git 的常见问题"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "The Git repository browser"
 msgstr "Git 仓库浏览器"
 
-#: command-list.h:208
+#: command-list.h:209
 msgid "Map author/committer names and/or E-Mail addresses"
 msgstr "映射作者/提交者的名称和/或邮件地址"
 
-#: command-list.h:209
+#: command-list.h:210
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: command-list.h:210
+#: command-list.h:211
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
-#: command-list.h:211
+#: command-list.h:212
 msgid "Helper programs to interact with remote repositories"
 msgstr "与远程仓库交互的助手程序"
 
-#: command-list.h:212
+#: command-list.h:213
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
-#: command-list.h:213
+#: command-list.h:214
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: command-list.h:214
+#: command-list.h:215
 msgid "Mounting one repository inside another"
 msgstr "将一个仓库安装到另外一个仓库中"
 
-#: command-list.h:215
+#: command-list.h:216
 msgid "A tutorial introduction to Git"
 msgstr "Git 入门教程"
 
-#: command-list.h:216
+#: command-list.h:217
 msgid "A tutorial introduction to Git: part two"
 msgstr "Git 入门教程:第二部分"
 
-#: command-list.h:217
+#: command-list.h:218
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Git web 界面(Git 仓库的 web 前端)"
 
-#: command-list.h:218
+#: command-list.h:219
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
@@ -25192,66 +25728,44 @@ msgstr "尝试和 $pretty_name 的简单合并"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-submodule.sh:401
-#, sh-format
-msgid "Unable to find current revision in submodule path '$displaypath'"
-msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
-
-#: git-submodule.sh:411
-#, sh-format
-msgid "Unable to fetch in submodule path '$sm_path'"
-msgstr "无法在子模组路径 '$sm_path' 中获取"
-
-#: git-submodule.sh:416
-#, sh-format
-msgid ""
-"Unable to find current ${remote_name}/${branch} revision in submodule path "
-"'$sm_path'"
-msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
-
-#: git-submodule.sh:464
-#, sh-format
-msgid "Failed to recurse into submodule path '$displaypath'"
-msgstr "无法递归进子模组路径 '$displaypath'"
-
 #: git-sh-setup.sh:89 git-sh-setup.sh:94
 #, sh-format
 msgid "usage: $dashless $USAGE"
 msgstr "用法:$dashless $USAGE"
 
-#: git-sh-setup.sh:183
+#: git-sh-setup.sh:182
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr "不能切换目录到 $cdup,工作区的顶级目录"
 
-#: git-sh-setup.sh:192 git-sh-setup.sh:199
+#: git-sh-setup.sh:191 git-sh-setup.sh:198
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr "致命错误:$program_name 不能在没有工作区的情况下使用"
 
-#: git-sh-setup.sh:213
+#: git-sh-setup.sh:212
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr "不能重写分支:您有未暂存的变更。"
 
-#: git-sh-setup.sh:216
+#: git-sh-setup.sh:215
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "不能 $action:您有未暂存的变更。"
 
-#: git-sh-setup.sh:227
+#: git-sh-setup.sh:226
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr "不能 $action:您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:229
+#: git-sh-setup.sh:228
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "而且您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:349
+#: git-sh-setup.sh:348
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr "您需要在工作区的顶级目录中运行这个命令。"
 
-#: git-sh-setup.sh:354
+#: git-sh-setup.sh:353
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
 
@@ -25911,23 +26425,17 @@ msgstr "不能以 7bit 形式发送信息"
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:2095
+#: git-send-email.perl:2099
 #, perl-format
-msgid ""
-"fatal: %s: rejected by sendemail-validate hook\n"
-"%s\n"
-"warning: no patches were sent\n"
-msgstr ""
-"致命错误:%s:被 sendemail-validate 挂钩拒绝\n"
-"%s\n"
-"警告:补丁未能发送\n"
+msgid "fatal: %s: rejected by %s hook\n"
+msgstr "致命错误: %s: 被 %s 钩子拒绝\n"
 
-#: git-send-email.perl:2105 git-send-email.perl:2158 git-send-email.perl:2168
+#: git-send-email.perl:2111 git-send-email.perl:2164 git-send-email.perl:2174
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
-#: git-send-email.perl:2108
+#: git-send-email.perl:2114
 #, perl-format
 msgid ""
 "fatal: %s:%d is longer than 998 characters\n"
@@ -25936,13 +26444,274 @@ msgstr ""
 "致命错误:%s:%d 超过 998 字符\n"
 "警告:补丁未能发送\n"
 
-#: git-send-email.perl:2126
+#: git-send-email.perl:2132
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "略过 %s 含备份后缀 '%s'。\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2130
+#: git-send-email.perl:2136
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
+
+#~ msgid "git archive --list"
+#~ msgstr "git archive --list"
+
+#, c-format
+#~ msgid "unknown value for --diff-merges: %s"
+#~ msgstr "未知的 --diff-merges 取值:%s"
+
+#, c-format
+#~ msgid "invalid value '%s' for lsrefs.unborn"
+#~ msgstr "lsrefs.unborn 的取值 '%s' 无效"
+
+#~ msgid "backend for `git stash -p`"
+#~ msgstr "`git stash -p` 的后端"
+
+#, c-format
+#~ msgid "Invalid value for --empty: %s"
+#~ msgstr "--empty 的值无效:%s"
+
+#, c-format
+#~ msgid "Invalid value for --patch-format: %s"
+#~ msgstr "无效的 --patch-format 值:%s"
+
+#, c-format
+#~ msgid "Invalid value for --show-current-patch: %s"
+#~ msgstr "无效的 --show-current-patch 值:%s"
+
+#~ msgid ""
+#~ "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad "
+#~ "| --term-new]"
+#~ msgstr ""
+#~ "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad "
+#~ "| --term-new]"
+
+#~ msgid "git bisect--helper --bisect-next"
+#~ msgstr "git bisect--helper --bisect-next"
+
+#~ msgid "git bisect--helper --bisect-visualize"
+#~ msgstr "git bisect--helper --bisect-visualize"
+
+#, c-format
+#~ msgid "invalid color '%s' in color.blame.repeatedLines"
+#~ msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
+
+#~ msgid "invalid value for blame.coloring"
+#~ msgstr "设置 blame.coloring 中的无效取值"
+
+#~ msgid ""
+#~ "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e "
+#~ "| -p | <type> | --textconv | --filters) [--path=<path>] <object>"
+#~ msgstr ""
+#~ "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e "
+#~ "| -p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
+
+#~ msgid "show object type"
+#~ msgstr "显示对象类型"
+
+#~ msgid "exit with zero when there's no error"
+#~ msgstr "当没有错误时退出并返回零"
+
+#~ msgid "show info and content of objects fed from the standard input"
+#~ msgstr "显示从标准输入提供的对象的信息和内容"
+
+#~ msgid "show info about objects fed from the standard input"
+#~ msgstr "显示从标准输入提供的对象的信息"
+
+#~ msgid "follow in-tree symlinks (used with --batch or --batch-check)"
+#~ msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
+
+#~ msgid "show all objects with --batch or --batch-check"
+#~ msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
+
+#~ msgid "do not order --batch-all-objects output"
+#~ msgstr "不要对 --batch-all-objects 的输出排序"
+
+#~ msgid "set up tracking mode (see git-pull(1))"
+#~ msgstr "设置跟踪模式(参见 git-pull(1))"
+
+#~ msgid "Using both --reset-author and --author does not make sense"
+#~ msgstr "同时使用 --reset-author 和 --author 没有意义"
+
+#~ msgid "Options --squash and --fixup cannot be used together"
+#~ msgstr "选项 --squash 和 --fixup 不能同时使用"
+
+#~ msgid "Only one of -c/-C/-F/--fixup can be used."
+#~ msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
+
+#~ msgid "Option -m cannot be combined with -c/-C/-F."
+#~ msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
+
+#~ msgid ""
+#~ "Only one of --include/--only/--all/--interactive/--patch can be used."
+#~ msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
+
+#~ msgid "git count-objects [-v] [-H | --human-readable]"
+#~ msgstr "git count-objects [-v] [-H | --human-readable]"
+
+#, c-format
+#~ msgid "configuration fetch.output contains invalid value %s"
+#~ msgstr "配置变量 fetch.output 包含无效值 %s"
+
+#~ msgid "--cached or --untracked cannot be used with --no-index"
+#~ msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
+
+#~ msgid "--untracked cannot be used with --cached"
+#~ msgstr "--untracked 不能与 --cached 同时使用"
+
+#~ msgid "git hash-object  --stdin-paths"
+#~ msgstr "git hash-object  --stdin-paths"
+
+#~ msgid "git help [-g|--guides]"
+#~ msgstr "git help [-g|--guides]"
+
+#~ msgid "git help [-c|--config]"
+#~ msgstr "git help [-c|--config]"
+
+#~ msgid "git mktag"
+#~ msgstr "git mktag"
+
+#~ msgid "git mktree [-z] [--missing] [--batch]"
+#~ msgstr "git mktree [-z] [--missing] [--batch]"
+
+#~ msgid "read from stdin"
+#~ msgstr "从标准输入读取"
+
+#~ msgid "git notes merge --commit [-v | -q]"
+#~ msgstr "git notes merge --commit [-v | -q]"
+
+#~ msgid "git notes merge --abort [-v | -q]"
+#~ msgstr "git notes merge --abort [-v | -q]"
+
+#~ msgid "git notes get-ref"
+#~ msgstr "git notes get-ref"
+
+#~ msgid "invalid value for --missing"
+#~ msgstr "选项 --missing 的值无效"
+
+#~ msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
+#~ msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
+
+#, c-format
+#~ msgid "Invalid value for %s: %s"
+#~ msgstr "%s 的值无效:%s"
+
+#, c-format
+#~ msgid "Invalid value for pull.ff: %s"
+#~ msgstr "pull.ff 的取值无效:%s"
+
+#~ msgid "git rebase --continue | --abort | --skip | --edit-todo"
+#~ msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+
+#, c-format
+#~ msgid "'%s' is not a valid timestamp"
+#~ msgstr "'%s' 不是一个有效的时间戳"
+
+#~ msgid "git reflog [ show | expire | delete | exists ]"
+#~ msgstr "git reflog [ show | expire | delete | exists ]"
+
+#~ msgid "git remote [-v | --verbose]"
+#~ msgstr "git remote [-v | --verbose]"
+
+#~ msgid "git replace [-f] --convert-graft-file"
+#~ msgstr "git replace [-f] --convert-graft-file"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ "It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
+#~ "use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
+#~ "to make this the default.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
+#~ "将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
+
+#~ msgid "git sparse-checkout list"
+#~ msgstr "git sparse-checkout list"
+
+#~ msgid "unable to upgrade repository format to enable worktreeConfig"
+#~ msgstr "无法升级仓库格式以启用 worktreeConfig"
+
+#~ msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+#~ msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+
+#~ msgid "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+#~ msgstr "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+
+#~ msgid "git sparse-checkout disable"
+#~ msgstr "git sparse-checkout disable"
+
+#~ msgid ""
+#~ "the stash.useBuiltin support has been removed!\n"
+#~ "See its entry in 'git help config' for details."
+#~ msgstr ""
+#~ "对 stash.useBuiltin 的支持已被删除!\n"
+#~ "详见 'git help config' 中的条目。"
+
+#~ msgid "git stripspace [-s | --strip-comments]"
+#~ msgstr "git stripspace [-s | --strip-comments]"
+
+#~ msgid "git stripspace [-c | --comment-lines]"
+#~ msgstr "git stripspace [-c | --comment-lines]"
+
+#~ msgid "submodule--helper print-default-remote takes no arguments"
+#~ msgstr "submodule--helper print-default-remote 不带参数"
+
+#~ msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+#~ msgstr "git submodule--helper update-clone [--prefix=<路径>] [<路径>...]"
+
+#~ msgid "suppress output for update by rebase or merge"
+#~ msgstr "抑制变基或合并更新的输出"
+
+#~ msgid "overrides update mode in case the repository is a fresh clone"
+#~ msgstr "当仓库是新的克隆时,覆盖更新模式"
+
+#~ msgid "depth for shallow fetch"
+#~ msgstr "浅获取的深度"
+
+#~ msgid "sha1"
+#~ msgstr "sha1"
+
+#~ msgid "SHA1 expected by superproject"
+#~ msgstr "上层项目期待的 SHA1"
+
+#~ msgid "subsha1"
+#~ msgstr "subsha1"
+
+#~ msgid "SHA1 of submodule's HEAD"
+#~ msgstr "子模块头指针的 SHA1"
+
+#~ msgid "git submodule--helper run-update-procedure [<options>] <path>"
+#~ msgstr "git submodule--helper run-update-procedure [<选项>] <路径>"
+
+#~ msgid "git submodule--helper config --check-writeable"
+#~ msgstr "git submodule--helper config --check-writeable"
+
+#~ msgid "git update-server-info [--force]"
+#~ msgstr "git update-server-info [--force]"
+
+#~ msgid "Initialize and modify the sparse-checkout"
+#~ msgstr "初始化及修改稀疏检出"
+
+#, sh-format
+#~ msgid ""
+#~ "Unable to find current ${remote_name}/${branch} revision in submodule "
+#~ "path '$sm_path'"
+#~ msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
+
+#, sh-format
+#~ msgid "Failed to recurse into submodule path '$displaypath'"
+#~ msgstr "无法递归进子模组路径 '$displaypath'"
+
+#, perl-format
+#~ msgid ""
+#~ "fatal: %s: rejected by sendemail-validate hook\n"
+#~ "%s\n"
+#~ "warning: no patches were sent\n"
+#~ msgstr ""
+#~ "致命错误:%s:被 sendemail-validate 挂钩拒绝\n"
+#~ "%s\n"
+#~ "警告:补丁未能发送\n"