l10n: zh_CN: for git v2.25.0 l10n round 1

Translate 119 new messages (4800t0f0u) for git 2.25.0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
diff --git a/po/zh_CN.po b/po/zh_CN.po
index ba03b10..73da662 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -139,8 +139,8 @@
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-10-28 13:19+0800\n"
-"PO-Revision-Date: 2019-10-30 14:58+0800\n"
+"POT-Creation-Date: 2019-12-30 08:48+0800\n"
+"PO-Revision-Date: 2020-01-12 17:16+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -149,37 +149,458 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: advice.c:109
+#: add-interactive.c:347
+#, c-format
+msgid "Huh (%s)?"
+msgstr "嗯(%s)?"
+
+#: add-interactive.c:500 add-interactive.c:801 sequencer.c:3216
+#: sequencer.c:3656 builtin/rebase.c:871 builtin/rebase.c:1643
+#: builtin/rebase.c:2019 builtin/rebase.c:2063
+msgid "could not read index"
+msgstr "不能读取索引"
+
+#: add-interactive.c:555 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "二进制"
+
+#: add-interactive.c:613 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "无"
+
+#: add-interactive.c:614 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "没有修改"
+
+#: add-interactive.c:651 git-add--interactive.perl:643
+msgid "Update"
+msgstr "更新"
+
+#: add-interactive.c:668 add-interactive.c:856
+#, c-format
+msgid "could not stage '%s'"
+msgstr "不能暂存 '%s'"
+
+#: add-interactive.c:674 add-interactive.c:863 sequencer.c:3409
+#: builtin/rebase.c:895
+msgid "could not write index"
+msgstr "不能写入索引"
+
+#: add-interactive.c:677 git-add--interactive.perl:628
+#, 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:695 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "说明:%s 现已成为未跟踪的。\n"
+
+#: add-interactive.c:700 apply.c:4108 builtin/checkout.c:281
+#: builtin/reset.c:144
+#, c-format
+msgid "make_cache_entry failed for path '%s'"
+msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
+
+#: add-interactive.c:730 git-add--interactive.perl:655
+msgid "Revert"
+msgstr "还原"
+
+#: add-interactive.c:746
+msgid "Could not parse HEAD^{tree}"
+msgstr "不能解析 HEAD^{tree}"
+
+#: add-interactive.c:784 git-add--interactive.perl:631
+#, 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:835 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr "没有未跟踪的文件。\n"
+
+#: add-interactive.c:839 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr "添加未跟踪的"
+
+#: add-interactive.c:866 git-add--interactive.perl:625
+#, 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:896
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "忽略未合入的:%s"
+
+#: add-interactive.c:908 add-patch.c:1331 git-add--interactive.perl:1366
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "只有二进制文件被修改。\n"
+
+#: add-interactive.c:910 add-patch.c:1329 git-add--interactive.perl:1368
+#, c-format
+msgid "No changes.\n"
+msgstr "没有修改。\n"
+
+#: add-interactive.c:914 git-add--interactive.perl:1376
+msgid "Patch update"
+msgstr "补丁更新"
+
+#: add-interactive.c:953 git-add--interactive.perl:1754
+msgid "Review diff"
+msgstr "检视 diff"
+
+#: add-interactive.c:981
+msgid "show paths with changes"
+msgstr "显示含变更的路径"
+
+#: add-interactive.c:983
+msgid "add working tree state to the staged set of changes"
+msgstr "将工作区状态添加到暂存区修改集中"
+
+#: add-interactive.c:985
+msgid "revert staged set of changes back to the HEAD version"
+msgstr "将暂存的修改集恢复为 HEAD 版本"
+
+#: add-interactive.c:987
+msgid "pick hunks and update selectively"
+msgstr "挑选数据块并有选择地更新"
+
+#: add-interactive.c:989
+msgid "view diff between HEAD and index"
+msgstr "显示 HEAD 和索引的差异"
+
+#: add-interactive.c:991
+msgid "add contents of untracked files to the staged set of changes"
+msgstr "将未跟踪文件的内容添加到暂存区修改集中"
+
+#: add-interactive.c:999 add-interactive.c:1048
+msgid "Prompt help:"
+msgstr "帮助:"
+
+#: add-interactive.c:1001
+msgid "select a single item"
+msgstr "选择一个条目"
+
+#: add-interactive.c:1003
+msgid "select a range of items"
+msgstr "选择一系列条目"
+
+#: add-interactive.c:1005
+msgid "select multiple ranges"
+msgstr "选择多个范围"
+
+#: add-interactive.c:1007 add-interactive.c:1052
+msgid "select item based on unique prefix"
+msgstr "基于唯一前缀选择条目"
+
+#: add-interactive.c:1009
+msgid "unselect specified items"
+msgstr "反选指定的条目"
+
+#: add-interactive.c:1011
+msgid "choose all items"
+msgstr "选择所有条目"
+
+#: add-interactive.c:1013
+msgid "(empty) finish selecting"
+msgstr "(空)结束选择"
+
+#: add-interactive.c:1050
+msgid "select a numbered item"
+msgstr "选择一个编号条目"
+
+#: add-interactive.c:1054
+msgid "(empty) select nothing"
+msgstr "(空)不选择任何内容"
+
+#: add-interactive.c:1062 builtin/clean.c:822 git-add--interactive.perl:1851
+msgid "*** Commands ***"
+msgstr "*** 命令 ***"
+
+#: add-interactive.c:1063 builtin/clean.c:823 git-add--interactive.perl:1848
+msgid "What now"
+msgstr "请选择"
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "staged"
+msgstr "缓存"
+
+#: add-interactive.c:1115 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "未缓存"
+
+#: add-interactive.c:1115 apply.c:4965 apply.c:4968 builtin/am.c:2197
+#: builtin/am.c:2200 builtin/clone.c:123 builtin/fetch.c:144
+#: builtin/merge.c:273 builtin/pull.c:209 builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1382
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:1878
+#: builtin/submodule--helper.c:2119 git-add--interactive.perl:213
+msgid "path"
+msgstr "路径"
+
+#: add-interactive.c:1122
+msgid "could not refresh index"
+msgstr "不能刷新索引"
+
+#: add-interactive.c:1136 builtin/clean.c:787 git-add--interactive.perl:1765
+#, c-format
+msgid "Bye.\n"
+msgstr "再见。\n"
+
+#: add-patch.c:15
+#, c-format
+msgid "Stage mode change [y,n,a,q,d%s,?]? "
+msgstr "暂存模式变更 [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:16
+#, c-format
+msgid "Stage deletion [y,n,a,q,d%s,?]? "
+msgstr "暂存删除动作 [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:17
+#, c-format
+msgid "Stage this hunk [y,n,a,q,d%s,?]? "
+msgstr "暂存该块 [y,n,a,q,d%s,?]? "
+
+#: add-patch.c:111
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "无法解析数据块头信息 '%.*s'"
+
+#: add-patch.c:130 add-patch.c:134
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "无法解析彩色数据块头信息 '%.*s'"
+
+#: add-patch.c:176
+msgid "could not parse diff"
+msgstr "不能解析差异信息"
+
+#: add-patch.c:194
+msgid "could not parse colored diff"
+msgstr "不能解析彩色差异信息"
+
+#: add-patch.c:508
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+"预期上下文行 #%d 于\n"
+"%.*s"
+
+#: add-patch.c:523
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+"块不重叠:\n"
+"%.*s\n"
+"\t不是结尾于:\n"
+"%.*s"
+
+#: add-patch.c:799 git-add--interactive.perl:1112
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
+
+#: add-patch.c:803
+#, c-format
+msgid ""
+"---\n"
+"To remove '%c' lines, make them ' ' lines (context).\n"
+"To remove '%c' lines, delete them.\n"
+"Lines starting with %c will be removed.\n"
+msgstr ""
+"---\n"
+"要删除 '%c' 开始的行,使其成为 ' ' 开始的行(上下文)。\n"
+"要删除 '%c' 开始的行,删除它们。\n"
+"以 %c 开始的行将被删除。\n"
+
+#: add-patch.c:810
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging.\n"
+msgstr "如果补丁能干净地应用,编辑块将立即标记为暂存。\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: add-patch.c:818 git-add--interactive.perl:1126
+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"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n"
+"此次编辑被终止,该块不会被修改。\n"
+
+#: add-patch.c:851
+msgid "could not parse hunk header"
+msgstr "无法解析数据块头信息"
+
+#: add-patch.c:895 add-patch.c:1294
+msgid "'git apply --cached' failed"
+msgstr "'git apply --cached' 失败"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#.
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. 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:952 git-add--interactive.perl:1239
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? "
+
+#: add-patch.c:1009
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this and all the remaining hunks\n"
+"d - do not stage this hunk nor any of the remaining hunks\n"
+msgstr ""
+"y - 暂存该块\n"
+"n - 不要暂存该块\n"
+"q - 退出。不暂存该块及后面的全部块\n"
+"a - 暂存该块和所有剩余的块\n"
+"d - 不暂存该块和任何剩余的块\n"
+
+#: add-patch.c:1016
+msgid ""
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"j - 维持该块未决状态,查看下一个未决块\n"
+"J - 维持该块未决状态,查看下一个块\n"
+"k - 维持该块未决状态,查看上一个未决块\n"
+"K - 维持该块未决状态,查看上一个块\n"
+"g - 选择跳转到一个块\n"
+"/ - 查找和给定正则表达式匹配的块\n"
+"s - 拆分当前块为更小的块\n"
+"e - 手动编辑当前块\n"
+"? - 显示帮助\n"
+
+#: add-patch.c:1137 add-patch.c:1147
+msgid "No previous hunk"
+msgstr "没有前一个块"
+
+#: add-patch.c:1142 add-patch.c:1152
+msgid "No next hunk"
+msgstr "没有下一个块"
+
+#: add-patch.c:1158
+msgid "No other hunks to goto"
+msgstr "没有其它可供跳转的块"
+
+#: add-patch.c:1169 git-add--interactive.perl:1577
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "跳转到哪个块(<回车> 查看更多)? "
+
+#: add-patch.c:1170 git-add--interactive.perl:1579
+msgid "go to which hunk? "
+msgstr "跳转到哪个块?"
+
+#: add-patch.c:1181
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr "无效数字:'%s'"
+
+#: add-patch.c:1186
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] "对不起,只有 %d 个可用块。"
+msgstr[1] "对不起,只有 %d 个可用块。"
+
+#: add-patch.c:1195
+msgid "No other hunks to search"
+msgstr "没有其它可供查找的块"
+
+#: add-patch.c:1201 git-add--interactive.perl:1623
+msgid "search for regex? "
+msgstr "使用正则表达式搜索?"
+
+#: add-patch.c:1216
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr "错误的正则表达式 %s:%s"
+
+#: add-patch.c:1233
+msgid "No hunk matches the given pattern"
+msgstr "没有和给定模式相匹配的块"
+
+#: add-patch.c:1240
+msgid "Sorry, cannot split this hunk"
+msgstr "对不起,不能拆分这个块"
+
+#: add-patch.c:1244
+#, c-format
+msgid "Split into %d hunks."
+msgstr "拆分为 %d 块。"
+
+#: add-patch.c:1248
+msgid "Sorry, cannot edit this hunk"
+msgstr "对不起,不能编辑这个块"
+
+#: advice.c:111
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%s提示:%.*s%s\n"
 
-#: advice.c:162
+#: advice.c:164
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:164
+#: advice.c:166
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:166
+#: advice.c:168
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:168
+#: advice.c:170
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:170
+#: advice.c:172
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:172
+#: advice.c:174
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:180
+#: advice.c:182
 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."
@@ -187,23 +608,23 @@
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:188
+#: advice.c:190
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:193 builtin/merge.c:1332
+#: advice.c:195 builtin/merge.c:1332
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:195
+#: advice.c:197
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:196
+#: advice.c:198
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:202
+#: advice.c:204
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -404,24 +825,24 @@
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2926
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3047
+#: apply.c:3057
 #, 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:3059
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3065
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -430,451 +851,437 @@
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3087
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3095
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3142
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3152
+#: apply.c:3162
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
-#: apply.c:3160
+#: apply.c:3170
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3178
+#: apply.c:3188
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必需的目标文件 %1$s"
 
-#: apply.c:3191
+#: apply.c:3201
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3197
+#: apply.c:3207
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3218
+#: apply.c:3228
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3341
+#: apply.c:3351
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3393 apply.c:3404 apply.c:3450 midx.c:61 setup.c:280
+#: apply.c:3403 apply.c:3414 apply.c:3460 midx.c:61 setup.c:280
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3401
+#: apply.c:3411
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3430 apply.c:3673
+#: apply.c:3440 apply.c:3683
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3516 apply.c:3688
+#: apply.c:3526 apply.c:3698
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3525 apply.c:3696
+#: apply.c:3535 apply.c:3706
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3560
+#: apply.c:3570
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: apply.c:3563
+#: apply.c:3573
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
-#: apply.c:3579 apply.c:3583
+#: apply.c:3589 apply.c:3593
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3595
+#: apply.c:3605
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
-#: apply.c:3609
+#: apply.c:3619
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3614
+#: apply.c:3624
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3640
+#: apply.c:3650
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3713
+#: apply.c:3723
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3715
+#: apply.c:3725
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3866 apply.c:3868 read-cache.c:830 read-cache.c:856
-#: read-cache.c:1309
+#: apply.c:3876 apply.c:3878 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1320
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3924
+#: apply.c:3934
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3927
+#: apply.c:3937
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3947
+#: apply.c:3957
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:3952
+#: apply.c:3962
 #, 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:3972
+#: apply.c:3982
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:3976
+#: apply.c:3986
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:3991
+#: apply.c:4001
 #, c-format
 msgid "Checking patch %s..."
 msgstr "正在检查补丁 %s..."
 
-#: apply.c:4083
+#: apply.c:4093
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4090
+#: apply.c:4100
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式变更,但它不在当前 HEAD 中"
 
-#: apply.c:4093
+#: apply.c:4103
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4098 builtin/checkout.c:279 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
-
-#: apply.c:4102
+#: apply.c:4112
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4112
+#: apply.c:4122
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4250
+#: apply.c:4260
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4284
+#: apply.c:4294
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4290
+#: apply.c:4300
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
-#: apply.c:4298
+#: apply.c:4308
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4304 apply.c:4449
+#: apply.c:4314 apply.c:4459
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4347
+#: apply.c:4357
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
-#: apply.c:4351
+#: apply.c:4361
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4421
+#: apply.c:4431
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4519
+#: apply.c:4529
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4527
+#: apply.c:4537
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4530
+#: apply.c:4540
 #, 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:4541
+#: apply.c:4551
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4549 builtin/fetch.c:898 builtin/fetch.c:1194
+#: apply.c:4559 builtin/fetch.c:901 builtin/fetch.c:1192
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4563
+#: apply.c:4573
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4567
+#: apply.c:4577
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4686
+#: apply.c:4696
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4694
+#: apply.c:4704
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4714
+#: apply.c:4724
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4871
+#: apply.c:4881
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4898
+#: apply.c:4908
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4904 apply.c:4919
+#: apply.c:4914 apply.c:4929
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
-#: apply.c:4912
+#: apply.c:4922
 #, 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:4928 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4938 builtin/add.c:579 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4955 apply.c:4958 builtin/am.c:2197 builtin/am.c:2200
-#: builtin/clone.c:122 builtin/fetch.c:143 builtin/merge.c:273
-#: builtin/pull.c:209 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
-msgid "path"
-msgstr "路径"
-
-#: apply.c:4956
+#: apply.c:4966
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4959
+#: apply.c:4969
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4961 builtin/am.c:2206
+#: apply.c:4971 builtin/am.c:2206
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4962
+#: apply.c:4972
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4965
+#: apply.c:4975
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4967
+#: apply.c:4977
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:4971
+#: apply.c:4981
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:4973
+#: apply.c:4983
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:4975
+#: apply.c:4985
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:4977
+#: apply.c:4987
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:4979
+#: apply.c:4989
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
-#: apply.c:4981
+#: apply.c:4991
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4983
+#: apply.c:4993
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4986
+#: apply.c:4996
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:4988
+#: apply.c:4998
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: apply.c:4990
+#: apply.c:5000
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4993 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5003 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4995
+#: apply.c:5005
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4996 builtin/am.c:2185 builtin/interpret-trailers.c:98
+#: apply.c:5006 builtin/am.c:2185 builtin/interpret-trailers.c:98
 #: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
-#: builtin/pack-objects.c:3310 builtin/rebase.c:1445
+#: builtin/pack-objects.c:3310 builtin/rebase.c:1474
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4997
+#: apply.c:5007
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:5000 apply.c:5003
+#: apply.c:5010 apply.c:5013
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:5006
+#: apply.c:5016
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:5008
+#: apply.c:5018
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:5010
+#: apply.c:5020
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:5012
+#: apply.c:5022
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:5013 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2085 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5023 builtin/add.c:309 builtin/check-ignore.c:22
+#: builtin/commit.c:1355 builtin/count-objects.c:98 builtin/fsck.c:774
+#: builtin/log.c:2166 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:5015
+#: apply.c:5025
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:5018
+#: apply.c:5028
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:5020 builtin/am.c:2194
+#: apply.c:5030 builtin/am.c:2194
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:5021
+#: apply.c:5031
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
 #: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr "git archive [<选项>] <树或提交> [<路径>...]"
+msgstr "git archive [<选项>] <树对象> [<路径>...]"
 
 #: archive.c:15
 msgid "git archive --list"
@@ -884,13 +1291,13 @@
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
-"git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
+"git archive --remote <仓库> [--exec <命令>] [<选项>] <树对象> [<路径>...]"
 
 #: archive.c:17
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:180 builtin/add.c:555 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -922,7 +1329,7 @@
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:458 builtin/log.c:1581
+#: archive.c:458 builtin/log.c:1653
 msgid "prefix"
 msgstr "前缀"
 
@@ -930,12 +1337,12 @@
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:460 builtin/blame.c:861 builtin/blame.c:873 builtin/blame.c:874
+#: archive.c:460 builtin/blame.c:861 builtin/blame.c:865 builtin/blame.c:866
 #: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1162
 #: builtin/fast-export.c:1164 builtin/fast-export.c:1168 builtin/grep.c:899
 #: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
 #: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
-#: parse-options.h:186
+#: parse-options.h:190
 msgid "file"
 msgstr "文件"
 
@@ -967,8 +1374,8 @@
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:479 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1391 builtin/submodule--helper.c:1884
 msgid "repo"
 msgstr "仓库"
 
@@ -1007,17 +1414,17 @@
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:350
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "不能打开数据对象 %s"
 
-#: archive-tar.c:266 archive-zip.c:363
+#: archive-tar.c:266 archive-zip.c:368
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "不支持的文件模式:0%o (SHA1: %s)"
 
-#: archive-tar.c:293 archive-zip.c:353
+#: archive-tar.c:293 archive-zip.c:358
 #, c-format
 msgid "cannot read %s"
 msgstr "不能读取 %s"
@@ -1036,37 +1443,37 @@
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
 
-#: archive-zip.c:314
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "路径不是有效的 UTF-8:%s"
 
-#: archive-zip.c:318
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
-#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233
+#: archive-zip.c:479 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: archive-zip.c:609
+#: archive-zip.c:614
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "对于本系统时间戳太大:%<PRIuMAX>"
 
-#: attr.c:213
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s 不是一个有效的属性名"
 
-#: attr.c:370
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "不允许 %s:%s:%d"
 
-#: attr.c:410
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1205,9 +1612,9 @@
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1941 sequencer.c:1971
-#: sequencer.c:4305 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:964
-#: builtin/log.c:1452 builtin/log.c:1844 builtin/log.c:2134 builtin/merge.c:411
+#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1941 sequencer.c:2093
+#: sequencer.c:4460 builtin/commit.c:1040 builtin/log.c:388 builtin/log.c:991
+#: builtin/log.c:1520 builtin/log.c:1925 builtin/log.c:2215 builtin/merge.c:411
 #: builtin/pack-objects.c:3128 builtin/pack-objects.c:3143
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
@@ -1371,8 +1778,8 @@
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2221 sequencer.c:2962
-#: builtin/commit.c:791
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2344 sequencer.c:3108
+#: builtin/commit.c:811
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1403,42 +1810,42 @@
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
-#: bundle.c:272
+#: bundle.c:273
 msgid "unable to dup bundle descriptor"
 msgstr "无法复制 bundle 描述符"
 
-#: bundle.c:279
+#: bundle.c:280
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
-#: bundle.c:290
+#: bundle.c:291
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
-#: bundle.c:332
+#: bundle.c:333
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:381
+#: bundle.c:382
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:460 builtin/log.c:202 builtin/log.c:1733 builtin/shortlog.c:306
+#: bundle.c:461 builtin/log.c:203 builtin/log.c:1814 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
-#: bundle.c:468
+#: bundle.c:469
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:478
+#: bundle.c:479
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:503
+#: bundle.c:504
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
@@ -1447,18 +1854,18 @@
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:50 sequencer.c:2665 builtin/am.c:354 builtin/am.c:398
+#: commit.c:51 sequencer.c:2811 builtin/am.c:354 builtin/am.c:398
 #: builtin/am.c:1366 builtin/am.c:2009 builtin/replace.c:456
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 
-#: commit.c:52
+#: commit.c:53
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
-#: commit.c:192
+#: commit.c:193
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1478,27 +1885,27 @@
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1128
+#: commit.c:1152
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1131
+#: commit.c:1155
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: commit.c:1134
+#: commit.c:1158
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有 GPG 签名。"
 
-#: commit.c:1137
+#: commit.c:1161
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: commit.c:1391
+#: commit.c:1415
 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"
@@ -1508,75 +1915,70 @@
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
-#: commit-graph.c:127
+#: commit-graph.c:130
 msgid "commit-graph file is too small"
 msgstr "提交图形文件太小"
 
-#: commit-graph.c:192
+#: commit-graph.c:195
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "提交图形签名 %X 和签名 %X 不匹配"
 
-#: commit-graph.c:199
+#: commit-graph.c:202
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "提交图形版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:206
+#: commit-graph.c:209
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "提交图形哈希版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:229
+#: commit-graph.c:232
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr "提交图形块查找表条目丢失,文件可能不完整"
 
-#: commit-graph.c:240
+#: commit-graph.c:243
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "提交图形不正确的块偏移 %08x%08x"
 
-#: commit-graph.c:283
+#: commit-graph.c:286
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "提交图形块 id %08x 出现了多次"
 
-#: commit-graph.c:347
+#: commit-graph.c:350
 msgid "commit-graph has no base graphs chunk"
 msgstr "提交图形没有基础图形块"
 
-#: commit-graph.c:357
+#: commit-graph.c:360
 msgid "commit-graph chain does not match"
 msgstr "提交图形链不匹配"
 
-#: commit-graph.c:404
+#: commit-graph.c:407
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr "无效的提交图形链:行 '%s' 不是一个哈希值"
 
-#: commit-graph.c:430
+#: commit-graph.c:433
 msgid "unable to find all commit-graph files"
 msgstr "无法找到所有提交图形文件"
 
-#: commit-graph.c:561 commit-graph.c:621
+#: commit-graph.c:564 commit-graph.c:624
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr "无效的提交位置。提交图形可能已损坏"
 
-#: commit-graph.c:582
+#: commit-graph.c:585
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
-#: commit-graph.c:855 builtin/am.c:1287
+#: commit-graph.c:858 builtin/am.c:1287
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: commit-graph.c:859
-#, c-format
-msgid "unable to get tree for %s"
-msgstr "无法得到 %s 的树对象"
-
 #: commit-graph.c:1017 builtin/pack-objects.c:2641
 #, c-format
 msgid "unable to get type of object %s"
@@ -1643,12 +2045,12 @@
 msgid "failed to write correct number of base graph ids"
 msgstr "无法写入正确数量的基础图形 ID"
 
-#: commit-graph.c:1379 midx.c:810
+#: commit-graph.c:1379 midx.c:814
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
-#: commit-graph.c:1391 builtin/index-pack.c:306 builtin/repack.c:241
+#: commit-graph.c:1391 builtin/index-pack.c:306 builtin/repack.c:248
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
@@ -1806,7 +2208,7 @@
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
-#: config.c:406 sequencer.c:2401
+#: config.c:406 sequencer.c:2530
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
@@ -1928,144 +2330,144 @@
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1425
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr "%s 的取值格式错误"
 
-#: config.c:1451
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "%s 的取值格式错误:%s"
 
-#: config.c:1452
+#: config.c:1457
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
-#: config.c:1513 builtin/pack-objects.c:3394
+#: config.c:1518 builtin/pack-objects.c:3394
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1634
+#: config.c:1639
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
-#: config.c:1637
+#: config.c:1642
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
-#: config.c:1654
+#: config.c:1659
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
-#: config.c:1684
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
-#: config.c:1740
+#: config.c:1745
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2091
+#: config.c:2096
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2261
+#: config.c:2266
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2306
+#: config.c:2311
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2352
+#: config.c:2357
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2354
+#: config.c:2359
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2435
+#: config.c:2440
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
-#: config.c:2467
+#: config.c:2472
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2496
+#: config.c:2501
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
-#: config.c:2748 config.c:3072
+#: config.c:2753 config.c:3077
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
-#: config.c:2759
+#: config.c:2764
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
-#: config.c:2794 builtin/config.c:328
+#: config.c:2799 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
-#: config.c:2819
+#: config.c:2824
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
-#: config.c:2832 config.c:3085
+#: config.c:2837 config.c:3090
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2843
+#: config.c:2848
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
-#: config.c:2852 config.c:3090
+#: config.c:2857 config.c:3095
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
-#: config.c:2937 config.c:3187
+#: config.c:2942 config.c:3192
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
-#: config.c:2971
+#: config.c:2976
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2973 builtin/remote.c:782
+#: config.c:2978 builtin/remote.c:781
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: config.c:3063
+#: config.c:3068
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
-#: config.c:3230
+#: config.c:3235
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
@@ -2228,19 +2630,19 @@
 msgid "unable to fork"
 msgstr "无法 fork"
 
