l10n: zh_CN: for git v2.20.0 l10n round 1 to 3
authorJiang Xin <worldhello.net@gmail.com>
Tue, 20 Nov 2018 02:18:06 +0000 (10:18 +0800)
committerJiang Xin <worldhello.net@gmail.com>
Thu, 6 Dec 2018 08:00:29 +0000 (16:00 +0800)
Translate 257 new messages (4187t0f0u) for git 2.20.0.

Reviewed-by: Zhou Fangyi <fangyi.zhou@yuriko.moe>
Reviewed-by: 依云 <lilydjwg@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
po/zh_CN.po
index eabd4d1f8e398fee7fbccd54e2677d5b72ae5039..912083e9ede18c0f31122fdd52dfa6c113747a6d 100644 (file)
@@ -138,8 +138,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2018-09-04 08:50+0800\n"
-"PO-Revision-Date: 2018-09-09 21:07+0800\n"
+"POT-Creation-Date: 2018-12-02 10:55+0800\n"
+"PO-Revision-Date: 2018-12-03 18:08+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -148,37 +148,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: advice.c:97
+#: advice.c:99
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%s提示:%.*s%s\n"
 
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%s提示:%.*s%s\n"
 
-#: advice.c:150
+#: advice.c:152
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:152
+#: advice.c:154
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:154
+#: advice.c:156
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:156
+#: advice.c:158
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:158
+#: advice.c:160
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:160
+#: advice.c:162
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:168
+#: advice.c:170
 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."
 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."
@@ -186,23 +186,23 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:176
+#: advice.c:178
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:181 builtin/merge.c:1286
+#: advice.c:183 builtin/merge.c:1289
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:183
+#: advice.c:185
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:184
+#: advice.c:186
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:190
+#: advice.c:192
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -299,22 +299,22 @@ msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
-#: apply.c:1306
+#: apply.c:1307
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
-#: apply.c:1478
+#: apply.c:1479
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1547
+#: apply.c:1548
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: apply.c:1567
+#: apply.c:1568
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -325,82 +325,82 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1580
+#: apply.c:1581
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1768
+#: apply.c:1769
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1770
+#: apply.c:1771
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1804
+#: apply.c:1805
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1841
+#: apply.c:1842
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: apply.c:1843
+#: apply.c:1844
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1846
+#: apply.c:1847
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: apply.c:1993
+#: apply.c:1994
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: apply.c:2030
+#: apply.c:2031
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2190
+#: apply.c:2193
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2276
+#: apply.c:2279
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2280
+#: apply.c:2283
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2939
+#: apply.c:2942
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3060
+#: apply.c:3063
 #, 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 行)"
 
 #, 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:3072
+#: apply.c:3075
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3078
+#: apply.c:3081
 #, c-format
 msgid ""
 "while searching for:\n"
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -409,444 +409,445 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3100
+#: apply.c:3103
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3108
+#: apply.c:3111
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3154
+#: apply.c:3158
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3164
+#: apply.c:3168
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
-#: apply.c:3172
+#: apply.c:3176
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3190
+#: apply.c:3194
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必需的目标文件 %1$s"
 
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必需的目标文件 %1$s"
 
-#: apply.c:3203
+#: apply.c:3207
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3209
+#: apply.c:3213
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3230
+#: apply.c:3234
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3352
+#: apply.c:3356
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3404 apply.c:3415 apply.c:3461 setup.c:278
+#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3412
+#: apply.c:3416
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3441 apply.c:3681
+#: apply.c:3445 apply.c:3688
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3524 apply.c:3696
+#: apply.c:3531 apply.c:3703
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3533 apply.c:3704
+#: apply.c:3540 apply.c:3711
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3568
+#: apply.c:3575
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: apply.c:3571
+#: apply.c:3578
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
-#: apply.c:3587 apply.c:3591
+#: apply.c:3594 apply.c:3598
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3603
+#: apply.c:3610
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
-#: apply.c:3617
+#: apply.c:3624
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3622
+#: apply.c:3629
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3648
+#: apply.c:3655
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3721
+#: apply.c:3728
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3723
+#: apply.c:3730
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3874 apply.c:3876
+#: apply.c:3881 apply.c:3883
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3932
+#: apply.c:3939
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3935
+#: apply.c:3942
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3955
+#: apply.c:3962
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:3960
+#: apply.c:3967
 #, 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)不匹配"
 
 #, 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:3980
+#: apply.c:3987
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:3984
+#: apply.c:3991
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:3999
+#: apply.c:4006
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: apply.c:4091
+#: apply.c:4098
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4098
+#: apply.c:4105
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式变更,但它不在当前 HEAD 中"
 
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式变更,但它不在当前 HEAD 中"
 
-#: apply.c:4101
+#: apply.c:4108
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4106 builtin/checkout.c:237 builtin/reset.c:140
+#: apply.c:4113 builtin/checkout.c:244 builtin/reset.c:142
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: apply.c:4110
+#: apply.c:4117
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4120
+#: apply.c:4127
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4258
+#: apply.c:4265
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4292
+#: apply.c:4299
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4298
+#: apply.c:4305
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
-#: apply.c:4306
+#: apply.c:4313
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4312 apply.c:4457
+#: apply.c:4319 apply.c:4464
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4355
+#: apply.c:4362
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
-#: apply.c:4359
+#: apply.c:4366
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4429
+#: apply.c:4436
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4527
+#: apply.c:4534
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4535
+#: apply.c:4542
 msgid "internal error"
 msgstr "内部错误"
 
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4538
+#: apply.c:4545
 #, 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 个被拒绝..."
 
 #, 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:4549
+#: apply.c:4556
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4557 builtin/fetch.c:780 builtin/fetch.c:1048
+#: apply.c:4564 builtin/fetch.c:843 builtin/fetch.c:1122
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4571
+#: apply.c:4578
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4575
+#: apply.c:4582
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4685
+#: apply.c:4692
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4693
+#: apply.c:4700
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4712
+#: apply.c:4719
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4849
+#: apply.c:4874
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4876
+#: apply.c:4901
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4882 apply.c:4897
+#: apply.c:4907 apply.c:4922
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
-#: apply.c:4890
+#: apply.c:4915
 #, 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 行。"
 
 #, 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:4906 builtin/add.c:539 builtin/mv.c:300 builtin/rm.c:389
+#: apply.c:4931 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4933 apply.c:4936 builtin/am.c:2254 builtin/am.c:2257
-#: builtin/clone.c:121 builtin/fetch.c:115 builtin/merge.c:260
-#: builtin/pull.c:198 builtin/submodule--helper.c:406
-#: builtin/submodule--helper.c:1355 builtin/submodule--helper.c:1358
-#: builtin/submodule--helper.c:1729 builtin/submodule--helper.c:1732
-#: builtin/submodule--helper.c:1952 git-add--interactive.perl:197
+#: apply.c:4958 apply.c:4961 builtin/am.c:2209 builtin/am.c:2212
+#: builtin/clone.c:121 builtin/fetch.c:118 builtin/merge.c:262
+#: builtin/pull.c:199 builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:1362 builtin/submodule--helper.c:1365
+#: builtin/submodule--helper.c:1846 builtin/submodule--helper.c:1849
+#: builtin/submodule--helper.c:2088 git-add--interactive.perl:197
 msgid "path"
 msgstr "路径"
 
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4934
+#: apply.c:4959
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4937
+#: apply.c:4962
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4939 builtin/am.c:2263
+#: apply.c:4964 builtin/am.c:2218
 msgid "num"
 msgstr "数字"
 
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4940
+#: apply.c:4965
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4943
+#: apply.c:4968
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4945
+#: apply.c:4970
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:4949
+#: apply.c:4974
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:4951
+#: apply.c:4976
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:4953
+#: apply.c:4978
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:4955
+#: apply.c:4980
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:4957
+#: apply.c:4982
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
-#: apply.c:4959
+#: apply.c:4984
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4961
+#: apply.c:4986
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4964
+#: apply.c:4989
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:4966
+#: apply.c:4991
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: apply.c:4968
+#: apply.c:4993
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4971 builtin/checkout-index.c:168 builtin/ls-files.c:516
+#: apply.c:4996 builtin/checkout-index.c:170 builtin/ls-files.c:523
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4973
+#: apply.c:4998
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4974 builtin/am.c:2242 builtin/interpret-trailers.c:95
-#: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
-#: builtin/pack-objects.c:3202
+#: apply.c:4999 builtin/am.c:2197 builtin/interpret-trailers.c:97
+#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
+#: builtin/pack-objects.c:3312 builtin/rebase.c:857
 msgid "action"
 msgstr "动作"
 
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4975
+#: apply.c:5000
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:4978 apply.c:4981
+#: apply.c:5003 apply.c:5006
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:4984
+#: apply.c:5009
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:4986
+#: apply.c:5011
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:4988
+#: apply.c:5013
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:4990
+#: apply.c:5015
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:4991 builtin/add.c:290 builtin/check-ignore.c:21
-#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:671
-#: builtin/log.c:1914 builtin/mv.c:122 builtin/read-tree.c:124
+#: apply.c:5016 builtin/add.c:290 builtin/check-ignore.c:21
+#: builtin/commit.c:1309 builtin/count-objects.c:98 builtin/fsck.c:698
+#: builtin/log.c:2023 builtin/mv.c:122 builtin/read-tree.c:127
+#: builtin/rebase--interactive.c:157
 msgid "be verbose"
 msgstr "冗长输出"
 
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:4993
+#: apply.c:5018
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:4996
+#: apply.c:5021
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:4998 builtin/am.c:2251
+#: apply.c:5023 builtin/am.c:2206
 msgid "root"
 msgstr "根目录"
 
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:4999
+#: apply.c:5024
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -868,114 +869,114 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:363 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:298
+#: archive.c:370 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
 
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
 
-#: archive.c:446
+#: archive.c:453
 msgid "fmt"
 msgstr "格式"
 
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:446
+#: archive.c:453
 msgid "archive format"
 msgstr "归档格式"
 
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:447 builtin/log.c:1473
+#: archive.c:454 builtin/log.c:1536
 msgid "prefix"
 msgstr "前缀"
 
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:448
+#: archive.c:455
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:449 builtin/blame.c:816 builtin/blame.c:817 builtin/config.c:126
-#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:873
-#: builtin/hash-object.c:104 builtin/ls-files.c:552 builtin/ls-files.c:555
-#: builtin/notes.c:407 builtin/notes.c:570 builtin/read-tree.c:119
-#: parse-options.h:165
+#: archive.c:456 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
+#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:884
+#: builtin/hash-object.c:104 builtin/ls-files.c:559 builtin/ls-files.c:562
+#: builtin/notes.c:412 builtin/notes.c:575 builtin/read-tree.c:122
+#: parse-options.h:162
 msgid "file"
 msgstr "文件"
 
 msgid "file"
 msgstr "文件"
 
-#: archive.c:450 builtin/archive.c:89
+#: archive.c:457 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:452
+#: archive.c:459
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:453
+#: archive.c:460
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:454
+#: archive.c:461
 msgid "store only"
 msgstr "只存储"
 
 msgid "store only"
 msgstr "只存储"
 
-#: archive.c:455
+#: archive.c:462
 msgid "compress faster"
 msgstr "压缩速度更快"
 
 msgid "compress faster"
 msgstr "压缩速度更快"
 
-#: archive.c:463
+#: archive.c:470
 msgid "compress better"
 msgstr "压缩效果更好"
 
 msgid "compress better"
 msgstr "压缩效果更好"
 
-#: archive.c:466
+#: archive.c:473
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:468 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114
-#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1738
+#: archive.c:475 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114
+#: builtin/submodule--helper.c:1374 builtin/submodule--helper.c:1855
 msgid "repo"
 msgstr "仓库"
 
 msgid "repo"
 msgstr "仓库"
 
-#: archive.c:469 builtin/archive.c:91
+#: archive.c:476 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:470 builtin/archive.c:92 builtin/difftool.c:714
-#: builtin/notes.c:491
+#: archive.c:477 builtin/archive.c:92 builtin/difftool.c:714
+#: builtin/notes.c:496
 msgid "command"
 msgstr "命令"
 
 msgid "command"
 msgstr "命令"
 
-#: archive.c:471 builtin/archive.c:93
+#: archive.c:478 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
-#: archive.c:478
+#: archive.c:485
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
-#: archive.c:480
+#: archive.c:487
 msgid "Option --exec can only be used together with --remote"
 msgstr "选项 --exec 只能和 --remote 同时使用"
 
 msgid "Option --exec can only be used together with --remote"
 msgstr "选项 --exec 只能和 --remote 同时使用"
 
-#: archive.c:482
+#: archive.c:489
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
-#: archive.c:504
+#: archive.c:511
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
-#: archive.c:511
+#: archive.c:518
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
 
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
 
-#: archive-tar.c:125 archive-zip.c:344
+#: archive-tar.c:125 archive-zip.c:345
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "不能打开数据对象 %s"
 
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "不能打开数据对象 %s"
 
-#: archive-tar.c:260 archive-zip.c:361
+#: archive-tar.c:260 archive-zip.c:363
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "不支持的文件模式:0%o (SHA1: %s)"
 
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "不支持的文件模式:0%o (SHA1: %s)"
 
-#: archive-tar.c:287 archive-zip.c:352
+#: archive-tar.c:287 archive-zip.c:353
 #, c-format
 msgid "cannot read %s"
 msgstr "不能读取 %s"
 #, c-format
 msgid "cannot read %s"
 msgstr "不能读取 %s"
@@ -994,32 +995,32 @@ msgstr "无法重定向描述符"
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
 
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
 
-#: archive-zip.c:313
+#: archive-zip.c:314
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "路径不是有效的 UTF-8:%s"
 
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "路径不是有效的 UTF-8:%s"
 
-#: archive-zip.c:317
+#: archive-zip.c:318
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
-#: archive-zip.c:470 builtin/pack-objects.c:216 builtin/pack-objects.c:219
+#: archive-zip.c:474 builtin/pack-objects.c:224 builtin/pack-objects.c:227
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: archive-zip.c:605
+#: archive-zip.c:609
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "对于本系统时间戳太大:%<PRIuMAX>"
 
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "对于本系统时间戳太大:%<PRIuMAX>"
 
-#: attr.c:218
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s 不是一个有效的属性名"
 
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s 不是一个有效的属性名"
 
-#: attr.c:415
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1027,22 +1028,22 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: bisect.c:467
+#: bisect.c:468
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "文件 '%s' 包含错误的引用格式:%s"
 
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "文件 '%s' 包含错误的引用格式:%s"
 
-#: bisect.c:675
+#: bisect.c:676
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
-#: bisect.c:729
+#: bisect.c:730
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
-#: bisect.c:753
+#: bisect.c:754
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1051,7 +1052,7 @@ msgstr ""
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: bisect.c:758
+#: bisect.c:759
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1060,7 +1061,7 @@ msgstr ""
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: bisect.c:763
+#: bisect.c:764
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1069,7 +1070,7 @@ msgstr ""
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: bisect.c:771
+#: bisect.c:772
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1080,7 +1081,7 @@ msgstr ""
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
-#: bisect.c:784
+#: bisect.c:785
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1091,36 +1092,36 @@ msgstr ""
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
-#: bisect.c:817
+#: bisect.c:818
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "二分查找中:合并基线必须是经过测试的\n"
 
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "二分查找中:合并基线必须是经过测试的\n"
 
-#: bisect.c:857
+#: bisect.c:858
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:876 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:877 builtin/notes.c:177 builtin/tag.c:237
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: bisect.c:927 builtin/merge.c:137
+#: bisect.c:928 builtin/merge.c:138
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:957
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:976
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
-#: bisect.c:984
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1129,7 +1130,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:1003
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1139,44 +1140,44 @@ msgstr[1] "(大概 %d 步)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1009
+#: bisect.c:1010
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
-#: blame.c:1784
+#: blame.c:1787
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:1798
+#: blame.c:1801
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:1819
+#: blame.c:1822
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:1828 bundle.c:162 ref-filter.c:2154 sequencer.c:1874
-#: sequencer.c:3772 builtin/commit.c:994 builtin/log.c:372 builtin/log.c:926
-#: builtin/log.c:1381 builtin/log.c:1713 builtin/log.c:1963 builtin/merge.c:404
-#: builtin/pack-objects.c:3029 builtin/pack-objects.c:3044
+#: blame.c:1831 bundle.c:162 ref-filter.c:2046 sequencer.c:1963
+#: sequencer.c:4002 builtin/commit.c:1001 builtin/log.c:377 builtin/log.c:932
+#: builtin/log.c:1407 builtin/log.c:1783 builtin/log.c:2072 builtin/merge.c:406
+#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:1846
+#: blame.c:1849
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
-#: blame.c:1857
+#: blame.c:1860
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: blame.c:1868
+#: blame.c:1871
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "不能为路径 %2$s 读取数据对象 %1$s"
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "不能为路径 %2$s 读取数据对象 %1$s"
@@ -1324,7 +1325,8 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:90 sequencer.c:2092 sequencer.c:2578 builtin/commit.c:768
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2182 sequencer.c:2722
+#: builtin/commit.c:774
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1351,38 +1353,42 @@ msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
-#: bundle.c:260
+#: bundle.c:267
+msgid "unable to dup bundle descriptor"
+msgstr "无法复制 bundle 描述符"
+
+#: bundle.c:274
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
-#: bundle.c:271
+#: bundle.c:285
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
-#: bundle.c:313
+#: bundle.c:327
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:362
+#: bundle.c:376
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:453 builtin/log.c:187 builtin/log.c:1618 builtin/shortlog.c:304
+#: bundle.c:456 builtin/log.c:192 builtin/log.c:1688 builtin/shortlog.c:304
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
-#: bundle.c:461
+#: bundle.c:464
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:473
+#: bundle.c:474
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:501
+#: bundle.c:498
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
@@ -1391,19 +1397,19 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:48 sequencer.c:2384 builtin/am.c:422 builtin/am.c:466
-#: builtin/am.c:1438 builtin/am.c:2072 builtin/replace.c:376
+#: commit.c:50 sequencer.c:2528 builtin/am.c:370 builtin/am.c:414
+#: builtin/am.c:1390 builtin/am.c:2025 builtin/replace.c:376
 #: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 
 #: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 
-#: commit.c:50
+#: commit.c:52
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
-#: commit.c:191
+#: commit.c:193
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1423,7 +1429,27 @@ msgstr ""
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1629
+#: commit.c:1115
+#, c-format
+msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
+msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
+
+#: commit.c:1118
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
+msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
+
+#: commit.c:1121
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "提交 %s 没有 GPG 签名。"
+
+#: commit.c:1124
+#, c-format
+msgid "Commit %s has a good GPG signature by %s\n"
+msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
+
+#: commit.c:1378
 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"
 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"
@@ -1433,73 +1459,89 @@ msgstr ""
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
-#: commit-graph.c:83
+#: commit-graph.c:108
 #, c-format
 msgid "graph file %s is too small"
 msgstr "图形文件 %s 太小"
 
 #, c-format
 msgid "graph file %s is too small"
 msgstr "图形文件 %s 太小"
 
-#: commit-graph.c:90
+#: commit-graph.c:115
 #, c-format
 msgid "graph signature %X does not match signature %X"
 msgstr "图形签名 %X 和签名 %X 不匹配"
 
 #, c-format
 msgid "graph signature %X does not match signature %X"
 msgstr "图形签名 %X 和签名 %X 不匹配"
 
-#: commit-graph.c:97
+#: commit-graph.c:122
 #, c-format
 msgid "graph version %X does not match version %X"
 msgstr "图形版本 %X 和版本 %X 不匹配"
 
 #, c-format
 msgid "graph version %X does not match version %X"
 msgstr "图形版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:104
+#: commit-graph.c:129
 #, c-format
 msgid "hash version %X does not match version %X"
 msgstr "散列版本 %X 和版本 %X 不匹配"
 
 #, c-format
 msgid "hash version %X does not match version %X"
 msgstr "散列版本 %X 和版本 %X 不匹配"
 
-#: commit-graph.c:128
+#: commit-graph.c:153
 #, c-format
 msgid "improper chunk offset %08x%08x"
 msgstr "不正确的块偏移 %08x%08x"
 
 #, c-format
 msgid "improper chunk offset %08x%08x"
 msgstr "不正确的块偏移 %08x%08x"
 
-#: commit-graph.c:164
+#: commit-graph.c:189
 #, c-format
 msgid "chunk id %08x appears multiple times"
 msgstr "块 id %08x 出现了多次"
 
 #, c-format
 msgid "chunk id %08x appears multiple times"
 msgstr "块 id %08x 出现了多次"
 
-#: commit-graph.c:261
+#: commit-graph.c:308
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
-#: commit-graph.c:565 builtin/pack-objects.c:2568
+#: commit-graph.c:617 builtin/pack-objects.c:2652
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
-#: commit-graph.c:730
+#: commit-graph.c:651
+msgid "Annotating commits in commit graph"
+msgstr "正在注解提交图中的提交"
+
+#: commit-graph.c:691
+msgid "Computing commit graph generation numbers"
+msgstr "正在计算提交图世代数字"
+
+#: commit-graph.c:803 commit-graph.c:826 commit-graph.c:852
+msgid "Finding commits for commit graph"
+msgstr "正在查找提交图的提交"
+
+#: commit-graph.c:812
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
-#: commit-graph.c:732
+#: commit-graph.c:814
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
-#: commit-graph.c:773
+#: commit-graph.c:868
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 #, c-format
 msgid "the commit graph format cannot write %d commits"
-msgstr "提交图格式不能写入 %d 个提交"
+msgstr "提交图格式不能写入 %d 个提交"
 
 
-#: commit-graph.c:800
+#: commit-graph.c:895
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
-#: commit-graph.c:806
+#: commit-graph.c:902 midx.c:769
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
-#: commit-graph.c:904
+#: commit-graph.c:1002
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
-msgstr "提交图形文件的校验码错误,可能已经损坏"
+msgstr "提交图文件的校验码错误,可能已经损坏"
+
+#: commit-graph.c:1046
+msgid "Verifying commits in commit graph"
+msgstr "校验提交图中的提交"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
@@ -1543,7 +1585,7 @@ msgstr "键名没有包含一个小节名称:%s"
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
-#: config.c:378 sequencer.c:2206
+#: config.c:378 sequencer.c:2296
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
@@ -1665,149 +1707,149 @@ msgstr "core.commentChar 应该是一个字符"
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1403
+#: config.c:1395
 #, c-format
 msgid "malformed value for %s"
 msgstr "%s 的取值格式错误"
 
 #, c-format
 msgid "malformed value for %s"
 msgstr "%s 的取值格式错误"
 
-#: config.c:1429
+#: config.c:1421
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "%s 的取值格式错误:%s"
 
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "%s 的取值格式错误:%s"
 
-#: config.c:1430
+#: config.c:1422
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
-#: config.c:1489 builtin/pack-objects.c:3279
+#: config.c:1481 builtin/pack-objects.c:3391
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1610
+#: config.c:1602
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
-#: config.c:1613
+#: config.c:1605
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
-#: config.c:1630
+#: config.c:1622
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
-#: config.c:1660
+#: config.c:1652
 #, c-format
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
 #, c-format
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
-#: config.c:1700
+#: config.c:1705
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2032
+#: config.c:2037
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2202
+#: config.c:2207
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2245
+#: config.c:2250
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr "未知的 core.untrackedCache 取值 '%s',使用默认值 'keep'"
 
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr "未知的 core.untrackedCache 取值 '%s',使用默认值 'keep'"
 
-#: config.c:2271
+#: config.c:2276
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2296
+#: config.c:2322
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2298
+#: config.c:2324
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2379
+#: config.c:2405
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
-#: config.c:2411
+#: config.c:2437
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2440
+#: config.c:2466
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
-#: config.c:2691 config.c:3015
+#: config.c:2717 config.c:3041
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
-#: config.c:2702
+#: config.c:2728
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
-#: config.c:2737 builtin/config.c:324
+#: config.c:2763 builtin/config.c:327
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
-#: config.c:2762
+#: config.c:2788
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
-#: config.c:2775 config.c:3028
+#: config.c:2801 config.c:3054
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2786
+#: config.c:2812
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
-#: config.c:2795 config.c:3033
+#: config.c:2821 config.c:3059
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
-#: config.c:2880 config.c:3130
+#: config.c:2906 config.c:3156
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
-#: config.c:2914
+#: config.c:2940
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2916 builtin/remote.c:781
+#: config.c:2942 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: config.c:3006
+#: config.c:3032
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
-#: config.c:3173
+#: config.c:3199
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
@@ -1859,7 +1901,7 @@ msgstr "协议错误:预期浅克隆 sha-1,却得到 '%s'"
 msgid "repository on the other end cannot be shallow"
 msgstr "另一端的仓库不能是浅克隆仓库"
 
 msgid "repository on the other end cannot be shallow"
 msgstr "另一端的仓库不能是浅克隆仓库"
 
-#: connect.c:310 fetch-pack.c:183 builtin/archive.c:63
+#: connect.c:310 fetch-pack.c:182 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
@@ -1975,7 +2017,7 @@ msgstr "已阻止奇怪的路径名 '%s'"
 msgid "unable to fork"
 msgstr "无法 fork"
 
 msgid "unable to fork"
 msgstr "无法 fork"
 
-#: connected.c:68 builtin/fsck.c:203 builtin/prune.c:146
+#: connected.c:68 builtin/fsck.c:202 builtin/prune.c:147
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
@@ -2104,12 +2146,12 @@ msgstr "外部过滤器 '%s' 不再可用,但并非所有路径都已过滤"
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false 不是有效的工作区编码"
 
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false 不是有效的工作区编码"
 
-#: convert.c:1402 convert.c:1436
+#: convert.c:1398 convert.c:1432
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s:clean 过滤器 '%s' 失败"
 
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s:clean 过滤器 '%s' 失败"
 
-#: convert.c:1480
+#: convert.c:1476
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s:smudge 过滤器 %s 失败"
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s:smudge 过滤器 %s 失败"
@@ -2182,12 +2224,36 @@ msgid_plural "%<PRIuMAX> years ago"
 msgstr[0] "%<PRIuMAX> 年前"
 msgstr[1] "%<PRIuMAX> 年前"
 
 msgstr[0] "%<PRIuMAX> 年前"
 msgstr[1] "%<PRIuMAX> 年前"
 
+#: delta-islands.c:268
+msgid "Propagating island marks"
+msgstr "正在传播数据岛标记"
+
+#: delta-islands.c:286
+#, c-format
+msgid "bad tree object %s"
+msgstr "坏的树对象 %s"
+
+#: delta-islands.c:330
+#, c-format
+msgid "failed to load island regex for '%s': %s"
+msgstr "未能加载 '%s' 的数据岛正则表达式:%s"
+
+#: delta-islands.c:386
+#, c-format
+msgid "island regex from config has too many capture groups (max=%d)"
+msgstr "来自 config 的数据岛正则表达式有太多的捕获组(最多 %d 个)"
+
+#: delta-islands.c:462
+#, c-format
+msgid "Marked %d islands, done.\n"
+msgstr "已标记 %d 个数据岛,结束。\n"
+
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "读取排序文件 '%s' 失败"
 
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "读取排序文件 '%s' 失败"
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:544
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
@@ -2241,24 +2307,24 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:4096
+#: diff.c:4140
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4427
+#: diff.c:4482
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:4430
+#: diff.c:4485
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G、-S 和 --find-object 是互斥的"
 
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G、-S 和 --find-object 是互斥的"
 
-#: diff.c:4508
+#: diff.c:4563
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4674
+#: diff.c:4729
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2267,64 +2333,64 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4688
+#: diff.c:4743
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5766
+#: diff.c:5823
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:5769
+#: diff.c:5826
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:5772
+#: diff.c:5829
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:569
+#: dir.c:576
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
 
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
 
-#: dir.c:958
+#: dir.c:965
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
-#: dir.c:1873
+#: dir.c:1880
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2115
+#: dir.c:2122
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2239
+#: dir.c:2246
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
-#: dir.c:3037
+#: dir.c:3047
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
-#: dir.c:3082 dir.c:3087
+#: dir.c:3092 dir.c:3097
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3116
+#: dir.c:3126
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
 
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
 
-#: editor.c:61
+#: editor.c:73
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "提示:等待您的编辑器关闭文件...%c"
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "提示:等待您的编辑器关闭文件...%c"
@@ -2333,7 +2399,7 @@ msgstr "提示:等待您的编辑器关闭文件...%c"
 msgid "Filtering content"
 msgstr "过滤内容"
 
 msgid "Filtering content"
 msgstr "过滤内容"
 
-#: entry.c:437
+#: entry.c:465
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
@@ -2357,77 +2423,77 @@ msgstr "执行 %s 的参数太多"
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
-#: fetch-pack.c:152
+#: fetch-pack.c:151
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack:应为 shallow 列表"
 
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack:应为 shallow 列表"
 
-#: fetch-pack.c:164
+#: fetch-pack.c:163
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包"
 
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包"
 
-#: fetch-pack.c:184
+#: fetch-pack.c:183
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
-#: fetch-pack.c:254
+#: fetch-pack.c:253
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc 需要 multi_ack_detailed"
 
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc 需要 multi_ack_detailed"
 
-#: fetch-pack.c:342 fetch-pack.c:1257
+#: fetch-pack.c:347 fetch-pack.c:1277
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:348 fetch-pack.c:1263
+#: fetch-pack.c:353 fetch-pack.c:1283
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:350 fetch-pack.c:1265
+#: fetch-pack.c:355 fetch-pack.c:1285
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:353 fetch-pack.c:1268
+#: fetch-pack.c:358 fetch-pack.c:1288
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:355 fetch-pack.c:1270
+#: fetch-pack.c:360 fetch-pack.c:1290
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:358 fetch-pack.c:1273
+#: fetch-pack.c:363 fetch-pack.c:1293
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
 
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
 
-#: fetch-pack.c:399
+#: fetch-pack.c:404
 #, c-format
 msgid "got %s %d %s"
 msgstr "得到 %s %d %s"
 
 #, c-format
 msgid "got %s %d %s"
 msgstr "得到 %s %d %s"
 
-#: fetch-pack.c:416
+#: fetch-pack.c:421
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:447
+#: fetch-pack.c:452
 msgid "giving up"
 msgstr "放弃"
 
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:459 progress.c:229
+#: fetch-pack.c:464 progress.c:229
 msgid "done"
 msgstr "完成"
 
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:471
+#: fetch-pack.c:476
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "得到 %s (%d) %s"
 
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "得到 %s (%d) %s"
 
-#: fetch-pack.c:517
+#: fetch-pack.c:522
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
@@ -2495,7 +2561,7 @@ msgstr "服务器支持 allow-reachable-sha1-in-want"
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
-#: fetch-pack.c:971 fetch-pack.c:1150
+#: fetch-pack.c:971 fetch-pack.c:1158
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
@@ -2516,85 +2582,93 @@ msgstr "服务器不支持 --shallow-exclude"
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1004
+#: fetch-pack.c:1008
 msgid "no common commits"
 msgstr "没有共同的提交"
 
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1016 fetch-pack.c:1393
+#: fetch-pack.c:1020 fetch-pack.c:1418
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1145
+#: fetch-pack.c:1153
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
-#: fetch-pack.c:1191
+#: fetch-pack.c:1199
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
-#: fetch-pack.c:1197
+#: fetch-pack.c:1205
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
-#: fetch-pack.c:1236
+#: fetch-pack.c:1244
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
-#: fetch-pack.c:1241
+#: fetch-pack.c:1249
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
-#: fetch-pack.c:1278
+#: fetch-pack.c:1259
+msgid "expected packfile to be sent after 'ready'"
+msgstr "预期在 'ready' 之后发送 packfile"
+
+#: fetch-pack.c:1261
+msgid "expected no other sections to be sent after no 'ready'"
+msgstr "在没有 'ready' 不应该发送其它小节"
+
+#: fetch-pack.c:1298
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
-#: fetch-pack.c:1294
+#: fetch-pack.c:1314
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
-#: fetch-pack.c:1304
+#: fetch-pack.c:1324
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
-#: fetch-pack.c:1308
+#: fetch-pack.c:1328
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
-#: fetch-pack.c:1603
+#: fetch-pack.c:1642
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1621 builtin/clone.c:664
+#: fetch-pack.c:1660 builtin/clone.c:664
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
-#: fetch-pack.c:1647
+#: fetch-pack.c:1686
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1650
+#: fetch-pack.c:1689
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
 
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
 
-#: gpg-interface.c:253
+#: gpg-interface.c:318
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:279
+#: gpg-interface.c:344
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
-#: gpg-interface.c:282
+#: gpg-interface.c:347
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
@@ -2604,18 +2678,18 @@ msgstr "无法将分离式签名写入 '%s'"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
-#: grep.c:2115
+#: grep.c:2113
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:2132 setup.c:164 builtin/clone.c:410 builtin/diff.c:81
+#: grep.c:2130 setup.c:164 builtin/clone.c:410 builtin/diff.c:81
 #: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "对 '%s' 调用 stat 失败"
 
 #: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "对 '%s' 调用 stat 失败"
 
-#: grep.c:2143
+#: grep.c:2141
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
@@ -2672,29 +2746,41 @@ msgstr "低级命令/同步仓库"
 msgid "Low-level Commands / Internal Helpers"
 msgstr "低级命令/内部助手"
 
 msgid "Low-level Commands / Internal Helpers"
 msgstr "低级命令/内部助手"
 
-#: help.c:293
+#: help.c:296
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:300
+#: help.c:303
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:309
+#: help.c:312
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:358 git.c:90
+#: help.c:361 git.c:90
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "不支持的命令列表类型 '%s'"
 
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "不支持的命令列表类型 '%s'"
 
-#: help.c:405
+#: help.c:408
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
-#: help.c:552
+#: help.c:517
+msgid "See 'git help <command>' to read about a specific subcommand"
+msgstr "执行 'git help <command>' 来查看特定子命令"
+
+#: help.c:522
+msgid "External commands"
+msgstr "外部命令"
+
+#: help.c:530
+msgid "Command aliases"
+msgstr "命令别名"
+
+#: help.c:594
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2703,31 +2789,31 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:611
+#: help.c:653
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: help.c:633
+#: help.c:675
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "警告:您运行了一个并不存在的 Git 命令 '%s'。"
 
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "警告:您运行了一个并不存在的 Git 命令 '%s'。"
 
-#: help.c:638
+#: help.c:680
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "假定你想要的是 '%s' 并继续。"
 
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "假定你想要的是 '%s' 并继续。"
 
-#: help.c:643
+#: help.c:685
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "假定你想要的是 '%2$s',在 %1$0.1f 秒钟后继续。"
 
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "假定你想要的是 '%2$s',在 %1$0.1f 秒钟后继续。"
 
-#: help.c:651
+#: help.c:693
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:655
+#: help.c:697
 msgid ""
 "\n"
 "The most similar command is"
 msgid ""
 "\n"
 "The most similar command is"
@@ -2741,16 +2827,16 @@ msgstr[1] ""
 "\n"
 "最相似的命令是"
 
 "\n"
 "最相似的命令是"
 
-#: help.c:670
+#: help.c:712
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:738
+#: help.c:780
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:742
+#: help.c:784
 msgid ""
 "\n"
 "Did you mean this?"
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2764,7 +2850,7 @@ msgstr[1] ""
 "\n"
 "您指的是这其中的某一个么?"
 
 "\n"
 "您指的是这其中的某一个么?"
 
-#: ident.c:342
+#: ident.c:345
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -2789,44 +2875,48 @@ msgstr ""
 "来设置您账号的缺省身份标识。\n"
 "如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
 "来设置您账号的缺省身份标识。\n"
 "如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
-#: ident.c:366
+#: ident.c:369
 msgid "no email was given and auto-detection is disabled"
 msgstr "未提供邮件地址且自动探测被禁用"
 
 msgid "no email was given and auto-detection is disabled"
 msgstr "未提供邮件地址且自动探测被禁用"
 
-#: ident.c:371
+#: ident.c:374
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "无法自动探测邮件地址(得到 '%s')"
 
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "无法自动探测邮件地址(得到 '%s')"
 
-#: ident.c:381
+#: ident.c:384
 msgid "no name was given and auto-detection is disabled"
 msgstr "未提供姓名且自动探测被禁用"
 
 msgid "no name was given and auto-detection is disabled"
 msgstr "未提供姓名且自动探测被禁用"
 
-#: ident.c:387
+#: ident.c:390
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "无法自动探测姓名(得到 '%s')"
 
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "无法自动探测姓名(得到 '%s')"
 
-#: ident.c:395
+#: ident.c:398
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "不允许空的姓名(对于 <%s>)"
 
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "不允许空的姓名(对于 <%s>)"
 
-#: ident.c:401
+#: ident.c:404
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:416 builtin/commit.c:600
+#: ident.c:419 builtin/commit.c:606
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: list-objects-filter-options.c:36
+#: list-objects-filter-options.c:35
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
 
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
 
-#: list-objects-filter-options.c:126
+#: list-objects-filter-options.c:58
+msgid "only 'tree:0' is supported"
+msgstr "只支持 'tree:0'"
+
+#: list-objects-filter-options.c:137
 msgid "cannot change partial clone promisor remote"
 msgstr "无法修改部分克隆的 promisor 远程仓库"
 
 msgid "cannot change partial clone promisor remote"
 msgstr "无法修改部分克隆的 promisor 远程仓库"
 
@@ -2853,117 +2943,117 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "不能创建 '%s.lock':%s"
 
 msgid "Unable to create '%s.lock': %s"
 msgstr "不能创建 '%s.lock':%s"
 
-#: merge.c:40
+#: merge.c:41
 msgid "failed to read the cache"
 msgstr "读取缓存失败"
 
 msgid "failed to read the cache"
 msgstr "读取缓存失败"
 
-#: merge.c:105 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:380
-#: builtin/checkout.c:608 builtin/clone.c:763
+#: merge.c:107 rerere.c:720 builtin/am.c:1899 builtin/am.c:1933
+#: builtin/checkout.c:387 builtin/checkout.c:708 builtin/clone.c:764
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: merge-recursive.c:303
+#: merge-recursive.c:323
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:325
+#: merge-recursive.c:345
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "add_cacheinfo 对路径 '%s' 执行失败,合并终止。"
 
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "add_cacheinfo 对路径 '%s' 执行失败,合并终止。"
 
-#: merge-recursive.c:333
+#: merge-recursive.c:353
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "add_cacheinfo 无法刷新路径 '%s',合并终止。"
 
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "add_cacheinfo 无法刷新路径 '%s',合并终止。"
 
-#: merge-recursive.c:415
+#: merge-recursive.c:435
 msgid "error building trees"
 msgstr "创建树出错"
 
 msgid "error building trees"
 msgstr "创建树出错"
 
-#: merge-recursive.c:886
+#: merge-recursive.c:906
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "创建路径 '%s'%s 失败"
 
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "创建路径 '%s'%s 失败"
 
-#: merge-recursive.c:897
+#: merge-recursive.c:917
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:911 merge-recursive.c:930
+#: merge-recursive.c:931 merge-recursive.c:950
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:920
+#: merge-recursive.c:940
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:962 builtin/cat-file.c:39
+#: merge-recursive.c:982 builtin/cat-file.c:39
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:964
+#: merge-recursive.c:984
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:988
+#: merge-recursive.c:1008
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "打开 '%s' 失败:%s"
 
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "打开 '%s' 失败:%s"
 
-#: merge-recursive.c:999
+#: merge-recursive.c:1019
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "创建符号链接 '%s' 失败:%s"
 
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "创建符号链接 '%s' 失败:%s"
 
-#: merge-recursive.c:1004
+#: merge-recursive.c:1024
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:1191
+#: merge-recursive.c:1212
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "无法合并子模组 %s (没有检出)"
 
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "无法合并子模组 %s (没有检出)"
 
-#: merge-recursive.c:1198
+#: merge-recursive.c:1219
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "无法合并子模组 %s(提交不存在)"
 
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "无法合并子模组 %s(提交不存在)"
 
-#: merge-recursive.c:1205
+#: merge-recursive.c:1226
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "无法合并子模组 %s (提交未跟随合并基线)"
 
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "无法合并子模组 %s (提交未跟随合并基线)"
 
-#: merge-recursive.c:1213 merge-recursive.c:1225
+#: merge-recursive.c:1234 merge-recursive.c:1246
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "子模组 %s 快进到如下提交:"
 
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "子模组 %s 快进到如下提交:"
 
-#: merge-recursive.c:1216 merge-recursive.c:1228
+#: merge-recursive.c:1237 merge-recursive.c:1249
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
-#: merge-recursive.c:1250
+#: merge-recursive.c:1271
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr "无法合并子模组 %s (没发现合并跟随的提交)"
 
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr "无法合并子模组 %s (没发现合并跟随的提交)"
 
-#: merge-recursive.c:1254
+#: merge-recursive.c:1275
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "无法合并子模组 %s(非快进)"
 
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "无法合并子模组 %s(非快进)"
 
-#: merge-recursive.c:1255
+#: merge-recursive.c:1276
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "找到子模组的一个可能的合并方案:\n"
 
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "找到子模组的一个可能的合并方案:\n"
 
-#: merge-recursive.c:1258
+#: merge-recursive.c:1279
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -2979,31 +3069,31 @@ msgstr ""
 "\n"
 "以接受此建议。\n"
 
 "\n"
 "以接受此建议。\n"
 
-#: merge-recursive.c:1267
+#: merge-recursive.c:1288
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "无法合并子模组 %s (发现多个合并)"
 
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "无法合并子模组 %s (发现多个合并)"
 
-#: merge-recursive.c:1326
+#: merge-recursive.c:1358
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:1331
+#: merge-recursive.c:1363
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:1363
+#: merge-recursive.c:1395
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1434
+#: merge-recursive.c:1416
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。"
 
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。"
 
-#: merge-recursive.c:1501
+#: merge-recursive.c:1483
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3012,7 +3102,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本被保留。"
 
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本被保留。"
 
-#: merge-recursive.c:1506
+#: merge-recursive.c:1488
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3021,7 +3111,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本被保留。"
 
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本被保留。"
 
-#: merge-recursive.c:1513
+#: merge-recursive.c:1495
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3030,7 +3120,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本保留在 %8$s 中。"
 
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本保留在 %8$s 中。"
 
-#: merge-recursive.c:1518
+#: merge-recursive.c:1500
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3039,31 +3129,31 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本保留在 %9$s 中。"
 
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本保留在 %9$s 中。"
 
-#: merge-recursive.c:1552
+#: merge-recursive.c:1534
 msgid "rename"
 msgstr "重命名"
 
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1552
+#: merge-recursive.c:1534
 msgid "renamed"
 msgstr "重命名"
 
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1606 merge-recursive.c:1762 merge-recursive.c:2394
-#: merge-recursive.c:3129
+#: merge-recursive.c:1588 merge-recursive.c:1737 merge-recursive.c:2369
+#: merge-recursive.c:3124
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "拒绝丢失脏文件 '%s'"
 
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "拒绝丢失脏文件 '%s'"
 
-#: merge-recursive.c:1620
+#: merge-recursive.c:1602
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1625
+#: merge-recursive.c:1607
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s"
 
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s"
 
-#: merge-recursive.c:1651
+#: merge-recursive.c:1633
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3072,28 +3162,28 @@ msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1656
+#: merge-recursive.c:1638
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1720
+#: merge-recursive.c:1699
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:1759
+#: merge-recursive.c:1734
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "代之以重命名 %s 至 %s,以及 %s 至 %s"
 
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "代之以重命名 %s 至 %s,以及 %s 至 %s"
 
-#: merge-recursive.c:1771
+#: merge-recursive.c:1746
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "拒绝在 '%s' 处失去未跟踪文件,即使它存在于重命名中。"
 
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "拒绝在 '%s' 处失去未跟踪文件,即使它存在于重命名中。"
 
-#: merge-recursive.c:1977
+#: merge-recursive.c:1952
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3103,7 +3193,7 @@ msgstr ""
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
-#: merge-recursive.c:2009
+#: merge-recursive.c:1984
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3112,7 +3202,7 @@ msgstr ""
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:1994
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3121,7 +3211,7 @@ msgstr ""
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-recursive.c:2111
+#: merge-recursive.c:2086
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3130,92 +3220,92 @@ msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
 "%4$s->%5$s"
 
 "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
 "%4$s->%5$s"
 
-#: merge-recursive.c:2356
+#: merge-recursive.c:2331
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
 
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
 "renamed."
 msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
 
-#: merge-recursive.c:2762
+#: merge-recursive.c:2737
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:2777
+#: merge-recursive.c:2763
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:2784 merge-recursive.c:3132
+#: merge-recursive.c:2770 merge-recursive.c:3127
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:2941
+#: merge-recursive.c:2934
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:2944
+#: merge-recursive.c:2937
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:3013
+#: merge-recursive.c:3006
 msgid "modify"
 msgstr "修改"
 
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:3013
+#: merge-recursive.c:3006
 msgid "modified"
 msgstr "修改"
 
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:3024
+#: merge-recursive.c:3017
 msgid "content"
 msgstr "内容"
 
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:3031
+#: merge-recursive.c:3024
 msgid "add/add"
 msgstr "添加/添加"
 
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:3076
+#: merge-recursive.c:3071
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:3098 git-submodule.sh:865
+#: merge-recursive.c:3093 git-submodule.sh:858
 msgid "submodule"
 msgstr "子模组"
 
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:3099
+#: merge-recursive.c:3094
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:3221
+#: merge-recursive.c:3216
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:3247
+#: merge-recursive.c:3242
 msgid "file/directory"
 msgstr "文件/目录"
 
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:3253
+#: merge-recursive.c:3248
 msgid "directory/file"
 msgstr "目录/文件"
 
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3260
+#: merge-recursive.c:3255
 #, 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"
 
 #, 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:3269
+#: merge-recursive.c:3264
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3303
+#: merge-recursive.c:3300
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3224,40 +3314,167 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
-#: merge-recursive.c:3314
+#: merge-recursive.c:3311
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:3323
+#: merge-recursive.c:3320
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:3422
+#: merge-recursive.c:3419
 msgid "Merging:"
 msgstr "合并:"
 
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3435
+#: merge-recursive.c:3432
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:3474
+#: merge-recursive.c:3471
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3540
+#: merge-recursive.c:3537
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3556 builtin/merge.c:689 builtin/merge.c:846
+#: merge-recursive.c:3553 builtin/merge.c:691 builtin/merge.c:849
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
-#: notes-merge.c:274
+#: midx.c:65
+#, c-format
+msgid "multi-pack-index file %s is too small"
+msgstr "多包索引文件 %s 太小"
+
+#: midx.c:81
+#, c-format
+msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
+msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配"
+
+#: midx.c:86
+#, c-format
+msgid "multi-pack-index version %d not recognized"
+msgstr "multi-pack-index 版本 %d 不能被识别"
+
+#: midx.c:91
+#, c-format
+msgid "hash version %u does not match"
+msgstr "散列版本 %u 不匹配"
+
+#: midx.c:105
+msgid "invalid chunk offset (too large)"
+msgstr "无效的块偏移(太大)"
+
+#: midx.c:129
+msgid "terminating multi-pack-index chunk id appears earlier than expected"
+msgstr "终止多包索引块 id 出现时间早于预期"
+
+#: midx.c:142
+msgid "multi-pack-index missing required pack-name chunk"
+msgstr "多包索引缺少必需的包名块"
+
+#: midx.c:144
+msgid "multi-pack-index missing required OID fanout chunk"
+msgstr "多包索引缺少必需的 OID 扇出块"
+
+#: midx.c:146
+msgid "multi-pack-index missing required OID lookup chunk"
+msgstr "多包索引缺少必需的 OID 查询块"
+
+#: midx.c:148
+msgid "multi-pack-index missing required object offsets chunk"
+msgstr "多包索引缺少必需的对象偏移块"
+
+#: midx.c:162
+#, c-format
+msgid "multi-pack-index pack names out of order: '%s' before '%s'"
+msgstr "多包索引包名无序:'%s' 在 '%s' 之前"
+
+#: midx.c:205
+#, c-format
+msgid "bad pack-int-id: %u (%u total packs)"
+msgstr "错的 pack-int-id:%u(共有 %u 个包)"
+
+#: midx.c:246
+msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
+msgstr "多包索引存储一个64位偏移,但是 off_t 太小"
+
+#: midx.c:271
+msgid "error preparing packfile from multi-pack-index"
+msgstr "从多包索引准备 packfile 出错"
+
+#: midx.c:407
+#, c-format
+msgid "failed to add packfile '%s'"
+msgstr "添加包文件 '%s' 失败"
+
+#: midx.c:413
+#, c-format
+msgid "failed to open pack-index '%s'"
+msgstr "打开包索引 '%s' 失败"
+
+#: midx.c:507
+#, c-format
+msgid "failed to locate object %d in packfile"
+msgstr "在包文件中定位对象 %d 失败"
+
+#: midx.c:943
+#, c-format
+msgid "failed to clear multi-pack-index at %s"
+msgstr "清理位于 %s 的多包索引失败"
+
+#: midx.c:981
+#, c-format
+msgid ""
+"oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
+msgstr "oid 扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
+
+#: midx.c:992
+#, c-format
+msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
+msgstr "oid 查询无序:oid[%d] = %s >= %s = oid[%d]"
+
+#: midx.c:996
+msgid "Verifying object offsets"
+msgstr "校验对象偏移"
+
+#: midx.c:1004
+#, c-format
+msgid "failed to load pack entry for oid[%d] = %s"
+msgstr "为 oid[%d] = %s 加载包条目失败"
+
+#: midx.c:1010
+#, c-format
+msgid "failed to load pack-index for packfile %s"
+msgstr "为包文件 %s 加载包索引失败"
+
+#: midx.c:1019
+#, c-format
+msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
+msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
+
+#: name-hash.c:532
+#, c-format
+msgid "unable to create lazy_dir thread: %s"
+msgstr "不能创建 lazy_dir 线程:%s"
+
+#: name-hash.c:554
+#, c-format
+msgid "unable to create lazy_name thread: %s"
+msgstr "不能创建 lazy_name 线程:%s"
+
+#: name-hash.c:560
+#, c-format
+msgid "unable to join lazy_name thread: %s"
+msgstr "不能加入 lasy_name 线程:%s"
+
+#: notes-merge.c:275
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -3268,7 +3485,7 @@ msgstr ""
 "在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
 "在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
-#: notes-merge.c:281
+#: notes-merge.c:282
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "您尚未结束注释合并(存在 %s)。"
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "您尚未结束注释合并(存在 %s)。"
@@ -3321,16 +3538,16 @@ msgstr "不能解析对象:%s"
 msgid "sha1 mismatch %s"
 msgstr "sha1 与 %s 不匹配"
 
 msgid "sha1 mismatch %s"
 msgstr "sha1 与 %s 不匹配"
 
-#: packfile.c:563
+#: packfile.c:607
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1745
+#: packfile.c:1864
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: packfile.c:1749
+#: packfile.c:1868
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
@@ -3362,17 +3579,17 @@ msgstr "    %s"
 msgid "-NUM"
 msgstr "-数字"
 
 msgid "-NUM"
 msgstr "-数字"
 
-#: parse-options-cb.c:44
+#: parse-options-cb.c:37
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "格式错误的到期时间:'%s'"
 
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "格式错误的到期时间:'%s'"
 
-#: parse-options-cb.c:112
+#: parse-options-cb.c:109
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "格式错误的对象名 '%s'"
 
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "格式错误的对象名 '%s'"
 
-#: path.c:892
+#: path.c:894
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
@@ -3486,33 +3703,46 @@ msgstr "协议错误:错误的行长度字符串:%.4s"
 msgid "protocol error: bad line length %d"
 msgstr "协议错误:错误的行长度 %d"
 
 msgid "protocol error: bad line length %d"
 msgstr "协议错误:错误的行长度 %d"
 
+#: preload-index.c:118
+msgid "Refreshing index"
+msgstr "正在刷新索引"
+
+#: preload-index.c:137
+#, c-format
+msgid "unable to create threaded lstat: %s"
+msgstr "无法创建线程 lstat:%s"
+
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: range-diff.c:48
+#: range-diff.c:56
 msgid "could not start `log`"
 msgstr "不能启动 `log`"
 
 msgid "could not start `log`"
 msgstr "不能启动 `log`"
 
-#: range-diff.c:51
+#: range-diff.c:59
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
-#: range-diff.c:66 sequencer.c:4540
+#: range-diff.c:74 sequencer.c:4764
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 
-#: range-diff.c:196
+#: range-diff.c:224
 msgid "failed to generate diff"
 msgstr "生成 diff 失败"
 
 msgid "failed to generate diff"
 msgstr "生成 diff 失败"
 
-#: range-diff.c:421 range-diff.c:423
+#: range-diff.c:455 range-diff.c:457
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
-#: read-cache.c:1579
+#: read-cache.c:1490
+msgid "Refresh index"
+msgstr "刷新索引"
+
+#: read-cache.c:1604
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -3521,7 +3751,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1589
+#: read-cache.c:1614
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -3530,135 +3760,258 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:2580 sequencer.c:4503 wrapper.c:658 builtin/merge.c:1083
+#: read-cache.c:1792
+#, c-format
+msgid "malformed name field in the index, near path '%s'"
+msgstr "索引中靠近路径 '%s' 有错误的名称字段"
+
+#: read-cache.c:1960 rerere.c:565 rerere.c:599 rerere.c:1111 builtin/add.c:458
+#: builtin/check-ignore.c:177 builtin/checkout.c:289 builtin/checkout.c:585
+#: builtin/checkout.c:953 builtin/clean.c:954 builtin/commit.c:343
+#: builtin/diff-tree.c:115 builtin/grep.c:489 builtin/mv.c:144
+#: builtin/reset.c:244 builtin/rm.c:270 builtin/submodule--helper.c:329
+msgid "index file corrupt"
+msgstr "索引文件损坏"
+
+#: read-cache.c:2101
+#, c-format
+msgid "unable to create load_cache_entries thread: %s"
+msgstr "无法创建 load_cache_entries 线程:%s"
+
+#: read-cache.c:2114
+#, c-format
+msgid "unable to join load_cache_entries thread: %s"
+msgstr "无法加入 load_cache_entries 线程:%s"
+
+#: read-cache.c:2201
+#, c-format
+msgid "unable to create load_index_extensions thread: %s"
+msgstr "无法创建 load_index_extensions 线程:%s"
+
+#: read-cache.c:2228
+#, c-format
+msgid "unable to join load_index_extensions thread: %s"
+msgstr "无法加入 load_index_extensions 线程:%s"
+
+#: read-cache.c:2982 sequencer.c:4727 wrapper.c:658 builtin/merge.c:1086
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:2653 sequencer.c:2113 sequencer.c:3374
+#: read-cache.c:3055 sequencer.c:2203 sequencer.c:3592
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:2666
+#: read-cache.c:3068
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:2678
+#: read-cache.c:3080
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
+#: rebase-interactive.c:10
+msgid ""
+"\n"
+"Commands:\n"
+"p, pick <commit> = use commit\n"
+"r, reword <commit> = use commit, but edit the commit message\n"
+"e, edit <commit> = use commit, but stop for amending\n"
+"s, squash <commit> = use commit, but meld into previous commit\n"
+"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"x, exec <command> = run command (the rest of the line) using shell\n"
+"b, break = stop here (continue rebase later with 'git rebase --continue')\n"
+"d, drop <commit> = remove commit\n"
+"l, label <label> = label current HEAD with a name\n"
+"t, reset <label> = reset HEAD to a label\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       create a merge commit using the original merge commit's\n"
+".       message (or the oneline, if no original merge commit was\n"
+".       specified). Use -c <commit> to reword the commit message.\n"
+"\n"
+"These lines can be re-ordered; they are executed from top to bottom.\n"
+msgstr ""
+"\n"
+"命令:\n"
+"p, pick <提交> = 使用提交\n"
+"r, reword <提交> = 使用提交,但修改提交说明\n"
+"e, edit <提交> = 使用提交,进入 shell 以便进行提交修补\n"
+"s, squash <提交> = 使用提交,但融合到前一个提交\n"
+"f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
+"x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
+"b, break = 在此处停止(使用 'git rebase --continue' 继续变基)\n"
+"d, drop <提交> = 删除提交\n"
+"l, label <label> = 为当前 HEAD 打上标记\n"
+"t, reset <label> = 重置 HEAD 到该标记\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       创建一个合并提交,并使用原始的合并提交说明(如果没有指定\n"
+".       原始提交,使用注释部分的 oneline 作为提交说明)。使用\n"
+".       -c <提交> 可以编辑提交说明。\n"
+"\n"
+"可以对这些行重新排序,将从上至下执行。\n"
+
+#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173
+msgid ""
+"\n"
+"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
+msgstr ""
+"\n"
+"不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
+
+#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177
+msgid ""
+"\n"
+"If you remove a line here THAT COMMIT WILL BE LOST.\n"
+msgstr ""
+"\n"
+"如果您在这里删除一行,对应的提交将会丢失。\n"
+
+#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816
+msgid ""
+"\n"
+"You are editing the todo file of an ongoing interactive rebase.\n"
+"To continue rebase after editing, run:\n"
+"    git rebase --continue\n"
+"\n"
+msgstr ""
+"\n"
+"您正在修改进行中的交互式变基待办列表。若要在编辑结束后继续变基,\n"
+"请执行:\n"
+"    git rebase --continue\n"
+"\n"
+
+#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+msgid ""
+"\n"
+"However, if you remove everything, the rebase will be aborted.\n"
+"\n"
+msgstr ""
+"\n"
+"然而,如果您删除全部内容,变基操作将会终止。\n"
+"\n"
+
+#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900
+msgid "Note that empty commits are commented out"
+msgstr "注意空提交已被注释掉"
+
+#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2186
+#: sequencer.c:4505 sequencer.c:4561 sequencer.c:4836
+#, c-format
+msgid "could not read '%s'."
+msgstr "不能读取 '%s'。"
+
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s 没有指向一个有效的对象!"
 
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s 没有指向一个有效的对象!"
 
-#: refs.c:579
+#: refs.c:583
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "忽略悬空符号引用 %s"
 
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "忽略悬空符号引用 %s"
 
-#: refs.c:581 ref-filter.c:2067
+#: refs.c:585 ref-filter.c:1951
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: refs.c:685
+#: refs.c:711
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "无法为写入打开 '%s':%s"
 
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "无法为写入打开 '%s':%s"
 
-#: refs.c:695 refs.c:746
+#: refs.c:721 refs.c:772
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "无法读取引用 '%s'"
 
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "无法读取引用 '%s'"
 
-#: refs.c:701
+#: refs.c:727
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "引用 '%s' 已经存在"
 
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "引用 '%s' 已经存在"
 
-#: refs.c:706
+#: refs.c:732
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "写入 '%s' 时意外的对象 ID"
 
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "写入 '%s' 时意外的对象 ID"
 
-#: refs.c:714 sequencer.c:385 sequencer.c:2366 sequencer.c:2492
-#: sequencer.c:2506 sequencer.c:2733 sequencer.c:4501 sequencer.c:4564
+#: refs.c:740 sequencer.c:394 sequencer.c:2510 sequencer.c:2636
+#: sequencer.c:2650 sequencer.c:2877 sequencer.c:4725 sequencer.c:4788
 #: wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
 #: wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: refs.c:741 sequencer.c:4499 sequencer.c:4558 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:780
+#: refs.c:767 sequencer.c:4723 sequencer.c:4782 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:728
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs.c:748
+#: refs.c:774
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "删除 '%s' 时意外的对象 ID"
 
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "删除 '%s' 时意外的对象 ID"
 
-#: refs.c:879
+#: refs.c:905
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "引用 %s 的日志在 %s 之后有缺口"
 
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "引用 %s 的日志在 %s 之后有缺口"
 
-#: refs.c:885
+#: refs.c:911
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "引用 %s 的日志意外终止于 %s "
 
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "引用 %s 的日志意外终止于 %s "
 
-#: refs.c:943
+#: refs.c:969
 #, c-format
 msgid "log for %s is empty"
 msgstr "%s 的日志为空"
 
 #, c-format
 msgid "log for %s is empty"
 msgstr "%s 的日志为空"
 
-#: refs.c:1035
+#: refs.c:1061
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "拒绝更新有错误名称 '%s' 的引用"
 
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "拒绝更新有错误名称 '%s' 的引用"
 
-#: refs.c:1111
+#: refs.c:1137
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "对引用 '%s' 执行 update_ref 失败:%s"
 
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "对引用 '%s' 执行 update_ref 失败:%s"
 
-#: refs.c:1853
+#: refs.c:1911
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "不允许对引用 '%s' 多次更新"
 
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "不允许对引用 '%s' 多次更新"
 
-#: refs.c:1885
+#: refs.c:1943
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
-#: refs.c:1981 refs.c:2011
+#: refs.c:2039 refs.c:2069
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' 已存在,无法创建 '%s'"
 
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' 已存在,无法创建 '%s'"
 
-#: refs.c:1987 refs.c:2022
+#: refs.c:2045 refs.c:2080
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "无法同时处理 '%s' 和 '%s'"
 
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "无法同时处理 '%s' 和 '%s'"
 
-#: refs/files-backend.c:1191
+#: refs/files-backend.c:1228
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1205 refs/packed-backend.c:1532
+#: refs/files-backend.c:1242 refs/packed-backend.c:1532
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1208 refs/packed-backend.c:1545
+#: refs/files-backend.c:1245 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
@@ -3668,191 +4021,197 @@ msgstr "无法删除引用:%s"
 msgid "invalid refspec '%s'"
 msgstr "无效的引用表达式:'%s'"
 
 msgid "invalid refspec '%s'"
 msgstr "无效的引用表达式:'%s'"
 
-#: ref-filter.c:38 wt-status.c:1850
+#: ref-filter.c:39 wt-status.c:1855
 msgid "gone"
 msgstr "丢失"
 
 msgid "gone"
 msgstr "丢失"
 
-#: ref-filter.c:39
+#: ref-filter.c:40
 #, c-format
 msgid "ahead %d"
 msgstr "领先 %d"
 
 #, c-format
 msgid "ahead %d"
 msgstr "领先 %d"
 
-#: ref-filter.c:40
+#: ref-filter.c:41
 #, c-format
 msgid "behind %d"
 msgstr "落后 %d"
 
 #, c-format
 msgid "behind %d"
 msgstr "落后 %d"
 
-#: ref-filter.c:41
+#: ref-filter.c:42
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
-#: ref-filter.c:137
+#: ref-filter.c:138
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
-#: ref-filter.c:139
+#: ref-filter.c:140
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
-#: ref-filter.c:161
+#: ref-filter.c:162
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "期望整数值 refname:lstrip=%s"
 
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "期望整数值 refname:lstrip=%s"
 
-#: ref-filter.c:165
+#: ref-filter.c:166
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "期望整数值 refname:rstrip=%s"
 
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "期望整数值 refname:rstrip=%s"
 
-#: ref-filter.c:167
+#: ref-filter.c:168
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
-#: ref-filter.c:222
+#: ref-filter.c:223
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) 不带参数"
 
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) 不带参数"
 
-#: ref-filter.c:234
+#: ref-filter.c:235
 #, c-format
 msgid "%%(objectsize) does not take arguments"
 msgstr "%%(objectsize) 不带参数"
 
 #, c-format
 msgid "%%(objectsize) does not take arguments"
 msgstr "%%(objectsize) 不带参数"
 
-#: ref-filter.c:246
+#: ref-filter.c:247
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:255
+#: ref-filter.c:256
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:275
+#: ref-filter.c:278
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
-#: ref-filter.c:304
+#: ref-filter.c:307
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "期望一个正数 contents:lines=%s"
 
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "期望一个正数 contents:lines=%s"
 
-#: ref-filter.c:306
+#: ref-filter.c:309
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
-#: ref-filter.c:321
+#: ref-filter.c:324
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "期望一个正数 objectname:short=%s"
 
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "期望一个正数 objectname:short=%s"
 
-#: ref-filter.c:325
+#: ref-filter.c:328
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: ref-filter.c:355
+#: ref-filter.c:358
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
-#: ref-filter.c:367
+#: ref-filter.c:370
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
-#: ref-filter.c:374
+#: ref-filter.c:377
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
-#: ref-filter.c:383
+#: ref-filter.c:386
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
-#: ref-filter.c:391
+#: ref-filter.c:394
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: ref-filter.c:409
+#: ref-filter.c:412
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
-#: ref-filter.c:505
+#: ref-filter.c:508
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
-#: ref-filter.c:532
+#: ref-filter.c:535
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:656
+#: ref-filter.c:539
+#, c-format
+msgid ""
+"not a git repository, but the field '%.*s' requires access to object data"
+msgstr "不是一个 git 仓库,但是字段 '%.*s' 需要访问对象数据"
+
+#: ref-filter.c:663
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素"
 
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:719
+#: ref-filter.c:726
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素"
 
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:721
+#: ref-filter.c:728
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "格式:%%(then) 元素用了多次"
 
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "格式:%%(then) 元素用了多次"
 
-#: ref-filter.c:723
+#: ref-filter.c:730
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "格式:%%(then) 元素用在了 %%(else) 之后"
 
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "格式:%%(then) 元素用在了 %%(else) 之后"
 
-#: ref-filter.c:751
+#: ref-filter.c:758
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素"
 
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:753
+#: ref-filter.c:760
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素"
 
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:755
+#: ref-filter.c:762
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "格式:%%(else) 元素用了多次"
 
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "格式:%%(else) 元素用了多次"
 
-#: ref-filter.c:770
+#: ref-filter.c:777
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:827
+#: ref-filter.c:834
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
-#: ref-filter.c:1416
+#: ref-filter.c:1424
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1419
+#: ref-filter.c:1427
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(非分支,正变基分离头指针 %s)"
 
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(非分支,正变基分离头指针 %s)"
 
-#: ref-filter.c:1422
+#: ref-filter.c:1430
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
@@ -3860,7 +4219,7 @@ msgstr "(非分支,二分查找开始于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1430
+#: ref-filter.c:1438
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
@@ -3868,142 +4227,142 @@ msgstr "(头指针分离于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1437
+#: ref-filter.c:1445
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: ref-filter.c:1441
+#: ref-filter.c:1449
 msgid "(no branch)"
 msgstr "(非分支)"
 
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1475 ref-filter.c:1623
+#: ref-filter.c:1483 ref-filter.c:1638
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1483
+#: ref-filter.c:1491
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1980
+#: ref-filter.c:1857
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:2062
+#: ref-filter.c:1946
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:2340
+#: ref-filter.c:2232
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2444
+#: ref-filter.c:2338
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
-#: remote.c:606
+#: remote.c:607
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:610
+#: remote.c:611
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:614
+#: remote.c:615
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:622
+#: remote.c:623
 msgid "Internal error"
 msgstr "内部错误"
 
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1536 remote.c:1637
+#: remote.c:1569 remote.c:1670
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1545
+#: remote.c:1578
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1548
+#: remote.c:1581
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1554
+#: remote.c:1587
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1569
+#: remote.c:1602
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1581
+#: remote.c:1614
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1591
+#: remote.c:1624
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1604
+#: remote.c:1637
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1626
+#: remote.c:1659
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:1951
+#: remote.c:1935
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:1955
+#: remote.c:1939
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:1958
+#: remote.c:1942
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:1962
+#: remote.c:1946
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "您的分支和 '%s' 指向不同的提交。\n"
 
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "您的分支和 '%s' 指向不同的提交。\n"
 
-#: remote.c:1965
+#: remote.c:1949
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
-#: remote.c:1969
+#: remote.c:1953
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:1975
+#: remote.c:1959
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:1978
+#: remote.c:1962
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -4012,11 +4371,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1986
+#: remote.c:1970
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:1989
+#: remote.c:1973
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4032,115 +4391,218 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1999
+#: remote.c:1983
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: replace-object.c:20
+#: replace-object.c:21
 #, c-format
 msgid "bad replace ref name: %s"
 msgstr "错误的替换引用名称:%s"
 
 #, c-format
 msgid "bad replace ref name: %s"
 msgstr "错误的替换引用名称:%s"
 
-#: replace-object.c:29
+#: replace-object.c:30
 #, c-format
 msgid "duplicate replace ref: %s"
 msgstr "重复的替换引用:%s"
 
 #, c-format
 msgid "duplicate replace ref: %s"
 msgstr "重复的替换引用:%s"
 
-#: replace-object.c:72
+#: replace-object.c:73
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "对象 %s 的替换层级太深"
 
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "对象 %s 的替换层级太深"
 
-#: revision.c:2305
-msgid "your current branch appears to be broken"
-msgstr "您的当前分支好像被损坏"
+#: rerere.c:217 rerere.c:226 rerere.c:229
+msgid "corrupt MERGE_RR"
+msgstr "损坏的 MERGE_RR"
+
+#: rerere.c:264 rerere.c:269
+msgid "unable to write rerere record"
+msgstr "无法写入 rerere 记录"
 
 
-#: revision.c:2308
+#: rerere.c:485 rerere.c:692 sequencer.c:3136 sequencer.c:3162
 #, c-format
 #, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr "您的当前分支 '%s' 尚无任何提交"
+msgid "could not write '%s'"
+msgstr "不能写入 '%s'"
 
 
-#: revision.c:2505
-msgid "--first-parent is incompatible with --bisect"
-msgstr "--first-parent 与 --bisect 不兼容"
+#: rerere.c:495
+#, c-format
+msgid "there were errors while writing '%s' (%s)"
+msgstr "写入 '%s' (%s) 时出错"
 
 
-#: run-command.c:728
-msgid "open /dev/null failed"
-msgstr "不能打开 /dev/null"
+#: rerere.c:498
+#, c-format
+msgid "failed to flush '%s'"
+msgstr "刷新 '%s' 失败"
 
 
-#: run-command.c:1271
+#: rerere.c:503 rerere.c:1039
 #, c-format
 #, c-format
-msgid ""
-"The '%s' hook was ignored because it's not set as executable.\n"
-"You can disable this warning with `git config advice.ignoredHook false`."
-msgstr ""
-"因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
-"配置 `git config advice.ignoredHook false` 来关闭这条警告。"
+msgid "could not parse conflict hunks in '%s'"
+msgstr "不能解析 '%s' 中的冲突块"
 
 
-#: send-pack.c:142
-msgid "unexpected flush packet while reading remote unpack status"
-msgstr "读取远程解包状态时收到意外的 flush 包"
+#: rerere.c:684
+#, c-format
+msgid "failed utime() on '%s'"
+msgstr "在 '%s' 上调用 utime() 失败"
 
 
-#: send-pack.c:144
+#: rerere.c:694
 #, c-format
 #, c-format
-msgid "unable to parse remote unpack status: %s"
-msgstr "不能解析远程解包状态:%s"
+msgid "writing '%s' failed"
+msgstr "写入 '%s' 失败"
 
 
-#: send-pack.c:146
+#: rerere.c:714
 #, c-format
 #, c-format
-msgid "remote unpack failed: %s"
-msgstr "远程解包失败:%s"
+msgid "Staged '%s' using previous resolution."
+msgstr "使用之前的解决方案暂存 '%s'。"
 
 
-#: send-pack.c:309
-msgid "failed to sign the push certificate"
-msgstr "为推送证书签名失败"
+#: rerere.c:753
+#, c-format
+msgid "Recorded resolution for '%s'."
+msgstr "已记录 '%s' 的解决方案。"
 
 
-#: send-pack.c:422
+#: rerere.c:788
+#, c-format
+msgid "Resolved '%s' using previous resolution."
+msgstr "使用之前的解决方案解决 '%s'。"
+
+#: rerere.c:803
+#, c-format
+msgid "cannot unlink stray '%s'"
+msgstr "不能删除 stray '%s'"
+
+#: rerere.c:807
+#, c-format
+msgid "Recorded preimage for '%s'"
+msgstr "为 '%s' 记录 preimage"
+
+#: rerere.c:881 submodule.c:1763 builtin/submodule--helper.c:1413
+#: builtin/submodule--helper.c:1423
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "不能创建目录 '%s'"
+
+#: rerere.c:1057
+#, c-format
+msgid "failed to update conflicted state in '%s'"
+msgstr "更新 '%s' 中的冲突状态失败"
+
+#: rerere.c:1068 rerere.c:1075
+#, c-format
+msgid "no remembered resolution for '%s'"
+msgstr "没有为 '%s' 记忆的解决方案"
+
+#: rerere.c:1077
+#, c-format
+msgid "cannot unlink '%s'"
+msgstr "不能删除 '%s'"
+
+#: rerere.c:1087
+#, c-format
+msgid "Updated preimage for '%s'"
+msgstr "已为 '%s' 更新 preimage"
+
+#: rerere.c:1096
+#, c-format
+msgid "Forgot resolution for '%s'\n"
+msgstr "忘记 '%s' 的解决方案\n"
+
+#: rerere.c:1199
+msgid "unable to open rr-cache directory"
+msgstr "不能打开 rr-cache 目录"
+
+#: revision.c:2324
+msgid "your current branch appears to be broken"
+msgstr "您的当前分支好像被损坏"
+
+#: revision.c:2327
+#, c-format
+msgid "your current branch '%s' does not have any commits yet"
+msgstr "您的当前分支 '%s' 尚无任何提交"
+
+#: revision.c:2523
+msgid "--first-parent is incompatible with --bisect"
+msgstr "--first-parent 与 --bisect 不兼容"
+
+#: run-command.c:740
+msgid "open /dev/null failed"
+msgstr "不能打开 /dev/null"
+
+#: run-command.c:1229
+#, c-format
+msgid "cannot create async thread: %s"
+msgstr "不能创建 async 线程:%s"
+
+#: run-command.c:1293
+#, c-format
+msgid ""
+"The '%s' hook was ignored because it's not set as executable.\n"
+"You can disable this warning with `git config advice.ignoredHook false`."
+msgstr ""
+"因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
+"配置 `git config advice.ignoredHook false` 来关闭这条警告。"
+
+#: send-pack.c:142
+msgid "unexpected flush packet while reading remote unpack status"
+msgstr "读取远程解包状态时收到意外的 flush 包"
+
+#: send-pack.c:144
+#, c-format
+msgid "unable to parse remote unpack status: %s"
+msgstr "不能解析远程解包状态:%s"
+
+#: send-pack.c:146
+#, c-format
+msgid "remote unpack failed: %s"
+msgstr "远程解包失败:%s"
+
+#: send-pack.c:308
+msgid "failed to sign the push certificate"
+msgstr "为推送证书签名失败"
+
+#: send-pack.c:421
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:424
+#: send-pack.c:423
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr "未发送推送证书,因为接收端不支持签名推送"
 
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr "未发送推送证书,因为接收端不支持签名推送"
 
-#: send-pack.c:436
+#: send-pack.c:435
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: send-pack.c:441
+#: send-pack.c:440
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:177
+#: sequencer.c:183
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:278
+#: sequencer.c:287
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:304
+#: sequencer.c:313
 msgid "revert"
 msgstr "还原"
 
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:306
+#: sequencer.c:315
 msgid "cherry-pick"
 msgstr "拣选"
 
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:308
+#: sequencer.c:317
 msgid "rebase -i"
 msgstr "rebase -i"
 
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:310
+#: sequencer.c:319
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
-#: sequencer.c:367
+#: sequencer.c:376
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -4148,7 +4610,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:370
+#: sequencer.c:379
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -4157,39 +4619,39 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:383 sequencer.c:2488
+#: sequencer.c:392 sequencer.c:2632
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:390
+#: sequencer.c:399
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:395 sequencer.c:2371 sequencer.c:2494 sequencer.c:2508
-#: sequencer.c:2741
+#: sequencer.c:404 sequencer.c:2515 sequencer.c:2638 sequencer.c:2652
+#: sequencer.c:2885
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:418 sequencer.c:816 sequencer.c:1505 sequencer.c:2391
-#: sequencer.c:2723 sequencer.c:2827 builtin/am.c:260 builtin/commit.c:740
-#: builtin/merge.c:1081
+#: sequencer.c:427 sequencer.c:921 sequencer.c:1594 sequencer.c:2535
+#: sequencer.c:2867 sequencer.c:2974 builtin/am.c:260 builtin/commit.c:746
+#: builtin/merge.c:1084 builtin/rebase.c:152
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:444
+#: sequencer.c:453
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:448
+#: sequencer.c:457
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:477
+#: sequencer.c:486
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
@@ -4197,35 +4659,70 @@ msgstr "%s:快进"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:566
+#: sequencer.c:575
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:582
+#: sequencer.c:591
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:595
+#: sequencer.c:604
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:723 sequencer.c:740
+#: sequencer.c:684
+#, c-format
+msgid "no key present in '%.*s'"
+msgstr "在 '%.*s' 中没有 key"
+
+#: sequencer.c:695
 #, c-format
 #, c-format
-msgid "could not parse '%s' (looking for '%s')"
-msgstr "不能解析 '%s'(查找 '%s')"
+msgid "unable to dequote value of '%s'"
+msgstr "无法为 '%s' 的值去引号"
 
 
-#: sequencer.c:731
+#: sequencer.c:732 wrapper.c:227 wrapper.c:397 builtin/am.c:719
+#: builtin/am.c:811 builtin/merge.c:1081
 #, c-format
 #, c-format
-msgid "bad quoting on %s value in '%s'"
-msgstr "'%2$s' 中的值 %1$s 有错误引用"
+msgid "could not open '%s' for reading"
+msgstr "无法打开 '%s' 进行读取"
+
+#: sequencer.c:742
+msgid "'GIT_AUTHOR_NAME' already given"
+msgstr "已经给出 'GIT_AUTHOR_NAME'"
 
 #: sequencer.c:747
 
 #: sequencer.c:747
+msgid "'GIT_AUTHOR_EMAIL' already given"
+msgstr "已经给出 'GIT_AUTHOR_EMAIL'"
+
+#: sequencer.c:752
+msgid "'GIT_AUTHOR_DATE' already given"
+msgstr "已经给出 'GIT_AUTHOR_DATE'"
+
+#: sequencer.c:756
+#, c-format
+msgid "unknown variable '%s'"
+msgstr "未知变量 '%s'"
+
+#: sequencer.c:761
+msgid "missing 'GIT_AUTHOR_NAME'"
+msgstr "缺少 'GIT_AUTHOR_NAME'"
+
+#: sequencer.c:763
+msgid "missing 'GIT_AUTHOR_EMAIL'"
+msgstr "缺少 'GIT_AUTHOR_EMAIL'"
+
+#: sequencer.c:765
+msgid "missing 'GIT_AUTHOR_DATE'"
+msgstr "缺少 'GIT_AUTHOR_DATE'"
+
+#: sequencer.c:825
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "'%2$s' 中无效的日期格式 '%1$s'"
 
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "'%2$s' 中无效的日期格式 '%1$s'"
 
-#: sequencer.c:761
+#: sequencer.c:842
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -4254,15 +4751,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:830
+#: sequencer.c:935
 msgid "writing root commit"
 msgstr "写根提交"
 
 msgid "writing root commit"
 msgstr "写根提交"
 
-#: sequencer.c:1055
+#: sequencer.c:1142
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:1062
+#: sequencer.c:1149
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4286,7 +4783,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1075
+#: sequencer.c:1162
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4309,305 +4806,300 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1115
+#: sequencer.c:1202
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1117
+#: sequencer.c:1204
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1163
+#: sequencer.c:1250
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1165
+#: sequencer.c:1252
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1169
+#: sequencer.c:1256
 msgid " (root-commit)"
 msgstr "(根提交)"
 
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1190
+#: sequencer.c:1277
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1192
+#: sequencer.c:1279
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
-#: sequencer.c:1196 builtin/commit.c:1528
+#: sequencer.c:1283 builtin/commit.c:1543
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1247 sequencer.c:1845
+#: sequencer.c:1334 sequencer.c:1934
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1257 builtin/am.c:1632 builtin/merge.c:675
+#: sequencer.c:1344 builtin/am.c:1585 builtin/merge.c:677
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
-#: sequencer.c:1274 sequencer.c:1329
+#: sequencer.c:1361 sequencer.c:1416
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
-#: sequencer.c:1296 builtin/am.c:1653 builtin/commit.c:1631 builtin/merge.c:855
-#: builtin/merge.c:880
+#: sequencer.c:1383 builtin/am.c:1606 builtin/commit.c:1646 builtin/merge.c:858
+#: builtin/merge.c:883
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
-#: sequencer.c:1356
+#: sequencer.c:1443
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1361
+#: sequencer.c:1448
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1457 sequencer.c:1565
+#: sequencer.c:1546 sequencer.c:1654
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1512 sequencer.c:1537
+#: sequencer.c:1601 sequencer.c:1626
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
-#: sequencer.c:1522 sequencer.c:4520
+#: sequencer.c:1611 sequencer.c:4744
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1524 sequencer.c:2768
+#: sequencer.c:1613 sequencer.c:2912
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1526
+#: sequencer.c:1615
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1532
+#: sequencer.c:1621
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1539 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1628 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1547
+#: sequencer.c:1636
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
-#: sequencer.c:1554
+#: sequencer.c:1643
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1560
+#: sequencer.c:1649
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:1643
+#: sequencer.c:1732
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1650
+#: sequencer.c:1739
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:1669
+#: sequencer.c:1758
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:1677
+#: sequencer.c:1766
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:1681
+#: sequencer.c:1770
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
-#: sequencer.c:1687
+#: sequencer.c:1776
 #, 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.
 #, 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:1706
+#: sequencer.c:1795
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:1771
+#: sequencer.c:1860
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:1826
+#: sequencer.c:1915
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1827
+#: sequencer.c:1916
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:1885
+#: sequencer.c:1974
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:1892
+#: sequencer.c:1981
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:1972
+#: sequencer.c:2062
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
-#: sequencer.c:1981
+#: sequencer.c:2071
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2040
+#: sequencer.c:2130
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2048
+#: sequencer.c:2138
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2096 sequencer.c:4277 sequencer.c:4333
-#, c-format
-msgid "could not read '%s'."
-msgstr "不能读取 '%s'。"
-
-#: sequencer.c:2119
+#: sequencer.c:2209
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:2121
+#: sequencer.c:2211
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2126
+#: sequencer.c:2216
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2137
+#: sequencer.c:2227
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2139
+#: sequencer.c:2229
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2209
+#: sequencer.c:2299
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2285
+#: sequencer.c:2380
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2301
+#: sequencer.c:2396
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2335 sequencer.c:3775
+#: sequencer.c:2479 sequencer.c:4005
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:2343
+#: sequencer.c:2487
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:2344
+#: sequencer.c:2488
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:2347
+#: sequencer.c:2491
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2361
+#: sequencer.c:2505
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2416 sequencer.c:3543
+#: sequencer.c:2560 sequencer.c:3761
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2418
+#: sequencer.c:2562
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2420 sequencer.c:2455
+#: sequencer.c:2564 sequencer.c:2599
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2441 builtin/grep.c:721
+#: sequencer.c:2585 builtin/grep.c:721
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2443
+#: sequencer.c:2587
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2444
+#: sequencer.c:2588
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2450
+#: sequencer.c:2594
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:2461
+#: sequencer.c:2605
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:2565 sequencer.c:3461
+#: sequencer.c:2709 sequencer.c:3679
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2603 sequencer.c:3441
+#: sequencer.c:2747 sequencer.c:3659
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:2618
+#: sequencer.c:2762
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:2626
+#: sequencer.c:2770
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -4626,27 +5118,28 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2636
+#: sequencer.c:2780
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
-#: sequencer.c:2643
+#: sequencer.c:2787
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
-#: sequencer.c:2654 sequencer.c:2658 builtin/difftool.c:640
+#: sequencer.c:2798 sequencer.c:2802 builtin/difftool.c:640
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:2680 sequencer.c:3095
+#: sequencer.c:2824 sequencer.c:3242 builtin/rebase.c:580 builtin/rebase.c:1019
+#: builtin/rebase.c:1372 builtin/rebase.c:1426
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
-#: sequencer.c:2685
+#: sequencer.c:2829
 #, c-format
 msgid ""
 "execution failed: %s\n"
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -4661,11 +5154,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2691
+#: sequencer.c:2835
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:2697
+#: sequencer.c:2841
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -4682,81 +5175,76 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2758
+#: sequencer.c:2902
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
-#: sequencer.c:2810
+#: sequencer.c:2954
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:2815
+#: sequencer.c:2959
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:2850
+#: sequencer.c:2997 builtin/rebase.c:585 builtin/rebase.c:591
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
-#: sequencer.c:2868
+#: sequencer.c:3015 builtin/rebase.c:604
 msgid "could not write index"
 msgstr "不能写入索引"
 
 msgid "could not write index"
 msgstr "不能写入索引"
 
-#: sequencer.c:2895
+#: sequencer.c:3042
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:2921
+#: sequencer.c:3068
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:2943
+#: sequencer.c:3090
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:2952
+#: sequencer.c:3099
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
-#: sequencer.c:2964
+#: sequencer.c:3111
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
-#: sequencer.c:2979
+#: sequencer.c:3126
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "不能获取 '%s' 的提交说明"
 
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "不能获取 '%s' 的提交说明"
 
-#: sequencer.c:2989 sequencer.c:3015
-#, c-format
-msgid "could not write '%s'"
-msgstr "不能写入 '%s'"
-
-#: sequencer.c:3127
+#: sequencer.c:3274
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "甚至不能尝试合并 '%.*s'"
 
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "甚至不能尝试合并 '%.*s'"
 
-#: sequencer.c:3143
+#: sequencer.c:3290
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:3211
+#: sequencer.c:3358 builtin/rebase.c:268
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:3223
+#: sequencer.c:3370
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:3226 git-rebase.sh:188
+#: sequencer.c:3373 builtin/rebase.c:284
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -4767,7 +5255,31 @@ msgstr ""
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:3257
+#: sequencer.c:3427
+#, c-format
+msgid "could not checkout %s"
+msgstr "不能检出 %s"
+
+#: sequencer.c:3441
+#, c-format
+msgid "%s: not a valid OID"
+msgstr "%s:不是一个有效的 OID"
+
+#: sequencer.c:3446 git-rebase--preserve-merges.sh:724
+msgid "could not detach HEAD"
+msgstr "不能分离头指针"
+
+#: sequencer.c:3461
+#, c-format
+msgid "Stopped at HEAD\n"
+msgstr "停止在 HEAD\n"
+
+#: sequencer.c:3463
+#, c-format
+msgid "Stopped at %s\n"
+msgstr "停止在 %s\n"
+
+#: sequencer.c:3471
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -4787,48 +5299,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3325
+#: sequencer.c:3543
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:3404
+#: sequencer.c:3622
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:3449
+#: sequencer.c:3667
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:3454 sequencer.c:4517
+#: sequencer.c:3672 sequencer.c:4741
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:3468
+#: sequencer.c:3686
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:3554
+#: sequencer.c:3772
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:3563
+#: sequencer.c:3781
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:3565
+#: sequencer.c:3783
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:3567
+#: sequencer.c:3785
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:3570
+#: sequencer.c:3788
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -4837,53 +5349,53 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:3595 sequencer.c:3633
+#: sequencer.c:3824 sequencer.c:3862
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:3648
+#: sequencer.c:3877
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:3655
+#: sequencer.c:3884
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:3752
+#: sequencer.c:3982
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:3756
+#: sequencer.c:3986
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:3791
+#: sequencer.c:4021
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:4238
+#: sequencer.c:4466
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:4241
+#: sequencer.c:4469
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:4281 sequencer.c:4337
+#: sequencer.c:4509 sequencer.c:4565 sequencer.c:4840
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: sequencer.c:4396
+#: sequencer.c:4620
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
 
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
 
-#: sequencer.c:4466
+#: sequencer.c:4690
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -4892,7 +5404,7 @@ msgstr ""
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
-#: sequencer.c:4473
+#: sequencer.c:4697
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -4908,7 +5420,7 @@ msgstr ""
 "可选值有:ignore、warn、error。\n"
 "\n"
 
 "可选值有:ignore、warn、error。\n"
 "\n"
 
-#: sequencer.c:4486
+#: sequencer.c:4710
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
@@ -4918,7 +5430,31 @@ msgstr ""
 "您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n"
 "或者您可以用 'git rebase --abort' 终止变基。\n"
 
 "您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n"
 "或者您可以用 'git rebase --abort' 终止变基。\n"
 
-#: sequencer.c:4660
+#: sequencer.c:4848 sequencer.c:4886
+msgid "nothing to do"
+msgstr "无事可做"
+
+#: sequencer.c:4852
+#, c-format
+msgid "Rebase %s onto %s (%d command)"
+msgid_plural "Rebase %s onto %s (%d commands)"
+msgstr[0] "变基 %s 到 %s(%d 个提交)"
+msgstr[1] "变基 %s 到 %s(%d 个提交)"
+
+#: sequencer.c:4864
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr "不能拷贝 '%s' 至 '%s'。"
+
+#: sequencer.c:4868 sequencer.c:4897
+msgid "could not transform the todo list"
+msgstr "无法改变待办列表"
+
+#: sequencer.c:4900
+msgid "could not skip unnecessary pick commands"
+msgstr "无法跳过不必要的拣选"
+
+#: sequencer.c:4983
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -4971,84 +5507,84 @@ msgstr "无法使用无效配置来创建工作区"
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
-#: setup.c:503
+#: setup.c:527
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:511
+#: setup.c:535
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
-#: setup.c:530
+#: setup.c:554
 #, c-format
 msgid "error opening '%s'"
 msgstr "打开 '%s' 出错"
 
 #, c-format
 msgid "error opening '%s'"
 msgstr "打开 '%s' 出错"
 
-#: setup.c:532
+#: setup.c:556
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
-#: setup.c:534
+#: setup.c:558
 #, c-format
 msgid "error reading %s"
 msgstr "读取 %s 出错"
 
 #, c-format
 msgid "error reading %s"
 msgstr "读取 %s 出错"
 
-#: setup.c:536
+#: setup.c:560
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
-#: setup.c:538
+#: setup.c:562
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
-#: setup.c:540
+#: setup.c:564
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是一个 git 仓库:%s"
 
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是一个 git 仓库:%s"
 
-#: setup.c:639
+#: setup.c:663
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
-#: setup.c:653
+#: setup.c:677
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是一个 git 仓库:'%s'"
 
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是一个 git 仓库:'%s'"
 
-#: setup.c:682 setup.c:684 setup.c:715
+#: setup.c:706 setup.c:708 setup.c:739
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
-#: setup.c:687 setup.c:743 setup.c:753 setup.c:792 setup.c:800 setup.c:815
+#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824 setup.c:839
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:813
+#: setup.c:837
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
-#: setup.c:824
+#: setup.c:848
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "获取 '%*s%s%s' 状态(stat)失败"
 
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "获取 '%*s%s%s' 状态(stat)失败"
 
-#: setup.c:1054
+#: setup.c:1078
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:1066 setup.c:1072
+#: setup.c:1090 setup.c:1096
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
-#: setup.c:1085
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -5057,7 +5593,7 @@ msgstr ""
 "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
 "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1168
+#: setup.c:1192
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -5066,15 +5602,15 @@ msgstr ""
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: setup.c:1211
+#: setup.c:1235
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
-#: setup.c:1226
+#: setup.c:1250
 msgid "fork failed"
 msgstr "fork 失败"
 
 msgid "fork failed"
 msgstr "fork 失败"
 
-#: setup.c:1231
+#: setup.c:1255
 msgid "setsid failed"
 msgstr "setsid 失败"
 
 msgid "setsid failed"
 msgstr "setsid 失败"
 
@@ -5149,12 +5685,12 @@ msgstr "mmap 失败"
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
-#: sha1-file.c:1093 sha1-file.c:2206
+#: sha1-file.c:1093 sha1-file.c:2215
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
-#: sha1-file.c:1095 sha1-file.c:2210
+#: sha1-file.c:1095 sha1-file.c:2219
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
@@ -5249,7 +5785,7 @@ msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
-#: sha1-file.c:1685 builtin/pack-objects.c:899
+#: sha1-file.c:1685 builtin/pack-objects.c:918
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
@@ -5267,76 +5803,76 @@ msgstr "损坏的提交"
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
-#: sha1-file.c:1906
+#: sha1-file.c:1912
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
-#: sha1-file.c:1909
+#: sha1-file.c:1915
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
-#: sha1-file.c:1980 sha1-file.c:1989
+#: sha1-file.c:1988 sha1-file.c:1997
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:插入数据库失败"
 
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:插入数据库失败"
 
-#: sha1-file.c:1995
+#: sha1-file.c:2003
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
-#: sha1-file.c:2019
+#: sha1-file.c:2027
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
-#: sha1-file.c:2021
+#: sha1-file.c:2029
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: sha1-file.c:2048 builtin/index-pack.c:158
+#: sha1-file.c:2056 builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: sha1-file.c:2217 sha1-file.c:2269
+#: sha1-file.c:2226 sha1-file.c:2278
 #, c-format
 msgid "sha1 mismatch for %s (expected %s)"
 msgstr "%s 的 sha1 不匹配(预期 %s)"
 
 #, c-format
 msgid "sha1 mismatch for %s (expected %s)"
 msgstr "%s 的 sha1 不匹配(预期 %s)"
 
-#: sha1-file.c:2241
+#: sha1-file.c:2250
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
-#: sha1-file.c:2246
+#: sha1-file.c:2255
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
-#: sha1-file.c:2252
+#: sha1-file.c:2261
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
-#: sha1-file.c:2263
+#: sha1-file.c:2272
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
 
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
 
-#: sha1-name.c:444
+#: sha1-name.c:476
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "短 SHA1 %s 存在歧义"
 
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "短 SHA1 %s 存在歧义"
 
-#: sha1-name.c:455
+#: sha1-name.c:487
 msgid "The candidates are:"
 msgstr "候选者有:"
 
 msgid "The candidates are:"
 msgstr "候选者有:"
 
-#: sha1-name.c:699
+#: sha1-name.c:770
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -5357,96 +5893,80 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:97 submodule.c:131
+#: submodule.c:116 submodule.c:145
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:101 submodule.c:135
+#: submodule.c:120 submodule.c:149
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:109
-#, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr "不能更新 .gitmodules 条目 %s"
-
-#: submodule.c:142
+#: submodule.c:156
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:153
+#: submodule.c:167
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:315
+#: submodule.c:329
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
-#: submodule.c:346
+#: submodule.c:360
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:839
+#: submodule.c:857
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1071 builtin/branch.c:670 builtin/submodule--helper.c:1888
+#: submodule.c:1097 builtin/branch.c:656 builtin/submodule--helper.c:1985
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1377
+#: submodule.c:1404
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为一个 git 仓库"
 
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为一个 git 仓库"
 
-#: submodule.c:1515
+#: submodule.c:1542
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
-#: submodule.c:1528
+#: submodule.c:1555
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
-#: submodule.c:1543
-#, c-format
-msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr "无法取消子模组 '%s' 中的 core.worktree 设置"
-
-#: submodule.c:1633
+#: submodule.c:1648
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1685
+#: submodule.c:1700
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
-#: submodule.c:1734
+#: submodule.c:1747
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:1746 submodule.c:1802
+#: submodule.c:1759 submodule.c:1815
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:1750 builtin/submodule--helper.c:1406
-#: builtin/submodule--helper.c:1416
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "不能创建目录 '%s'"
-
-#: submodule.c:1753
+#: submodule.c:1766
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -5457,34 +5977,44 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:1837
+#: submodule.c:1850
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:1881
+#: submodule.c:1894
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:1920
+#: submodule.c:1933
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
 
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
 
-#: submodule-config.c:231
+#: submodule-config.c:232
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
-#: submodule-config.c:295
+#: submodule-config.c:296
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "submodule.fetchjobs 不允许为负值"
 
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "submodule.fetchjobs 不允许为负值"
 
-#: submodule-config.c:468
+#: submodule-config.c:390
+#, c-format
+msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
+msgstr "忽略可能被解析为命令行选项的 '%s':%s"
+
+#: submodule-config.c:479
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
+#: submodule-config.c:754
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "不能更新 .gitmodules 条目 %s"
+
 #: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
 #: trailer.c:238
 #, c-format
 msgid "running trailer command '%s' failed"
@@ -5496,7 +6026,7 @@ msgstr "执行 trailer 命令 '%s' 失败"
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:294
+#: trailer.c:539 trailer.c:544 builtin/remote.c:295
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
@@ -5515,26 +6045,26 @@ msgstr "不能读取输入文件 '%s'"
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:1008 builtin/am.c:47
+#: trailer.c:1011 builtin/am.c:47
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
 
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
 
-#: trailer.c:1010
+#: trailer.c:1013
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "文件 %s 不是一个正规文件"
 
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "文件 %s 不是一个正规文件"
 
-#: trailer.c:1012
+#: trailer.c:1015
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "文件 %s 用户不可写"
 
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "文件 %s 用户不可写"
 
-#: trailer.c:1024
+#: trailer.c:1027
 msgid "could not open temporary file"
 msgstr "不能打开临时文件"
 
 msgid "could not open temporary file"
 msgstr "不能打开临时文件"
 
-#: trailer.c:1064
+#: trailer.c:1067
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
@@ -5554,36 +6084,36 @@ msgstr "无法读取 bundle '%s'"
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:586
+#: transport.c:616
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
-#: transport.c:659
+#: transport.c:689
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
-#: transport.c:785
+#: transport.c:816
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
-#: transport.c:851
+#: transport.c:882
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
-#: transport.c:903
+#: transport.c:936
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
-#: transport.c:998
+#: transport.c:1031
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:1002
+#: transport.c:1035
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -5610,19 +6140,19 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:1010
+#: transport.c:1043
 msgid "Aborting."
 msgstr "正在终止。"
 
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport.c:1148
+#: transport.c:1182
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
-#: transport.c:1270 transport-helper.c:643
+#: transport.c:1315 transport-helper.c:643
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
-#: transport.c:1352
+#: transport.c:1419
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
@@ -5753,42 +6283,42 @@ msgstr ""
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
-#: transport-helper.c:1230
+#: transport-helper.c:1231
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
-#: transport-helper.c:1257
+#: transport-helper.c:1258
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
-#: transport-helper.c:1306
+#: transport-helper.c:1307
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
-#: transport-helper.c:1310
+#: transport-helper.c:1311
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
-#: transport-helper.c:1329 transport-helper.c:1333
+#: transport-helper.c:1330 transport-helper.c:1334
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
-#: transport-helper.c:1370
+#: transport-helper.c:1371
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
-#: transport-helper.c:1374
+#: transport-helper.c:1375
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
-#: transport-helper.c:1392 transport-helper.c:1401
+#: transport-helper.c:1393 transport-helper.c:1402
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
@@ -6033,6 +6563,15 @@ msgstr "终止中\n"
 msgid "Checking out files"
 msgstr "正在检出文件"
 
 msgid "Checking out files"
 msgstr "正在检出文件"
 
+#: unpack-trees.c:368
+msgid ""
+"the following paths have collided (e.g. case-sensitive paths\n"
+"on a case-insensitive filesystem) and only one from the same\n"
+"colliding group is in the working tree:\n"
+msgstr ""
+"以下路径发生碰撞(如:在不区分大小写的文件系统上的区分大小写的路径),\n"
+"并且碰撞组中只有一个文件存在工作区中:\n"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "无效的 URL 方案名称或丢失 '://' 后缀"
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "无效的 URL 方案名称或丢失 '://' 后缀"
@@ -6062,32 +6601,32 @@ msgstr "无效的端口号"
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
-#: worktree.c:245 builtin/am.c:2147
+#: worktree.c:249 builtin/am.c:2100
 #, c-format
 msgid "failed to read '%s'"
 msgstr "读取 '%s' 失败"
 
 #, c-format
 msgid "failed to read '%s'"
 msgstr "读取 '%s' 失败"
 
-#: worktree.c:291
+#: worktree.c:295
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "在主工作区的 '%s' 不是仓库目录"
 
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "在主工作区的 '%s' 不是仓库目录"
 
-#: worktree.c:302
+#: worktree.c:306
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "文件 '%s' 不包含工作区的绝对路径"
 
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "文件 '%s' 不包含工作区的绝对路径"
 
-#: worktree.c:314
+#: worktree.c:318
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' 不存在"
 
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' 不存在"
 
-#: worktree.c:320
+#: worktree.c:324
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' 不是一个 .git 文件,错误码 %d"
 
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' 不是一个 .git 文件,错误码 %d"
 
-#: worktree.c:328
+#: worktree.c:332
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' 没有指回到 '%s'"
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' 没有指回到 '%s'"
@@ -6097,12 +6636,6 @@ msgstr "'%s' 没有指回到 '%s'"
 msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
 msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
-#: wrapper.c:227 wrapper.c:397 builtin/am.c:321 builtin/am.c:771
-#: builtin/am.c:863 builtin/merge.c:1078
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr "无法打开 '%s' 进行读取"
-
 #: wrapper.c:424 wrapper.c:624
 #, c-format
 msgid "unable to access '%s'"
 #: wrapper.c:424 wrapper.c:624
 #, c-format
 msgid "unable to access '%s'"
@@ -6142,11 +6675,11 @@ msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:202 wt-status.c:1015
+#: wt-status.c:202 wt-status.c:1042
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:220 wt-status.c:1024
+#: wt-status.c:220 wt-status.c:1051
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
@@ -6252,22 +6785,22 @@ msgstr "修改的内容, "
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:853
+#: wt-status.c:880
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:885
+#: wt-status.c:912
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:887
+#: wt-status.c:914
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:969
+#: wt-status.c:996
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -6275,77 +6808,77 @@ msgstr ""
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1084
+#: wt-status.c:1097
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1087
+#: wt-status.c:1100
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1089
+#: wt-status.c:1102
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1094
+#: wt-status.c:1106
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1097
+#: wt-status.c:1109
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1107
+#: wt-status.c:1118
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1110
+#: wt-status.c:1121
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1114
+#: wt-status.c:1125
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1116
+#: wt-status.c:1127
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1118
+#: wt-status.c:1129
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1250
+#: wt-status.c:1260
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1252
+#: wt-status.c:1262
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1255
+#: wt-status.c:1265
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
-#: wt-status.c:1266
+#: wt-status.c:1276
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1271
+#: wt-status.c:1281
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1274
+#: wt-status.c:1284
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -6353,169 +6886,169 @@ msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1282
+#: wt-status.c:1292
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1295
+#: wt-status.c:1304
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1300
+#: wt-status.c:1309
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1314
+#: wt-status.c:1322
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1316
+#: wt-status.c:1324
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1318
+#: wt-status.c:1326
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1324
+#: wt-status.c:1333
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1328
+#: wt-status.c:1337
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1333
+#: wt-status.c:1342
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1336
+#: wt-status.c:1345
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1340
+#: wt-status.c:1349
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1345
+#: wt-status.c:1354
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1348
+#: wt-status.c:1357
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1350
+#: wt-status.c:1359
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1360
+#: wt-status.c:1368
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1365
+#: wt-status.c:1373
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1368
+#: wt-status.c:1376
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1370
+#: wt-status.c:1378
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1379
+#: wt-status.c:1386
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1384
+#: wt-status.c:1391
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1387
+#: wt-status.c:1394
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1389
+#: wt-status.c:1396
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1400
+#: wt-status.c:1406
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1404
+#: wt-status.c:1410
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1407
+#: wt-status.c:1413
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1604
+#: wt-status.c:1611
 msgid "On branch "
 msgstr "位于分支 "
 
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1610
+#: wt-status.c:1618
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1612
+#: wt-status.c:1620
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1617
+#: wt-status.c:1625
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1619
+#: wt-status.c:1627
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1622
+#: wt-status.c:1630
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1642
+#: wt-status.c:1647
 msgid "Initial commit"
 msgstr "初始提交"
 
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1643
+#: wt-status.c:1648
 msgid "No commits yet"
 msgstr "尚无提交"
 
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1657
+#: wt-status.c:1662
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1659
+#: wt-status.c:1664
 msgid "Ignored files"
 msgstr "忽略的文件"
 
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1663
+#: wt-status.c:1668
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -6525,106 +7058,101 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1669
+#: wt-status.c:1674
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1671
+#: wt-status.c:1676
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1677
+#: wt-status.c:1682
 msgid "No changes"
 msgstr "没有修改"
 
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1682
+#: wt-status.c:1687
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: wt-status.c:1685
+#: wt-status.c:1690
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1688
+#: wt-status.c:1693
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1691
+#: wt-status.c:1696
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1694
+#: wt-status.c:1699
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1697 wt-status.c:1702
+#: wt-status.c:1702 wt-status.c:1707
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1700
+#: wt-status.c:1705
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1704
+#: wt-status.c:1709
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1817
+#: wt-status.c:1822
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:1821
+#: wt-status.c:1826
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1852
+#: wt-status.c:1857
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1854 wt-status.c:1862
+#: wt-status.c:1859 wt-status.c:1867
 msgid "behind "
 msgstr "落后 "
 
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1857 wt-status.c:1860
+#: wt-status.c:1862 wt-status.c:1865
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2376
+#: wt-status.c:2374
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2382
+#: wt-status.c:2380
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2384
+#: wt-status.c:2382
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:443
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "删除 '%s' 失败"
-
 #: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
 #: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
@@ -6634,7 +7162,7 @@ msgstr "git add [<选项>] [--] <路径规格>..."
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:88 builtin/commit.c:279
+#: builtin/add.c:88 builtin/commit.c:284
 msgid "updating files failed"
 msgstr "更新文件失败"
 
 msgid "updating files failed"
 msgstr "更新文件失败"
 
@@ -6647,7 +7175,7 @@ msgstr "删除 '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:233 builtin/rev-parse.c:893
+#: builtin/add.c:233 builtin/rev-parse.c:895
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
@@ -6682,9 +7210,9 @@ msgstr "不能应用 '%s'"
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:289 builtin/clean.c:906 builtin/fetch.c:134 builtin/mv.c:123
-#: builtin/prune-packed.c:56 builtin/pull.c:212 builtin/push.c:557
-#: builtin/remote.c:1344 builtin/rm.c:240 builtin/send-pack.c:165
+#: builtin/add.c:289 builtin/clean.c:907 builtin/fetch.c:137 builtin/mv.c:123
+#: builtin/prune-packed.c:56 builtin/pull.c:213 builtin/push.c:557
+#: builtin/remote.c:1345 builtin/rm.c:240 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "演习"
 
 msgid "dry run"
 msgstr "演习"
 
@@ -6692,7 +7220,7 @@ msgstr "演习"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:293 builtin/checkout.c:1144 builtin/reset.c:302
+#: builtin/add.c:293 builtin/checkout.c:1258 builtin/reset.c:305
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -6736,7 +7264,7 @@ msgstr "跳过因出错不能添加的文件"
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:308 builtin/update-index.c:973
+#: builtin/add.c:308 builtin/update-index.c:990
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
@@ -6810,112 +7338,109 @@ msgstr "没有指定文件,也没有文件被添加。\n"
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:449 builtin/check-ignore.c:177 builtin/checkout.c:282
-#: builtin/checkout.c:485 builtin/clean.c:953 builtin/commit.c:338
-#: builtin/diff-tree.c:115 builtin/grep.c:492 builtin/mv.c:144
-#: builtin/reset.c:241 builtin/rm.c:270 builtin/submodule--helper.c:329
-msgid "index file corrupt"
-msgstr "索引文件损坏"
-
-#: builtin/am.c:415
+#: builtin/am.c:363
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
-#: builtin/am.c:499
+#: builtin/am.c:447
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/am.c:540
+#: builtin/am.c:488
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/am.c:577
+#: builtin/am.c:525
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 
-#: builtin/am.c:603
+#: builtin/am.c:551
 msgid "fseek failed"
 msgstr "fseek 失败"
 
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:791
+#: builtin/am.c:739
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:856
+#: builtin/am.c:804
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/am.c:904
+#: builtin/am.c:852
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:909 builtin/am.c:921
+#: builtin/am.c:857 builtin/am.c:869
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:916
+#: builtin/am.c:864
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:1009
+#: builtin/am.c:957
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:1014 builtin/clone.c:408
+#: builtin/am.c:962 builtin/clone.c:408
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
 
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
 
-#: builtin/am.c:1019
+#: builtin/am.c:967
 msgid "Failed to split patches."
 msgstr "拆分补丁失败。"
 
 msgid "Failed to split patches."
 msgstr "拆分补丁失败。"
 
-#: builtin/am.c:1149 builtin/commit.c:364
+#: builtin/am.c:1097 builtin/commit.c:369
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1163
+#: builtin/am.c:1111
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/am.c:1164
+#: builtin/am.c:1112
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/am.c:1165
+#: builtin/am.c:1113
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/am.c:1272
+#: builtin/am.c:1196
+msgid "Patch sent with format=flowed; space at the end of lines might be lost."
+msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。"
+
+#: builtin/am.c:1224
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1338
+#: builtin/am.c:1290
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1360
+#: builtin/am.c:1312
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: builtin/am.c:1556
+#: builtin/am.c:1508
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/am.c:1558
+#: builtin/am.c:1510
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1577
+#: builtin/am.c:1529
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -6923,28 +7448,28 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1583
+#: builtin/am.c:1535
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/am.c:1608
+#: builtin/am.c:1561
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1640
+#: builtin/am.c:1593
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1686 builtin/am.c:1690
+#: builtin/am.c:1639 builtin/am.c:1643
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
-#: builtin/am.c:1706
+#: builtin/am.c:1659
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr "标准输入没有和终端关联,不能进行交互式操作。"
 
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr "标准输入没有和终端关联,不能进行交互式操作。"
 
-#: builtin/am.c:1711
+#: builtin/am.c:1664
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -6953,34 +7478,34 @@ msgstr "提交内容为:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1721
+#: builtin/am.c:1674
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1771
+#: builtin/am.c:1724
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/am.c:1811 builtin/am.c:1879
+#: builtin/am.c:1764 builtin/am.c:1832
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1828
+#: builtin/am.c:1781
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1834
+#: builtin/am.c:1787
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1838
+#: builtin/am.c:1791
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "用 'git am --show-current-patch' 命令查看失败的补丁"
 
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "用 'git am --show-current-patch' 命令查看失败的补丁"
 
-#: builtin/am.c:1882
+#: builtin/am.c:1835
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -6990,7 +7515,7 @@ msgstr ""
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1889
+#: builtin/am.c:1842
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -7001,158 +7526,159 @@ msgstr ""
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:1996 builtin/am.c:2000 builtin/am.c:2012 builtin/reset.c:324
-#: builtin/reset.c:332
+#: builtin/am.c:1949 builtin/am.c:1953 builtin/am.c:1965 builtin/reset.c:328
+#: builtin/reset.c:336
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:2048
+#: builtin/am.c:2001
 msgid "failed to clean index"
 msgstr "清空索引失败"
 
 msgid "failed to clean index"
 msgstr "清空索引失败"
 
-#: builtin/am.c:2083
+#: builtin/am.c:2036
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2174
+#: builtin/am.c:2129
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
-#: builtin/am.c:2210
+#: builtin/am.c:2165
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2211
+#: builtin/am.c:2166
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2217
+#: builtin/am.c:2172
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2219
+#: builtin/am.c:2174
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2176
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2222 builtin/init-db.c:485 builtin/prune-packed.c:58
-#: builtin/repack.c:299
+#: builtin/am.c:2177 builtin/init-db.c:486 builtin/prune-packed.c:58
+#: builtin/repack.c:306
 msgid "be quiet"
 msgstr "静默模式"
 
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2179
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2182
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2184
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2186
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2188
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2190
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2193
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2241
+#: builtin/am.c:2196
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2243 builtin/am.c:2246 builtin/am.c:2249 builtin/am.c:2252
-#: builtin/am.c:2255 builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264
-#: builtin/am.c:2270
+#: builtin/am.c:2198 builtin/am.c:2201 builtin/am.c:2204 builtin/am.c:2207
+#: builtin/am.c:2210 builtin/am.c:2213 builtin/am.c:2216 builtin/am.c:2219
+#: builtin/am.c:2225
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:670
-#: builtin/fmt-merge-msg.c:673 builtin/grep.c:857 builtin/merge.c:237
-#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:308
-#: builtin/repack.c:312 builtin/repack.c:314 builtin/show-branch.c:650
-#: builtin/show-ref.c:170 builtin/tag.c:384 parse-options.h:144
-#: parse-options.h:146 parse-options.h:258
+#: builtin/am.c:2215 builtin/commit.c:1340 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:868 builtin/merge.c:239
+#: builtin/pull.c:151 builtin/pull.c:209 builtin/rebase.c:854
+#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
+#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
+#: parse-options.h:144 parse-options.h:146 parse-options.h:268
 msgid "n"
 msgstr "n"
 
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2266 builtin/branch.c:651 builtin/for-each-ref.c:38
-#: builtin/replace.c:543 builtin/tag.c:420 builtin/verify-tag.c:39
+#: builtin/am.c:2221 builtin/branch.c:637 builtin/for-each-ref.c:38
+#: builtin/replace.c:544 builtin/tag.c:422 builtin/verify-tag.c:39
 msgid "format"
 msgstr "格式"
 
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2267
+#: builtin/am.c:2222
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2273
+#: builtin/am.c:2228
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2275
+#: builtin/am.c:2230
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2233
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2236
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2239
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
-#: builtin/am.c:2287
+#: builtin/am.c:2242
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "终止补丁操作但保持 HEAD 不变。"
 
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "终止补丁操作但保持 HEAD 不变。"
 
-#: builtin/am.c:2290
+#: builtin/am.c:2245
 msgid "show the patch being applied."
 msgstr "显示正在应用的补丁。"
 
 msgid "show the patch being applied."
 msgstr "显示正在应用的补丁。"
 
-#: builtin/am.c:2294
+#: builtin/am.c:2249
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2251
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:271
-#: builtin/pull.c:183 builtin/revert.c:113 builtin/tag.c:400
+#: builtin/am.c:2253 builtin/commit.c:1483 builtin/merge.c:273
+#: builtin/pull.c:184 builtin/rebase.c:898 builtin/rebase--interactive.c:183
+#: builtin/revert.c:113 builtin/tag.c:402
 msgid "key-id"
 msgstr "key-id"
 
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2299
+#: builtin/am.c:2254 builtin/rebase.c:899 builtin/rebase--interactive.c:184
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2302
+#: builtin/am.c:2257
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2320
+#: builtin/am.c:2275
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -7160,16 +7686,16 @@ msgstr ""
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2327
+#: builtin/am.c:2282
 msgid "failed to read the index"
 msgstr "读取索引失败"
 
 msgid "failed to read the index"
 msgstr "读取索引失败"
 
-#: builtin/am.c:2342
+#: builtin/am.c:2297
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2366
+#: builtin/am.c:2321
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -7178,7 +7704,7 @@ msgstr ""
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2372
+#: builtin/am.c:2327
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
@@ -7305,115 +7831,115 @@ msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
-#: builtin/blame.c:789
+#: builtin/blame.c:793
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:790
+#: builtin/blame.c:794
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:791
+#: builtin/blame.c:795
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:792
+#: builtin/blame.c:796
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:797
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:798
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:795
+#: builtin/blame.c:799
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:796
+#: builtin/blame.c:800
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:801
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:802
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:803
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:804
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:805
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:806
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:807
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:804
+#: builtin/blame.c:808
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:809
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:810
 msgid "color lines by age"
 msgstr "依据时间着色"
 
 msgid "color lines by age"
 msgstr "依据时间着色"
 
-#: builtin/blame.c:813
+#: builtin/blame.c:817
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:815
+#: builtin/blame.c:819
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:816
+#: builtin/blame.c:820
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:821
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:818 builtin/blame.c:819
+#: builtin/blame.c:822 builtin/blame.c:823
 msgid "score"
 msgstr "得分"
 
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:818
+#: builtin/blame.c:822
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:819
+#: builtin/blame.c:823
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:824
 msgid "n,m"
 msgstr "n,m"
 
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:824
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
-#: builtin/blame.c:869
+#: builtin/blame.c:873
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
@@ -7425,46 +7951,46 @@ msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 #. your language may need more or fewer display
 #. columns.
 #.
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:920
+#: builtin/blame.c:924
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:1007
+#: builtin/blame.c:1011
 #, 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 行"
 
 #, 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:1053
+#: builtin/blame.c:1057
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/branch.c:28
+#: builtin/branch.c:29
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged | --no-merged]"
 
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:29
+#: builtin/branch.c:30
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr "git branch [<选项>] [-l] [-f] <分支名> [<起始点>]"
 
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr "git branch [<选项>] [-l] [-f] <分支名> [<起始点>]"
 
-#: builtin/branch.c:30
+#: builtin/branch.c:31
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<选项>] [-r] (-d | -D) <分支名>..."
 
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<选项>] [-r] (-d | -D) <分支名>..."
 
-#: builtin/branch.c:31
+#: builtin/branch.c:32
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-m | -M) [<旧分支>] <新分支>"
 
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-m | -M) [<旧分支>] <新分支>"
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-c | -C) [<老分支>] <新分支>"
 
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-c | -C) [<老分支>] <新分支>"
 
-#: builtin/branch.c:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<选项>] [-r | -a] [--points-at]"
 
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<选项>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:34
+#: builtin/branch.c:35
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<选项>] [-r | -a] [--format]"
 
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<选项>] [-r | -a] [--format]"
 
@@ -7618,223 +8144,219 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:594
 msgid "Generic options"
 msgstr "通用选项"
 
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:596
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:597
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:606
+#: builtin/branch.c:598
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:608
+#: builtin/branch.c:600
 msgid "do not use"
 msgstr "不要使用"
 
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:602 builtin/rebase--interactive.c:180
 msgid "upstream"
 msgstr "上游"
 
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:602
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:603
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:604
 msgid "use colored output"
 msgstr "使用彩色输出"
 
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:605
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:615 builtin/branch.c:617
+#: builtin/branch.c:607 builtin/branch.c:609
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:616 builtin/branch.c:618
+#: builtin/branch.c:608 builtin/branch.c:610
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:613
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:614
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:624
+#: builtin/branch.c:616
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:617
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:618
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:619
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:620
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:621
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:622
 msgid "list branch names"
 msgstr "列出分支名"
 
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:631
+#: builtin/branch.c:623
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:634
-msgid "deprecated synonym for --create-reflog"
-msgstr "--create-reflog 的已弃用的同义词"
-
-#: builtin/branch.c:639
+#: builtin/branch.c:625
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:626
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:641
+#: builtin/branch.c:627
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:628
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:629
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:644 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:413
+#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:415
 msgid "key"
 msgstr "key"
 
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:645 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:414
+#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:416
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:647 builtin/for-each-ref.c:43 builtin/notes.c:410
-#: builtin/notes.c:413 builtin/notes.c:573 builtin/notes.c:576
-#: builtin/tag.c:416
+#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/notes.c:418 builtin/notes.c:578 builtin/notes.c:581
+#: builtin/tag.c:418
 msgid "object"
 msgstr "对象"
 
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:634
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:650 builtin/for-each-ref.c:49 builtin/tag.c:423
+#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:651 builtin/for-each-ref.c:38 builtin/tag.c:421
+#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "输出格式"
 
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:674 builtin/clone.c:739
+#: builtin/branch.c:660 builtin/clone.c:739
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:697
+#: builtin/branch.c:683
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:717 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
 msgid "branch name required"
 msgstr "必须提供分支名"
 
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:745
+#: builtin/branch.c:725
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:730
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:737
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:760
+#: builtin/branch.c:740
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:775
+#: builtin/branch.c:755
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:764
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:769
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:773
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s,因为 HEAD 没有指向任何分支。"
 
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s,因为 HEAD 没有指向任何分支。"
 
-#: builtin/branch.c:796 builtin/branch.c:818 builtin/branch.c:834
+#: builtin/branch.c:776 builtin/branch.c:798
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:800
+#: builtin/branch.c:780
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:792
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:796
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:822
+#: builtin/branch.c:802
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:837
+#: builtin/branch.c:812
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:815
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -7854,7 +8376,7 @@ msgstr "需要一个仓库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
-#: builtin/cat-file.c:577
+#: builtin/cat-file.c:587
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -7862,7 +8384,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
 
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
 
-#: builtin/cat-file.c:578
+#: builtin/cat-file.c:588
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -7870,67 +8392,71 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:609
+msgid "only one batch option may be specified"
+msgstr "只能指定一个批处理选项"
+
+#: builtin/cat-file.c:627
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:616
+#: builtin/cat-file.c:628
 msgid "show object type"
 msgstr "显示对象类型"
 
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:617
+#: builtin/cat-file.c:629
 msgid "show object size"
 msgstr "显示对象大小"
 
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:619
+#: builtin/cat-file.c:631
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:620
+#: builtin/cat-file.c:632
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:622
+#: builtin/cat-file.c:634
 msgid "for blob objects, run textconv on object's content"
 msgstr "对于数据对象,对其内容做文本转换"
 
 msgid "for blob objects, run textconv on object's content"
 msgstr "对于数据对象,对其内容做文本转换"
 
-#: builtin/cat-file.c:624
+#: builtin/cat-file.c:636
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
-#: builtin/cat-file.c:625 git-submodule.sh:864
+#: builtin/cat-file.c:637 git-submodule.sh:857
 msgid "blob"
 msgstr "数据对象"
 
 msgid "blob"
 msgstr "数据对象"
 
-#: builtin/cat-file.c:626
+#: builtin/cat-file.c:638
 msgid "use a specific path for --textconv/--filters"
 msgstr "对于 --textconv/--filters 使用一个特定的路径"
 
 msgid "use a specific path for --textconv/--filters"
 msgstr "对于 --textconv/--filters 使用一个特定的路径"
 
-#: builtin/cat-file.c:628
+#: builtin/cat-file.c:640
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "允许 -s 和 -t 对损坏的对象生效"
 
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "允许 -s 和 -t 对损坏的对象生效"
 
-#: builtin/cat-file.c:629
+#: builtin/cat-file.c:641
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
-#: builtin/cat-file.c:631
+#: builtin/cat-file.c:643
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:647
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:651
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
 
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
 
-#: builtin/cat-file.c:639
+#: builtin/cat-file.c:653
 msgid "show all objects with --batch or --batch-check"
 msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
 
 msgid "show all objects with --batch or --batch-check"
 msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
 
-#: builtin/cat-file.c:641
+#: builtin/cat-file.c:655
 msgid "do not order --batch-all-objects output"
 msgstr "不要对 --batch-all-objects 的输出排序"
 
 msgid "do not order --batch-all-objects output"
 msgstr "不要对 --batch-all-objects 的输出排序"
 
@@ -7958,8 +8484,8 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:20 builtin/checkout.c:1120 builtin/gc.c:503
-#: builtin/worktree.c:447
+#: builtin/check-ignore.c:20 builtin/checkout.c:1234 builtin/gc.c:517
+#: builtin/worktree.c:495
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -8016,161 +8542,161 @@ msgstr "未指定联系地址"
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
 
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
 
-#: builtin/checkout-index.c:143
+#: builtin/checkout-index.c:145
 msgid "stage should be between 1 and 3 or all"
 msgstr "索引值应该取值 1 到 3 或者 all"
 
 msgid "stage should be between 1 and 3 or all"
 msgstr "索引值应该取值 1 到 3 或者 all"
 
-#: builtin/checkout-index.c:159
+#: builtin/checkout-index.c:161
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
-#: builtin/checkout-index.c:160
+#: builtin/checkout-index.c:162
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
-#: builtin/checkout-index.c:162
+#: builtin/checkout-index.c:164
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
-#: builtin/checkout-index.c:164
+#: builtin/checkout-index.c:166
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
-#: builtin/checkout-index.c:166
+#: builtin/checkout-index.c:168
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
-#: builtin/checkout-index.c:170
+#: builtin/checkout-index.c:172
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
-#: builtin/checkout-index.c:172
+#: builtin/checkout-index.c:174
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
-#: builtin/checkout-index.c:173 builtin/column.c:31
-#: builtin/submodule--helper.c:1361 builtin/submodule--helper.c:1364
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1736
-#: builtin/worktree.c:620
+#: builtin/checkout-index.c:175 builtin/column.c:31
+#: builtin/submodule--helper.c:1368 builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1853
+#: builtin/worktree.c:668
 msgid "string"
 msgstr "字符串"
 
 msgid "string"
 msgstr "字符串"
 
-#: builtin/checkout-index.c:174
+#: builtin/checkout-index.c:176
 msgid "when creating files, prepend <string>"
 msgstr "在创建文件时,在前面加上 <字符串>"
 
 msgid "when creating files, prepend <string>"
 msgstr "在创建文件时,在前面加上 <字符串>"
 
-#: builtin/checkout-index.c:176
+#: builtin/checkout-index.c:178
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:29
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:30
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:138 builtin/checkout.c:171
+#: builtin/checkout.c:144 builtin/checkout.c:177
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:140 builtin/checkout.c:173
+#: builtin/checkout.c:146 builtin/checkout.c:179
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:156
+#: builtin/checkout.c:162
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必需的版本"
 
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必需的版本"
 
-#: builtin/checkout.c:200
+#: builtin/checkout.c:206
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必需的版本"
 
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必需的版本"
 
-#: builtin/checkout.c:217
+#: builtin/checkout.c:224
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:233
+#: builtin/checkout.c:240
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:255 builtin/checkout.c:258 builtin/checkout.c:261
-#: builtin/checkout.c:264
+#: builtin/checkout.c:262 builtin/checkout.c:265 builtin/checkout.c:268
+#: builtin/checkout.c:271
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:267 builtin/checkout.c:270
+#: builtin/checkout.c:274 builtin/checkout.c:277
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:273
+#: builtin/checkout.c:280
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:342 builtin/checkout.c:349
+#: builtin/checkout.c:349 builtin/checkout.c:356
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:508
+#: builtin/checkout.c:608
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:645
+#: builtin/checkout.c:745
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:686
+#: builtin/checkout.c:786
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:690 builtin/clone.c:692
+#: builtin/checkout.c:790 builtin/clone.c:692
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:694
+#: builtin/checkout.c:794
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:697
+#: builtin/checkout.c:797
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:701
+#: builtin/checkout.c:801
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:703 builtin/checkout.c:1052
+#: builtin/checkout.c:803 builtin/checkout.c:1166
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:705
+#: builtin/checkout.c:805
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:756
+#: builtin/checkout.c:856
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:762
+#: builtin/checkout.c:862
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -8191,7 +8717,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:781
+#: builtin/checkout.c:881
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -8218,167 +8744,167 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:813
+#: builtin/checkout.c:913
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:817
+#: builtin/checkout.c:917
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:845 builtin/checkout.c:1047
+#: builtin/checkout.c:945 builtin/checkout.c:1161
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:952
+#: builtin/checkout.c:1066
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:993 builtin/worktree.c:241 builtin/worktree.c:396
+#: builtin/checkout.c:1107 builtin/worktree.c:289 builtin/worktree.c:444
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1022
+#: builtin/checkout.c:1136
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1061
+#: builtin/checkout.c:1175
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1064 builtin/checkout.c:1068
+#: builtin/checkout.c:1178 builtin/checkout.c:1182
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1072 builtin/checkout.c:1075 builtin/checkout.c:1080
-#: builtin/checkout.c:1083
+#: builtin/checkout.c:1186 builtin/checkout.c:1189 builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1088
+#: builtin/checkout.c:1202
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1121 builtin/checkout.c:1123 builtin/clone.c:119
-#: builtin/remote.c:168 builtin/remote.c:170 builtin/worktree.c:440
-#: builtin/worktree.c:442
+#: builtin/checkout.c:1235 builtin/checkout.c:1237 builtin/clone.c:119
+#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:488
+#: builtin/worktree.c:490
 msgid "branch"
 msgstr "分支"
 
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1236
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1124
+#: builtin/checkout.c:1238
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1125
+#: builtin/checkout.c:1239
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1126 builtin/worktree.c:444
+#: builtin/checkout.c:1240 builtin/worktree.c:492
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1127
+#: builtin/checkout.c:1241
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1243
 msgid "new-branch"
 msgstr "新分支"
 
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1243
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1131
+#: builtin/checkout.c:1245
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1134
+#: builtin/checkout.c:1248
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1250
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1252
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1140 builtin/merge.c:273
+#: builtin/checkout.c:1254 builtin/merge.c:275
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1142 builtin/log.c:1510 parse-options.h:264
+#: builtin/checkout.c:1256 builtin/log.c:1573 parse-options.h:274
 msgid "style"
 msgstr "风格"
 
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1257
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1260
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1262
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1264
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1154 builtin/clone.c:86 builtin/fetch.c:138
-#: builtin/merge.c:270 builtin/pull.c:128 builtin/push.c:572
+#: builtin/checkout.c:1268 builtin/clone.c:86 builtin/fetch.c:141
+#: builtin/merge.c:272 builtin/pull.c:129 builtin/push.c:572
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1184
+#: builtin/checkout.c:1298
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1201
+#: builtin/checkout.c:1315
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1206
+#: builtin/checkout.c:1320
 msgid "missing branch name; try -b"
 msgstr "缺少分支名,尝试 -b"
 
 msgid "missing branch name; try -b"
 msgstr "缺少分支名,尝试 -b"
 
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1357
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1250
+#: builtin/checkout.c:1364
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
-#: builtin/checkout.c:1254
+#: builtin/checkout.c:1368
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1258
+#: builtin/checkout.c:1372
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
 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:1278
+#: builtin/checkout.c:1392
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -8437,7 +8963,7 @@ msgstr "将忽略仓库 %s\n"
 msgid "failed to remove %s"
 msgstr "删除 %s 失败"
 
 msgid "failed to remove %s"
 msgstr "删除 %s 失败"
 
-#: builtin/clean.c:297 git-add--interactive.perl:579
+#: builtin/clean.c:298 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -8450,7 +8976,7 @@ msgstr ""
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
-#: builtin/clean.c:301 git-add--interactive.perl:588
+#: builtin/clean.c:302 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -8471,38 +8997,38 @@ msgstr ""
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
-#: builtin/clean.c:517 git-add--interactive.perl:554
+#: builtin/clean.c:518 git-add--interactive.perl:554
 #: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "嗯(%s)?\n"
 
 #: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "嗯(%s)?\n"
 
-#: builtin/clean.c:659
+#: builtin/clean.c:660
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
-#: builtin/clean.c:696
+#: builtin/clean.c:697
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "警告:无法找到和 %s 匹配的条目"
 
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "警告:无法找到和 %s 匹配的条目"
 
-#: builtin/clean.c:717
+#: builtin/clean.c:718
 msgid "Select items to delete"
 msgstr "选择要删除的条目"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
 msgid "Select items to delete"
 msgstr "选择要删除的条目"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:758
+#: builtin/clean.c:759
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:783 git-add--interactive.perl:1717
+#: builtin/clean.c:784 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
 
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
 
-#: builtin/clean.c:791
+#: builtin/clean.c:792
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -8520,71 +9046,71 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:818 git-add--interactive.perl:1793
+#: builtin/clean.c:819 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:819 git-add--interactive.perl:1790
+#: builtin/clean.c:820 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "请选择"
 
 msgid "What now"
 msgstr "请选择"
 
-#: builtin/clean.c:827
+#: builtin/clean.c:828
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "将删除如下条目:"
 msgstr[1] "将删除如下条目:"
 
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "将删除如下条目:"
 msgstr[1] "将删除如下条目:"
 
-#: builtin/clean.c:843
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
-#: builtin/clean.c:905
+#: builtin/clean.c:906
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
-#: builtin/clean.c:907
+#: builtin/clean.c:908
 msgid "force"
 msgstr "强制"
 
 msgid "force"
 msgstr "强制"
 
-#: builtin/clean.c:908
+#: builtin/clean.c:909
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:911 builtin/describe.c:545 builtin/describe.c:547
-#: builtin/grep.c:875 builtin/log.c:161 builtin/log.c:163
-#: builtin/ls-files.c:549 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:177
+#: builtin/clean.c:912 builtin/describe.c:545 builtin/describe.c:547
+#: builtin/grep.c:886 builtin/log.c:166 builtin/log.c:168
+#: builtin/ls-files.c:556 builtin/name-rev.c:415 builtin/name-rev.c:417
+#: builtin/show-ref.c:178
 msgid "pattern"
 msgstr "模式"
 
 msgid "pattern"
 msgstr "模式"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "add <pattern> to ignore rules"
 msgstr "添加 <模式> 到忽略规则"
 
 msgid "add <pattern> to ignore rules"
 msgstr "添加 <模式> 到忽略规则"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:914
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
-#: builtin/clean.c:933
+#: builtin/clean.c:934
 msgid "-x and -X cannot be used together"
 msgstr "-x 和 -X 不能同时使用"
 
 msgid "-x and -X cannot be used together"
 msgstr "-x 和 -X 不能同时使用"
 
-#: builtin/clean.c:937
+#: builtin/clean.c:938
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 "clean.requireForce 设置为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 "clean.requireForce 设置为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clean.c:940
+#: builtin/clean.c:941
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -8599,7 +9125,7 @@ msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:480
+#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:481
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
@@ -8631,26 +9157,26 @@ msgstr "在克隆时初始化子模组"
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:109 builtin/init-db.c:477
+#: builtin/clone.c:109 builtin/init-db.c:478
 msgid "template-directory"
 msgstr "模板目录"
 
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:110 builtin/init-db.c:478
+#: builtin/clone.c:110 builtin/init-db.c:479
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1368
-#: builtin/submodule--helper.c:1739
+#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1375
+#: builtin/submodule--helper.c:1856
 msgid "reference repository"
 msgstr "参考仓库"
 
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:116 builtin/submodule--helper.c:1370
-#: builtin/submodule--helper.c:1741
+#: builtin/clone.c:116 builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1858
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:44
-#: builtin/pack-objects.c:3191 builtin/repack.c:320
+#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3301 builtin/repack.c:329
 msgid "name"
 msgstr "名称"
 
 msgid "name"
 msgstr "名称"
 
@@ -8666,8 +9192,8 @@ msgstr "检出 <分支> 而不是远程 HEAD"
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:123 builtin/fetch.c:139 builtin/grep.c:814
-#: builtin/pull.c:216
+#: builtin/clone.c:123 builtin/fetch.c:142 builtin/grep.c:825
+#: builtin/pull.c:217
 msgid "depth"
 msgstr "深度"
 
 msgid "depth"
 msgstr "深度"
 
@@ -8675,8 +9201,7 @@ msgstr "深度"
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:125 builtin/fetch.c:141 builtin/pack-objects.c:3182
-#: parse-options.h:154
+#: builtin/clone.c:125 builtin/fetch.c:144 builtin/pack-objects.c:3292
 msgid "time"
 msgstr "时间"
 
 msgid "time"
 msgstr "时间"
 
@@ -8684,11 +9209,12 @@ msgstr "时间"
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:127 builtin/fetch.c:143 builtin/fetch.c:166
+#: builtin/clone.c:127 builtin/fetch.c:146 builtin/fetch.c:169
+#: builtin/rebase.c:831
 msgid "revision"
 msgstr "版本"
 
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:128 builtin/fetch.c:144
+#: builtin/clone.c:128 builtin/fetch.c:147
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
@@ -8704,11 +9230,11 @@ msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:135 builtin/init-db.c:486
+#: builtin/clone.c:135 builtin/init-db.c:487
 msgid "gitdir"
 msgstr "git目录"
 
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:136 builtin/init-db.c:487
+#: builtin/clone.c:136 builtin/init-db.c:488
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
@@ -8720,12 +9246,12 @@ msgstr "key=value"
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:139 builtin/fetch.c:162 builtin/pull.c:229
+#: builtin/clone.c:139 builtin/fetch.c:165 builtin/pull.c:230
 #: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
 #: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:141 builtin/fetch.c:164 builtin/pull.c:232
+#: builtin/clone.c:141 builtin/fetch.c:167 builtin/pull.c:233
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
@@ -8758,6 +9284,11 @@ msgstr "%s 存在且不是一个目录"
 msgid "failed to stat %s\n"
 msgstr "对 %s 调用 stat 失败\n"
 
 msgid "failed to stat %s\n"
 msgstr "对 %s 调用 stat 失败\n"
 
+#: builtin/clone.c:443
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "删除 '%s' 失败"
+
 #: builtin/clone.c:448
 #, c-format
 msgid "failed to create link '%s'"
 #: builtin/clone.c:448
 #, c-format
 msgid "failed to create link '%s'"
@@ -8797,116 +9328,116 @@ msgstr "不能更新 %s"
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:760
+#: builtin/clone.c:761
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:805
+#: builtin/clone.c:806
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:868
+#: builtin/clone.c:869
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:870
+#: builtin/clone.c:871
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:910 builtin/receive-pack.c:1935
+#: builtin/clone.c:911 builtin/receive-pack.c:1941
 msgid "Too many arguments."
 msgstr "太多参数。"
 
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:914
+#: builtin/clone.c:915
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:927
+#: builtin/clone.c:928
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:930
+#: builtin/clone.c:931
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:943
+#: builtin/clone.c:944
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:949 builtin/fetch.c:1512
+#: builtin/clone.c:950 builtin/fetch.c:1606
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:959
+#: builtin/clone.c:960
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:969
+#: builtin/clone.c:970
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:271
-#: builtin/worktree.c:247 builtin/worktree.c:277
+#: builtin/clone.c:985 builtin/clone.c:1006 builtin/difftool.c:271
+#: builtin/worktree.c:295 builtin/worktree.c:325
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:989
+#: builtin/clone.c:990
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:1009
+#: builtin/clone.c:1010
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:1011
+#: builtin/clone.c:1012
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:1036
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
 
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
 msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
 
-#: builtin/clone.c:1096
+#: builtin/clone.c:1097
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
 
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1098
+#: builtin/clone.c:1099
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1100
+#: builtin/clone.c:1101
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
 
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1102
+#: builtin/clone.c:1103
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。"
 
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1105
+#: builtin/clone.c:1106
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1110
+#: builtin/clone.c:1111
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1180 builtin/clone.c:1188
+#: builtin/clone.c:1181 builtin/clone.c:1189
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1191
+#: builtin/clone.c:1192
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -8942,15 +9473,15 @@ msgstr "两列之间的填充空间"
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
-#: builtin/commit.c:38
+#: builtin/commit.c:40
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:43
+#: builtin/commit.c:45
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<选项>] [--] <路径规格>..."
 
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:48
+#: builtin/commit.c:50
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -8959,7 +9490,7 @@ msgstr ""
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
-#: builtin/commit.c:53
+#: builtin/commit.c:55
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -8973,11 +9504,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:60
+#: builtin/commit.c:62
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "否则,请使用命令 'git reset'\n"
 
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "否则,请使用命令 'git reset'\n"
 
-#: builtin/commit.c:63
+#: builtin/commit.c:65
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -8993,98 +9524,98 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:306
+#: builtin/commit.c:311
 msgid "failed to unpack HEAD tree object"
 msgstr "解包 HEAD 树对象失败"
 
 msgid "failed to unpack HEAD tree object"
 msgstr "解包 HEAD 树对象失败"
 
-#: builtin/commit.c:347
+#: builtin/commit.c:352
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:358
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:366
+#: builtin/commit.c:371
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:368
+#: builtin/commit.c:373
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:462
+#: builtin/commit.c:398 builtin/commit.c:421 builtin/commit.c:467
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:445
+#: builtin/commit.c:450
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:447
+#: builtin/commit.c:452
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:460
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:474
+#: builtin/commit.c:479
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:571
+#: builtin/commit.c:577
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:573
+#: builtin/commit.c:579
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有格式错误的作者信息"
 
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有格式错误的作者信息"
 
-#: builtin/commit.c:592
+#: builtin/commit.c:598
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:644
+#: builtin/commit.c:650
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:681 builtin/commit.c:714 builtin/commit.c:1042
+#: builtin/commit.c:687 builtin/commit.c:720 builtin/commit.c:1049
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:693 builtin/shortlog.c:317
+#: builtin/commit.c:699 builtin/shortlog.c:317
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:695
+#: builtin/commit.c:701
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:699
+#: builtin/commit.c:705
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:728 builtin/commit.c:736
+#: builtin/commit.c:734 builtin/commit.c:742
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:733
+#: builtin/commit.c:739
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:787
+#: builtin/commit.c:793
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:805
+#: builtin/commit.c:811
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -9098,7 +9629,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:816
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -9112,7 +9643,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:823
+#: builtin/commit.c:829
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -9121,7 +9652,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:837
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -9132,350 +9663,351 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:848
+#: builtin/commit.c:854
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:856
+#: builtin/commit.c:862
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:863
+#: builtin/commit.c:869
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:887
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:946
+#: builtin/commit.c:953
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:960 builtin/tag.c:258
+#: builtin/commit.c:967 builtin/tag.c:258
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1004
+#: builtin/commit.c:1011
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1018
+#: builtin/commit.c:1025
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1032 builtin/commit.c:1269
+#: builtin/commit.c:1039 builtin/commit.c:1276
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1070
+#: builtin/commit.c:1077
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1103
+#: builtin/commit.c:1110
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1112
+#: builtin/commit.c:1119
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1115
+#: builtin/commit.c:1122
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1117
+#: builtin/commit.c:1124
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1120
+#: builtin/commit.c:1127
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1137
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1132
+#: builtin/commit.c:1139
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
 
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
 
-#: builtin/commit.c:1140
+#: builtin/commit.c:1147
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1164
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1159
+#: builtin/commit.c:1166
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1173 builtin/tag.c:544
+#: builtin/commit.c:1180 builtin/tag.c:546
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1178
+#: builtin/commit.c:1185
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1303 builtin/commit.c:1480
+#: builtin/commit.c:1311 builtin/commit.c:1495
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1305 builtin/commit.c:1482
+#: builtin/commit.c:1313 builtin/commit.c:1497
 msgid "show branch information"
 msgstr "显示分支信息"
 
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1307
+#: builtin/commit.c:1315
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1309 builtin/commit.c:1484
+#: builtin/commit.c:1317 builtin/commit.c:1499
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1311
+#: builtin/commit.c:1319
 msgid "version"
 msgstr "版本"
 
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
-#: builtin/worktree.c:591
+#: builtin/commit.c:1319 builtin/commit.c:1501 builtin/push.c:558
+#: builtin/worktree.c:639
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1314 builtin/commit.c:1488
+#: builtin/commit.c:1322 builtin/commit.c:1503
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1317 builtin/commit.c:1491
+#: builtin/commit.c:1325 builtin/commit.c:1506
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
-#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/tag.c:398
+#: builtin/commit.c:1327 builtin/commit.c:1331 builtin/commit.c:1509
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/rebase.c:910
+#: builtin/tag.c:400
 msgid "mode"
 msgstr "模式"
 
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1320 builtin/commit.c:1494
+#: builtin/commit.c:1328 builtin/commit.c:1509
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1324
+#: builtin/commit.c:1332
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1326 parse-options.h:167
+#: builtin/commit.c:1334 parse-options.h:164
 msgid "when"
 msgstr "何时"
 
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1335
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1329
+#: builtin/commit.c:1337
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1330
+#: builtin/commit.c:1338
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
-#: builtin/commit.c:1332
+#: builtin/commit.c:1340
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
-#: builtin/commit.c:1352
+#: builtin/commit.c:1360
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1450
+#: builtin/commit.c:1465
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1451
+#: builtin/commit.c:1466
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1453
+#: builtin/commit.c:1468
 msgid "Commit message options"
 msgstr "提交说明选项"
 
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1454 builtin/merge.c:261 builtin/tag.c:395
+#: builtin/commit.c:1469 builtin/merge.c:263 builtin/tag.c:397
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1470
 msgid "author"
 msgstr "作者"
 
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1470
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1456 builtin/gc.c:504
+#: builtin/commit.c:1471 builtin/gc.c:518
 msgid "date"
 msgstr "日期"
 
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1456
+#: builtin/commit.c:1471
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1457 builtin/merge.c:257 builtin/notes.c:404
-#: builtin/notes.c:567 builtin/tag.c:393
+#: builtin/commit.c:1472 builtin/merge.c:259 builtin/notes.c:409
+#: builtin/notes.c:572 builtin/tag.c:395
 msgid "message"
 msgstr "说明"
 
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1457
+#: builtin/commit.c:1472
 msgid "commit message"
 msgstr "提交说明"
 
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1458 builtin/commit.c:1459 builtin/commit.c:1460
-#: builtin/commit.c:1461 parse-options.h:270 ref-filter.h:92
+#: builtin/commit.c:1473 builtin/commit.c:1474 builtin/commit.c:1475
+#: builtin/commit.c:1476 ref-filter.h:92 parse-options.h:280
 msgid "commit"
 msgstr "提交"
 
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1458
+#: builtin/commit.c:1473
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1459
+#: builtin/commit.c:1474
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1460
+#: builtin/commit.c:1475
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1461
+#: builtin/commit.c:1476
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1462
+#: builtin/commit.c:1477
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1463 builtin/log.c:1457 builtin/merge.c:274
-#: builtin/pull.c:154 builtin/revert.c:106
+#: builtin/commit.c:1478 builtin/log.c:1520 builtin/merge.c:276
+#: builtin/pull.c:155 builtin/revert.c:106
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1464
+#: builtin/commit.c:1479
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1465
+#: builtin/commit.c:1480
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1466
+#: builtin/commit.c:1481
 msgid "default"
 msgstr "default"
 
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1466 builtin/tag.c:399
+#: builtin/commit.c:1481 builtin/tag.c:401
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1467
+#: builtin/commit.c:1482
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1469 builtin/merge.c:272 builtin/pull.c:184
+#: builtin/commit.c:1484 builtin/merge.c:274 builtin/pull.c:185
 #: builtin/revert.c:114
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
 #: builtin/revert.c:114
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1472
+#: builtin/commit.c:1487
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1488
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1489
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1475
+#: builtin/commit.c:1490
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1491
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1492
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1493
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1494
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1507
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1508
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1513
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1515
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1588
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1595
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1614
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1625
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1630
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1665
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -9504,236 +10036,240 @@ msgstr ""
 "git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
 "git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
-#: builtin/commit-graph.c:48 builtin/commit-graph.c:77
-#: builtin/commit-graph.c:131 builtin/commit-graph.c:184 builtin/fetch.c:150
-#: builtin/log.c:1477
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:78
+#: builtin/commit-graph.c:132 builtin/commit-graph.c:190 builtin/fetch.c:153
+#: builtin/log.c:1540
 msgid "dir"
 msgstr "目录"
 
 msgid "dir"
 msgstr "目录"
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:78
-#: builtin/commit-graph.c:132 builtin/commit-graph.c:185
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
+#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
-#: builtin/commit-graph.c:134
+#: builtin/commit-graph.c:135
 msgid "start walk at all refs"
 msgstr "开始遍历所有引用"
 
 msgid "start walk at all refs"
 msgstr "开始遍历所有引用"
 
-#: builtin/commit-graph.c:136
+#: builtin/commit-graph.c:137
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
-#: builtin/commit-graph.c:138
+#: builtin/commit-graph.c:139
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
-#: builtin/commit-graph.c:140
+#: builtin/commit-graph.c:141
 msgid "include all commits already in the commit-graph file"
 msgstr "包含 commit-graph 文件中已有所有提交"
 
 msgid "include all commits already in the commit-graph file"
 msgstr "包含 commit-graph 文件中已有所有提交"
 
-#: builtin/commit-graph.c:149
+#: builtin/commit-graph.c:150
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
-#: builtin/config.c:10
+#: builtin/config.c:11
 msgid "git config [<options>]"
 msgstr "git config [<选项>]"
 
 msgid "git config [<options>]"
 msgstr "git config [<选项>]"
 
-#: builtin/config.c:101
+#: builtin/config.c:103
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "未能识别的 --type 参数,%s"
 
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "未能识别的 --type 参数,%s"
 
-#: builtin/config.c:113
+#: builtin/config.c:115
 msgid "only one type at a time"
 msgstr "一次只能一个类型"
 
 msgid "only one type at a time"
 msgstr "一次只能一个类型"
 
-#: builtin/config.c:122
+#: builtin/config.c:124
 msgid "Config file location"
 msgstr "配置文件位置"
 
 msgid "Config file location"
 msgstr "配置文件位置"
 
-#: builtin/config.c:123
+#: builtin/config.c:125
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
-#: builtin/config.c:124
+#: builtin/config.c:126
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
-#: builtin/config.c:125
+#: builtin/config.c:127
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
-#: builtin/config.c:126
+#: builtin/config.c:128
+msgid "use per-worktree config file"
+msgstr "使用工作区级别的配置文件"
+
+#: builtin/config.c:129
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
-#: builtin/config.c:127
+#: builtin/config.c:130
 msgid "blob-id"
 msgstr "数据对象 ID"
 
 msgid "blob-id"
 msgstr "数据对象 ID"
 
-#: builtin/config.c:127
+#: builtin/config.c:130
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
-#: builtin/config.c:128
+#: builtin/config.c:131
 msgid "Action"
 msgstr "操作"
 
 msgid "Action"
 msgstr "操作"
 
-#: builtin/config.c:129
+#: builtin/config.c:132
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
-#: builtin/config.c:130
+#: builtin/config.c:133
 msgid "get all values: key [value-regex]"
 msgstr "获得所有的值:key [value-regex]"
 
 msgid "get all values: key [value-regex]"
 msgstr "获得所有的值:key [value-regex]"
 
-#: builtin/config.c:131
+#: builtin/config.c:134
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "根据正则表达式获得值:name-regex [value-regex]"
 
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "根据正则表达式获得值:name-regex [value-regex]"
 
-#: builtin/config.c:132
+#: builtin/config.c:135
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "获得 URL 取值:section[.var] URL"
 
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "获得 URL 取值:section[.var] URL"
 
-#: builtin/config.c:133
+#: builtin/config.c:136
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "替换所有匹配的变量:name value [value_regex]"
 
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "替换所有匹配的变量:name value [value_regex]"
 
-#: builtin/config.c:134
+#: builtin/config.c:137
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
-#: builtin/config.c:135
+#: builtin/config.c:138
 msgid "remove a variable: name [value-regex]"
 msgstr "删除一个变量:name [value-regex]"
 
 msgid "remove a variable: name [value-regex]"
 msgstr "删除一个变量:name [value-regex]"
 
-#: builtin/config.c:136
+#: builtin/config.c:139
 msgid "remove all matches: name [value-regex]"
 msgstr "删除所有匹配项:name [value-regex]"
 
 msgid "remove all matches: name [value-regex]"
 msgstr "删除所有匹配项:name [value-regex]"
 
-#: builtin/config.c:137
+#: builtin/config.c:140
 msgid "rename section: old-name new-name"
 msgstr "重命名小节:old-name new-name"
 
 msgid "rename section: old-name new-name"
 msgstr "重命名小节:old-name new-name"
 
-#: builtin/config.c:138
+#: builtin/config.c:141
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
-#: builtin/config.c:139
+#: builtin/config.c:142
 msgid "list all"
 msgstr "列出所有"
 
 msgid "list all"
 msgstr "列出所有"
 
-#: builtin/config.c:140
+#: builtin/config.c:143
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
-#: builtin/config.c:141
+#: builtin/config.c:144
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
-#: builtin/config.c:142
+#: builtin/config.c:145
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "获得颜色设置:配置 [stdout-is-tty]"
 
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "获得颜色设置:配置 [stdout-is-tty]"
 
-#: builtin/config.c:143
+#: builtin/config.c:146
 msgid "Type"
 msgstr "类型"
 
 msgid "Type"
 msgstr "类型"
 
-#: builtin/config.c:144
+#: builtin/config.c:147
 msgid "value is given this type"
 msgstr "取值为该类型"
 
 msgid "value is given this type"
 msgstr "取值为该类型"
 
-#: builtin/config.c:145
+#: builtin/config.c:148
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
-#: builtin/config.c:146
+#: builtin/config.c:149
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
-#: builtin/config.c:147
+#: builtin/config.c:150
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
-#: builtin/config.c:148
+#: builtin/config.c:151
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
-#: builtin/config.c:149
+#: builtin/config.c:152
 msgid "value is an expiry date"
 msgstr "值是一个到期日期"
 
 msgid "value is an expiry date"
 msgstr "值是一个到期日期"
 
-#: builtin/config.c:150
+#: builtin/config.c:153
 msgid "Other"
 msgstr "其它"
 
 msgid "Other"
 msgstr "其它"
 
-#: builtin/config.c:151
+#: builtin/config.c:154
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
-#: builtin/config.c:152
+#: builtin/config.c:155
 msgid "show variable names only"
 msgstr "只显示变量名"
 
 msgid "show variable names only"
 msgstr "只显示变量名"
 
-#: builtin/config.c:153
+#: builtin/config.c:156
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/config.c:154
+#: builtin/config.c:157
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)"
 
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)"
 
-#: builtin/config.c:155
+#: builtin/config.c:158
 msgid "value"
 msgstr "取值"
 
 msgid "value"
 msgstr "取值"
 
-#: builtin/config.c:155
+#: builtin/config.c:158
 msgid "with --get, use default value when missing entry"
 msgstr "使用 --get 参数,当缺少设置时使用默认值"
 
 msgid "with --get, use default value when missing entry"
 msgstr "使用 --get 参数,当缺少设置时使用默认值"
 
-#: builtin/config.c:168
+#: builtin/config.c:171
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "错误的参数个数,应该为 %d 个"
 
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "错误的参数个数,应该为 %d 个"
 
-#: builtin/config.c:170
+#: builtin/config.c:173
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "错误的参数个数,应该为从 %d 个到 %d 个"
 
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "错误的参数个数,应该为从 %d 个到 %d 个"
 
-#: builtin/config.c:304
+#: builtin/config.c:307
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "无效键名模式:%s"
 
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "无效键名模式:%s"
 
-#: builtin/config.c:340
+#: builtin/config.c:343
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "格式化默认配置值失败:%s"
 
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "格式化默认配置值失败:%s"
 
-#: builtin/config.c:397
+#: builtin/config.c:400
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "无法解析颜色 '%s'"
 
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "无法解析颜色 '%s'"
 
-#: builtin/config.c:439
+#: builtin/config.c:442
 msgid "unable to parse default color value"
 msgstr "无法解析默认颜色值"
 
 msgid "unable to parse default color value"
 msgstr "无法解析默认颜色值"
 
-#: builtin/config.c:492 builtin/config.c:724
+#: builtin/config.c:495 builtin/config.c:741
 msgid "not in a git directory"
 msgstr "不在 git 仓库中"
 
 msgid "not in a git directory"
 msgstr "不在 git 仓库中"
 
-#: builtin/config.c:495
+#: builtin/config.c:498
 msgid "writing to stdin is not supported"
 msgstr "不支持写到标准输入"
 
 msgid "writing to stdin is not supported"
 msgstr "不支持写到标准输入"
 
-#: builtin/config.c:498
+#: builtin/config.c:501
 msgid "writing config blobs is not supported"
 msgstr "不支持写到配置数据对象"
 
 msgid "writing config blobs is not supported"
 msgstr "不支持写到配置数据对象"
 
-#: builtin/config.c:583
+#: builtin/config.c:586
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -9748,67 +10284,76 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:606
+#: builtin/config.c:610
 msgid "only one config file at a time"
 msgstr "一次只能有一个配置文件"
 
 msgid "only one config file at a time"
 msgstr "一次只能有一个配置文件"
 
-#: builtin/config.c:611
+#: builtin/config.c:615
 msgid "--local can only be used inside a git repository"
 msgstr "--local 只能在一个仓库内使用"
 
 msgid "--local can only be used inside a git repository"
 msgstr "--local 只能在一个仓库内使用"
 
-#: builtin/config.c:614
+#: builtin/config.c:618
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob 只能在一个仓库内使用"
 
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob 只能在一个仓库内使用"
 
-#: builtin/config.c:633
+#: builtin/config.c:637
 msgid "$HOME not set"
 msgstr "$HOME 未设置"
 
 msgid "$HOME not set"
 msgstr "$HOME 未设置"
 
-#: builtin/config.c:670
+#: builtin/config.c:657
+msgid ""
+"--worktree cannot be used with multiple working trees unless the config\n"
+"extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n"
+"section in \"git help worktree\" for details"
+msgstr ""
+"不能和多个工作区一起使用 --worktree,除非启用 worktreeConfig 配置扩展。\n"
+"详情请阅读“git help worktree”的“CONFIGURATION FILE”小节"
+
+#: builtin/config.c:687
 msgid "--get-color and variable type are incoherent"
 msgstr "--get-color 和变量类型不兼容"
 
 msgid "--get-color and variable type are incoherent"
 msgstr "--get-color 和变量类型不兼容"
 
-#: builtin/config.c:675
+#: builtin/config.c:692
 msgid "only one action at a time"
 msgstr "一次只能有一个动作"
 
 msgid "only one action at a time"
 msgstr "一次只能有一个动作"
 
-#: builtin/config.c:688
+#: builtin/config.c:705
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only 仅适用于 --list 或 --get-regexp"
 
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only 仅适用于 --list 或 --get-regexp"
 
-#: builtin/config.c:694
+#: builtin/config.c:711
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
 "list"
 msgstr "--show-origin 仅适用于 --get、--get-all、--get-regexp 和 --list"
 
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
 "list"
 msgstr "--show-origin 仅适用于 --get、--get-all、--get-regexp 和 --list"
 
-#: builtin/config.c:700
+#: builtin/config.c:717
 msgid "--default is only applicable to --get"
 msgstr "--default 仅适用于 --get"
 
 msgid "--default is only applicable to --get"
 msgstr "--default 仅适用于 --get"
 
-#: builtin/config.c:713
+#: builtin/config.c:730
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "无法读取配置文件 '%s'"
 
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "无法读取配置文件 '%s'"
 
-#: builtin/config.c:716
+#: builtin/config.c:733
 msgid "error processing config file(s)"
 msgstr "处理配置文件出错"
 
 msgid "error processing config file(s)"
 msgstr "处理配置文件出错"
 
-#: builtin/config.c:726
+#: builtin/config.c:743
 msgid "editing stdin is not supported"
 msgstr "不支持编辑标准输入"
 
 msgid "editing stdin is not supported"
 msgstr "不支持编辑标准输入"
 
-#: builtin/config.c:728
+#: builtin/config.c:745
 msgid "editing blobs is not supported"
 msgstr "不支持编辑数据对象"
 
 msgid "editing blobs is not supported"
 msgstr "不支持编辑数据对象"
 
-#: builtin/config.c:742
+#: builtin/config.c:759
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/config.c:755
+#: builtin/config.c:772
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -9817,7 +10362,7 @@ msgstr ""
 "无法用一个值覆盖多个值\n"
 "       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
 
 "无法用一个值覆盖多个值\n"
 "       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
 
-#: builtin/config.c:829 builtin/config.c:840
+#: builtin/config.c:846 builtin/config.c:857
 #, c-format
 msgid "no such section: %s"
 msgstr "无此小节:%s"
 #, c-format
 msgid "no such section: %s"
 msgstr "无此小节:%s"
@@ -9917,7 +10462,7 @@ msgstr ""
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
-#: builtin/describe.c:512 builtin/log.c:508
+#: builtin/describe.c:512 builtin/log.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -10164,7 +10709,7 @@ msgstr "使用 done 功能来终止流"
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1024
+#: builtin/fast-export.c:1024 builtin/log.c:1588
 msgid "refspec"
 msgstr "引用规格"
 
 msgid "refspec"
 msgstr "引用规格"
 
@@ -10176,198 +10721,202 @@ msgstr "对导出的引用应用引用规格"
 msgid "anonymize output"
 msgstr "匿名输出"
 
 msgid "anonymize output"
 msgstr "匿名输出"
 
-#: builtin/fetch.c:27
+#: builtin/fetch.c:28
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:29
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:30
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:31
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:112 builtin/pull.c:193
+#: builtin/fetch.c:115 builtin/pull.c:194
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:114 builtin/pull.c:196
+#: builtin/fetch.c:117 builtin/pull.c:197
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:116 builtin/pull.c:199
+#: builtin/fetch.c:119 builtin/pull.c:200
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:117 builtin/pull.c:201
-msgid "force overwrite of local branch"
-msgstr "强å\88¶è¦\86ç\9b\96æ\9c¬å\9c°å\88\86æ\94¯"
+#: builtin/fetch.c:120
+msgid "force overwrite of local reference"
+msgstr "强å\88¶è¦\86ç\9b\96æ\9c¬å\9c°å¼\95ç\94¨"
 
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:122
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:121 builtin/pull.c:203
+#: builtin/fetch.c:124 builtin/pull.c:204
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:126
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:125
+#: builtin/fetch.c:128
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:127 builtin/pull.c:206
+#: builtin/fetch.c:130 builtin/pull.c:207
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:129
+#: builtin/fetch.c:132
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:130 builtin/fetch.c:153 builtin/pull.c:131
+#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:132
 msgid "on-demand"
 msgstr "on-demand"
 
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:131
+#: builtin/fetch.c:134
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:135 builtin/pull.c:214
+#: builtin/fetch.c:138 builtin/pull.c:215
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:137
+#: builtin/fetch.c:140
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:140 builtin/fetch.c:146 builtin/pull.c:217
+#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:218
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:145
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:148 builtin/pull.c:220
+#: builtin/fetch.c:151 builtin/pull.c:221
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:151
+#: builtin/fetch.c:154
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:157
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:158 builtin/pull.c:223
+#: builtin/fetch.c:161 builtin/pull.c:224
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:159 builtin/pull.c:225
+#: builtin/fetch.c:162 builtin/pull.c:226
 msgid "refmap"
 msgstr "引用映射"
 
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:160 builtin/pull.c:226
+#: builtin/fetch.c:163 builtin/pull.c:227
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "server-specific"
 
 #: builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "传输选项"
 
 #: builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/fetch.c:167
+#: builtin/fetch.c:170
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 
-#: builtin/fetch.c:418
+#: builtin/fetch.c:470
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:552
+#: builtin/fetch.c:609
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:645
+#: builtin/fetch.c:702
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:649
+#: builtin/fetch.c:706
 msgid "[up to date]"
 msgstr "[最新]"
 
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:662 builtin/fetch.c:744
+#: builtin/fetch.c:719 builtin/fetch.c:735 builtin/fetch.c:807
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:663
+#: builtin/fetch.c:720
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:672
+#: builtin/fetch.c:730
 msgid "[tag update]"
 msgstr "[标签更新]"
 
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:673 builtin/fetch.c:708 builtin/fetch.c:724
-#: builtin/fetch.c:739
+#: builtin/fetch.c:731 builtin/fetch.c:771 builtin/fetch.c:787
+#: builtin/fetch.c:802
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:694
+#: builtin/fetch.c:735
+msgid "would clobber existing tag"
+msgstr "会破坏现有的标签"
+
+#: builtin/fetch.c:757
 msgid "[new tag]"
 msgstr "[新标签]"
 
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:697
+#: builtin/fetch.c:760
 msgid "[new branch]"
 msgstr "[新分支]"
 
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:700
+#: builtin/fetch.c:763
 msgid "[new ref]"
 msgstr "[新引用]"
 
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:739
+#: builtin/fetch.c:802
 msgid "forced update"
 msgstr "强制更新"
 
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:744
+#: builtin/fetch.c:807
 msgid "non-fast-forward"
 msgstr "非快进"
 
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:790
+#: builtin/fetch.c:853
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必需的对象\n"
 
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必需的对象\n"
 
-#: builtin/fetch.c:811
+#: builtin/fetch.c:874
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:900 builtin/fetch.c:1011
+#: builtin/fetch.c:963 builtin/fetch.c:1085
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:911
+#: builtin/fetch.c:974
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -10377,120 +10926,120 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:981
+#: builtin/fetch.c:1055
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为悬空状态)"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为悬空状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:982
+#: builtin/fetch.c:1056
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为悬空状态)"
 
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为悬空状态)"
 
-#: builtin/fetch.c:1014
+#: builtin/fetch.c:1088
 msgid "[deleted]"
 msgstr "[已删除]"
 
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:1015 builtin/remote.c:1035
+#: builtin/fetch.c:1089 builtin/remote.c:1036
 msgid "(none)"
 msgstr "(无)"
 
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1038
+#: builtin/fetch.c:1112
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:1057
+#: builtin/fetch.c:1131
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1060
+#: builtin/fetch.c:1134
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1339
+#: builtin/fetch.c:1433
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1341 builtin/remote.c:99
+#: builtin/fetch.c:1435 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1387 builtin/fetch.c:1555
+#: builtin/fetch.c:1481 builtin/fetch.c:1649
 msgid ""
 "--filter can only be used with the remote configured in core.partialClone"
 msgstr "只可以将 --filter 用于在 core.partialClone 中配置的远程仓库"
 
 msgid ""
 "--filter can only be used with the remote configured in core.partialClone"
 msgstr "只可以将 --filter 用于在 core.partialClone 中配置的远程仓库"
 
-#: builtin/fetch.c:1410
+#: builtin/fetch.c:1504
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。"
 
 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:1447
+#: builtin/fetch.c:1541
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1496
+#: builtin/fetch.c:1590
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1498
+#: builtin/fetch.c:1592
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1503
+#: builtin/fetch.c:1597
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1505
+#: builtin/fetch.c:1599
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1521
+#: builtin/fetch.c:1615
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1523
+#: builtin/fetch.c:1617
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1532
+#: builtin/fetch.c:1626
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1539
+#: builtin/fetch.c:1633
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
-#: builtin/fmt-merge-msg.c:17
+#: builtin/fmt-merge-msg.c:18
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <说明>] [--log[=<n>] | --no-log] [--file <文件>]"
 
 msgid ""
 "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:671
+#: builtin/fmt-merge-msg.c:672
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:675
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:677
+#: builtin/fmt-merge-msg.c:678
 msgid "text"
 msgstr "文本"
 
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:679
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:680
 msgid "file to read from"
 msgstr "从文件中读取"
 
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -10530,7 +11079,7 @@ msgstr "引用占位符适用于 Tcl"
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:422
+#: builtin/for-each-ref.c:39 builtin/tag.c:424
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
@@ -10554,63 +11103,63 @@ msgstr "只打印包含该提交的引用"
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
-#: builtin/fsck.c:574
+#: builtin/fsck.c:598
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:666
+#: builtin/fsck.c:693
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:699
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:700
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
-#: builtin/fsck.c:674
+#: builtin/fsck.c:701
 msgid "report tags"
 msgstr "报告标签"
 
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:675
+#: builtin/fsck.c:702
 msgid "report root nodes"
 msgstr "报告根节点"
 
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:676
+#: builtin/fsck.c:703
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:704
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:678
+#: builtin/fsck.c:705
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:679
+#: builtin/fsck.c:706
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:680
+#: builtin/fsck.c:707
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:709
 msgid "write dangling objects in .git/lost-found"
 msgstr "将悬空对象写入 .git/lost-found 中"
 
 msgid "write dangling objects in .git/lost-found"
 msgstr "将悬空对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:683 builtin/prune.c:110
+#: builtin/fsck.c:710 builtin/prune.c:110
 msgid "show progress"
 msgstr "显示进度"
 
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:684
+#: builtin/fsck.c:711
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:776
 msgid "Checking objects"
 msgstr "检查对象中"
 
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -10623,12 +11172,17 @@ msgstr "git gc [<选项>]"
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
-#: builtin/gc.c:455
+#: builtin/gc.c:461 builtin/init-db.c:55
 #, c-format
 #, c-format
-msgid "Can't stat %s"
-msgstr "不能对 %s 调用 stat"
+msgid "cannot stat '%s'"
+msgstr "不能对 '%s' 调用 stat"
+
+#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#, c-format
+msgid "cannot read '%s'"
+msgstr "不能读取 '%s'"
 
 
-#: builtin/gc.c:464
+#: builtin/gc.c:477
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -10642,59 +11196,59 @@ msgstr ""
 "\n"
 "%s"
 
 "\n"
 "%s"
 
-#: builtin/gc.c:505
+#: builtin/gc.c:519
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:507
+#: builtin/gc.c:521
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:508
+#: builtin/gc.c:522
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:511
+#: builtin/gc.c:525
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:514
+#: builtin/gc.c:528
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
-#: builtin/gc.c:531
+#: builtin/gc.c:545
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "解析 gc.logexpiry 的值 %s 失败"
 
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "解析 gc.logexpiry 的值 %s 失败"
 
-#: builtin/gc.c:542
+#: builtin/gc.c:556
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "解析清除期限值 %s 失败"
 
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "解析清除期限值 %s 失败"
 
-#: builtin/gc.c:562
+#: builtin/gc.c:576
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行仓库打包以求最佳性能。\n"
 
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行仓库打包以求最佳性能。\n"
 
-#: builtin/gc.c:564
+#: builtin/gc.c:578
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包仓库以求最佳性能。\n"
 
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包仓库以求最佳性能。\n"
 
-#: builtin/gc.c:565
+#: builtin/gc.c:579
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:601
+#: builtin/gc.c:619
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 "已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX>(如果不是,使用 --force)"
 
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 "已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX>(如果不是,使用 --force)"
 
-#: builtin/gc.c:652
+#: builtin/gc.c:670
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
@@ -10703,12 +11257,12 @@ msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:226
+#: builtin/grep.c:224
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
-#: builtin/grep.c:284
+#: builtin/grep.c:278
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
@@ -10717,251 +11271,259 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:293 builtin/index-pack.c:1536 builtin/index-pack.c:1728
-#: builtin/pack-objects.c:2636
+#: builtin/grep.c:286 builtin/index-pack.c:1506 builtin/index-pack.c:1697
+#: builtin/pack-objects.c:2719
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/grep.c:461 builtin/grep.c:582 builtin/grep.c:623
+#: builtin/grep.c:458 builtin/grep.c:579 builtin/grep.c:620
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:638
+#: builtin/grep.c:635
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:704
+#: builtin/grep.c:701
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:791
+#: builtin/grep.c:800
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:793
+#: builtin/grep.c:802
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:795
+#: builtin/grep.c:804
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:797
+#: builtin/grep.c:806
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:799
+#: builtin/grep.c:808
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
-#: builtin/grep.c:802
+#: builtin/grep.c:811
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:804
+#: builtin/grep.c:813
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:806
+#: builtin/grep.c:815
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:808
+#: builtin/grep.c:817
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:810
+#: builtin/grep.c:819
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:822
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:824
+msgid "search in subdirectories (default)"
+msgstr "在子目录中寻找(默认)"
+
+#: builtin/grep.c:826
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:830
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:833
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:825
+#: builtin/grep.c:836
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:839
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:831
+#: builtin/grep.c:842
 msgid "show line numbers"
 msgstr "显示行号"
 
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:843
 msgid "show column number of first match"
 msgstr "显示第一个匹配的列号"
 
 msgid "show column number of first match"
 msgstr "显示第一个匹配的列号"
 
-#: builtin/grep.c:833
+#: builtin/grep.c:844
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:834
+#: builtin/grep.c:845
 msgid "show filenames"
 msgstr "显示文件名"
 
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:847
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:849
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:840
+#: builtin/grep.c:851
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:854
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:845
+#: builtin/grep.c:856
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:848
+#: builtin/grep.c:859
 msgid "show only matching parts of a line"
 msgstr "只显示行中的匹配的部分"
 
 msgid "show only matching parts of a line"
 msgstr "只显示行中的匹配的部分"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:861
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:862
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:853
+#: builtin/grep.c:864
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:866
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:869
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:872
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:863
+#: builtin/grep.c:874
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:876
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:877
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:880
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:871
+#: builtin/grep.c:882
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:885
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:887
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:889
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:901
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:903
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:905
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:909
 msgid "pager"
 msgstr "分页"
 
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:909
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:913
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:966
+#: builtin/grep.c:977
 msgid "no pattern given"
 msgstr "未提供匹配模式"
 
 msgid "no pattern given"
 msgstr "未提供匹配模式"
 
-#: builtin/grep.c:1002
+#: builtin/grep.c:1013
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index 或 --untracked 不能和版本同时使用"
 
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index 或 --untracked 不能和版本同时使用"
 
-#: builtin/grep.c:1009
+#: builtin/grep.c:1020
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1044 builtin/index-pack.c:1532 builtin/pack-objects.c:2632
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "指定的线程数无效(%d)"
+#: builtin/grep.c:1051
+msgid "invalid option combination, ignoring --threads"
+msgstr "无效的选项组合,忽略 --threads"
 
 
-#: builtin/grep.c:1049 builtin/pack-objects.c:3286
+#: builtin/grep.c:1054 builtin/pack-objects.c:3397
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1073
+#: builtin/grep.c:1057 builtin/index-pack.c:1503 builtin/pack-objects.c:2716
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "指定的线程数无效(%d)"
+
+#: builtin/grep.c:1080
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:1096
+#: builtin/grep.c:1103
 msgid "option not supported with --recurse-submodules"
 msgstr "选项不支持和 --recurse-submodules 共用"
 
 msgid "option not supported with --recurse-submodules"
 msgstr "选项不支持和 --recurse-submodules 共用"
 
-#: builtin/grep.c:1102
+#: builtin/grep.c:1109
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
 
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
 
-#: builtin/grep.c:1108
+#: builtin/grep.c:1115
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容"
 
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容"
 
-#: builtin/grep.c:1116
+#: builtin/grep.c:1123
 msgid "both --cached and trees are given"
 msgstr "同时给出了 --cached 和树对象"
 
 msgid "both --cached and trees are given"
 msgstr "同时给出了 --cached 和树对象"
 
@@ -11096,317 +11658,317 @@ msgstr "没有 man 查看器处理此请求"
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:418
+#: builtin/help.c:430 builtin/help.c:441 git.c:322
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' 是 '%s' 的别名"
 
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "'%s' 是 '%s' 的别名"
 
-#: builtin/help.c:445 builtin/help.c:475
+#: builtin/help.c:444
+#, c-format
+msgid "bad alias.%s string: %s"
+msgstr "坏的 alias.%s 字符串:%s"
+
+#: builtin/help.c:473 builtin/help.c:503
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/help.c:459
+#: builtin/help.c:487
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
-#: builtin/index-pack.c:208
+#: builtin/index-pack.c:184
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:228
+#: builtin/index-pack.c:204
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取预期的对象 %s"
 
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取预期的对象 %s"
 
-#: builtin/index-pack.c:231
+#: builtin/index-pack.c:207
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
-#: builtin/index-pack.c:273
+#: builtin/index-pack.c:249
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:283
+#: builtin/index-pack.c:259
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:284
+#: builtin/index-pack.c:260
 msgid "read error on input"
 msgstr "输入上的读错误"
 
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:296
+#: builtin/index-pack.c:272
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:303 builtin/pack-objects.c:590
+#: builtin/index-pack.c:279 builtin/pack-objects.c:598
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:306 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:282 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
-#: builtin/index-pack.c:321
+#: builtin/index-pack.c:297
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:303
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:341
+#: builtin/index-pack.c:317
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:343
+#: builtin/index-pack.c:319
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:361
+#: builtin/index-pack.c:337
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:482
+#: builtin/index-pack.c:457
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:531
+#: builtin/index-pack.c:506
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:539
+#: builtin/index-pack.c:514
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:547
+#: builtin/index-pack.c:522
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:578
+#: builtin/index-pack.c:553
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:580
+#: builtin/index-pack.c:555
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
-#: builtin/index-pack.c:606
+#: builtin/index-pack.c:581
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:780
-#: builtin/index-pack.c:819 builtin/index-pack.c:828
+#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755
+#: builtin/index-pack.c:794 builtin/index-pack.c:803
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:143
-#: builtin/pack-objects.c:203 builtin/pack-objects.c:297
+#: builtin/index-pack.c:729 builtin/pack-objects.c:151
+#: builtin/pack-objects.c:211 builtin/pack-objects.c:305
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:792
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
-#: builtin/index-pack.c:825
+#: builtin/index-pack.c:800
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:839
+#: builtin/index-pack.c:814
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:842 builtin/index-pack.c:861
+#: builtin/index-pack.c:817 builtin/index-pack.c:836
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
-#: builtin/index-pack.c:858
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:863
+#: builtin/index-pack.c:838
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:935 builtin/index-pack.c:966
+#: builtin/index-pack.c:910 builtin/index-pack.c:941
 msgid "failed to apply delta"
 msgstr "应用 delta 失败"
 
 msgid "failed to apply delta"
 msgstr "应用 delta 失败"
 
-#: builtin/index-pack.c:1136
+#: builtin/index-pack.c:1109
 msgid "Receiving objects"
 msgstr "接收对象中"
 
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1136
+#: builtin/index-pack.c:1109
 msgid "Indexing objects"
 msgstr "索引对象中"
 
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1170
+#: builtin/index-pack.c:1143
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1175
+#: builtin/index-pack.c:1148
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1178
+#: builtin/index-pack.c:1151
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1190
+#: builtin/index-pack.c:1163
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1213
+#: builtin/index-pack.c:1186
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1224 builtin/pack-objects.c:2407
+#: builtin/index-pack.c:1196 builtin/pack-objects.c:2492
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1266
+#: builtin/index-pack.c:1237
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1243
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1284
+#: builtin/index-pack.c:1255
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1288
+#: builtin/index-pack.c:1259
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
-#: builtin/index-pack.c:1312
+#: builtin/index-pack.c:1283
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1389
+#: builtin/index-pack.c:1360
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1403
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1428
+#: builtin/index-pack.c:1399
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "无法写入 %s 文件 '%s'"
 
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "无法写入 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1436
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "无法关闭已写入的 %s 文件 '%s'"
 
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "无法关闭已写入的 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1460
+#: builtin/index-pack.c:1431
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1445
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1482
+#: builtin/index-pack.c:1453
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1526 builtin/pack-objects.c:2645
+#: builtin/index-pack.c:1497 builtin/pack-objects.c:2727
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1595
+#: builtin/index-pack.c:1565
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1597
+#: builtin/index-pack.c:1567
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1645
+#: builtin/index-pack.c:1615
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
-#: builtin/index-pack.c:1652
+#: builtin/index-pack.c:1622
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1689
+#: builtin/index-pack.c:1659
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1740 builtin/index-pack.c:1743
-#: builtin/index-pack.c:1759 builtin/index-pack.c:1763
+#: builtin/index-pack.c:1708 builtin/index-pack.c:1711
+#: builtin/index-pack.c:1727 builtin/index-pack.c:1731
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1779
+#: builtin/index-pack.c:1747
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1781
+#: builtin/index-pack.c:1749
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
-#: builtin/index-pack.c:1787
+#: builtin/index-pack.c:1755
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1837 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
-#: builtin/init-db.c:55
-#, c-format
-msgid "cannot stat '%s'"
-msgstr "不能对 '%s' 调用 stat"
-
 #: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
 #: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
@@ -11482,7 +12044,7 @@ msgstr "已初始化空的共享 Git 仓库于 %s%s\n"
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:459
+#: builtin/init-db.c:460
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -11490,32 +12052,32 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:483
 msgid "permissions"
 msgstr "权限"
 
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:483
+#: builtin/init-db.c:484
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
-#: builtin/init-db.c:517 builtin/init-db.c:522
+#: builtin/init-db.c:518 builtin/init-db.c:523
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:526
+#: builtin/init-db.c:527
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:547
+#: builtin/init-db.c:548
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
-#: builtin/init-db.c:575
+#: builtin/init-db.c:576
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
@@ -11528,172 +12090,176 @@ msgstr ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <键>[(=|:)<值"
 ">])...] [<文件>...]"
 
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <键>[(=|:)<值"
 ">])...] [<文件>...]"
 
-#: builtin/interpret-trailers.c:92
+#: builtin/interpret-trailers.c:94
 msgid "edit files in place"
 msgstr "在原位编辑文件"
 
 msgid "edit files in place"
 msgstr "在原位编辑文件"
 
-#: builtin/interpret-trailers.c:93
+#: builtin/interpret-trailers.c:95
 msgid "trim empty trailers"
 msgstr "删除空的尾部署名"
 
 msgid "trim empty trailers"
 msgstr "删除空的尾部署名"
 
-#: builtin/interpret-trailers.c:96
+#: builtin/interpret-trailers.c:98
 msgid "where to place the new trailer"
 msgstr "在哪里放置新的尾部署名"
 
 msgid "where to place the new trailer"
 msgstr "在哪里放置新的尾部署名"
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100
 msgid "action if trailer already exists"
 msgstr "当尾部署名已经存在时所采取的动作"
 
 msgid "action if trailer already exists"
 msgstr "当尾部署名已经存在时所采取的动作"
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:102
 msgid "action if trailer is missing"
 msgstr "当尾部署名缺失时所采取的动作"
 
 msgid "action if trailer is missing"
 msgstr "当尾部署名缺失时所采取的动作"
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:104
 msgid "output only the trailers"
 msgstr "只输出尾部署名"
 
 msgid "output only the trailers"
 msgstr "只输出尾部署名"
 
-#: builtin/interpret-trailers.c:103
+#: builtin/interpret-trailers.c:105
 msgid "do not apply config rules"
 msgstr "不要应用配置规则"
 
 msgid "do not apply config rules"
 msgstr "不要应用配置规则"
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:106
 msgid "join whitespace-continued values"
 msgstr "连接空白折行的值"
 
 msgid "join whitespace-continued values"
 msgstr "连接空白折行的值"
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:107
 msgid "set parsing options"
 msgstr "设置解析选项"
 
 msgid "set parsing options"
 msgstr "设置解析选项"
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:109
+msgid "do not treat --- specially"
+msgstr "不要对 --- 特殊处理"
+
+#: builtin/interpret-trailers.c:110
 msgid "trailer"
 msgstr "尾部署名"
 
 msgid "trailer"
 msgstr "尾部署名"
 
-#: builtin/interpret-trailers.c:108
+#: builtin/interpret-trailers.c:111
 msgid "trailer(s) to add"
 msgstr "要添加的尾部署名"
 
 msgid "trailer(s) to add"
 msgstr "要添加的尾部署名"
 
-#: builtin/interpret-trailers.c:117
+#: builtin/interpret-trailers.c:120
 msgid "--trailer with --only-input does not make sense"
 msgstr "--trailer 和 --only-input 同时使用没有意义"
 
 msgid "--trailer with --only-input does not make sense"
 msgstr "--trailer 和 --only-input 同时使用没有意义"
 
-#: builtin/interpret-trailers.c:127
+#: builtin/interpret-trailers.c:130
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
-#: builtin/log.c:51
+#: builtin/log.c:54
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
-#: builtin/log.c:52
+#: builtin/log.c:55
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:96
+#: builtin/log.c:99
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:157
+#: builtin/log.c:162
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:158
+#: builtin/log.c:163
 msgid "show source"
 msgstr "显示源"
 
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:159
+#: builtin/log.c:164
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:161
+#: builtin/log.c:166
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
-#: builtin/log.c:163
+#: builtin/log.c:168
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
-#: builtin/log.c:164
+#: builtin/log.c:169
 msgid "decorate options"
 msgstr "修饰选项"
 
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:167
+#: builtin/log.c:172
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
-#: builtin/log.c:265
+#: builtin/log.c:270
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:516
+#: builtin/log.c:522
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:531 builtin/log.c:625
+#: builtin/log.c:537 builtin/log.c:631
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:649
+#: builtin/log.c:655
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:770
+#: builtin/log.c:776
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:871
+#: builtin/log.c:877
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:887
+#: builtin/log.c:893
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:904
+#: builtin/log.c:910
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:914
+#: builtin/log.c:920
 msgid "Not a range."
 msgstr "不是一个范围。"
 
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:1020
+#: builtin/log.c:1043
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:1101
+#: builtin/log.c:1119
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1128
+#: builtin/log.c:1146
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1178
+#: builtin/log.c:1204
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1285 builtin/log.c:1945 builtin/log.c:1947 builtin/log.c:1959
+#: builtin/log.c:1311 builtin/log.c:2054 builtin/log.c:2056 builtin/log.c:2068
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1295 builtin/notes.c:889 builtin/tag.c:524
+#: builtin/log.c:1321 builtin/notes.c:894 builtin/tag.c:526
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/log.c:1300
+#: builtin/log.c:1326
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
-#: builtin/log.c:1304
+#: builtin/log.c:1330
 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"
 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"
@@ -11703,226 +12269,276 @@ msgstr ""
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交。"
 
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交。"
 
-#: builtin/log.c:1324
+#: builtin/log.c:1350
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1335
+#: builtin/log.c:1361
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1339
+#: builtin/log.c:1365
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1392
+#: builtin/log.c:1418
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1452
+#: builtin/log.c:1470
+msgid "failed to infer range-diff ranges"
+msgstr "无法推断 range-diff 范围"
+
+#: builtin/log.c:1515
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1455
+#: builtin/log.c:1518
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1459
+#: builtin/log.c:1522
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1461
+#: builtin/log.c:1524
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1526
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1464
+#: builtin/log.c:1527
 msgid "sfx"
 msgstr "后缀"
 
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1465
+#: builtin/log.c:1528
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1530
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1532
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1471
+#: builtin/log.c:1534
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
-#: builtin/log.c:1474
+#: builtin/log.c:1537
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1477
+#: builtin/log.c:1540
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1480
+#: builtin/log.c:1543
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1546
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1485
+#: builtin/log.c:1548
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1487
+#: builtin/log.c:1550
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1489
+#: builtin/log.c:1552
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1554
 msgid "Messaging"
 msgstr "邮件发送"
 
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1492
+#: builtin/log.c:1555
 msgid "header"
 msgstr "header"
 
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1493
+#: builtin/log.c:1556
 msgid "add email header"
 msgstr "添加邮件头"
 
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1494 builtin/log.c:1496
+#: builtin/log.c:1557 builtin/log.c:1559
 msgid "email"
 msgstr "邮件地址"
 
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1494
+#: builtin/log.c:1557
 msgid "add To: header"
 msgstr "添加收件人"
 
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1496
+#: builtin/log.c:1559
 msgid "add Cc: header"
 msgstr "添加抄送"
 
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1498
+#: builtin/log.c:1561
 msgid "ident"
 msgstr "标识"
 
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1499
+#: builtin/log.c:1562
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1501
+#: builtin/log.c:1564
 msgid "message-id"
 msgstr "邮件标识"
 
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1502
+#: builtin/log.c:1565
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1503 builtin/log.c:1506
+#: builtin/log.c:1566 builtin/log.c:1569
 msgid "boundary"
 msgstr "边界"
 
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1504
+#: builtin/log.c:1567
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1507
+#: builtin/log.c:1570
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1511
+#: builtin/log.c:1574
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1513
+#: builtin/log.c:1576
 msgid "signature"
 msgstr "签名"
 
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1514
+#: builtin/log.c:1577
 msgid "add a signature"
 msgstr "添加一个签名"
 
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1515
+#: builtin/log.c:1578
 msgid "base-commit"
 msgstr "基线提交"
 
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1516
+#: builtin/log.c:1579
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1518
+#: builtin/log.c:1581
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1519
+#: builtin/log.c:1582
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1521
+#: builtin/log.c:1584
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1585
+msgid "rev"
+msgstr "版本"
+
+#: builtin/log.c:1586
+msgid "show changes against <rev> in cover letter or single patch"
+msgstr "在附函或单个补丁中显示和 <rev> 的差异"
+
+#: builtin/log.c:1589
+msgid "show changes against <refspec> in cover letter or single patch"
+msgstr "在附函或单个补丁中显示和 <refspec> 的差异"
+
+#: builtin/log.c:1591
+msgid "percentage by which creation is weighted"
+msgstr "创建权重的百分比"
+
+#: builtin/log.c:1666
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1681
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
-#: builtin/log.c:1613
+#: builtin/log.c:1683
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1691
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1693
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1625
+#: builtin/log.c:1695
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1657
+#: builtin/log.c:1727
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1659
+#: builtin/log.c:1729
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1752
+#: builtin/log.c:1816
+msgid "--interdiff requires --cover-letter or single patch"
+msgstr "--interdiff 需要 --cover-letter 或单一补丁"
+
+#: builtin/log.c:1820
+msgid "Interdiff:"
+msgstr "版本间差异:"
+
+#: builtin/log.c:1821
+#, c-format
+msgid "Interdiff against v%d:"
+msgstr "对 v%d 的版本差异:"
+
+#: builtin/log.c:1827
+msgid "--creation-factor requires --range-diff"
+msgstr "--creation-factor 需要 --range-diff"
+
+#: builtin/log.c:1831
+msgid "--range-diff requires --cover-letter or single patch"
+msgstr "--range-diff 需要 --cover-letter 或单一补丁"
+
+#: builtin/log.c:1839
+msgid "Range-diff:"
+msgstr "范围差异:"
+
+#: builtin/log.c:1840
+#, c-format
+msgid "Range-diff against v%d:"
+msgstr "对 v%d 的范围差异:"
+
+#: builtin/log.c:1851
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1887
 msgid "Generating patches"
 msgstr "生成补丁"
 
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:1829
+#: builtin/log.c:1931
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1880
+#: builtin/log.c:1989
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1934
+#: builtin/log.c:2043
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -11932,103 +12548,103 @@ msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:518
+#: builtin/ls-files.c:525
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:520
+#: builtin/ls-files.c:527
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:529
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "使用小写字母表示 'fsmonitor clean' 文件"
 
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "使用小写字母表示 'fsmonitor clean' 文件"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:531
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:533
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:535
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:537
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:539
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:542
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:544
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:539
+#: builtin/ls-files.c:546
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:541
+#: builtin/ls-files.c:548
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:550
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:546
+#: builtin/ls-files.c:553
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:555
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:557
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:560
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:563
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:558
+#: builtin/ls-files.c:565
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:569
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:564
+#: builtin/ls-files.c:572
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:566
+#: builtin/ls-files.c:574
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:575
 msgid "tree-ish"
 msgstr "树或提交"
 
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:568
+#: builtin/ls-files.c:576
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:570
+#: builtin/ls-files.c:578
 msgid "show debugging data"
 msgstr "显示调试数据"
 
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -12046,7 +12662,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:903
 msgid "exec"
 msgstr "exec"
 
 msgid "exec"
 msgstr "exec"
 
@@ -12119,181 +12735,181 @@ msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
 
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
 
-#: builtin/merge.c:51
+#: builtin/merge.c:52
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<选项>] [<提交>...]"
 
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<选项>] [<提交>...]"
 
-#: builtin/merge.c:52
+#: builtin/merge.c:53
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:53
+#: builtin/merge.c:54
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:110
+#: builtin/merge.c:111
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:176
+#: builtin/merge.c:177
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:177
+#: builtin/merge.c:178
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:182
+#: builtin/merge.c:183
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:232 builtin/pull.c:142
+#: builtin/merge.c:234 builtin/pull.c:143
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:235 builtin/pull.c:145
+#: builtin/merge.c:237 builtin/pull.c:146
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:236 builtin/pull.c:148
+#: builtin/merge.c:238 builtin/pull.c:149
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:238 builtin/pull.c:151
+#: builtin/merge.c:240 builtin/pull.c:152
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:241 builtin/pull.c:157
+#: builtin/merge.c:243 builtin/pull.c:158
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:243 builtin/pull.c:160
+#: builtin/merge.c:245 builtin/pull.c:161
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:245 builtin/pull.c:163
+#: builtin/merge.c:247 builtin/pull.c:164
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:246
+#: builtin/merge.c:248
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:248 builtin/pull.c:169
+#: builtin/merge.c:250 builtin/pull.c:170
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:252 builtin/pull.c:172
+#: builtin/merge.c:254 builtin/pull.c:173
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:253 builtin/notes.c:779 builtin/pull.c:176
-#: builtin/revert.c:110
+#: builtin/merge.c:255 builtin/notes.c:784 builtin/pull.c:177
+#: builtin/rebase.c:916 builtin/rebase--interactive.c:186 builtin/revert.c:110
 msgid "strategy"
 msgstr "策略"
 
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:254 builtin/pull.c:177
+#: builtin/merge.c:256 builtin/pull.c:178
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:255 builtin/pull.c:180
+#: builtin/merge.c:257 builtin/pull.c:181
 msgid "option=value"
 msgstr "option=value"
 
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:256 builtin/pull.c:181
+#: builtin/merge.c:258 builtin/pull.c:182
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:258
+#: builtin/merge.c:260
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:267
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:267
+#: builtin/merge.c:269
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
-#: builtin/merge.c:269 builtin/pull.c:188
+#: builtin/merge.c:271 builtin/pull.c:189
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:275
+#: builtin/merge.c:277
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
-#: builtin/merge.c:300
+#: builtin/merge.c:302
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
-#: builtin/merge.c:305
+#: builtin/merge.c:307
 msgid "stash failed"
 msgstr "贮藏失败"
 
 msgid "stash failed"
 msgstr "贮藏失败"
 
-#: builtin/merge.c:310
+#: builtin/merge.c:312
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:332 builtin/merge.c:349
+#: builtin/merge.c:334 builtin/merge.c:351
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:379
+#: builtin/merge.c:381
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:390
+#: builtin/merge.c:392
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:440
+#: builtin/merge.c:442
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:491
+#: builtin/merge.c:493
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:578
+#: builtin/merge.c:580
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:699
+#: builtin/merge.c:701
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:713
+#: builtin/merge.c:715
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:728
+#: builtin/merge.c:730
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:779
+#: builtin/merge.c:782
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:788
+#: builtin/merge.c:791
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:794
+#: builtin/merge.c:797
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -12307,68 +12923,68 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:830
+#: builtin/merge.c:833
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:849
+#: builtin/merge.c:852
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:902
+#: builtin/merge.c:905
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:941
+#: builtin/merge.c:944
 msgid "No current branch."
 msgstr "没有当前分支。"
 
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:943
+#: builtin/merge.c:946
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:945
+#: builtin/merge.c:948
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:950
+#: builtin/merge.c:953
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1007
+#: builtin/merge.c:1010
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1110
+#: builtin/merge.c:1113
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1144
+#: builtin/merge.c:1147
 msgid "not something we can merge"
 msgstr "不能合并"
 
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1247
+#: builtin/merge.c:1250
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1254
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1263
+#: builtin/merge.c:1266
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1270
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1283
+#: builtin/merge.c:1286
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -12376,7 +12992,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1293
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -12384,153 +13000,133 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1296
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1302
+#: builtin/merge.c:1305
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1310
+#: builtin/merge.c:1313
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1327
+#: builtin/merge.c:1330
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1329
+#: builtin/merge.c:1332
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1337
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1336
+#: builtin/merge.c:1339
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1370
-#, c-format
-msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
-msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
-
-#: builtin/merge.c:1373
-#, c-format
-msgid "Commit %s has a bad GPG signature allegedly by %s."
-msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
-
-#: builtin/merge.c:1376
-#, c-format
-msgid "Commit %s does not have a GPG signature."
-msgstr "提交 %s 没有一个 GPG 签名。"
-
-#: builtin/merge.c:1379
-#, c-format
-msgid "Commit %s has a good GPG signature by %s\n"
-msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
-
-#: builtin/merge.c:1438
+#: builtin/merge.c:1421
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1447
+#: builtin/merge.c:1430
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1457
+#: builtin/merge.c:1440
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1498
+#: builtin/merge.c:1482
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1505
+#: builtin/merge.c:1489
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1530
+#: builtin/merge.c:1514
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1536
+#: builtin/merge.c:1520
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1559 builtin/merge.c:1638
+#: builtin/merge.c:1543 builtin/merge.c:1622
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1563
+#: builtin/merge.c:1547
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1629
+#: builtin/merge.c:1613
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1631
+#: builtin/merge.c:1615
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1640
+#: builtin/merge.c:1624
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1652
+#: builtin/merge.c:1636
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
 
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
 
-#: builtin/merge-base.c:31
+#: builtin/merge-base.c:32
 msgid "git merge-base [-a | --all] <commit> <commit>..."
 msgstr "git merge-base [-a | --all] <提交> <提交>..."
 
 msgid "git merge-base [-a | --all] <commit> <commit>..."
 msgstr "git merge-base [-a | --all] <提交> <提交>..."
 
-#: builtin/merge-base.c:32
+#: builtin/merge-base.c:33
 msgid "git merge-base [-a | --all] --octopus <commit>..."
 msgstr "git merge-base [-a | --all] --octopus <提交>..."
 
 msgid "git merge-base [-a | --all] --octopus <commit>..."
 msgstr "git merge-base [-a | --all] --octopus <提交>..."
 
-#: builtin/merge-base.c:33
+#: builtin/merge-base.c:34
 msgid "git merge-base --independent <commit>..."
 msgstr "git merge-base --independent <提交>..."
 
 msgid "git merge-base --independent <commit>..."
 msgstr "git merge-base --independent <提交>..."
 
-#: builtin/merge-base.c:34
+#: builtin/merge-base.c:35
 msgid "git merge-base --is-ancestor <commit> <commit>"
 msgstr "git merge-base --is-ancestor <提交> <提交>"
 
 msgid "git merge-base --is-ancestor <commit> <commit>"
 msgstr "git merge-base --is-ancestor <提交> <提交>"
 
-#: builtin/merge-base.c:35
+#: builtin/merge-base.c:36
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <引用> [<提交>]"
 
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <引用> [<提交>]"
 
-#: builtin/merge-base.c:221
+#: builtin/merge-base.c:153
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
-#: builtin/merge-base.c:223
+#: builtin/merge-base.c:155
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
-#: builtin/merge-base.c:225
+#: builtin/merge-base.c:157
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
-#: builtin/merge-base.c:227
+#: builtin/merge-base.c:159
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
-#: builtin/merge-base.c:229
+#: builtin/merge-base.c:161
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
@@ -12542,35 +13138,35 @@ msgstr ""
 "git merge-file [<选项>] [-L <文件1> [-L <初始> [-L <名字2>]]] <文件1> <初始文"
 "件> <文件2>"
 
 "git merge-file [<选项>] [-L <文件1> [-L <初始> [-L <名字2>]]] <文件1> <初始文"
 "件> <文件2>"
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:35
 msgid "send results to standard output"
 msgstr "将结果发送到标准输出"
 
 msgid "send results to standard output"
 msgstr "将结果发送到标准输出"
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:36
 msgid "use a diff3 based merge"
 msgstr "使用基于 diff3 的合并"
 
 msgid "use a diff3 based merge"
 msgstr "使用基于 diff3 的合并"
 
-#: builtin/merge-file.c:35
+#: builtin/merge-file.c:37
 msgid "for conflicts, use our version"
 msgstr "如果冲突,使用我们的版本"
 
 msgid "for conflicts, use our version"
 msgstr "如果冲突,使用我们的版本"
 
-#: builtin/merge-file.c:37
+#: builtin/merge-file.c:39
 msgid "for conflicts, use their version"
 msgstr "如果冲突,使用他们的版本"
 
 msgid "for conflicts, use their version"
 msgstr "如果冲突,使用他们的版本"
 
-#: builtin/merge-file.c:39
+#: builtin/merge-file.c:41
 msgid "for conflicts, use a union version"
 msgstr "如果冲突,使用联合版本"
 
 msgid "for conflicts, use a union version"
 msgstr "如果冲突,使用联合版本"
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:44
 msgid "for conflicts, use this marker size"
 msgstr "如果冲突,使用指定长度的标记"
 
 msgid "for conflicts, use this marker size"
 msgstr "如果冲突,使用指定长度的标记"
 
-#: builtin/merge-file.c:43
+#: builtin/merge-file.c:45
 msgid "do not warn about conflicts"
 msgstr "不要警告冲突"
 
 msgid "do not warn about conflicts"
 msgstr "不要警告冲突"
 
-#: builtin/merge-file.c:45
+#: builtin/merge-file.c:47
 msgid "set labels for file1/orig-file/file2"
 msgstr "为 文件1/初始文件/文件2 设置标签"
 
 msgid "set labels for file1/orig-file/file2"
 msgstr "为 文件1/初始文件/文件2 设置标签"
 
@@ -12621,6 +13217,23 @@ msgstr "允许丢失的对象"
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
+#: builtin/multi-pack-index.c:8
+msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
+msgstr "git multi-pack-index [--object-dir=<目录>] (write|verify)"
+
+#: builtin/multi-pack-index.c:21
+msgid "object directory containing set of packfile and pack-index pairs"
+msgstr "包含成对包文件和包索引的对象目录"
+
+#: builtin/multi-pack-index.c:39
+msgid "too many arguments"
+msgstr "太多参数"
+
+#: builtin/multi-pack-index.c:48
+#, c-format
+msgid "unrecognized verb: %s"
+msgstr "未能识别的动作:%s"
+
 #: builtin/mv.c:17
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
 #: builtin/mv.c:17
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
@@ -12708,7 +13321,7 @@ msgstr "%s,源=%s,目标=%s"
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:276 builtin/remote.c:716 builtin/repack.c:494
+#: builtin/mv.c:276 builtin/remote.c:717 builtin/repack.c:511
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -12897,39 +13510,34 @@ msgstr "不能写注解对象"
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:236 builtin/tag.c:508
-#, c-format
-msgid "cannot read '%s'"
-msgstr "不能读取 '%s'"
-
-#: builtin/notes.c:238 builtin/tag.c:511
+#: builtin/notes.c:242 builtin/tag.c:513
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
-#: builtin/notes.c:257 builtin/notes.c:308 builtin/notes.c:310
-#: builtin/notes.c:378 builtin/notes.c:433 builtin/notes.c:519
-#: builtin/notes.c:524 builtin/notes.c:602 builtin/notes.c:664
+#: builtin/notes.c:263 builtin/notes.c:313 builtin/notes.c:315
+#: builtin/notes.c:383 builtin/notes.c:438 builtin/notes.c:524
+#: builtin/notes.c:529 builtin/notes.c:607 builtin/notes.c:669
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/notes.c:260
+#: builtin/notes.c:265
 #, c-format
 msgid "failed to read object '%s'."
 msgstr "读取对象 '%s' 失败。"
 
 #, c-format
 msgid "failed to read object '%s'."
 msgstr "读取对象 '%s' 失败。"
 
-#: builtin/notes.c:264
+#: builtin/notes.c:268
 #, c-format
 msgid "cannot read note data from non-blob object '%s'."
 msgstr "不能从非数据对象 '%s' 中读取注解数据。"
 
 #, c-format
 msgid "cannot read note data from non-blob object '%s'."
 msgstr "不能从非数据对象 '%s' 中读取注解数据。"
 
-#: builtin/notes.c:304
+#: builtin/notes.c:309
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "格式错误的输入行:'%s'。"
 
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "格式错误的输入行:'%s'。"
 
-#: builtin/notes.c:319
+#: builtin/notes.c:324
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
@@ -12937,88 +13545,88 @@ msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
-#: builtin/notes.c:351
+#: builtin/notes.c:356
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %2$s(在 refs/notes/ 之外)%1$s注解"
 
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %2$s(在 refs/notes/ 之外)%1$s注解"
 
-#: builtin/notes.c:371 builtin/notes.c:426 builtin/notes.c:502
-#: builtin/notes.c:514 builtin/notes.c:590 builtin/notes.c:657
-#: builtin/notes.c:807 builtin/notes.c:954 builtin/notes.c:975
+#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:507
+#: builtin/notes.c:519 builtin/notes.c:595 builtin/notes.c:662
+#: builtin/notes.c:812 builtin/notes.c:959 builtin/notes.c:980
 msgid "too many parameters"
 msgstr "参数太多"
 
 msgid "too many parameters"
 msgstr "参数太多"
 
-#: builtin/notes.c:384 builtin/notes.c:670
+#: builtin/notes.c:389 builtin/notes.c:675
 #, c-format
 msgid "no note found for object %s."
 msgstr "未发现对象 %s 的注解。"
 
 #, c-format
 msgid "no note found for object %s."
 msgstr "未发现对象 %s 的注解。"
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:410 builtin/notes.c:573
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
-#: builtin/notes.c:408 builtin/notes.c:571
+#: builtin/notes.c:413 builtin/notes.c:576
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
-#: builtin/notes.c:411 builtin/notes.c:574
+#: builtin/notes.c:416 builtin/notes.c:579
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
-#: builtin/notes.c:414 builtin/notes.c:577
+#: builtin/notes.c:419 builtin/notes.c:582
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
-#: builtin/notes.c:417 builtin/notes.c:580
+#: builtin/notes.c:422 builtin/notes.c:585
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
-#: builtin/notes.c:418 builtin/notes.c:489
+#: builtin/notes.c:423 builtin/notes.c:494
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
-#: builtin/notes.c:443
+#: builtin/notes.c:448
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:458 builtin/notes.c:537
+#: builtin/notes.c:463 builtin/notes.c:542
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
-#: builtin/notes.c:469 builtin/notes.c:629 builtin/notes.c:894
+#: builtin/notes.c:474 builtin/notes.c:634 builtin/notes.c:899
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
 
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
 
-#: builtin/notes.c:490
+#: builtin/notes.c:495
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/notes.c:492
+#: builtin/notes.c:497
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
-#: builtin/notes.c:510
+#: builtin/notes.c:515
 msgid "too few parameters"
 msgstr "参数太少"
 
 msgid "too few parameters"
 msgstr "参数太少"
 
-#: builtin/notes.c:531
+#: builtin/notes.c:536
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能拷贝注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能拷贝注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:543
+#: builtin/notes.c:548
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr "源对象 %s 缺少注解。不能拷贝。"
 
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr "源对象 %s 缺少注解。不能拷贝。"
 
-#: builtin/notes.c:595
+#: builtin/notes.c:600
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -13027,97 +13635,97 @@ msgstr ""
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
-#: builtin/notes.c:690
+#: builtin/notes.c:695
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "删除引用 NOTES_MERGE_PARTIAL 失败"
 
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "删除引用 NOTES_MERGE_PARTIAL 失败"
 
-#: builtin/notes.c:692
+#: builtin/notes.c:697
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "删除引用 NOTES_MERGE_REF 失败"
 
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "删除引用 NOTES_MERGE_REF 失败"
 
-#: builtin/notes.c:694
+#: builtin/notes.c:699
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "删除 'git notes merge' 工作区失败"
 
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "删除 'git notes merge' 工作区失败"
 
-#: builtin/notes.c:714
+#: builtin/notes.c:719
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "读取引用 NOTES_MERGE_PARTIAL 失败"
 
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "读取引用 NOTES_MERGE_PARTIAL 失败"
 
-#: builtin/notes.c:716
+#: builtin/notes.c:721
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "无法从 NOTES_MERGE_PARTIAL 中找到提交。"
 
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "无法从 NOTES_MERGE_PARTIAL 中找到提交。"
 
-#: builtin/notes.c:718
+#: builtin/notes.c:723
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "无法从 NOTES_MERGE_PARTIAL 中解析提交。"
 
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "无法从 NOTES_MERGE_PARTIAL 中解析提交。"
 
-#: builtin/notes.c:731
+#: builtin/notes.c:736
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "解析 NOTES_MERGE_REF 失败"
 
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "解析 NOTES_MERGE_REF 失败"
 
-#: builtin/notes.c:734
+#: builtin/notes.c:739
 msgid "failed to finalize notes merge"
 msgstr "无法完成注解合并"
 
 msgid "failed to finalize notes merge"
 msgstr "无法完成注解合并"
 
-#: builtin/notes.c:760
+#: builtin/notes.c:765
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "未知的注解合并策略 %s"
 
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "未知的注解合并策略 %s"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:781
 msgid "General options"
 msgstr "通用选项"
 
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:778
+#: builtin/notes.c:783
 msgid "Merge options"
 msgstr "合并选项"
 
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:780
+#: builtin/notes.c:785
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr "使用指定的策略解决注解冲突 (manual/ours/theirs/union/cat_sort_uniq)"
 
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr "使用指定的策略解决注解冲突 (manual/ours/theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:782
+#: builtin/notes.c:787
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:784
+#: builtin/notes.c:789
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:786
+#: builtin/notes.c:791
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:788
+#: builtin/notes.c:793
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:799
+#: builtin/notes.c:804
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "不能混用 --commit、--abort 或 -s/--strategy"
 
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "不能混用 --commit、--abort 或 -s/--strategy"
 
-#: builtin/notes.c:804
+#: builtin/notes.c:809
 msgid "must specify a notes ref to merge"
 msgstr "必须指定一个注解引用来合并"
 
 msgid "must specify a notes ref to merge"
 msgstr "必须指定一个注解引用来合并"
 
-#: builtin/notes.c:828
+#: builtin/notes.c:833
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "未知的 -s/--strategy:%s"
 
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "未知的 -s/--strategy:%s"
 
-#: builtin/notes.c:865
+#: builtin/notes.c:870
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "位于 %2$s 的一个到 %1$s 中的注解合并正在执行中"
 
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "位于 %2$s 的一个到 %1$s 中的注解合并正在执行中"
 
-#: builtin/notes.c:868
+#: builtin/notes.c:873
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr "无法存储链接到当前的注解引用(%s)"
 
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr "无法存储链接到当前的注解引用(%s)"
 
-#: builtin/notes.c:870
+#: builtin/notes.c:875
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -13127,169 +13735,169 @@ msgstr ""
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
-#: builtin/notes.c:892
+#: builtin/notes.c:897
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
-#: builtin/notes.c:904
+#: builtin/notes.c:909
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
-#: builtin/notes.c:907
+#: builtin/notes.c:912
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:945 builtin/prune.c:108 builtin/worktree.c:152
+#: builtin/notes.c:950 builtin/prune.c:108 builtin/worktree.c:164
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/notes.c:946
+#: builtin/notes.c:951
 msgid "report pruned notes"
 msgstr "报告清除的注解"
 
 msgid "report pruned notes"
 msgstr "报告清除的注解"
 
-#: builtin/notes.c:988
+#: builtin/notes.c:993
 msgid "notes-ref"
 msgstr "注解引用"
 
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:989
+#: builtin/notes.c:994
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1024
+#: builtin/notes.c:1029
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:48
+#: builtin/pack-objects.c:51
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:49
+#: builtin/pack-objects.c:52
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:414
+#: builtin/pack-objects.c:422
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "%s 错的包对象 CRC"
 
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "%s 错的包对象 CRC"
 
-#: builtin/pack-objects.c:425
+#: builtin/pack-objects.c:433
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "%s 损坏的包对象"
 
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "%s 损坏的包对象"
 
-#: builtin/pack-objects.c:556
+#: builtin/pack-objects.c:564
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "发现对象 %s 递归 delta"
 
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "发现对象 %s 递归 delta"
 
-#: builtin/pack-objects.c:756
+#: builtin/pack-objects.c:775
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
 
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:769
+#: builtin/pack-objects.c:788
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "无效的包文件:%s"
 
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "无效的包文件:%s"
 
-#: builtin/pack-objects.c:773
+#: builtin/pack-objects.c:792
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "无法为重用打开包文件:%s"
 
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "无法为重用打开包文件:%s"
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:796
 msgid "unable to seek in reused packfile"
 msgstr "无法在重用的包文件中查找"
 
 msgid "unable to seek in reused packfile"
 msgstr "无法在重用的包文件中查找"
 
-#: builtin/pack-objects.c:788
+#: builtin/pack-objects.c:807
 msgid "unable to read from reused packfile"
 msgstr "无法读取索引文件"
 
 msgid "unable to read from reused packfile"
 msgstr "无法读取索引文件"
 
-#: builtin/pack-objects.c:816
+#: builtin/pack-objects.c:835
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:829
+#: builtin/pack-objects.c:848
 msgid "Writing objects"
 msgstr "写入对象中"
 
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:891 builtin/update-index.c:88
+#: builtin/pack-objects.c:910 builtin/update-index.c:88
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
 
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
 
-#: builtin/pack-objects.c:944
+#: builtin/pack-objects.c:963
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:1112
+#: builtin/pack-objects.c:1157
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:1489
+#: builtin/pack-objects.c:1585
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1498
+#: builtin/pack-objects.c:1594
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1771
+#: builtin/pack-objects.c:1863
 msgid "Counting objects"
 msgstr "对象计数中"
 
 msgid "Counting objects"
 msgstr "对象计数中"
 
-#: builtin/pack-objects.c:1913
+#: builtin/pack-objects.c:1998
 #, c-format
 msgid "unable to get size of %s"
 msgstr "不能得到 %s 的大小"
 
 #, c-format
 msgid "unable to get size of %s"
 msgstr "不能得到 %s 的大小"
 
-#: builtin/pack-objects.c:1928
+#: builtin/pack-objects.c:2013
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "无法解析对象 %s 头信息"
 
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "无法解析对象 %s 头信息"
 
-#: builtin/pack-objects.c:1995 builtin/pack-objects.c:2011
-#: builtin/pack-objects.c:2021
+#: builtin/pack-objects.c:2083 builtin/pack-objects.c:2099
+#: builtin/pack-objects.c:2109
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
-#: builtin/pack-objects.c:1998 builtin/pack-objects.c:2025
+#: builtin/pack-objects.c:2086 builtin/pack-objects.c:2113
 #, c-format
 #, c-format
-msgid "object %s inconsistent object length (%lu vs %lu)"
-msgstr "对象 %s 的长度不一致(%lu vs %lu)"
+msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
+msgstr "对象 %s 不一致的对象长度(%<PRIuMAX> vs %<PRIuMAX>)"
 
 
-#: builtin/pack-objects.c:2035
+#: builtin/pack-objects.c:2123
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
-#: builtin/pack-objects.c:2366
+#: builtin/pack-objects.c:2451
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
-#: builtin/pack-objects.c:2502
+#: builtin/pack-objects.c:2583
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
-#: builtin/pack-objects.c:2586
+#: builtin/pack-objects.c:2670
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2592
+#: builtin/pack-objects.c:2676
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
 #
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
 #
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2753
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -13298,7 +13906,7 @@ msgstr ""
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:2677
+#: builtin/pack-objects.c:2759
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -13307,230 +13915,234 @@ msgstr ""
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2857
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
-#: builtin/pack-objects.c:2816 builtin/pack-objects.c:2924
+#: builtin/pack-objects.c:2916 builtin/pack-objects.c:3024
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2947
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
-#: builtin/pack-objects.c:2932
+#: builtin/pack-objects.c:3032
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
-#: builtin/pack-objects.c:3019
+#: builtin/pack-objects.c:3122
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
-#: builtin/pack-objects.c:3022
+#: builtin/pack-objects.c:3125
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
-#: builtin/pack-objects.c:3042
+#: builtin/pack-objects.c:3150
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
-#: builtin/pack-objects.c:3092
+#: builtin/pack-objects.c:3203
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:3096
+#: builtin/pack-objects.c:3207
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3127
+#: builtin/pack-objects.c:3237
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:3129
+#: builtin/pack-objects.c:3239
 msgid "show progress meter"
 msgstr "显示进度表"
 
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:3131
+#: builtin/pack-objects.c:3241
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:3134
+#: builtin/pack-objects.c:3244
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:3135
+#: builtin/pack-objects.c:3245
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3246
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:3139
+#: builtin/pack-objects.c:3249
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:3141
+#: builtin/pack-objects.c:3251
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:3143
+#: builtin/pack-objects.c:3253
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:3145
+#: builtin/pack-objects.c:3255
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:3147
+#: builtin/pack-objects.c:3257
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:3149
+#: builtin/pack-objects.c:3259
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:3151
+#: builtin/pack-objects.c:3261
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:3153
+#: builtin/pack-objects.c:3263
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:3155
+#: builtin/pack-objects.c:3265
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:3157
+#: builtin/pack-objects.c:3267
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:3159
+#: builtin/pack-objects.c:3269
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3271
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:3163
+#: builtin/pack-objects.c:3273
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:3166
+#: builtin/pack-objects.c:3276
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3169
+#: builtin/pack-objects.c:3279
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3172
+#: builtin/pack-objects.c:3282
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3175
+#: builtin/pack-objects.c:3285
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3287
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:3179
+#: builtin/pack-objects.c:3289
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3181
+#: builtin/pack-objects.c:3291
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3183
+#: builtin/pack-objects.c:3293
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3186
+#: builtin/pack-objects.c:3296
 msgid "create thin packs"
 msgstr "创建精简包"
 
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3188
+#: builtin/pack-objects.c:3298
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3190
+#: builtin/pack-objects.c:3300
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3192
+#: builtin/pack-objects.c:3302
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
-#: builtin/pack-objects.c:3194
+#: builtin/pack-objects.c:3304
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3196
+#: builtin/pack-objects.c:3306
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3198
+#: builtin/pack-objects.c:3308
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:3200
+#: builtin/pack-objects.c:3310
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:3203
+#: builtin/pack-objects.c:3313
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3206
+#: builtin/pack-objects.c:3316
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3230
+#: builtin/pack-objects.c:3318
+msgid "respect islands during delta compression"
+msgstr "在增量压缩时参考数据岛"
+
+#: builtin/pack-objects.c:3342
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "增量链深度 %d 太深了,强制为 %d"
 
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "增量链深度 %d 太深了,强制为 %d"
 
-#: builtin/pack-objects.c:3235
+#: builtin/pack-objects.c:3347
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "配置 pack.deltaCacheLimit 太高了,强制为 %d"
 
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "配置 pack.deltaCacheLimit 太高了,强制为 %d"
 
-#: builtin/pack-objects.c:3291
+#: builtin/pack-objects.c:3401
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3403
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3408
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
-#: builtin/pack-objects.c:3301
+#: builtin/pack-objects.c:3411
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
 
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3417
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
-#: builtin/pack-objects.c:3363
+#: builtin/pack-objects.c:3476
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
-#: builtin/pack-objects.c:3382
+#: builtin/pack-objects.c:3495
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr "总共 %<PRIu32> (差异 %<PRIu32>),复用 %<PRIu32> (差异 %<PRIu32>)"
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr "总共 %<PRIu32> (差异 %<PRIu32>),复用 %<PRIu32> (差异 %<PRIu32>)"
@@ -13571,70 +14183,74 @@ msgstr "使早于给定时间的对象过期"
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
-#: builtin/prune.c:128
+#: builtin/prune.c:129
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
-#: builtin/pull.c:59 builtin/pull.c:61
+#: builtin/pull.c:60 builtin/pull.c:62
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: builtin/pull.c:81
+#: builtin/pull.c:82
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:132
+#: builtin/pull.c:133
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
-#: builtin/pull.c:136
+#: builtin/pull.c:137
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:139
+#: builtin/pull.c:140
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:122
+#: builtin/pull.c:167 builtin/rebase--interactive.c:147 builtin/revert.c:122
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:175
+#: builtin/pull.c:176
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/pull.c:191
+#: builtin/pull.c:192
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:209
+#: builtin/pull.c:202
+msgid "force overwrite of local branch"
+msgstr "强制覆盖本地分支"
+
+#: builtin/pull.c:210
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:304
+#: builtin/pull.c:305
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:420
+#: builtin/pull.c:421
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:422
+#: builtin/pull.c:423
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:423
+#: builtin/pull.c:424
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:426
+#: builtin/pull.c:427
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -13644,42 +14260,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:431 git-parse-remote.sh:73
+#: builtin/pull.c:432 builtin/rebase.c:761 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:433 builtin/pull.c:448 git-parse-remote.sh:79
+#: builtin/pull.c:434 builtin/pull.c:449 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:82
+#: builtin/pull.c:436 builtin/pull.c:451 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:436 builtin/pull.c:451
+#: builtin/pull.c:437 builtin/pull.c:452
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:438 builtin/pull.c:444 builtin/pull.c:453
-#: git-parse-remote.sh:64
+#: builtin/pull.c:439 builtin/pull.c:445 builtin/pull.c:454
+#: builtin/rebase.c:767 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:576
-#: git-parse-remote.sh:65
+#: builtin/pull.c:439 builtin/pull.c:454 builtin/pull.c:459
+#: git-legacy-rebase.sh:556 git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:446 git-parse-remote.sh:75
+#: builtin/pull.c:447 builtin/rebase.c:759 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:455 git-parse-remote.sh:95
+#: builtin/pull.c:456 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
-#: builtin/pull.c:460
+#: builtin/pull.c:461
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -13688,27 +14304,32 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:829
+#: builtin/pull.c:565
+#, c-format
+msgid "unable to access commit %s"
+msgstr "无法访问提交 %s"
+
+#: builtin/pull.c:843
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:877
+#: builtin/pull.c:891
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
 
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
 
-#: builtin/pull.c:885
+#: builtin/pull.c:899
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:888
+#: builtin/pull.c:902
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:889
+#: builtin/pull.c:903
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:914
+#: builtin/pull.c:928
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -13718,7 +14339,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:919
+#: builtin/pull.c:934
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -13735,15 +14356,15 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:934
+#: builtin/pull.c:949
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:938
+#: builtin/pull.c:953
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:945
+#: builtin/pull.c:960
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
@@ -13778,17 +14399,17 @@ msgid ""
 "\n"
 "To push to the branch of the same name on the remote, use\n"
 "\n"
 "\n"
 "To push to the branch of the same name on the remote, use\n"
 "\n"
-"    git push %s %s\n"
+"    git push %s HEAD\n"
 "%s"
 msgstr ""
 "%s"
 msgstr ""
-"如果您当前分支的上游分支和您当前分支名不匹配,为推送到远程的\n"
-"ä¸\8a游å\88\86æ\94¯ï¼\8c使ç\94¨\n"
+"您当前分支的上游分支和您当前分支名不匹配,为推送到远程的上游分支,\n"
+"使用\n"
 "\n"
 "    git push %s HEAD:%s\n"
 "\n"
 "为推送至远程同名分支,使用\n"
 "\n"
 "\n"
 "    git push %s HEAD:%s\n"
 "\n"
 "为推送至远程同名分支,使用\n"
 "\n"
-"    git push %s %s\n"
+"    git push %s HEAD\n"
 "%s"
 
 #: builtin/push.c:183
 "%s"
 
 #: builtin/push.c:183
@@ -14035,24 +14656,24 @@ msgstr "git range-diff [<选项>] <old-tip>...<new-tip>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<选项>] <base> <old-tip> <new-tip>"
 
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<选项>] <base> <old-tip> <new-tip>"
 
-#: builtin/range-diff.c:26
+#: builtin/range-diff.c:21
 msgid "Percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
 msgid "Percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/range-diff.c:28
+#: builtin/range-diff.c:23
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
 
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
 
-#: builtin/range-diff.c:75 builtin/range-diff.c:79
+#: builtin/range-diff.c:61 builtin/range-diff.c:65
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "没有在范围中使用 ..:'%s'"
 
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "没有在范围中使用 ..:'%s'"
 
-#: builtin/range-diff.c:89
+#: builtin/range-diff.c:75
 msgid "single arg format must be symmetric range"
 msgstr "单个参数格式必须是对称范围(即包含...)"
 
 msgid "single arg format must be symmetric range"
 msgstr "单个参数格式必须是对称范围(即包含...)"
 
-#: builtin/range-diff.c:104
+#: builtin/range-diff.c:90
 msgid "need two commit ranges"
 msgstr "需要两个提交范围"
 
 msgid "need two commit ranges"
 msgstr "需要两个提交范围"
 
@@ -14066,131 +14687,676 @@ msgstr ""
 "u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<文件>] (--empty | <树对象1> [<树对象2> [<树对象3>]])"
 
 "u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<文件>] (--empty | <树对象1> [<树对象2> [<树对象3>]])"
 
-#: builtin/read-tree.c:120
+#: builtin/read-tree.c:123
 msgid "write resulting index to <file>"
 msgstr "将索引结果写入 <文件>"
 
 msgid "write resulting index to <file>"
 msgstr "将索引结果写入 <文件>"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:126
 msgid "only empty the index"
 msgstr "只是清空索引"
 
 msgid "only empty the index"
 msgstr "只是清空索引"
 
-#: builtin/read-tree.c:125
+#: builtin/read-tree.c:128
 msgid "Merging"
 msgstr "合并"
 
 msgid "Merging"
 msgstr "合并"
 
-#: builtin/read-tree.c:127
+#: builtin/read-tree.c:130
 msgid "perform a merge in addition to a read"
 msgstr "读取之余再执行一个合并"
 
 msgid "perform a merge in addition to a read"
 msgstr "读取之余再执行一个合并"
 
-#: builtin/read-tree.c:129
+#: builtin/read-tree.c:132
 msgid "3-way merge if no file level merging required"
 msgstr "如果没有文件级合并需要,执行三方合并"
 
 msgid "3-way merge if no file level merging required"
 msgstr "如果没有文件级合并需要,执行三方合并"
 
-#: builtin/read-tree.c:131
+#: builtin/read-tree.c:134
 msgid "3-way merge in presence of adds and removes"
 msgstr "存在添加和删除时,也执行三方合并"
 
 msgid "3-way merge in presence of adds and removes"
 msgstr "存在添加和删除时,也执行三方合并"
 
-#: builtin/read-tree.c:133
+#: builtin/read-tree.c:136
 msgid "same as -m, but discard unmerged entries"
 msgstr "类似于 -m,但丢弃未合并的条目"
 
 msgid "same as -m, but discard unmerged entries"
 msgstr "类似于 -m,但丢弃未合并的条目"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:137
 msgid "<subdirectory>/"
 msgstr "<子目录>/"
 
 msgid "<subdirectory>/"
 msgstr "<子目录>/"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:138
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "读取树对象到索引的 <子目录>/ 下"
 
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "读取树对象到索引的 <子目录>/ 下"
 
-#: builtin/read-tree.c:138
+#: builtin/read-tree.c:141
 msgid "update working tree with merge result"
 msgstr "用合并的结果更新工作区"
 
 msgid "update working tree with merge result"
 msgstr "用合并的结果更新工作区"
 
-#: builtin/read-tree.c:140
+#: builtin/read-tree.c:143
 msgid "gitignore"
 msgstr "gitignore"
 
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:141
+#: builtin/read-tree.c:144
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "允许忽略文件中设定的文件可以被覆盖"
 
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "允许忽略文件中设定的文件可以被覆盖"
 
-#: builtin/read-tree.c:144
+#: builtin/read-tree.c:147
 msgid "don't check the working tree after merging"
 msgstr "合并后不检查工作区"
 
 msgid "don't check the working tree after merging"
 msgstr "合并后不检查工作区"
 
-#: builtin/read-tree.c:145
+#: builtin/read-tree.c:148
 msgid "don't update the index or the work tree"
 msgstr "不更新索引区和工作区"
 
 msgid "don't update the index or the work tree"
 msgstr "不更新索引区和工作区"
 
-#: builtin/read-tree.c:147
+#: builtin/read-tree.c:150
 msgid "skip applying sparse checkout filter"
 msgstr "跳过应用稀疏检出过滤器"
 
 msgid "skip applying sparse checkout filter"
 msgstr "跳过应用稀疏检出过滤器"
 
-#: builtin/read-tree.c:149
+#: builtin/read-tree.c:152
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
-#: builtin/rebase--helper.c:8
-msgid "git rebase--helper [<options>]"
-msgstr "git rebase--helper [<选项>]"
+#: builtin/rebase.c:29
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
+"[<branch>]"
+msgstr ""
+"git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] [<上游>] [<分支>]"
+
+#: builtin/rebase.c:31
+msgid ""
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
+msgstr ""
+"git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] --root [<分支>]"
+
+#: builtin/rebase.c:33
+msgid "git rebase --continue | --abort | --skip | --edit-todo"
+msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+
+#: builtin/rebase.c:119
+#, c-format
+msgid "%s requires an interactive rebase"
+msgstr "%s 需要交互式变基"
+
+#: builtin/rebase.c:171
+#, c-format
+msgid "could not get 'onto': '%s'"
+msgstr "无法获取 'onto':'%s'"
+
+#: builtin/rebase.c:186
+#, c-format
+msgid "invalid orig-head: '%s'"
+msgstr "无效的原始 head:'%s'"
+
+#: builtin/rebase.c:214
+#, c-format
+msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
+msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
+
+#: builtin/rebase.c:259
+#, c-format
+msgid "Could not read '%s'"
+msgstr "不能读取 '%s'"
+
+#: builtin/rebase.c:277
+#, c-format
+msgid "Cannot store %s"
+msgstr "不能存储 %s"
+
+#: builtin/rebase.c:337
+msgid ""
+"Resolve all conflicts manually, mark them as resolved with\n"
+"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
+"You can instead skip this commit: run \"git rebase --skip\".\n"
+"To abort and get back to the state before \"git rebase\", run \"git rebase --"
+"abort\"."
+msgstr ""
+"手工解决所有冲突,执行 \"git add/rm <冲突的文件>\" 标记\n"
+"冲突已解决,然后执行 \"git rebase --continue\"。您也可以执行\n"
+"\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
+"\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
+
+#: builtin/rebase.c:561
+msgid "could not determine HEAD revision"
+msgstr "不能确定 HEAD 版本"
+
+#: builtin/rebase.c:753
+#, c-format
+msgid ""
+"%s\n"
+"Please specify which branch you want to rebase against.\n"
+"See git-rebase(1) for details.\n"
+"\n"
+"    git rebase '<branch>'\n"
+"\n"
+msgstr ""
+"%s\n"
+"请指定您要变基到哪个分支。\n"
+"详见 git-rebase(1)。\n"
+"\n"
+"    git rebase '<branch>'\n"
+"\n"
+
+#: builtin/rebase.c:769
+#, c-format
+msgid ""
+"If you wish to set tracking information for this branch you can do so with:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+"\n"
+msgstr ""
+"如果您想要为此分支创建跟踪信息,您可以执行:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+"\n"
+
+#: builtin/rebase.c:832
+msgid "rebase onto given branch instead of upstream"
+msgstr "变基到给定的分支而非上游"
+
+#: builtin/rebase.c:834
+msgid "allow pre-rebase hook to run"
+msgstr "允许执行 pre-rebase 钩子"
+
+#: builtin/rebase.c:836
+msgid "be quiet. implies --no-stat"
+msgstr "安静。暗示 --no-stat"
+
+#: builtin/rebase.c:839
+msgid "display a diffstat of what changed upstream"
+msgstr "显示上游变化的 diffstat"
+
+#: builtin/rebase.c:842
+msgid "do not show diffstat of what changed upstream"
+msgstr "不显示上游变化的 diffstat"
+
+#: builtin/rebase.c:845
+msgid "add a Signed-off-by: line to each commit"
+msgstr "为每一个提交添加一个 Signed-off-by: 签名"
+
+#: builtin/rebase.c:847 builtin/rebase.c:851 builtin/rebase.c:853
+msgid "passed to 'git am'"
+msgstr "传递给 'git am'"
+
+#: builtin/rebase.c:855 builtin/rebase.c:857
+msgid "passed to 'git apply'"
+msgstr "传递给 'git apply'"
+
+#: builtin/rebase.c:859 builtin/rebase.c:862
+msgid "cherry-pick all commits, even if unchanged"
+msgstr "拣选所有提交,即使未修改"
+
+#: builtin/rebase.c:864
+msgid "continue"
+msgstr "继续"
+
+#: builtin/rebase.c:867
+msgid "skip current patch and continue"
+msgstr "跳过当前补丁并继续"
+
+#  译者:注意保持前导空格
+#: builtin/rebase.c:869
+msgid "abort and check out the original branch"
+msgstr "终止并检出原有分支"
+
+#: builtin/rebase.c:872
+msgid "abort but keep HEAD where it is"
+msgstr "终止但保持 HEAD 不变"
+
+#: builtin/rebase.c:873
+msgid "edit the todo list during an interactive rebase"
+msgstr "在交互式变基中编辑待办列表"
+
+#: builtin/rebase.c:876
+msgid "show the patch file being applied or merged"
+msgstr "显示正在应用或合并的补丁文件"
+
+#: builtin/rebase.c:879
+msgid "use merging strategies to rebase"
+msgstr "使用合并策略进行变基"
+
+#: builtin/rebase.c:883
+msgid "let the user edit the list of commits to rebase"
+msgstr "让用户编辑要变基的提交列表"
+
+#: builtin/rebase.c:887
+msgid "try to recreate merges instead of ignoring them"
+msgstr "尝试重建合并提交而非忽略它们"
+
+#: builtin/rebase.c:891
+msgid "allow rerere to update index with resolved conflict"
+msgstr "允许 rerere 用已解决的冲突更新索引"
+
+#: builtin/rebase.c:894
+msgid "preserve empty commits during rebase"
+msgstr "变基时保留空提交"
+
+#: builtin/rebase.c:896
+msgid "move commits that begin with squash!/fixup! under -i"
+msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
+
+#: builtin/rebase.c:902
+msgid "automatically stash/stash pop before and after"
+msgstr "在操作前后执行自动贮藏和弹出贮藏"
+
+#: builtin/rebase.c:904
+msgid "add exec lines after each commit of the editable list"
+msgstr "可编辑列表的每一个提交下面增加一行 exec"
+
+#: builtin/rebase.c:908
+msgid "allow rebasing commits with empty messages"
+msgstr "允许针对空提交说明的提交变基"
+
+#: builtin/rebase.c:911
+msgid "try to rebase merges instead of skipping them"
+msgstr "尝试对合并提交变基而不是忽略它们"
+
+#: builtin/rebase.c:914
+msgid "use 'merge-base --fork-point' to refine upstream"
+msgstr "使用 'merge-base --fork-point' 来优化上游"
+
+#: builtin/rebase.c:916
+msgid "use the given merge strategy"
+msgstr "使用给定的合并策略"
+
+#: builtin/rebase.c:918 builtin/revert.c:111
+msgid "option"
+msgstr "选项"
+
+#: builtin/rebase.c:919
+msgid "pass the argument through to the merge strategy"
+msgstr "将参数传递给合并策略"
+
+#: builtin/rebase.c:922
+msgid "rebase all reachable commits up to the root(s)"
+msgstr "将所有可达的提交变基到根提交"
+
+#: builtin/rebase.c:938
+#, c-format
+msgid "could not exec %s"
+msgstr "不能执行 %s"
+
+#: builtin/rebase.c:956 git-legacy-rebase.sh:213
+msgid "It looks like 'git am' is in progress. Cannot rebase."
+msgstr "看起来 'git-am' 正在执行中。无法变基。"
+
+#: builtin/rebase.c:997 git-legacy-rebase.sh:395
+msgid "No rebase in progress?"
+msgstr "没有正在进行的变基?"
+
+#: builtin/rebase.c:1001 git-legacy-rebase.sh:406
+msgid "The --edit-todo action can only be used during interactive rebase."
+msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
+
+#: builtin/rebase.c:1015 git-legacy-rebase.sh:413
+msgid "Cannot read HEAD"
+msgstr "不能读取 HEAD"
+
+#: builtin/rebase.c:1028 git-legacy-rebase.sh:416
+msgid ""
+"You must edit all merge conflicts and then\n"
+"mark them as resolved using git add"
+msgstr ""
+"您必须编辑所有的合并冲突,然后通过 git add\n"
+"命令将它们标记为已解决"
+
+#: builtin/rebase.c:1047
+msgid "could not discard worktree changes"
+msgstr "无法丢弃工作区变更"
+
+#: builtin/rebase.c:1066
+#, c-format
+msgid "could not move back to %s"
+msgstr "无法移回 %s"
+
+#: builtin/rebase.c:1077 builtin/rm.c:368
+#, c-format
+msgid "could not remove '%s'"
+msgstr "无法删除 '%s'"
+
+#: builtin/rebase.c:1103
+#, c-format
+msgid ""
+"It seems that there is already a %s directory, and\n"
+"I wonder if you are in the middle of another rebase.  If that is the\n"
+"case, please try\n"
+"\t%s\n"
+"If that is not the case, please\n"
+"\t%s\n"
+"and run me again.  I am stopping in case you still have something\n"
+"valuable there.\n"
+msgstr ""
+"似乎已有一个 %s 目录,我怀疑您正处于另外一个变基操作过程中。\n"
+"如果是这样,请执行\n"
+"\t%s\n"
+"如果不是这样,请执行\n"
+"\t%s\n"
+"然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
+
+#: builtin/rebase.c:1124
+msgid "switch `C' expects a numerical value"
+msgstr "开关 `C' 期望一个数字值"
+
+#: builtin/rebase.c:1161
+#, c-format
+msgid "Unknown mode: %s"
+msgstr "未知模式:%s"
+
+#: builtin/rebase.c:1183
+msgid "--strategy requires --merge or --interactive"
+msgstr "--strategy 需要 --merge 或 --interactive"
+
+#: builtin/rebase.c:1226
+#, c-format
+msgid ""
+"error: cannot combine interactive options (--interactive, --exec, --rebase-"
+"merges, --preserve-merges, --keep-empty, --root + --onto) with am options "
+"(%s)"
+msgstr ""
+"错误:无法同时使用交互式选项(--interactive, --exec, --rebase-merges, --preserve-"
+"merges, --keep-empty, --root + --onto)和 am 选项(%s)"
+
+#: builtin/rebase.c:1231
+#, c-format
+msgid ""
+"error: cannot combine merge options (--merge, --strategy, --strategy-option) "
+"with am options (%s)"
+msgstr "错误:不能组合合并选项(--merge、--strategy、--strategy-option)和 am 选项(%s)"
+
+#: builtin/rebase.c:1251 git-legacy-rebase.sh:536
+msgid "error: cannot combine '--preserve-merges' with '--rebase-merges'"
+msgstr "错误:不能组合 '--preserve-merges' 和 '--rebase-merges'"
+
+#: builtin/rebase.c:1256 git-legacy-rebase.sh:542
+msgid "error: cannot combine '--rebase-merges' with '--strategy-option'"
+msgstr "错误:不能组合 '--rebase-merges' 和 '--strategy-option'"
+
+#: builtin/rebase.c:1259 git-legacy-rebase.sh:544
+msgid "error: cannot combine '--rebase-merges' with '--strategy'"
+msgstr "错误:不能组合 '--rebase-merges' 和 '--strategy'"
+
+#: builtin/rebase.c:1283
+#, c-format
+msgid "invalid upstream '%s'"
+msgstr "无效的上游 '%s'"
+
+#: builtin/rebase.c:1289
+msgid "Could not create new root commit"
+msgstr "不能创建新的根提交"
+
+#: builtin/rebase.c:1307
+#, c-format
+msgid "'%s': need exactly one merge base"
+msgstr "'%s':只需要一个合并基线"
+
+#: builtin/rebase.c:1314
+#, c-format
+msgid "Does not point to a valid commit '%s'"
+msgstr "没有指向一个有效的提交 '%s'"
+
+#: builtin/rebase.c:1339
+#, c-format
+msgid "fatal: no such branch/commit '%s'"
+msgstr "严重错误:无此分支/提交 '%s'"
+
+#: builtin/rebase.c:1347 builtin/submodule--helper.c:37
+#: builtin/submodule--helper.c:1930
+#, c-format
+msgid "No such ref: %s"
+msgstr "没有这样的引用:%s"
+
+#: builtin/rebase.c:1359
+msgid "Could not resolve HEAD to a revision"
+msgstr "无法将 HEAD 解析为一个版本"
+
+#: builtin/rebase.c:1399 git-legacy-rebase.sh:665
+msgid "Cannot autostash"
+msgstr "无法 autostash"
+
+#: builtin/rebase.c:1402
+#, c-format
+msgid "Unexpected stash response: '%s'"
+msgstr "意外的 stash 响应:'%s'"
+
+#: builtin/rebase.c:1408
+#, c-format
+msgid "Could not create directory for '%s'"
+msgstr "不能为 '%s' 创建目录"
+
+#: builtin/rebase.c:1411
+#, c-format
+msgid "Created autostash: %s\n"
+msgstr "创建了 autostash:%s\n"
+
+#: builtin/rebase.c:1414
+msgid "could not reset --hard"
+msgstr "无法 reset --hard"
+
+#: builtin/rebase.c:1415 builtin/reset.c:113
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD 现在位于 %s"
+
+#: builtin/rebase.c:1431 git-legacy-rebase.sh:674
+msgid "Please commit or stash them."
+msgstr "请提交或贮藏修改。"
+
+#: builtin/rebase.c:1458
+#, c-format
+msgid "could not parse '%s'"
+msgstr "无法解析 '%s'"
+
+#: builtin/rebase.c:1470
+#, c-format
+msgid "could not switch to %s"
+msgstr "无法切换到 %s"
+
+#: builtin/rebase.c:1481 git-legacy-rebase.sh:697
+#, sh-format
+msgid "HEAD is up to date."
+msgstr "HEAD 是最新的。"
+
+#: builtin/rebase.c:1483
+#, c-format
+msgid "Current branch %s is up to date.\n"
+msgstr "当前分支 %s 是最新的。\n"
+
+#: builtin/rebase.c:1491 git-legacy-rebase.sh:707
+#, sh-format
+msgid "HEAD is up to date, rebase forced."
+msgstr "HEAD 是最新的,强制变基。"
+
+#: builtin/rebase.c:1493
+#, c-format
+msgid "Current branch %s is up to date, rebase forced.\n"
+msgstr "当前分支 %s 是最新的,强制变基。\n"
+
+#: builtin/rebase.c:1501 git-legacy-rebase.sh:208
+msgid "The pre-rebase hook refused to rebase."
+msgstr "pre-rebase 钩子拒绝了变基操作。"
+
+#: builtin/rebase.c:1508
+#, c-format
+msgid "Changes to %s:\n"
+msgstr "到 %s 的变更:\n"
+
+#: builtin/rebase.c:1511
+#, c-format
+msgid "Changes from %s to %s:\n"
+msgstr "从 %s 到 %s 的变更:\n"
+
+#: builtin/rebase.c:1536
+#, c-format
+msgid "First, rewinding head to replay your work on top of it...\n"
+msgstr "首先,回退头指针以便在其上重放您的工作...\n"
+
+#: builtin/rebase.c:1543
+msgid "Could not detach HEAD"
+msgstr "无法分离头指针"
+
+#: builtin/rebase.c:1552
+#, c-format
+msgid "Fast-forwarded %s to %s.\n"
+msgstr "快进 %s 到 %s。\n"
+
+#: builtin/rebase--interactive.c:24
+msgid "no HEAD?"
+msgstr "没有 HEAD?"
+
+#: builtin/rebase--interactive.c:51
+#, c-format
+msgid "could not create temporary %s"
+msgstr "无法创建临时的 %s"
+
+#: builtin/rebase--interactive.c:57
+msgid "could not mark as interactive"
+msgstr "无法标记为交互式"
+
+#: builtin/rebase--interactive.c:101
+#, c-format
+msgid "could not open %s"
+msgstr "无法打开 %s"
+
+#: builtin/rebase--interactive.c:114
+msgid "could not generate todo list"
+msgstr "无法生成待办列表"
+
+#: builtin/rebase--interactive.c:129
+msgid "git rebase--interactive [<options>]"
+msgstr "git rebase--interactive [<选项>]"
 
 
-#: builtin/rebase--helper.c:24
+#: builtin/rebase--interactive.c:148
 msgid "keep empty commits"
 msgstr "保持空提交"
 
 msgid "keep empty commits"
 msgstr "保持空提交"
 
-#: builtin/rebase--helper.c:26 builtin/revert.c:124
+#: builtin/rebase--interactive.c:150 builtin/revert.c:124
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
-#: builtin/rebase--helper.c:27
+#: builtin/rebase--interactive.c:151
 msgid "rebase merge commits"
 msgstr "对合并提交变基"
 
 msgid "rebase merge commits"
 msgstr "对合并提交变基"
 
-#: builtin/rebase--helper.c:29
+#: builtin/rebase--interactive.c:153
 msgid "keep original branch points of cousins"
 msgstr "保持兄弟提交的原始分支点"
 
 msgid "keep original branch points of cousins"
 msgstr "保持兄弟提交的原始分支点"
 
-#: builtin/rebase--helper.c:30
+#: builtin/rebase--interactive.c:155
+msgid "move commits that begin with squash!/fixup!"
+msgstr "移动以 squash!/fixup! 开头的提交"
+
+#: builtin/rebase--interactive.c:156
+msgid "sign commits"
+msgstr "签名提交"
+
+#: builtin/rebase--interactive.c:158
 msgid "continue rebase"
 msgstr "继续变基"
 
 msgid "continue rebase"
 msgstr "继续变基"
 
-#: builtin/rebase--helper.c:32
-msgid "abort rebase"
-msgstr "中止变基"
+#: builtin/rebase--interactive.c:160
+msgid "skip commit"
+msgstr "跳过提交"
+
+#: builtin/rebase--interactive.c:161
+msgid "edit the todo list"
+msgstr "变基待办列表"
 
 
-#: builtin/rebase--helper.c:35
-msgid "make rebase script"
-msgstr "制作变基脚本"
+#: builtin/rebase--interactive.c:163
+msgid "show the current patch"
+msgstr "显示当前补丁"
 
 
-#: builtin/rebase--helper.c:37
+#: builtin/rebase--interactive.c:166
 msgid "shorten commit ids in the todo list"
 msgstr "缩短待办列表中的提交号"
 
 msgid "shorten commit ids in the todo list"
 msgstr "缩短待办列表中的提交号"
 
-#: builtin/rebase--helper.c:39
+#: builtin/rebase--interactive.c:168
 msgid "expand commit ids in the todo list"
 msgstr "扩展待办列表中的提交号"
 
 msgid "expand commit ids in the todo list"
 msgstr "扩展待办列表中的提交号"
 
-#: builtin/rebase--helper.c:41
+#: builtin/rebase--interactive.c:170
 msgid "check the todo list"
 msgstr "检查待办列表"
 
 msgid "check the todo list"
 msgstr "检查待办列表"
 
-#: builtin/rebase--helper.c:43
-msgid "skip unnecessary picks"
-msgstr "跳过不必要的拣选"
-
-#: builtin/rebase--helper.c:45
+#: builtin/rebase--interactive.c:172
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
-#: builtin/rebase--helper.c:47
+#: builtin/rebase--interactive.c:174
 msgid "insert exec commands in todo list"
 msgstr "在待办列表中插入 exec 执行命令"
 
 msgid "insert exec commands in todo list"
 msgstr "在待办列表中插入 exec 执行命令"
 
-#: builtin/rebase--helper.c:68
+#: builtin/rebase--interactive.c:175
+msgid "onto"
+msgstr "onto"
+
+#: builtin/rebase--interactive.c:177
+msgid "restrict-revision"
+msgstr "restrict-revision"
+
+#: builtin/rebase--interactive.c:177
+msgid "restrict revision"
+msgstr "限制版本"
+
+#: builtin/rebase--interactive.c:178
+msgid "squash-onto"
+msgstr "squash-onto"
+
+#: builtin/rebase--interactive.c:179
+msgid "squash onto"
+msgstr "squash onto"
+
+#: builtin/rebase--interactive.c:181
+msgid "the upstream commit"
+msgstr "上游提交"
+
+#: builtin/rebase--interactive.c:182
+msgid "head-name"
+msgstr "head-name"
+
+#: builtin/rebase--interactive.c:182
+msgid "head name"
+msgstr "head 名称"
+
+#: builtin/rebase--interactive.c:187
+msgid "rebase strategy"
+msgstr "变基策略"
+
+#: builtin/rebase--interactive.c:188
+msgid "strategy-opts"
+msgstr "strategy-opts"
+
+#: builtin/rebase--interactive.c:189
+msgid "strategy options"
+msgstr "策略选项"
+
+#: builtin/rebase--interactive.c:190
+msgid "switch-to"
+msgstr "切换到"
+
+#: builtin/rebase--interactive.c:191
+msgid "the branch or commit to checkout"
+msgstr "要检出的分支或提交"
+
+#: builtin/rebase--interactive.c:192
+msgid "onto-name"
+msgstr "onto-name"
+
+#: builtin/rebase--interactive.c:192
+msgid "onto name"
+msgstr "onto name"
+
+#: builtin/rebase--interactive.c:193
+msgid "cmd"
+msgstr "cmd"
+
+#: builtin/rebase--interactive.c:193
+msgid "the command to run"
+msgstr "要执行的命令"
+
+#: builtin/rebase--interactive.c:220
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
 
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
 
-#: builtin/receive-pack.c:32
+#: builtin/rebase--interactive.c:226
+msgid "a base commit must be provided with --upstream or --onto"
+msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
+
+#: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
@@ -14239,24 +15405,24 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:1923
+#: builtin/receive-pack.c:1929
 msgid "quiet"
 msgstr "静默模式"
 
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1937
+#: builtin/receive-pack.c:1943
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
-#: builtin/reflog.c:536 builtin/reflog.c:541
+#: builtin/reflog.c:563 builtin/reflog.c:568
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' 不是一个有效的时间戳"
 
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' 不是一个有效的时间戳"
 
-#: builtin/remote.c:15
+#: builtin/remote.c:16
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:16
+#: builtin/remote.c:17
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -14264,81 +15430,81 @@ msgstr ""
 "git remote add [-t <分支>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <名称> <地址>"
 
 "git remote add [-t <分支>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <名称> <地址>"
 
-#: builtin/remote.c:17 builtin/remote.c:37
+#: builtin/remote.c:18 builtin/remote.c:38
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
-#: builtin/remote.c:18 builtin/remote.c:42
+#: builtin/remote.c:19 builtin/remote.c:43
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
-#: builtin/remote.c:19 builtin/remote.c:47
+#: builtin/remote.c:20 builtin/remote.c:48
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <名称> (-a | --auto | -d | --delete | <分支>)"
 
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <名称> (-a | --auto | -d | --delete | <分支>)"
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <名称>"
 
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <名称>"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <名称>"
 
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <名称>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr "git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...]"
 
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr "git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...]"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <名称> <分支>..."
 
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <名称> <分支>..."
 
-#: builtin/remote.c:24 builtin/remote.c:73
+#: builtin/remote.c:25 builtin/remote.c:74
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <名称>"
 
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <名称>"
 
-#: builtin/remote.c:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <名称> <新的地址> [<旧的地址>]"
 
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <名称> <新的地址> [<旧的地址>]"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <名称> <新的地址>"
 
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <名称> <新的地址>"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <名称> <地址>"
 
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <名称> <地址>"
 
-#: builtin/remote.c:32
+#: builtin/remote.c:33
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<选项>] <名称> <地址>"
 
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<选项>] <名称> <地址>"
 
-#: builtin/remote.c:52
+#: builtin/remote.c:53
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <名称> <分支>..."
 
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <名称> <分支>..."
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <名称> <分支>..."
 
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <名称> <分支>..."
 
-#: builtin/remote.c:58
+#: builtin/remote.c:59
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
-#: builtin/remote.c:63
+#: builtin/remote.c:64
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
-#: builtin/remote.c:68
+#: builtin/remote.c:69
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<选项>] [<组> | <远程>]..."
 
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<选项>] [<组> | <远程>]..."
 
-#: builtin/remote.c:97
+#: builtin/remote.c:98
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
-#: builtin/remote.c:129
+#: builtin/remote.c:130
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -14346,82 +15512,82 @@ msgstr ""
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
-#: builtin/remote.c:146
+#: builtin/remote.c:147
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
-#: builtin/remote.c:162
+#: builtin/remote.c:163
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
-#: builtin/remote.c:164
+#: builtin/remote.c:165
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
-#: builtin/remote.c:167
+#: builtin/remote.c:168
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "或不抓取任何标签(--no-tags)"
 
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "或不抓取任何标签(--no-tags)"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "master branch"
 msgstr "主线分支"
 
 msgid "master branch"
 msgstr "主线分支"
 
-#: builtin/remote.c:172
+#: builtin/remote.c:173
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "把远程设置为用以推送或抓取的镜像"
 
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "把远程设置为用以推送或抓取的镜像"
 
-#: builtin/remote.c:184
+#: builtin/remote.c:185
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 
-#: builtin/remote.c:186
+#: builtin/remote.c:187
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
-#: builtin/remote.c:193 builtin/remote.c:635
+#: builtin/remote.c:194 builtin/remote.c:636
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:197 builtin/remote.c:639
+#: builtin/remote.c:198 builtin/remote.c:640
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
-#: builtin/remote.c:237
+#: builtin/remote.c:238
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
-#: builtin/remote.c:343
+#: builtin/remote.c:344
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "无法得到引用规格 %s 的获取列表"
 
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "无法得到引用规格 %s 的获取列表"
 
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:443 builtin/remote.c:451
 msgid "(matching)"
 msgstr "(匹配)"
 
 msgid "(matching)"
 msgstr "(匹配)"
 
-#: builtin/remote.c:454
+#: builtin/remote.c:455
 msgid "(delete)"
 msgstr "(删除)"
 
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:628 builtin/remote.c:764 builtin/remote.c:863
+#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
 #, c-format
 #, c-format
-msgid "No such remote: %s"
-msgstr "没有这样的远程:%s"
+msgid "No such remote: '%s'"
+msgstr "没有此远程仓库:'%s'"
 
 
-#: builtin/remote.c:645
+#: builtin/remote.c:646
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
-#: builtin/remote.c:665
+#: builtin/remote.c:666
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -14432,17 +15598,17 @@ msgstr ""
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:701
+#: builtin/remote.c:702
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:735
+#: builtin/remote.c:736
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:801
+#: builtin/remote.c:802
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -14452,118 +15618,118 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:815
+#: builtin/remote.c:816
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
-#: builtin/remote.c:916
+#: builtin/remote.c:917
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:919
+#: builtin/remote.c:920
 msgid " tracked"
 msgstr " 已跟踪"
 
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:921
+#: builtin/remote.c:922
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:923
+#: builtin/remote.c:924
 msgid " ???"
 msgstr " ???"
 
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:964
+#: builtin/remote.c:965
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:974
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:975
+#: builtin/remote.c:976
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "交互式变基(含合并提交)到远程 %s"
 
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "交互式变基(含合并提交)到远程 %s"
 
-#: builtin/remote.c:978
+#: builtin/remote.c:979
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:982
+#: builtin/remote.c:983
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:985
+#: builtin/remote.c:986
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:988
+#: builtin/remote.c:989
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    以及和远程 %s\n"
 
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    以及和远程 %s\n"
 
-#: builtin/remote.c:1031
+#: builtin/remote.c:1032
 msgid "create"
 msgstr "创建"
 
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1034
+#: builtin/remote.c:1035
 msgid "delete"
 msgstr "删除"
 
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1038
+#: builtin/remote.c:1039
 msgid "up to date"
 msgstr "最新"
 
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1041
+#: builtin/remote.c:1042
 msgid "fast-forwardable"
 msgstr "可快进"
 
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1044
+#: builtin/remote.c:1045
 msgid "local out of date"
 msgstr "本地已过时"
 
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1051
+#: builtin/remote.c:1052
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1054
+#: builtin/remote.c:1055
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1059
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1061
+#: builtin/remote.c:1062
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1129
+#: builtin/remote.c:1130
 msgid "do not query remotes"
 msgstr "不查询远程"
 
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1156
+#: builtin/remote.c:1157
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1158
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
+#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
 msgid "(no URL)"
 msgstr "(无 URL)"
 
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -14571,32 +15737,32 @@ msgstr "(无 URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1173 builtin/remote.c:1175
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1176
+#: builtin/remote.c:1177
 msgid "(not queried)"
 msgstr "(未查询)"
 
 msgid "(not queried)"
 msgstr "(未查询)"
 
-#: builtin/remote.c:1178
+#: builtin/remote.c:1179
 msgid "(unknown)"
 msgstr "(未知)"
 
 msgid "(unknown)"
 msgstr "(未知)"
 
-#: builtin/remote.c:1182
+#: builtin/remote.c:1183
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1194
+#: builtin/remote.c:1195
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -14604,164 +15770,164 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1197 builtin/remote.c:1223
+#: builtin/remote.c:1198 builtin/remote.c:1224
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1206
+#: builtin/remote.c:1207
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  为 'git pull' 配置的本地分支:"
 msgstr[1] "  为 'git pull' 配置的本地分支:"
 
 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:1214
+#: builtin/remote.c:1215
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1220
+#: builtin/remote.c:1221
 #, 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:"
 
 #, 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:1241
+#: builtin/remote.c:1242
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1243
+#: builtin/remote.c:1244
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1259
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1260
+#: builtin/remote.c:1261
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1270
+#: builtin/remote.c:1271
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1279
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1281
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1298
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为悬空状态!"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为悬空状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1299
+#: builtin/remote.c:1300
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为悬空状态!"
 
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为悬空状态!"
 
-#: builtin/remote.c:1309
+#: builtin/remote.c:1310
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1311
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1326
+#: builtin/remote.c:1327
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1329
+#: builtin/remote.c:1330
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1374
+#: builtin/remote.c:1375
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
+#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1453
+#: builtin/remote.c:1454
 msgid "add branch"
 msgstr "添加分支"
 
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1460
+#: builtin/remote.c:1461
 msgid "no remote specified"
 msgstr "未指定远程"
 
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1477
+#: builtin/remote.c:1478
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1479
+#: builtin/remote.c:1480
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1507
+#: builtin/remote.c:1508
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1533
+#: builtin/remote.c:1534
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1535
+#: builtin/remote.c:1536
 msgid "add URL"
 msgstr "添加 URL"
 
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1537
+#: builtin/remote.c:1538
 msgid "delete URLs"
 msgstr "删除 URLS"
 
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1544
+#: builtin/remote.c:1545
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1583
+#: builtin/remote.c:1584
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1592
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1593
+#: builtin/remote.c:1594
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1609
+#: builtin/remote.c:1610
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
-#: builtin/remote.c:1640
+#: builtin/remote.c:1641
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/repack.c:20
+#: builtin/repack.c:22
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
-#: builtin/repack.c:25
+#: builtin/repack.c:27
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -14769,91 +15935,95 @@ msgstr ""
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
-#: builtin/repack.c:287
+#: builtin/repack.c:294
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:289
+#: builtin/repack.c:296
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:292
+#: builtin/repack.c:299
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:294
+#: builtin/repack.c:301
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:303
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:298
+#: builtin/repack.c:305
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:301
+#: builtin/repack.c:308
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:310
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:312
+msgid "pass --delta-islands to git-pack-objects"
+msgstr "向 git-pack-objects 传递参数 --delta-islands"
+
+#: builtin/repack.c:313
 msgid "approxidate"
 msgstr "近似日期"
 
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:314
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:307
+#: builtin/repack.c:316
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:309
+#: builtin/repack.c:318
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:310 builtin/repack.c:316
+#: builtin/repack.c:319 builtin/repack.c:325
 msgid "bytes"
 msgstr "字节"
 
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:311
+#: builtin/repack.c:320
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:313
+#: builtin/repack.c:322
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:315
+#: builtin/repack.c:324
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:317
+#: builtin/repack.c:326
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:319
+#: builtin/repack.c:328
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:321
+#: builtin/repack.c:330
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
-#: builtin/repack.c:331
+#: builtin/repack.c:340
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:335
+#: builtin/repack.c:344
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:510 builtin/worktree.c:140
+#: builtin/repack.c:527
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "删除 '%s' 失败"
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "删除 '%s' 失败"
@@ -14882,7 +16052,7 @@ msgstr "git replace -d <对象>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
-#: builtin/replace.c:57 builtin/replace.c:203 builtin/replace.c:206
+#: builtin/replace.c:58 builtin/replace.c:203 builtin/replace.c:206
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "无法将 '%s' 解析为一个有效引用"
 #, c-format
 msgid "failed to resolve '%s' as a valid ref"
 msgstr "无法将 '%s' 解析为一个有效引用"
@@ -15027,7 +16197,7 @@ msgstr "对 '%s' 移植没有必要"
 msgid "new commit is the same as the old one: '%s'"
 msgstr "新提交和旧的一样:'%s'"
 
 msgid "new commit is the same as the old one: '%s'"
 msgstr "新提交和旧的一样:'%s'"
 
-#: builtin/replace.c:514
+#: builtin/replace.c:515
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -15036,71 +16206,71 @@ msgstr ""
 "不能转换下列移植:\n"
 "%s"
 
 "不能转换下列移植:\n"
 "%s"
 
-#: builtin/replace.c:535
+#: builtin/replace.c:536
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
-#: builtin/replace.c:536
+#: builtin/replace.c:537
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
-#: builtin/replace.c:537
+#: builtin/replace.c:538
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
-#: builtin/replace.c:538
+#: builtin/replace.c:539
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
-#: builtin/replace.c:539
+#: builtin/replace.c:540
 msgid "convert existing graft file"
 msgstr "转换现存的移植文件"
 
 msgid "convert existing graft file"
 msgstr "转换现存的移植文件"
 
-#: builtin/replace.c:540
+#: builtin/replace.c:541
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
-#: builtin/replace.c:542
+#: builtin/replace.c:543
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
-#: builtin/replace.c:543
+#: builtin/replace.c:544
 msgid "use this format"
 msgstr "使用此格式"
 
 msgid "use this format"
 msgstr "使用此格式"
 
-#: builtin/replace.c:556
+#: builtin/replace.c:557
 msgid "--format cannot be used when not listing"
 msgstr "不列出时不能使用 --format"
 
 msgid "--format cannot be used when not listing"
 msgstr "不列出时不能使用 --format"
 
-#: builtin/replace.c:564
+#: builtin/replace.c:565
 msgid "-f only makes sense when writing a replacement"
 msgstr "只有写一个替换时 -f 才有意义"
 
 msgid "-f only makes sense when writing a replacement"
 msgstr "只有写一个替换时 -f 才有意义"
 
-#: builtin/replace.c:568
+#: builtin/replace.c:569
 msgid "--raw only makes sense with --edit"
 msgstr "--raw 只有和 --edit 共用才有意义"
 
 msgid "--raw only makes sense with --edit"
 msgstr "--raw 只有和 --edit 共用才有意义"
 
-#: builtin/replace.c:574
+#: builtin/replace.c:575
 msgid "-d needs at least one argument"
 msgstr "-d 需要至少一个参数"
 
 msgid "-d needs at least one argument"
 msgstr "-d 需要至少一个参数"
 
-#: builtin/replace.c:580
+#: builtin/replace.c:581
 msgid "bad number of arguments"
 msgstr "错误的参数个数"
 
 msgid "bad number of arguments"
 msgstr "错误的参数个数"
 
-#: builtin/replace.c:586
+#: builtin/replace.c:587
 msgid "-e needs exactly one argument"
 msgstr "-e 需要且仅需要一个参数"
 
 msgid "-e needs exactly one argument"
 msgstr "-e 需要且仅需要一个参数"
 
-#: builtin/replace.c:592
+#: builtin/replace.c:593
 msgid "-g needs at least one argument"
 msgstr "-g 需要至少一个参数"
 
 msgid "-g needs at least one argument"
 msgstr "-g 需要至少一个参数"
 
-#: builtin/replace.c:598
+#: builtin/replace.c:599
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file 不带参数"
 
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file 不带参数"
 
-#: builtin/replace.c:604
+#: builtin/replace.c:605
 msgid "only one pattern can be given with -l"
 msgstr "只能为 -l 提供一个模式"
 
 msgid "only one pattern can be given with -l"
 msgstr "只能为 -l 提供一个模式"
 
@@ -15108,176 +16278,192 @@ msgstr "只能为 -l 提供一个模式"
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
 
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
 
-#: builtin/rerere.c:59
+#: builtin/rerere.c:60
 msgid "register clean resolutions in index"
 msgstr "在索引中注册干净的解决方案"
 
 msgid "register clean resolutions in index"
 msgstr "在索引中注册干净的解决方案"
 
-#: builtin/reset.c:29
+#: builtin/rerere.c:79
+msgid "'git rerere forget' without paths is deprecated"
+msgstr "没有路径的 'git rerere forget' 已经过时"
+
+#: builtin/rerere.c:111
+#, c-format
+msgid "unable to generate diff for '%s'"
+msgstr "无法为 '%s' 生成差异"
+
+#: builtin/reset.c:31
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]"
 
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]"
 
-#: builtin/reset.c:30
+#: builtin/reset.c:32
 msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
 msgstr "git reset [-q] [<树或提交>] [--] <路径>..."
 
 msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
 msgstr "git reset [-q] [<树或提交>] [--] <路径>..."
 
-#: builtin/reset.c:31
+#: builtin/reset.c:33
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr "git reset --patch [<树或提交>] [--] [<路径>...]"
 
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr "git reset --patch [<树或提交>] [--] [<路径>...]"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "mixed"
 msgstr "混杂"
 
 msgid "mixed"
 msgstr "混杂"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "soft"
 msgstr "软性"
 
 msgid "soft"
 msgstr "软性"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "hard"
 msgstr "硬性"
 
 msgid "hard"
 msgstr "硬性"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "merge"
 msgstr "合并"
 
 msgid "merge"
 msgstr "合并"
 
-#: builtin/reset.c:37
+#: builtin/reset.c:39
 msgid "keep"
 msgstr "保持"
 
 msgid "keep"
 msgstr "保持"
 
-#: builtin/reset.c:78
+#: builtin/reset.c:80
 msgid "You do not have a valid HEAD."
 msgstr "您没有一个有效的 HEAD。"
 
 msgid "You do not have a valid HEAD."
 msgstr "您没有一个有效的 HEAD。"
 
-#: builtin/reset.c:80
+#: builtin/reset.c:82
 msgid "Failed to find tree of HEAD."
 msgstr "无法找到 HEAD 指向的树。"
 
 msgid "Failed to find tree of HEAD."
 msgstr "无法找到 HEAD 指向的树。"
 
-#: builtin/reset.c:86
+#: builtin/reset.c:88
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "无法找到 %s 指向的树。"
 
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "无法找到 %s 指向的树。"
 
-#: builtin/reset.c:111
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD 现在位于 %s"
-
 #  译者:汉字之间无空格,故删除%s前后空格
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:189
+#: builtin/reset.c:192
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:289
+#: builtin/reset.c:292
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
-#: builtin/reset.c:291
+#: builtin/reset.c:294
 msgid "reset HEAD and index"
 msgstr "重置 HEAD 和索引"
 
 msgid "reset HEAD and index"
 msgstr "重置 HEAD 和索引"
 
-#: builtin/reset.c:292
+#: builtin/reset.c:295
 msgid "reset only HEAD"
 msgstr "只重置 HEAD"
 
 msgid "reset only HEAD"
 msgstr "只重置 HEAD"
 
-#: builtin/reset.c:294 builtin/reset.c:296
+#: builtin/reset.c:297 builtin/reset.c:299
 msgid "reset HEAD, index and working tree"
 msgstr "重置 HEAD、索引和工作区"
 
 msgid "reset HEAD, index and working tree"
 msgstr "重置 HEAD、索引和工作区"
 
-#: builtin/reset.c:298
+#: builtin/reset.c:301
 msgid "reset HEAD but keep local changes"
 msgstr "重置 HEAD 但保存本地变更"
 
 msgid "reset HEAD but keep local changes"
 msgstr "重置 HEAD 但保存本地变更"
 
-#: builtin/reset.c:304
+#: builtin/reset.c:307
 msgid "record only the fact that removed paths will be added later"
 msgstr "将删除的路径标记为稍后添加"
 
 msgid "record only the fact that removed paths will be added later"
 msgstr "将删除的路径标记为稍后添加"
 
-#: builtin/reset.c:321
+#: builtin/reset.c:325
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
-#: builtin/reset.c:329
+#: builtin/reset.c:333
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "无法将 '%s' 解析为一个有效的树对象。"
 
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "无法将 '%s' 解析为一个有效的树对象。"
 
-#: builtin/reset.c:338
+#: builtin/reset.c:342
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
-#: builtin/reset.c:347
+#: builtin/reset.c:351
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:349
+#: builtin/reset.c:353
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:359
+#: builtin/reset.c:363
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
-#: builtin/reset.c:363
+#: builtin/reset.c:367
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
-#: builtin/reset.c:380
+#: builtin/reset.c:387
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
-#: builtin/reset.c:386
+#: builtin/reset.c:390
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
+"use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
+"to make this the default.\n"
+msgstr ""
+"\n"
+"重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
+"将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
+
+#: builtin/reset.c:400
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
-#: builtin/reset.c:390
+#: builtin/reset.c:404
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:399
+#: builtin/rev-list.c:403
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "不能同时使用 --exclude-promisor-objects 和 --missing 选项"
 
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "不能同时使用 --exclude-promisor-objects 和 --missing 选项"
 
-#: builtin/rev-list.c:457
+#: builtin/rev-list.c:461
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
-#: builtin/rev-list.c:460
+#: builtin/rev-list.c:464
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
-#: builtin/rev-list.c:501
+#: builtin/rev-list.c:505
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-list.c:504
+#: builtin/rev-list.c:508
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "不能将 --use-bitmap-index 和对象过滤组合使用"
 
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "不能将 --use-bitmap-index 和对象过滤组合使用"
 
-#: builtin/rev-parse.c:406
+#: builtin/rev-parse.c:407
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:411
+#: builtin/rev-parse.c:412
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:413
+#: builtin/rev-parse.c:414
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:416
+#: builtin/rev-parse.c:417
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:549
+#: builtin/rev-parse.c:550
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -15344,10 +16530,6 @@ msgstr "选择主干父提交编号"
 msgid "merge strategy"
 msgstr "合并策略"
 
 msgid "merge strategy"
 msgstr "合并策略"
 
-#: builtin/revert.c:111
-msgid "option"
-msgstr "选项"
-
 #: builtin/revert.c:112
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
 #: builtin/revert.c:112
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
@@ -15448,11 +16630,6 @@ msgstr "未提供 -r 选项不会递归删除 '%s'"
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
-#: builtin/rm.c:368
-#, c-format
-msgid "could not remove '%s'"
-msgstr "无法删除 '%s'"
-
 #: builtin/send-pack.c:20
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
 #: builtin/send-pack.c:20
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -15556,108 +16733,108 @@ msgstr[1] "忽略 %s,无法处理 %d 个以上的引用"
 msgid "no matching refs with %s"
 msgstr "没有和 %s 匹配的引用"
 
 msgid "no matching refs with %s"
 msgstr "没有和 %s 匹配的引用"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:646
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:648
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:650
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:652
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:654
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:655
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:657
 msgid "include the current branch"
 msgstr "包括当前分支"
 
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:659
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:660
+#: builtin/show-branch.c:661
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:663
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:664
+#: builtin/show-branch.c:665
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:667
+#: builtin/show-branch.c:668
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:670
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:671
+#: builtin/show-branch.c:672
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:675
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:675
+#: builtin/show-branch.c:676
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从起始点开始的 <n> 条最近的引用日志记录"
 
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从起始点开始的 <n> 条最近的引用日志记录"
 
-#: builtin/show-branch.c:711
+#: builtin/show-branch.c:712
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr "--reflog 和 --all、--remotes、--independent 或 --merge-base 不兼容"
 
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr "--reflog 和 --all、--remotes、--independent 或 --merge-base 不兼容"
 
-#: builtin/show-branch.c:735
+#: builtin/show-branch.c:736
 msgid "no branches given, and HEAD is not valid"
 msgstr "未提供分支,且 HEAD 无效"
 
 msgid "no branches given, and HEAD is not valid"
 msgstr "未提供分支,且 HEAD 无效"
 
-#: builtin/show-branch.c:738
+#: builtin/show-branch.c:739
 msgid "--reflog option needs one branch name"
 msgstr "选项 --reflog 需要一个分支名"
 
 msgid "--reflog option needs one branch name"
 msgstr "选项 --reflog 需要一个分支名"
 
-#: builtin/show-branch.c:741
+#: builtin/show-branch.c:742
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "一次只能显示 %d 个条目。"
 msgstr[1] "一次只能显示 %d 个条目。"
 
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "一次只能显示 %d 个条目。"
 msgstr[1] "一次只能显示 %d 个条目。"
 
-#: builtin/show-branch.c:745
+#: builtin/show-branch.c:746
 #, c-format
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
 #, c-format
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
-#: builtin/show-branch.c:829
+#: builtin/show-branch.c:830
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "不能处理 %d 个以上的版本。"
 msgstr[1] "不能处理 %d 个以上的版本。"
 
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "不能处理 %d 个以上的版本。"
 msgstr[1] "不能处理 %d 个以上的版本。"
 
-#: builtin/show-branch.c:833
+#: builtin/show-branch.c:834
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' 不是一个有效的引用。"
 
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "'%s' 不是一个有效的引用。"
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:837
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "不能找到提交 %s(%s)"
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "不能找到提交 %s(%s)"
@@ -15674,35 +16851,35 @@ msgstr ""
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<模式>]"
 
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<模式>]"
 
-#: builtin/show-ref.c:160
+#: builtin/show-ref.c:161
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
-#: builtin/show-ref.c:161
+#: builtin/show-ref.c:162
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
-#: builtin/show-ref.c:162
+#: builtin/show-ref.c:163
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
-#: builtin/show-ref.c:165 builtin/show-ref.c:167
+#: builtin/show-ref.c:166 builtin/show-ref.c:168
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "显示 HEAD 引用,即使被过滤掉"
 
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "显示 HEAD 引用,即使被过滤掉"
 
-#: builtin/show-ref.c:169
+#: builtin/show-ref.c:170
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:171
+#: builtin/show-ref.c:172
 msgid "only show SHA1 hash using <n> digits"
 msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
 
 msgid "only show SHA1 hash using <n> digits"
 msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
 
-#: builtin/show-ref.c:175
+#: builtin/show-ref.c:176
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
 
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
 
-#: builtin/show-ref.c:177
+#: builtin/show-ref.c:178
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
@@ -15722,12 +16899,7 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1833
-#, c-format
-msgid "No such ref: %s"
-msgstr "没有这样的引用:%s"
-
-#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1842
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1939
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -15741,7 +16913,7 @@ msgstr "submodule--helper print-default-remote 不带参数"
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1356
+#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1363
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
@@ -15749,8 +16921,8 @@ msgstr "相对路径的替代锚记(anchor)"
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:606
-#: builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:626
+#: builtin/submodule--helper.c:649
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
@@ -15765,7 +16937,9 @@ msgstr "进入 '%s'\n"
 msgid ""
 "run_command returned non-zero status for %s\n"
 "."
 msgid ""
 "run_command returned non-zero status for %s\n"
 "."
-msgstr "对 %s 执行 run_command 返回非零值。\n."
+msgstr ""
+"对 %s 执行 run_command 返回非零值。\n"
+"."
 
 #: builtin/submodule--helper.c:545
 #, c-format
 
 #: builtin/submodule--helper.c:545
 #, c-format
@@ -15773,13 +16947,15 @@ msgid ""
 "run_command returned non-zero status while recursing in the nested "
 "submodules of %s\n"
 "."
 "run_command returned non-zero status while recursing in the nested "
 "submodules of %s\n"
 "."
-msgstr "在递归 %s 的子模组执行 run_command 时返回非零值。\n."
+msgstr ""
+"在递归 %s 的子模组执行 run_command 时返回非零值。\n"
+"."
 
 #: builtin/submodule--helper.c:561
 msgid "Suppress output of entering each submodule command"
 msgstr "阻止进入每一个子模组命令的输出"
 
 
 #: builtin/submodule--helper.c:561
 msgid "Suppress output of entering each submodule command"
 msgstr "阻止进入每一个子模组命令的输出"
 
-#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1040
+#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1048
 msgid "Recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
 msgid "Recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
@@ -15787,108 +16963,108 @@ msgstr "递归进入嵌套子模组中"
 msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] <命令>"
 
 msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] <命令>"
 
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:595
 #, c-format
 msgid ""
 #, c-format
 msgid ""
-"could not lookup configuration '%s'. Assuming this repository is its own "
+"could not look up configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:655
+#: builtin/submodule--helper.c:663
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:659
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:669
+#: builtin/submodule--helper.c:677
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:676
+#: builtin/submodule--helper.c:684
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:698
+#: builtin/submodule--helper.c:706
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
-#: builtin/submodule--helper.c:703
+#: builtin/submodule--helper.c:711
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:901
+#: builtin/submodule--helper.c:783 builtin/submodule--helper.c:909
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:814
+#: builtin/submodule--helper.c:822
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
-#: builtin/submodule--helper.c:841 builtin/submodule--helper.c:1010
+#: builtin/submodule--helper.c:849 builtin/submodule--helper.c:1018
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "递归子模组 '%s' 失败"
 
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "递归子模组 '%s' 失败"
 
-#: builtin/submodule--helper.c:865 builtin/submodule--helper.c:1176
+#: builtin/submodule--helper.c:873 builtin/submodule--helper.c:1182
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
-#: builtin/submodule--helper.c:866
+#: builtin/submodule--helper.c:874
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:867
+#: builtin/submodule--helper.c:875
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:872
+#: builtin/submodule--helper.c:880
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
-#: builtin/submodule--helper.c:896
+#: builtin/submodule--helper.c:904
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:968
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
-#: builtin/submodule--helper.c:966
+#: builtin/submodule--helper.c:974
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:980
+#: builtin/submodule--helper.c:988
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
-#: builtin/submodule--helper.c:991
+#: builtin/submodule--helper.c:999
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
-#: builtin/submodule--helper.c:1038
+#: builtin/submodule--helper.c:1046
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
-#: builtin/submodule--helper.c:1045
+#: builtin/submodule--helper.c:1053
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
-#: builtin/submodule--helper.c:1099
+#: builtin/submodule--helper.c:1107
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -15897,87 +17073,87 @@ msgstr ""
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
-#: builtin/submodule--helper.c:1111
+#: builtin/submodule--helper.c:1119
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: builtin/submodule--helper.c:1119
+#: builtin/submodule--helper.c:1127
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1129
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
-#: builtin/submodule--helper.c:1132
+#: builtin/submodule--helper.c:1138
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
-#: builtin/submodule--helper.c:1148
+#: builtin/submodule--helper.c:1154
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:1177
+#: builtin/submodule--helper.c:1183
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
-#: builtin/submodule--helper.c:1178
+#: builtin/submodule--helper.c:1184
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1183
+#: builtin/submodule--helper.c:1189
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
-#: builtin/submodule--helper.c:1197
+#: builtin/submodule--helper.c:1203
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: builtin/submodule--helper.c:1290 builtin/submodule--helper.c:1293
+#: builtin/submodule--helper.c:1297 builtin/submodule--helper.c:1300
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:1329
+#: builtin/submodule--helper.c:1336
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1336
+#: builtin/submodule--helper.c:1343
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1359
+#: builtin/submodule--helper.c:1366
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1362
+#: builtin/submodule--helper.c:1369
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1365
+#: builtin/submodule--helper.c:1372
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1380
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1376 builtin/submodule--helper.c:1751
+#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1868
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1381
+#: builtin/submodule--helper.c:1388
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -15985,102 +17161,134 @@ msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:1412
+#: builtin/submodule--helper.c:1419
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:1426
+#: builtin/submodule--helper.c:1433
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:1492
+#: builtin/submodule--helper.c:1469
+#, c-format
+msgid "Invalid update mode '%s' for submodule path '%s'"
+msgstr "子模组 '%2$s' 的更新模式 '%1$s' 无效"
+
+#: builtin/submodule--helper.c:1473
+#, c-format
+msgid "Invalid update mode '%s' configured for submodule path '%s'"
+msgstr "为子模组 '%2$s' 配置的更新模式 '%1$s' 无效"
+
+#: builtin/submodule--helper.c:1566
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:1496
+#: builtin/submodule--helper.c:1570
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:1525
+#: builtin/submodule--helper.c:1600
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:1554
+#: builtin/submodule--helper.c:1629
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:1689
+#: builtin/submodule--helper.c:1773
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:1700
+#: builtin/submodule--helper.c:1784
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:1730 builtin/submodule--helper.c:1953
+#: builtin/submodule--helper.c:1847 builtin/submodule--helper.c:2089
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:1733
+#: builtin/submodule--helper.c:1850
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:1737
+#: builtin/submodule--helper.c:1854
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:1743
+#: builtin/submodule--helper.c:1860
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:1746
+#: builtin/submodule--helper.c:1863
 msgid "parallel jobs"
 msgstr "并发任务"
 
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1748
+#: builtin/submodule--helper.c:1865
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:1749
+#: builtin/submodule--helper.c:1866
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1756
+#: builtin/submodule--helper.c:1873
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:1769
+#: builtin/submodule--helper.c:1886
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1837
+#: builtin/submodule--helper.c:1934
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr "子模组(%s)的分支配置为继承上级项目的分支,但是上级项目不在任何分支上"
 
 #, 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:1954
+#: builtin/submodule--helper.c:2057
+#, c-format
+msgid "could not get a repository handle for submodule '%s'"
+msgstr "无法获得子模组 '%s' 的仓库句柄"
+
+#: builtin/submodule--helper.c:2090
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:1960
+#: builtin/submodule--helper.c:2096
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<路径>...]"
 
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<路径>...]"
 
-#: builtin/submodule--helper.c:2071
+#: builtin/submodule--helper.c:2152
+msgid "check if it is safe to write to the .gitmodules file"
+msgstr "检查写入 .gitmodules 文件是否安全"
+
+#: builtin/submodule--helper.c:2157
+msgid "git submodule--helper config name [value]"
+msgstr "git submodule--helper config name [value]"
+
+#: builtin/submodule--helper.c:2158
+msgid "git submodule--helper config --check-writeable"
+msgstr "git submodule--helper config --check-writeable"
+
+#: builtin/submodule--helper.c:2175 git-submodule.sh:169
+#, sh-format
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "请确认 .gitmodules 文件在工作区里"
+
+#: builtin/submodule--helper.c:2225
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:2077
+#: builtin/submodule--helper.c:2231
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -16196,125 +17404,125 @@ msgstr "无标签说明?"
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:383
+#: builtin/tag.c:385
 msgid "list tag names"
 msgstr "列出标签名称"
 
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:387
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:389
 msgid "delete tags"
 msgstr "删除标签"
 
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:388
+#: builtin/tag.c:390
 msgid "verify tags"
 msgstr "验证标签"
 
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:390
+#: builtin/tag.c:392
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:392
+#: builtin/tag.c:394
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:394
+#: builtin/tag.c:396
 msgid "tag message"
 msgstr "标签说明"
 
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:398
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:397
+#: builtin/tag.c:399
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:403
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:402
+#: builtin/tag.c:404
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:403 builtin/update-ref.c:369
+#: builtin/tag.c:405 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "创建引用日志"
 
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:407
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:406
+#: builtin/tag.c:408
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:407 builtin/tag.c:409
+#: builtin/tag.c:409 builtin/tag.c:411
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:408 builtin/tag.c:410
+#: builtin/tag.c:410 builtin/tag.c:412
 msgid "print only tags that don't contain the commit"
 msgstr "只打印不包含该提交的标签"
 
 msgid "print only tags that don't contain the commit"
 msgstr "只打印不包含该提交的标签"
 
-#: builtin/tag.c:411
+#: builtin/tag.c:413
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:412
+#: builtin/tag.c:414
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:417
+#: builtin/tag.c:419
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:461
+#: builtin/tag.c:463
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:483
+#: builtin/tag.c:485
 msgid "-n option is only allowed in list mode"
 msgstr "-n 选项只允许用在列表显示模式"
 
 msgid "-n option is only allowed in list mode"
 msgstr "-n 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:485
+#: builtin/tag.c:487
 msgid "--contains option is only allowed in list mode"
 msgstr "--contains 选项只允许用在列表显示模式"
 
 msgid "--contains option is only allowed in list mode"
 msgstr "--contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:487
+#: builtin/tag.c:489
 msgid "--no-contains option is only allowed in list mode"
 msgstr "--no-contains 选项只允许用在列表显示模式"
 
 msgid "--no-contains option is only allowed in list mode"
 msgstr "--no-contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:489
+#: builtin/tag.c:491
 msgid "--points-at option is only allowed in list mode"
 msgstr "--points-at 选项只允许用在列表显示模式"
 
 msgid "--points-at option is only allowed in list mode"
 msgstr "--points-at 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:493
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "--merged 和 --no-merged 选项只允许用在列表显示模式"
 
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "--merged 和 --no-merged 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:502
+#: builtin/tag.c:504
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:521
+#: builtin/tag.c:523
 msgid "too many params"
 msgstr "太多参数"
 
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:527
+#: builtin/tag.c:529
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:532
+#: builtin/tag.c:534
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:563
+#: builtin/tag.c:565
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
@@ -16380,153 +17588,153 @@ msgstr " OK"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:944
+#: builtin/update-index.c:961
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:947
+#: builtin/update-index.c:964
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:950
+#: builtin/update-index.c:967
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:969
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:971
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:956
+#: builtin/update-index.c:973
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:959
+#: builtin/update-index.c:976
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:980
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:967
+#: builtin/update-index.c:984
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:985
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:994
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:997
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:1000
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:1003
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:1006
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:1008
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:1010
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1012
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1016
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1020
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:1007
+#: builtin/update-index.c:1024
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1028
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1031
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1033
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1037
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1039
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1041
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1043
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1045
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1030
+#: builtin/update-index.c:1047
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1049
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1051
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1037
+#: builtin/update-index.c:1054
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1136
+#: builtin/update-index.c:1153
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 "core.splitIndex 被设置为 false。如果您确实要启用索引拆分,请删除或修改它。"
 
 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:1145
+#: builtin/update-index.c:1162
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 "core.splitIndex 被设置为 true。如果您确实要禁用索引拆分,请删除或修改它。"
 
 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:1156
+#: builtin/update-index.c:1173
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -16534,11 +17742,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1160
+#: builtin/update-index.c:1177
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1185
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -16546,25 +17754,25 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1172
+#: builtin/update-index.c:1189
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1180
+#: builtin/update-index.c:1197
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
-#: builtin/update-index.c:1184
+#: builtin/update-index.c:1201
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1187
+#: builtin/update-index.c:1204
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
-#: builtin/update-index.c:1191
+#: builtin/update-index.c:1208
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -16680,213 +17888,256 @@ msgstr "git worktree remove [<选项>] <工作区>"
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
-#: builtin/worktree.c:59
+#: builtin/worktree.c:60 builtin/worktree.c:871
+#, c-format
+msgid "failed to delete '%s'"
+msgstr "删除 '%s' 失败"
+
+#: builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
-#: builtin/worktree.c:65
+#: builtin/worktree.c:85
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
-#: builtin/worktree.c:70 builtin/worktree.c:79
+#: builtin/worktree.c:90 builtin/worktree.c:99
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
-#: builtin/worktree.c:89
+#: builtin/worktree.c:109
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr "删除工作树/%s:读取过短(期望 %<PRIuMAX> 字节,读取 %<PRIuMAX>)"
 
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr "删除工作树/%s:读取过短(期望 %<PRIuMAX> 字节,读取 %<PRIuMAX>)"
 
-#: builtin/worktree.c:97
+#: builtin/worktree.c:117
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
-#: builtin/worktree.c:106
+#: builtin/worktree.c:126
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
-#: builtin/worktree.c:153
+#: builtin/worktree.c:165
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
-#: builtin/worktree.c:155
+#: builtin/worktree.c:167
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
-#: builtin/worktree.c:230
+#: builtin/worktree.c:234
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:261
+#: builtin/worktree.c:251
+#, c-format
+msgid "unable to re-add worktree '%s'"
+msgstr "无法再次添加工作区 '%s'"
+
+#: builtin/worktree.c:256
+#, c-format
+msgid ""
+"'%s' is a missing but locked worktree;\n"
+"use 'add -f -f' to override, or 'unlock' and 'prune' or 'remove' to clear"
+msgstr ""
+"'%s' 是一个丢失但锁定的工作区,使用\n"
+"'add -f -f' 覆盖,或 'unlock' 和 'prune' 或 'remove' 清除"
+
+#: builtin/worktree.c:258
+#, c-format
+msgid ""
+"'%s' is a missing but already registered worktree;\n"
+"use 'add -f' to override, or 'prune' or 'remove' to clear"
+msgstr ""
+"'%s' 是一个丢失但已经注册的工作区,使用\n"
+"'add -f' 覆盖,或 'prune' 或 'remove' 清除"
+
+#: builtin/worktree.c:309
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:380 builtin/worktree.c:386
+#: builtin/worktree.c:428 builtin/worktree.c:434
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
-#: builtin/worktree.c:382
+#: builtin/worktree.c:430
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr "准备工作区(重置分支 '%s',之前为 %s)"
 
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr "准备工作区(重置分支 '%s',之前为 %s)"
 
-#: builtin/worktree.c:391
+#: builtin/worktree.c:439
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
-#: builtin/worktree.c:397
+#: builtin/worktree.c:445
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:438
+#: builtin/worktree.c:486
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:441
+#: builtin/worktree.c:489
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:443
+#: builtin/worktree.c:491
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:445
+#: builtin/worktree.c:493
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:446
+#: builtin/worktree.c:494
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:449
+#: builtin/worktree.c:497
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "设置跟踪模式(参见 git-branch(1))"
 
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "设置跟踪模式(参见 git-branch(1))"
 
-#: builtin/worktree.c:452
+#: builtin/worktree.c:500
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "尝试为新分支名匹配一个远程跟踪分支"
 
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "尝试为新分支名匹配一个远程跟踪分支"
 
-#: builtin/worktree.c:460
+#: builtin/worktree.c:508
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:521
+#: builtin/worktree.c:569
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "只能在创建新分支时使用选项 --[no-]track "
 
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "只能在创建新分支时使用选项 --[no-]track "
 
-#: builtin/worktree.c:621
+#: builtin/worktree.c:669
 msgid "reason for locking"
 msgstr "锁定原因"
 
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:633 builtin/worktree.c:666 builtin/worktree.c:720
-#: builtin/worktree.c:860
+#: builtin/worktree.c:681 builtin/worktree.c:714 builtin/worktree.c:772
+#: builtin/worktree.c:899
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:635 builtin/worktree.c:668
+#: builtin/worktree.c:683 builtin/worktree.c:716
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:640
+#: builtin/worktree.c:688
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:642
+#: builtin/worktree.c:690
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:670
+#: builtin/worktree.c:718
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:695
+#: builtin/worktree.c:743
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "不能移动或删除包含子模组的工作区"
 
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "不能移动或删除包含子模组的工作区"
 
-#: builtin/worktree.c:722 builtin/worktree.c:862
+#: builtin/worktree.c:751
+msgid "force move even if worktree is dirty or locked"
+msgstr "强制移动,即使工作区是脏的或已锁定"
+
+#: builtin/worktree.c:774 builtin/worktree.c:901
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' 是一个主工作区"
 
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' 是一个主工作区"
 
-#: builtin/worktree.c:727
+#: builtin/worktree.c:779
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "无法从 '%s' 算出目标名称"
 
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "无法从 '%s' 算出目标名称"
 
-#: builtin/worktree.c:733
+#: builtin/worktree.c:785
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
-#: builtin/worktree.c:740
+#: builtin/worktree.c:793
 #, c-format
 #, c-format
-msgid "cannot move a locked working tree, lock reason: %s"
-msgstr "无法移动一个锁定的工作区,锁定原因:%s"
+msgid ""
+"cannot move a locked working tree, lock reason: %s\n"
+"use 'move -f -f' to override or unlock first"
+msgstr ""
+"无法移动一个锁定的工作区,锁定原因:%s\n"
+"使用 'move -f -f' 覆盖或先解锁"
 
 
-#: builtin/worktree.c:742
-msgid "cannot move a locked working tree"
-msgstr "无法移动一个锁定的工作区"
+#: builtin/worktree.c:795
+msgid ""
+"cannot move a locked working tree;\n"
+"use 'move -f -f' to override or unlock first"
+msgstr ""
+"无法移动一个锁定的工作区,\n"
+"使用 'move -f -f' 覆盖或先解锁"
 
 
-#: builtin/worktree.c:745
+#: builtin/worktree.c:798
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "验证失败,无法移动工作区:%s"
 
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "验证失败,无法移动工作区:%s"
 
-#: builtin/worktree.c:750
+#: builtin/worktree.c:803
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s' 失败"
 
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s' 失败"
 
-#: builtin/worktree.c:798
+#: builtin/worktree.c:851
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "在 '%s' 中执行 'git status' 失败"
 
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "在 '%s' 中执行 'git status' 失败"
 
-#: builtin/worktree.c:802
+#: builtin/worktree.c:855
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "'%s' 是脏的,使用 --force 删除"
 
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "'%s' 是脏的,使用 --force 删除"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:860
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
-#: builtin/worktree.c:818 builtin/worktree.c:832
-#, c-format
-msgid "failed to delete '%s'"
-msgstr "删除 '%s' 失败"
-
-#: builtin/worktree.c:844
-msgid "force removing even if the worktree is dirty"
-msgstr "强制删除,即使工作区是脏的"
+#: builtin/worktree.c:883
+msgid "force removal even if worktree is dirty or locked"
+msgstr "强制删除,即使工作区是脏的或已锁定"
 
 
-#: builtin/worktree.c:866
+#: builtin/worktree.c:906
 #, c-format
 #, c-format
-msgid "cannot remove a locked working tree, lock reason: %s"
-msgstr "无法删除一个锁定的工作区,锁定原因:%s"
+msgid ""
+"cannot remove a locked working tree, lock reason: %s\n"
+"use 'remove -f -f' to override or unlock first"
+msgstr ""
+"无法删除一个锁定的工作区,锁定原因:%s\n"
+"使用 'remove -f -f' 覆盖或先解锁"
 
 
-#: builtin/worktree.c:868
-msgid "cannot remove a locked working tree"
-msgstr "无法删除一个锁定的工作区"
+#: builtin/worktree.c:908
+msgid ""
+"cannot remove a locked working tree;\n"
+"use 'remove -f -f' to override or unlock first"
+msgstr ""
+"无法删除一个锁定的工作区,\n"
+"使用 'remove -f -f' 覆盖或先解锁"
 
 
-#: builtin/worktree.c:871
+#: builtin/worktree.c:911
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
@@ -16924,6 +18175,15 @@ msgstr ""
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
 
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
 
+#: t/helper/test-reach.c:152
+#, c-format
+msgid "commit %s is not marked reachable"
+msgstr "提交 %s 没有标记为可达"
+
+#: t/helper/test-reach.c:162
+msgid "too many commits marked reachable"
+msgstr "太多提交标记为可达"
+
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -16985,30 +18245,58 @@ msgstr "没有为 -C 提供目录\n"
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
-#: git.c:770
+#: git.c:719
+#, c-format
+msgid "alias loop detected: expansion of '%s' does not terminate:%s"
+msgstr "检测到别名循环:'%s'的扩展未终止:%s"
+
+#: git.c:802
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
-#: git.c:782
+#: git.c:814
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
 
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
 
-#: http.c:348
+#: http.c:374
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr "http.postbuffer 为负值,默认为 %d"
 
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr "http.postbuffer 为负值,默认为 %d"
 
-#: http.c:369
+#: http.c:395
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgid "Delegation control is not supported with cURL < 7.22.0"
-msgstr "当 cURL < 7.22.0 时,不支持委托控制"
+msgstr "不支持委托控制,因为 cURL < 7.22.0"
 
 
-#: http.c:378
+#: http.c:404
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
-#: http.c:1854
+#: http.c:837
+msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
+msgstr "不支持 CURLSSLOPT_NO_REVOKE,因为 cURL < 7.44.0"
+
+#: http.c:910
+msgid "Protocol restrictions not supported with cURL < 7.19.4"
+msgstr "不支持协议限制,因为 cURL < 7.19.4"
+
+#: http.c:1046
+#, c-format
+msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
+msgstr "不支持的 SSL 后端 '%s'。支持的 SSL 后端:"
+
+#: http.c:1053
+#, c-format
+msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
+msgstr "无法设置 SSL 后端为 '%s':cURL: cURL 没有使用 SSL 后端构建"
+
+#: http.c:1057
+#, c-format
+msgid "Could not set SSL backend to '%s': already set"
+msgstr "无法将 SSL 后端设置为 '%s':已经设置"
+
+#: http.c:1921
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -17024,31 +18312,31 @@ msgstr ""
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
-#: list-objects-filter-options.h:59
+#: list-objects-filter-options.h:60
 msgid "args"
 msgstr "参数"
 
 msgid "args"
 msgstr "参数"
 
-#: list-objects-filter-options.h:60
+#: list-objects-filter-options.h:61
 msgid "object filtering"
 msgstr "对象过滤"
 
 msgid "object filtering"
 msgstr "对象过滤"
 
-#: parse-options.h:157
+#: parse-options.h:154
 msgid "expiry-date"
 msgstr "到期时间"
 
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:172
+#: parse-options.h:169
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:251
+#: parse-options.h:261
 msgid "be more verbose"
 msgstr "更加详细"
 
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:253
+#: parse-options.h:263
 msgid "be more quiet"
 msgstr "更加安静"
 
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:259
+#: parse-options.h:269
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
@@ -17069,8 +18357,8 @@ msgid "Apply a patch to files and/or to the index"
 msgstr "应用一个补丁到文件和/或索引区"
 
 #: command-list.h:54
 msgstr "应用一个补丁到文件和/或索引区"
 
 #: command-list.h:54
-msgid "Import an Arch repository into Git"
-msgstr "将一个 Arch 仓库导入到 Git"
+msgid "Import a GNU Arch repository into Git"
+msgstr "将一个 GNU Arch 仓库导入到 Git"
 
 #: command-list.h:55
 msgid "Create an archive of files from a named tree"
 
 #: command-list.h:55
 msgid "Create an archive of files from a named tree"
@@ -17149,8 +18437,8 @@ msgid "Record changes to the repository"
 msgstr "记录变更到仓库"
 
 #: command-list.h:74
 msgstr "记录变更到仓库"
 
 #: command-list.h:74
-msgid "Write and verify Git commit graph files"
-msgstr "写入和校验 Git 提交图文件"
+msgid "Write and verify Git commit-graph files"
+msgstr "写入和校验 Git 提交图文件"
 
 #: command-list.h:75
 msgid "Create a new commit object"
 
 #: command-list.h:75
 msgid "Create a new commit object"
@@ -17365,327 +18653,331 @@ msgid "Show three-way merge without touching index"
 msgstr "显示三路合并而不动索引"
 
 #: command-list.h:128
 msgstr "显示三路合并而不动索引"
 
 #: command-list.h:128
+msgid "Write and verify multi-pack-indexes"
+msgstr "写入和校验多包索引"
+
+#: command-list.h:129
 msgid "Creates a tag object"
 msgstr "创建一个标签对象"
 
 msgid "Creates a tag object"
 msgstr "创建一个标签对象"
 
-#: command-list.h:129
+#: command-list.h:130
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "基于 ls-tree 的格式化文本创建一个树对象"
 
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "基于 ls-tree 的格式化文本创建一个树对象"
 
-#: command-list.h:130
+#: command-list.h:131
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "移动或重命名一个文件、目录或符号链接"
 
 # 查找给定版本的符号名称
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "移动或重命名一个文件、目录或符号链接"
 
 # 查找给定版本的符号名称
-#: command-list.h:131
+#: command-list.h:132
 msgid "Find symbolic names for given revs"
 msgstr "查找给定版本的符号名称"
 
 msgid "Find symbolic names for given revs"
 msgstr "查找给定版本的符号名称"
 
-#: command-list.h:132
+#: command-list.h:133
 msgid "Add or inspect object notes"
 msgstr "添加或检查对象注释"
 
 msgid "Add or inspect object notes"
 msgstr "添加或检查对象注释"
 
-#: command-list.h:133
+#: command-list.h:134
 msgid "Import from and submit to Perforce repositories"
 msgstr "导入和提交到 Perforce 仓库中"
 
 msgid "Import from and submit to Perforce repositories"
 msgstr "导入和提交到 Perforce 仓库中"
 
-#: command-list.h:134
+#: command-list.h:135
 msgid "Create a packed archive of objects"
 msgstr "创建对象的存档包"
 
 msgid "Create a packed archive of objects"
 msgstr "创建对象的存档包"
 
-#: command-list.h:135
+#: command-list.h:136
 msgid "Find redundant pack files"
 msgstr "查找冗余的包文件"
 
 msgid "Find redundant pack files"
 msgstr "查找冗余的包文件"
 
-#: command-list.h:136
+#: command-list.h:137
 msgid "Pack heads and tags for efficient repository access"
 msgstr "打包头和标签以实现高效的仓库访问"
 
 msgid "Pack heads and tags for efficient repository access"
 msgstr "打包头和标签以实现高效的仓库访问"
 
-#: command-list.h:137
+#: command-list.h:138
 msgid "Routines to help parsing remote repository access parameters"
 msgstr "帮助解析远程仓库访问参数的例程"
 
 msgid "Routines to help parsing remote repository access parameters"
 msgstr "帮助解析远程仓库访问参数的例程"
 
-#: command-list.h:138
+#: command-list.h:139
 msgid "Compute unique ID for a patch"
 msgstr "计算一个补丁的唯一ID"
 
 msgid "Compute unique ID for a patch"
 msgstr "计算一个补丁的唯一ID"
 
-#: command-list.h:139
+#: command-list.h:140
 msgid "Prune all unreachable objects from the object database"
 msgstr "删除对象库中所有不可达对象"
 
 msgid "Prune all unreachable objects from the object database"
 msgstr "删除对象库中所有不可达对象"
 
-#: command-list.h:140
+#: command-list.h:141
 msgid "Remove extra objects that are already in pack files"
 msgstr "删除已经在包文件中的多余对象"
 
 msgid "Remove extra objects that are already in pack files"
 msgstr "删除已经在包文件中的多余对象"
 
-#: command-list.h:141
+#: command-list.h:142
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "获取并整合另外的仓库或一个本地分支"
 
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "获取并整合另外的仓库或一个本地分支"
 
-#: command-list.h:142
+#: command-list.h:143
 msgid "Update remote refs along with associated objects"
 msgstr "更新远程引用和相关的对象"
 
 msgid "Update remote refs along with associated objects"
 msgstr "更新远程引用和相关的对象"
 
-#: command-list.h:143
+#: command-list.h:144
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "将一个 quilt 补丁集应用到当前分支。"
 
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "将一个 quilt 补丁集应用到当前分支。"
 
-#: command-list.h:144
+#: command-list.h:145
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr "比较两个提交范围(如一个分支的两个版本)"
 
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr "比较两个提交范围(如一个分支的两个版本)"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Reads tree information into the index"
 msgstr "将树信息读取到索引"
 
 msgid "Reads tree information into the index"
 msgstr "将树信息读取到索引"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Receive what is pushed into the repository"
 msgstr "接收推送到仓库中的对象"
 
 msgid "Receive what is pushed into the repository"
 msgstr "接收推送到仓库中的对象"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Manage reflog information"
 msgstr "管理 reflog 信息"
 
 msgid "Manage reflog information"
 msgstr "管理 reflog 信息"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Manage set of tracked repositories"
 msgstr "管理已跟踪仓库"
 
 msgid "Manage set of tracked repositories"
 msgstr "管理已跟踪仓库"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Pack unpacked objects in a repository"
 msgstr "打包仓库中未打包对象"
 
 msgid "Pack unpacked objects in a repository"
 msgstr "打包仓库中未打包对象"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Create, list, delete refs to replace objects"
 msgstr "创建、列出、删除对象替换引用"
 
 msgid "Create, list, delete refs to replace objects"
 msgstr "创建、列出、删除对象替换引用"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Generates a summary of pending changes"
 msgstr "生成待定更改的摘要"
 
 msgid "Generates a summary of pending changes"
 msgstr "生成待定更改的摘要"
 
-#: command-list.h:153
+#: command-list.h:154
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "重用冲突合并的解决方案记录"
 
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "重用冲突合并的解决方案记录"
 
-#: command-list.h:154
+#: command-list.h:155
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
-#: command-list.h:155
+#: command-list.h:156
 msgid "Revert some existing commits"
 msgstr "回退一些现存提交"
 
 msgid "Revert some existing commits"
 msgstr "回退一些现存提交"
 
-#: command-list.h:156
+#: command-list.h:157
 msgid "Lists commit objects in reverse chronological order"
 msgstr "按时间顺序列出提交对象"
 
 msgid "Lists commit objects in reverse chronological order"
 msgstr "按时间顺序列出提交对象"
 
-#: command-list.h:157
+#: command-list.h:158
 msgid "Pick out and massage parameters"
 msgstr "选出并处理参数"
 
 msgid "Pick out and massage parameters"
 msgstr "选出并处理参数"
 
-#: command-list.h:158
+#: command-list.h:159
 msgid "Remove files from the working tree and from the index"
 msgstr "从工作区和索引中删除文件"
 
 msgid "Remove files from the working tree and from the index"
 msgstr "从工作区和索引中删除文件"
 
-#: command-list.h:159
+#: command-list.h:160
 msgid "Send a collection of patches as emails"
 msgstr "通过电子邮件发送一组补丁"
 
 msgid "Send a collection of patches as emails"
 msgstr "通过电子邮件发送一组补丁"
 
-#: command-list.h:160
+#: command-list.h:161
 msgid "Push objects over Git protocol to another repository"
 msgstr "使用 Git 协议推送对象到另一个仓库"
 
 msgid "Push objects over Git protocol to another repository"
 msgstr "使用 Git 协议推送对象到另一个仓库"
 
-#: command-list.h:161
+#: command-list.h:162
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "只允许 Git SSH 访问的受限登录shell"
 
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "只允许 Git SSH 访问的受限登录shell"
 
-#: command-list.h:162
+#: command-list.h:163
 msgid "Summarize 'git log' output"
 msgstr "'git log' 输出摘要"
 
 msgid "Summarize 'git log' output"
 msgstr "'git log' 输出摘要"
 
-#: command-list.h:163
+#: command-list.h:164
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
-#: command-list.h:164
+#: command-list.h:165
 msgid "Show branches and their commits"
 msgstr "显示分支和提交"
 
 msgid "Show branches and their commits"
 msgstr "显示分支和提交"
 
-#: command-list.h:165
+#: command-list.h:166
 msgid "Show packed archive index"
 msgstr "显示打包归档索引"
 
 msgid "Show packed archive index"
 msgstr "显示打包归档索引"
 
-#: command-list.h:166
+#: command-list.h:167
 msgid "List references in a local repository"
 msgstr "显示本地仓库中的引用"
 
 msgid "List references in a local repository"
 msgstr "显示本地仓库中的引用"
 
-#: command-list.h:167
+#: command-list.h:168
 msgid "Git's i18n setup code for shell scripts"
 msgstr "为 shell 脚本准备的 Git 国际化设置代码"
 
 msgid "Git's i18n setup code for shell scripts"
 msgstr "为 shell 脚本准备的 Git 国际化设置代码"
 
-#: command-list.h:168
+#: command-list.h:169
 msgid "Common Git shell script setup code"
 msgstr "常用的 Git shell 脚本设置代码"
 
 msgid "Common Git shell script setup code"
 msgstr "常用的 Git shell 脚本设置代码"
 
-#: command-list.h:169
+#: command-list.h:170
 msgid "Stash the changes in a dirty working directory away"
 msgstr "贮藏脏工作区中的修改"
 
 msgid "Stash the changes in a dirty working directory away"
 msgstr "贮藏脏工作区中的修改"
 
-#: command-list.h:170
+#: command-list.h:171
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到索引"
 
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到索引"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Subersion 仓库和 Git 之间的双向操作"
 
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Subersion 仓库和 Git 之间的双向操作"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Creates a temporary file with a blob's contents"
 msgstr "用 blob 数据对象的内容创建一个临时文件"
 
 msgid "Creates a temporary file with a blob's contents"
 msgstr "用 blob 数据对象的内容创建一个临时文件"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Register file contents in the working tree to the index"
 msgstr "将工作区的文件内容注册到索引"
 
 msgid "Register file contents in the working tree to the index"
 msgstr "将工作区的文件内容注册到索引"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Update the object name stored in a ref safely"
 msgstr "安全地更新存储于引用中的对象名称"
 
 msgid "Update the object name stored in a ref safely"
 msgstr "安全地更新存储于引用中的对象名称"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "将对象压缩包发送回 git-fetch-pack"
 
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "将对象压缩包发送回 git-fetch-pack"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Git web 界面(Git 仓库的 web 前端)"
 
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Git web 界面(Git 仓库的 web 前端)"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "每一天 Git 的一组有用的最小命令集合"
 
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "每一天 Git 的一组有用的最小命令集合"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "A tutorial introduction to Git: part two"
 msgstr "一个 Git 教程:第二部分"
 
 msgid "A tutorial introduction to Git: part two"
 msgstr "一个 Git 教程:第二部分"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "A tutorial introduction to Git"
 msgstr "一个 Git 教程"
 
 msgid "A tutorial introduction to Git"
 msgstr "一个 Git 教程"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
-#: rerere.h:40
+#: rerere.h:44
 msgid "update the index with reused conflict resolution if possible"
 msgstr "如果可能,重用冲突解决更新索引"
 
 msgid "update the index with reused conflict resolution if possible"
 msgstr "如果可能,重用冲突解决更新索引"
 
@@ -17909,62 +19201,12 @@ msgstr "尝试和 $pretty_name 的简单合并"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-rebase.sh:61
-msgid ""
-"Resolve all conflicts manually, mark them as resolved with\n"
-"\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
-"You can instead skip this commit: run \"git rebase --skip\".\n"
-"To abort and get back to the state before \"git rebase\", run \"git rebase --"
-"abort\"."
-msgstr ""
-"手工解决所有冲突,执行 \"git add/rm <冲突的文件>\" 标记\n"
-"冲突已解决,然后执行 \"git rebase --continue\"。您也可以执行\n"
-"\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
-"\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
-
-#: git-rebase.sh:173 git-rebase.sh:454
+#: git-legacy-rebase.sh:434
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:184
-msgid "Applied autostash."
-msgstr "成功应用 autostash。"
-
-#: git-rebase.sh:187
-#, sh-format
-msgid "Cannot store $stash_sha1"
-msgstr "无法保存 $stash_sha1"
-
-#: git-rebase.sh:236
-msgid "The pre-rebase hook refused to rebase."
-msgstr "钩子 pre-rebase 拒绝变基操作。"
-
-#: git-rebase.sh:241
-msgid "It looks like 'git am' is in progress. Cannot rebase."
-msgstr "看起来 'git-am' 正在执行中。无法变基。"
-
-#: git-rebase.sh:415
-msgid "No rebase in progress?"
-msgstr "没有正在进行的变基?"
-
-#: git-rebase.sh:426
-msgid "The --edit-todo action can only be used during interactive rebase."
-msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
-
-#: git-rebase.sh:433
-msgid "Cannot read HEAD"
-msgstr "不能读取 HEAD"
-
-#: git-rebase.sh:436
-msgid ""
-"You must edit all merge conflicts and then\n"
-"mark them as resolved using git add"
-msgstr ""
-"您必须编辑所有的合并冲突,然后通过 git add\n"
-"命令将它们标记为已解决"
-
-#: git-rebase.sh:480
+#: git-legacy-rebase.sh:460
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -17983,90 +19225,65 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:545
+#: git-legacy-rebase.sh:525
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
 msgstr "错误:不能组合 '--signoff' 和 '--preserve-merges'"
 
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
 msgstr "错误:不能组合 '--signoff' 和 '--preserve-merges'"
 
-#: git-rebase.sh:556
-msgid "error: cannot combine '--preserve_merges' with '--rebase-merges'"
-msgstr "错误:不能组合 '--preserve_merges' 和 '--rebase-merges'"
-
-#: git-rebase.sh:562
-msgid "error: cannot combine '--rebase_merges' with '--strategy-option'"
-msgstr "错误:不能组合 '--rebase_merges' 和 '--strategy-option'"
-
-#: git-rebase.sh:564
-msgid "error: cannot combine '--rebase_merges' with '--strategy'"
-msgstr "错误:不能组合 '--rebase_merges' 和 '--strategy'"
-
-#: git-rebase.sh:590
+#: git-legacy-rebase.sh:570
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "无效的上游 '$upstream_name'"
 
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "无效的上游 '$upstream_name'"
 
-#: git-rebase.sh:614
+#: git-legacy-rebase.sh:594
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:617 git-rebase.sh:621
+#: git-legacy-rebase.sh:597 git-legacy-rebase.sh:601
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:626
+#: git-legacy-rebase.sh:606
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:652
+#: git-legacy-rebase.sh:632
 #, sh-format
 msgid "fatal: no such branch/commit '$branch_name'"
 msgstr "严重错误:无此分支/提交 '$branch_name'"
 
 #, sh-format
 msgid "fatal: no such branch/commit '$branch_name'"
 msgstr "严重错误:无此分支/提交 '$branch_name'"
 
-#: git-rebase.sh:685
-msgid "Cannot autostash"
-msgstr "无法 autostash"
-
-#: git-rebase.sh:690
+#: git-legacy-rebase.sh:670
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:694
-msgid "Please commit or stash them."
-msgstr "请提交或贮藏修改。"
-
-#: git-rebase.sh:717
-#, sh-format
-msgid "HEAD is up to date."
-msgstr "HEAD 是最新的。"
-
-#: git-rebase.sh:719
+#: git-legacy-rebase.sh:699
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:727
-#, sh-format
-msgid "HEAD is up to date, rebase forced."
-msgstr "HEAD 是最新的,强制变基。"
-
-#: git-rebase.sh:729
+#: git-legacy-rebase.sh:709
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:741
+#: git-legacy-rebase.sh:723
+#, sh-format
+msgid "Changes to $onto:"
+msgstr "到 $onto 的变更:"
+
+#: git-legacy-rebase.sh:725
 #, sh-format
 msgid "Changes from $mb to $onto:"
 #, sh-format
 msgid "Changes from $mb to $onto:"
-msgstr "变更从 $mb 到 $onto:"
+msgstr "从 $mb 到 $onto 的变更:"
 
 
-#: git-rebase.sh:750
+#: git-legacy-rebase.sh:736
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:760
+#: git-legacy-rebase.sh:746
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -18217,26 +19434,26 @@ msgstr "未指定分支名"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:188
+#: git-submodule.sh:198
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:198
+#: git-submodule.sh:208
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:217
+#: git-submodule.sh:227
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:220
+#: git-submodule.sh:230
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
-#: git-submodule.sh:226
+#: git-submodule.sh:236
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -18247,22 +19464,22 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:249
+#: git-submodule.sh:259
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:251
+#: git-submodule.sh:261
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:259
+#: git-submodule.sh:269
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:261
+#: git-submodule.sh:271
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -18277,49 +19494,49 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:267
+#: git-submodule.sh:277
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:279
+#: git-submodule.sh:289
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:284
+#: git-submodule.sh:294
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:293
+#: git-submodule.sh:303
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:565
+#: git-submodule.sh:563
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:575
+#: git-submodule.sh:573
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:580
+#: git-submodule.sh:578
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
 
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
 
-#: git-submodule.sh:603
+#: git-submodule.sh:596
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:609
+#: git-submodule.sh:602
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -18327,74 +19544,74 @@ msgid ""
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:616
+#: git-submodule.sh:609
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:610
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:621
+#: git-submodule.sh:614
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:622
+#: git-submodule.sh:615
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:620
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:628
+#: git-submodule.sh:621
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:626
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:634
+#: git-submodule.sh:627
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:665
+#: git-submodule.sh:658
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:761
+#: git-submodule.sh:754
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:813
+#: git-submodule.sh:806
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:833
+#: git-submodule.sh:826
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:836
+#: git-submodule.sh:829
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:839
+#: git-submodule.sh:832
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
@@ -18404,128 +19621,6 @@ msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 msgid "See git-${cmd}(1) for details."
 msgstr "详见 git-${cmd}(1)。"
 
 msgid "See git-${cmd}(1) for details."
 msgstr "详见 git-${cmd}(1)。"
 
-#: git-rebase--interactive.sh:43
-msgid ""
-"\n"
-"Commands:\n"
-"p, pick <commit> = use commit\n"
-"r, reword <commit> = use commit, but edit the commit message\n"
-"e, edit <commit> = use commit, but stop for amending\n"
-"s, squash <commit> = use commit, but meld into previous commit\n"
-"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
-"x, exec <command> = run command (the rest of the line) using shell\n"
-"d, drop <commit> = remove commit\n"
-"l, label <label> = label current HEAD with a name\n"
-"t, reset <label> = reset HEAD to a label\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       create a merge commit using the original merge commit's\n"
-".       message (or the oneline, if no original merge commit was\n"
-".       specified). Use -c <commit> to reword the commit message.\n"
-"\n"
-"These lines can be re-ordered; they are executed from top to bottom.\n"
-msgstr ""
-"\n"
-"命令:\n"
-"p, pick <提交> = 使用提交\n"
-"r, reword <提交> = 使用提交,但修改提交说明\n"
-"e, edit <提交> = 使用提交,进入 shell 以便进行提交修补\n"
-"s, squash <提交> = 使用提交,但融合到前一个提交\n"
-"f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
-"x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
-"d, drop <提交> = 删除提交\n"
-"l, label <label> = 为当前 HEAD 打上标记\n"
-"t, reset <label> = 重置 HEAD 到该标记\n"
-"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
-".       创建一个合并提交,并使用原始的合并提交说明(如果没有指定\n"
-".       原始提交,使用注释部分的 oneline 作为提交说明)。使用\n"
-".       -c <提交> 可以编辑提交说明。\n"
-"\n"
-"可以对这些行重新排序,将从上至下执行。\n"
-
-#: git-rebase--interactive.sh:64 git-rebase--preserve-merges.sh:173
-msgid ""
-"\n"
-"Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr ""
-"\n"
-"不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
-
-#: git-rebase--interactive.sh:68 git-rebase--preserve-merges.sh:177
-msgid ""
-"\n"
-"If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr ""
-"\n"
-"如果您在这里删除一行,对应的提交将会丢失。\n"
-
-#: git-rebase--interactive.sh:108 git-rebase--preserve-merges.sh:724
-msgid "could not detach HEAD"
-msgstr "不能检出为分离头指针"
-
-#: git-rebase--interactive.sh:147 git-rebase--preserve-merges.sh:816
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-"\n"
-"您正在修改运行中的交互式变基待办列表。若要在编辑结束后继续变基,\n"
-"请执行:\n"
-"    git rebase --continue\n"
-"\n"
-
-#: git-rebase--interactive.sh:155 git-rebase--interactive.sh:241
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
-msgid "Could not execute editor"
-msgstr "无法运行编辑器"
-
-#: git-rebase--interactive.sh:176 git-rebase--preserve-merges.sh:845
-#, sh-format
-msgid "Could not checkout $switch_to"
-msgstr "不能检出 $switch_to"
-
-#: git-rebase--interactive.sh:183 git-rebase--preserve-merges.sh:852
-msgid "No HEAD?"
-msgstr "没有 HEAD?"
-
-#: git-rebase--interactive.sh:184 git-rebase--preserve-merges.sh:853
-#, sh-format
-msgid "Could not create temporary $state_dir"
-msgstr "不能创建临时 $state_dir"
-
-#: git-rebase--interactive.sh:187 git-rebase--preserve-merges.sh:856
-msgid "Could not mark as interactive"
-msgstr "不能标记为交互式"
-
-#: git-rebase--interactive.sh:219 git-rebase--preserve-merges.sh:888
-#, sh-format
-msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
-msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
-msgstr[0] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
-msgstr[1] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
-
-#: git-rebase--interactive.sh:224
-msgid ""
-"\n"
-"\tHowever, if you remove everything, the rebase will be aborted.\n"
-"\n"
-"\t"
-msgstr ""
-"\n"
-"\t然而,如果您删除全部内容,变基操作将会终止。\n"
-"\n"
-"\t"
-
-#: git-rebase--interactive.sh:231 git-rebase--preserve-merges.sh:900
-msgid "Note that empty commits are commented out"
-msgstr "注意空提交已被注释掉"
-
-#: git-rebase--interactive.sh:280
-msgid "Could not generate todo list"
-msgstr "无法生成待办列表"
-
 #: git-rebase--preserve-merges.sh:136
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 #: git-rebase--preserve-merges.sh:136
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
@@ -18789,15 +19884,34 @@ msgstr ""
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--preserve-merges.sh:893
-msgid ""
-"\n"
-"However, if you remove everything, the rebase will be aborted.\n"
-"\n"
-msgstr ""
-"\n"
-"然而,如果您删除全部内容,变基操作将会终止。\n"
-"\n"
+#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+msgid "Could not execute editor"
+msgstr "无法运行编辑器"
+
+#: git-rebase--preserve-merges.sh:845
+#, sh-format
+msgid "Could not checkout $switch_to"
+msgstr "不能检出 $switch_to"
+
+#: git-rebase--preserve-merges.sh:852
+msgid "No HEAD?"
+msgstr "没有 HEAD?"
+
+#: git-rebase--preserve-merges.sh:853
+#, sh-format
+msgid "Could not create temporary $state_dir"
+msgstr "不能创建临时 $state_dir"
+
+#: git-rebase--preserve-merges.sh:856
+msgid "Could not mark as interactive"
+msgstr "不能标记为交互式"
+
+#: git-rebase--preserve-merges.sh:888
+#, sh-format
+msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
+msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
+msgstr[0] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
+msgstr[1] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
 
 #: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
 msgid "Could not init rewritten commits"
 
 #: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
 msgid "Could not init rewritten commits"
@@ -19370,74 +20484,74 @@ msgstr "未知的 --patch 模式:%s"
 msgid "invalid argument %s, expecting --"
 msgstr "无效的参数 %s,期望是 --"
 
 msgid "invalid argument %s, expecting --"
 msgstr "无效的参数 %s,期望是 --"
 
-#: git-send-email.perl:130
+#: git-send-email.perl:138
 msgid "local zone differs from GMT by a non-minute interval\n"
 msgstr "本地时间和 GMT 有不到一分钟间隔\n"
 
 msgid "local zone differs from GMT by a non-minute interval\n"
 msgstr "本地时间和 GMT 有不到一分钟间隔\n"
 
-#: git-send-email.perl:137 git-send-email.perl:143
+#: git-send-email.perl:145 git-send-email.perl:151
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "本地时间偏移量大于等于 24 小时\n"
 
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "本地时间偏移量大于等于 24 小时\n"
 
-#: git-send-email.perl:211 git-send-email.perl:217
+#: git-send-email.perl:219 git-send-email.perl:225
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "编辑器非正常退出,终止所有操作"
 
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "编辑器非正常退出,终止所有操作"
 
-#: git-send-email.perl:294
+#: git-send-email.perl:302
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "'%s' 包含您正在编写的一个中间版本的邮件。\n"
 
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "'%s' 包含您正在编写的一个中间版本的邮件。\n"
 
-#: git-send-email.perl:299
+#: git-send-email.perl:307
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' 包含编辑的邮件。\n"
 
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "'%s.final' 包含编辑的邮件。\n"
 
-#: git-send-email.perl:317
+#: git-send-email.perl:326
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases 和其它选项不兼容\n"
 
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases 和其它选项不兼容\n"
 
-#: git-send-email.perl:383 git-send-email.perl:638
+#: git-send-email.perl:395 git-send-email.perl:650
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "不能在仓库之外运行 git format-patch\n"
 
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "不能在仓库之外运行 git format-patch\n"
 
-#: git-send-email.perl:386
+#: git-send-email.perl:398
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr "`batch-size` 和 `relogin` 必须同时定义(通过命令行或者配置选项)\n"
 
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
 msgstr "`batch-size` 和 `relogin` 必须同时定义(通过命令行或者配置选项)\n"
 
-#: git-send-email.perl:456
+#: git-send-email.perl:468
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "未知的 --suppress-cc 字段:'%s'\n"
 
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "未知的 --suppress-cc 字段:'%s'\n"
 
-#: git-send-email.perl:485
+#: git-send-email.perl:497
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "未知的 --confirm 设置:'%s'\n"
 
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "未知的 --confirm 设置:'%s'\n"
 
-#: git-send-email.perl:513
+#: git-send-email.perl:525
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
 
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
 
-#: git-send-email.perl:515
+#: git-send-email.perl:527
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "警告:不支持 `:include:`:%s\n"
 
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "警告:不支持 `:include:`:%s\n"
 
-#: git-send-email.perl:517
+#: git-send-email.perl:529
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
 
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
 
-#: git-send-email.perl:522
+#: git-send-email.perl:534
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "警告:不能识别的 sendmail 行:%s\n"
 
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "警告:不能识别的 sendmail 行:%s\n"
 
-#: git-send-email.perl:604
+#: git-send-email.perl:616
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -19452,12 +20566,12 @@ msgstr ""
 "    * 如果含义为一个文件,使用 \"./%s\",或者\n"
 "    * 如果含义为一个范围,使用 --format-patch 选项。\n"
 
 "    * 如果含义为一个文件,使用 \"./%s\",或者\n"
 "    * 如果含义为一个范围,使用 --format-patch 选项。\n"
 
-#: git-send-email.perl:625
+#: git-send-email.perl:637
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "无法打开目录 %s: %s"
 
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "无法打开目录 %s: %s"
 
-#: git-send-email.perl:649
+#: git-send-email.perl:661
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -19466,7 +20580,7 @@ msgstr ""
 "严重:%s:%s\n"
 "警告:补丁未能发送\n"
 
 "严重:%s:%s\n"
 "警告:补丁未能发送\n"
 
-#: git-send-email.perl:660
+#: git-send-email.perl:672
 msgid ""
 "\n"
 "No patch files specified!\n"
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -19476,17 +20590,17 @@ msgstr ""
 "未指定补丁文件!\n"
 "\n"
 
 "未指定补丁文件!\n"
 "\n"
 
-#: git-send-email.perl:673
+#: git-send-email.perl:685
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "在 %s 中没有标题行?"
 
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "在 %s 中没有标题行?"
 
-#: git-send-email.perl:683
+#: git-send-email.perl:695
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "为写入打开 %s 失败: %s"
 
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "为写入打开 %s 失败: %s"
 
-#: git-send-email.perl:694
+#: git-send-email.perl:706
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -19499,37 +20613,37 @@ msgstr ""
 "\n"
 "如果您不想发送摘要,清除内容。\n"
 
 "\n"
 "如果您不想发送摘要,清除内容。\n"
 
-#: git-send-email.perl:718
+#: git-send-email.perl:730
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "无法打开 %s: %s"
 
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "无法打开 %s: %s"
 
-#: git-send-email.perl:735
+#: git-send-email.perl:747
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "无法打开 %s.final: %s"
 
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "无法打开 %s.final: %s"
 
-#: git-send-email.perl:778
+#: git-send-email.perl:790
 msgid "Summary email is empty, skipping it\n"
 msgstr "摘要邮件为空,跳过\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
 msgid "Summary email is empty, skipping it\n"
 msgstr "摘要邮件为空,跳过\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:813
+#: git-send-email.perl:825
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "您确认要使用 <%s> [y/N]?"
 
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "您确认要使用 <%s> [y/N]?"
 
-#: git-send-email.perl:868
+#: git-send-email.perl:880
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "如下文件含 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n"
 
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "如下文件含 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n"
 
-#: git-send-email.perl:873
+#: git-send-email.perl:885
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
 
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
 
-#: git-send-email.perl:881
+#: git-send-email.perl:893
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -19541,20 +20655,20 @@ msgstr ""
 "\t%s\n"
 "包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
 
 "\t%s\n"
 "包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
 
-#: git-send-email.perl:900
+#: git-send-email.perl:912
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "邮件将要发送给谁?"
 
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "邮件将要发送给谁?"
 
-#: git-send-email.perl:918
+#: git-send-email.perl:930
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "严重:别名 '%s' 扩展为它自己\n"
 
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "严重:别名 '%s' 扩展为它自己\n"
 
-#: git-send-email.perl:930
+#: git-send-email.perl:942
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ?"
 
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ?"
 
-#: git-send-email.perl:988 git-send-email.perl:996
+#: git-send-email.perl:1000 git-send-email.perl:1008
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
@@ -19562,16 +20676,16 @@ msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1000
+#: git-send-email.perl:1012
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
-#: git-send-email.perl:1317
+#: git-send-email.perl:1329
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
-#: git-send-email.perl:1400
+#: git-send-email.perl:1412
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -19596,212 +20710,128 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1415
+#: git-send-email.perl:1427
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
-#: git-send-email.perl:1418
+#: git-send-email.perl:1430
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
-#: git-send-email.perl:1446
+#: git-send-email.perl:1458
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
-#: git-send-email.perl:1493
+#: git-send-email.perl:1505
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
-#: git-send-email.perl:1498 git-send-email.perl:1502
+#: git-send-email.perl:1510 git-send-email.perl:1514
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1511
+#: git-send-email.perl:1523
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
 
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
 
-#: git-send-email.perl:1529
+#: git-send-email.perl:1541
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "无法发送 %s\n"
 
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "无法发送 %s\n"
 
-#: git-send-email.perl:1532
+#: git-send-email.perl:1544
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1532
+#: git-send-email.perl:1544
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1534
+#: git-send-email.perl:1546
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1534
+#: git-send-email.perl:1546
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1558
 msgid "Result: "
 msgstr "结果:"
 
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1549
+#: git-send-email.perl:1561
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1567
+#: git-send-email.perl:1579
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1614 git-send-email.perl:1634
+#: git-send-email.perl:1626 git-send-email.perl:1646
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
 
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1620
+#: git-send-email.perl:1632
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
 
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1673
+#: git-send-email.perl:1685
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
 
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1698
+#: git-send-email.perl:1720
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) 添加 cc: %s 自行 '%s'\n"
 
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) 添加 cc: %s 自行 '%s'\n"
 
-#: git-send-email.perl:1809
+#: git-send-email.perl:1831
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) 不能执行 '%s'"
 
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) 不能执行 '%s'"
 
-#: git-send-email.perl:1816
+#: git-send-email.perl:1838
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) 添加 %s: %s 自:'%s'\n"
 
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) 添加 %s: %s 自:'%s'\n"
 
-#: git-send-email.perl:1820
+#: git-send-email.perl:1842
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) 无法关闭管道至 '%s'"
 
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) 无法关闭管道至 '%s'"
 
-#: git-send-email.perl:1850
+#: git-send-email.perl:1872
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1858
+#: git-send-email.perl:1880
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1899 git-send-email.perl:1951 git-send-email.perl:1961
+#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
-#: git-send-email.perl:1902
+#: git-send-email.perl:1924
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s:补丁包含一个超过 998 字符的行"
 
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s:补丁包含一个超过 998 字符的行"
 
-#: git-send-email.perl:1919
+#: git-send-email.perl:1941
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "略过 %s 含备份后缀 '%s'。\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "略过 %s 含备份后缀 '%s'。\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1923
+#: git-send-email.perl:1945
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
-
-#~ msgid "Dirty index: cannot merge (dirty: %s)"
-#~ msgstr "脏索引:不能合并(脏文件:%s)"
-
-#~ msgid "Stopping at '$displaypath'; script returned non-zero status."
-#~ msgstr "停止于 '$displaypath';脚本返回非零值。"
-
-#~ msgid "Everyday Git With 20 Commands Or So"
-#~ msgstr "每一天 Git 常用的约 20 条命令"
-
-#~ msgid "BUG: returned path string doesn't match cwd?"
-#~ msgstr "BUG:返回的路径和当前路径不匹配?"
-
-#~ msgid ""
-#~ "unexpected 1st line of squash message:\n"
-#~ "\n"
-#~ "\t%.*s"
-#~ msgstr ""
-#~ "意外的压缩提交首行提交信息:\n"
-#~ "\n"
-#~ "\t%.*s"
-
-#~ msgid ""
-#~ "invalid 1st line of squash message:\n"
-#~ "\n"
-#~ "\t%.*s"
-#~ msgstr ""
-#~ "压缩提交的首行提交信息无效:\n"
-#~ "\n"
-#~ "\t%.*s"
-
-#~ msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
-#~ msgstr "To/Cc/Bcc 字段不解析,它们被忽略\n"
-
-#~ msgid "git fetch-pack: expected ACK/NAK, got EOF"
-#~ msgstr "git fetch-pack:应为 ACK/NAK,却得到 EOF"
-
-#~ msgid "The copy of the patch that failed is found in: %s"
-#~ msgstr "失败的补丁文件副本位于:%s"
-
-#~ msgid "invalid filter-spec expression '%s'"
-#~ msgstr "无效的 filter-spec 表达式 '%s'"
-
-#~ msgid "pathspec and --all are incompatible"
-#~ msgstr "pathspec 和 --all 不兼容"
-
-#~ msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
-#~ msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
-
-#~ msgid ""
-#~ "empty strings as pathspecs will be made invalid in upcoming releases. "
-#~ "please use . instead if you meant to match all paths"
-#~ msgstr ""
-#~ "在下一个版本中,使用空字符串作为路径规格将被视作非法。如果要匹配所有路"
-#~ "径,\n"
-#~ "请代之以 ."
-
-#~ msgid "Copied a misnamed branch '%s' away"
-#~ msgstr "已将错误命名的分支 '%s' 复制"
-
-#~ msgid "it does not make sense to create 'HEAD' manually"
-#~ msgstr "手工创建 'HEAD' 没有意义"
-
-#~ msgid "Don't know how to clone %s"
-#~ msgstr "不知道如何克隆 %s"
-
-#~ msgid "show ignored files"
-#~ msgstr "显示忽略的文件"
-
-#~ msgid "Don't know how to fetch from %s"
-#~ msgstr "不知道如何从 %s 获取"
-
-#~ msgid "'$term' is not a valid term"
-#~ msgstr "'$term' 不是一个有效的名称"
-
-#~ msgid ""
-#~ "error: unknown option for 'stash save': $option\n"
-#~ "       To provide a message, use git stash save -- '$option'"
-#~ msgstr ""
-#~ "错误:'stash save' 的未知选项:$option\n"
-#~ "      要提供一个描述信息,使用 git stash save -- '$option'"
-
-#~ msgid "Failed to recurse into submodule path '$sm_path'"
-#~ msgstr "无法递归进子模组路径 '$sm_path'"