-#: connected.c:88 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:89 builtin/fsck.c:208 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "正在检查连通性"
 
-#: connected.c:100
+#: connected.c:101
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
-#: connected.c:120
+#: connected.c:121
 msgid "failed write to rev-list"
 msgstr "写入 rev-list 失败"
 
-#: connected.c:127
+#: connected.c:128
 msgid "failed to close rev-list's stdin"
 msgstr "关闭 rev-list 的标准输入失败"
 
@@ -2277,24 +2679,24 @@
 "%s 中的 LF 将被 CRLF 替换。\n"
 "在工作区中该文件仍保持原有的换行符"
 
-#: convert.c:280
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM"
 
-#: convert.c:287
+#: convert.c:291
 #, c-format
 msgid ""
-"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
-"tree-encoding."
-msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%s 作为工作区编码。"
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
+"working-tree-encoding."
+msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%.*s 作为工作区编码。"
 
-#: convert.c:305
+#: convert.c:304
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "如果编码为 %2$s,需要在 '%1$s' 中使用 BOM"
 
-#: convert.c:307
+#: convert.c:306
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -2303,66 +2705,66 @@
 "文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字"
 "节序)作为工作区编码。"
 
-#: convert.c:425 convert.c:496
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "无法对 '%s' 进行从 %s 到 %s 的编码"
 
-#: convert.c:468
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致"
 
-#: convert.c:674
+#: convert.c:668
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "不能 fork 以执行外部过滤器 '%s'"
 
-#: convert.c:694
+#: convert.c:688
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "不能将输入传递给外部过滤器 '%s'"
 
-#: convert.c:701
+#: convert.c:695
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "外部过滤器 '%s' 失败码 %d"
 
-#: convert.c:736 convert.c:739
+#: convert.c:730 convert.c:733
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "从外部过滤器 '%s' 读取失败"
 
-#: convert.c:742 convert.c:797
+#: convert.c:736 convert.c:791
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "外部过滤器 '%s' 失败"
 
-#: convert.c:845
+#: convert.c:839
 msgid "unexpected filter type"
 msgstr "意外的过滤类型"
 
-#: convert.c:856
+#: convert.c:850
 msgid "path name too long for external filter"
 msgstr "外部过滤器的路径名太长"
 
-#: convert.c:930
+#: convert.c:924
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
 "been filtered"
 msgstr "外部过滤器 '%s' 不再可用,但并非所有路径都已过滤"
 
-#: convert.c:1229
+#: convert.c:1223
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false 不是有效的工作区编码"
 
-#: convert.c:1417 convert.c:1451
+#: convert.c:1411 convert.c:1445
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s:clean 过滤器 '%s' 失败"
 
-#: convert.c:1495
+#: convert.c:1489
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s:smudge 过滤器 %s 失败"
@@ -2527,35 +2929,35 @@
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:4218
+#: diff.c:4202
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4563
+#: diff.c:4547
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:4566
+#: diff.c:4550
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G、-S 和 --find-object 是互斥的"
 
-#: diff.c:4644
+#: diff.c:4628
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4692
+#: diff.c:4676
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "无效的 --stat 值:%s"
 
-#: diff.c:4697 diff.c:4702 diff.c:4707 diff.c:4712 diff.c:5225
+#: diff.c:4681 diff.c:4686 diff.c:4691 diff.c:4696 diff.c:5209
 #: parse-options.c:199 parse-options.c:203
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s 期望一个数字值"
 
-#: diff.c:4729
+#: diff.c:4713
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2564,195 +2966,195 @@
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4814
+#: diff.c:4798
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "--diff-filter=%2$s 中未知的变更类 '%1$c'"
 
-#: diff.c:4838
+#: diff.c:4822
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "ws-error-highlight=%.*s 之后未知的值"
 
-#: diff.c:4852
+#: diff.c:4836
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "不能解析 '%s'"
 
-#: diff.c:4902 diff.c:4908
+#: diff.c:4886 diff.c:4892
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s 期望 <n>/<m> 格式"
 
-#: diff.c:4920
+#: diff.c:4904
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s 期望一个字符,得到 '%s'"
 
-#: diff.c:4941
+#: diff.c:4925
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "坏的 --color-moved 参数:%s"
 
-#: diff.c:4960
+#: diff.c:4944
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "--color-moved-ws 中的无效模式 '%s' "
 
-#: diff.c:5000
+#: diff.c:4984
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
 msgstr ""
 "diff-algorithm 选项有 \"myers\"、\"minimal\"、\"patience\" 和 \"histogram\""
 
-#: diff.c:5036 diff.c:5056
+#: diff.c:5020 diff.c:5040
 #, c-format
 msgid "invalid argument to %s"
 msgstr "%s 的参数无效"
 
-#: diff.c:5194
+#: diff.c:5178
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5250
+#: diff.c:5234
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "坏的 --word-diff 参数:%s"
 
-#: diff.c:5273
+#: diff.c:5257
 msgid "Diff output format options"
 msgstr "差异输出格式化选项"
 
-#: diff.c:5275 diff.c:5281
+#: diff.c:5259 diff.c:5265
 msgid "generate patch"
 msgstr "生成补丁"
 
-#: diff.c:5278 builtin/log.c:172
+#: diff.c:5262 builtin/log.c:173
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: diff.c:5283 diff.c:5397 diff.c:5404
+#: diff.c:5267 diff.c:5381 diff.c:5388
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5284 diff.c:5287
+#: diff.c:5268 diff.c:5271
 msgid "generate diffs with <n> lines context"
 msgstr "生成含 <n> 行上下文的差异"
 
-#: diff.c:5289
+#: diff.c:5273
 msgid "generate the diff in raw format"
 msgstr "生成原始格式的差异"
 
-#: diff.c:5292
+#: diff.c:5276
 msgid "synonym for '-p --raw'"
 msgstr "和 '-p --raw' 同义"
 
-#: diff.c:5296
+#: diff.c:5280
 msgid "synonym for '-p --stat'"
 msgstr "和 '-p --stat' 同义"
 
-#: diff.c:5300
+#: diff.c:5284
 msgid "machine friendly --stat"
 msgstr "机器友好的 --stat"
 
-#: diff.c:5303
+#: diff.c:5287
 msgid "output only the last line of --stat"
 msgstr "只输出 --stat 的最后一行"
 
-#: diff.c:5305 diff.c:5313
+#: diff.c:5289 diff.c:5297
 msgid "<param1,param2>..."
 msgstr "<参数1,参数2>..."
 
-#: diff.c:5306
+#: diff.c:5290
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "输出每个子目录相对变更的分布"
 
-#: diff.c:5310
+#: diff.c:5294
 msgid "synonym for --dirstat=cumulative"
 msgstr "和 --dirstat=cumulative 同义"
 
-#: diff.c:5314
+#: diff.c:5298
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "是 --dirstat=files,param1,param2... 的同义词"
 
-#: diff.c:5318
+#: diff.c:5302
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr "如果变更中引入冲突定界符或空白错误,给出警告"
 
-#: diff.c:5321
+#: diff.c:5305
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "精简摘要,例如创建、重命名和模式变更"
 
-#: diff.c:5324
+#: diff.c:5308
 msgid "show only names of changed files"
 msgstr "只显示变更文件的文件名"
 
-#: diff.c:5327
+#: diff.c:5311
 msgid "show only names and status of changed files"
 msgstr "只显示变更文件的文件名和状态"
 
-#: diff.c:5329
+#: diff.c:5313
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<宽度>[,<文件名宽度>[,<次数>]]"
 
-#: diff.c:5330
+#: diff.c:5314
 msgid "generate diffstat"
 msgstr "生成差异统计(diffstat)"
 
-#: diff.c:5332 diff.c:5335 diff.c:5338
+#: diff.c:5316 diff.c:5319 diff.c:5322
 msgid "<width>"
 msgstr "<宽度>"
 
-#: diff.c:5333
+#: diff.c:5317
 msgid "generate diffstat with a given width"
 msgstr "使用给定的长度生成差异统计"
 
-#: diff.c:5336
+#: diff.c:5320
 msgid "generate diffstat with a given name width"
 msgstr "使用给定的文件名长度生成差异统计"
 
-#: diff.c:5339
+#: diff.c:5323
 msgid "generate diffstat with a given graph width"
 msgstr "使用给定的图形长度生成差异统计"
 
-#: diff.c:5341
+#: diff.c:5325
 msgid "<count>"
 msgstr "<次数>"
 
-#: diff.c:5342
+#: diff.c:5326
 msgid "generate diffstat with limited lines"
 msgstr "生成有限行数的差异统计"
 
-#: diff.c:5345
+#: diff.c:5329
 msgid "generate compact summary in diffstat"
 msgstr "生成差异统计的简洁摘要"
 
-#: diff.c:5348
+#: diff.c:5332
 msgid "output a binary diff that can be applied"
 msgstr "输出一个可以应用的二进制差异"
 
-#: diff.c:5351
+#: diff.c:5335
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr "在 \"index\" 行显示完整的前后对象名称"
 
-#: diff.c:5353
+#: diff.c:5337
 msgid "show colored diff"
 msgstr "显示带颜色的差异"
 
-#: diff.c:5354
+#: diff.c:5338
 msgid "<kind>"
 msgstr "<类型>"
 
-#: diff.c:5355
+#: diff.c:5339
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
 msgstr "对于差异中的上下文、旧的和新的行,加亮显示错误的空白字符"
 
-#: diff.c:5358
+#: diff.c:5342
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2760,334 +3162,353 @@
 "在 --raw 或者 --numstat 中,不对路径字符转码并使用 NUL 字符做为输出字段的分隔"
 "符"
 
-#: diff.c:5361 diff.c:5364 diff.c:5367 diff.c:5473
+#: diff.c:5345 diff.c:5348 diff.c:5351 diff.c:5457
 msgid "<prefix>"
 msgstr "<前缀>"
 
-#: diff.c:5362
+#: diff.c:5346
 msgid "show the given source prefix instead of \"a/\""
 msgstr "显示给定的源前缀取代 \"a/\""
 
-#: diff.c:5365
+#: diff.c:5349
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "显示给定的目标前缀取代 \"b/\""
 
-#: diff.c:5368
+#: diff.c:5352
 msgid "prepend an additional prefix to every line of output"
 msgstr "输出的每一行附加前缀"
 
-#: diff.c:5371
+#: diff.c:5355
 msgid "do not show any source or destination prefix"
 msgstr "不显示任何源和目标前缀"
 
-#: diff.c:5374
+#: diff.c:5358
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr "显示指定行数的差异块间的上下文"
 
-#: diff.c:5378 diff.c:5383 diff.c:5388
+#: diff.c:5362 diff.c:5367 diff.c:5372
 msgid "<char>"
 msgstr "<字符>"
 
-#: diff.c:5379
+#: diff.c:5363
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "指定一个字符取代 '+' 来表示新的一行"
 
-#: diff.c:5384
+#: diff.c:5368
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "指定一个字符取代 '-' 来表示旧的一行"
 
-#: diff.c:5389
+#: diff.c:5373
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "指定一个字符取代 ' ' 来表示一行上下文"
 
-#: diff.c:5392
+#: diff.c:5376
 msgid "Diff rename options"
 msgstr "差异重命名选项"
 
-#: diff.c:5393
+#: diff.c:5377
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5394
+#: diff.c:5378
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "将完全重写的变更打破为成对的删除和创建"
 
-#: diff.c:5398
+#: diff.c:5382
 msgid "detect renames"
 msgstr "检测重命名"
 
-#: diff.c:5402
+#: diff.c:5386
 msgid "omit the preimage for deletes"
 msgstr "省略删除操作的差异输出"
 
-#: diff.c:5405
+#: diff.c:5389
 msgid "detect copies"
 msgstr "检测拷贝"
 
-#: diff.c:5409
+#: diff.c:5393
 msgid "use unmodified files as source to find copies"
 msgstr "使用未修改的文件做为发现拷贝的源"
 
-#: diff.c:5411
+#: diff.c:5395
 msgid "disable rename detection"
 msgstr "禁用重命名探测"
 
-#: diff.c:5414
+#: diff.c:5398
 msgid "use empty blobs as rename source"
 msgstr "使用空的数据对象做为重命名的源"
 
-#: diff.c:5416
+#: diff.c:5400
 msgid "continue listing the history of a file beyond renames"
 msgstr "继续列出文件重命名以外的历史记录"
 
-#: diff.c:5419
+#: diff.c:5403
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
 msgstr "如果重命名/拷贝目标超过给定的限制,禁止重命名/拷贝检测"
 
-#: diff.c:5421
+#: diff.c:5405
 msgid "Diff algorithm options"
 msgstr "差异算法选项"
 
-#: diff.c:5423
+#: diff.c:5407
 msgid "produce the smallest possible diff"
 msgstr "生成尽可能小的差异"
 
-#: diff.c:5426
+#: diff.c:5410
 msgid "ignore whitespace when comparing lines"
 msgstr "行比较时忽略空白字符"
 
-#: diff.c:5429
+#: diff.c:5413
 msgid "ignore changes in amount of whitespace"
 msgstr "忽略空白字符的变更"
 
-#: diff.c:5432
+#: diff.c:5416
 msgid "ignore changes in whitespace at EOL"
 msgstr "忽略行尾的空白字符变更"
 
-#: diff.c:5435
+#: diff.c:5419
 msgid "ignore carrier-return at the end of line"
 msgstr "忽略行尾的回车符(CR)"
 
-#: diff.c:5438
+#: diff.c:5422
 msgid "ignore changes whose lines are all blank"
 msgstr "忽略整行都是空白的变更"
 
-#: diff.c:5441
+#: diff.c:5425
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "启发式转换差异边界以便阅读"
 
-#: diff.c:5444
+#: diff.c:5428
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "使用 \"patience diff\" 算法生成差异"
 
-#: diff.c:5448
+#: diff.c:5432
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "使用 \"histogram diff\" 算法生成差异"
 
-#: diff.c:5450
+#: diff.c:5434
 msgid "<algorithm>"
 msgstr "<算法>"
 
-#: diff.c:5451
+#: diff.c:5435
 msgid "choose a diff algorithm"
 msgstr "选择一个差异算法"
 
-#: diff.c:5453
+#: diff.c:5437
 msgid "<text>"
 msgstr "<文本>"
 
-#: diff.c:5454
+#: diff.c:5438
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "使用 \"anchored diff\" 算法生成差异"
 
-#: diff.c:5456 diff.c:5465 diff.c:5468
+#: diff.c:5440 diff.c:5449 diff.c:5452
 msgid "<mode>"
 msgstr "<模式>"
 
-#: diff.c:5457
+#: diff.c:5441
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr "显示单词差异,使用 <模式> 分隔变更的单词"
 
-#: diff.c:5459 diff.c:5462 diff.c:5507
+#: diff.c:5443 diff.c:5446 diff.c:5491
 msgid "<regex>"
 msgstr "<正则>"
 
-#: diff.c:5460
+#: diff.c:5444
 msgid "use <regex> to decide what a word is"
 msgstr "使用 <正则表达式> 确定何为一个词"
 
-#: diff.c:5463
+#: diff.c:5447
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "相当于 --word-diff=color --word-diff-regex=<正则>"
 
-#: diff.c:5466
+#: diff.c:5450
 msgid "moved lines of code are colored differently"
 msgstr "移动的代码行用不同方式着色"
 
-#: diff.c:5469
+#: diff.c:5453
 msgid "how white spaces are ignored in --color-moved"
 msgstr "在 --color-moved 下如何忽略空白字符"
 
-#: diff.c:5472
+#: diff.c:5456
 msgid "Other diff options"
 msgstr "其它差异选项"
 
-#: diff.c:5474
+#: diff.c:5458
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr "当从子目录运行,排除目录之外的变更并显示相对路径"
 
-#: diff.c:5478
+#: diff.c:5462
 msgid "treat all files as text"
 msgstr "把所有文件当做文本处理"
 
-#: diff.c:5480
+#: diff.c:5464
 msgid "swap two inputs, reverse the diff"
 msgstr "交换两个输入,反转差异"
 
-#: diff.c:5482
+#: diff.c:5466
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "有差异时退出码为 1,否则为 0"
 
-#: diff.c:5484
+#: diff.c:5468
 msgid "disable all output of the program"
 msgstr "禁用本程序的所有输出"
 
-#: diff.c:5486
+#: diff.c:5470
 msgid "allow an external diff helper to be executed"
 msgstr "允许执行一个外置的差异助手"
 
-#: diff.c:5488
+#: diff.c:5472
 msgid "run external text conversion filters when comparing binary files"
 msgstr "当比较二进制文件时,运行外部的文本转换过滤器"
 
-#: diff.c:5490
+#: diff.c:5474
 msgid "<when>"
 msgstr "<何时>"
 
-#: diff.c:5491
+#: diff.c:5475
 msgid "ignore changes to submodules in the diff generation"
 msgstr "在生成差异时,忽略子模组的更改"
 
-#: diff.c:5494
+#: diff.c:5478
 msgid "<format>"
 msgstr "<格式>"
 
-#: diff.c:5495
+#: diff.c:5479
 msgid "specify how differences in submodules are shown"
 msgstr "指定子模组的差异如何显示"
 
-#: diff.c:5499
+#: diff.c:5483
 msgid "hide 'git add -N' entries from the index"
 msgstr "隐藏索引中 'git add -N' 条目"
 
-#: diff.c:5502
+#: diff.c:5486
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "将索引中 'git add -N' 条目当做真实的"
 
-#: diff.c:5504
+#: diff.c:5488
 msgid "<string>"
 msgstr "<字符串>"
 
-#: diff.c:5505
+#: diff.c:5489
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
 msgstr "查找改变了指定字符串出现次数的差异"
 
-#: diff.c:5508
+#: diff.c:5492
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
 msgstr "查找改变指定正则匹配出现次数的差异"
 
-#: diff.c:5511
+#: diff.c:5495
 msgid "show all changes in the changeset with -S or -G"
 msgstr "显示使用 -S 或 -G 的变更集的所有变更"
 
-#: diff.c:5514
+#: diff.c:5498
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "将 -S 的 <string> 当做扩展的 POSIX 正则表达式"
 
-#: diff.c:5517
+#: diff.c:5501
 msgid "control the order in which files appear in the output"
 msgstr "控制输出中的文件显示顺序"
 
-#: diff.c:5518
+#: diff.c:5502
 msgid "<object-id>"
 msgstr "<对象 ID>"
 
-#: diff.c:5519
+#: diff.c:5503
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
 msgstr "查找改变指定对象出现次数的差异"
 
-#: diff.c:5521
+#: diff.c:5505
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
 
-#: diff.c:5522
+#: diff.c:5506
 msgid "select files by diff type"
 msgstr "通过差异类型选择文件"
 
-#: diff.c:5524
+#: diff.c:5508
 msgid "<file>"
 msgstr "<文件>"
 
-#: diff.c:5525
+#: diff.c:5509
 msgid "Output to a specific file"
 msgstr "输出到一个指定的文件"
 
-#: diff.c:6180
+#: diff.c:6164
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:6183
+#: diff.c:6167
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:6186
+#: diff.c:6170
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:549
+#: dir.c:554
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
 
-#: dir.c:938
+#: dir.c:664
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr "未识别的模式:'%s'"
+
+#: dir.c:682 dir.c:696
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr "未识别的反向模式:'%s'"
+
+#: dir.c:714
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr "您的 sparse-checkout 文件可能有问题:重复的模式 '%s'"
+
+#: dir.c:724
+msgid "disabling cone pattern matching"
+msgstr "禁止 cone 模式匹配"
+
+#: dir.c:1101
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
-#: dir.c:1877
+#: dir.c:2078
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2128
+#: dir.c:2415
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2252
+#: dir.c:2539
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
-#: dir.c:3056
+#: dir.c:3343
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
-#: dir.c:3101 dir.c:3106
+#: dir.c:3388 dir.c:3393
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3135
+#: dir.c:3422
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
@@ -3106,12 +3527,12 @@
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 
-#: environment.c:148
+#: environment.c:149
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "错误的 git 名字空间路径 \"%s\""
 
-#: environment.c:330
+#: environment.c:331
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "不能设置 GIT_DIR 为 '%s'"
@@ -3146,32 +3567,32 @@
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc 需要 multi_ack_detailed"
 
-#: fetch-pack.c:356 fetch-pack.c:1280
+#: fetch-pack.c:356 fetch-pack.c:1340
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:362 fetch-pack.c:1286
+#: fetch-pack.c:362 fetch-pack.c:1346
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:364 fetch-pack.c:1288
+#: fetch-pack.c:364 fetch-pack.c:1348
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:367 fetch-pack.c:1291
+#: fetch-pack.c:367 fetch-pack.c:1351
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:369 fetch-pack.c:1293
+#: fetch-pack.c:369 fetch-pack.c:1353
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:372 fetch-pack.c:1297
+#: fetch-pack.c:372 fetch-pack.c:1357
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
@@ -3190,7 +3611,7 @@
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:475 progress.c:312
+#: fetch-pack.c:475 progress.c:323
 msgid "done"
 msgstr "完成"
 
@@ -3204,162 +3625,162 @@
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:742
+#: fetch-pack.c:754
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:781
+#: fetch-pack.c:818
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:789
+#: fetch-pack.c:826
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:857
+#: fetch-pack.c:900
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:916
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:918
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:907
+#: fetch-pack.c:965
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:912 fetch-pack.c:918 fetch-pack.c:921 fetch-pack.c:927
-#: fetch-pack.c:931 fetch-pack.c:935 fetch-pack.c:939 fetch-pack.c:943
-#: fetch-pack.c:947 fetch-pack.c:951 fetch-pack.c:955 fetch-pack.c:959
-#: fetch-pack.c:965 fetch-pack.c:971 fetch-pack.c:976 fetch-pack.c:981
+#: fetch-pack.c:970 fetch-pack.c:976 fetch-pack.c:979 fetch-pack.c:985
+#: fetch-pack.c:989 fetch-pack.c:993 fetch-pack.c:997 fetch-pack.c:1001
+#: fetch-pack.c:1005 fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017
+#: fetch-pack.c:1023 fetch-pack.c:1029 fetch-pack.c:1034 fetch-pack.c:1039
 #, c-format
 msgid "Server supports %s"
 msgstr "服务器支持 %s"
 
-#: fetch-pack.c:914
+#: fetch-pack.c:972
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
-#: fetch-pack.c:974
+#: fetch-pack.c:1032
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:979
+#: fetch-pack.c:1037
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:983
+#: fetch-pack.c:1041
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1000
+#: fetch-pack.c:1058
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1012 fetch-pack.c:1468
+#: fetch-pack.c:1070 fetch-pack.c:1536
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1150
+#: fetch-pack.c:1209
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
-#: fetch-pack.c:1157
+#: fetch-pack.c:1216
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:1180
+#: fetch-pack.c:1239
 msgid "unable to write request to remote"
 msgstr "无法将请求写到远程"
 
-#: fetch-pack.c:1198
+#: fetch-pack.c:1257
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
-#: fetch-pack.c:1204
+#: fetch-pack.c:1263
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
-#: fetch-pack.c:1243
+#: fetch-pack.c:1303
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
-#: fetch-pack.c:1248
+#: fetch-pack.c:1308
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
-#: fetch-pack.c:1258
+#: fetch-pack.c:1318
 msgid "expected packfile to be sent after 'ready'"
 msgstr "预期在 'ready' 之后发送 packfile"
 
-#: fetch-pack.c:1260
+#: fetch-pack.c:1320
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "在没有 'ready' 不应该发送其它小节"
 
-#: fetch-pack.c:1302
+#: fetch-pack.c:1362
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
-#: fetch-pack.c:1349
+#: fetch-pack.c:1409
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
-#: fetch-pack.c:1354
+#: fetch-pack.c:1414
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
-#: fetch-pack.c:1359
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
-#: fetch-pack.c:1693
+#: fetch-pack.c:1762
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1716 builtin/clone.c:685
+#: fetch-pack.c:1785 builtin/clone.c:688
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
-#: fetch-pack.c:1743
+#: fetch-pack.c:1812
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1746
+#: fetch-pack.c:1815
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
 
-#: gpg-interface.c:321
-msgid "gpg failed to sign the data"
-msgstr "gpg 无法为数据签名"
-
-#: gpg-interface.c:347
+#: gpg-interface.c:223
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
-#: gpg-interface.c:350
+#: gpg-interface.c:226
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 
-#: graph.c:97
+#: gpg-interface.c:390
+msgid "gpg failed to sign the data"
+msgstr "gpg 无法为数据签名"
+
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
@@ -3369,14 +3790,15 @@
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
 msgstr ""
-"给定的模式包含 NULL 字符(通过 -f <文件> 参数)。只有 PCRE v2 下的 -P 支持此功能"
+"给定的模式包含 NULL 字符(通过 -f <文件> 参数)。只有 PCRE v2 下的 -P 支持此"
+"功能"
 
 #: grep.c:2124
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:2141 setup.c:165 builtin/clone.c:408 builtin/diff.c:82
+#: grep.c:2141 setup.c:165 builtin/clone.c:411 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
@@ -3432,7 +3854,7 @@
 msgstr "低级命令/询问者"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "低级命令/同步仓库"
 
 #: help.c:38
@@ -3596,7 +4018,7 @@
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:436 builtin/commit.c:611
+#: ident.c:436 builtin/commit.c:631
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
@@ -3680,7 +4102,7 @@
 msgstr "读取缓存失败"
 
 #: merge.c:107 rerere.c:720 builtin/am.c:1874 builtin/am.c:1908
-#: builtin/checkout.c:537 builtin/checkout.c:796 builtin/clone.c:785
+#: builtin/checkout.c:539 builtin/checkout.c:798 builtin/clone.c:809
 #: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
@@ -3866,7 +4288,7 @@
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1614 merge-recursive.c:2472 merge-recursive.c:3117
+#: merge-recursive.c:1614 merge-recursive.c:2530 merge-recursive.c:3175
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "拒绝丢失脏文件 '%s'"
@@ -3911,7 +4333,7 @@
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:2056
+#: merge-recursive.c:2114
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3921,7 +4343,7 @@
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
-#: merge-recursive.c:2088
+#: merge-recursive.c:2146
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3930,7 +4352,7 @@
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-recursive.c:2098
+#: merge-recursive.c:2156
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3939,7 +4361,7 @@
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-recursive.c:2190
+#: merge-recursive.c:2248
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3948,59 +4370,59 @@
 "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
 "%4$s->%5$s"
 
-#: merge-recursive.c:2435
+#: merge-recursive.c:2493
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
 
-#: merge-recursive.c:2961
+#: merge-recursive.c:3019
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:2964
+#: merge-recursive.c:3022
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:3028
+#: merge-recursive.c:3086
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:3028
+#: merge-recursive.c:3086
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:3040
+#: merge-recursive.c:3098
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:3044
+#: merge-recursive.c:3102
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:3067
+#: merge-recursive.c:3125
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:3089 git-submodule.sh:937
+#: merge-recursive.c:3147 git-submodule.sh:993
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:3090
+#: merge-recursive.c:3148
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:3120
+#: merge-recursive.c:3178
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:3203
+#: merge-recursive.c:3261
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4008,7 +4430,7 @@
 msgstr ""
 "路径已更新:%s 添加到 %s,位于一个被重命名到 %s 的目录中,将其移动到 %s。"
 
-#: merge-recursive.c:3206
+#: merge-recursive.c:3264
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4017,7 +4439,7 @@
 "冲突(文件位置):%s 添加到 %s,位于一个被重命名为 %s 的目录中,建议将其移动"
 "到 %s。"
 
-#: merge-recursive.c:3210
+#: merge-recursive.c:3268
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4026,7 +4448,7 @@
 "路径已更新:%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,将其移"
 "动到 %5$s。"
 
-#: merge-recursive.c:3213
+#: merge-recursive.c:3271
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4035,59 +4457,59 @@
 "冲突(文件位置):%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,"
 "建议将其移动到 %5$s。"
 
-#: merge-recursive.c:3327
+#: merge-recursive.c:3385
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:3350
+#: merge-recursive.c:3408
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:3355
+#: merge-recursive.c:3413
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3362
+#: merge-recursive.c:3420
 #, 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:3371
+#: merge-recursive.c:3429
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3380
+#: merge-recursive.c:3438
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "冲突(add/add):合并冲突于 %s"
 
-#: merge-recursive.c:3424
+#: merge-recursive.c:3482
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:3433
+#: merge-recursive.c:3491
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:3537
+#: merge-recursive.c:3595
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3550
+#: merge-recursive.c:3608
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:3600
+#: merge-recursive.c:3658
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3659
+#: merge-recursive.c:3717
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4096,12 +4518,12 @@
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
-#: merge-recursive.c:3756
+#: merge-recursive.c:3814
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3774 builtin/merge.c:694 builtin/merge.c:874
+#: merge-recursive.c:3832 builtin/merge.c:694 builtin/merge.c:874
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -4167,78 +4589,94 @@
 msgid "error preparing packfile from multi-pack-index"
 msgstr "从多包索引准备 packfile 出错"
 
-#: midx.c:469
+#: midx.c:472
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "添加包文件 '%s' 失败"
 
-#: midx.c:475
+#: midx.c:478
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "打开包索引 '%s' 失败"
 
-#: midx.c:535
+#: midx.c:538
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "在包文件中定位对象 %d 失败"
 
-#: midx.c:864
+#: midx.c:842
+msgid "Adding packfiles to multi-pack-index"
+msgstr "添加包文件到多包索引"
+
+#: midx.c:875
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "没有看到要丢弃的包文件 %s"
 
-#: midx.c:1035
+#: midx.c:973
+msgid "Writing chunks to multi-pack-index"
+msgstr "写入块到多包索引"
+
+#: midx.c:1052
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "清理位于 %s 的多包索引失败"
 
-#: midx.c:1090
+#: midx.c:1108
 msgid "Looking for referenced packfiles"
 msgstr "正在查找引用的包文件"
 
-#: midx.c:1105
+#: midx.c:1123
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "对象 ID 扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1109
-msgid "Verifying OID order in MIDX"
-msgstr "正在校验 MIDX 中的对象 ID 顺序"
+#: midx.c:1128
+msgid "Verifying OID order in multi-pack-index"
+msgstr "校验多包索引中的 OID 顺序"
 
-#: midx.c:1118
+#: midx.c:1137
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "对象 ID 查询无序:oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1137
+#: midx.c:1157
 msgid "Sorting objects by packfile"
 msgstr "通过包文件为对象排序"
 
-#: midx.c:1143
+#: midx.c:1164
 msgid "Verifying object offsets"
 msgstr "校验对象偏移"
 
-#: midx.c:1159
+#: midx.c:1180
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "为 oid[%d] = %s 加载包条目失败"
 
-#: midx.c:1165
+#: midx.c:1186
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "为包文件 %s 加载包索引失败"
 
-#: midx.c:1174
+#: midx.c:1195
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
 
-#: midx.c:1349
+#: midx.c:1220
+msgid "Counting referenced objects"
+msgstr "正在对引用对象计数"
+
+#: midx.c:1230
+msgid "Finding and deleting unreferenced packfiles"
+msgstr "正在查找和删除未引用的包文件"
+
+#: midx.c:1388
 msgid "could not start pack-objects"
 msgstr "不能开始 pack-objects"
 
-#: midx.c:1368
+#: midx.c:1407
 msgid "could not finish pack-objects"
 msgstr "不能结束 pack-objects"
 
@@ -4325,12 +4763,12 @@
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1887
+#: packfile.c:1888
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: packfile.c:1891
+#: packfile.c:1892
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
@@ -4442,82 +4880,87 @@
 msgid "malformed object name '%s'"
 msgstr "格式错误的对象名 '%s'"
 
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr "转义字符 '\\' 不能作为属性值的最后一个字符"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "只允许一个 'attr:' 规格。"
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "属性规格不能为空"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "无效的属性名 %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "路径规格包含无效的神奇前缀"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s:'literal' 和 'glob' 不兼容"
 
-#: pathspec.c:440
+#: pathspec.c:442
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s:'%s' 在仓库之外"
 
-#: pathspec.c:514
+#: pathspec.c:516
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s'(助记符:'%c')"
 
-#: pathspec.c:524
+#: pathspec.c:526
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
 
-#: pathspec.c:591
+#: pathspec.c:593
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
+#: pathspec.c:638
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr "行被错误地引用:%s"
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr "无法写 flush 包"
@@ -4578,42 +5021,42 @@
 msgid "unable to create threaded lstat: %s"
 msgstr "无法创建线程 lstat:%s"
 
-#: pretty.c:966
+#: pretty.c:981
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: promisor-remote.c:25
+#: promisor-remote.c:23
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
-#: promisor-remote.c:61
+#: promisor-remote.c:58
 #, c-format
 msgid "promisor remote name cannot begin with '/': %s"
 msgstr "promisor 远程名称不能以 '/' 开始:%s"
 
-#: range-diff.c:71
+#: range-diff.c:75
 msgid "could not start `log`"
 msgstr "不能启动 `log`"
 
-#: range-diff.c:73
+#: range-diff.c:77
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
-#: range-diff.c:92 sequencer.c:4985
+#: range-diff.c:96 sequencer.c:5163
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 
-#: range-diff.c:118
+#: range-diff.c:122
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "无法解析 git 头 '%.*s'"
 
-#: range-diff.c:275
+#: range-diff.c:285
 msgid "failed to generate diff"
 msgstr "生成 diff 失败"
 
-#: range-diff.c:507 range-diff.c:509
+#: range-diff.c:518 range-diff.c:520
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
@@ -4652,16 +5095,16 @@
 msgid "unable to stat '%s'"
 msgstr "无法对 %s 执行 stat"
 
-#: read-cache.c:1314
+#: read-cache.c:1325
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' 看起来既是文件又是目录"
 
-#: read-cache.c:1520
+#: read-cache.c:1531
 msgid "Refresh index"
 msgstr "刷新索引"
 
-#: read-cache.c:1635
+#: read-cache.c:1646
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4670,7 +5113,7 @@
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1645
+#: read-cache.c:1656
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4679,139 +5122,139 @@
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1701
+#: read-cache.c:1712
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "坏的签名 0x%08x"
 
-#: read-cache.c:1704
+#: read-cache.c:1715
 #, c-format
 msgid "bad index version %d"
 msgstr "坏的索引版本 %d"
 
-#: read-cache.c:1713
+#: read-cache.c:1724
 msgid "bad index file sha1 signature"
 msgstr "坏的索引文件 sha1 签名"
 
-#: read-cache.c:1743
+#: read-cache.c:1754
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "索引使用不被支持的 %.4s 扩展"
 
 # 	
-#: read-cache.c:1745
+#: read-cache.c:1756
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "忽略 %.4s 扩展"
 
-#: read-cache.c:1782
+#: read-cache.c:1793
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "未知的索引条目格式 0x%08x"
 
-#: read-cache.c:1798
+#: read-cache.c:1809
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "索引中靠近路径 '%s' 有错误的名称字段"
 
-#: read-cache.c:1855
+#: read-cache.c:1866
 msgid "unordered stage entries in index"
 msgstr "索引中有未排序的暂存条目"
 
-#: read-cache.c:1858
+#: read-cache.c:1869
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "合并文件 '%s' 有多个暂存条目"
 
-#: read-cache.c:1861
+#: read-cache.c:1872
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "'%s' 的未排序暂存条目"
 
-#: read-cache.c:1967 read-cache.c:2255 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:468
-#: builtin/checkout.c:652 builtin/clean.c:967 builtin/commit.c:347
+#: read-cache.c:1978 read-cache.c:2266 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:499 builtin/check-ignore.c:178 builtin/checkout.c:470
+#: builtin/checkout.c:654 builtin/clean.c:967 builtin/commit.c:367
 #: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
-#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
+#: builtin/reset.c:246 builtin/rm.c:271 builtin/submodule--helper.c:332
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: read-cache.c:2108
+#: read-cache.c:2119
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "无法创建 load_cache_entries 线程:%s"
 
-#: read-cache.c:2121
+#: read-cache.c:2132
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "无法加入 load_cache_entries 线程:%s"
 
-#: read-cache.c:2154
+#: read-cache.c:2165
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s:打开索引文件失败"
 
-#: read-cache.c:2158
+#: read-cache.c:2169
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s:不能对打开的索引执行 stat 操作"
 
-#: read-cache.c:2162
+#: read-cache.c:2173
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s:索引文件比预期的小"
 
-#: read-cache.c:2166
+#: read-cache.c:2177
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s:无法对索引文件执行 map 操作"
 
-#: read-cache.c:2208
+#: read-cache.c:2219
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "无法创建 load_index_extensions 线程:%s"
 
-#: read-cache.c:2235
+#: read-cache.c:2246
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "无法加入 load_index_extensions 线程:%s"
 
-#: read-cache.c:2267
+#: read-cache.c:2278
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "无法刷新共享索引 '%s'"
 
-#: read-cache.c:2314
+#: read-cache.c:2325
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s"
 
-#: read-cache.c:3010 wrapper.c:622 builtin/merge.c:1119
+#: read-cache.c:3021 strbuf.c:1145 wrapper.c:622 builtin/merge.c:1119
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:3113 sequencer.c:2296 sequencer.c:3917
+#: read-cache.c:3124 sequencer.c:2429 sequencer.c:4069
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:3126
+#: read-cache.c:3137
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:3138
+#: read-cache.c:3149
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: read-cache.c:3163
+#: read-cache.c:3174
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "不能修复 '%s' 的权限位"
 
-#: read-cache.c:3312
+#: read-cache.c:3323
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s:不能落到暂存区 #0"
@@ -4913,8 +5356,8 @@
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3388
-#: sequencer.c:3414 sequencer.c:5084 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3536
+#: sequencer.c:3562 sequencer.c:5263 builtin/fsck.c:346 builtin/rebase.c:254
 #, c-format
 msgid "could not write '%s'"
 msgstr "不能写入 '%s'"
@@ -4984,14 +5427,15 @@
 msgid "unexpected object ID when writing '%s'"
 msgstr "写入 '%s' 时意外的对象 ID"
 
-#: refs.c:833 sequencer.c:403 sequencer.c:2647 sequencer.c:2851
-#: sequencer.c:2865 sequencer.c:3122 sequencer.c:5001 wrapper.c:620
+#: refs.c:833 sequencer.c:405 sequencer.c:2793 sequencer.c:2997
+#: sequencer.c:3011 sequencer.c:3269 sequencer.c:5179 strbuf.c:1142
+#: wrapper.c:620
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: refs.c:860 wrapper.c:188 wrapper.c:358 builtin/am.c:714
-#: builtin/rebase.c:1004
+#: refs.c:860 strbuf.c:1140 wrapper.c:188 wrapper.c:358 builtin/am.c:714
+#: builtin/rebase.c:1031
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
@@ -5647,8 +6091,8 @@
 msgid "Recorded preimage for '%s'"
 msgstr "为 '%s' 记录 preimage"
 
-#: rerere.c:881 submodule.c:2023 builtin/log.c:1790
-#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
+#: rerere.c:881 submodule.c:2067 builtin/log.c:1871
+#: builtin/submodule--helper.c:1436 builtin/submodule--helper.c:1448
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
@@ -5682,33 +6126,33 @@
 msgid "unable to open rr-cache directory"
 msgstr "不能打开 rr-cache 目录"
 
-#: revision.c:2509
+#: revision.c:2497
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2512
+#: revision.c:2500
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2720
+#: revision.c:2708
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: revision.c:2724
+#: revision.c:2712
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L 尚不支持 -p 和 -s 之外的差异格式"
 
-#: run-command.c:763
+#: run-command.c:762
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:1269
+#: run-command.c:1268
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "不能创建 async 线程:%s"
 
-#: run-command.c:1333
+#: run-command.c:1332
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -5717,75 +6161,75 @@
 "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
 "配置 `git config advice.ignoredHook false` 来关闭这条警告。"
 
-#: send-pack.c:142
+#: send-pack.c:144
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "读取远程解包状态时收到意外的 flush 包"
 
-#: send-pack.c:144
+#: send-pack.c:146
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "不能解析远程解包状态:%s"
 
-#: send-pack.c:146
+#: send-pack.c:148
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "远程解包失败:%s"
 
-#: send-pack.c:307
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr "为推送证书签名失败"
 
-#: send-pack.c:421
+#: send-pack.c:423
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:423
+#: send-pack.c:425
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr "未发送推送证书,因为接收端不支持签名推送"
 
-#: send-pack.c:435
+#: send-pack.c:437
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: send-pack.c:440
+#: send-pack.c:442
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:187
+#: sequencer.c:189
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:292
+#: sequencer.c:294
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:311 builtin/rebase.c:760 builtin/rebase.c:1676 builtin/rm.c:369
+#: sequencer.c:313 builtin/rebase.c:781 builtin/rebase.c:1706 builtin/rm.c:369
 #, c-format
 msgid "could not remove '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:321
+#: sequencer.c:323
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:323
+#: sequencer.c:325
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:325
+#: sequencer.c:327
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:327
+#: sequencer.c:329
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
-#: sequencer.c:385
+#: sequencer.c:387
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5793,7 +6237,7 @@
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:388
+#: sequencer.c:390
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5802,44 +6246,44 @@
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:401 sequencer.c:2847
+#: sequencer.c:403 sequencer.c:2993
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:408
+#: sequencer.c:410
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:413 sequencer.c:2652 sequencer.c:2853 sequencer.c:2867
-#: sequencer.c:3130
+#: sequencer.c:415 sequencer.c:2798 sequencer.c:2999 sequencer.c:3013
+#: sequencer.c:3277
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:436 sequencer.c:1585 sequencer.c:2672 sequencer.c:3112
-#: sequencer.c:3221 builtin/am.c:244 builtin/commit.c:763 builtin/merge.c:1117
-#: builtin/rebase.c:568
+#: sequencer.c:438 sequencer.c:1707 sequencer.c:2818 sequencer.c:3259
+#: sequencer.c:3368 builtin/am.c:244 builtin/commit.c:783 builtin/merge.c:1117
+#: builtin/rebase.c:589
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:462
+#: sequencer.c:464
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:466
+#: sequencer.c:468
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:498
+#: sequencer.c:500
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
-#: sequencer.c:537 builtin/tag.c:565
+#: sequencer.c:539 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
@@ -5847,65 +6291,69 @@
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:631
+#: sequencer.c:633
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:648
+#: sequencer.c:650
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:662
+#: sequencer.c:664
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:742
+#: sequencer.c:744
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "在 '%.*s' 中没有 key"
 
-#: sequencer.c:753
+#: sequencer.c:755
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "无法为 '%s' 的值去引号"
 
-#: sequencer.c:790 wrapper.c:190 wrapper.c:360 builtin/am.c:705
-#: builtin/am.c:797 builtin/merge.c:1114 builtin/rebase.c:1046
+#: sequencer.c:792 wrapper.c:190 wrapper.c:360 builtin/am.c:705
+#: builtin/am.c:797 builtin/merge.c:1114 builtin/rebase.c:1074
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
 
-#: sequencer.c:800
+#: sequencer.c:802
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "已经给出 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:805
+#: sequencer.c:807
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "已经给出 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:810
+#: sequencer.c:812
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "已经给出 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:814
+#: sequencer.c:816
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "未知变量 '%s'"
 
-#: sequencer.c:819
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "缺少 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:821
+#: sequencer.c:823
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "缺少 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:823
+#: sequencer.c:825
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "缺少 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:872
+#: sequencer.c:902 sequencer.c:1427
+msgid "malformed ident line"
+msgstr "错误的身份信息"
+
+#: sequencer.c:925
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5934,11 +6382,11 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:1146
+#: sequencer.c:1218
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:1153
+#: sequencer.c:1224
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5962,7 +6410,7 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1166
+#: sequencer.c:1237
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5985,326 +6433,330 @@
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1208
+#: sequencer.c:1279
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1210
+#: sequencer.c:1281
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1256
+#: sequencer.c:1327
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1258
+#: sequencer.c:1329
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1262
+#: sequencer.c:1333
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1283
+#: sequencer.c:1354
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1285
+#: sequencer.c:1356
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
-#: sequencer.c:1289 builtin/commit.c:1571
+#: sequencer.c:1360 sequencer.c:1458 builtin/commit.c:1569
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1341 sequencer.c:1933
+#: sequencer.c:1411 sequencer.c:2055
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1352 builtin/am.c:1561 builtin/merge.c:684
+#: sequencer.c:1431
+msgid "corrupted author without date information"
+msgstr "损坏的没有日期的作者信息"
+
+#: sequencer.c:1447 builtin/am.c:1561 builtin/merge.c:684
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
-#: sequencer.c:1369 sequencer.c:1429
+#: sequencer.c:1480 sequencer.c:1550
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
-#: sequencer.c:1396 builtin/am.c:1583 builtin/commit.c:1670 builtin/merge.c:883
+#: sequencer.c:1516 builtin/am.c:1583 builtin/commit.c:1668 builtin/merge.c:883
 #: builtin/merge.c:908
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
-#: sequencer.c:1456
+#: sequencer.c:1577
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1461
+#: sequencer.c:1582
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1535 sequencer.c:1645
+#: sequencer.c:1656 sequencer.c:1767
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1592 sequencer.c:1617
+#: sequencer.c:1714 sequencer.c:1739
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
-#: sequencer.c:1602
+#: sequencer.c:1724
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1604 sequencer.c:3157
+#: sequencer.c:1726 sequencer.c:3304
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1606
+#: sequencer.c:1728
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1612
+#: sequencer.c:1734
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1619 git-rebase--preserve-merges.sh:496
+#: sequencer.c:1741 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1627
+#: sequencer.c:1749
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
-#: sequencer.c:1634
+#: sequencer.c:1756
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1640
+#: sequencer.c:1762
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:1728
+#: sequencer.c:1850
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1735
+#: sequencer.c:1857
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:1754
+#: sequencer.c:1876
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:1762 sequencer.c:1770
+#: sequencer.c:1884 sequencer.c:1892
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:1776
+#: sequencer.c:1898
 #, 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:1795
+#: sequencer.c:1917
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:1860
+#: sequencer.c:1982
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:1915
+#: sequencer.c:2037
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1916
+#: sequencer.c:2038
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:1983
+#: sequencer.c:2105
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:1990
+#: sequencer.c:2112
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:2066
+#: sequencer.c:2189
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
-#: sequencer.c:2075
+#: sequencer.c:2198
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2112
+#: sequencer.c:2235
 #, c-format
 msgid "could not parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:2166
+#: sequencer.c:2289
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2177
+#: sequencer.c:2300
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2225 builtin/rebase.c:153 builtin/rebase.c:178
-#: builtin/rebase.c:204 builtin/rebase.c:229
+#: sequencer.c:2348 builtin/rebase.c:172 builtin/rebase.c:197
+#: builtin/rebase.c:223 builtin/rebase.c:248
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:2261
+#: sequencer.c:2384
 msgid "cancelling a cherry picking in progress"
 msgstr "正在取消一个进行中的拣选"
 
-#: sequencer.c:2268
+#: sequencer.c:2391
 msgid "cancelling a revert in progress"
 msgstr "正在取消一个进行中的还原"
 
-#: sequencer.c:2302
+#: sequencer.c:2435
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:2304
+#: sequencer.c:2437
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2309
+#: sequencer.c:2442
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2320
+#: sequencer.c:2453
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2322
+#: sequencer.c:2455
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2404
+#: sequencer.c:2533
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2491
+#: sequencer.c:2630
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2507
+#: sequencer.c:2646
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2590 sequencer.c:4308
+#: sequencer.c:2736 sequencer.c:4463
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:2606
+#: sequencer.c:2752
 msgid "revert is already in progress"
 msgstr "一个还原操作已在进行"
 
-#: sequencer.c:2608
+#: sequencer.c:2754
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2611
+#: sequencer.c:2757
 msgid "cherry-pick is already in progress"
 msgstr "拣选操作已在进行"
 
-#: sequencer.c:2613
+#: sequencer.c:2759
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "尝试 \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2627
+#: sequencer.c:2773
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2642
+#: sequencer.c:2788
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2702 sequencer.c:4057
+#: sequencer.c:2848 sequencer.c:4209
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2704 sequencer.c:2715
+#: sequencer.c:2850 sequencer.c:2861
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2706 sequencer.c:2750
+#: sequencer.c:2852 sequencer.c:2896
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2736 builtin/grep.c:736
+#: sequencer.c:2882 builtin/grep.c:736
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2738
+#: sequencer.c:2884
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2739
+#: sequencer.c:2885
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2745
+#: sequencer.c:2891
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:2756
+#: sequencer.c:2902
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:2797
+#: sequencer.c:2943
 msgid "no revert in progress"
 msgstr "没有正在进行的还原"
 
-#: sequencer.c:2805
+#: sequencer.c:2951
 msgid "no cherry-pick in progress"
 msgstr "没有正在进行的拣选"
 
-#: sequencer.c:2815
+#: sequencer.c:2961
 msgid "failed to skip the commit"
 msgstr "无法跳过这个提交"
 
-#: sequencer.c:2822
+#: sequencer.c:2968
 msgid "there is nothing to skip"
 msgstr "没有要跳过的"
 
-#: sequencer.c:2825
+#: sequencer.c:2971
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -6313,21 +6765,21 @@
 "您已经提交了么?\n"
 "试试 \"git %s --continue\""
 
-#: sequencer.c:2949 sequencer.c:3969
+#: sequencer.c:3095 sequencer.c:4121
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2987 sequencer.c:3949
+#: sequencer.c:3134 sequencer.c:4101
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:3004
+#: sequencer.c:3151
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3012
+#: sequencer.c:3159
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6346,28 +6798,23 @@
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3022
+#: sequencer.c:3169
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
-#: sequencer.c:3029
+#: sequencer.c:3176
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
-#: sequencer.c:3043 sequencer.c:3047 builtin/difftool.c:641
+#: sequencer.c:3190 sequencer.c:3194 builtin/difftool.c:641
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:3069 sequencer.c:3506 builtin/rebase.c:850 builtin/rebase.c:1613
-#: builtin/rebase.c:1987 builtin/rebase.c:2031
-msgid "could not read index"
-msgstr "不能读取索引"
-
 #  译者:注意保持前导空格
-#: sequencer.c:3074
+#: sequencer.c:3221
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6382,11 +6829,11 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3080
+#: sequencer.c:3227
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:3086
+#: sequencer.c:3233
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6403,76 +6850,72 @@
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3147
+#: sequencer.c:3294
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
-#: sequencer.c:3201
+#: sequencer.c:3348
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:3206
+#: sequencer.c:3353
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:3244 builtin/rebase.c:855 builtin/rebase.c:861
+#: sequencer.c:3391 builtin/rebase.c:876 builtin/rebase.c:882
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
-#: sequencer.c:3262 builtin/rebase.c:874
-msgid "could not write index"
-msgstr "不能写入索引"
-
-#: sequencer.c:3289
+#: sequencer.c:3436
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:3320
+#: sequencer.c:3467
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:3342
+#: sequencer.c:3489
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:3351
+#: sequencer.c:3498
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
-#: sequencer.c:3363
+#: sequencer.c:3510
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
-#: sequencer.c:3378
+#: sequencer.c:3526
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "不能获取 '%s' 的提交说明"
 
-#: sequencer.c:3538
+#: sequencer.c:3688
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "甚至不能尝试合并 '%.*s'"
 
-#: sequencer.c:3554
+#: sequencer.c:3704
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:3623 builtin/rebase.c:712
+#: sequencer.c:3773 builtin/rebase.c:733
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:3635
+#: sequencer.c:3785
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:3638 builtin/rebase.c:728 git-rebase--preserve-merges.sh:113
+#: sequencer.c:3788 builtin/rebase.c:749 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -6483,31 +6926,31 @@
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:3699
+#: sequencer.c:3849
 #, c-format
 msgid "could not checkout %s"
 msgstr "不能检出 %s"
 
-#: sequencer.c:3713
+#: sequencer.c:3863
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s:不是一个有效的对象 ID"
 
-#: sequencer.c:3718 git-rebase--preserve-merges.sh:779
+#: sequencer.c:3868 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "不能分离头指针"
 
-#: sequencer.c:3733
+#: sequencer.c:3883
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "停止在 HEAD\n"
 
-#: sequencer.c:3735
+#: sequencer.c:3885
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "停止在 %s\n"
 
-#: sequencer.c:3743
+#: sequencer.c:3893
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6527,48 +6970,48 @@
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3827
+#: sequencer.c:3979
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:3898
+#: sequencer.c:4050
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:3957
+#: sequencer.c:4109
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:3962
+#: sequencer.c:4114
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:3976
+#: sequencer.c:4128
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:4069
+#: sequencer.c:4221
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:4078
+#: sequencer.c:4230
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:4080
+#: sequencer.c:4232
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:4082
+#: sequencer.c:4234
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:4085
+#: sequencer.c:4237
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6577,42 +7020,42 @@
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:4121 sequencer.c:4159
+#: sequencer.c:4273 sequencer.c:4312
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:4174
+#: sequencer.c:4327
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:4181
+#: sequencer.c:4334
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:4285
+#: sequencer.c:4440
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:4289
+#: sequencer.c:4444
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:4324
+#: sequencer.c:4479
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:4774
+#: sequencer.c:4952
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:4777
+#: sequencer.c:4955
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:4935
+#: sequencer.c:5113
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -6621,15 +7064,15 @@
 "您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n"
 "或者您可以用 'git rebase --abort' 终止变基。\n"
 
-#: sequencer.c:5047 sequencer.c:5064
+#: sequencer.c:5226 sequencer.c:5243
 msgid "nothing to do"
 msgstr "无事可做"
 
-#: sequencer.c:5078
+#: sequencer.c:5257
 msgid "could not skip unnecessary pick commands"
 msgstr "无法跳过不必要的拣选"
 
-#: sequencer.c:5166
+#: sequencer.c:5351
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -7125,6 +7568,11 @@
 msgstr[0] "%u 字节/秒"
 msgstr[1] "%u 字节/秒"
 
+#: strbuf.c:1149
+#, c-format
+msgid "could not edit '%s'"
+msgstr "不能编辑 '%s'"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
@@ -7158,7 +7606,7 @@
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2016
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
@@ -7197,18 +7645,28 @@
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
-#: submodule.c:2007
+#: submodule.c:2027
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr "子模组 git 目录 '%s' 位于 git 目录 '%.*s' 中"
+
+#: submodule.c:2048
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:2019 submodule.c:2074
+#: submodule.c:2060 submodule.c:2119
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:2026
+#: submodule.c:2064
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr "禁止移动 '%s' 到现存 git 目录中"
+
+#: submodule.c:2071
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7219,16 +7677,16 @@
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:2109
+#: submodule.c:2154
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:2153
+#: submodule.c:2198
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:2192
+#: submodule.c:2237
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
@@ -7247,12 +7705,12 @@
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr "忽略可能被解析为命令行选项的 '%s':%s"
 
-#: submodule-config.c:490
+#: submodule-config.c:498
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
-#: submodule-config.c:761
+#: submodule-config.c:769
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
@@ -7398,7 +7856,7 @@
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
-#: transport.c:1345 transport-helper.c:655
+#: transport.c:1345 transport-helper.c:656
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
@@ -7411,7 +7869,7 @@
 msgid "unable to find remote helper for '%s'"
 msgstr "无法为 '%s' 找到远程助手"
 
-#: transport-helper.c:160 transport-helper.c:569
+#: transport-helper.c:160 transport-helper.c:570
 msgid "can't dup helper output fd"
 msgstr "无法复制助手输出文件句柄"
 
@@ -7436,90 +7894,90 @@
 msgid "%s also locked %s"
 msgstr "%s 也锁定了 %s"
 
-#: transport-helper.c:491
+#: transport-helper.c:492
 msgid "couldn't run fast-import"
 msgstr "不能执行 fast-import"
 
-#: transport-helper.c:514
+#: transport-helper.c:515
 msgid "error while running fast-import"
 msgstr "执行 fast-import 出错"
 
-#: transport-helper.c:543 transport-helper.c:1132
+#: transport-helper.c:544 transport-helper.c:1133
 #, c-format
 msgid "could not read ref %s"
 msgstr "无法读取引用 %s"
 
-#: transport-helper.c:588
+#: transport-helper.c:589
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "连接时未知的响应:%s"
 
-#: transport-helper.c:610
+#: transport-helper.c:611
 msgid "setting remote service path not supported by protocol"
 msgstr "协议不支持设置远程服务路径"
 
-#: transport-helper.c:612
+#: transport-helper.c:613
 msgid "invalid remote service path"
 msgstr "无效的远程服务路径"
 
-#: transport-helper.c:658
+#: transport-helper.c:659
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "不能连接到子服务 %s"
 
-#: transport-helper.c:734
+#: transport-helper.c:735
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "预期 ok/error,助手说 '%s'"
 
-#: transport-helper.c:787
+#: transport-helper.c:788
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "助手报告 %s 的意外状态"
 
-#: transport-helper.c:848
+#: transport-helper.c:849
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "助手 %s 不支持 dry-run"
 
-#: transport-helper.c:851
+#: transport-helper.c:852
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "助手 %s 不支持 --signed"
 
-#: transport-helper.c:854
+#: transport-helper.c:855
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "助手 %s 不支持 --signed=if-asked"
 
-#: transport-helper.c:859
+#: transport-helper.c:860
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "助手 %s 不支持 --atomic"
 
-#: transport-helper.c:865
+#: transport-helper.c:866
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "助手 %s 不支持 'push-option'"
 
-#: transport-helper.c:963
+#: transport-helper.c:964
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-heper 不支持 push,需要引用表达式"
 
-#: transport-helper.c:968
+#: transport-helper.c:969
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "助手 %s 不支持 'force'"
 
-#: transport-helper.c:1015
+#: transport-helper.c:1016
 msgid "couldn't run fast-export"
 msgstr "无法执行 fast-export"
 
-#: transport-helper.c:1020
+#: transport-helper.c:1021
 msgid "error while running fast-export"
 msgstr "执行 fast-export 时出错"
 
-#: transport-helper.c:1045
+#: transport-helper.c:1046
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7528,47 +7986,47 @@
 "没有共同的引用并且也没有指定,什么也不会做。\n"
 "可能您应该指定一个分支如 'master'。\n"
 
-#: transport-helper.c:1118
+#: transport-helper.c:1119
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
-#: transport-helper.c:1270
+#: transport-helper.c:1271
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
-#: transport-helper.c:1297
+#: transport-helper.c:1298
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
-#: transport-helper.c:1346
+#: transport-helper.c:1347
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
-#: transport-helper.c:1350
+#: transport-helper.c:1351
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
-#: transport-helper.c:1369 transport-helper.c:1373
+#: transport-helper.c:1370 transport-helper.c:1374
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
-#: transport-helper.c:1410
+#: transport-helper.c:1411
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
-#: transport-helper.c:1414
+#: transport-helper.c:1415
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
-#: transport-helper.c:1432 transport-helper.c:1441
+#: transport-helper.c:1433 transport-helper.c:1442
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
@@ -7584,7 +8042,12 @@
 msgid "empty filename in tree entry"
 msgstr "树对象条目中空的文件名"
 
-#: tree-walk.c:118
+#: tree-walk.c:48
+#, c-format
+msgid "filename in tree entry contains backslash: '%s'"
+msgstr "树条目中的文件名包含反斜杠:'%s'"
+
+#: tree-walk.c:124
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
@@ -7822,6 +8285,10 @@
 "以下路径发生碰撞(如:在不区分大小写的文件系统上的区分大小写的路径),\n"
 "并且碰撞组中只有一个文件存在工作区中:\n"
 
+#: unpack-trees.c:1441
+msgid "Updating index flags"
+msgstr "正在更新索引标志"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "无效的 URL 方案名称或丢失 '://' 后缀"
@@ -8439,131 +8906,131 @@
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:452
+#: compat/precompose_utf8.c:58 builtin/clone.c:455
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "删除 '%s' 失败"
 
-#: builtin/add.c:25
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
 
-#: builtin/add.c:84
+#: builtin/add.c:87
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:89 builtin/commit.c:288
+#: builtin/add.c:92 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:99
+#: builtin/add.c:102
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:177
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:234 builtin/rev-parse.c:897
+#: builtin/add.c:252 builtin/rev-parse.c:899
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:245
+#: builtin/add.c:263
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "无法为写入打开 '%s'。"
 
-#: builtin/add.c:249
+#: builtin/add.c:267
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:252
+#: builtin/add.c:270
 msgid "editing patch failed"
 msgstr "编辑补丁失败"
 
-#: builtin/add.c:255
+#: builtin/add.c:273
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/add.c:257
+#: builtin/add.c:275
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
-#: builtin/add.c:262
+#: builtin/add.c:280
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:270
+#: builtin/add.c:288
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:290 builtin/clean.c:910 builtin/fetch.c:162 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:223 builtin/push.c:547
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:308 builtin/clean.c:910 builtin/fetch.c:163 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:223 builtin/push.c:548
+#: builtin/remote.c:1344 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:293
+#: builtin/add.c:311
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
+#: builtin/add.c:312 builtin/checkout.c:1482 builtin/reset.c:307
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:295
+#: builtin/add.c:313
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:296
+#: builtin/add.c:314
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:297
+#: builtin/add.c:315
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:298
+#: builtin/add.c:316
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "对已跟踪文件(暗含 -u)重新归一换行符"
 
-#: builtin/add.c:299
+#: builtin/add.c:317
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:300
+#: builtin/add.c:318
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:303
+#: builtin/add.c:321
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/add.c:305
+#: builtin/add.c:323
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:306
+#: builtin/add.c:324
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:307
+#: builtin/add.c:325
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:309 builtin/update-index.c:1002
+#: builtin/add.c:327 builtin/update-index.c:1004
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:311
+#: builtin/add.c:329
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:326
+#: builtin/add.c:347
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -8580,9 +9047,8 @@
 "\n"
 "See \"git help submodule\" for more information."
 msgstr ""
-"您在当前仓库中添加了另外一个Git仓库。克隆外层的仓库将不包含嵌入仓库的内容,并"
-"且不知道该如何获取它。\n"
-"如果您要添加一个子模组,使用:\n"
+"您在当前仓库中添加了另一个Git仓库。克隆外层的仓库将不包含嵌入仓库的\n"
+"内容,并且不知道该如何获取它。如果您要添加一个子模组,使用:\n"
 "\n"
 "\tgit submodule add <url> %s\n"
 "\n"
@@ -8592,39 +9058,57 @@
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:354
+#: builtin/add.c:375
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:372
+#: builtin/add.c:393
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:379
+#: builtin/add.c:400
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:419
+#: builtin/add.c:428 builtin/commit.c:348
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr "--pathspec-from-file 与 --interactive/--patch 不兼容"
+
+#: builtin/add.c:434
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr "--pathspec-from-file 与 --edit 不兼容"
+
+#: builtin/add.c:446
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:426
+#: builtin/add.c:449
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:430
+#: builtin/add.c:453
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:445
+#: builtin/add.c:471 builtin/checkout.c:1648 builtin/commit.c:354
+#: builtin/reset.c:327
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr "--pathspec-from-file 与路径表达式参数不兼容"
+
+#: builtin/add.c:478 builtin/checkout.c:1660 builtin/commit.c:360
+#: builtin/reset.c:333
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr "--pathspec-file-nul 需要 --pathspec-from-file"
+
+#: builtin/add.c:482
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:446
+#: builtin/add.c:483
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
@@ -8677,7 +9161,7 @@
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:948 builtin/clone.c:406
+#: builtin/am.c:948 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
@@ -8766,7 +9250,7 @@
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1695 builtin/commit.c:374
+#: builtin/am.c:1695 builtin/commit.c:394
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
@@ -8814,8 +9298,8 @@
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:1924 builtin/am.c:1928 builtin/am.c:1940 builtin/reset.c:329
-#: builtin/reset.c:337
+#: builtin/am.c:1924 builtin/am.c:1928 builtin/am.c:1940 builtin/reset.c:346
+#: builtin/reset.c:354
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
@@ -8856,7 +9340,7 @@
 msgstr "如果必要,允许使用三方合并。"
 
 #: builtin/am.c:2165 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:297 builtin/stash.c:812
+#: builtin/repack.c:304 builtin/stash.c:811
 msgid "be quiet"
 msgstr "静默模式"
 
@@ -8898,12 +9382,12 @@
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2203 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:883 builtin/merge.c:249
-#: builtin/pull.c:160 builtin/pull.c:219 builtin/rebase.c:1442
-#: builtin/repack.c:308 builtin/repack.c:312 builtin/repack.c:314
+#: builtin/am.c:2203 builtin/commit.c:1386 builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:676 builtin/grep.c:883 builtin/merge.c:249
+#: builtin/pull.c:160 builtin/pull.c:219 builtin/rebase.c:1469
+#: builtin/repack.c:315 builtin/repack.c:319 builtin/repack.c:321
 #: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
-#: parse-options.h:150 parse-options.h:171 parse-options.h:312
+#: parse-options.h:154 parse-options.h:175 parse-options.h:316
 msgid "n"
 msgstr "n"
 
@@ -8952,13 +9436,13 @@
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2241 builtin/commit-tree.c:120 builtin/commit.c:1511
-#: builtin/merge.c:286 builtin/pull.c:194 builtin/rebase.c:490
-#: builtin/rebase.c:1483 builtin/revert.c:117 builtin/tag.c:418
+#: builtin/am.c:2241 builtin/commit-tree.c:120 builtin/commit.c:1507
+#: builtin/merge.c:286 builtin/pull.c:194 builtin/rebase.c:509
+#: builtin/rebase.c:1513 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2242 builtin/rebase.c:491 builtin/rebase.c:1484
+#: builtin/am.c:2242 builtin/rebase.c:510 builtin/rebase.c:1514
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
@@ -9118,33 +9602,33 @@
 msgid "'%s' is not a valid commit"
 msgstr "'%s' 不是一个有效的提交"
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:172
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
 msgstr "不能检出原始 HEAD '%s'。尝试 'git bisect reset <提交>'。"
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:216
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "坏的 bisect_write 参数:%s"
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:221
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "无法获取版本 '%s' 的对象 ID"
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:233
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "无法打开文件 '%s'"
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "无效的命令:您当前正处于一个 %s/%s 二分查找中"
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:286
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -9153,7 +9637,7 @@
 "您需要给我至少一个 %s 和一个 %s 版本。\n"
 "为此您可以用 \"git bisect %s\" 和 \"git bisect %s\"。"
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:290
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -9164,7 +9648,7 @@
 "然后需要提供我至少一个 %s 和一个 %s 版本。\n"
 "为此您可以用 \"git bisect %s\" 和 \"git bisect %s\" 命令。"
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:322
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "在只有一个 %s 提交的情况下二分查找"
@@ -9174,22 +9658,22 @@
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:330
 msgid "Are you sure [Y/n]? "
 msgstr "您确认么[Y/n]? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:377
 msgid "no terms defined"
 msgstr "未定义术语"
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:380
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
 "and %s for the new state.\n"
 msgstr "您当前针对旧状态的术语是 %s,对新状态的术语是 %s。\n"
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:390
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -9198,111 +9682,111 @@
 "命令 'git bisect terms' 的参数 %s 无效。\n"
 "支持的选项有:--term-good|--term-old 和 --term-bad|--term-new。"
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:476
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "未识别的选项:'%s'"
 
-#: builtin/bisect--helper.c:479
+#: builtin/bisect--helper.c:480
 #, c-format
 msgid "'%s' does not appear to be a valid revision"
 msgstr "'%s' 看起来不是一个有效的版本"
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:512
 msgid "bad HEAD - I need a HEAD"
 msgstr "坏的 HEAD - 我需要一个 HEAD"
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:527
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr "检出 '%s' 失败。尝试 'git bisect start <有效分支>'。"
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:548
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "不会在做了 cg-seek 的树上做二分查找"
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:551
 msgid "bad HEAD - strange symbolic ref"
 msgstr "坏的 HEAD - 奇怪的符号引用"
 
-#: builtin/bisect--helper.c:574
+#: builtin/bisect--helper.c:575
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "无效的引用:'%s'"
 
-#: builtin/bisect--helper.c:630
+#: builtin/bisect--helper.c:631
 msgid "perform 'git bisect next'"
 msgstr "执行 'git bisect next'"
 
-#: builtin/bisect--helper.c:632
+#: builtin/bisect--helper.c:633
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "将术语写入 .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:634
+#: builtin/bisect--helper.c:635
 msgid "cleanup the bisection state"
 msgstr "清除二分查找状态"
 
-#: builtin/bisect--helper.c:636
+#: builtin/bisect--helper.c:637
 msgid "check for expected revs"
 msgstr "检查预期的版本"
 
-#: builtin/bisect--helper.c:638
+#: builtin/bisect--helper.c:639
 msgid "reset the bisection state"
 msgstr "清除二分查找状态"
 
-#: builtin/bisect--helper.c:640
+#: builtin/bisect--helper.c:641
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "将二分查找的状态写入 BISECT_LOG"
 
-#: builtin/bisect--helper.c:642
+#: builtin/bisect--helper.c:643
 msgid "check and set terms in a bisection state"
 msgstr "在一个二分查找状态中检查和设置术语"
 
-#: builtin/bisect--helper.c:644
+#: builtin/bisect--helper.c:645
 msgid "check whether bad or good terms exist"
 msgstr "检查坏的或好的术语是否存在"
 
-#: builtin/bisect--helper.c:646
+#: builtin/bisect--helper.c:647
 msgid "print out the bisect terms"
 msgstr "打印二分查找术语"
 
-#: builtin/bisect--helper.c:648
+#: builtin/bisect--helper.c:649
 msgid "start the bisect session"
 msgstr "启动二分查找过程"
 
-#: builtin/bisect--helper.c:650
+#: builtin/bisect--helper.c:651
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "更新 BISECT_HEAD 而非检出当前提交"
 
-#: builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:653
 msgid "no log for BISECT_WRITE"
 msgstr "BISECT_WRITE 无日志"
 
-#: builtin/bisect--helper.c:669
+#: builtin/bisect--helper.c:670
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms 需要两个参数"
 
-#: builtin/bisect--helper.c:673
+#: builtin/bisect--helper.c:674
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state 不带参数"
 
-#: builtin/bisect--helper.c:680
+#: builtin/bisect--helper.c:681
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset 无需参数或者需要一个提交"
 
-#: builtin/bisect--helper.c:684
+#: builtin/bisect--helper.c:685
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write 需要 4 或 5 个参数"
 
-#: builtin/bisect--helper.c:690
+#: builtin/bisect--helper.c:691
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms 需要 3 个参数"
 
-#: builtin/bisect--helper.c:696
+#: builtin/bisect--helper.c:697
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check 需要 2 或 3 个参数"
 
-#: builtin/bisect--helper.c:702
+#: builtin/bisect--helper.c:703
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms 需要 0 或 1 个参数"
 
@@ -9401,7 +9885,7 @@
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:860 builtin/log.c:1630
+#: builtin/blame.c:860 builtin/log.c:1702
 msgid "rev"
 msgstr "版本"
 
@@ -9421,43 +9905,39 @@
 msgid "color lines by age"
 msgstr "依据时间着色"
 
-#: builtin/blame.c:870
-msgid "Use an experimental heuristic to improve diffs"
-msgstr "使用一个试验性的启发式算法改进差异显示"
-
-#: builtin/blame.c:872
+#: builtin/blame.c:864
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:873
+#: builtin/blame.c:865
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:866
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:875 builtin/blame.c:876
+#: builtin/blame.c:867 builtin/blame.c:868
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:867
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:868
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:869
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:869
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
-#: builtin/blame.c:929
+#: builtin/blame.c:921
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
@@ -9469,18 +9949,18 @@
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:980
+#: builtin/blame.c:972
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:1087
+#: builtin/blame.c:1079
 #, 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:1133
+#: builtin/blame.c:1125
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
@@ -9691,7 +10171,7 @@
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:626 builtin/rebase.c:486
+#: builtin/branch.c:626 builtin/rebase.c:505
 msgid "upstream"
 msgstr "上游"
 
@@ -9700,7 +10180,7 @@
 msgstr "改变上游信息"
 
 #: builtin/branch.c:627
-msgid "Unset the upstream info"
+msgid "unset the upstream info"
 msgstr "取消上游信息的设置"
 
 #: builtin/branch.c:628
@@ -9802,7 +10282,7 @@
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:684 builtin/clone.c:760
+#: builtin/branch.c:684 builtin/clone.c:784
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
@@ -9888,19 +10368,64 @@
 msgstr ""
 "不再支持选项 '--set-upstream'。请使用 '--track' 或 '--set-upstream-to'。"
 
-#: builtin/bundle.c:45
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr "git bundle create [<选项>] <文件> <git-rev-list 参数>"
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr "git bundle verify [<选项>] <文件>"
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr "git bundle list-heads <文件> [<引用名>...]"
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr "git bundle unbundle <文件> [<引用名>...]"
+
+#: builtin/bundle.c:66 builtin/pack-objects.c:3228
+msgid "do not show progress meter"
+msgstr "不显示进度表"
+
+#: builtin/bundle.c:68 builtin/pack-objects.c:3230
+msgid "show progress meter"
+msgstr "显示进度表"
+
+#: builtin/bundle.c:70 builtin/pack-objects.c:3232
+msgid "show progress meter during object writing phase"
+msgstr "在对象写入阶段显示进度表"
+
+#: builtin/bundle.c:73 builtin/pack-objects.c:3235
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "当进度表显示时类似于 --all-progress"
+
+#: builtin/bundle.c:93
+msgid "Need a repository to create a bundle."
+msgstr "需要一个仓库来创建包。"
+
+#: builtin/bundle.c:104
+msgid "do not show bundle details"
+msgstr "不显示 bundle 细节"
+
+#: builtin/bundle.c:119
 #, c-format
 msgid "%s is okay\n"
 msgstr "%s 可以\n"
 
-#: builtin/bundle.c:58
-msgid "Need a repository to create a bundle."
-msgstr "需要一个仓库来创建包。"
-
-#: builtin/bundle.c:62
+#: builtin/bundle.c:160
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
+#: builtin/bundle.c:168 builtin/remote.c:1609
+msgid "be verbose; must be placed before a subcommand"
+msgstr "冗长输出;必须置于子命令之前"
+
+#: builtin/bundle.c:190 builtin/remote.c:1640
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "未知子命令:%s"
+
 #: builtin/cat-file.c:595
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
@@ -9949,7 +10474,7 @@
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
-#: builtin/cat-file.c:645 git-submodule.sh:936
+#: builtin/cat-file.c:645 git-submodule.sh:992
 msgid "blob"
 msgstr "数据对象"
 
@@ -10009,7 +10534,7 @@
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:537
+#: builtin/check-ignore.c:21 builtin/checkout.c:1435 builtin/gc.c:537
 #: builtin/worktree.c:506
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
@@ -10100,8 +10625,8 @@
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376
-#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:1385 builtin/submodule--helper.c:1388
+#: builtin/submodule--helper.c:1396 builtin/submodule--helper.c:1882
 #: builtin/worktree.c:679
 msgid "string"
 msgstr "字符串"
@@ -10130,98 +10655,98 @@
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<选项>] [--source=<分支>] <文件>..."
 
-#: builtin/checkout.c:173 builtin/checkout.c:212
+#: builtin/checkout.c:175 builtin/checkout.c:214
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:175 builtin/checkout.c:214
+#: builtin/checkout.c:177 builtin/checkout.c:216
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:191
+#: builtin/checkout.c:193
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必需的版本"
 
-#: builtin/checkout.c:241
+#: builtin/checkout.c:243
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必需的版本"
 
-#: builtin/checkout.c:259
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:275
+#: builtin/checkout.c:277
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:375
+#: builtin/checkout.c:377
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "重新创建了 %d 个合并冲突"
 msgstr[1] "重新创建了 %d 个合并冲突"
 
-#: builtin/checkout.c:380
+#: builtin/checkout.c:382
 #, 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:387
+#: builtin/checkout.c:389
 #, 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:410 builtin/checkout.c:413 builtin/checkout.c:416
-#: builtin/checkout.c:420
+#: builtin/checkout.c:412 builtin/checkout.c:415 builtin/checkout.c:418
+#: builtin/checkout.c:422
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:423 builtin/checkout.c:426
+#: builtin/checkout.c:425 builtin/checkout.c:428
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:430
+#: builtin/checkout.c:432
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:434
+#: builtin/checkout.c:436
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "'%s' 或 '%s' 都没有指定"
 
-#: builtin/checkout.c:438
+#: builtin/checkout.c:440
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "未指定 '%2$s' 时,必须使用 '%1$s'"
 
-#: builtin/checkout.c:443 builtin/checkout.c:448
+#: builtin/checkout.c:445 builtin/checkout.c:450
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "'%s' 或 '%s' 不能和 %s 一起使用"
 
-#: builtin/checkout.c:507 builtin/checkout.c:514
+#: builtin/checkout.c:509 builtin/checkout.c:516
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:680
+#: builtin/checkout.c:682 builtin/sparse-checkout.c:82
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:730
+#: builtin/checkout.c:732
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10230,51 +10755,51 @@
 "不能继续,下列文件有暂存的修改:\n"
 "%s"
 
-#: builtin/checkout.c:833
+#: builtin/checkout.c:835
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:875
+#: builtin/checkout.c:877
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:879 builtin/clone.c:713
+#: builtin/checkout.c:881 builtin/clone.c:716
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:883
+#: builtin/checkout.c:885
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:886
+#: builtin/checkout.c:888
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:892
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:892 builtin/checkout.c:1289
+#: builtin/checkout.c:894 builtin/checkout.c:1291
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:896
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:945
+#: builtin/checkout.c:947
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:953
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10295,7 +10820,7 @@
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:972
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -10322,28 +10847,28 @@
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:1005
+#: builtin/checkout.c:1007
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:1009
+#: builtin/checkout.c:1011
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:1049 builtin/checkout.c:1284
+#: builtin/checkout.c:1051 builtin/checkout.c:1286
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:1176
+#: builtin/checkout.c:1178
 msgid "only one reference expected"
 msgstr "预期只有一个引用"
 
-#: builtin/checkout.c:1193
+#: builtin/checkout.c:1195
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1230
+#: builtin/checkout.c:1232
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10352,37 +10877,37 @@
 "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n"
 "请使用 --(和可选的 --no-guess)来消除歧义"
 
-#: builtin/checkout.c:1243 builtin/worktree.c:290 builtin/worktree.c:455
+#: builtin/checkout.c:1245 builtin/worktree.c:290 builtin/worktree.c:455
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1256 builtin/checkout.c:1618
+#: builtin/checkout.c:1258 builtin/checkout.c:1622
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1305
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "期望一个分支,得到标签 '%s'"
 
-#: builtin/checkout.c:1305
+#: builtin/checkout.c:1307
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "期望一个分支,得到远程分支 '%s'"
 
-#: builtin/checkout.c:1306 builtin/checkout.c:1314
+#: builtin/checkout.c:1308 builtin/checkout.c:1316
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "期望一个分支,得到 '%s'"
 
-#: builtin/checkout.c:1309
+#: builtin/checkout.c:1311
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "期望一个分支,得到提交 '%s'"
 
-#: builtin/checkout.c:1325
+#: builtin/checkout.c:1327
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -10390,7 +10915,7 @@
 "不能在合并时切换分支\n"
 "考虑使用 \"git merge --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1329
+#: builtin/checkout.c:1331
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -10398,7 +10923,7 @@
 "不能在一个 am 会话期间切换分支\n"
 "考虑使用 \"git am --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1333
+#: builtin/checkout.c:1335
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -10406,7 +10931,7 @@
 "不能在变基时切换分支\n"
 "考虑使用 \"git rebase --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1337
+#: builtin/checkout.c:1339
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -10414,7 +10939,7 @@
 "不能在拣选时切换分支\n"
 "考虑使用 \"git cherry-pick --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1341
+#: builtin/checkout.c:1343
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -10422,122 +10947,119 @@
 "不能在还原时切换分支\n"
 "考虑使用 \"git revert --quit\" 或 \"git worktree add\"。"
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1347
 msgid "you are switching branch while bisecting"
 msgstr "您在执行二分查找时切换分支"
 
-#: builtin/checkout.c:1352
+#: builtin/checkout.c:1354
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
+#: builtin/checkout.c:1357 builtin/checkout.c:1361 builtin/checkout.c:1365
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
-#: builtin/checkout.c:1378 builtin/checkout.c:1383
+#: builtin/checkout.c:1369 builtin/checkout.c:1372 builtin/checkout.c:1375
+#: builtin/checkout.c:1380 builtin/checkout.c:1385
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1380
+#: builtin/checkout.c:1382
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' 不带 <起始点>"
 
-#: builtin/checkout.c:1388
+#: builtin/checkout.c:1390
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1397
 msgid "missing branch or commit argument"
 msgstr "缺少分支或提交参数"
 
-#: builtin/checkout.c:1437 builtin/clone.c:90 builtin/commit-graph.c:59
-#: builtin/commit-graph.c:180 builtin/fetch.c:166 builtin/merge.c:285
-#: builtin/pull.c:138 builtin/push.c:562 builtin/send-pack.c:174
+#: builtin/checkout.c:1439 builtin/clone.c:91 builtin/commit-graph.c:52
+#: builtin/commit-graph.c:113 builtin/fetch.c:167 builtin/merge.c:285
+#: builtin/multi-pack-index.c:27 builtin/pull.c:138 builtin/push.c:563
+#: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1438
+#: builtin/checkout.c:1440
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1439 builtin/log.c:1618 parse-options.h:318
+#: builtin/checkout.c:1441 builtin/log.c:1690 parse-options.h:322
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1442
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1452 builtin/worktree.c:503
+#: builtin/checkout.c:1454 builtin/worktree.c:503
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1453
+#: builtin/checkout.c:1455
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1457
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1459
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1459
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1459 builtin/merge.c:288
+#: builtin/checkout.c:1461 builtin/merge.c:288
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1464
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1475
+#: builtin/checkout.c:1477
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1478
+#: builtin/checkout.c:1480
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1482
+#: builtin/checkout.c:1484
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1533
+#: builtin/checkout.c:1537
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1536
+#: builtin/checkout.c:1540
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p 和 --overlay 互斥"
 
-#: builtin/checkout.c:1573
+#: builtin/checkout.c:1577
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1578
+#: builtin/checkout.c:1582
 msgid "missing branch name; try -b"
 msgstr "缺少分支名,尝试 -b"
 
-#: builtin/checkout.c:1611
+#: builtin/checkout.c:1615
 #, c-format
 msgid "could not resolve %s"
 msgstr "无法解析 %s"
 
-#: builtin/checkout.c:1623
-msgid "you must specify path(s) to restore"
-msgstr "您必须指定一个要恢复的路径"
-
 #: builtin/checkout.c:1631
 msgid "invalid path specification"
 msgstr "无效的路径规格"
@@ -10552,14 +11074,26 @@
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1646
+#: builtin/checkout.c:1651
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr "--pathspec-from-file 与 --detach 不兼容"
+
+#: builtin/checkout.c:1654 builtin/reset.c:324
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr "--pathspec-from-file 与 --patch 不兼容"
+
+#: builtin/checkout.c:1665
 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:1666
+#: builtin/checkout.c:1670
+msgid "you must specify path(s) to restore"
+msgstr "您必须指定一个要恢复的路径"
+
+#: builtin/checkout.c:1689
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -10587,65 +11121,65 @@
 "如果您总是喜欢使用模糊的简短分支名 <name>,而不喜欢如 'origin' 的远程\n"
 "仓库名,可以在配置中设置 checkout.defaultRemote=origin。"
 
-#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1742
-#: builtin/checkout.c:1744 builtin/clone.c:120 builtin/remote.c:169
+#: builtin/checkout.c:1714 builtin/checkout.c:1716 builtin/checkout.c:1765
+#: builtin/checkout.c:1767 builtin/clone.c:121 builtin/remote.c:169
 #: builtin/remote.c:171 builtin/worktree.c:499 builtin/worktree.c:501
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1692
+#: builtin/checkout.c:1715
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1694
+#: builtin/checkout.c:1717
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1695
+#: builtin/checkout.c:1718
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1720
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "二次猜测 'git checkout <无此分支>'(默认)"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1721
 msgid "use overlay mode (default)"
 msgstr "使用叠加模式(默认)"
 
-#: builtin/checkout.c:1743
+#: builtin/checkout.c:1766
 msgid "create and switch to a new branch"
 msgstr "创建并切换一个新分支"
 
-#: builtin/checkout.c:1745
+#: builtin/checkout.c:1768
 msgid "create/reset and switch to a branch"
 msgstr "创建/重置并切换一个分支"
 
-#: builtin/checkout.c:1747
+#: builtin/checkout.c:1770
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "二次猜测 'git switch <无此分支>'"
 
-#: builtin/checkout.c:1749
+#: builtin/checkout.c:1772
 msgid "throw away local modifications"
 msgstr "丢弃本地修改"
 
-#: builtin/checkout.c:1781
+#: builtin/checkout.c:1804
 msgid "which tree-ish to checkout from"
 msgstr "要检出哪一个树"
 
-#: builtin/checkout.c:1783
+#: builtin/checkout.c:1806
 msgid "restore the index"
 msgstr "恢复索引"
 
-#: builtin/checkout.c:1785
+#: builtin/checkout.c:1808
 msgid "restore the working tree (default)"
 msgstr "恢复工作区(默认)"
 
-#: builtin/checkout.c:1787
+#: builtin/checkout.c:1810
 msgid "ignore unmerged entries"
 msgstr "忽略未合并条目"
 
-#: builtin/checkout.c:1788
+#: builtin/checkout.c:1811
 msgid "use overlay mode"
 msgstr "使用叠加模式"
 
@@ -10685,7 +11219,7 @@
 msgid "could not lstat %s\n"
 msgstr "不能对 %s 调用 lstat\n"
 
-#: builtin/clean.c:301 git-add--interactive.perl:593
+#: builtin/clean.c:301 git-add--interactive.perl:595
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10698,7 +11232,7 @@
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
-#: builtin/clean.c:305 git-add--interactive.perl:602
+#: builtin/clean.c:305 git-add--interactive.perl:604
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10719,8 +11253,8 @@
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
-#: builtin/clean.c:521 git-add--interactive.perl:568
-#: git-add--interactive.perl:573
+#: builtin/clean.c:521 git-add--interactive.perl:570
+#: git-add--interactive.perl:575
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "嗯(%s)?\n"
@@ -10745,11 +11279,6 @@
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:787 git-add--interactive.perl:1763
-#, c-format
-msgid "Bye.\n"
-msgstr "再见。\n"
-
 #: builtin/clean.c:795
 msgid ""
 "clean               - start cleaning\n"
@@ -10768,14 +11297,6 @@
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:822 git-add--interactive.perl:1849
-msgid "*** Commands ***"
-msgstr "*** 命令 ***"
-
-#: builtin/clean.c:823 git-add--interactive.perl:1846
-msgid "What now"
-msgstr "请选择"
-
 #: builtin/clean.c:831
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
@@ -10803,8 +11324,8 @@
 msgstr "删除整个目录"
 
 #: builtin/clean.c:915 builtin/describe.c:548 builtin/describe.c:550
-#: builtin/grep.c:901 builtin/log.c:176 builtin/log.c:178
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/grep.c:901 builtin/log.c:177 builtin/log.c:179
+#: builtin/ls-files.c:557 builtin/name-rev.c:464 builtin/name-rev.c:466
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "模式"
@@ -10843,156 +11364,160 @@
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:93 builtin/clone.c:95 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:102
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:110
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:110 builtin/init-db.c:486
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:111 builtin/init-db.c:487
+#: builtin/clone.c:112 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:113 builtin/clone.c:115 builtin/submodule--helper.c:1380
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1885
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1382
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:118 builtin/submodule--helper.c:1394
+#: builtin/submodule--helper.c:1887
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3294 builtin/repack.c:320
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3294 builtin/repack.c:327
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:120
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:122
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:124
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:124 builtin/fetch.c:167 builtin/grep.c:840
+#: builtin/clone.c:125 builtin/fetch.c:168 builtin/grep.c:840
 #: builtin/pull.c:227
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:126
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:126 builtin/fetch.c:169 builtin/pack-objects.c:3283
+#: builtin/clone.c:127 builtin/fetch.c:170 builtin/pack-objects.c:3283
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:128
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:128 builtin/fetch.c:171 builtin/fetch.c:194
-#: builtin/rebase.c:1417
+#: builtin/clone.c:129 builtin/fetch.c:172 builtin/fetch.c:195
+#: builtin/rebase.c:1445
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:129 builtin/fetch.c:172
+#: builtin/clone.c:130 builtin/fetch.c:173
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:132
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:134
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:136
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:136 builtin/init-db.c:495
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:137 builtin/init-db.c:496
+#: builtin/clone.c:138 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:138
+#: builtin/clone.c:139
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:140
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:141 builtin/fetch.c:189 builtin/ls-remote.c:76
-#: builtin/push.c:572 builtin/send-pack.c:172
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/clone.c:141 builtin/fetch.c:189 builtin/ls-remote.c:76
-#: builtin/push.c:572 builtin/send-pack.c:173
+#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76
+#: builtin/push.c:573 builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/clone.c:142 builtin/fetch.c:190 builtin/pull.c:240
-#: builtin/push.c:573
+#: builtin/clone.c:143 builtin/fetch.c:191 builtin/pull.c:240
+#: builtin/push.c:574
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:144 builtin/fetch.c:192 builtin/pull.c:243
-#: builtin/push.c:575
+#: builtin/clone.c:145 builtin/fetch.c:193 builtin/pull.c:243
+#: builtin/push.c:576
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:148
+#: builtin/clone.c:149
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "任何克隆的子模组将使用它们的远程跟踪分支"
 
-#: builtin/clone.c:284
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr "初始化稀疏检出文件,只包含根目录文件"
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -11000,42 +11525,42 @@
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:337
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:410
+#: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:427
+#: builtin/clone.c:430
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "无法在 '%s' 上启动迭代器"
 
-#: builtin/clone.c:457
+#: builtin/clone.c:460
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "创建链接 '%s' 失败"
 
-#: builtin/clone.c:461
+#: builtin/clone.c:464
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "拷贝文件至 '%s' 失败"
 
-#: builtin/clone.c:466
+#: builtin/clone.c:469
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "无法在 '%s' 上迭代"
 
-#: builtin/clone.c:491
+#: builtin/clone.c:494
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:505
+#: builtin/clone.c:508
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -11045,130 +11570,134 @@
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git restore --source=HEAD :/' 重试\n"
 
-#: builtin/clone.c:582
+#: builtin/clone.c:585
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:701
+#: builtin/clone.c:704
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:751
+#: builtin/clone.c:752
+msgid "failed to initialize sparse-checkout"
+msgstr "无法初始化稀疏检出"
+
+#: builtin/clone.c:775
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:782
+#: builtin/clone.c:806
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:832
+#: builtin/clone.c:856
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:895
+#: builtin/clone.c:919
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:897
+#: builtin/clone.c:921
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:937 builtin/receive-pack.c:1948
+#: builtin/clone.c:959 builtin/receive-pack.c:1948
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:941
+#: builtin/clone.c:963
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:954
+#: builtin/clone.c:976
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:957
+#: builtin/clone.c:979
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:970
+#: builtin/clone.c:992
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:976 builtin/fetch.c:1790
+#: builtin/clone.c:998 builtin/fetch.c:1787
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:986
+#: builtin/clone.c:1008
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:996
+#: builtin/clone.c:1018
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:1011 builtin/clone.c:1032 builtin/difftool.c:271
-#: builtin/log.c:1785 builtin/worktree.c:302 builtin/worktree.c:334
+#: builtin/clone.c:1033 builtin/clone.c:1054 builtin/difftool.c:271
+#: builtin/log.c:1866 builtin/worktree.c:302 builtin/worktree.c:334
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:1016
+#: builtin/clone.c:1038
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:1036
+#: builtin/clone.c:1058
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:1038
+#: builtin/clone.c:1060
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1062
+#: builtin/clone.c:1084
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
 
-#: builtin/clone.c:1123
+#: builtin/clone.c:1148
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1125
+#: builtin/clone.c:1150
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1127
+#: builtin/clone.c:1152
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1129
+#: builtin/clone.c:1154
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1132
+#: builtin/clone.c:1157
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1137
+#: builtin/clone.c:1162
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1212 builtin/clone.c:1220
+#: builtin/clone.c:1237 builtin/clone.c:1245
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1223
+#: builtin/clone.c:1248
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -11217,7 +11746,7 @@
 msgid "duplicate parent %s ignored"
 msgstr "忽略重复的父提交 %s"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:526
 #, c-format
 msgid "not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -11245,13 +11774,13 @@
 msgid "id of a parent commit object"
 msgstr "父提交对象 ID"
 
-#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
+#: builtin/commit-tree.c:114 builtin/commit.c:1496 builtin/merge.c:270
 #: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1469
 #: builtin/tag.c:412
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1500
+#: builtin/commit-tree.c:115 builtin/commit.c:1496
 msgid "commit message"
 msgstr "提交说明"
 
@@ -11259,7 +11788,7 @@
 msgid "read commit log message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
+#: builtin/commit-tree.c:121 builtin/commit.c:1508 builtin/merge.c:287
 #: builtin/pull.c:195 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
@@ -11332,94 +11861,102 @@
 msgid "failed to unpack HEAD tree object"
 msgstr "解包 HEAD 树对象失败"
 
-#: builtin/commit.c:356
+#: builtin/commit.c:351
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr "--pathspec-from-file 和 -a 在一起没有意义"
+
+#: builtin/commit.c:364
+msgid "No paths with --include/--only does not make sense."
+msgstr "参数 --include/--only 不跟路径没有意义。"
+
+#: builtin/commit.c:376
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:362
+#: builtin/commit.c:382
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:376
+#: builtin/commit.c:396
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:378
+#: builtin/commit.c:398
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
+#: builtin/commit.c:423 builtin/commit.c:446 builtin/commit.c:492
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:475
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:457
+#: builtin/commit.c:477
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:465
+#: builtin/commit.c:485
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:484
+#: builtin/commit.c:504
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:602
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:584
+#: builtin/commit.c:604
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有格式错误的作者信息"
 
-#: builtin/commit.c:603
+#: builtin/commit.c:623
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:656
+#: builtin/commit.c:676
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072
+#: builtin/commit.c:714 builtin/commit.c:747 builtin/commit.c:1092
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:706 builtin/shortlog.c:319
+#: builtin/commit.c:726 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:708
+#: builtin/commit.c:728
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:712
+#: builtin/commit.c:732
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:743 builtin/commit.c:759
+#: builtin/commit.c:763 builtin/commit.c:779
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:750
+#: builtin/commit.c:770
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:830
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:829
+#: builtin/commit.c:849
 #, c-format
 msgid ""
 "\n"
@@ -11433,7 +11970,7 @@
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:854
 #, c-format
 msgid ""
 "\n"
@@ -11447,7 +11984,7 @@
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:847
+#: builtin/commit.c:867
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11456,7 +11993,7 @@
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:855
+#: builtin/commit.c:875
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11467,324 +12004,320 @@
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:872
+#: builtin/commit.c:892
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:880
+#: builtin/commit.c:900
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:887
+#: builtin/commit.c:907
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:905
+#: builtin/commit.c:925
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:972
+#: builtin/commit.c:992
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:986 builtin/tag.c:275
+#: builtin/commit.c:1006 builtin/tag.c:275
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1030
+#: builtin/commit.c:1050
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1044
+#: builtin/commit.c:1064
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1062 builtin/commit.c:1304
+#: builtin/commit.c:1082 builtin/commit.c:1322
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1122
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1146
+#: builtin/commit.c:1166
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1175
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1178
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1180
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1183
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1173
+#: builtin/commit.c:1193
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1195
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1203
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1220
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1202
-msgid "No paths with --include/--only does not make sense."
-msgstr "参数 --include/--only 不跟路径没有意义。"
-
-#: builtin/commit.c:1208
+#: builtin/commit.c:1226
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "路径  '%s ...' 和 -a 选项同时使用没有意义"
 
-#: builtin/commit.c:1339 builtin/commit.c:1523
+#: builtin/commit.c:1357 builtin/commit.c:1519
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1341 builtin/commit.c:1525
+#: builtin/commit.c:1359 builtin/commit.c:1521
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1361
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1345 builtin/commit.c:1527
+#: builtin/commit.c:1363 builtin/commit.c:1523
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1347
+#: builtin/commit.c:1365
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:548
+#: builtin/commit.c:1365 builtin/commit.c:1525 builtin/push.c:549
 #: builtin/worktree.c:650
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1350 builtin/commit.c:1531
+#: builtin/commit.c:1368 builtin/commit.c:1527
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1353 builtin/commit.c:1534
+#: builtin/commit.c:1371 builtin/commit.c:1530
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
+#: builtin/commit.c:1373 builtin/commit.c:1377 builtin/commit.c:1533
 #: builtin/fast-export.c:1153 builtin/fast-export.c:1156
-#: builtin/fast-export.c:1159 builtin/rebase.c:1495 parse-options.h:332
+#: builtin/fast-export.c:1159 builtin/rebase.c:1525 parse-options.h:336
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1356 builtin/commit.c:1537
+#: builtin/commit.c:1374 builtin/commit.c:1533
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1360
+#: builtin/commit.c:1378
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1362 parse-options.h:188
+#: builtin/commit.c:1380 parse-options.h:192
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1381
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1365
+#: builtin/commit.c:1383
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1366
+#: builtin/commit.c:1384
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1386
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
-#: builtin/commit.c:1388
+#: builtin/commit.c:1406
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1489
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1490
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1492
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
+#: builtin/commit.c:1493 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1494
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1494
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1499 builtin/gc.c:538
+#: builtin/commit.c:1495 builtin/gc.c:538
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1495
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
-#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
+#: builtin/commit.c:1497 builtin/commit.c:1498 builtin/commit.c:1499
+#: builtin/commit.c:1500 parse-options.h:328 ref-filter.h:92
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1497
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1498
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1499
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1504
+#: builtin/commit.c:1500
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1501
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1506 builtin/log.c:1565 builtin/merge.c:289
+#: builtin/commit.c:1502 builtin/log.c:1634 builtin/merge.c:289
 #: builtin/pull.c:164 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1503
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1504
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1506
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1511
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1512
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1513
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1514
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1515
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1516
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1517
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1518
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1531
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1532
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1541
+#: builtin/commit.c:1539
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1541
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1614
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1621
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1640
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1647
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1652
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1688
+#: builtin/commit.c:1686
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -11793,22 +12326,14 @@
 "仓库已更新,但无法写 new_index 文件。检查是否磁盘已满或\n"
 "磁盘配额已耗尽,然后执行 \"git restore --staged :/\" 恢复。"
 
-#: builtin/commit-graph.c:11
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <对象目录>]"
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr "git commit-graph read [--object-dir <对象目录>]"
-
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:17
 msgid ""
 "git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
 msgstr ""
 "git commit-graph verify [--object-dir <对象目录>] [--shallow] [--"
 "[no-]progress]"
 
-#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:22
 msgid ""
 "git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
 "reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <split options>"
@@ -11816,55 +12341,54 @@
 "git commit-graph write [--object-dir <对象目录>] [--append|--split] [--"
 "reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <split options>"
 
-#: builtin/commit-graph.c:55 builtin/commit-graph.c:107
-#: builtin/commit-graph.c:170 builtin/commit-graph.c:254 builtin/fetch.c:178
-#: builtin/log.c:1585
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:103
+#: builtin/commit-graph.c:187 builtin/fetch.c:179 builtin/log.c:1657
 msgid "dir"
 msgstr "目录"
 
-#: builtin/commit-graph.c:56 builtin/commit-graph.c:108
-#: builtin/commit-graph.c:171 builtin/commit-graph.c:255
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:104
+#: builtin/commit-graph.c:188
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
-#: builtin/commit-graph.c:58
+#: builtin/commit-graph.c:51
 msgid "if the commit-graph is split, only verify the tip file"
 msgstr "如果提交图形被拆分,只验证头一个文件"
 
-#: builtin/commit-graph.c:80 builtin/commit-graph.c:125
+#: builtin/commit-graph.c:73 t/helper/test-read-graph.c:23
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr "无法打开提交图形 '%s'"
 
-#: builtin/commit-graph.c:173
+#: builtin/commit-graph.c:106
 msgid "start walk at all refs"
 msgstr "开始遍历所有引用"
 
-#: builtin/commit-graph.c:175
+#: builtin/commit-graph.c:108
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
-#: builtin/commit-graph.c:177
+#: builtin/commit-graph.c:110
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
-#: builtin/commit-graph.c:179
+#: builtin/commit-graph.c:112
 msgid "include all commits already in the commit-graph file"
 msgstr "包含 commit-graph 文件中已有所有提交"
 
-#: builtin/commit-graph.c:182
+#: builtin/commit-graph.c:115
 msgid "allow writing an incremental commit-graph file"
 msgstr "允许写一个增量提交图形文件"
 
-#: builtin/commit-graph.c:184 builtin/commit-graph.c:188
+#: builtin/commit-graph.c:117 builtin/commit-graph.c:121
 msgid "maximum number of commits in a non-base split commit-graph"
 msgstr "在非基本拆分提交图形中的最大提交数"
 
-#: builtin/commit-graph.c:186
+#: builtin/commit-graph.c:119
 msgid "maximum ratio between two levels of a split commit-graph"
 msgstr "一个拆分提交图形的两个级别之间的最大比率"
 
-#: builtin/commit-graph.c:204
+#: builtin/commit-graph.c:137
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
@@ -12313,7 +12837,7 @@
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:553 builtin/name-rev.c:426
+#: builtin/describe.c:553 builtin/name-rev.c:473
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -12566,7 +13090,7 @@
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1177 builtin/log.c:1633
+#: builtin/fast-export.c:1177 builtin/log.c:1705
 msgid "refspec"
 msgstr "引用规格"
 
@@ -12610,177 +13134,181 @@
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:115
+#: builtin/fetch.c:116
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel 不能为负数"
 
-#: builtin/fetch.c:138 builtin/pull.c:204
+#: builtin/fetch.c:139 builtin/pull.c:204
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:140 builtin/pull.c:248
+#: builtin/fetch.c:141 builtin/pull.c:248
 msgid "set upstream for git pull/fetch"
 msgstr "为 git pull/fetch 设置上游"
 
-#: builtin/fetch.c:142 builtin/pull.c:207
+#: builtin/fetch.c:143 builtin/pull.c:207
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:144 builtin/pull.c:210
+#: builtin/fetch.c:145 builtin/pull.c:210
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:146
 msgid "force overwrite of local reference"
 msgstr "强制覆盖本地引用"
 
-#: builtin/fetch.c:147
+#: builtin/fetch.c:148
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:149 builtin/pull.c:214
+#: builtin/fetch.c:150 builtin/pull.c:214
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:151
+#: builtin/fetch.c:152
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:153
+#: builtin/fetch.c:154
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:155 builtin/pull.c:217
+#: builtin/fetch.c:156 builtin/pull.c:217
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:158
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:158 builtin/fetch.c:181 builtin/pull.c:141
+#: builtin/fetch.c:159 builtin/fetch.c:182 builtin/pull.c:141
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:159
+#: builtin/fetch.c:160
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:163 builtin/pull.c:225
+#: builtin/fetch.c:164 builtin/pull.c:225
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:165
+#: builtin/fetch.c:166
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:168 builtin/fetch.c:174 builtin/pull.c:228
+#: builtin/fetch.c:169 builtin/fetch.c:175 builtin/pull.c:228
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:171
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:176 builtin/pull.c:231
+#: builtin/fetch.c:177 builtin/pull.c:231
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:179
+#: builtin/fetch.c:180
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:182
+#: builtin/fetch.c:183
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:186 builtin/pull.c:234
+#: builtin/fetch.c:187 builtin/pull.c:234
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:187 builtin/pull.c:236
+#: builtin/fetch.c:188 builtin/pull.c:236
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:188 builtin/pull.c:237
+#: builtin/fetch.c:189 builtin/pull.c:237
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:195
+#: builtin/fetch.c:196
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 
-#: builtin/fetch.c:198
+#: builtin/fetch.c:199
 msgid "run 'gc --auto' after fetching"
 msgstr "获取后执行 'gc --auto'"
 
-#: builtin/fetch.c:200 builtin/pull.c:246
+#: builtin/fetch.c:201 builtin/pull.c:246
 msgid "check for forced-updates on all updated branches"
 msgstr "在所有更新分支上检查强制更新"
 
-#: builtin/fetch.c:510
+#: builtin/fetch.c:203
+msgid "write the commit-graph after fetching"
+msgstr "抓取后写提交图"
+
+#: builtin/fetch.c:513
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:650
+#: builtin/fetch.c:653
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:748
+#: builtin/fetch.c:751
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:752
+#: builtin/fetch.c:755
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:765 builtin/fetch.c:781 builtin/fetch.c:853
+#: builtin/fetch.c:768 builtin/fetch.c:784 builtin/fetch.c:856
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:769
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:776
+#: builtin/fetch.c:779
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:777 builtin/fetch.c:814 builtin/fetch.c:836
-#: builtin/fetch.c:848
+#: builtin/fetch.c:780 builtin/fetch.c:817 builtin/fetch.c:839
+#: builtin/fetch.c:851
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:781
+#: builtin/fetch.c:784
 msgid "would clobber existing tag"
 msgstr "会破坏现有的标签"
 
-#: builtin/fetch.c:803
+#: builtin/fetch.c:806
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:806
+#: builtin/fetch.c:809
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:809
+#: builtin/fetch.c:812
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:848
+#: builtin/fetch.c:851
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:853
+#: builtin/fetch.c:856
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:874
+#: builtin/fetch.c:877
 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"
@@ -12790,7 +13318,7 @@
 "要重新启用,请使用 '--show-forced-updates' 选项或运行\n"
 "'git config fetch.showForcedUpdates true'。"
 
-#: builtin/fetch.c:878
+#: builtin/fetch.c:881
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -12801,22 +13329,22 @@
 "花了 %.2f 秒来检查强制更新。您可以使用 '--no-show-forced-updates'\n"
 "或运行 'git config fetch.showForcedUpdates false' 以避免此项检查。\n"
 
-#: builtin/fetch.c:908
+#: builtin/fetch.c:911
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必需的对象\n"
 
-#: builtin/fetch.c:929
+#: builtin/fetch.c:932
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:1020 builtin/fetch.c:1157
+#: builtin/fetch.c:1017 builtin/fetch.c:1155
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:1031
+#: builtin/fetch.c:1028
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -12826,57 +13354,57 @@
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1125
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为悬空状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:1128
+#: builtin/fetch.c:1126
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为悬空状态)"
 
-#: builtin/fetch.c:1160
+#: builtin/fetch.c:1158
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:1161 builtin/remote.c:1036
+#: builtin/fetch.c:1159 builtin/remote.c:1035
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1184
+#: builtin/fetch.c:1182
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:1203
+#: builtin/fetch.c:1201
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1206
+#: builtin/fetch.c:1204
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1414
-msgid "multiple branch detected, incompatible with --set-upstream"
+#: builtin/fetch.c:1412
+msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "检测到多分支,和 --set-upstream 不兼容"
 
-#: builtin/fetch.c:1429
+#: builtin/fetch.c:1427
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "没有为一个远程跟踪分支设置上游"
 
-#: builtin/fetch.c:1431
+#: builtin/fetch.c:1429
 msgid "not setting upstream for a remote tag"
 msgstr "没有为一个远程标签设置上游"
 
-#: builtin/fetch.c:1433
+#: builtin/fetch.c:1431
 msgid "unknown branch type"
 msgstr "未知的分支类型"
 
-#: builtin/fetch.c:1435
+#: builtin/fetch.c:1433
 msgid ""
 "no source branch found.\n"
 "you need to specify exactly one branch with the --set-upstream option."
@@ -12884,65 +13412,65 @@
 "未发现源分支。\n"
 "您需要使用 --set-upstream 选项指定一个分支。"
 
-#: builtin/fetch.c:1561 builtin/fetch.c:1623
+#: builtin/fetch.c:1559 builtin/fetch.c:1622
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1571 builtin/fetch.c:1625 builtin/remote.c:100
+#: builtin/fetch.c:1569 builtin/fetch.c:1624 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1583
+#: builtin/fetch.c:1581
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "无法获取 '%s'(退出码:%d)\n"
 
-#: builtin/fetch.c:1685
+#: builtin/fetch.c:1684
 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:1722
+#: builtin/fetch.c:1721
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1774
+#: builtin/fetch.c:1771
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1776
+#: builtin/fetch.c:1773
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1781
+#: builtin/fetch.c:1778
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1783
+#: builtin/fetch.c:1780
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1799
+#: builtin/fetch.c:1796
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1801
+#: builtin/fetch.c:1798
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1810
+#: builtin/fetch.c:1807
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1817
+#: builtin/fetch.c:1814
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
-#: builtin/fetch.c:1835
+#: builtin/fetch.c:1832
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -12953,23 +13481,23 @@
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <说明>] [--log[=<n>] | --no-log] [--file <文件>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:674
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:677
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:680
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:681
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:682
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -13033,32 +13561,32 @@
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
-#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161
+#: builtin/fsck.c:68 builtin/fsck.c:147 builtin/fsck.c:148
 msgid "unknown"
 msgstr "未知"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: builtin/fsck.c:120 builtin/fsck.c:136
+#: builtin/fsck.c:100 builtin/fsck.c:120
 #, c-format
 msgid "error in %s %s: %s"
 msgstr "%s %s 错误:%s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:114
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "%s %s 警告:%s"
 
-#: builtin/fsck.c:157 builtin/fsck.c:159
+#: builtin/fsck.c:143 builtin/fsck.c:146
 #, c-format
 msgid "broken link from %7s %s"
 msgstr "来自 %7s %s 的损坏的链接"
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:155
 msgid "wrong object type in link"
 msgstr "链接中错误的对象类型"
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:171
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -13067,211 +13595,211 @@
 "损坏的链接来自于 %7s %s\n"
 "              到 %7s %s"
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:282
 #, c-format
 msgid "missing %s %s"
 msgstr "缺失 %s %s"
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:309
 #, c-format
 msgid "unreachable %s %s"
 msgstr "不可达 %s %s"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:329
 #, c-format
 msgid "dangling %s %s"
 msgstr "悬空 %s %s"
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:339
 msgid "could not create lost-found"
 msgstr "不能创建 lost-found"
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:350
 #, c-format
 msgid "could not finish '%s'"
 msgstr "不能完成 '%s'"
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:367
 #, c-format
 msgid "Checking %s"
 msgstr "正在检查 %s"
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "正在检查连通性(%d 个对象)"
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:424
 #, c-format
 msgid "Checking %s %s"
 msgstr "正在检查 %s %s"
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:429
 msgid "broken links"
 msgstr "损坏的链接"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:438
 #, c-format
 msgid "root %s"
 msgstr "根 %s"
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:446
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "标记 %s %s (%s) 于 %s"
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:475
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s:对象损坏或丢失"
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:500
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s:无效的引用日志条目 %s"
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:514
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "正在检查引用日志 %s->%s"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:548
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s:无效的 sha1 指针 %s"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:555
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s:不是一个提交"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:609
 msgid "notice: No default references"
 msgstr "注意:无默认引用"
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s:对象损坏或丢失:%s"
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:637
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s:不能解析对象:%s"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:657
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "坏的 sha1 文件:%s"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:672
 msgid "Checking object directory"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:675
 msgid "Checking object directories"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:690
 #, c-format
 msgid "Checking %s link"
 msgstr "正在检查 %s 链接"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:842
+#: builtin/fsck.c:695 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:702
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s 指向奇怪的东西(%s)"
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:708
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s:分离头指针的指向不存在"
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:712
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "注意:%s 指向一个尚未诞生的分支(%s)"
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:724
 msgid "Checking cache tree"
 msgstr "正在检查缓存树"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:729
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s:cache-tree 中无效的 sha1 指针"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:738
 msgid "non-tree in cache-tree"
 msgstr "cache-tree 中非树对象"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:769
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:775
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:776
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:777
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:778
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:779
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:792
+#: builtin/fsck.c:780
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:781
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:782
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:783
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:785
 msgid "write dangling objects in .git/lost-found"
 msgstr "将悬空对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:786 builtin/prune.c:132
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:787
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:225
+#: builtin/fsck.c:846 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "正在检查对象"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:874
 #, c-format
 msgid "%s: object missing"
 msgstr "%s:对象缺失"
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:885
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "无效的参数:期望 sha1,得到 '%s'"
@@ -13829,7 +14357,7 @@
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:291 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:95
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
@@ -14069,7 +14597,7 @@
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1833 builtin/unpack-objects.c:581
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
@@ -14250,121 +14778,126 @@
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:109
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:173
+#: builtin/log.c:174
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:174
+#: builtin/log.c:175
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:176
+#: builtin/log.c:177
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
-#: builtin/log.c:178
+#: builtin/log.c:179
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
-#: builtin/log.c:179
+#: builtin/log.c:180
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:182
+#: builtin/log.c:183
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
-#: builtin/log.c:280
+#: builtin/log.c:281
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:534
+#: builtin/log.c:535
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:549 builtin/log.c:644
+#: builtin/log.c:550 builtin/log.c:645
 #, c-format
 msgid "could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:669
+#: builtin/log.c:670
 #, c-format
 msgid "unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:792
+#: builtin/log.c:814
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr "%s:从描述生成附函的模式无效"
+
+#: builtin/log.c:821
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:909
+#: builtin/log.c:936
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:925
+#: builtin/log.c:952
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:942
+#: builtin/log.c:969
 msgid "need exactly one range"
 msgstr "只需要一个范围"
 
-#: builtin/log.c:952
+#: builtin/log.c:979
 msgid "not a range"
 msgstr "不是一个范围"
 
-#: builtin/log.c:1075
+#: builtin/log.c:1143
 msgid "cover letter needs email format"
 msgstr "附函需要邮件地址格式"
 
-#: builtin/log.c:1081
+#: builtin/log.c:1149
 msgid "failed to create cover-letter file"
 msgstr "无法创建附函文件"
 
-#: builtin/log.c:1160
+#: builtin/log.c:1228
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1187
+#: builtin/log.c:1255
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1313
 msgid "two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1356 builtin/log.c:2116 builtin/log.c:2118 builtin/log.c:2130
+#: builtin/log.c:1424 builtin/log.c:2197 builtin/log.c:2199 builtin/log.c:2211
 #, c-format
 msgid "unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1366 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1434 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:1371
+#: builtin/log.c:1439
 msgid "could not find exact merge base"
 msgstr "不能找到准确的合并基线"
 
-#: builtin/log.c:1375
+#: builtin/log.c:1443
 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"
@@ -14374,267 +14907,275 @@
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交"
 
-#: builtin/log.c:1395
+#: builtin/log.c:1463
 msgid "failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1406
+#: builtin/log.c:1474
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1410
+#: builtin/log.c:1478
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1531
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1515
+#: builtin/log.c:1583
 msgid "failed to infer range-diff ranges"
 msgstr "无法推断 range-diff 范围"
 
-#: builtin/log.c:1560
+#: builtin/log.c:1629
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1563
+#: builtin/log.c:1632
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1636
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1638
 msgid "generate a cover letter"
 msgstr "生成一封附函"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1640
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1641
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1573
+#: builtin/log.c:1642
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1644
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1646
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1648
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
-#: builtin/log.c:1582
+#: builtin/log.c:1651
+msgid "cover-from-description-mode"
+msgstr "从分支描述获取附函的模式"
+
+#: builtin/log.c:1652
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr "基于一个分支描述生成部分附函"
+
+#: builtin/log.c:1654
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1585
+#: builtin/log.c:1657
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1588
+#: builtin/log.c:1660
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1663
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1593
+#: builtin/log.c:1665
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1667
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1669
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1671
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1672
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1601
+#: builtin/log.c:1673
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1602 builtin/log.c:1604
+#: builtin/log.c:1674 builtin/log.c:1676
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1674
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1604
+#: builtin/log.c:1676
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1606
+#: builtin/log.c:1678
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1607
+#: builtin/log.c:1679
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1681
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1610
+#: builtin/log.c:1682
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1611 builtin/log.c:1614
+#: builtin/log.c:1683 builtin/log.c:1686
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1612
+#: builtin/log.c:1684
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1615
+#: builtin/log.c:1687
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1619
+#: builtin/log.c:1691
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1693
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1622
+#: builtin/log.c:1694
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1695
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1624
+#: builtin/log.c:1696
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1698
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1627
+#: builtin/log.c:1699
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1629
+#: builtin/log.c:1701
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1631
+#: builtin/log.c:1703
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <rev> 的差异"
 
-#: builtin/log.c:1634
+#: builtin/log.c:1706
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <refspec> 的差异"
 
-#: builtin/log.c:1636
+#: builtin/log.c:1708
 msgid "percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/log.c:1711
+#: builtin/log.c:1792
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1726
+#: builtin/log.c:1807
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
-#: builtin/log.c:1728
+#: builtin/log.c:1809
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
-#: builtin/log.c:1736
+#: builtin/log.c:1817
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1738
+#: builtin/log.c:1819
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1740
+#: builtin/log.c:1821
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1773
+#: builtin/log.c:1854
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1877
+#: builtin/log.c:1958
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:1881
+#: builtin/log.c:1962
 msgid "Interdiff:"
 msgstr "版本间差异:"
 
-#: builtin/log.c:1882
+#: builtin/log.c:1963
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "对 v%d 的版本差异:"
 
-#: builtin/log.c:1888
+#: builtin/log.c:1969
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor 需要 --range-diff"
 
-#: builtin/log.c:1892
+#: builtin/log.c:1973
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:1900
+#: builtin/log.c:1981
 msgid "Range-diff:"
 msgstr "范围差异:"
 
-#: builtin/log.c:1901
+#: builtin/log.c:1982
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "对 v%d 的范围差异:"
 
-#: builtin/log.c:1912
+#: builtin/log.c:1993
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1948
+#: builtin/log.c:2029
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:1992
+#: builtin/log.c:2073
 msgid "failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:2051
+#: builtin/log.c:2132
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:2105
+#: builtin/log.c:2186
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -14734,11 +15275,11 @@
 
 #: builtin/ls-files.c:576
 msgid "tree-ish"
-msgstr "树或提交"
+msgstr "树对象"
 
 #: builtin/ls-files.c:577
 msgid "pretend that paths removed since <tree-ish> are still present"
-msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
+msgstr "假装自从 <树对象> 之后删除的路径仍然存在"
 
 #: builtin/ls-files.c:579
 msgid "show debugging data"
@@ -14758,7 +15299,7 @@
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1488
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1518
 msgid "exec"
 msgstr "exec"
 
@@ -14792,7 +15333,7 @@
 
 #: builtin/ls-tree.c:30
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
+msgstr "git ls-tree [<选项>] <树对象> [<路径>...]"
 
 #: builtin/ls-tree.c:128
 msgid "only show trees"
@@ -14908,7 +15449,7 @@
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
 #: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:187
-#: builtin/rebase.c:493 builtin/rebase.c:1501 builtin/revert.c:114
+#: builtin/rebase.c:512 builtin/rebase.c:1531 builtin/revert.c:114
 msgid "strategy"
 msgstr "策略"
 
@@ -15340,31 +15881,29 @@
 
 #: builtin/multi-pack-index.c:9
 msgid ""
-"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
-"batch-size=<size>)"
-msgstr ""
-"git multi-pack-index [--object-dir=<目录>] (write|verify|expire|repack --"
-"batch-size=<大小>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
+msgstr "git multi-pack-index [<选项>] (write|verify|expire|repack --batch-size=<大小>)"
 
-#: builtin/multi-pack-index.c:23
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "包含成对包文件和包索引的对象目录"
 
-#: builtin/multi-pack-index.c:25
+#: builtin/multi-pack-index.c:29
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
 msgstr "在 repack 期间,将较小尺寸的包文件收集到大于此大小的批次中"
 
-#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr "太多参数"
 
-#: builtin/multi-pack-index.c:52
+#: builtin/multi-pack-index.c:60
 msgid "--batch-size option is only for 'repack' subcommand"
 msgstr "--batch-size 选项仅用于 'repack' 子命令"
 
-#: builtin/multi-pack-index.c:61
+#: builtin/multi-pack-index.c:69
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "未识别的子命令:%s"
@@ -15456,52 +15995,52 @@
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:511
+#: builtin/mv.c:277 builtin/remote.c:716 builtin/repack.c:518
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:403
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:404
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:358
+#: builtin/name-rev.c:405
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
-#: builtin/name-rev.c:415
+#: builtin/name-rev.c:462
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:463
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:465
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:467
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:469
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:423
+#: builtin/name-rev.c:470
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:424
+#: builtin/name-rev.c:471
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:430
+#: builtin/name-rev.c:477
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
@@ -15965,7 +16504,7 @@
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:917 builtin/update-index.c:89
+#: builtin/pack-objects.c:917 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
@@ -16095,22 +16634,6 @@
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3228
-msgid "do not show progress meter"
-msgstr "不显示进度表"
-
-#: builtin/pack-objects.c:3230
-msgid "show progress meter"
-msgstr "显示进度表"
-
-#: builtin/pack-objects.c:3232
-msgid "show progress meter during object writing phase"
-msgstr "在对象写入阶段显示进度表"
-
-#: builtin/pack-objects.c:3235
-msgid "similar to --all-progress when progress meter is shown"
-msgstr "当进度表显示时类似于 --all-progress"
-
 #: builtin/pack-objects.c:3236
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
@@ -16355,7 +16878,7 @@
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:177 builtin/rebase.c:448 builtin/revert.c:126
+#: builtin/pull.c:177 builtin/rebase.c:467 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
@@ -16407,7 +16930,7 @@
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:448 builtin/rebase.c:1347 git-parse-remote.sh:73
+#: builtin/pull.c:448 builtin/rebase.c:1375 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
@@ -16424,7 +16947,7 @@
 msgstr "详见 git-pull(1)。"
 
 #: builtin/pull.c:455 builtin/pull.c:461 builtin/pull.c:470
-#: builtin/rebase.c:1353 git-parse-remote.sh:64
+#: builtin/rebase.c:1381 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
@@ -16433,7 +16956,7 @@
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:463 builtin/rebase.c:1345 git-parse-remote.sh:75
+#: builtin/pull.c:463 builtin/rebase.c:1373 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
@@ -16519,15 +17042,15 @@
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/push.c:111
+#: builtin/push.c:112
 msgid "tag shorthand without <tag>"
 msgstr "标签后面未提供 <标签> 参数"
 
-#: builtin/push.c:121
+#: builtin/push.c:122
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete 只接受简单的目标引用名"
 
-#: builtin/push.c:167
+#: builtin/push.c:168
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -16535,7 +17058,7 @@
 "\n"
 "为了永久地选择任一选项,参见 'git help config' 中的 push.default。"
 
-#: builtin/push.c:170
+#: builtin/push.c:171
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -16559,7 +17082,7 @@
 "    git push %s HEAD\n"
 "%s"
 
-#: builtin/push.c:185
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -16573,7 +17096,7 @@
 "\n"
 "    git push %s HEAD:<远程分支名字>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:200
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -16586,12 +17109,12 @@
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:207
+#: builtin/push.c:208
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "当前分支 %s 有多个上游分支,拒绝推送。"
 
-#: builtin/push.c:210
+#: builtin/push.c:211
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -16601,12 +17124,12 @@
 "您正推送至远程 '%s'(其并非当前分支 '%s' 的上游),\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#: builtin/push.c:269
+#: builtin/push.c:270
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "您没有为推送指定任何引用规格,并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:276
+#: builtin/push.c:277
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -16617,7 +17140,7 @@
 "再次推送前,先与远程变更合并(如 'git pull ...')。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:282
+#: builtin/push.c:283
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -16628,7 +17151,7 @@
 "检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:288
+#: builtin/push.c:289
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -16641,11 +17164,11 @@
 "(如 'git pull ...')。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:295
+#: builtin/push.c:296
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "更新被拒绝,因为该标签在远程已经存在。"
 
-#: builtin/push.c:298
+#: builtin/push.c:299
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -16654,99 +17177,99 @@
 "如果不使用 '--force' 参数,您不能更新一个指向非提交对象的远程引用,\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:360
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:366
+#: builtin/push.c:367
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "推送一些引用到 '%s' 失败"
 
-#: builtin/push.c:541
+#: builtin/push.c:542
 msgid "repository"
 msgstr "仓库"
 
-#: builtin/push.c:542 builtin/send-pack.c:164
+#: builtin/push.c:543 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:544 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:545
+#: builtin/push.c:546
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:546
+#: builtin/push.c:547
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送标签(不能使用 --all or --mirror)"
 
-#: builtin/push.c:549 builtin/send-pack.c:167
+#: builtin/push.c:550 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:551 builtin/send-pack.c:181
+#: builtin/push.c:552 builtin/send-pack.c:181
 msgid "<refname>:<expect>"
 msgstr "<引用名>:<期望值>"
 
-#: builtin/push.c:552 builtin/send-pack.c:182
+#: builtin/push.c:553 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:555
+#: builtin/push.c:556
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:557 builtin/send-pack.c:175
+#: builtin/push.c:558 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:558 builtin/push.c:559 builtin/send-pack.c:161
+#: builtin/push.c:559 builtin/push.c:560 builtin/send-pack.c:161
 #: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:560
+#: builtin/push.c:561
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:563
+#: builtin/push.c:564
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:565
+#: builtin/push.c:566
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:566
+#: builtin/push.c:567
 msgid "push missing but relevant tags"
 msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:569 builtin/send-pack.c:169
+#: builtin/push.c:570 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:571 builtin/send-pack.c:176
+#: builtin/push.c:572 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:589
+#: builtin/push.c:590
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:591
+#: builtin/push.c:592
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
-#: builtin/push.c:611
+#: builtin/push.c:612
 #, c-format
 msgid "bad repository '%s'"
 msgstr "坏的仓库 '%s'"
 
-#: builtin/push.c:612
+#: builtin/push.c:613
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -16767,27 +17290,27 @@
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:627
+#: builtin/push.c:628
 msgid "--all and --tags are incompatible"
 msgstr "--all 和 --tags 不兼容"
 
-#: builtin/push.c:629
+#: builtin/push.c:630
 msgid "--all can't be combined with refspecs"
 msgstr "--all 不能和引用规格同时使用"
 
-#: builtin/push.c:633
+#: builtin/push.c:634
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 和 --tags 不兼容"
 
-#: builtin/push.c:635
+#: builtin/push.c:636
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror 不能和引用规格同时使用"
 
-#: builtin/push.c:638
+#: builtin/push.c:639
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:642
+#: builtin/push.c:643
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
@@ -16803,24 +17326,32 @@
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<选项>] <base> <old-tip> <new-tip>"
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr "注解"
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr "传递给 'git log'"
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "没有在范围中使用 ..:'%s'"
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr "单个参数格式必须是对称范围(即包含...)"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr "需要两个提交范围"
 
@@ -16902,11 +17433,17 @@
 msgid "suppress feedback messages"
 msgstr "抑制反馈信息"
 
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr "您需要先解决当前索引的冲突"
+
 #: builtin/rebase.c:32
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
 "[<upstream> [<branch>]]"
-msgstr "git rebase [-i] [options] [--exec <命令>] [--onto <新基线> | --keep-base] [<上游> [<分支>]]"
+msgstr ""
+"git rebase [-i] [options] [--exec <命令>] [--onto <新基线> | --keep-base] [<"
+"上游> [<分支>]]"
 
 #: builtin/rebase.c:34
 msgid ""
@@ -16918,216 +17455,216 @@
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:177 builtin/rebase.c:201 builtin/rebase.c:228
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#: builtin/rebase.c:186 builtin/rebase.c:212 builtin/rebase.c:236
 #, c-format
 msgid "could not write '%s'."
 msgstr "不能写入 '%s'。"
 
-#: builtin/rebase.c:252
+#: builtin/rebase.c:271
 msgid "no HEAD?"
 msgstr "没有 HEAD?"
 
-#: builtin/rebase.c:279
+#: builtin/rebase.c:298
 #, c-format
 msgid "could not create temporary %s"
 msgstr "无法创建临时的 %s"
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:304
 msgid "could not mark as interactive"
 msgstr "无法标记为交互式"
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:362
 msgid "could not generate todo list"
 msgstr "无法生成待办列表"
 
-#: builtin/rebase.c:383
+#: builtin/rebase.c:402
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
 
-#: builtin/rebase.c:438
+#: builtin/rebase.c:457
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<选项>]"
 
-#: builtin/rebase.c:450
+#: builtin/rebase.c:469
 msgid "keep empty commits"
 msgstr "保持空提交"
 
-#: builtin/rebase.c:452 builtin/revert.c:128
+#: builtin/rebase.c:471 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
-#: builtin/rebase.c:453
+#: builtin/rebase.c:472
 msgid "rebase merge commits"
 msgstr "对合并提交变基"
 
-#: builtin/rebase.c:455
+#: builtin/rebase.c:474
 msgid "keep original branch points of cousins"
 msgstr "保持兄弟提交的原始分支点"
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:476
 msgid "move commits that begin with squash!/fixup!"
 msgstr "移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:458
+#: builtin/rebase.c:477
 msgid "sign commits"
 msgstr "签名提交"
 
-#: builtin/rebase.c:460 builtin/rebase.c:1427
+#: builtin/rebase.c:479 builtin/rebase.c:1455
 msgid "display a diffstat of what changed upstream"
 msgstr "显示上游变化的差异统计"
 
-#: builtin/rebase.c:462
+#: builtin/rebase.c:481
 msgid "continue rebase"
 msgstr "继续变基"
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:483
 msgid "skip commit"
 msgstr "跳过提交"
 
-#: builtin/rebase.c:465
+#: builtin/rebase.c:484
 msgid "edit the todo list"
 msgstr "变基待办列表"
 
-#: builtin/rebase.c:467
+#: builtin/rebase.c:486
 msgid "show the current patch"
 msgstr "显示当前补丁"
 
-#: builtin/rebase.c:470
+#: builtin/rebase.c:489
 msgid "shorten commit ids in the todo list"
 msgstr "缩短待办列表中的提交号"
 
-#: builtin/rebase.c:472
+#: builtin/rebase.c:491
 msgid "expand commit ids in the todo list"
 msgstr "扩展待办列表中的提交号"
 
-#: builtin/rebase.c:474
+#: builtin/rebase.c:493
 msgid "check the todo list"
 msgstr "检查待办列表"
 
-#: builtin/rebase.c:476
+#: builtin/rebase.c:495
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:497
 msgid "insert exec commands in todo list"
 msgstr "在待办列表中插入 exec 执行命令"
 
-#: builtin/rebase.c:479
+#: builtin/rebase.c:498
 msgid "onto"
 msgstr "onto"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:501
 msgid "restrict-revision"
 msgstr "restrict-revision"
 
-#: builtin/rebase.c:482
+#: builtin/rebase.c:501
 msgid "restrict revision"
 msgstr "限制版本"
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:503
 msgid "squash-onto"
 msgstr "squash-onto"
 
-#: builtin/rebase.c:485
+#: builtin/rebase.c:504
 msgid "squash onto"
 msgstr "squash onto"
 
-#: builtin/rebase.c:487
+#: builtin/rebase.c:506
 msgid "the upstream commit"
 msgstr "上游提交"
 
-#: builtin/rebase.c:489
+#: builtin/rebase.c:508
 msgid "head-name"
 msgstr "head-name"
 
-#: builtin/rebase.c:489
+#: builtin/rebase.c:508
 msgid "head name"
 msgstr "head 名称"
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:513
 msgid "rebase strategy"
 msgstr "变基策略"
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:514
 msgid "strategy-opts"
 msgstr "strategy-opts"
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:515
 msgid "strategy options"
 msgstr "策略选项"
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:516
 msgid "switch-to"
 msgstr "切换到"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:517
 msgid "the branch or commit to checkout"
 msgstr "要检出的分支或提交"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:518
 msgid "onto-name"
 msgstr "onto-name"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:518
 msgid "onto name"
 msgstr "onto name"
 
-#: builtin/rebase.c:500
+#: builtin/rebase.c:519
 msgid "cmd"
 msgstr "cmd"
 
-#: builtin/rebase.c:500
+#: builtin/rebase.c:519
 msgid "the command to run"
 msgstr "要执行的命令"
 
-#: builtin/rebase.c:503 builtin/rebase.c:1510
+#: builtin/rebase.c:522 builtin/rebase.c:1540
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "自动重新安排任何失败的 `exec`"
 
-#: builtin/rebase.c:519
+#: builtin/rebase.c:540
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
 
-#: builtin/rebase.c:535
+#: builtin/rebase.c:556
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s 需要交互式变基"
 
-#: builtin/rebase.c:587
+#: builtin/rebase.c:608
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "无法获取 'onto':'%s'"
 
-#: builtin/rebase.c:602
+#: builtin/rebase.c:623
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "无效的原始 head:'%s'"
 
-#: builtin/rebase.c:627
+#: builtin/rebase.c:648
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
 
-#: builtin/rebase.c:703
+#: builtin/rebase.c:724
 #, c-format
 msgid "Could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/rebase.c:721
+#: builtin/rebase.c:742
 #, c-format
 msgid "Cannot store %s"
 msgstr "不能存储 %s"
 
-#: builtin/rebase.c:828
+#: builtin/rebase.c:849
 msgid "could not determine HEAD revision"
 msgstr "不能确定 HEAD 版本"
 
-#: builtin/rebase.c:951 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:972 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -17140,7 +17677,7 @@
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
-#: builtin/rebase.c:1032
+#: builtin/rebase.c:1060
 #, c-format
 msgid ""
 "\n"
@@ -17158,7 +17695,7 @@
 "\n"
 "因此 git 无法对其变基。"
 
-#: builtin/rebase.c:1339
+#: builtin/rebase.c:1367
 #, c-format
 msgid ""
 "%s\n"
@@ -17175,7 +17712,7 @@
 "    git rebase '<branch>'\n"
 "\n"
 
-#: builtin/rebase.c:1355
+#: builtin/rebase.c:1383
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -17188,132 +17725,144 @@
 "    git branch --set-upstream-to=%s/<branch> %s\n"
 "\n"
 
-#: builtin/rebase.c:1385
+#: builtin/rebase.c:1413
 msgid "exec commands cannot contain newlines"
 msgstr "exec 命令不能包含换行符"
 
-#: builtin/rebase.c:1389
+#: builtin/rebase.c:1417
 msgid "empty exec command"
 msgstr "空的 exec 命令"
 
-#: builtin/rebase.c:1418
+#: builtin/rebase.c:1446
 msgid "rebase onto given branch instead of upstream"
 msgstr "变基到给定的分支而非上游"
 
-#: builtin/rebase.c:1420
+#: builtin/rebase.c:1448
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr "使用上游和分支的合并基线做为当前基线"
 
-#: builtin/rebase.c:1422
+#: builtin/rebase.c:1450
 msgid "allow pre-rebase hook to run"
 msgstr "允许执行 pre-rebase 钩子"
 
-#: builtin/rebase.c:1424
+#: builtin/rebase.c:1452
 msgid "be quiet. implies --no-stat"
 msgstr "安静。暗示 --no-stat"
 
-#: builtin/rebase.c:1430
+#: builtin/rebase.c:1458
 msgid "do not show diffstat of what changed upstream"
 msgstr "不显示上游变化的差异统计"
 
-#: builtin/rebase.c:1433
+#: builtin/rebase.c:1461
 msgid "add a Signed-off-by: line to each commit"
 msgstr "为每一个提交添加一个 Signed-off-by: 签名"
 
-#: builtin/rebase.c:1435 builtin/rebase.c:1439 builtin/rebase.c:1441
-msgid "passed to 'git am'"
-msgstr "传递给 'git am'"
+#: builtin/rebase.c:1464
+msgid "make committer date match author date"
+msgstr "让提交者日期匹配作者日期"
 
-#: builtin/rebase.c:1443 builtin/rebase.c:1445
+#: builtin/rebase.c:1466
+msgid "ignore author date and use current date"
+msgstr "忽略作者日期并使用当前日期"
+
+#: builtin/rebase.c:1468
+msgid "synonym of --reset-author-date"
+msgstr "--reset-author-date 的同义词"
+
+#: builtin/rebase.c:1470 builtin/rebase.c:1474
 msgid "passed to 'git apply'"
 msgstr "传递给 'git apply'"
 
-#: builtin/rebase.c:1447 builtin/rebase.c:1450
+#: builtin/rebase.c:1472
+msgid "ignore changes in whitespace"
+msgstr "忽略空白字符的变更"
+
+#: builtin/rebase.c:1476 builtin/rebase.c:1479
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "拣选所有提交,即使未修改"
 
-#: builtin/rebase.c:1452
+#: builtin/rebase.c:1481
 msgid "continue"
 msgstr "继续"
 
-#: builtin/rebase.c:1455
+#: builtin/rebase.c:1484
 msgid "skip current patch and continue"
 msgstr "跳过当前补丁并继续"
 
 #  译者:注意保持前导空格
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1486
 msgid "abort and check out the original branch"
 msgstr "终止并检出原有分支"
 
-#: builtin/rebase.c:1460
+#: builtin/rebase.c:1489
 msgid "abort but keep HEAD where it is"
 msgstr "终止但保持 HEAD 不变"
 
-#: builtin/rebase.c:1461
+#: builtin/rebase.c:1490
 msgid "edit the todo list during an interactive rebase"
 msgstr "在交互式变基中编辑待办列表"
 
-#: builtin/rebase.c:1464
+#: builtin/rebase.c:1493
 msgid "show the patch file being applied or merged"
 msgstr "显示正在应用或合并的补丁文件"
 
-#: builtin/rebase.c:1467
+#: builtin/rebase.c:1496
 msgid "use merging strategies to rebase"
 msgstr "使用合并策略进行变基"
 
-#: builtin/rebase.c:1471
+#: builtin/rebase.c:1500
 msgid "let the user edit the list of commits to rebase"
 msgstr "让用户编辑要变基的提交列表"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1504
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(已弃用)尝试重建合并提交而非忽略它们"
 
-#: builtin/rebase.c:1479
+#: builtin/rebase.c:1509
 msgid "preserve empty commits during rebase"
 msgstr "变基时保留空提交"
 
-#: builtin/rebase.c:1481
+#: builtin/rebase.c:1511
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:1487
+#: builtin/rebase.c:1517
 msgid "automatically stash/stash pop before and after"
 msgstr "在操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/rebase.c:1489
+#: builtin/rebase.c:1519
 msgid "add exec lines after each commit of the editable list"
 msgstr "可编辑列表的每一个提交下面增加一行 exec"
 
-#: builtin/rebase.c:1493
+#: builtin/rebase.c:1523
 msgid "allow rebasing commits with empty messages"
 msgstr "允许针对空提交说明的提交变基"
 
-#: builtin/rebase.c:1496
+#: builtin/rebase.c:1526
 msgid "try to rebase merges instead of skipping them"
 msgstr "尝试对合并提交变基而不是忽略它们"
 
-#: builtin/rebase.c:1499
+#: builtin/rebase.c:1529
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "使用 'merge-base --fork-point' 来优化上游"
 
-#: builtin/rebase.c:1501
+#: builtin/rebase.c:1531
 msgid "use the given merge strategy"
 msgstr "使用给定的合并策略"
 
-#: builtin/rebase.c:1503 builtin/revert.c:115
+#: builtin/rebase.c:1533 builtin/revert.c:115
 msgid "option"
 msgstr "选项"
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1534
 msgid "pass the argument through to the merge strategy"
 msgstr "将参数传递给合并策略"
 
-#: builtin/rebase.c:1507
+#: builtin/rebase.c:1537
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "将所有可达的提交变基到根提交"
 
-#: builtin/rebase.c:1524
+#: builtin/rebase.c:1554
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -17321,36 +17870,36 @@
 "对 rebase.useBuiltin 的支持已被删除!\n"
 "详见 'git help config' 中的条目。"
 
-#: builtin/rebase.c:1530
+#: builtin/rebase.c:1560
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
-#: builtin/rebase.c:1571
+#: builtin/rebase.c:1601
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr "git rebase --preserve-merges 被弃用。用 --rebase-merges 代替。"
 
-#: builtin/rebase.c:1576
+#: builtin/rebase.c:1606
 msgid "cannot combine '--keep-base' with '--onto'"
 msgstr "不能将 '--keep-base' 和 '--onto' 组合使用"
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1608
 msgid "cannot combine '--keep-base' with '--root'"
 msgstr "不能将 '--keep-base' 和 '--root' 组合使用"
 
-#: builtin/rebase.c:1582
+#: builtin/rebase.c:1612
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: builtin/rebase.c:1586
+#: builtin/rebase.c:1616
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: builtin/rebase.c:1609
+#: builtin/rebase.c:1639
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: builtin/rebase.c:1621
+#: builtin/rebase.c:1651
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -17358,16 +17907,16 @@
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: builtin/rebase.c:1640
+#: builtin/rebase.c:1670
 msgid "could not discard worktree changes"
 msgstr "无法丢弃工作区变更"
 
-#: builtin/rebase.c:1659
+#: builtin/rebase.c:1689
 #, c-format
 msgid "could not move back to %s"
 msgstr "无法移回 %s"
 
-#: builtin/rebase.c:1704
+#: builtin/rebase.c:1734
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17386,155 +17935,155 @@
 "\t%s\n"
 "然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
 
-#: builtin/rebase.c:1725
+#: builtin/rebase.c:1757
 msgid "switch `C' expects a numerical value"
 msgstr "开关 `C' 期望一个数字值"
 
-#: builtin/rebase.c:1766
+#: builtin/rebase.c:1798
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "未知模式:%s"
 
-#: builtin/rebase.c:1788
+#: builtin/rebase.c:1820
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy 需要 --merge 或 --interactive"
 
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1860
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec 需要 --exec 或 --interactive"
 
-#: builtin/rebase.c:1840
+#: builtin/rebase.c:1872
 msgid "cannot combine am options with either interactive or merge options"
 msgstr "不能将 am 选项与交互或合并选项同时使用"
 
-#: builtin/rebase.c:1859
+#: builtin/rebase.c:1891
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "不能将 '--preserve-merges' 和 '--rebase-merges' 同时使用"
 
-#: builtin/rebase.c:1863
+#: builtin/rebase.c:1895
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "错误:不能将 '--preserve-merges' 和 '--reschedule-failed-exec' 同时使用"
 
-#: builtin/rebase.c:1887
+#: builtin/rebase.c:1919
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "无效的上游 '%s'"
 
-#: builtin/rebase.c:1893
+#: builtin/rebase.c:1925
 msgid "Could not create new root commit"
 msgstr "不能创建新的根提交"
 
-#: builtin/rebase.c:1919
+#: builtin/rebase.c:1951
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "'%s':只需要与分支的一个合并基线"
 
-#: builtin/rebase.c:1922
+#: builtin/rebase.c:1954
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s':只需要一个合并基线"
 
-#: builtin/rebase.c:1930
+#: builtin/rebase.c:1962
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "没有指向一个有效的提交 '%s'"
 
-#: builtin/rebase.c:1955
+#: builtin/rebase.c:1987
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "致命错误:无此分支/提交 '%s'"
 
-#: builtin/rebase.c:1963 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
+#: builtin/rebase.c:1995 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:1961
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/rebase.c:1974
+#: builtin/rebase.c:2006
 msgid "Could not resolve HEAD to a revision"
 msgstr "无法将 HEAD 解析为一个版本"
 
-#: builtin/rebase.c:2012
+#: builtin/rebase.c:2044
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: builtin/rebase.c:2015
+#: builtin/rebase.c:2047
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "意外的 stash 响应:'%s'"
 
-#: builtin/rebase.c:2021
+#: builtin/rebase.c:2053
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "不能为 '%s' 创建目录"
 
-#: builtin/rebase.c:2024
+#: builtin/rebase.c:2056
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "创建了 autostash:%s\n"
 
-#: builtin/rebase.c:2027
+#: builtin/rebase.c:2059
 msgid "could not reset --hard"
 msgstr "无法 reset --hard"
 
-#: builtin/rebase.c:2036
+#: builtin/rebase.c:2068
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: builtin/rebase.c:2063
+#: builtin/rebase.c:2095
 #, c-format
 msgid "could not parse '%s'"
 msgstr "无法解析 '%s'"
 
-#: builtin/rebase.c:2076
+#: builtin/rebase.c:2108
 #, c-format
 msgid "could not switch to %s"
 msgstr "无法切换到 %s"
 
-#: builtin/rebase.c:2087
+#: builtin/rebase.c:2119
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: builtin/rebase.c:2089
+#: builtin/rebase.c:2121
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "当前分支 %s 是最新的。\n"
 
-#: builtin/rebase.c:2097
+#: builtin/rebase.c:2129
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: builtin/rebase.c:2099
+#: builtin/rebase.c:2131
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "当前分支 %s 是最新的,强制变基。\n"
 
-#: builtin/rebase.c:2107
+#: builtin/rebase.c:2139
 msgid "The pre-rebase hook refused to rebase."
 msgstr "pre-rebase 钩子拒绝了变基操作。"
 
-#: builtin/rebase.c:2114
+#: builtin/rebase.c:2146
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "到 %s 的变更:\n"
 
-#: builtin/rebase.c:2117
+#: builtin/rebase.c:2149
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "从 %s 到 %s 的变更:\n"
 
-#: builtin/rebase.c:2142
+#: builtin/rebase.c:2174
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr "首先,回退头指针以便在其上重放您的工作...\n"
 
-#: builtin/rebase.c:2151
+#: builtin/rebase.c:2183
 msgid "Could not detach HEAD"
 msgstr "无法分离头指针"
 
-#: builtin/rebase.c:2160
+#: builtin/rebase.c:2192
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "快进 %s 到 %s。\n"
@@ -17815,7 +18364,7 @@
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:629 builtin/remote.c:764 builtin/remote.c:863
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "没有此远程仓库:'%s'"
@@ -17836,17 +18385,17 @@
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:702
+#: builtin/remote.c:701
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:735
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:802
+#: builtin/remote.c:801
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -17856,118 +18405,118 @@
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:815
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:916
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:919
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:921
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:924
+#: builtin/remote.c:923
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:965
+#: builtin/remote.c:964
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:973
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:975
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "交互式变基(含合并提交)到远程 %s"
 
-#: builtin/remote.c:979
+#: builtin/remote.c:978
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:982
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:985
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:988
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    以及和远程 %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1031
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1034
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1038
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1041
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1044
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1054
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1058
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1061
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1129
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1156
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1157
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -17975,32 +18524,32 @@
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1172 builtin/remote.c:1174
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1177
+#: builtin/remote.c:1176
 msgid "(not queried)"
 msgstr "(未查询)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1178
 msgid "(unknown)"
 msgstr "(未知)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1182
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1194
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -18008,159 +18557,150 @@
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1197 builtin/remote.c:1223
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1206
 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:1215
+#: builtin/remote.c:1214
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1220
 #, 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:1242
+#: builtin/remote.c:1241
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1243
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1258
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1260
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1270
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1278
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1280
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1299
+#: builtin/remote.c:1298
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为悬空状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1300
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为悬空状态!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1309
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1310
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1326
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1329
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1374
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1453
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1460
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1477
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1479
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1507
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1533
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1535
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1537
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1544
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1583
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1591
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1593
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "冗长输出;必须置于子命令之前"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "未知子命令:%s"
-
 #: builtin/repack.c:23
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
@@ -18177,107 +18717,107 @@
 msgid "could not start pack-objects to repack promisor objects"
 msgstr "无法开始 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:230 builtin/repack.c:409
+#: builtin/repack.c:230 builtin/repack.c:416
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr "repack:期望来自 pack-objects 的完整十六进制对象 ID。"
 
-#: builtin/repack.c:247
+#: builtin/repack.c:254
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "无法完成 pack-objects 来重新打包 promisor 对象"
 
-#: builtin/repack.c:285
+#: builtin/repack.c:292
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:287
+#: builtin/repack.c:294
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:290
+#: builtin/repack.c:297
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:292
+#: builtin/repack.c:299
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:294
+#: builtin/repack.c:301
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:303
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:299
+#: builtin/repack.c:306
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:301
+#: builtin/repack.c:308
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:310
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --delta-islands"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:311
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:312
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:307
+#: builtin/repack.c:314
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:309
+#: builtin/repack.c:316
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:310 builtin/repack.c:316
+#: builtin/repack.c:317 builtin/repack.c:323
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:311
+#: builtin/repack.c:318
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:313
+#: builtin/repack.c:320
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:315
+#: builtin/repack.c:322
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:317
+#: builtin/repack.c:324
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:319
+#: builtin/repack.c:326
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:321
+#: builtin/repack.c:328
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:338
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:335
+#: builtin/repack.c:342
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:418
+#: builtin/repack.c:425
 msgid "Nothing new to pack."
 msgstr "没有新的要打包。"
 
-#: builtin/repack.c:479
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18293,7 +18833,7 @@
 "警告:并且尝试重命名改回原有文件名的操作也失败。\n"
 "警告:请手动将 %s 下的这些文件重命名:\n"
 
-#: builtin/repack.c:527
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "删除 '%s' 失败"
@@ -18567,121 +19107,127 @@
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]"
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<树或提交>] [--] <路径>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr "git reset [-q] [<树对象>] [--] <路径表达式>..."
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<树或提交>] [--] [<路径>...]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<树对象>]"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr "git reset --patch [<树对象>] [--] [<路径表达式>...]"
+
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr "混杂"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr "软性"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr "硬性"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr "合并"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr "保持"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 msgid "You do not have a valid HEAD."
 msgstr "您没有一个有效的 HEAD。"
 
-#: builtin/reset.c:83
+#: builtin/reset.c:84
 msgid "Failed to find tree of HEAD."
 msgstr "无法找到 HEAD 指向的树。"
 
-#: builtin/reset.c:89
+#: builtin/reset.c:90
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "无法找到 %s 指向的树。"
 
-#: builtin/reset.c:114
+#: builtin/reset.c:115
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD 现在位于 %s"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:193
+#: builtin/reset.c:194
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:293 builtin/stash.c:520 builtin/stash.c:595
-#: builtin/stash.c:619
+#: builtin/reset.c:294 builtin/stash.c:519 builtin/stash.c:594
+#: builtin/stash.c:618
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:296
 msgid "reset HEAD and index"
 msgstr "重置 HEAD 和索引"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:297
 msgid "reset only HEAD"
 msgstr "只重置 HEAD"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:299 builtin/reset.c:301
 msgid "reset HEAD, index and working tree"
 msgstr "重置 HEAD、索引和工作区"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:303
 msgid "reset HEAD but keep local changes"
 msgstr "重置 HEAD 但保存本地变更"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:309
 msgid "record only the fact that removed paths will be added later"
 msgstr "将删除的路径标记为稍后添加"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:343
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
-#: builtin/reset.c:334
+#: builtin/reset.c:351
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "无法将 '%s' 解析为一个有效的树对象。"
 
-#: builtin/reset.c:343
+#: builtin/reset.c:360
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:370
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:370
+#: builtin/reset.c:387
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:391
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:412
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:415
 #, c-format
 msgid ""
 "\n"
@@ -18693,12 +19239,12 @@
 "重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
 "将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
 
-#: builtin/reset.c:408
+#: builtin/reset.c:425
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
-#: builtin/reset.c:412
+#: builtin/reset.c:429
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
@@ -19151,6 +19697,55 @@
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
+#: builtin/sparse-checkout.c:20
+msgid "git sparse-checkout (init|list|set|disable) <options>"
+msgstr "git sparse-checkout (init|list|set|disable) <选项>"
+
+#: builtin/sparse-checkout.c:61
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr "本工作区不是稀疏模式(稀疏检出文件可能不存在)"
+
+#: builtin/sparse-checkout.c:220
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "无法设置 extensions.worktreeConfig"
+
+#: builtin/sparse-checkout.c:237
+msgid "git sparse-checkout init [--cone]"
+msgstr "git sparse-checkout init [--cone]"
+
+#: builtin/sparse-checkout.c:256
+msgid "initialize the sparse-checkout in cone mode"
+msgstr "初始化稀疏检出为 cone 模式"
+
+#: builtin/sparse-checkout.c:262
+msgid "initialize sparse-checkout"
+msgstr "初始化稀疏检出"
+
+#: builtin/sparse-checkout.c:295
+#, c-format
+msgid "failed to open '%s'"
+msgstr "无法打开 '%s'"
+
+#: builtin/sparse-checkout.c:361
+msgid "git sparse-checkout set (--stdin | <patterns>)"
+msgstr "git sparse-checkout set (--stdin | <模式>)"
+
+#: builtin/sparse-checkout.c:378
+msgid "read patterns from standard in"
+msgstr "从标准输入读取模式"
+
+#: builtin/sparse-checkout.c:384
+msgid "set sparse-checkout patterns"
+msgstr "设置稀疏检出模式"
+
+#: builtin/sparse-checkout.c:447
+msgid "disable sparse-checkout"
+msgstr "禁用稀疏检出"
+
+#: builtin/sparse-checkout.c:459
+msgid "error while refreshing working directory"
+msgstr "刷新工作目录时出错"
+
 #: builtin/stash.c:22 builtin/stash.c:37
 msgid "git stash list [<options>]"
 msgstr "git stash list [<选项>]"
@@ -19215,7 +19810,7 @@
 msgid "Too many revisions specified:%s"
 msgstr "指定了太多的版本:%s"
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:161 git-legacy-stash.sh:549
 msgid "No stash entries found."
 msgstr "未发现贮藏条目。"
 
@@ -19254,51 +19849,51 @@
 msgid "Merging %s with %s"
 msgstr "正在合并 %s 和 %s"
 
-#: builtin/stash.c:460 git-legacy-stash.sh:680
+#: builtin/stash.c:460 git-legacy-stash.sh:681
 msgid "Index was not unstashed."
 msgstr "索引未从贮藏中恢复。"
 
-#: builtin/stash.c:522 builtin/stash.c:621
+#: builtin/stash.c:521 builtin/stash.c:620
 msgid "attempt to recreate the index"
 msgstr "尝试重建索引"
 
-#: builtin/stash.c:555
+#: builtin/stash.c:554
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "丢弃了 %s(%s)"
 
-#: builtin/stash.c:558
+#: builtin/stash.c:557
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s:无法丢弃贮藏条目"
 
-#: builtin/stash.c:583
+#: builtin/stash.c:582
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' 不是一个贮藏引用"
 
-#: builtin/stash.c:633 git-legacy-stash.sh:694
+#: builtin/stash.c:632 git-legacy-stash.sh:695
 msgid "The stash entry is kept in case you need it again."
 msgstr "贮藏条目被保留以备您再次需要。"
 
-#: builtin/stash.c:656 git-legacy-stash.sh:712
+#: builtin/stash.c:655 git-legacy-stash.sh:713
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: builtin/stash.c:796 builtin/stash.c:833
+#: builtin/stash.c:795 builtin/stash.c:832
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "无法用 %2$s 更新 %1$s"
 
-#: builtin/stash.c:814 builtin/stash.c:1470 builtin/stash.c:1506
+#: builtin/stash.c:813 builtin/stash.c:1470 builtin/stash.c:1506
 msgid "stash message"
 msgstr "贮藏说明"
 
-#: builtin/stash.c:824
+#: builtin/stash.c:823
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" 需要一个 <提交> 参数"
 
-#: builtin/stash.c:1046 git-legacy-stash.sh:217
+#: builtin/stash.c:1045 git-legacy-stash.sh:218
 msgid "No changes selected"
 msgstr "没有选择变更"
 
@@ -19314,16 +19909,16 @@
 msgid "Cannot save the untracked files"
 msgstr "无法保存未跟踪文件"
 
-#: builtin/stash.c:1192 builtin/stash.c:1201 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1192 builtin/stash.c:1201 git-legacy-stash.sh:201
+#: git-legacy-stash.sh:214
 msgid "Cannot save the current worktree state"
 msgstr "无法保存当前工作区状态"
 
-#: builtin/stash.c:1229 git-legacy-stash.sh:233
+#: builtin/stash.c:1229 git-legacy-stash.sh:234
 msgid "Cannot record working tree state"
 msgstr "不能记录工作区状态"
 
-#: builtin/stash.c:1278 git-legacy-stash.sh:337
+#: builtin/stash.c:1278 git-legacy-stash.sh:338
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
 
@@ -19331,15 +19926,15 @@
 msgid "Did you forget to 'git add'?"
 msgstr "您是否忘了执行 'git add'?"
 
-#: builtin/stash.c:1309 git-legacy-stash.sh:345
+#: builtin/stash.c:1309 git-legacy-stash.sh:346
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
 
-#: builtin/stash.c:1316 git-legacy-stash.sh:350
+#: builtin/stash.c:1316 git-legacy-stash.sh:351
 msgid "Cannot initialize stash"
 msgstr "无法初始化贮藏"
 
-#: builtin/stash.c:1331 git-legacy-stash.sh:354
+#: builtin/stash.c:1331 git-legacy-stash.sh:355
 msgid "Cannot save the current status"
 msgstr "无法保存当前状态"
 
@@ -19348,7 +19943,7 @@
 msgid "Saved working directory and index state %s"
 msgstr "保存工作目录和索引状态 %s"
 
-#: builtin/stash.c:1426 git-legacy-stash.sh:384
+#: builtin/stash.c:1426 git-legacy-stash.sh:385
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
@@ -19393,40 +19988,40 @@
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:1970
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote 不带参数"
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1380
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
-#: builtin/submodule--helper.c:651
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "进入 '%s'\n"
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -19435,7 +20030,7 @@
 "对 %s 执行 run_command 返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:547
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -19445,119 +20040,119 @@
 "在递归 %s 的子模组执行 run_command 时返回非零值。\n"
 "."
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr "阻止进入每一个子模组命令的输出"
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1053
 msgid "Recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <命令>"
 
-#: builtin/submodule--helper.c:597
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:669
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)已对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:679
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:686
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:708
+#: builtin/submodule--helper.c:710
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<选项>] [<路径>]"
 
-#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
+#: builtin/submodule--helper.c:787 builtin/submodule--helper.c:914
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:824
+#: builtin/submodule--helper.c:827
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
-#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
+#: builtin/submodule--helper.c:854 builtin/submodule--helper.c:1023
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "递归子模组 '%s' 失败"
 
-#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:878 builtin/submodule--helper.c:1189
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:879
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:877
+#: builtin/submodule--helper.c:880
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:882
+#: builtin/submodule--helper.c:885
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
-#: builtin/submodule--helper.c:906
+#: builtin/submodule--helper.c:909
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:970
+#: builtin/submodule--helper.c:973
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
-#: builtin/submodule--helper.c:976
+#: builtin/submodule--helper.c:979
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
-#: builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:1004
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
-#: builtin/submodule--helper.c:1048
+#: builtin/submodule--helper.c:1051
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1058
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
-#: builtin/submodule--helper.c:1109
+#: builtin/submodule--helper.c:1112
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -19566,87 +20161,103 @@
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1124
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: builtin/submodule--helper.c:1129
+#: builtin/submodule--helper.c:1132
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:1131
+#: builtin/submodule--helper.c:1134
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
-#: builtin/submodule--helper.c:1142
+#: builtin/submodule--helper.c:1145
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
-#: builtin/submodule--helper.c:1158
+#: builtin/submodule--helper.c:1161
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1190
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
-#: builtin/submodule--helper.c:1188
+#: builtin/submodule--helper.c:1191
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1193
+#: builtin/submodule--helper.c:1196
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1210
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
+#: builtin/submodule--helper.c:1275
+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"
+"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
+"'--reference-if-able' instead of '--reference'."
+msgstr ""
+"从一个父项目的备用仓库中计算出的备用仓库无效。\n"
+"此场景下,设置 submodule.alternateErrorStrategy 为 'info',以允许\n"
+"Git 不使用备用仓库克隆,或者等效地使用 '--reference-if-able' 而非\n"
+"'--reference' 来克隆。"
+
+#: builtin/submodule--helper.c:1314 builtin/submodule--helper.c:1317
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:1341
+#: builtin/submodule--helper.c:1353
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1348
+#: builtin/submodule--helper.c:1360
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1383
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1374
+#: builtin/submodule--helper.c:1386
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1389
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1385
+#: builtin/submodule--helper.c:1397
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1400 builtin/submodule--helper.c:1897
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1402 builtin/submodule--helper.c:1899
+msgid "disallow cloning into non-empty directory"
+msgstr "不允许克隆到一个非空目录"
+
+#: builtin/submodule--helper.c:1407
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -19654,142 +20265,152 @@
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:1424
+#: builtin/submodule--helper.c:1431
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr "拒绝在另一个子模组的 git dir 中创建/使用 '%s'"
+
+#: builtin/submodule--helper.c:1442
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1446
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr "目录非空:'%s'"
+
+#: builtin/submodule--helper.c:1458
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:1474
+#: builtin/submodule--helper.c:1494
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "子模组 '%2$s' 的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:1478
+#: builtin/submodule--helper.c:1498
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr "为子模组 '%2$s' 配置的更新模式 '%1$s' 无效"
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:1594
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:1598
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:1628
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:1634
+#: builtin/submodule--helper.c:1657
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:1778
+#: builtin/submodule--helper.c:1803
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:1789
+#: builtin/submodule--helper.c:1814
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:1876 builtin/submodule--helper.c:2120
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1879
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:1883
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:1889
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:1867
+#: builtin/submodule--helper.c:1892
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1894
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:1895
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1877
+#: builtin/submodule--helper.c:1904
 msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update-clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:1917
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1965
 #, 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:2061
+#: builtin/submodule--helper.c:2088
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "无法获得子模组 '%s' 的仓库句柄"
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2121
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:2100
+#: builtin/submodule--helper.c:2127
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<选项>] [<路径>...]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2183
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "检查写入 .gitmodules 文件是否安全"
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2186
 msgid "unset the config in the .gitmodules file"
 msgstr "取消 .gitmodules 文件中的设置"
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2191
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <名称> [<值>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2192
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <名称>"
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2193
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2185 git-submodule.sh:171
+#: builtin/submodule--helper.c:2212 git-submodule.sh:173
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "请确认 .gitmodules 文件在工作区里"
 
-#: builtin/submodule--helper.c:2235 git.c:433 git.c:683
+#: builtin/submodule--helper.c:2262 git.c:433 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2268
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -20042,214 +20663,218 @@
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:501
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "创建目录 %s 失败"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "创建文件 %s 失败"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "删除文件 %s 失败"
 
-#: builtin/update-index.c:114 builtin/update-index.c:220
+#: builtin/update-index.c:115 builtin/update-index.c:221
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "删除目录 %s 失败"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "在 '%s' 中测试 mtime "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr "添加一个新文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr "添加一个新目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr "更新一个文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr "在子目录中添加文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr "删除一个文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr "删除一个目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:984
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:987
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:1009
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:1012
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:1015
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:1018
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr "不要触碰仅索引条目"
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1043
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1045
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1049
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1051
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1053
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
-#: builtin/update-index.c:1061
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1063
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1066
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1169
+#: builtin/update-index.c:1173
 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:1178
+#: builtin/update-index.c:1182
 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:1190
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -20257,11 +20882,11 @@
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1194
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1202
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -20269,25 +20894,25 @@
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1214
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1221
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -20677,16 +21302,21 @@
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: fast-import.c:3118
+#: fast-import.c:3125
 #, c-format
 msgid "Expected 'mark' command, got %s"
 msgstr "预期 'mark' 命令,得到 %s"
 
-#: fast-import.c:3123
+#: fast-import.c:3130
 #, c-format
 msgid "Expected 'to' command, got %s"
 msgstr "预期 'to' 命令,得到 %s"
 
+#: fast-import.c:3254
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr "不带 --allow-unsafe-features 的输入中禁止使用功能 '%s'"
+
 #: credential-cache--daemon.c:223
 #, c-format
 msgid ""
@@ -20820,17 +21450,17 @@
 msgid "close failed on standard output"
 msgstr "标准输出关闭失败"
 
-#: git.c:792
+#: git.c:793
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "检测到别名循环:'%s'的扩展未终止:%s"
 
-#: git.c:842
+#: git.c:843
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "不能作为内置命令处理 %s"
 
-#: git.c:855
+#: git.c:856
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -20839,12 +21469,12 @@
 "用法:%s\n"
 "\n"
 
-#: git.c:875
+#: git.c:876
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
-#: git.c:887
+#: git.c:888
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
@@ -20862,30 +21492,30 @@
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
-#: http.c:878
+#: http.c:876
 msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
 msgstr "不支持 CURLSSLOPT_NO_REVOKE,因为 cURL < 7.44.0"
 
-#: http.c:951
+#: http.c:949
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr "不支持协议限制,因为 cURL < 7.19.4"
 
-#: http.c:1088
+#: http.c:1086
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr "不支持的 SSL 后端 '%s'。支持的 SSL 后端:"
 
-#: http.c:1095
+#: http.c:1093
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr "无法设置 SSL 后端为 '%s':cURL: cURL 没有使用 SSL 后端构建"
 
-#: http.c:1099
+#: http.c:1097
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "无法将 SSL 后端设置为 '%s':已经设置"
 
-#: http.c:1968
+#: http.c:1966
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -21013,30 +21643,39 @@
 msgid "object filtering"
 msgstr "对象过滤"
 
-#: parse-options.h:179
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:193
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:305
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:307
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:313
+#: parse-options.h:317
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
-#: parse-options.h:332
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr "从文件读取路径表达式"
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr "使用 --pathspec-from-file,路径表达式用空字符分隔"
+
 #: ref-filter.h:101
 msgid "key"
 msgstr "key"
@@ -21543,162 +22182,170 @@
 msgstr "常用的 Git shell 脚本设置代码"
 
 #: command-list.h:171
+msgid "Initialize and modify the sparse-checkout"
+msgstr "初始化及修改稀疏检出"
+
+#: command-list.h:172
 msgid "Stash the changes in a dirty working directory away"
 msgstr "贮藏脏工作区中的修改"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到索引"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Subersion 仓库和 Git 之间的双向操作"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Switch branches"
 msgstr "切换分支"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Creates a temporary file with a blob's contents"
 msgstr "用 blob 数据对象的内容创建一个临时文件"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Register file contents in the working tree to the index"
 msgstr "将工作区的文件内容注册到索引"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Update the object name stored in a ref safely"
 msgstr "安全地更新存储于引用中的对象名称"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "将对象压缩包发送回 git-fetch-pack"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Git web 界面(Git 仓库的 web 前端)"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "每一天 Git 的一组有用的最小命令集合"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: command-list.h:208
+#: command-list.h:209
+msgid "Mounting one repository inside another"
+msgstr "将一个仓库安装到另外一个仓库中"
+
+#: command-list.h:210
 msgid "A tutorial introduction to Git: part two"
 msgstr "一个 Git 教程:第二部分"
 
-#: command-list.h:209
+#: command-list.h:211
 msgid "A tutorial introduction to Git"
 msgstr "一个 Git 教程"
 
-#: command-list.h:210
+#: command-list.h:212
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
@@ -21824,113 +22471,113 @@
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-legacy-stash.sh:220
+#: git-legacy-stash.sh:221
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "无法删除临时索引(不应发生)"
 
-#: git-legacy-stash.sh:271
+#: git-legacy-stash.sh:272
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "无法用 $w_commit 更新 $ref_stash"
 
-#: git-legacy-stash.sh:323
+#: git-legacy-stash.sh:324
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "错误:'stash push' 的未知选项:$option"
 
-#: git-legacy-stash.sh:355
+#: git-legacy-stash.sh:356
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "保存工作目录和索引状态 $stash_msg"
 
-#: git-legacy-stash.sh:535
+#: git-legacy-stash.sh:536
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-legacy-stash.sh:555
+#: git-legacy-stash.sh:556
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-legacy-stash.sh:570
+#: git-legacy-stash.sh:571
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-legacy-stash.sh:598
+#: git-legacy-stash.sh:599
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是贮藏式提交"
 
-#: git-legacy-stash.sh:609
+#: git-legacy-stash.sh:610
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个贮藏引用"
 
-#: git-legacy-stash.sh:617
+#: git-legacy-stash.sh:618
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-legacy-stash.sh:621
+#: git-legacy-stash.sh:622
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程应用贮藏"
 
-#: git-legacy-stash.sh:629
+#: git-legacy-stash.sh:630
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-legacy-stash.sh:631
+#: git-legacy-stash.sh:632
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-legacy-stash.sh:640
+#: git-legacy-stash.sh:641
 msgid "Could not restore untracked files from stash entry"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: git-legacy-stash.sh:665
+#: git-legacy-stash.sh:666
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
-#: git-legacy-stash.sh:703
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-legacy-stash.sh:704
+#: git-legacy-stash.sh:705
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:无法丢弃贮藏条目"
 
-#: git-legacy-stash.sh:791
+#: git-legacy-stash.sh:792
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:200
+#: git-submodule.sh:202
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:212
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:229
+#: git-submodule.sh:231
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:234
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:241
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr "'$sm_path' 没有检出的提交"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:247
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -21941,22 +22588,22 @@
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:270
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:270
+#: git-submodule.sh:272
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:280
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:280
+#: git-submodule.sh:282
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -21971,51 +22618,51 @@
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:286
+#: git-submodule.sh:288
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:298
+#: git-submodule.sh:300
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:305
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:314
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:580
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:583
+#: git-submodule.sh:590
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:588
+#: git-submodule.sh:595
 #, 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:606
+#: git-submodule.sh:613
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
 "$sha1:"
 msgstr "无法在子模组路径 '$displaypath' 中获取,尝试直接获取 $sha1:"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:619
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -22023,74 +22670,74 @@
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:619
+#: git-submodule.sh:626
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:620
+#: git-submodule.sh:627
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:631
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:625
+#: git-submodule.sh:632
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:638
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:643
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:637
+#: git-submodule.sh:644
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:675
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:830
+#: git-submodule.sh:886
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:882
+#: git-submodule.sh:938
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:902
+#: git-submodule.sh:958
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:905
+#: git-submodule.sh:961
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:908
+#: git-submodule.sh:964
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
@@ -22463,122 +23110,56 @@
 msgstr "不能确定 git 目录的绝对路径"
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:210
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%12s %12s %s"
 
-#: git-add--interactive.perl:211
-msgid "staged"
-msgstr "缓存"
-
-#: git-add--interactive.perl:211
-msgid "unstaged"
-msgstr "未缓存"
-
-#: git-add--interactive.perl:267 git-add--interactive.perl:292
-msgid "binary"
-msgstr "二进制"
-
-#: git-add--interactive.perl:276 git-add--interactive.perl:330
-msgid "nothing"
-msgstr "无"
-
-#: git-add--interactive.perl:312 git-add--interactive.perl:327
-msgid "unchanged"
-msgstr "没有修改"
-
-#: git-add--interactive.perl:623
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] "增加了 %d 个路径\n"
-msgstr[1] "增加了 %d 个路径\n"
-
-#: git-add--interactive.perl:626
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] "更新了 %d 个路径\n"
-msgstr[1] "更新了 %d 个路径\n"
-
-#: git-add--interactive.perl:629
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] "还原了 %d 个路径\n"
-msgstr[1] "还原了 %d 个路径\n"
-
-#: git-add--interactive.perl:632
+#: git-add--interactive.perl:634
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "触碰了 %d 个路径\n"
 msgstr[1] "触碰了 %d 个路径\n"
 
-#: git-add--interactive.perl:641
-msgid "Update"
-msgstr "更新"
-
-#: git-add--interactive.perl:653
-msgid "Revert"
-msgstr "还原"
-
-#: git-add--interactive.perl:676
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "说明:%s 现已成为未跟踪的。\n"
-
-#: git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr "添加未跟踪的"
-
-#: git-add--interactive.perl:693
-msgid "No untracked files.\n"
-msgstr "没有未跟踪的文件。\n"
-
-#: git-add--interactive.perl:1051
+#: git-add--interactive.perl:1053
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为暂存。"
 
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1056
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为贮藏。"
 
-#: git-add--interactive.perl:1057
+#: git-add--interactive.perl:1059
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为未暂存。"
 
-#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
-#: git-add--interactive.perl:1075
+#: git-add--interactive.perl:1062 git-add--interactive.perl:1071
+#: git-add--interactive.perl:1077
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为应用。"
 
-#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
-#: git-add--interactive.perl:1072
+#: git-add--interactive.perl:1065 git-add--interactive.perl:1068
+#: git-add--interactive.perl:1074
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为丢弃。"
 
-#: git-add--interactive.perl:1109
+#: git-add--interactive.perl:1111
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "为写入打开块编辑文件失败:%s"
 
-#: git-add--interactive.perl:1110
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
-
-#: git-add--interactive.perl:1116
+#: git-add--interactive.perl:1118
 #, perl-format
 msgid ""
 "---\n"
@@ -22591,33 +23172,12 @@
 "要删除 '%s' 开始的行,删除它们。\n"
 "以 %s 开始的行将被删除。\n"
 
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1124
-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"
-"aborted and the hunk is left unchanged.\n"
-msgstr ""
-"如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n"
-"此次编辑被终止,该块不会被修改。\n"
-
-#: git-add--interactive.perl:1138
+#: git-add--interactive.perl:1140
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "无法读取块编辑文件:%s"
 
-#. TRANSLATORS: do not translate [y/n]
-#. The program will only accept that input
-#. at this point.
-#. Consider translating (saying "no" discards!) as
-#. (saying "n" for "no" discards!) if the translation
-#. of the word "no" does not start with n.
-#: git-add--interactive.perl:1237
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? "
-
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1248
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -22631,7 +23191,7 @@
 "a - 暂存该块和本文件中后面的全部块\n"
 "d - 不暂存该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1254
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -22645,7 +23205,7 @@
 "a - 贮藏该块和本文件中后面的全部块\n"
 "d - 不贮藏该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1260
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -22659,7 +23219,7 @@
 "a - 不暂存该块和本文件中后面的全部块\n"
 "d - 不要不暂存该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1264
+#: git-add--interactive.perl:1266
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -22673,7 +23233,7 @@
 "a - 应用该块和本文件中后面的全部块\n"
 "d - 不要应用该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
+#: git-add--interactive.perl:1272 git-add--interactive.perl:1290
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -22687,7 +23247,7 @@
 "a - 丢弃该块和本文件中后面的全部块\n"
 "d - 不要丢弃该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1278
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -22701,7 +23261,7 @@
 "a - 丢弃该块和本文件中后面的全部块\n"
 "d - 不要丢弃该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1282
+#: git-add--interactive.perl:1284
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -22715,7 +23275,7 @@
 "a - 应用该块和本文件中后面的全部块\n"
 "d - 不要应用该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1294
+#: git-add--interactive.perl:1296
 msgid ""
 "y - apply this hunk to worktree\n"
 "n - do not apply this hunk to worktree\n"
@@ -22729,7 +23289,7 @@
 "a - 应用该块和本文件中后面的全部块\n"
 "d - 不要应用该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1309
+#: git-add--interactive.perl:1311
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -22751,226 +23311,198 @@
 "e - 手动编辑当前块\n"
 "? - 显示帮助\n"
 
-#: git-add--interactive.perl:1340
+#: git-add--interactive.perl:1342
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "选中的块不能应用到索引!\n"
 
-#: git-add--interactive.perl:1341
+#: git-add--interactive.perl:1343
 msgid "Apply them to the worktree anyway? "
 msgstr "无论如何都要应用到工作区么?"
 
-#: git-add--interactive.perl:1344
+#: git-add--interactive.perl:1346
 msgid "Nothing was applied.\n"
 msgstr "未应用。\n"
 
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1357
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "忽略未合入的:%s\n"
 
-#: git-add--interactive.perl:1364
-msgid "Only binary files changed.\n"
-msgstr "只有二进制文件被修改。\n"
-
-#: git-add--interactive.perl:1366
-msgid "No changes.\n"
-msgstr "没有修改。\n"
-
-#: git-add--interactive.perl:1374
-msgid "Patch update"
-msgstr "补丁更新"
-
-#: git-add--interactive.perl:1426
+#: git-add--interactive.perl:1428
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr "暂存模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1427
+#: git-add--interactive.perl:1429
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr "暂存删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1428
+#: git-add--interactive.perl:1430
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
 msgstr "暂存该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1431
+#: git-add--interactive.perl:1433
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr "贮藏模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1432
+#: git-add--interactive.perl:1434
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr "贮藏删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1433
+#: git-add--interactive.perl:1435
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
 msgstr "贮藏该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1436
+#: git-add--interactive.perl:1438
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr "取消暂存模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1437
+#: git-add--interactive.perl:1439
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr "取消暂存删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1438
+#: git-add--interactive.perl:1440
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
 msgstr "取消暂存该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1441
+#: git-add--interactive.perl:1443
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr "将模式变更应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1442
+#: git-add--interactive.perl:1444
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr "将删除操作应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1443
+#: git-add--interactive.perl:1445
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
 msgstr "将该块应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1446 git-add--interactive.perl:1461
+#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1447 git-add--interactive.perl:1462
+#: git-add--interactive.perl:1449 git-add--interactive.perl:1464
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
+#: git-add--interactive.perl:1450 git-add--interactive.perl:1465
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1451
+#: git-add--interactive.perl:1453
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1452
+#: git-add--interactive.perl:1454
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃删除 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1453
+#: git-add--interactive.perl:1455
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1456
+#: git-add--interactive.perl:1458
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将模式变更应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1457
+#: git-add--interactive.perl:1459
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将删除操作应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1458
+#: git-add--interactive.perl:1460
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将该块应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1466
+#: git-add--interactive.perl:1468
 #, perl-format
 msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
 msgstr "将模式变更应用到工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1467
+#: git-add--interactive.perl:1469
 #, perl-format
 msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
 msgstr "将删除操作应用到工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1468
+#: git-add--interactive.perl:1470
 #, perl-format
 msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
 msgstr "将该块应用到工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1570
 msgid "No other hunks to goto\n"
 msgstr "没有其它可供跳转的块\n"
 
-#: git-add--interactive.perl:1575
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "跳转到哪个块(<回车> 查看更多)? "
-
-#: git-add--interactive.perl:1577
-msgid "go to which hunk? "
-msgstr "跳转到哪个块?"
-
-#: git-add--interactive.perl:1586
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "无效数字:'%s'\n"
 
-#: git-add--interactive.perl:1591
+#: git-add--interactive.perl:1593
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "对不起,只有 %d 个可用块。\n"
 msgstr[1] "对不起,只有 %d 个可用块。\n"
 
-#: git-add--interactive.perl:1617
+#: git-add--interactive.perl:1619
 msgid "No other hunks to search\n"
 msgstr "没有其它可供查找的块\n"
 
-#: git-add--interactive.perl:1621
-msgid "search for regex? "
-msgstr "使用正则表达式搜索?"
-
-#: git-add--interactive.perl:1634
+#: git-add--interactive.perl:1636
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "错误的正则表达式 %s:%s\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1646
 msgid "No hunk matches the given pattern\n"
-msgstr "没有和给定模式相匹配的快\n"
+msgstr "没有和给定模式相匹配的块\n"
 
-#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
+#: git-add--interactive.perl:1658 git-add--interactive.perl:1680
 msgid "No previous hunk\n"
 msgstr "没有前一个块\n"
 
-#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
+#: git-add--interactive.perl:1667 git-add--interactive.perl:1686
 msgid "No next hunk\n"
 msgstr "没有下一个块\n"
 
-#: git-add--interactive.perl:1690
+#: git-add--interactive.perl:1692
 msgid "Sorry, cannot split this hunk\n"
 msgstr "对不起,不能拆分这个块\n"
 
-#: git-add--interactive.perl:1696
+#: git-add--interactive.perl:1698
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "拆分为 %d 块。\n"
 msgstr[1] "拆分为 %d 块。\n"
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1708
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "对不起,不能编辑这个块\n"
 
-#: git-add--interactive.perl:1752
-msgid "Review diff"
-msgstr "检视 diff"
-
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1771
+#: git-add--interactive.perl:1773
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -22987,19 +23519,19 @@
 "diff          - 显示 HEAD 和索引间差异\n"
 "add untracked - 添加未跟踪文件的内容至暂存列表\n"
 
-#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
-#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
-#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
-#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
+#: git-add--interactive.perl:1790 git-add--interactive.perl:1795
+#: git-add--interactive.perl:1798 git-add--interactive.perl:1805
+#: git-add--interactive.perl:1808 git-add--interactive.perl:1815
+#: git-add--interactive.perl:1819 git-add--interactive.perl:1825
 msgid "missing --"
 msgstr "缺失 --"
 
-#: git-add--interactive.perl:1819
+#: git-add--interactive.perl:1821
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "未知的 --patch 模式:%s"
 
-#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
+#: git-add--interactive.perl:1827 git-add--interactive.perl:1833
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "无效的参数 %s,期望是 --"