l10n: zh_CN: for git v2.19.0 l10n round 1 to 2
authorJiang Xin <worldhello.net@gmail.com>
Tue, 21 Aug 2018 00:40:05 +0000 (08:40 +0800)
committerJiang Xin <worldhello.net@gmail.com>
Sun, 9 Sep 2018 14:38:39 +0000 (22:38 +0800)
Translate 382 new messages (3958t0f0u) for git 2.19.0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
po/zh_CN.po
index 665ee48a5042b6a0077120dc0053684debe2c612..34196437b1e20469a5c54deeffc41fbf32abbaab 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-06-16 22:06+0800\n"
-"PO-Revision-Date: 2018-07-02 10:22+0800\n"
+"POT-Creation-Date: 2018-09-04 08:50+0800\n"
+"PO-Revision-Date: 2018-09-09 21:07+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:92
+#: advice.c:97
 #, 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:137
+#: advice.c:150
 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:139
+#: advice.c:152
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:141
+#: advice.c:154
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:143
+#: advice.c:156
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:145
+#: advice.c:158
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:147
+#: advice.c:160
 #, 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:155
+#: advice.c:168
 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:163
+#: advice.c:176
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:168 builtin/merge.c:1250
+#: advice.c:181 builtin/merge.c:1286
 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:170
+#: advice.c:183
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:171
+#: advice.c:184
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:177
+#: advice.c:190
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -229,92 +229,92 @@ msgstr ""
 "  git checkout -b <新分支名>\n"
 "\n"
 
 "  git checkout -b <新分支名>\n"
 "\n"
 
-#: apply.c:58
+#: apply.c:59
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
-#: apply.c:74
+#: apply.c:75
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: apply.c:122
+#: apply.c:125
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
-#: apply.c:124
+#: apply.c:127
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached 和 --3way 不能同时使用。"
 
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached 和 --3way 不能同时使用。"
 
-#: apply.c:127
+#: apply.c:130
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
-#: apply.c:138
+#: apply.c:141
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
-#: apply.c:141
+#: apply.c:144
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
-#: apply.c:821
+#: apply.c:826
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: apply.c:830
+#: apply.c:835
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
-#: apply.c:904
+#: apply.c:909
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: apply.c:942
+#: apply.c:947
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
-#: apply.c:948
+#: apply.c:953
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: apply.c:949
+#: apply.c:954
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: apply.c:954
+#: apply.c:959
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: apply.c:983
+#: apply.c:988
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
-#: apply.c:1301
+#: apply.c:1306
 #, 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:1473
+#: apply.c:1478
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1542
+#: apply.c:1547
 #, 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:1562
+#: apply.c:1567
 #, 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:1575
+#: apply.c:1580
 #, 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:1763
+#: apply.c:1768
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1765
+#: apply.c:1770
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1799
+#: apply.c:1804
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1836
+#: apply.c:1841
 #, 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:1838
+#: apply.c:1843
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1841
+#: apply.c:1846
 #, 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:1988
+#: apply.c:1993
 #, 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:2025
+#: apply.c:2030
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2185
+#: apply.c:2190
 #, 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:2271
+#: apply.c:2276
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2275
+#: apply.c:2280
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2934
+#: apply.c:2939
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3055
+#: apply.c:3060
 #, 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:3067
+#: apply.c:3072
 #, 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:3073
+#: apply.c:3078
 #, c-format
 msgid ""
 "while searching for:\n"
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -409,557 +409,611 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3095
+#: apply.c:3100
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3103
+#: apply.c:3108
 #, 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:3149
+#: apply.c:3154
 #, 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:3159
+#: apply.c:3164
 #, 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:3167
+#: apply.c:3172
 #, 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:3185
+#: apply.c:3190
 #, 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:3198
+#: apply.c:3203
 #, 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:3204
+#: apply.c:3209
 #, 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:3225
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3347
+#: apply.c:3352
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:278
+#: apply.c:3404 apply.c:3415 apply.c:3461 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3404
+#: apply.c:3412
 #, 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:3433 apply.c:3673
+#: apply.c:3441 apply.c:3681
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3516 apply.c:3687
+#: apply.c:3524 apply.c:3696
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3525 apply.c:3695
+#: apply.c:3533 apply.c:3704
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3560
+#: apply.c:3568
 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:3563
+#: apply.c:3571
 #, 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:3579 apply.c:3583
+#: apply.c:3587 apply.c:3591
 #, 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:3595
+#: apply.c:3603
 #, 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:3609
+#: apply.c:3617
 #, 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:3614
+#: apply.c:3622
 #, 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:3640
+#: apply.c:3648
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3712
+#: apply.c:3721
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3714
+#: apply.c:3723
 #, 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:3864 apply.c:3866
+#: apply.c:3874 apply.c:3876
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3922
+#: apply.c:3932
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3925
+#: apply.c:3935
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3945
+#: apply.c:3955
 #, 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:3950
+#: apply.c:3960
 #, 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:3970
+#: apply.c:3980
 #, 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:3974
+#: apply.c:3984
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:3989
+#: apply.c:3999
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: apply.c:4080
+#: apply.c:4091
 #, 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:4087
+#: apply.c:4098
 #, 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:4090
+#: apply.c:4101
 #, 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:4095 builtin/checkout.c:235 builtin/reset.c:140
+#: apply.c:4106 builtin/checkout.c:237 builtin/reset.c:140
 #, 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:4099
+#: apply.c:4110
 #, 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:4109
+#: apply.c:4120
 #, 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:4247
+#: apply.c:4258
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4282
+#: apply.c:4292
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4288
+#: apply.c:4298
 #, 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:4296
+#: apply.c:4306
 #, 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:4302 apply.c:4446
+#: apply.c:4312 apply.c:4457
 #, 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:4343
+#: apply.c:4355
 #, c-format
 msgid "failed to write to '%s'"
 #, c-format
 msgid "failed to write to '%s'"
-msgstr "无法写入 '%s'"
+msgstr "写入 '%s' 失败"
 
 
-#: apply.c:4347
+#: apply.c:4359
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4417
+#: apply.c:4429
 #, 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:4515
+#: apply.c:4527
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4523
+#: apply.c:4535
 msgid "internal error"
 msgstr "内部错误"
 
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4526
+#: apply.c:4538
 #, 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:4537
+#: apply.c:4549
 #, 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:4545 builtin/fetch.c:786 builtin/fetch.c:1036
+#: apply.c:4557 builtin/fetch.c:780 builtin/fetch.c:1048
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4559
+#: apply.c:4571
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4563
+#: apply.c:4575
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4673
+#: apply.c:4685
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4681
+#: apply.c:4693
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4700
+#: apply.c:4712
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4837
+#: apply.c:4849
 #, 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:4864
+#: apply.c:4876
 #, 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:4870 apply.c:4885
+#: apply.c:4882 apply.c:4897
 #, 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:4878
+#: apply.c:4890
 #, 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:4894 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
+#: apply.c:4906 builtin/add.c:539 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:4921 apply.c:4924 builtin/am.c:2254 builtin/am.c:2257
-#: builtin/clone.c:120 builtin/fetch.c:126 builtin/pull.c:198
-#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1210
-#: builtin/submodule--helper.c:1213 builtin/submodule--helper.c:1584
-#: builtin/submodule--helper.c:1587 builtin/submodule--helper.c:1807
-#: git-add--interactive.perl:197
+#: 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
 msgid "path"
 msgstr "路径"
 
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4922
+#: apply.c:4934
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4925
+#: apply.c:4937
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4927 builtin/am.c:2263
+#: apply.c:4939 builtin/am.c:2263
 msgid "num"
 msgstr "数字"
 
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4928
+#: apply.c:4940
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4931
+#: apply.c:4943
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4933
+#: apply.c:4945
 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:4937
+#: apply.c:4949
 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:4939
+#: apply.c:4951
 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:4941
+#: apply.c:4953
 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:4943
+#: apply.c:4955
 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:4945
+#: apply.c:4957
+msgid "mark new files with `git add --intent-to-add`"
+msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
+
+#: apply.c:4959
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4947
+#: apply.c:4961
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4950
+#: apply.c:4964
 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:4952
+#: apply.c:4966
 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:4954
+#: apply.c:4968
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4957 builtin/checkout-index.c:168 builtin/ls-files.c:515
+#: apply.c:4971 builtin/checkout-index.c:168 builtin/ls-files.c:516
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4959
+#: apply.c:4973
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4960 builtin/am.c:2242 builtin/interpret-trailers.c:95
+#: apply.c:4974 builtin/am.c:2242 builtin/interpret-trailers.c:95
 #: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
 #: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3202
 msgid "action"
 msgstr "动作"
 
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4961
+#: apply.c:4975
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:4964 apply.c:4967
+#: apply.c:4978 apply.c:4981
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:4970
+#: apply.c:4984
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:4972
+#: apply.c:4986
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:4974
+#: apply.c:4988
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:4976
+#: apply.c:4990
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:4977 builtin/add.c:290 builtin/check-ignore.c:21
-#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:666
-#: builtin/log.c:1901 builtin/mv.c:122 builtin/read-tree.c:124
+#: 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
 msgid "be verbose"
 msgstr "冗长输出"
 
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:4979
+#: apply.c:4993
 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:4982
+#: apply.c:4996
 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:4984 builtin/am.c:2251
+#: apply.c:4998 builtin/am.c:2251
 msgid "root"
 msgstr "根目录"
 
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:4985
+#: apply.c:4999
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: archive.c:13
+#: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<选项>] <树或提交> [<路径>...]"
 
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<选项>] <树或提交> [<路径>...]"
 
-#: archive.c:14
+#: archive.c:15
 msgid "git archive --list"
 msgstr "git archive --list"
 
 msgid "git archive --list"
 msgstr "git archive --list"
 
-#: archive.c:15
+#: archive.c:16
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
 "git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
 
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
 "git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
 
-#: archive.c:16
+#: archive.c:17
 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:351 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
+#: archive.c:363 builtin/add.c:176 builtin/add.c:515 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:434
+#: archive.c:446
 msgid "fmt"
 msgstr "格式"
 
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:434
+#: archive.c:446
 msgid "archive format"
 msgstr "归档格式"
 
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:435 builtin/log.c:1462
+#: archive.c:447 builtin/log.c:1473
 msgid "prefix"
 msgstr "前缀"
 
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:436
+#: archive.c:448
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:437 builtin/blame.c:813 builtin/blame.c:814 builtin/config.c:127
-#: builtin/fast-export.c:1007 builtin/fast-export.c:1009 builtin/grep.c:869
-#: builtin/hash-object.c:103 builtin/ls-files.c:551 builtin/ls-files.c:554
-#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:119
+#: 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
 msgid "file"
 msgstr "文件"
 
 #: parse-options.h:165
 msgid "file"
 msgstr "文件"
 
-#: archive.c:438 builtin/archive.c:89
+#: archive.c:450 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:440
+#: archive.c:452
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:441
+#: archive.c:453
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:442
+#: archive.c:454
 msgid "store only"
 msgstr "只存储"
 
 msgid "store only"
 msgstr "只存储"
 
-#: archive.c:443
+#: archive.c:455
 msgid "compress faster"
 msgstr "压缩速度更快"
 
 msgid "compress faster"
 msgstr "压缩速度更快"
 
-#: archive.c:451
+#: archive.c:463
 msgid "compress better"
 msgstr "压缩效果更好"
 
 msgid "compress better"
 msgstr "压缩效果更好"
 
-#: archive.c:454
+#: archive.c:466
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:456 builtin/archive.c:90 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1222 builtin/submodule--helper.c:1593
+#: 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
 msgid "repo"
 msgstr "仓库"
 
 msgid "repo"
 msgstr "仓库"
 
-#: archive.c:457 builtin/archive.c:91
+#: archive.c:469 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:458 builtin/archive.c:92 builtin/notes.c:489
+#: archive.c:470 builtin/archive.c:92 builtin/difftool.c:714
+#: builtin/notes.c:491
 msgid "command"
 msgstr "命令"
 
 msgid "command"
 msgstr "命令"
 
-#: archive.c:459 builtin/archive.c:93
+#: archive.c:471 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:466
+#: archive.c:478
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
-#: archive.c:468
+#: archive.c:480
 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:470
+#: archive.c:482
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
-#: archive.c:492
+#: archive.c:504
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
-#: archive.c:499
+#: archive.c:511
 #, 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
+#, c-format
+msgid "cannot stream blob %s"
+msgstr "不能为数据对象 %s 打开流"
+
+#: archive-tar.c:260 archive-zip.c:361
+#, c-format
+msgid "unsupported file mode: 0%o (SHA1: %s)"
+msgstr "不支持的文件属性:0%o (SHA1: %s)"
+
+#: archive-tar.c:287 archive-zip.c:352
+#, c-format
+msgid "cannot read %s"
+msgstr "不能读取 %s"
+
+#: archive-tar.c:458
+#, c-format
+msgid "unable to start '%s' filter"
+msgstr "无法启动 '%s' 过滤器"
+
+#: archive-tar.c:461
+msgid "unable to redirect descriptor"
+msgstr "无法重定向描述符"
+
+#: archive-tar.c:468
+#, c-format
+msgid "'%s' filter reported error"
+msgstr "'%s' 过滤器报告错误"
+
+#: archive-zip.c:313
+#, c-format
+msgid "path is not valid UTF-8: %s"
+msgstr "路径不是有效的 UTF-8:%s"
+
+#: archive-zip.c:317
+#, 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
+#, c-format
+msgid "deflate error (%d)"
+msgstr "压缩错误 (%d)"
+
+#: archive-zip.c:605
+#, c-format
+msgid "timestamp too large for this system: %<PRIuMAX>"
+msgstr "对于本系统时间戳太长:%<PRIuMAX>"
+
 #: attr.c:218
 #, c-format
 msgid "%.*s is not a valid attribute name"
 #: attr.c:218
 #, c-format
 msgid "%.*s is not a valid attribute name"
@@ -973,22 +1027,22 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: bisect.c:461
+#: bisect.c:467
 #, 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:669
+#: bisect.c:675
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
-#: bisect.c:723
+#: bisect.c:729
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
-#: bisect.c:747
+#: bisect.c:753
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -997,7 +1051,7 @@ msgstr ""
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: bisect.c:752
+#: bisect.c:758
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1006,7 +1060,7 @@ msgstr ""
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: bisect.c:757
+#: bisect.c:763
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1015,7 +1069,7 @@ msgstr ""
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: bisect.c:765
+#: bisect.c:771
 #, 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"
@@ -1026,7 +1080,7 @@ msgstr ""
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
-#: bisect.c:778
+#: bisect.c:784
 #, 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"
@@ -1037,36 +1091,36 @@ msgstr ""
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
-#: bisect.c:811
+#: bisect.c:817
 #, 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:851
+#: bisect.c:857
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:870 builtin/notes.c:175 builtin/tag.c:236
+#: bisect.c:876 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:921
+#: bisect.c:927 builtin/merge.c:137
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:951
+#: bisect.c:957
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:970
+#: bisect.c:976
 #, 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:978
+#: bisect.c:984
 #, c-format
 msgid ""
 "No testable commit found.\n"
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1075,7 +1129,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:997
+#: bisect.c:1003
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1085,48 +1139,49 @@ 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:1003
+#: bisect.c:1009
 #, 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:1756
+#: blame.c:1784
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:1767
+#: blame.c:1798
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:1787
+#: blame.c:1819
 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:1796 bundle.c:160 ref-filter.c:2075 sequencer.c:1861
-#: sequencer.c:3632 builtin/commit.c:981 builtin/log.c:366 builtin/log.c:920
-#: builtin/log.c:1371 builtin/log.c:1702 builtin/log.c:1950 builtin/merge.c:372
+#: 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
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:1814
+#: blame.c:1846
 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:1825
+#: blame.c:1857
 #, 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:1836
+#: blame.c:1868
 #, 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"
 
-#: branch.c:54
+#: branch.c:52
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -1138,85 +1193,85 @@ msgstr ""
 "在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
 "\"git branch --set-upstream-to=%s%s%s\" 。"
 
 "在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
 "\"git branch --set-upstream-to=%s%s%s\" 。"
 
-#: branch.c:68
+#: branch.c:66
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "未设置分支 %s 作为它自己的上游。"
 
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "未设置分支 %s 作为它自己的上游。"
 
-#: branch.c:94
+#: branch.c:92
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr "分支 '%1$s' 设置为使用变基来跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr "分支 '%1$s' 设置为使用变基来跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
-#: branch.c:95
+#: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr "分支 '%1$s' 设置为跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr "分支 '%1$s' 设置为跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
-#: branch.c:99
+#: branch.c:97
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地分支 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地分支 '%s'。"
 
-#: branch.c:100
+#: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "分支 '%s' 设置为跟踪本地分支 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "分支 '%s' 设置为跟踪本地分支 '%s'。"
 
-#: branch.c:105
+#: branch.c:103
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪远程引用 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪远程引用 '%s'。"
 
-#: branch.c:106
+#: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "分支 '%s' 设置为跟踪远程引用 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "分支 '%s' 设置为跟踪远程引用 '%s'。"
 
-#: branch.c:110
+#: branch.c:108
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地引用 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地引用 '%s'。"
 
-#: branch.c:111
+#: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "分支 '%s' 设置为跟踪本地引用 '%s'。"
 
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "分支 '%s' 设置为跟踪本地引用 '%s'。"
 
-#: branch.c:120
+#: branch.c:118
 msgid "Unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
 msgid "Unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
-#: branch.c:157
+#: branch.c:155
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
-#: branch.c:190
+#: branch.c:188
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
-#: branch.c:209
+#: branch.c:207
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:214
+#: branch.c:212
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:234
+#: branch.c:232
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: branch.c:236
+#: branch.c:234
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:238
+#: branch.c:236
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1234,100 +1289,100 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:281
+#: branch.c:279
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:301
+#: branch.c:299
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:306
+#: branch.c:304
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:360
+#: branch.c:358
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
-#: branch.c:383
+#: branch.c:381
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
 
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
 
-#: bundle.c:34
+#: bundle.c:36
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "'%s' 不像是一个 v2 版本的包文件"
 
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "'%s' 不像是一个 v2 版本的包文件"
 
-#: bundle.c:62
+#: bundle.c:64
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:88 sequencer.c:2081 sequencer.c:2558 builtin/commit.c:755
+#: bundle.c:90 sequencer.c:2092 sequencer.c:2578 builtin/commit.c:768
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 
-#: bundle.c:139
+#: bundle.c:141
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交:"
 
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交:"
 
-#: bundle.c:190
+#: bundle.c:192
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "这个包中含有这个引用:"
 msgstr[1] "这个包中含有 %d 个引用:"
 
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "这个包中含有这个引用:"
 msgstr[1] "这个包中含有 %d 个引用:"
 
-#: bundle.c:197
+#: bundle.c:199
 msgid "The bundle records a complete history."
 msgstr "这个包记录一个完整历史。"
 
 msgid "The bundle records a complete history."
 msgstr "这个包记录一个完整历史。"
 
-#: bundle.c:199
+#: bundle.c:201
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
-#: bundle.c:258
+#: bundle.c:260
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
-#: bundle.c:269
+#: bundle.c:271
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
-#: bundle.c:311
+#: bundle.c:313
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:360
+#: bundle.c:362
 #, 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:450 builtin/log.c:183 builtin/log.c:1607 builtin/shortlog.c:303
+#: bundle.c:453 builtin/log.c:187 builtin/log.c:1618 builtin/shortlog.c:304
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
-#: bundle.c:458
+#: bundle.c:461
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:470
+#: bundle.c:473
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:498
+#: bundle.c:501
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
@@ -1336,19 +1391,19 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:43 sequencer.c:2364 builtin/am.c:421 builtin/am.c:465
-#: builtin/am.c:1436 builtin/am.c:2072 builtin/replace.c:376
+#: 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
 #: 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:45
+#: commit.c:50
 #, 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:182
+#: commit.c:191
 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"
@@ -1368,7 +1423,7 @@ msgstr ""
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1540
+#: commit.c:1629
 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"
@@ -1378,182 +1433,388 @@ msgstr ""
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
-#: commit-graph.c:669
+#: commit-graph.c:83
+#, c-format
+msgid "graph file %s is too small"
+msgstr "图形文件 %s 太小"
+
+#: commit-graph.c:90
+#, c-format
+msgid "graph signature %X does not match signature %X"
+msgstr "图形签名 %X 和签名 %X 不匹配"
+
+#: commit-graph.c:97
+#, c-format
+msgid "graph version %X does not match version %X"
+msgstr "图形版本 %X 和版本 %X 不匹配"
+
+#: commit-graph.c:104
+#, c-format
+msgid "hash version %X does not match version %X"
+msgstr "散列版本 %X 和版本 %X 不匹配"
+
+#: commit-graph.c:128
+#, c-format
+msgid "improper chunk offset %08x%08x"
+msgstr "不正确的块偏移 %08x%08x"
+
+#: commit-graph.c:164
+#, c-format
+msgid "chunk id %08x appears multiple times"
+msgstr "块 id %08x 出现了多次"
+
+#: commit-graph.c:261
+#, c-format
+msgid "could not find commit %s"
+msgstr "无法找到提交 %s"
+
+#: commit-graph.c:565 builtin/pack-objects.c:2568
+#, c-format
+msgid "unable to get type of object %s"
+msgstr "无法获得对象 %s 类型"
+
+#: commit-graph.c:730
+#, c-format
+msgid "error adding pack %s"
+msgstr "添加包 %s 出错"
+
+#: commit-graph.c:732
+#, c-format
+msgid "error opening index for %s"
+msgstr "为 %s 打开索引出错"
+
+#: commit-graph.c:773
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "提交图形格式不能写入 %d 个提交"
 
 #, c-format
 msgid "the commit graph format cannot write %d commits"
 msgstr "提交图形格式不能写入 %d 个提交"
 
-#: commit-graph.c:696
+#: commit-graph.c:800
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
-#: commit-graph.c:707 builtin/init-db.c:516 builtin/init-db.c:521
+#: commit-graph.c:806
 #, c-format
 #, c-format
-msgid "cannot mkdir %s"
-msgstr "不能创建目录 %s"
+msgid "unable to create leading directories of %s"
+msgstr "不能为 %s 创建先导目录"
+
+#: commit-graph.c:904
+msgid "the commit-graph file has incorrect checksum and is likely corrupt"
+msgstr "提交图形文件的校验码错误,好像已经损坏"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:187
+#: config.c:123
+#, c-format
+msgid ""
+"exceeded maximum include depth (%d) while including\n"
+"\t%s\n"
+"from\n"
+"\t%s\n"
+"This might be due to circular includes."
+msgstr ""
+"超过了最大引用深度(%1$d),当从\n"
+"\t%3$s\n"
+"包含\n"
+"\t%2$s\n"
+"这可能是因为循环引用。"
+
+#: config.c:139
+#, c-format
+msgid "could not expand include path '%s'"
+msgstr "无法扩展包含路径 '%s'"
+
+#: config.c:150
+msgid "relative config includes must come from files"
+msgstr "相对路径的配置文件引用必须来自于文件"
+
+#: config.c:190
 msgid "relative config include conditionals must come from files"
 msgid "relative config include conditionals must come from files"
-msgstr "包含相对路径的条件引用必须来自于文件"
+msgstr "相对路径的配置文件条件引用必须来自于文件"
+
+#: config.c:348
+#, c-format
+msgid "key does not contain a section: %s"
+msgstr "键名没有包含一个小节名称:%s"
 
 
-#: config.c:788
+#: config.c:354
+#, c-format
+msgid "key does not contain variable name: %s"
+msgstr "键名没有包含变量名:%s"
+
+#: config.c:378 sequencer.c:2206
+#, c-format
+msgid "invalid key: %s"
+msgstr "无效键名:%s"
+
+#: config.c:384
+#, c-format
+msgid "invalid key (newline): %s"
+msgstr "无效键名(有换行符):%s"
+
+#: config.c:420 config.c:432
+#, c-format
+msgid "bogus config parameter: %s"
+msgstr "伪配置参数:%s"
+
+#: config.c:467
+#, c-format
+msgid "bogus format in %s"
+msgstr "%s 中格式错误"
+
+#: config.c:793
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:792
+#: config.c:797
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:796
+#: config.c:801
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:800
+#: config.c:805
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:804
+#: config.c:809
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:808
+#: config.c:813
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:936
+#: config.c:952
 msgid "out of range"
 msgstr "超出范围"
 
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:936
+#: config.c:952
 msgid "invalid unit"
 msgstr "无效的单位"
 
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:942
+#: config.c:958
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: config.c:947
+#: config.c:963
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:950
+#: config.c:966
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:953
+#: config.c:969
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
-#: config.c:956
+#: config.c:972
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:959
+#: config.c:975
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:962
+#: config.c:978
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:1057
+#: config.c:1073
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 #, c-format
 msgid "failed to expand user dir in: '%s'"
-msgstr "无法扩展 '%s' 中的用户目录"
+msgstr "无法扩展用户目录:'%s'"
 
 
-#: config.c:1066
+#: config.c:1082
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
-#: config.c:1171 config.c:1182
+#: config.c:1173
+#, c-format
+msgid "abbrev length out of range: %d"
+msgstr "缩写长度超出范围:%d"
+
+#: config.c:1187 config.c:1198
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:1307
+#: config.c:1290
+msgid "core.commentChar should only be one character"
+msgstr "core.commentChar 应该是一个字符"
+
+#: config.c:1323
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1473
+#: config.c:1403
+#, c-format
+msgid "malformed value for %s"
+msgstr "%s 的取值格式错误"
+
+#: config.c:1429
+#, c-format
+msgid "malformed value for %s: %s"
+msgstr "%s 的取值格式错误:%s"
+
+#: config.c:1430
+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
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1681
+#: config.c:1610
+#, c-format
+msgid "unable to load config blob object '%s'"
+msgstr "无法从数据对象 '%s' 加载配置"
+
+#: config.c:1613
+#, c-format
+msgid "reference '%s' does not point to a blob"
+msgstr "引用 '%s' 没有指向一个数据对象"
+
+#: config.c:1630
+#, c-format
+msgid "unable to resolve config blob '%s'"
+msgstr "不能解析配置对象 '%s'"
+
+#: config.c:1660
+#, c-format
+msgid "failed to parse %s"
+msgstr "解析 %s 失败"
+
+#: config.c:1700
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2013
+#: config.c:2032
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2200
+#: config.c:2202
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2243
+#: config.c:2245
 #, 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:2269
+#: config.c:2271
 #, 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:2294
+#: config.c:2296
 #, 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:2296
+#: config.c:2298
 #, 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:2402
+#: config.c:2379
+#, c-format
+msgid "invalid section name '%s'"
+msgstr "无效的小节名称 '%s'"
+
+#: config.c:2411
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2766 config.c:3019
+#: config.c:2440
+#, c-format
+msgid "failed to write new configuration file %s"
+msgstr "写入新的配置文件 %s 失败"
+
+#: config.c:2691 config.c:3015
+#, c-format
+msgid "could not lock config file %s"
+msgstr "不能锁定配置文件 %s"
+
+#: config.c:2702
+#, c-format
+msgid "opening %s"
+msgstr "打开 %s"
+
+#: config.c:2737 builtin/config.c:324
+#, c-format
+msgid "invalid pattern: %s"
+msgstr "无效模式:%s"
+
+#: config.c:2762
+#, c-format
+msgid "invalid config file %s"
+msgstr "无效的配置文件 %s"
+
+#: config.c:2775 config.c:3028
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2905
+#: config.c:2786
+#, c-format
+msgid "unable to mmap '%s'"
+msgstr "不能 mmap '%s'"
+
+#: config.c:2795 config.c:3033
+#, c-format
+msgid "chmod on %s failed"
+msgstr "对 %s 调用 chmod 失败"
+
+#: config.c:2880 config.c:3130
+#, c-format
+msgid "could not write config file %s"
+msgstr "不能写入配置文件 %s"
+
+#: config.c:2914
 #, 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:2907 builtin/remote.c:779
+#: config.c:2916 builtin/remote.c:781
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
+#: config.c:3006
+#, c-format
+msgid "invalid section name: %s"
+msgstr "无效的小节名称:%s"
+
+#: config.c:3173
+#, c-format
+msgid "missing value for '%s'"
+msgstr "%s 的取值缺失"
+
 #: connect.c:61
 #: connect.c:61
-msgid "The remote end hung up upon initial contact"
-msgstr "远端在连接发起时即挂断"
+msgid "the remote end hung up upon initial contact"
+msgstr "远端在初始连接时即挂断"
 
 #: connect.c:63
 msgid ""
 
 #: connect.c:63
 msgid ""
@@ -1566,68 +1827,221 @@ msgstr ""
 "\n"
 "请确认您有正确的访问权限并且仓库存在。"
 
 "\n"
 "请确认您有正确的访问权限并且仓库存在。"
 
-#: connected.c:66 builtin/fsck.c:201 builtin/prune.c:145
+#: connect.c:81
+#, c-format
+msgid "server doesn't support '%s'"
+msgstr "服务器不支持 '%s'"
+
+#: connect.c:103
+#, c-format
+msgid "server doesn't support feature '%s'"
+msgstr "服务器不支持特性 '%s'"
+
+#: connect.c:114
+msgid "expected flush after capabilities"
+msgstr "在能力之后应为一个 flush 包"
+
+#: connect.c:233
+#, c-format
+msgid "ignoring capabilities after first line '%s'"
+msgstr "忽略第一行 '%s' 之后的功能字段"
+
+#: connect.c:252
+msgid "protocol error: unexpected capabilities^{}"
+msgstr "协议错误:意外的 capabilities^{}"
+
+#: connect.c:273
+#, c-format
+msgid "protocol error: expected shallow sha-1, got '%s'"
+msgstr "协议错误:预期浅克隆 sha-1,却得到 '%s'"
+
+#: connect.c:275
+msgid "repository on the other end cannot be shallow"
+msgstr "另一端的仓库不能是浅克隆仓库"
+
+#: connect.c:310 fetch-pack.c:183 builtin/archive.c:63
+#, c-format
+msgid "remote error: %s"
+msgstr "远程错误:%s"
+
+#: connect.c:316
+msgid "invalid packet"
+msgstr "无效数据包"
+
+#: connect.c:336
+#, c-format
+msgid "protocol error: unexpected '%s'"
+msgstr "协议错误:意外的 '%s'"
+
+#: connect.c:444
+#, c-format
+msgid "invalid ls-refs response: %s"
+msgstr "无效的 ls-refs 响应:%s"
+
+#: connect.c:448
+msgid "expected flush after ref listing"
+msgstr "在引用列表之后应该有一个 flush 包"
+
+#: connect.c:547
+#, c-format
+msgid "protocol '%s' is not supported"
+msgstr "不支持 '%s' 协议"
+
+#: connect.c:598
+msgid "unable to set SO_KEEPALIVE on socket"
+msgstr "无法为 socket 设置 SO_KEEPALIVE"
+
+#: connect.c:638 connect.c:701
+#, c-format
+msgid "Looking up %s ... "
+msgstr "查找 %s ..."
+
+#: connect.c:642
+#, c-format
+msgid "unable to look up %s (port %s) (%s)"
+msgstr "无法查找 %s(端口 %s)(%s)"
+
+#. TRANSLATORS: this is the end of "Looking up %s ... "
+#: connect.c:646 connect.c:717
+#, c-format
+msgid ""
+"done.\n"
+"Connecting to %s (port %s) ... "
+msgstr ""
+"完成。\n"
+"连接到 %s(端口 %s)... "
+
+#: connect.c:668 connect.c:745
+#, c-format
+msgid ""
+"unable to connect to %s:\n"
+"%s"
+msgstr ""
+"无法连接到 %s:\n"
+"%s"
+
+#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
+#: connect.c:674 connect.c:751
+msgid "done."
+msgstr "完成。"
+
+#: connect.c:705
+#, c-format
+msgid "unable to look up %s (%s)"
+msgstr "无法查找 %s(%s)"
+
+#: connect.c:711
+#, c-format
+msgid "unknown port %s"
+msgstr "未知端口 %s"
+
+#: connect.c:848 connect.c:1174
+#, c-format
+msgid "strange hostname '%s' blocked"
+msgstr "已阻止奇怪的主机名 '%s'"
+
+#: connect.c:850
+#, c-format
+msgid "strange port '%s' blocked"
+msgstr "已阻止奇怪的端口号 '%s'"
+
+#: connect.c:860
+#, c-format
+msgid "cannot start proxy %s"
+msgstr "不能启动代理 %s"
+
+#: connect.c:927
+msgid "no path specified; see 'git help pull' for valid url syntax"
+msgstr "未指定路径,执行 'git help pull' 查看有效的 url 语法"
+
+#: connect.c:1122
+msgid "ssh variant 'simple' does not support -4"
+msgstr "ssh 变体 'simple' 不支持 -4"
+
+#: connect.c:1134
+msgid "ssh variant 'simple' does not support -6"
+msgstr "ssh 变体 'simple' 不支持 -6"
+
+#: connect.c:1151
+msgid "ssh variant 'simple' does not support setting port"
+msgstr "'simple' 类型的 ssh 不支持设置端口"
+
+#: connect.c:1262
+#, c-format
+msgid "strange pathname '%s' blocked"
+msgstr "已阻止奇怪的路径名 '%s'"
+
+#: connect.c:1307
+msgid "unable to fork"
+msgstr "无法 fork"
+
+#: connected.c:68 builtin/fsck.c:203 builtin/prune.c:146
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
-#: connected.c:78
+#: connected.c:80
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
-#: connected.c:98
+#: connected.c:100
 msgid "failed write to rev-list"
 msgid "failed write to rev-list"
-msgstr "无法写入 rev-list"
+msgstr "写入 rev-list 失败"
 
 
-#: connected.c:105
+#: connected.c:107
 msgid "failed to close rev-list's stdin"
 msgid "failed to close rev-list's stdin"
-msgstr "无法关闭 rev-list 的标准输入"
+msgstr "关闭 rev-list 的标准输入失败"
+
+#: convert.c:194
+#, c-format
+msgid "illegal crlf_action %d"
+msgstr "非法的 crlf 动作 %d"
 
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 #, c-format
-msgid "CRLF would be replaced by LF in %s."
-msgstr "文件 %s 中的 CRLF 将被 LF 替换。"
+msgid "CRLF would be replaced by LF in %s"
+msgstr "%s 中的 CRLF 将被 LF 替换"
 
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory."
+"The file will have its original line endings in your working directory"
 msgstr ""
 msgstr ""
-"文件 %s 中的 CRLF 将被 LF 替换。\n"
+"%s 中的 CRLF 将被 LF 替换。<\n"
 "在工作区中该文件仍保持原有的换行符。"
 
 "在工作区中该文件仍保持原有的换行符。"
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "文件 %s 中的 LF 将被 CRLF 替换"
 
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "文件 %s 中的 LF 将被 CRLF 替换"
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory."
+"The file will have its original line endings in your working directory"
 msgstr ""
 msgstr ""
-"文件 %s 中的 LF 将被 CRLF 替换。\n"
-"在工作区中该文件仍保持原有的换行符"
+"%s 中的 LF 将被 CRLF 替换。\n"
+"在工作区中该文件仍保持原有的换行符"
 
 
-#: convert.c:279
+#: convert.c:280
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM"
 
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM"
 
-#: convert.c:286
+#: convert.c:287
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
 "tree-encoding."
 msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%s 作为工作区编码。"
 
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
 "tree-encoding."
 msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%s 作为工作区编码。"
 
-#: convert.c:304
+#: convert.c:305
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "如果编码为 %2$s,需要在 '%1$s' 中使用 BOM"
 
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "如果编码为 %2$s,需要在 '%1$s' 中使用 BOM"
 
-#: convert.c:306
+#: convert.c:307
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -1636,20 +2050,70 @@ msgstr ""
 "文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字"
 "节序)作为工作区编码。"
 
 "文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字"
 "节序)作为工作区编码。"
 
-#: convert.c:424
+#: convert.c:425 convert.c:496
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "无法对 '%s' 进行从 %s 到 %s 的编码"
 
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "无法对 '%s' 进行从 %s 到 %s 的编码"
 
-#: convert.c:467
+#: convert.c:468
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致"
 
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致"
 
-#: convert.c:1225
+#: convert.c:674
+#, c-format
+msgid "cannot fork to run external filter '%s'"
+msgstr "不能 fork 以执行外部过滤程序 '%s'"
+
+#: convert.c:694
+#, c-format
+msgid "cannot feed the input to external filter '%s'"
+msgstr "不能将标准输入传递给外部过滤器 '%s'"
+
+#: convert.c:701
+#, c-format
+msgid "external filter '%s' failed %d"
+msgstr "外部过滤程序 '%s' 失败码 %d"
+
+#: convert.c:736 convert.c:739
+#, c-format
+msgid "read from external filter '%s' failed"
+msgstr "从外部过滤器 '%s' 读取失败"
+
+#: convert.c:742 convert.c:796
+#, c-format
+msgid "external filter '%s' failed"
+msgstr "外部过滤器 '%s' 失败"
+
+#: convert.c:844
+msgid "unexpected filter type"
+msgstr "意外的过滤类型"
+
+#: convert.c:855
+msgid "path name too long for external filter"
+msgstr "外部过滤器的路径名太长"
+
+#: convert.c:929
+#, c-format
+msgid ""
+"external filter '%s' is not available anymore although not all paths have "
+"been filtered"
+msgstr "外部过滤器 '%s' 不再可用,但并非所有路径都已过滤"
+
+#: convert.c:1228
 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
+#, c-format
+msgid "%s: clean filter '%s' failed"
+msgstr "%s:clean 过滤器 '%s' 失败"
+
+#: convert.c:1480
+#, c-format
+msgid "%s: smudge filter %s failed"
+msgstr "%s:smudge 过滤器 %s 失败"
+
 #: date.c:116
 msgid "in the future"
 msgstr "在将来"
 #: date.c:116
 msgid "in the future"
 msgstr "在将来"
@@ -1721,42 +2185,54 @@ msgstr[1] "%<PRIuMAX> 年前"
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
-msgstr "无法读取排序文件 '%s'"
+msgstr "读取排序文件 '%s' 失败"
 
 
-#: diffcore-rename.c:535
+#: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
-#: diff.c:74
+#: diff.c:108
 #, c-format
 msgid "option '%s' requires a value"
 msgstr "选项 '%s'  需要一个值"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "option '%s' requires a value"
 msgstr "选项 '%s'  需要一个值"
 
 #  译者:注意保持前导空格
-#: diff.c:152
+#: diff.c:158
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
 #  译者:注意保持前导空格
-#: diff.c:157
+#: diff.c:163
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:281
+#: diff.c:291
 msgid ""
 msgid ""
-"color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
-"'plain'"
+"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
+"'dimmed-zebra', 'plain'"
 msgstr ""
 msgstr ""
-"代码移动的颜色设置必须是 'no'、'default'、'zebra'、'dimmed_zebra' 或 'plain'"
+"移动的颜色设置必须是 'no'、'default'、'blocks'、'zebra'、'dimmed_zebra' 或 "
+"'plain'"
+
+#: diff.c:316
+#, c-format
+msgid "ignoring unknown color-moved-ws mode '%s'"
+msgstr "忽略未知的 color-moved-ws 模式 '%s'"
+
+#: diff.c:323
+msgid ""
+"color-moved-ws: allow-indentation-change cannot be combined with other white "
+"space modes"
+msgstr "color-moved-ws:allow-indentation-change 不能与其它空白字符模式共用"
 
 
-#: diff.c:341
+#: diff.c:394
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:401
+#: diff.c:454
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1765,24 +2241,24 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:3823
+#: diff.c:4096
 #, 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:4153
+#: diff.c:4427
 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:4156
+#: diff.c:4430
 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:4244
+#: diff.c:4508
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4410
+#: diff.c:4674
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1791,44 +2267,59 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4424
+#: diff.c:4688
 #, 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:5500
+#: diff.c:5766
 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:5503
+#: diff.c:5769
 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:5506
+#: diff.c:5772
 #, 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:1867
+#: dir.c:569
+#, c-format
+msgid "pathspec '%s' did not match any file(s) known to git"
+msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
+
+#: dir.c:958
+#, c-format
+msgid "cannot use %s as an exclude file"
+msgstr "不能将 %s 用作排除文件"
+
+#: dir.c:1873
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2109
+#: dir.c:2115
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2233
-msgid "Untracked cache is disabled on this system or location."
-msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
+#: dir.c:2239
+msgid "untracked cache is disabled on this system or location"
+msgstr "缓存未跟踪文件在本系统或位置中被禁用"
+
+#: dir.c:3037
+#, c-format
+msgid "index file corrupt in repo %s"
+msgstr "仓库 %s 中的索引文件损坏"
 
 
-#: dir.c:3075 dir.c:3080
+#: dir.c:3082 dir.c:3087
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3109
+#: dir.c:3116
 #, 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'"
@@ -1838,218 +2329,272 @@ msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "提示:等待您的编辑器关闭文件...%c"
 
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "提示:等待您的编辑器关闭文件...%c"
 
-#: entry.c:177
+#: entry.c:178
 msgid "Filtering content"
 msgstr "过滤内容"
 
 msgid "Filtering content"
 msgstr "过滤内容"
 
-#: entry.c:435
+#: entry.c:437
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 
+#: environment.c:150
+#, c-format
+msgid "bad git namespace path \"%s\""
+msgstr "糟糕的 git 名字空间路径 \"%s\""
+
+#: environment.c:332
+#, c-format
+msgid "could not set GIT_DIR to '%s'"
+msgstr "不能设置 GIT_DIR 为 '%s'"
+
+#: exec-cmd.c:361
+#, c-format
+msgid "too many args to run %s"
+msgstr "执行 %s 的参数太多"
+
 #: fetch-object.c:17
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
 #: fetch-object.c:17
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
-#: fetch-pack.c:254
+#: fetch-pack.c:152
 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:266
+#: fetch-pack.c:164
 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:285 builtin/archive.c:63
-#, c-format
-msgid "remote error: %s"
-msgstr "远程错误:%s"
-
-#: fetch-pack.c:286
+#: fetch-pack.c:184
 #, 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:338
+#: fetch-pack.c:254
 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:429 fetch-pack.c:1310
+#: fetch-pack.c:342 fetch-pack.c:1257
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:435 fetch-pack.c:1316
+#: fetch-pack.c:348 fetch-pack.c:1263
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:437 fetch-pack.c:1318
+#: fetch-pack.c:350 fetch-pack.c:1265
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:440 fetch-pack.c:1321
+#: fetch-pack.c:353 fetch-pack.c:1268
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:442 fetch-pack.c:1323
+#: fetch-pack.c:355 fetch-pack.c:1270
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:445 fetch-pack.c:1326
+#: fetch-pack.c:358 fetch-pack.c:1273
 #, 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:486
+#: fetch-pack.c:399
 #, 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:500
+#: fetch-pack.c:416
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:533
+#: fetch-pack.c:447
 msgid "giving up"
 msgstr "放弃"
 
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:543 progress.c:229
+#: fetch-pack.c:459 progress.c:229
 msgid "done"
 msgstr "完成"
 
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:555
+#: fetch-pack.c:471
 #, 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:601
+#: fetch-pack.c:517
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:828
+#: fetch-pack.c:764
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:803
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:811
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:944
+#: fetch-pack.c:879
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:960
+#: fetch-pack.c:895
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:962
+#: fetch-pack.c:897
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:989
+#: fetch-pack.c:926
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
-#: fetch-pack.c:993
+#: fetch-pack.c:930
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
-#: fetch-pack.c:996
+#: fetch-pack.c:933
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
-#: fetch-pack.c:1002
+#: fetch-pack.c:939
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
-#: fetch-pack.c:1006
+#: fetch-pack.c:943
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
-#: fetch-pack.c:1010
+#: fetch-pack.c:947
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
-#: fetch-pack.c:1014
+#: fetch-pack.c:951
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "服务器支持 allow-tip-sha1-in-want"
 
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "服务器支持 allow-tip-sha1-in-want"
 
-#: fetch-pack.c:1018
+#: fetch-pack.c:955
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "服务器支持 allow-reachable-sha1-in-want"
 
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "服务器支持 allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:1028
+#: fetch-pack.c:965
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
-#: fetch-pack.c:1034 fetch-pack.c:1204
+#: fetch-pack.c:971 fetch-pack.c:1150
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:1042
+#: fetch-pack.c:979
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:1048
+#: fetch-pack.c:985
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:1052
+#: fetch-pack.c:989
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:1054
+#: fetch-pack.c:991
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1065
+#: fetch-pack.c:1004
 msgid "no common commits"
 msgstr "没有共同的提交"
 
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1077 fetch-pack.c:1414
+#: fetch-pack.c:1016 fetch-pack.c:1393
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1199
+#: fetch-pack.c:1145
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
-#: fetch-pack.c:1584
+#: fetch-pack.c:1191
+#, c-format
+msgid "error reading section header '%s'"
+msgstr "读取节标题 '%s' 出错"
+
+#: fetch-pack.c:1197
+#, c-format
+msgid "expected '%s', received '%s'"
+msgstr "预期 '%s',得到 '%s'"
+
+#: fetch-pack.c:1236
+#, c-format
+msgid "unexpected acknowledgment line: '%s'"
+msgstr "意外的确认行:'%s'"
+
+#: fetch-pack.c:1241
+#, c-format
+msgid "error processing acks: %d"
+msgstr "处理 ack 出错:%d"
+
+#: fetch-pack.c:1278
+#, c-format
+msgid "error processing shallow info: %d"
+msgstr "处理浅克隆信息出错:%d"
+
+#: fetch-pack.c:1294
+#, c-format
+msgid "expected wanted-ref, got '%s'"
+msgstr "预期 wanted-ref,得到 '%s'"
+
+#: fetch-pack.c:1304
+#, c-format
+msgid "unexpected wanted-ref: '%s'"
+msgstr "意外的 wanted-ref:'%s'"
+
+#: fetch-pack.c:1308
+#, c-format
+msgid "error processing wanted refs: %d"
+msgstr "处理要获取的引用出错:%d"
+
+#: fetch-pack.c:1603
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1610
+#: fetch-pack.c:1621 builtin/clone.c:664
+msgid "remote did not send all necessary objects"
+msgstr "远程没有发送所有必须的对象"
+
+#: fetch-pack.c:1647
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1613
+#: fetch-pack.c:1650
 #, 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:185
+#: gpg-interface.c:253
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:210
+#: gpg-interface.c:279
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
-#: gpg-interface.c:213
+#: gpg-interface.c:282
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
@@ -2059,18 +2604,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:2020
+#: grep.c:2115
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:2037 setup.c:164 builtin/clone.c:409 builtin/diff.c:81
+#: grep.c:2132 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:2048
+#: grep.c:2143
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
@@ -2149,7 +2694,7 @@ msgstr "不支持的命令列表类型 '%s'"
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
-#: help.c:467
+#: help.c:552
 #, 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"
@@ -2158,31 +2703,31 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:526
+#: help.c:611
 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:548
+#: help.c:633
 #, 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:553
+#: help.c:638
 #, 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:558
+#: help.c:643
 #, 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:566
+#: help.c:651
 #, 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:570
+#: help.c:655
 msgid ""
 "\n"
 "The most similar command is"
 msgid ""
 "\n"
 "The most similar command is"
@@ -2196,16 +2741,16 @@ msgstr[1] ""
 "\n"
 "最相似的命令是"
 
 "\n"
 "最相似的命令是"
 
-#: help.c:585
+#: help.c:670
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:652
+#: help.c:738
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:656
+#: help.c:742
 msgid ""
 "\n"
 "Did you mean this?"
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2272,7 +2817,7 @@ msgstr "不允许空的姓名(对于 <%s>)"
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:416 builtin/commit.c:587
+#: ident.c:416 builtin/commit.c:600
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
@@ -2308,117 +2853,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:71
+#: merge.c:40
 msgid "failed to read the cache"
 msgid "failed to read the cache"
-msgstr "无法读取缓存"
+msgstr "读取缓存失败"
 
 
-#: merge.c:136 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:378
-#: builtin/checkout.c:606 builtin/clone.c:761
+#: merge.c:105 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:380
+#: builtin/checkout.c:608 builtin/clone.c:763
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: merge-recursive.c:298
+#: merge-recursive.c:303
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:320
+#: merge-recursive.c:325
 #, 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:328
+#: merge-recursive.c:333
 #, 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:410
+#: merge-recursive.c:415
 msgid "error building trees"
 msgid "error building trees"
-msgstr "无法创建树"
+msgstr "创建树出错"
 
 
-#: merge-recursive.c:881
+#: merge-recursive.c:886
 #, c-format
 msgid "failed to create path '%s'%s"
 #, c-format
 msgid "failed to create path '%s'%s"
-msgstr "无法创建路径 '%s'%s"
+msgstr "创建路径 '%s'%s 失败"
 
 
-#: merge-recursive.c:892
+#: merge-recursive.c:897
 #, 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:906 merge-recursive.c:925
+#: merge-recursive.c:911 merge-recursive.c:930
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:915
+#: merge-recursive.c:920
 #, 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:957 builtin/cat-file.c:37
+#: merge-recursive.c:962 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:959
+#: merge-recursive.c:964
 #, 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:983
+#: merge-recursive.c:988
 #, c-format
 msgid "failed to open '%s': %s"
 #, c-format
 msgid "failed to open '%s': %s"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s':%s"
+msgstr "æ\89\93å¼\80 '%s' å¤±è´¥:%s"
 
 
-#: merge-recursive.c:994
+#: merge-recursive.c:999
 #, c-format
 msgid "failed to symlink '%s': %s"
 #, c-format
 msgid "failed to symlink '%s': %s"
-msgstr "无法创建符号链接 '%s':%s"
+msgstr "创建符号链接 '%s' 失败:%s"
 
 
-#: merge-recursive.c:999
+#: merge-recursive.c:1004
 #, 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:1186
+#: merge-recursive.c:1191
 #, 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:1193
+#: merge-recursive.c:1198
 #, 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:1200
+#: merge-recursive.c:1205
 #, 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:1208 merge-recursive.c:1220
+#: merge-recursive.c:1213 merge-recursive.c:1225
 #, 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:1211 merge-recursive.c:1223
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
-#: merge-recursive.c:1245
+#: merge-recursive.c:1250
 #, 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:1249
+#: merge-recursive.c:1254
 #, 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:1250
+#: merge-recursive.c:1255
 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:1253
+#: merge-recursive.c:1258
 #, 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"
@@ -2434,31 +2979,31 @@ msgstr ""
 "\n"
 "以接受此建议。\n"
 
 "\n"
 "以接受此建议。\n"
 
-#: merge-recursive.c:1262
+#: merge-recursive.c:1267
 #, 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:1321
+#: merge-recursive.c:1326
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:1326
+#: merge-recursive.c:1331
 #, 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:1358
+#: merge-recursive.c:1363
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1423
+#: merge-recursive.c:1434
 #, 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:1475
+#: merge-recursive.c:1501
 #, 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 "
@@ -2467,7 +3012,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:1480
+#: merge-recursive.c:1506
 #, 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 "
@@ -2476,7 +3021,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:1487
+#: merge-recursive.c:1513
 #, 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 "
@@ -2485,7 +3030,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:1492
+#: merge-recursive.c:1518
 #, 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 "
@@ -2494,31 +3039,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:1526
+#: merge-recursive.c:1552
 msgid "rename"
 msgstr "重命名"
 
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1552
 msgid "renamed"
 msgstr "重命名"
 
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1580 merge-recursive.c:1736 merge-recursive.c:2368
-#: merge-recursive.c:3086
+#: merge-recursive.c:1606 merge-recursive.c:1762 merge-recursive.c:2394
+#: merge-recursive.c:3129
 #, 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:1594
+#: merge-recursive.c:1620
 #, 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:1599
+#: merge-recursive.c:1625
 #, 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:1625
+#: merge-recursive.c:1651
 #, 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"
@@ -2527,36 +3072,38 @@ 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:1630
+#: merge-recursive.c:1656
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1694
+#: merge-recursive.c:1720
 #, 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:1733
+#: merge-recursive.c:1759
 #, 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:1745
+#: merge-recursive.c:1771
 #, 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:1951
+#: merge-recursive.c:1977
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
 "directory %s was renamed to multiple other directories, with no destination "
 "getting a majority of the files."
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
 "directory %s was renamed to multiple other directories, with no destination "
 "getting a majority of the files."
-msgstr "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个其它目录,没有目录包含大部分文件。"
+msgstr ""
+"冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
+"其它目录,没有目录包含大部分文件。"
 
 
-#: merge-recursive.c:1983
+#: merge-recursive.c:2009
 #, 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 "
@@ -2565,7 +3112,7 @@ msgstr ""
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-recursive.c:1993
+#: merge-recursive.c:2019
 #, 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; "
@@ -2574,7 +3121,7 @@ msgstr ""
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-recursive.c:2085
+#: merge-recursive.c:2111
 #, 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-"
@@ -2583,130 +3130,134 @@ 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:2330
+#: merge-recursive.c:2356
 #, 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:2736
+#: merge-recursive.c:2762
 #, 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:2751
+#: merge-recursive.c:2777
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:2758 merge-recursive.c:3089
+#: merge-recursive.c:2784 merge-recursive.c:3132
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:2914
+#: merge-recursive.c:2941
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:2917
+#: merge-recursive.c:2944
 #, 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:2986
+#: merge-recursive.c:3013
 msgid "modify"
 msgstr "修改"
 
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:2986
+#: merge-recursive.c:3013
 msgid "modified"
 msgstr "修改"
 
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:2997
+#: merge-recursive.c:3024
 msgid "content"
 msgstr "内容"
 
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:3004
+#: merge-recursive.c:3031
 msgid "add/add"
 msgstr "添加/添加"
 
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:3046
+#: merge-recursive.c:3076
 #, 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:3055 git-submodule.sh:895
+#: merge-recursive.c:3098 git-submodule.sh:865
 msgid "submodule"
 msgstr "子模组"
 
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:3056
+#: merge-recursive.c:3099
 #, 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:3178
+#: merge-recursive.c:3221
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:3204
+#: merge-recursive.c:3247
 msgid "file/directory"
 msgstr "文件/目录"
 
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:3210
+#: merge-recursive.c:3253
 msgid "directory/file"
 msgstr "目录/文件"
 
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3217
+#: merge-recursive.c:3260
 #, 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:3226
+#: merge-recursive.c:3269
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3267
+#: merge-recursive.c:3303
 #, c-format
 #, c-format
-msgid "Dirty index: cannot merge (dirty: %s)"
-msgstr "脏索引:不能合并(脏文件:%s)"
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"  %s"
+msgstr ""
+"您对下列文件的本地修改将被合并操作覆盖:\n"
+"  %s"
 
 
-#: merge-recursive.c:3271
+#: merge-recursive.c:3314
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:3280
+#: merge-recursive.c:3323
 #, 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:3379
+#: merge-recursive.c:3422
 msgid "Merging:"
 msgstr "合并:"
 
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3392
+#: merge-recursive.c:3435
 #, 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:3431
+#: merge-recursive.c:3474
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3495
+#: merge-recursive.c:3540
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3511 builtin/merge.c:659 builtin/merge.c:816
+#: merge-recursive.c:3556 builtin/merge.c:689 builtin/merge.c:846
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
-#: notes-merge.c:272
+#: notes-merge.c:274
 #, 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"
@@ -2717,21 +3268,21 @@ msgstr ""
 "在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
 "在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
-#: notes-merge.c:279
+#: notes-merge.c:281
 #, 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)。"
 
-#: notes-utils.c:43
+#: notes-utils.c:45
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr "不能提交未初始化/未引用的注解树"
 
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr "不能提交未初始化/未引用的注解树"
 
-#: notes-utils.c:102
+#: notes-utils.c:104
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "坏的 notes.rewriteMode 值:'%s'"
 
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "坏的 notes.rewriteMode 值:'%s'"
 
-#: notes-utils.c:112
+#: notes-utils.c:114
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
@@ -2740,35 +3291,55 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 #. the environment variable, the second %s is
 #. its value.
 #.
 #. the environment variable, the second %s is
 #. its value.
 #.
-#: notes-utils.c:142
+#: notes-utils.c:144
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object.c:242
+#: object.c:54
+#, c-format
+msgid "invalid object type \"%s\""
+msgstr "无效的对象类型 \"%s\""
+
+#: object.c:173
+#, c-format
+msgid "object %s is a %s, not a %s"
+msgstr "对象 %s 是一个 %s,不是一个 %s"
+
+#: object.c:233
+#, c-format
+msgid "object %s has unknown type id %d"
+msgstr "对象 %s 有未知的类型 id %d"
+
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
+#: object.c:266 object.c:277
+#, c-format
+msgid "sha1 mismatch %s"
+msgstr "sha1 与 %s 不匹配"
+
 #: packfile.c:563
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
 #: packfile.c:563
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1742
+#: packfile.c:1745
 #, 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:1746
+#: packfile.c:1749
 #, 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 的包索引的结尾(被截断的索引?)"
 
-#: parse-options.c:621
+#: parse-options.c:672
 msgid "..."
 msgstr "..."
 
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:640
+#: parse-options.c:691
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
@@ -2776,18 +3347,18 @@ msgstr "用法:%s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:646
+#: parse-options.c:697
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:649
+#: parse-options.c:700
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:688
+#: parse-options.c:739
 msgid "-NUM"
 msgstr "-数字"
 
 msgid "-NUM"
 msgstr "-数字"
 
@@ -2877,11 +3448,71 @@ msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
+#: pkt-line.c:104
+msgid "flush packet write failed"
+msgstr "flush 包写错误"
+
+#: pkt-line.c:142 pkt-line.c:228
+msgid "protocol error: impossibly long line"
+msgstr "协议错误:不可能的长行"
+
+#: pkt-line.c:158 pkt-line.c:160
+msgid "packet write with format failed"
+msgstr "格式化包写入错误"
+
+#: pkt-line.c:192
+msgid "packet write failed - data exceeds max packet size"
+msgstr "写数据包失败:数据超过了包的最大长度"
+
+#: pkt-line.c:199 pkt-line.c:206
+msgid "packet write failed"
+msgstr "数据包写入失败"
+
+#: pkt-line.c:291
+msgid "read error"
+msgstr "读取错误"
+
+#: pkt-line.c:299
+msgid "the remote end hung up unexpectedly"
+msgstr "远端意外挂断了"
+
+#: pkt-line.c:327
+#, c-format
+msgid "protocol error: bad line length character: %.4s"
+msgstr "协议错误:错误的行长度字符串:%.4s"
+
+#: pkt-line.c:337 pkt-line.c:342
+#, c-format
+msgid "protocol error: bad line length %d"
+msgstr "协议错误:错误的行长度 %d"
+
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: read-cache.c:1500
+#: range-diff.c:48
+msgid "could not start `log`"
+msgstr "不能启动 `log`"
+
+#: range-diff.c:51
+msgid "could not read `log` output"
+msgstr "不能读取 `log` 的输出"
+
+#: range-diff.c:66 sequencer.c:4540
+#, c-format
+msgid "could not parse commit '%s'"
+msgstr "不能解析提交 '%s'"
+
+#: range-diff.c:196
+msgid "failed to generate diff"
+msgstr "生成 diff 失败"
+
+#: range-diff.c:421 range-diff.c:423
+#, c-format
+msgid "could not parse log for '%s'"
+msgstr "不能解析 '%s' 的日志"
+
+#: read-cache.c:1579
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2890,7 +3521,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1510
+#: read-cache.c:1589
 #, 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"
@@ -2899,227 +3530,329 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:2404 sequencer.c:4338 wrapper.c:658 builtin/merge.c:1048
+#: read-cache.c:2580 sequencer.c:4503 wrapper.c:658 builtin/merge.c:1083
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:2477 sequencer.c:2102 sequencer.c:3234
+#: read-cache.c:2653 sequencer.c:2113 sequencer.c:3374
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:2490
+#: read-cache.c:2666
 #, 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:2502
+#: read-cache.c:2678
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: refs.c:732 sequencer.c:4334 sequencer.c:4393 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:779
+#: refs.c:192
+#, c-format
+msgid "%s does not point to a valid object!"
+msgstr "%s 没有指向一个有效的对象!"
+
+#: refs.c:579
+#, c-format
+msgid "ignoring dangling symref %s"
+msgstr "忽略摇摆符号引用 %s"
+
+#: refs.c:581 ref-filter.c:2067
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "忽略损坏的引用 %s"
+
+#: refs.c:685
+#, c-format
+msgid "could not open '%s' for writing: %s"
+msgstr "无法为写入打开 '%s':%s"
+
+#: refs.c:695 refs.c:746
+#, c-format
+msgid "could not read ref '%s'"
+msgstr "无法读取引用 '%s'"
+
+#: refs.c:701
+#, c-format
+msgid "ref '%s' already exists"
+msgstr "引用 '%s' 已经存在"
+
+#: refs.c:706
+#, 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
+#: 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
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs.c:1880
+#: refs.c:748
+#, c-format
+msgid "unexpected object ID when deleting '%s'"
+msgstr "删除 '%s' 时意外的对象 ID"
+
+#: refs.c:879
+#, c-format
+msgid "log for ref %s has gap after %s"
+msgstr "引用 %s 的日志在 %s 之后有缺口"
+
+#: refs.c:885
+#, c-format
+msgid "log for ref %s unexpectedly ended on %s"
+msgstr "引用 %s 的日志意外终止于 %s "
+
+#: refs.c:943
+#, c-format
+msgid "log for %s is empty"
+msgstr "%s 的日志为空"
+
+#: refs.c:1035
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "拒绝更新有错误名称 '%s' 的引用"
+
+#: refs.c:1111
+#, c-format
+msgid "update_ref failed for ref '%s': %s"
+msgstr "对引用 '%s' 执行 update_ref 失败:%s"
+
+#: refs.c:1853
+#, c-format
+msgid "multiple updates for ref '%s' not allowed"
+msgstr "不允许对引用 '%s' 多次更新"
+
+#: refs.c:1885
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
+#: refs.c:1981 refs.c:2011
+#, c-format
+msgid "'%s' exists; cannot create '%s'"
+msgstr "'%s' 已存在,无法创建 '%s'"
+
+#: refs.c:1987 refs.c:2022
+#, c-format
+msgid "cannot process '%s' and '%s' at the same time"
+msgstr "无法同时处理 '%s' 和 '%s'"
+
 #: refs/files-backend.c:1191
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
 #: refs/files-backend.c:1191
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1205 refs/packed-backend.c:1531
-#: refs/packed-backend.c:1541
+#: refs/files-backend.c:1205 refs/packed-backend.c:1532
+#: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1208 refs/packed-backend.c:1544
+#: refs/files-backend.c:1208 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"
 
-#: ref-filter.c:35 wt-status.c:1850
+#: refspec.c:137
+#, c-format
+msgid "invalid refspec '%s'"
+msgstr "无效的引用表达式:'%s'"
+
+#: ref-filter.c:38 wt-status.c:1850
 msgid "gone"
 msgstr "丢失"
 
 msgid "gone"
 msgstr "丢失"
 
-#: ref-filter.c:36
+#: ref-filter.c:39
 #, c-format
 msgid "ahead %d"
 msgstr "领先 %d"
 
 #, c-format
 msgid "ahead %d"
 msgstr "领先 %d"
 
-#: ref-filter.c:37
+#: ref-filter.c:40
 #, c-format
 msgid "behind %d"
 msgstr "落后 %d"
 
 #, c-format
 msgid "behind %d"
 msgstr "落后 %d"
 
-#: ref-filter.c:38
+#: ref-filter.c:41
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
-#: ref-filter.c:121
+#: ref-filter.c:137
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
-#: ref-filter.c:123
+#: ref-filter.c:139
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
-#: ref-filter.c:145
+#: ref-filter.c:161
 #, 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:149
+#: ref-filter.c:165
 #, 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:151
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
-#: ref-filter.c:206
+#: ref-filter.c:222
+#, c-format
+msgid "%%(objecttype) does not take arguments"
+msgstr "%%(objecttype) 不带参数"
+
+#: ref-filter.c:234
+#, c-format
+msgid "%%(objectsize) does not take arguments"
+msgstr "%%(objectsize) 不带参数"
+
+#: ref-filter.c:246
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:215
+#: ref-filter.c:255
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:235
+#: ref-filter.c:275
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
-#: ref-filter.c:264
+#: ref-filter.c:304
 #, 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:266
+#: ref-filter.c:306
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
-#: ref-filter.c:281
+#: ref-filter.c:321
 #, 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:285
+#: ref-filter.c:325
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: ref-filter.c:315
+#: ref-filter.c:355
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
-#: ref-filter.c:327
+#: ref-filter.c:367
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
-#: ref-filter.c:334
+#: ref-filter.c:374
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
-#: ref-filter.c:343
+#: ref-filter.c:383
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
-#: ref-filter.c:351
+#: ref-filter.c:391
 #, 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:369
+#: ref-filter.c:409
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
-#: ref-filter.c:464
+#: ref-filter.c:505
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
-#: ref-filter.c:491
+#: ref-filter.c:532
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:608
+#: ref-filter.c:656
 #, 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:671
+#: ref-filter.c:719
 #, 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:673
+#: ref-filter.c:721
 #, 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:675
+#: ref-filter.c:723
 #, 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:703
+#: ref-filter.c:751
 #, 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:705
+#: ref-filter.c:753
 #, 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:707
+#: ref-filter.c:755
 #, 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:722
+#: ref-filter.c:770
 #, 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:779
+#: ref-filter.c:827
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
-#: ref-filter.c:1387
+#: ref-filter.c:1416
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1390
+#: ref-filter.c:1419
 #, 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:1393
+#: ref-filter.c:1422
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
@@ -3127,7 +3860,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:1401
+#: ref-filter.c:1430
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
@@ -3135,147 +3868,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:1408
+#: ref-filter.c:1437
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: ref-filter.c:1412
+#: ref-filter.c:1441
 msgid "(no branch)"
 msgstr "(非分支)"
 
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1442
+#: ref-filter.c:1475 ref-filter.c:1623
 #, 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:1445
+#: ref-filter.c:1483
 #, 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:1902
+#: ref-filter.c:1980
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:1984
+#: ref-filter.c:2062
 #, 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:1989
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr "忽略损坏的引用 %s"
-
-#: ref-filter.c:2261
+#: ref-filter.c:2340
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2365
+#: ref-filter.c:2444
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
-#: remote.c:605
+#: remote.c:606
 #, 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:609
+#: remote.c:610
 #, 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:613
+#: remote.c:614
 #, 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:621
+#: remote.c:622
 msgid "Internal error"
 msgstr "内部错误"
 
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1534 remote.c:1635
+#: remote.c:1536 remote.c:1637
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1543
+#: remote.c:1545
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1546
+#: remote.c:1548
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1552
+#: remote.c:1554
 #, 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:1567
+#: remote.c:1569
 #, 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:1579
+#: remote.c:1581
 #, 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:1589
+#: remote.c:1591
 #, 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:1602
+#: remote.c:1604
 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:1624
+#: remote.c:1626
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:1939
+#: remote.c:1951
 #, 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:1943
+#: remote.c:1955
 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:1946
+#: remote.c:1958
 #, 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:1950
+#: remote.c:1962
 #, 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:1953
+#: remote.c:1965
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
-#: remote.c:1957
+#: remote.c:1969
 #, 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:1963
+#: remote.c:1975
 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:1966
+#: remote.c:1978
 #, 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 ""
@@ -3284,11 +4012,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1974
+#: remote.c:1986
 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:1977
+#: remote.c:1989
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -3304,20 +4032,35 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1987
+#: remote.c:1999
 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"
 
-#: revision.c:2289
+#: replace-object.c:20
+#, c-format
+msgid "bad replace ref name: %s"
+msgstr "错误的替换引用名称:%s"
+
+#: replace-object.c:29
+#, c-format
+msgid "duplicate replace ref: %s"
+msgstr "重复的替换引用:%s"
+
+#: replace-object.c:72
+#, c-format
+msgid "replace depth too high for object %s"
+msgstr "对象 %s 的替换层级太深"
+
+#: revision.c:2305
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2292
+#: revision.c:2308
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2489
+#: revision.c:2505
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
@@ -3334,70 +4077,70 @@ msgstr ""
 "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
 "配置 `git config advice.ignoredHook false` 来关闭这条警告。"
 
 "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
 "配置 `git config advice.ignoredHook false` 来关闭这条警告。"
 
-#: send-pack.c:141
+#: send-pack.c:142
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "读取远程解包状态时收到意外的 flush 包"
 
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "读取远程解包状态时收到意外的 flush 包"
 
-#: send-pack.c:143
+#: send-pack.c:144
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "不能解析远程解包状态:%s"
 
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "不能解析远程解包状态:%s"
 
-#: send-pack.c:145
+#: send-pack.c:146
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "远程解包失败:%s"
 
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "远程解包失败:%s"
 
-#: send-pack.c:308
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgid "failed to sign the push certificate"
-msgstr "无法为推送证书签名"
+msgstr "为推送证书签名失败"
 
 
-#: send-pack.c:421
+#: send-pack.c:422
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:423
+#: send-pack.c:424
 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:435
+#: send-pack.c:436
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: send-pack.c:440
+#: send-pack.c:441
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:175
+#: sequencer.c:177
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:275
+#: sequencer.c:278
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:301
+#: sequencer.c:304
 msgid "revert"
 msgstr "还原"
 
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:303
+#: sequencer.c:306
 msgid "cherry-pick"
 msgstr "拣选"
 
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:305
+#: sequencer.c:308
 msgid "rebase -i"
 msgstr "rebase -i"
 
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:307
+#: sequencer.c:310
 #, c-format
 #, c-format
-msgid "Unknown action: %d"
+msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
 msgstr "未知动作:%d"
 
-#: sequencer.c:364
+#: sequencer.c:367
 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>'"
@@ -3405,7 +4148,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:367
+#: sequencer.c:370
 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"
@@ -3414,45 +4157,39 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:380 sequencer.c:2468
+#: sequencer.c:383 sequencer.c:2488
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:382 sequencer.c:2346 sequencer.c:2472 sequencer.c:2486
-#: sequencer.c:2694 sequencer.c:4336 sequencer.c:4399 wrapper.c:656
-#, c-format
-msgid "could not write to '%s'"
-msgstr "不能写入 '%s'"
-
-#: sequencer.c:387
+#: sequencer.c:390
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:392 sequencer.c:2351 sequencer.c:2474 sequencer.c:2488
-#: sequencer.c:2702
+#: sequencer.c:395 sequencer.c:2371 sequencer.c:2494 sequencer.c:2508
+#: sequencer.c:2741
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:415 sequencer.c:804 sequencer.c:1493 sequencer.c:2371
-#: sequencer.c:2684 sequencer.c:2788 builtin/am.c:259 builtin/commit.c:727
-#: builtin/merge.c:1046
+#: 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
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:441
+#: sequencer.c:444
 #, 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:445
+#: sequencer.c:448
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:474
+#: sequencer.c:477
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
@@ -3460,20 +4197,35 @@ msgstr "%s:快进"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:563
+#: sequencer.c:566
 #, 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:579
+#: sequencer.c:582
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:592
+#: sequencer.c:595
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:749
+#: sequencer.c:723 sequencer.c:740
+#, c-format
+msgid "could not parse '%s' (looking for '%s')"
+msgstr "不能解析 '%s'(查找 '%s')"
+
+#: sequencer.c:731
+#, c-format
+msgid "bad quoting on %s value in '%s'"
+msgstr "'%2$s' 中的值 %1$s 有错误引用"
+
+#: sequencer.c:747
+#, c-format
+msgid "invalid date format '%s' in '%s'"
+msgstr "'%2$s' 中无效的日期格式 '%1$s'"
+
+#: sequencer.c:761
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -3502,15 +4254,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:818
+#: sequencer.c:830
 msgid "writing root commit"
 msgstr "写根提交"
 
 msgid "writing root commit"
 msgstr "写根提交"
 
-#: sequencer.c:1043
+#: sequencer.c:1055
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:1050
+#: sequencer.c:1062
 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"
@@ -3534,7 +4286,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1063
+#: sequencer.c:1075
 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"
@@ -3557,315 +4309,344 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1103
+#: sequencer.c:1115
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1105
+#: sequencer.c:1117
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1151
+#: sequencer.c:1163
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1153
+#: sequencer.c:1165
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1157
+#: sequencer.c:1169
 msgid " (root-commit)"
 msgstr "(根提交)"
 
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1178
+#: sequencer.c:1190
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1180
+#: sequencer.c:1192
 #, 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:1184 builtin/commit.c:1528
+#: sequencer.c:1196 builtin/commit.c:1528
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1235 sequencer.c:1832
+#: sequencer.c:1247 sequencer.c:1845
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1245 builtin/am.c:1630 builtin/merge.c:645
+#: sequencer.c:1257 builtin/am.c:1632 builtin/merge.c:675
 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:1262 sequencer.c:1317
+#: sequencer.c:1274 sequencer.c:1329
 #, 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:1284 builtin/am.c:1650 builtin/commit.c:1631 builtin/merge.c:825
-#: builtin/merge.c:850
+#: sequencer.c:1296 builtin/am.c:1653 builtin/commit.c:1631 builtin/merge.c:855
+#: builtin/merge.c:880
 msgid "failed to write commit object"
 msgid "failed to write commit object"
-msgstr "无法写提交对象"
+msgstr "写提交对象失败"
 
 
-#: sequencer.c:1344
+#: sequencer.c:1356
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1349
+#: sequencer.c:1361
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1500 sequencer.c:1525
+#: sequencer.c:1457 sequencer.c:1565
+#, c-format
+msgid "unknown command: %d"
+msgstr "未知命令:%d"
+
+#: sequencer.c:1512 sequencer.c:1537
 #, 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:1510 sequencer.c:4355
+#: sequencer.c:1522 sequencer.c:4520
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1512 sequencer.c:2729
+#: sequencer.c:1524 sequencer.c:2768
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1514
+#: sequencer.c:1526
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1520
+#: sequencer.c:1532
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1527 git-rebase--interactive.sh:457
+#: sequencer.c:1539 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1535
+#: sequencer.c:1547
 #, 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:1542
+#: sequencer.c:1554
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1548
+#: sequencer.c:1560
 #, 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:1553
-#, c-format
-msgid "unknown command: %d"
-msgstr "未知命令:%d"
-
-#: sequencer.c:1631
+#: sequencer.c:1643
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1638
+#: sequencer.c:1650
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:1657
+#: sequencer.c:1669
 #, 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:1665
+#: sequencer.c:1677
 #, 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:1669
+#: sequencer.c:1681
 #, 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:1675
+#: sequencer.c:1687
 #, 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:1694
+#: sequencer.c:1706
 #, 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:1759
+#: sequencer.c:1771
 #, 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:1813
+#: sequencer.c:1826
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1814
+#: sequencer.c:1827
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:1864
-msgid "empty commit set passed"
-msgstr "提供了空的提交集"
-
-#: sequencer.c:1874
+#: sequencer.c:1885
 #, 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:1881
+#: sequencer.c:1892
 #, 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:1961
+#: sequencer.c:1972
 #, 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:1970
+#: sequencer.c:1981
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2029
+#: sequencer.c:2040
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2037
+#: sequencer.c:2048
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2085 sequencer.c:4138 sequencer.c:4173
+#: sequencer.c:2096 sequencer.c:4277 sequencer.c:4333
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:2108
+#: sequencer.c:2119
 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:2110
+#: sequencer.c:2121
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2115
+#: sequencer.c:2126
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2126
+#: sequencer.c:2137
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2128
+#: sequencer.c:2139
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2195
-#, c-format
-msgid "invalid key: %s"
-msgstr "无效键名:%s"
-
-#: sequencer.c:2198
+#: sequencer.c:2209
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2269
+#: sequencer.c:2285
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2285
+#: sequencer.c:2301
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2323
+#: sequencer.c:2335 sequencer.c:3775
+msgid "empty commit set passed"
+msgstr "提供了空的提交集"
+
+#: sequencer.c:2343
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:2324
+#: sequencer.c:2344
 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:2327
+#: sequencer.c:2347
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2341
+#: sequencer.c:2361
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2396 sequencer.c:3403
+#: sequencer.c:2416 sequencer.c:3543
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2398
+#: sequencer.c:2418
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2400 sequencer.c:2435
+#: sequencer.c:2420 sequencer.c:2455
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2421 builtin/grep.c:720
+#: sequencer.c:2441 builtin/grep.c:721
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2423
+#: sequencer.c:2443
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2424
+#: sequencer.c:2444
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2430
+#: sequencer.c:2450
 #, 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:2441
+#: sequencer.c:2461
 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:2545 sequencer.c:3321
+#: sequencer.c:2565 sequencer.c:3461
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2583 sequencer.c:3301
+#: sequencer.c:2603 sequencer.c:3441
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:2618 sequencer.c:2622 builtin/difftool.c:639
+#: sequencer.c:2618
+#, c-format
+msgid "unable to copy '%s' to '%s'"
+msgstr "无法拷贝 '%s' 至 '%s'"
+
+#: sequencer.c:2626
+#, c-format
+msgid ""
+"You can amend the commit now, with\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"Once you are satisfied with your changes, run\n"
+"\n"
+"  git rebase --continue\n"
+msgstr ""
+"您现在可以修补这个提交,使用\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"当您对变更感到满意,执行\n"
+"\n"
+"  git rebase --continue\n"
+
+#: sequencer.c:2636
+#, c-format
+msgid "Could not apply %s... %.*s"
+msgstr "不能应用 %s... %.*s"
+
+#: sequencer.c:2643
+#, c-format
+msgid "Could not merge %.*s"
+msgstr "不能合并 %.*s"
+
+#: sequencer.c:2654 sequencer.c:2658 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:2641
+#: sequencer.c:2680 sequencer.c:3095
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
-#: sequencer.c:2646
+#: sequencer.c:2685
 #, c-format
 msgid ""
 "execution failed: %s\n"
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3880,11 +4661,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2652
+#: sequencer.c:2691
 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:2658
+#: sequencer.c:2697
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3901,62 +4682,81 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2771
+#: sequencer.c:2758
+#, c-format
+msgid "illegal label name: '%.*s'"
+msgstr "非法的标签名称:'%.*s'"
+
+#: sequencer.c:2810
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:2776
+#: sequencer.c:2815
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:2811
+#: sequencer.c:2850
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
-#: sequencer.c:2829
+#: sequencer.c:2868
 msgid "could not write index"
 msgstr "不能写入索引"
 
 msgid "could not write index"
 msgstr "不能写入索引"
 
-#: sequencer.c:2861
+#: sequencer.c:2895
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "无法解析 '%s'"
+
+#: sequencer.c:2921
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:2884
+#: sequencer.c:2943
 #, c-format
 #, c-format
-msgid "could not resolve '%s'"
-msgstr "无法解析 '%s'"
+msgid "unable to parse '%.*s'"
+msgstr "无法解析 '%.*s'"
+
+#: sequencer.c:2952
+#, c-format
+msgid "nothing to merge: '%.*s'"
+msgstr "无可用合并:'%.*s'"
+
+#: sequencer.c:2964
+msgid "octopus merge cannot be executed on top of a [new root]"
+msgstr "章鱼合并不能在一个新的根提交上执行"
 
 
-#: sequencer.c:2906
+#: sequencer.c:2979
 #, 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:2916 sequencer.c:2941
+#: sequencer.c:2989 sequencer.c:3015
 #, c-format
 msgid "could not write '%s'"
 msgstr "不能写入 '%s'"
 
 #, c-format
 msgid "could not write '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:3005
+#: sequencer.c:3127
 #, 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:3021
+#: sequencer.c:3143
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:3088
+#: sequencer.c:3211
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:3100
+#: sequencer.c:3223
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:3103 git-rebase.sh:188
+#: sequencer.c:3226 git-rebase.sh:188
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3967,7 +4767,7 @@ msgstr ""
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:3134
+#: sequencer.c:3257
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -3987,48 +4787,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3202
+#: sequencer.c:3325
 #, 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:3264
+#: sequencer.c:3404
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:3309
+#: sequencer.c:3449
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:3314 sequencer.c:4352
+#: sequencer.c:3454 sequencer.c:4517
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:3328
+#: sequencer.c:3468
 #, 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:3414
+#: sequencer.c:3554
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:3423
+#: sequencer.c:3563
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:3425
+#: sequencer.c:3565
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:3427
+#: sequencer.c:3567
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:3430
+#: sequencer.c:3570
 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"
@@ -4037,53 +4837,53 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:3455 sequencer.c:3493
+#: sequencer.c:3595 sequencer.c:3633
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:3508
+#: sequencer.c:3648
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:3515
+#: sequencer.c:3655
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:3612
+#: sequencer.c:3752
 #, 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:3616
+#: sequencer.c:3756
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:3649
+#: sequencer.c:3791
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:4098
+#: sequencer.c:4238
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:4101
+#: sequencer.c:4241
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:4142 sequencer.c:4177
+#: sequencer.c:4281 sequencer.c:4337
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: sequencer.c:4236
+#: sequencer.c:4396
 #, 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:4302
+#: sequencer.c:4466
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -4092,7 +4892,7 @@ msgstr ""
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
-#: sequencer.c:4309
+#: sequencer.c:4473
 #, 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"
@@ -4108,7 +4908,7 @@ msgstr ""
 "可选值有:ignore、warn、error。\n"
 "\n"
 
 "可选值有:ignore、warn、error。\n"
 "\n"
 
-#: sequencer.c:4321
+#: sequencer.c:4486
 #, 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 --"
@@ -4118,12 +4918,7 @@ 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:4375
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr "不能解析提交 '%s'"
-
-#: sequencer.c:4490
+#: sequencer.c:4660
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -4188,7 +4983,7 @@ msgstr "发现未知的仓库扩展:"
 #: setup.c:530
 #, c-format
 msgid "error opening '%s'"
 #: setup.c:530
 #, c-format
 msgid "error opening '%s'"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s'"
+msgstr "æ\89\93å¼\80 '%s' å\87ºé\94\99"
 
 #: setup.c:532
 #, c-format
 
 #: setup.c:532
 #, c-format
@@ -4198,7 +4993,7 @@ msgstr "文件太大,无法作为 .git 文件:'%s'"
 #: setup.c:534
 #, c-format
 msgid "error reading %s"
 #: setup.c:534
 #, c-format
 msgid "error reading %s"
-msgstr "无法读取 %s"
+msgstr "读取 %s 出错"
 
 #: setup.c:536
 #, c-format
 
 #: setup.c:536
 #, c-format
@@ -4242,7 +5037,7 @@ msgstr "不是一个 git 仓库(或者任何父目录):%s"
 #: setup.c:824
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 #: setup.c:824
 #, c-format
 msgid "failed to stat '%*s%s%s'"
-msgstr "无法获取 '%*s%s%s' 状态(stat)"
+msgstr "获取 '%*s%s%s' 状态(stat)失败"
 
 #: setup.c:1054
 msgid "Unable to read current working directory"
 
 #: setup.c:1054
 msgid "Unable to read current working directory"
@@ -4283,6 +5078,38 @@ msgstr "fork 失败"
 msgid "setsid failed"
 msgstr "setsid 失败"
 
 msgid "setsid failed"
 msgstr "setsid 失败"
 
+#: sha1-file.c:381
+#, c-format
+msgid "object directory %s does not exist; check .git/objects/info/alternates"
+msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates"
+
+#: sha1-file.c:432
+#, c-format
+msgid "unable to normalize alternate object path: %s"
+msgstr "无法规范化备用对象路径:%s"
+
+#: sha1-file.c:503
+#, c-format
+msgid "%s: ignoring alternate object stores, nesting too deep"
+msgstr "%s:忽略备用对象库,嵌套太深"
+
+#: sha1-file.c:510
+#, c-format
+msgid "unable to normalize object directory: %s"
+msgstr "无法规范化对象目录: %s"
+
+#: sha1-file.c:565
+msgid "unable to fdopen alternates lockfile"
+msgstr "无法 fdopen 替换锁文件"
+
+#: sha1-file.c:583
+msgid "unable to read alternates file"
+msgstr "无法读取替代文件"
+
+#: sha1-file.c:590
+msgid "unable to move new alternates file into place"
+msgstr "无法将新的替代文件移动到位"
+
 #: sha1-file.c:625
 #, c-format
 msgid "path '%s' does not exist"
 #: sha1-file.c:625
 #, c-format
 msgid "path '%s' does not exist"
@@ -4308,16 +5135,208 @@ msgstr "参考仓库 '%s' 是一个浅克隆"
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
-#: sha1-name.c:442
+#: sha1-file.c:781
+#, c-format
+msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
+msgstr "尝试 mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>"
+
+#: sha1-file.c:806
+msgid "mmap failed"
+msgstr "mmap 失败"
+
+#: sha1-file.c:973
+#, c-format
+msgid "object file %s is empty"
+msgstr "对象文件 %s 为空"
+
+#: sha1-file.c:1093 sha1-file.c:2206
+#, c-format
+msgid "corrupt loose object '%s'"
+msgstr "损坏的松散对象 '%s'"
+
+#: sha1-file.c:1095 sha1-file.c:2210
+#, c-format
+msgid "garbage at end of loose object '%s'"
+msgstr "松散对象 '%s' 后面有垃圾数据"
+
+#: sha1-file.c:1137
+msgid "invalid object type"
+msgstr "无效的对象类型"
+
+#: sha1-file.c:1219
+#, c-format
+msgid "unable to unpack %s header with --allow-unknown-type"
+msgstr "无法用 --allow-unknown-type 参数解开 %s 头信息"
+
+#: sha1-file.c:1222
+#, c-format
+msgid "unable to unpack %s header"
+msgstr "无法解开 %s 头部"
+
+#: sha1-file.c:1228
+#, c-format
+msgid "unable to parse %s header with --allow-unknown-type"
+msgstr "无法用 --allow-unknown-type 参数解析 %s 头信息"
+
+#: sha1-file.c:1231
+#, c-format
+msgid "unable to parse %s header"
+msgstr "无法解析 %s 头部"
+
+#: sha1-file.c:1422
+#, c-format
+msgid "failed to read object %s"
+msgstr "读取对象 %s 失败"
+
+#: sha1-file.c:1426
+#, c-format
+msgid "replacement %s not found for %s"
+msgstr "找不到 %2$s 的替代 %1$s"
+
+#: sha1-file.c:1430
+#, c-format
+msgid "loose object %s (stored in %s) is corrupt"
+msgstr "松散对象 %s(保存在 %s)已损坏"
+
+#: sha1-file.c:1434
+#, c-format
+msgid "packed object %s (stored in %s) is corrupt"
+msgstr "打包对象 %s(保存在 %s)已损坏"
+
+#: sha1-file.c:1536
+#, c-format
+msgid "unable to write sha1 filename %s"
+msgstr "无法写入 sha1 文件名 %s"
+
+#: sha1-file.c:1543
+#, c-format
+msgid "unable to set permission to '%s'"
+msgstr "无法为 '%s' 设置权限"
+
+#: sha1-file.c:1550
+msgid "file write error"
+msgstr "文件写错误"
+
+#: sha1-file.c:1569
+msgid "error when closing sha1 file"
+msgstr "关闭 sha1 文件时出错"
+
+#: sha1-file.c:1635
+#, c-format
+msgid "insufficient permission for adding an object to repository database %s"
+msgstr "权限不足,无法在仓库对象库 %s 中添加对象"
+
+#: sha1-file.c:1637
+msgid "unable to create temporary file"
+msgstr "无法创建临时文件"
+
+#: sha1-file.c:1661
+msgid "unable to write sha1 file"
+msgstr "无法写入 sha1 文件"
+
+#: sha1-file.c:1667
+#, c-format
+msgid "unable to deflate new object %s (%d)"
+msgstr "不能压缩新对象 %s(%d)"
+
+#: sha1-file.c:1671
+#, c-format
+msgid "deflateEnd on object %s failed (%d)"
+msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
+
+#: sha1-file.c:1675
+#, c-format
+msgid "confused by unstable object source data for %s"
+msgstr "被 %s 的不稳定对象源数据搞糊涂了"
+
+#: sha1-file.c:1685 builtin/pack-objects.c:899
+#, c-format
+msgid "failed utime() on %s"
+msgstr "在 %s 上调用 utime() 失败"
+
+#: sha1-file.c:1760
+#, c-format
+msgid "cannot read sha1_file for %s"
+msgstr "不能从 %s 读取 sha1 文件"
+
+#: sha1-file.c:1805
+msgid "corrupt commit"
+msgstr "损坏的提交"
+
+#: sha1-file.c:1813
+msgid "corrupt tag"
+msgstr "损坏的标签"
+
+#: sha1-file.c:1906
+#, c-format
+msgid "read error while indexing %s"
+msgstr "索引 %s 时读取错误"
+
+#: sha1-file.c:1909
+#, c-format
+msgid "short read while indexing %s"
+msgstr "索引 %s 时读入不完整"
+
+#: sha1-file.c:1980 sha1-file.c:1989
+#, c-format
+msgid "%s: failed to insert into database"
+msgstr "%s:插入数据库失败"
+
+#: sha1-file.c:1995
+#, c-format
+msgid "%s: unsupported file type"
+msgstr "%s:不支持的文件类型"
+
+#: sha1-file.c:2019
+#, c-format
+msgid "%s is not a valid object"
+msgstr "%s 不是一个有效的对象"
+
+#: sha1-file.c:2021
+#, c-format
+msgid "%s is not a valid '%s' object"
+msgstr "%s 不是一个有效的 '%s' 对象"
+
+#: sha1-file.c:2048 builtin/index-pack.c:158
+#, c-format
+msgid "unable to open %s"
+msgstr "不能打开 %s"
+
+#: sha1-file.c:2217 sha1-file.c:2269
+#, c-format
+msgid "sha1 mismatch for %s (expected %s)"
+msgstr "%s 的 sha1 不匹配(预期 %s)"
+
+#: sha1-file.c:2241
+#, c-format
+msgid "unable to mmap %s"
+msgstr "不能 mmap %s"
+
+#: sha1-file.c:2246
+#, c-format
+msgid "unable to unpack header of %s"
+msgstr "无法解压缩 %s 的头部"
+
+#: sha1-file.c:2252
+#, c-format
+msgid "unable to parse header of %s"
+msgstr "无法解析 %s 的头部"
+
+#: sha1-file.c:2263
+#, c-format
+msgid "unable to unpack contents of %s"
+msgstr "无法解压缩 %s 的内容"
+
+#: sha1-name.c:444
 #, 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:453
+#: sha1-name.c:455
 msgid "The candidates are:"
 msgstr "候选者有:"
 
 msgid "The candidates are:"
 msgstr "候选者有:"
 
-#: sha1-name.c:695
+#: sha1-name.c:699
 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"
@@ -4371,53 +5390,63 @@ msgstr "位于未检出的子模组 '%s'"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:837
+#: submodule.c:839
 #, 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:1069 builtin/branch.c:651 builtin/submodule--helper.c:1743
+#: submodule.c:1071 builtin/branch.c:670 builtin/submodule--helper.c:1888
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1375
+#: submodule.c:1377
 #, 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:1513
+#: submodule.c:1515
 #, 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:1526
+#: submodule.c:1528
 #, 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:1619
+#: submodule.c:1543
+#, c-format
+msgid "Could not unset core.worktree setting in submodule '%s'"
+msgstr "无法取消子模组 '%s' 中的 core.worktree 设置"
+
+#: submodule.c:1633
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1718
+#: submodule.c:1685
+#, c-format
+msgid "Submodule '%s' could not be updated."
+msgstr "子模组 '%s' 无法被更新。"
+
+#: submodule.c:1734
 #, 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:1730 submodule.c:1786
+#: submodule.c:1746 submodule.c:1802
 #, 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:1734 builtin/submodule--helper.c:1261
-#: builtin/submodule--helper.c:1271
+#: submodule.c:1750 builtin/submodule--helper.c:1406
+#: builtin/submodule--helper.c:1416
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: submodule.c:1737
+#: submodule.c:1753
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -4428,30 +5457,30 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:1821
+#: submodule.c:1837
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:1865
+#: submodule.c:1881
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:1904
+#: submodule.c:1920
 #, 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:230
+#: submodule-config.c:231
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
-#: submodule-config.c:294
+#: submodule-config.c:295
 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:467
+#: submodule-config.c:468
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
@@ -4467,7 +5496,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:293
+#: trailer.c:539 trailer.c:544 builtin/remote.c:294
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
@@ -4486,7 +5515,7 @@ msgstr "不能读取输入文件 '%s'"
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:1008 builtin/am.c:46
+#: trailer.c:1008 builtin/am.c:47
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
 #, c-format
 msgid "could not stat %s"
 msgstr "不能对 %s 调用 stat"
@@ -4515,23 +5544,46 @@ msgstr "不能重命名临时文件为 %s"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 
+#: transport.c:142
+#, c-format
+msgid "could not read bundle '%s'"
+msgstr "无法读取 bundle '%s'"
+
 #: transport.c:208
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
 #: transport.c:208
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:584
+#: transport.c:586
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
-#: transport.c:996
+#: transport.c:659
+msgid "support for protocol v2 not implemented yet"
+msgstr "协议 v2 的支持尚未实现"
+
+#: transport.c:785
+#, c-format
+msgid "unknown value for config '%s': %s"
+msgstr "配置 '%s' 的取值未知:%s"
+
+#: transport.c:851
+#, c-format
+msgid "transport '%s' not allowed"
+msgstr "传输 '%s' 不允许"
+
+#: transport.c:903
+msgid "git-over-rsync is no longer supported"
+msgstr "不再支持 git-over-rsync"
+
+#: transport.c:998
 #, 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:1000
+#: transport.c:1002
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -4558,32 +5610,205 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:1008
+#: transport.c:1010
 msgid "Aborting."
 msgstr "正在终止。"
 
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport-helper.c:1087
+#: transport.c:1148
+msgid "failed to push all needed submodules"
+msgstr "不能推送全部需要的子模组"
+
+#: transport.c:1270 transport-helper.c:643
+msgid "operation not supported by protocol"
+msgstr "协议不支持该操作"
+
+#: transport.c:1352
+#, c-format
+msgid "invalid line while parsing alternate refs: %s"
+msgstr "解析备用引用时无效的行:%s"
+
+#: transport-helper.c:51 transport-helper.c:80
+msgid "full write to remote helper failed"
+msgstr "完整写入远程助手失败"
+
+#: transport-helper.c:132
+#, c-format
+msgid "unable to find remote helper for '%s'"
+msgstr "无法为 '%s' 找到远程助手"
+
+#: transport-helper.c:148 transport-helper.c:557
+msgid "can't dup helper output fd"
+msgstr "无法复制助手输出文件句柄"
+
+#: transport-helper.c:199
+#, c-format
+msgid ""
+"unknown mandatory capability %s; this remote helper probably needs newer "
+"version of Git"
+msgstr "未知的强制能力 %s,该远程助手可能需要新版本的Git"
+
+#: transport-helper.c:205
+msgid "this remote helper should implement refspec capability"
+msgstr "远程助手需要实现 refspec 能力"
+
+#: transport-helper.c:272 transport-helper.c:412
+#, c-format
+msgid "%s unexpectedly said: '%s'"
+msgstr "%s 意外地说:'%s'"
+
+#: transport-helper.c:401
+#, c-format
+msgid "%s also locked %s"
+msgstr "%s 也锁定了 %s"
+
+#: transport-helper.c:479
+msgid "couldn't run fast-import"
+msgstr "不能执行 fast-import"
+
+#: transport-helper.c:502
+msgid "error while running fast-import"
+msgstr "执行 fast-import 出错"
+
+#: transport-helper.c:531 transport-helper.c:1091
+#, c-format
+msgid "could not read ref %s"
+msgstr "无法读取引用 %s"
+
+#: transport-helper.c:576
+#, c-format
+msgid "unknown response to connect: %s"
+msgstr "连接时未知的响应:%s"
+
+#: transport-helper.c:598
+msgid "setting remote service path not supported by protocol"
+msgstr "协议不支持设置远程服务路径"
+
+#: transport-helper.c:600
+msgid "invalid remote service path"
+msgstr "无效的远程服务路径"
+
+#: transport-helper.c:646
+#, c-format
+msgid "can't connect to subservice %s"
+msgstr "不能连接到子服务 %s"
+
+#: transport-helper.c:713
+#, c-format
+msgid "expected ok/error, helper said '%s'"
+msgstr "预期 ok/error,助手说 '%s'"
+
+#: transport-helper.c:766
+#, c-format
+msgid "helper reported unexpected status of %s"
+msgstr "助手报告 %s 的意外状态"
+
+#: transport-helper.c:827
 #, c-format
 #, c-format
-msgid "Could not read ref %s"
-msgstr "不能读取引用 %s"
+msgid "helper %s does not support dry-run"
+msgstr "助手 %s 不支持 dry-run"
 
 
-#: tree-walk.c:31
+#: transport-helper.c:830
+#, c-format
+msgid "helper %s does not support --signed"
+msgstr "助手 %s 不支持 --signed"
+
+#: transport-helper.c:833
+#, c-format
+msgid "helper %s does not support --signed=if-asked"
+msgstr "助手 %s 不支持 --signed=if-asked"
+
+#: transport-helper.c:840
+#, c-format
+msgid "helper %s does not support 'push-option'"
+msgstr "助手 %s 不支持 'push-option'"
+
+#: transport-helper.c:932
+msgid "remote-helper doesn't support push; refspec needed"
+msgstr "remote-heper 不支持 push,需要引用表达式"
+
+#: transport-helper.c:937
+#, c-format
+msgid "helper %s does not support 'force'"
+msgstr "助手 %s 不支持 'force'"
+
+#: transport-helper.c:984
+msgid "couldn't run fast-export"
+msgstr "无法执行 fast-export"
+
+#: transport-helper.c:989
+msgid "error while running fast-export"
+msgstr "执行 fast-export 时出错"
+
+#: transport-helper.c:1014
+#, c-format
+msgid ""
+"No refs in common and none specified; doing nothing.\n"
+"Perhaps you should specify a branch such as 'master'.\n"
+msgstr ""
+"没有共同的引用并且也没有指定,什么也不会做。\n"
+"可能您应该指定一个分支如 'master'。\n"
+
+#: transport-helper.c:1077
+#, c-format
+msgid "malformed response in ref list: %s"
+msgstr "引用列表中格式错误的响应:%s"
+
+#: transport-helper.c:1230
+#, c-format
+msgid "read(%s) failed"
+msgstr "读取(%s)失败"
+
+#: transport-helper.c:1257
+#, c-format
+msgid "write(%s) failed"
+msgstr "写(%s)失败"
+
+#: transport-helper.c:1306
+#, c-format
+msgid "%s thread failed"
+msgstr "%s 线程失败"
+
+#: transport-helper.c:1310
+#, c-format
+msgid "%s thread failed to join: %s"
+msgstr "%s 加入线程失败:%s"
+
+#: transport-helper.c:1329 transport-helper.c:1333
+#, c-format
+msgid "can't start thread for copying data: %s"
+msgstr "不能启动线程来拷贝数据:%s"
+
+#: transport-helper.c:1370
+#, c-format
+msgid "%s process failed to wait"
+msgstr "%s 进程等待失败"
+
+#: transport-helper.c:1374
+#, c-format
+msgid "%s process failed"
+msgstr "%s 进程失败"
+
+#: transport-helper.c:1392 transport-helper.c:1401
+msgid "can't start thread for copying data"
+msgstr "不能启动线程来拷贝数据"
+
+#: tree-walk.c:33
 msgid "too-short tree object"
 msgstr "太短的树对象"
 
 msgid "too-short tree object"
 msgstr "太短的树对象"
 
-#: tree-walk.c:37
+#: tree-walk.c:39
 msgid "malformed mode in tree entry"
 msgstr "树对象中的条目模式错误"
 
 msgid "malformed mode in tree entry"
 msgstr "树对象中的条目模式错误"
 
-#: tree-walk.c:41
+#: tree-walk.c:43
 msgid "empty filename in tree entry"
 msgstr "树对象条目中空的文件名"
 
 msgid "empty filename in tree entry"
 msgstr "树对象条目中空的文件名"
 
-#: tree-walk.c:113
+#: tree-walk.c:115
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4592,7 +5817,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交或贮藏您的修改。"
 
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交或贮藏您的修改。"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4601,7 +5826,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:117
 #, 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"
@@ -4610,7 +5835,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交或贮藏您的修改。"
 
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交或贮藏您的修改。"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:119
 #, 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"
@@ -4619,7 +5844,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s"
 
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4628,7 +5853,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交或贮藏您的修改。"
 
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交或贮藏您的修改。"
 
-#: unpack-trees.c:123
+#: unpack-trees.c:124
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4637,7 +5862,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:129
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -4646,7 +5871,7 @@ msgstr ""
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
-#: unpack-trees.c:132
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4655,7 +5880,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4664,7 +5889,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4673,7 +5898,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:140
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4682,7 +5907,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4691,7 +5916,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:144
+#: unpack-trees.c:145
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4700,7 +5925,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:151
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4710,7 +5935,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:152
+#: unpack-trees.c:153
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4720,7 +5945,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:155
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4729,7 +5954,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:157
+#: unpack-trees.c:158
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4738,7 +5963,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:160
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4747,7 +5972,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:162
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4756,12 +5981,12 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:171
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:173
+#: unpack-trees.c:174
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -4770,7 +5995,7 @@ msgstr ""
 "无法更新稀疏检出:如下条目不是最新:\n"
 "%s"
 
 "无法更新稀疏检出:如下条目不是最新:\n"
 "%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:176
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -4780,7 +6005,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所覆盖:\n"
 "%s"
 
 "工作区中下列文件将被稀疏检出更新所覆盖:\n"
 "%s"
 
-#: unpack-trees.c:177
+#: unpack-trees.c:178
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -4790,7 +6015,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所删除:\n"
 "%s"
 
 "工作区中下列文件将被稀疏检出更新所删除:\n"
 "%s"
 
-#: unpack-trees.c:179
+#: unpack-trees.c:180
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -4799,12 +6024,12 @@ msgstr ""
 "无法更新子模组:\n"
 "%s"
 
 "无法更新子模组:\n"
 "%s"
 
-#: unpack-trees.c:262
+#: unpack-trees.c:254
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:344
+#: unpack-trees.c:336
 msgid "Checking out files"
 msgstr "正在检出文件"
 
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -4840,7 +6065,7 @@ msgstr "无效的 '..' 路径片段"
 #: worktree.c:245 builtin/am.c:2147
 #, c-format
 msgid "failed to read '%s'"
 #: worktree.c:245 builtin/am.c:2147
 #, c-format
 msgid "failed to read '%s'"
-msgstr "无法读取 '%s'"
+msgstr "读取 '%s' 失败"
 
 #: worktree.c:291
 #, c-format
 
 #: worktree.c:291
 #, c-format
@@ -4872,8 +6097,8 @@ 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:320 builtin/am.c:770
-#: builtin/am.c:862 builtin/merge.c:1043
+#: 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' 进行读取"
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
@@ -5381,24 +6606,24 @@ msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2366
+#: wt-status.c:2376
 #, 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:2372
+#: wt-status.c:2382
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2374
+#: wt-status.c:2384
 #, 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:442
+#: compat/precompose_utf8.c:58 builtin/clone.c:443
 #, c-format
 msgid "failed to unlink '%s'"
 #, c-format
 msgid "failed to unlink '%s'"
-msgstr "无法删除 '%s'"
+msgstr "删除 '%s' 失败"
 
 #: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
 
 #: builtin/add.c:24
 msgid "git add [<options>] [--] <pathspec>..."
@@ -5409,7 +6634,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:266
+#: builtin/add.c:88 builtin/commit.c:279
 msgid "updating files failed"
 msgstr "更新文件失败"
 
 msgid "updating files failed"
 msgstr "更新文件失败"
 
@@ -5422,14 +6647,14 @@ 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:892
+#: builtin/add.c:233 builtin/rev-parse.c:893
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
 #: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
 #: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
-msgstr "无法打开 '%s' 进行写入。"
+msgstr "无法为写入打开 '%s'。"
 
 #: builtin/add.c:248
 msgid "Could not write patch"
 
 #: builtin/add.c:248
 msgid "Could not write patch"
@@ -5457,9 +6682,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:911 builtin/fetch.c:145 builtin/mv.c:123
-#: builtin/prune-packed.c:55 builtin/pull.c:212 builtin/push.c:557
-#: builtin/remote.c:1342 builtin/rm.c:240 builtin/send-pack.c:165
+#: 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
 msgid "dry run"
 msgstr "演习"
 
 msgid "dry run"
 msgstr "演习"
 
@@ -5467,7 +6692,7 @@ msgstr "演习"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:293 builtin/checkout.c:1135 builtin/reset.c:302
+#: builtin/add.c:293 builtin/checkout.c:1144 builtin/reset.c:302
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -5511,19 +6736,15 @@ 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:307 builtin/update-index.c:974
-msgid "(+/-)x"
-msgstr "(+/-)x"
-
-#: builtin/add.c:307 builtin/update-index.c:975
+#: builtin/add.c:308 builtin/update-index.c:973
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:309
+#: builtin/add.c:310
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:324
+#: builtin/add.c:325
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -5552,149 +6773,149 @@ msgstr ""
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:352
+#: builtin/add.c:353
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:370
+#: builtin/add.c:371
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:378
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr "添加文件失败"
 
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:416
+#: builtin/add.c:417
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:423
+#: builtin/add.c:424
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:427
+#: builtin/add.c:428
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:442
+#: builtin/add.c:443
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:443
+#: builtin/add.c:444
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:448 builtin/check-ignore.c:177 builtin/checkout.c:280
-#: builtin/checkout.c:483 builtin/clean.c:958 builtin/commit.c:325
-#: builtin/diff-tree.c:114 builtin/mv.c:144 builtin/reset.c:241
-#: builtin/rm.c:270 builtin/submodule--helper.c:328
+#: 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 "索引文件损坏"
 
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: builtin/am.c:414
+#: builtin/am.c:415
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
 msgid "could not parse author script"
 msgstr "不能解析作者脚本"
 
-#: builtin/am.c:498
+#: builtin/am.c:499
 #, 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:539
+#: builtin/am.c:540
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/am.c:576
+#: builtin/am.c:577
 #, 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:602
+#: builtin/am.c:603
 msgid "fseek failed"
 msgstr "fseek 失败"
 
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:790
+#: builtin/am.c:791
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:855
+#: builtin/am.c:856
 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:903
+#: builtin/am.c:904
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:908 builtin/am.c:920
+#: builtin/am.c:909 builtin/am.c:921
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:915
+#: builtin/am.c:916
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:1008
+#: builtin/am.c:1009
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:1013 builtin/clone.c:407
+#: builtin/am.c:1014 builtin/clone.c:408
 #, c-format
 msgid "failed to create directory '%s'"
 #, c-format
 msgid "failed to create directory '%s'"
-msgstr "无法创建目录 '%s'"
+msgstr "创建目录 '%s' 失败"
 
 
-#: builtin/am.c:1018
+#: builtin/am.c:1019
 msgid "Failed to split patches."
 msgid "Failed to split patches."
-msgstr "æ\97 æ³\95æ\8b\86å\88\86è¡¥ä¸\81。"
+msgstr "æ\8b\86å\88\86è¡¥ä¸\81失败。"
 
 
-#: builtin/am.c:1148 builtin/commit.c:351
+#: builtin/am.c:1149 builtin/commit.c:364
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1162
+#: builtin/am.c:1163
 #, 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:1163
+#: builtin/am.c:1164
 #, 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:1164
+#: builtin/am.c:1165
 #, 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:1271
+#: builtin/am.c:1272
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1337
+#: builtin/am.c:1338
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1359
+#: builtin/am.c:1360
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: builtin/am.c:1554
+#: builtin/am.c:1556
 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:1556
+#: builtin/am.c:1558
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1575
+#: builtin/am.c:1577
 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."
@@ -5702,28 +6923,28 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1581
+#: builtin/am.c:1583
 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:1606
+#: builtin/am.c:1608
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1637
+#: builtin/am.c:1640
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1683 builtin/am.c:1687
+#: builtin/am.c:1686 builtin/am.c:1690
 #, 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:1703
+#: builtin/am.c:1706
 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:1708
+#: builtin/am.c:1711
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -5732,25 +6953,25 @@ 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:1718
+#: builtin/am.c:1721
 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:1768
+#: builtin/am.c:1771
 #, 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:1808 builtin/am.c:1879
+#: builtin/am.c:1811 builtin/am.c:1879
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1824
+#: builtin/am.c:1828
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1832
+#: builtin/am.c:1834
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
@@ -5788,7 +7009,7 @@ msgstr "不能解析对象 '%s'。"
 
 #: builtin/am.c:2048
 msgid "failed to clean index"
 
 #: builtin/am.c:2048
 msgid "failed to clean index"
-msgstr "æ\97 æ³\95æ¸\85空索å¼\95"
+msgstr "æ¸\85空索å¼\95失败"
 
 #: builtin/am.c:2083
 msgid ""
 
 #: builtin/am.c:2083
 msgid ""
@@ -5821,8 +7042,8 @@ msgstr "老的参数 —— 无作用"
 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:484 builtin/prune-packed.c:57
-#: builtin/repack.c:192
+#: builtin/am.c:2222 builtin/init-db.c:485 builtin/prune-packed.c:58
+#: builtin/repack.c:299
 msgid "be quiet"
 msgstr "静默模式"
 
 msgid "be quiet"
 msgstr "静默模式"
 
@@ -5864,17 +7085,17 @@ msgstr "丢弃裁切线前的所有内容"
 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:665
-#: builtin/fmt-merge-msg.c:668 builtin/grep.c:853 builtin/merge.c:208
-#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:201
-#: builtin/repack.c:205 builtin/repack.c:207 builtin/show-branch.c:631
-#: builtin/show-ref.c:169 builtin/tag.c:383 parse-options.h:144
+#: 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
 msgid "n"
 msgstr "n"
 
 #: parse-options.h:146 parse-options.h:258
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2266 builtin/branch.c:632 builtin/for-each-ref.c:38
-#: builtin/replace.c:543 builtin/tag.c:419 builtin/verify-tag.c:39
+#: 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
 msgid "format"
 msgstr "格式"
 
 msgid "format"
 msgstr "格式"
 
@@ -5918,8 +7139,8 @@ msgstr "将作者日期作为提交日期"
 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:239
-#: builtin/pull.c:183 builtin/revert.c:112 builtin/tag.c:399
+#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:271
+#: builtin/pull.c:183 builtin/revert.c:113 builtin/tag.c:400
 msgid "key-id"
 msgstr "key-id"
 
 msgid "key-id"
 msgstr "key-id"
 
@@ -5941,7 +7162,7 @@ msgstr ""
 
 #: builtin/am.c:2327
 msgid "failed to read the index"
 
 #: builtin/am.c:2327
 msgid "failed to read the index"
-msgstr "无法读取索引"
+msgstr "读取索引失败"
 
 #: builtin/am.c:2342
 #, c-format
 
 #: builtin/am.c:2342
 #, c-format
@@ -6058,141 +7279,141 @@ msgstr "--write-terms 需要两个参数"
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state 不需要参数"
 
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state 不需要参数"
 
-#: builtin/blame.c:29
+#: builtin/blame.c:31
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
 
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
 
-#: builtin/blame.c:34
+#: builtin/blame.c:36
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:404
+#: builtin/blame.c:406
 #, c-format
 msgid "expecting a color: %s"
 msgstr "期望一个颜色:%s"
 
 #, c-format
 msgid "expecting a color: %s"
 msgstr "期望一个颜色:%s"
 
-#: builtin/blame.c:411
+#: builtin/blame.c:413
 msgid "must end with a color"
 msgstr "必须以一个颜色结尾"
 
 msgid "must end with a color"
 msgstr "必须以一个颜色结尾"
 
-#: builtin/blame.c:697
+#: builtin/blame.c:700
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
 
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
 
-#: builtin/blame.c:715
+#: builtin/blame.c:718
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
-#: builtin/blame.c:786
+#: builtin/blame.c:789
 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:787
+#: builtin/blame.c:790
 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:788
+#: builtin/blame.c:791
 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:789
+#: builtin/blame.c:792
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:790
+#: builtin/blame.c:793
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:791
+#: builtin/blame.c:794
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:792
+#: builtin/blame.c:795
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:796
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:797
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:795
+#: builtin/blame.c:798
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:796
+#: builtin/blame.c:799
 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:797
+#: builtin/blame.c:800
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:801
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:802
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:803
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:804
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:805
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:806
 msgid "color lines by age"
 msgstr "依据时间着色"
 
 msgid "color lines by age"
 msgstr "依据时间着色"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:813
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:812
+#: builtin/blame.c:815
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:813
+#: builtin/blame.c:816
 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:814
+#: builtin/blame.c:817
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:815 builtin/blame.c:816
+#: builtin/blame.c:818 builtin/blame.c:819
 msgid "score"
 msgstr "得分"
 
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:815
+#: builtin/blame.c:818
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:816
+#: builtin/blame.c:819
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:820
 msgid "n,m"
 msgstr "n,m"
 
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:820
 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:866
+#: builtin/blame.c:869
 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 同时使用"
 
@@ -6204,51 +7425,51 @@ 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:917
+#: builtin/blame.c:920
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:1003
+#: builtin/blame.c:1007
 #, 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:1049
+#: builtin/blame.c:1053
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/branch.c:27
+#: builtin/branch.c:28
 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:28
+#: builtin/branch.c:29
 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:29
+#: builtin/branch.c:30
 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:30
+#: builtin/branch.c:31
 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:31
+#: builtin/branch.c:32
 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:32
+#: builtin/branch.c:33
 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:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<选项>] [-r | -a] [--format]"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<选项>] [-r | -a] [--format]"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:146
+#: builtin/branch.c:151
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -6258,7 +7479,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:150
+#: builtin/branch.c:155
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -6267,12 +7488,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:164
+#: builtin/branch.c:169
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:168
+#: builtin/branch.c:173
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -6281,112 +7502,112 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:181
+#: builtin/branch.c:186
 msgid "Update of config-file failed"
 msgstr "更新配置文件失败"
 
 msgid "Update of config-file failed"
 msgstr "更新配置文件失败"
 
-#: builtin/branch.c:212
+#: builtin/branch.c:217
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:218
+#: builtin/branch.c:223
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:232
+#: builtin/branch.c:237
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "无法删除检出于 '%2$s' 的分支 '%1$s'。"
 
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "无法删除检出于 '%2$s' 的分支 '%1$s'。"
 
-#: builtin/branch.c:247
+#: builtin/branch.c:252
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "未能找到远程跟踪分支 '%s'。"
 
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "未能找到远程跟踪分支 '%s'。"
 
-#: builtin/branch.c:248
+#: builtin/branch.c:253
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:263
+#: builtin/branch.c:268
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "无法删除远程跟踪分支 '%s'"
 
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "无法删除远程跟踪分支 '%s'"
 
-#: builtin/branch.c:264
+#: builtin/branch.c:269
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "无法删除分支 '%s'"
 
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "无法删除分支 '%s'"
 
-#: builtin/branch.c:271
+#: builtin/branch.c:276
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:272
+#: builtin/branch.c:277
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:416 builtin/tag.c:58
+#: builtin/branch.c:421 builtin/tag.c:59
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
-#: builtin/branch.c:453
+#: builtin/branch.c:458
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:457
+#: builtin/branch.c:462
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:474
+#: builtin/branch.c:479
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:476
+#: builtin/branch.c:481
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:487
+#: builtin/branch.c:492
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:514
+#: builtin/branch.c:519
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:516
+#: builtin/branch.c:521
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:520
+#: builtin/branch.c:525
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
-#: builtin/branch.c:523
+#: builtin/branch.c:528
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
-#: builtin/branch.c:529
+#: builtin/branch.c:534
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:538
+#: builtin/branch.c:543
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
-#: builtin/branch.c:540
+#: builtin/branch.c:545
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
-#: builtin/branch.c:556
+#: builtin/branch.c:561
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -6397,219 +7618,223 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:589
+#: builtin/branch.c:602
 msgid "Generic options"
 msgstr "通用选项"
 
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:591
+#: builtin/branch.c:604
 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:592
+#: builtin/branch.c:605
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:593
+#: builtin/branch.c:606
 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:595
+#: builtin/branch.c:608
 msgid "do not use"
 msgstr "不要使用"
 
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:610
 msgid "upstream"
 msgstr "上游"
 
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:610
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:611
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:599
+#: builtin/branch.c:612
 msgid "use colored output"
 msgstr "使用彩色输出"
 
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:613
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:602 builtin/branch.c:604
+#: builtin/branch.c:615 builtin/branch.c:617
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:603 builtin/branch.c:605
+#: builtin/branch.c:616 builtin/branch.c:618
 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:608
+#: builtin/branch.c:621
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:609
+#: builtin/branch.c:622
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:624
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:625
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:626
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:627
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:615
+#: builtin/branch.c:628
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:629
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:630
 msgid "list branch names"
 msgstr "列出分支名"
 
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:631
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:634
+msgid "deprecated synonym for --create-reflog"
+msgstr "--create-reflog 的已弃用的同义词"
+
+#: builtin/branch.c:639
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:640
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:641
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:623
+#: builtin/branch.c:642
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:624
+#: builtin/branch.c:643
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:625 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:412
+#: builtin/branch.c:644 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:413
 msgid "key"
 msgstr "key"
 
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:626 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:413
+#: builtin/branch.c:645 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:414
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:628 builtin/for-each-ref.c:43 builtin/notes.c:408
-#: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
-#: builtin/tag.c:415
+#: 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
 msgid "object"
 msgstr "对象"
 
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:648
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:631 builtin/for-each-ref.c:49 builtin/tag.c:422
+#: builtin/branch.c:650 builtin/for-each-ref.c:49 builtin/tag.c:423
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:632 builtin/for-each-ref.c:38 builtin/tag.c:420
+#: builtin/branch.c:651 builtin/for-each-ref.c:38 builtin/tag.c:421
 #: 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:655 builtin/clone.c:737
+#: builtin/branch.c:674 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:678
+#: builtin/branch.c:697
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:693 builtin/branch.c:745 builtin/branch.c:754
+#: builtin/branch.c:717 builtin/branch.c:769 builtin/branch.c:778
 msgid "branch name required"
 msgstr "必须提供分支名"
 
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:721
+#: builtin/branch.c:745
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:726
+#: builtin/branch.c:750
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:733
+#: builtin/branch.c:757
 #, 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:736
+#: builtin/branch.c:760
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:751
+#: builtin/branch.c:775
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:760
+#: builtin/branch.c:784
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:765
+#: builtin/branch.c:789
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:793
 #, 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:772 builtin/branch.c:794 builtin/branch.c:810
+#: builtin/branch.c:796 builtin/branch.c:818 builtin/branch.c:834
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:776
+#: builtin/branch.c:800
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:812
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:792
+#: builtin/branch.c:816
 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:798
+#: builtin/branch.c:822
 #, 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:813
+#: builtin/branch.c:837
 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:816
+#: builtin/branch.c:840
 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."
@@ -6629,7 +7854,7 @@ msgstr "需要一个仓库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
-#: builtin/cat-file.c:525
+#: builtin/cat-file.c:577
 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>"
@@ -6637,7 +7862,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:526
+#: builtin/cat-file.c:578
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -6645,66 +7870,70 @@ 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:563
+#: builtin/cat-file.c:615
 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:564
+#: builtin/cat-file.c:616
 msgid "show object type"
 msgstr "显示对象类型"
 
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:565
+#: builtin/cat-file.c:617
 msgid "show object size"
 msgstr "显示对象大小"
 
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:567
+#: builtin/cat-file.c:619
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:568
+#: builtin/cat-file.c:620
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:570
+#: builtin/cat-file.c:622
 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:572
+#: builtin/cat-file.c:624
 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:573 git-submodule.sh:894
+#: builtin/cat-file.c:625 git-submodule.sh:864
 msgid "blob"
 msgstr "数据对象"
 
 msgid "blob"
 msgstr "数据对象"
 
-#: builtin/cat-file.c:574
+#: builtin/cat-file.c:626
 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:576
+#: builtin/cat-file.c:628
 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:577
+#: builtin/cat-file.c:629
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
-#: builtin/cat-file.c:579
+#: builtin/cat-file.c:631
 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:582
+#: builtin/cat-file.c:634
 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:585
+#: builtin/cat-file.c:637
 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:587
+#: builtin/cat-file.c:639
 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
+msgid "do not order --batch-all-objects output"
+msgstr "不要对 --batch-all-objects 的输出排序"
+
 #: builtin/check-attr.c:12
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
 msgstr "git check-attr [-a | --all | <属性>...] [--] <路径名>..."
 #: builtin/check-attr.c:12
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
 msgstr "git check-attr [-a | --all | <属性>...] [--] <路径名>..."
@@ -6721,7 +7950,7 @@ msgstr "报告设置在文件上的所有属性"
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
-#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:100
+#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:101
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
@@ -6729,7 +7958,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:1113 builtin/gc.c:500
+#: builtin/check-ignore.c:20 builtin/checkout.c:1120 builtin/gc.c:503
+#: builtin/worktree.c:447
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -6819,9 +8049,9 @@ msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:173 builtin/column.c:31
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:173 builtin/column.c:31
-#: builtin/submodule--helper.c:1216 builtin/submodule--helper.c:1219
-#: builtin/submodule--helper.c:1227 builtin/submodule--helper.c:1591
-#: builtin/worktree.c:610
+#: builtin/submodule--helper.c:1361 builtin/submodule--helper.c:1364
+#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1736
+#: builtin/worktree.c:620
 msgid "string"
 msgstr "字符串"
 
 msgid "string"
 msgstr "字符串"
 
@@ -6833,114 +8063,114 @@ msgstr "在创建文件时,在前面加上 <字符串>"
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:27
+#: builtin/checkout.c:29
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:28
+#: builtin/checkout.c:30
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:136 builtin/checkout.c:169
+#: builtin/checkout.c:138 builtin/checkout.c:171
 #, 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:138 builtin/checkout.c:171
+#: builtin/checkout.c:140 builtin/checkout.c:173
 #, 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:154
+#: builtin/checkout.c:156
 #, 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:198
+#: builtin/checkout.c:200
 #, 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:215
+#: builtin/checkout.c:217
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:231
+#: builtin/checkout.c:233
 #, 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:253 builtin/checkout.c:256 builtin/checkout.c:259
-#: builtin/checkout.c:262
+#: builtin/checkout.c:255 builtin/checkout.c:258 builtin/checkout.c:261
+#: builtin/checkout.c:264
 #, 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:265 builtin/checkout.c:268
+#: builtin/checkout.c:267 builtin/checkout.c:270
 #, 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:271
+#: builtin/checkout.c:273
 #, 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:340 builtin/checkout.c:347
+#: builtin/checkout.c:342 builtin/checkout.c:349
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:506
+#: builtin/checkout.c:508
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:643
+#: builtin/checkout.c:645
 #, 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:684
+#: builtin/checkout.c:686
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:688 builtin/clone.c:691
+#: builtin/checkout.c:690 builtin/clone.c:692
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:692
+#: builtin/checkout.c:694
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:697
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:699
+#: builtin/checkout.c:701
 #, 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:701 builtin/checkout.c:1046
+#: builtin/checkout.c:703 builtin/checkout.c:1052
 #, 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:703
+#: builtin/checkout.c:705
 #, 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:754
+#: builtin/checkout.c:756
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:760
+#: builtin/checkout.c:762
 #, 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"
@@ -6961,7 +8191,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:779
+#: builtin/checkout.c:781
 #, 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"
@@ -6988,198 +8218,226 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:811
+#: builtin/checkout.c:813
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:815
+#: builtin/checkout.c:817
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:843 builtin/checkout.c:1041
+#: builtin/checkout.c:845 builtin/checkout.c:1047
 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:947
+#: builtin/checkout.c:952
 #, 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:987 builtin/worktree.c:240 builtin/worktree.c:389
+#: builtin/checkout.c:993 builtin/worktree.c:241 builtin/worktree.c:396
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1016
+#: builtin/checkout.c:1022
 #, 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:1055
+#: builtin/checkout.c:1061
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1058 builtin/checkout.c:1062
+#: builtin/checkout.c:1064 builtin/checkout.c:1068
 #, 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:1066 builtin/checkout.c:1069 builtin/checkout.c:1074
-#: builtin/checkout.c:1077
+#: builtin/checkout.c:1072 builtin/checkout.c:1075 builtin/checkout.c:1080
+#: builtin/checkout.c:1083
 #, 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:1082
+#: builtin/checkout.c:1088
 #, 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:1114 builtin/checkout.c:1116 builtin/clone.c:118
-#: builtin/remote.c:167 builtin/remote.c:169 builtin/worktree.c:433
-#: builtin/worktree.c:435
+#: 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
 msgid "branch"
 msgstr "分支"
 
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1115
+#: builtin/checkout.c:1122
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1117
+#: builtin/checkout.c:1124
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1118
+#: builtin/checkout.c:1125
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1119 builtin/worktree.c:437
+#: builtin/checkout.c:1126 builtin/worktree.c:444
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1120
+#: builtin/checkout.c:1127
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1129
 msgid "new-branch"
 msgstr "新分支"
 
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1129
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1123
+#: builtin/checkout.c:1131
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1125
+#: builtin/checkout.c:1134
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1127
+#: builtin/checkout.c:1136
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1138
 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:1131 builtin/merge.c:241
+#: builtin/checkout.c:1140 builtin/merge.c:273
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1133 builtin/log.c:1499 parse-options.h:264
+#: builtin/checkout.c:1142 builtin/log.c:1510 parse-options.h:264
 msgid "style"
 msgstr "风格"
 
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1134
+#: builtin/checkout.c:1143
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1137
+#: builtin/checkout.c:1146
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1148
 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:1141
+#: builtin/checkout.c:1150
 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:1145 builtin/clone.c:85 builtin/fetch.c:149
-#: builtin/merge.c:238 builtin/pull.c:128 builtin/push.c:572
+#: 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/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1175
+#: builtin/checkout.c:1184
 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:1192
+#: builtin/checkout.c:1201
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1197
-msgid "Missing branch name; try -b"
-msgstr "缺å°\91å\88\86æ\94¯å\90\8dï¼\9b尝试 -b"
+#: builtin/checkout.c:1206
+msgid "missing branch name; try -b"
+msgstr "缺å°\91å\88\86æ\94¯å\90\8dï¼\8c尝试 -b"
 
 
-#: builtin/checkout.c:1233
+#: builtin/checkout.c:1243
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1240
+#: builtin/checkout.c:1250
 #, 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:1244
+#: builtin/checkout.c:1254
 #, 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:1248
+#: builtin/checkout.c:1258
 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/clean.c:26
+#: builtin/checkout.c:1278
+#, c-format
+msgid ""
+"'%s' matched more than one remote tracking branch.\n"
+"We found %d remotes with a reference that matched. So we fell back\n"
+"on trying to resolve the argument as a path, but failed there too!\n"
+"\n"
+"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
+"you can do so by fully qualifying the name with the --track option:\n"
+"\n"
+"    git checkout --track origin/<name>\n"
+"\n"
+"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
+"one remote, e.g. the 'origin' remote, consider setting\n"
+"checkout.defaultRemote=origin in your config."
+msgstr ""
+"'%s' 匹配了一个以上的远程跟踪分支。\n"
+"我们发现 %d 个远程仓库具有同名分支。所以我们转而尝试将这个参数解析为\n"
+"路径,但是也失败了!\n"
+"\n"
+"如果您想要检出一个远程跟踪分支,例如在远程仓库 'origin' 上的,您可以\n"
+"使用分支全名和 --track 选项:\n"
+"\n"
+"    git checkout --track origin/<name>\n"
+"\n"
+"如果您总是喜欢使用模糊的简短分支名 <name>,而不喜欢如 'origin' 的远程\n"
+"仓库名,可以在配置中设置 checkout.defaultRemote=origin。"
+
+#: builtin/clean.c:27
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <模式>] [-x | -X] [--] <路径>..."
 
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <模式>] [-x | -X] [--] <路径>..."
 
-#: builtin/clean.c:30
+#: builtin/clean.c:31
 #, c-format
 msgid "Removing %s\n"
 msgstr "正删除 %s\n"
 
 #, c-format
 msgid "Removing %s\n"
 msgstr "正删除 %s\n"
 
-#: builtin/clean.c:31
+#: builtin/clean.c:32
 #, c-format
 msgid "Would remove %s\n"
 msgstr "将删除 %s\n"
 
 #, c-format
 msgid "Would remove %s\n"
 msgstr "将删除 %s\n"
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "忽略仓库 %s\n"
 
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "忽略仓库 %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "将忽略仓库 %s\n"
 
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "将忽略仓库 %s\n"
 
-#: builtin/clean.c:34
+#: builtin/clean.c:35
 #, c-format
 msgid "failed to remove %s"
 #, c-format
 msgid "failed to remove %s"
-msgstr "无法删除 %s"
+msgstr "删除 %s 失败"
 
 
-#: builtin/clean.c:302 git-add--interactive.perl:579
+#: builtin/clean.c:297 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -7192,7 +8450,7 @@ msgstr ""
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
-#: builtin/clean.c:306 git-add--interactive.perl:588
+#: builtin/clean.c:301 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -7213,38 +8471,38 @@ msgstr ""
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
-#: builtin/clean.c:522 git-add--interactive.perl:554
+#: builtin/clean.c:517 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:664
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
-#: builtin/clean.c:701
+#: builtin/clean.c:696
 #, 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:722
+#: builtin/clean.c:717
 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:763
+#: builtin/clean.c:758
 #, 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:788 git-add--interactive.perl:1717
+#: builtin/clean.c:783 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
 
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
 
-#: builtin/clean.c:796
+#: builtin/clean.c:791
 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"
@@ -7262,217 +8520,217 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:823 git-add--interactive.perl:1793
+#: builtin/clean.c:818 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:824 git-add--interactive.perl:1790
+#: builtin/clean.c:819 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "请选择"
 
 msgid "What now"
 msgstr "请选择"
 
-#: builtin/clean.c:832
+#: builtin/clean.c:827
 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:848
+#: builtin/clean.c:843
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:905
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:907
 msgid "force"
 msgstr "强制"
 
 msgid "force"
 msgstr "强制"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:908
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:910
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:916 builtin/describe.c:533 builtin/describe.c:535
-#: builtin/grep.c:871 builtin/log.c:157 builtin/log.c:159
-#: builtin/ls-files.c:548 builtin/name-rev.c:397 builtin/name-rev.c:399
-#: builtin/show-ref.c:176
+#: 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
 msgid "pattern"
 msgstr "模式"
 
 msgid "pattern"
 msgstr "模式"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:912
 msgid "add <pattern> to ignore rules"
 msgstr "添加 <模式> 到忽略规则"
 
 msgid "add <pattern> to ignore rules"
 msgstr "添加 <模式> 到忽略规则"
 
-#: builtin/clean.c:918
+#: builtin/clean.c:913
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
-#: builtin/clean.c:920
+#: builtin/clean.c:915
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
-#: builtin/clean.c:938
+#: builtin/clean.c:933
 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:942
+#: builtin/clean.c:937
 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:945
+#: builtin/clean.c:940
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
 "clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
 msgstr ""
 "clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clone.c:42
+#: builtin/clone.c:43
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:88
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:88 builtin/clone.c:90 builtin/init-db.c:479
+#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:480
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:100 builtin/clone.c:104
+#: builtin/clone.c:101 builtin/clone.c:105
 msgid "pathspec"
 msgstr "路径规格"
 
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:100 builtin/clone.c:104
+#: builtin/clone.c:101 builtin/clone.c:105
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:108
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:108 builtin/init-db.c:476
+#: builtin/clone.c:109 builtin/init-db.c:477
 msgid "template-directory"
 msgstr "模板目录"
 
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:109 builtin/init-db.c:477
+#: builtin/clone.c:110 builtin/init-db.c:478
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1223
-#: builtin/submodule--helper.c:1594
+#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:1739
 msgid "reference repository"
 msgstr "参考仓库"
 
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1225
-#: builtin/submodule--helper.c:1596
+#: builtin/clone.c:116 builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1741
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:44
-#: builtin/pack-objects.c:3166 builtin/repack.c:213
+#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/pack-objects.c:3191 builtin/repack.c:320
 msgid "name"
 msgstr "名称"
 
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:118
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:120
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:122
 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:122 builtin/fetch.c:150 builtin/grep.c:813
+#: builtin/clone.c:123 builtin/fetch.c:139 builtin/grep.c:814
 #: builtin/pull.c:216
 msgid "depth"
 msgstr "深度"
 
 #: builtin/pull.c:216
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:124
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:124 builtin/fetch.c:152 builtin/pack-objects.c:3157
+#: builtin/clone.c:125 builtin/fetch.c:141 builtin/pack-objects.c:3182
 #: parse-options.h:154
 msgid "time"
 msgstr "时间"
 
 #: parse-options.h:154
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:126
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:126 builtin/fetch.c:154
+#: builtin/clone.c:127 builtin/fetch.c:143 builtin/fetch.c:166
 msgid "revision"
 msgstr "版本"
 
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:127 builtin/fetch.c:155
+#: builtin/clone.c:128 builtin/fetch.c:144
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:130
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:132
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:134
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:134 builtin/init-db.c:485
+#: builtin/clone.c:135 builtin/init-db.c:486
 msgid "gitdir"
 msgstr "git目录"
 
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:135 builtin/init-db.c:486
+#: builtin/clone.c:136 builtin/init-db.c:487
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:136
+#: builtin/clone.c:137
 msgid "key=value"
 msgstr "key=value"
 
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:138
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:138 builtin/fetch.c:173 builtin/pull.c:229
+#: builtin/clone.c:139 builtin/fetch.c:162 builtin/pull.c:229
 #: 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:140 builtin/fetch.c:175 builtin/pull.c:232
+#: builtin/clone.c:141 builtin/fetch.c:164 builtin/pull.c:232
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:278
+#: builtin/clone.c:279
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -7480,42 +8738,42 @@ msgstr ""
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:331
+#: builtin/clone.c:332
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:403
+#: builtin/clone.c:404
 #, c-format
 msgid "failed to open '%s'"
 #, c-format
 msgid "failed to open '%s'"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s'"
+msgstr "æ\89\93å¼\80 '%s' å¤±è´¥"
 
 
-#: builtin/clone.c:411
+#: builtin/clone.c:412
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:425
+#: builtin/clone.c:426
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "对 %s 调用 stat 失败\n"
 
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "对 %s 调用 stat 失败\n"
 
-#: builtin/clone.c:447
+#: builtin/clone.c:448
 #, c-format
 msgid "failed to create link '%s'"
 #, c-format
 msgid "failed to create link '%s'"
-msgstr "无法创建链接 '%s'"
+msgstr "创建链接 '%s' 失败"
 
 
-#: builtin/clone.c:451
+#: builtin/clone.c:452
 #, c-format
 msgid "failed to copy file to '%s'"
 #, c-format
 msgid "failed to copy file to '%s'"
-msgstr "æ\97 æ³\95æ\8b·è´\9dæ\96\87件è\87³ '%s'"
+msgstr "æ\8b·è´\9dæ\96\87件è\87³ '%s' å¤±è´¥"
 
 
-#: builtin/clone.c:477
+#: builtin/clone.c:478
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:491
+#: builtin/clone.c:492
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -7525,134 +8783,130 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:568
+#: builtin/clone.c:569
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:663
-msgid "remote did not send all necessary objects"
-msgstr "远程没有发送所有必须的对象"
-
-#: builtin/clone.c:679
+#: builtin/clone.c:680
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:728
+#: builtin/clone.c:730
 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:758
+#: builtin/clone.c:760
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:803
+#: builtin/clone.c:805
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:866
+#: builtin/clone.c:868
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:868
+#: builtin/clone.c:870
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:907 builtin/receive-pack.c:1947
+#: builtin/clone.c:910 builtin/receive-pack.c:1935
 msgid "Too many arguments."
 msgstr "太多参数。"
 
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:911
+#: builtin/clone.c:914
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:924
+#: builtin/clone.c:927
 #, 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:927
+#: builtin/clone.c:930
 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:940
+#: builtin/clone.c:943
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:946 builtin/fetch.c:1460
+#: builtin/clone.c:949 builtin/fetch.c:1512
 #, 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:956
+#: builtin/clone.c:959
 #, 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:966
+#: builtin/clone.c:969
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:981 builtin/clone.c:1002 builtin/difftool.c:270
-#: builtin/worktree.c:246 builtin/worktree.c:276
+#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:271
+#: builtin/worktree.c:247 builtin/worktree.c:277
 #, 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:986
+#: builtin/clone.c:989
 #, 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:1006
+#: builtin/clone.c:1009
 #, 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:1008
+#: builtin/clone.c:1011
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1032
+#: builtin/clone.c:1035
 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:1093
+#: builtin/clone.c:1096
 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:1095
+#: builtin/clone.c:1098
 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:1097
+#: builtin/clone.c:1100
 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:1099
+#: builtin/clone.c:1102
 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:1102
+#: builtin/clone.c:1105
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1107
+#: builtin/clone.c:1110
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1169 builtin/clone.c:1177
+#: builtin/clone.c:1180 builtin/clone.c:1188
 #, 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:1180
+#: builtin/clone.c:1191
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -7688,15 +8942,15 @@ msgstr "两列之间的填充空间"
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
-#: builtin/commit.c:37
+#: builtin/commit.c:38
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:42
+#: builtin/commit.c:43
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<选项>] [--] <路径规格>..."
 
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<选项>] [--] <路径规格>..."
 
-#: builtin/commit.c:47
+#: builtin/commit.c:48
 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"
@@ -7705,7 +8959,7 @@ msgstr ""
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
-#: builtin/commit.c:52
+#: builtin/commit.c:53
 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"
@@ -7719,11 +8973,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:59
+#: builtin/commit.c:60
 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:62
+#: builtin/commit.c:63
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -7739,98 +8993,98 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:293
+#: builtin/commit.c:306
 msgid "failed to unpack HEAD tree object"
 msgid "failed to unpack HEAD tree object"
-msgstr "无法解包 HEAD 树对象"
+msgstr "解包 HEAD 树对象失败"
 
 
-#: builtin/commit.c:334
+#: builtin/commit.c:347
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:340
+#: builtin/commit.c:353
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:366
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:355
+#: builtin/commit.c:368
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:380 builtin/commit.c:403 builtin/commit.c:449
+#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:462
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:432
+#: builtin/commit.c:445
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:434
+#: builtin/commit.c:447
 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:442
+#: builtin/commit.c:455
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:461
+#: builtin/commit.c:474
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:558
+#: builtin/commit.c:571
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:560
+#: builtin/commit.c:573
 #, 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:579
+#: builtin/commit.c:592
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:631
+#: builtin/commit.c:644
 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:668 builtin/commit.c:701 builtin/commit.c:1029
+#: builtin/commit.c:681 builtin/commit.c:714 builtin/commit.c:1042
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:680 builtin/shortlog.c:316
+#: builtin/commit.c:693 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:682
+#: builtin/commit.c:695
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:686
+#: builtin/commit.c:699
 #, 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:715 builtin/commit.c:723
+#: builtin/commit.c:728 builtin/commit.c:736
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:720
+#: builtin/commit.c:733
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:774
+#: builtin/commit.c:787
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:792
+#: builtin/commit.c:805
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -7844,7 +9098,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:797
+#: builtin/commit.c:810
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -7858,7 +9112,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:823
 #, 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"
@@ -7867,7 +9121,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:818
+#: builtin/commit.c:831
 #, 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"
@@ -7878,101 +9132,101 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:835
+#: builtin/commit.c:848
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:843
+#: builtin/commit.c:856
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:850
+#: builtin/commit.c:863
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:867
+#: builtin/commit.c:880
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:933
+#: builtin/commit.c:946
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:947 builtin/tag.c:257
+#: builtin/commit.c:960 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:991
+#: builtin/commit.c:1004
 #, 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:1005
+#: builtin/commit.c:1018
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1019 builtin/commit.c:1269
+#: builtin/commit.c:1032 builtin/commit.c:1269
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1057
+#: builtin/commit.c:1070
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1090
+#: builtin/commit.c:1103
 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:1099
+#: builtin/commit.c:1112
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1115
 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:1104
+#: builtin/commit.c:1117
 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:1107
+#: builtin/commit.c:1120
 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:1117
+#: builtin/commit.c:1130
 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:1119
+#: builtin/commit.c:1132
 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:1127
+#: builtin/commit.c:1140
 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:1144
+#: builtin/commit.c:1157
 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:1146
+#: builtin/commit.c:1159
 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:1160 builtin/tag.c:543
+#: builtin/commit.c:1173 builtin/tag.c:544
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1165
+#: builtin/commit.c:1178
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
@@ -7997,7 +9251,7 @@ msgid "version"
 msgstr "版本"
 
 #: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
 msgstr "版本"
 
 #: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
-#: builtin/worktree.c:581
+#: builtin/worktree.c:591
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
@@ -8010,7 +9264,7 @@ msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
 #: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
 msgstr "条目以 NUL 字符结尾"
 
 #: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
-#: builtin/fast-export.c:1001 builtin/fast-export.c:1004 builtin/tag.c:397
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/tag.c:398
 msgid "mode"
 msgstr "模式"
 
 msgid "mode"
 msgstr "模式"
 
@@ -8064,7 +9318,7 @@ msgstr "在提交说明模板里显示差异"
 msgid "Commit message options"
 msgstr "提交说明选项"
 
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1454 builtin/tag.c:394
+#: builtin/commit.c:1454 builtin/merge.c:261 builtin/tag.c:395
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
@@ -8076,7 +9330,7 @@ msgstr "作者"
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1456 builtin/gc.c:501
+#: builtin/commit.c:1456 builtin/gc.c:504
 msgid "date"
 msgstr "日期"
 
 msgid "date"
 msgstr "日期"
 
@@ -8084,8 +9338,8 @@ msgstr "日期"
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1457 builtin/merge.c:228 builtin/notes.c:402
-#: builtin/notes.c:565 builtin/tag.c:392
+#: builtin/commit.c:1457 builtin/merge.c:257 builtin/notes.c:404
+#: builtin/notes.c:567 builtin/tag.c:393
 msgid "message"
 msgstr "说明"
 
 msgid "message"
 msgstr "说明"
 
@@ -8118,8 +9372,8 @@ msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 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:1446 builtin/merge.c:242
-#: builtin/pull.c:154 builtin/revert.c:105
+#: builtin/commit.c:1463 builtin/log.c:1457 builtin/merge.c:274
+#: builtin/pull.c:154 builtin/revert.c:106
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
@@ -8136,7 +9390,7 @@ msgstr "强制编辑提交"
 msgid "default"
 msgstr "default"
 
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1466 builtin/tag.c:398
+#: builtin/commit.c:1466 builtin/tag.c:399
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
@@ -8144,8 +9398,8 @@ msgstr "设置如何删除提交说明里的空格和#注释"
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1469 builtin/merge.c:240 builtin/pull.c:184
-#: builtin/revert.c:113
+#: builtin/commit.c:1469 builtin/merge.c:272 builtin/pull.c:184
+#: builtin/revert.c:114
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
@@ -8223,54 +9477,63 @@ msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
 #: builtin/commit.c:1650
 msgid ""
 
 #: builtin/commit.c:1650
 msgid ""
-"Repository has been updated, but unable to write\n"
+"repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
 "仓库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
 "或磁盘配额已耗尽,然后执行 \"git reset HEAD\" 恢复。"
 
 "new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
 "仓库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
 "或磁盘配额已耗尽,然后执行 \"git reset HEAD\" 恢复。"
 
-#: builtin/commit-graph.c:9
+#: builtin/commit-graph.c:10
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr "git commit-graph [--object-dir <对象目录>]"
 
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr "git commit-graph [--object-dir <对象目录>]"
 
-#: builtin/commit-graph.c:10 builtin/commit-graph.c:16
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr "git commit-graph read [--object-dir <对象目录>]"
 
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr "git commit-graph read [--object-dir <对象目录>]"
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:21
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
+msgid "git commit-graph verify [--object-dir <objdir>]"
+msgstr "git commit-graph verify [--object-dir <对象目录>]"
+
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
 msgid ""
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
-"stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
+"stdin-packs|--stdin-commits]"
 msgstr ""
 msgstr ""
-"git commit-graph write [--object-dir <对象目录>] [--append] [--stdin-packs|--"
-"stdin-commits]"
+"git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--"
+"stdin-packs|--stdin-commits]"
 
 
-#: builtin/commit-graph.c:39 builtin/commit-graph.c:92
-#: builtin/commit-graph.c:147 builtin/fetch.c:161 builtin/log.c:1466
+#: 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
 msgid "dir"
 msgstr "目录"
 
 msgid "dir"
 msgstr "目录"
 
-#: builtin/commit-graph.c:40 builtin/commit-graph.c:93
-#: builtin/commit-graph.c:148
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:78
+#: builtin/commit-graph.c:132 builtin/commit-graph.c:185
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
-#: builtin/commit-graph.c:95
+#: builtin/commit-graph.c:134
+msgid "start walk at all refs"
+msgstr "开始遍历所有引用"
+
+#: builtin/commit-graph.c:136
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
-#: builtin/commit-graph.c:97
+#: builtin/commit-graph.c:138
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
-#: builtin/commit-graph.c:99
+#: builtin/commit-graph.c:140
 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:108
-msgid "cannot use both --stdin-commits and --stdin-packs"
-msgstr "不能同时使用 --stdin-commits 和 --stdin-packs 选项"
+#: builtin/commit-graph.c:149
+msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
+msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
 #: builtin/config.c:10
 msgid "git config [<options>]"
 
 #: builtin/config.c:10
 msgid "git config [<options>]"
@@ -8281,160 +9544,196 @@ msgstr "git config [<选项>]"
 msgid "unrecognized --type argument, %s"
 msgstr "未能识别的 --type 参数,%s"
 
 msgid "unrecognized --type argument, %s"
 msgstr "未能识别的 --type 参数,%s"
 
-#: builtin/config.c:123
+#: builtin/config.c:113
+msgid "only one type at a time"
+msgstr "一次只能一个类型"
+
+#: builtin/config.c:122
 msgid "Config file location"
 msgstr "配置文件位置"
 
 msgid "Config file location"
 msgstr "配置文件位置"
 
-#: builtin/config.c:124
+#: builtin/config.c:123
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
-#: builtin/config.c:125
+#: builtin/config.c:124
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
-#: builtin/config.c:126
+#: builtin/config.c:125
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
-#: builtin/config.c:127
+#: builtin/config.c:126
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
-#: builtin/config.c:128
+#: builtin/config.c:127
 msgid "blob-id"
 msgstr "数据对象 ID"
 
 msgid "blob-id"
 msgstr "数据对象 ID"
 
-#: builtin/config.c:128
+#: builtin/config.c:127
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
-#: builtin/config.c:129
+#: builtin/config.c:128
 msgid "Action"
 msgstr "操作"
 
 msgid "Action"
 msgstr "操作"
 
-#: builtin/config.c:130
+#: builtin/config.c:129
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
-#: builtin/config.c:131
+#: builtin/config.c:130
 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:132
+#: builtin/config.c:131
 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:133
+#: builtin/config.c:132
 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:134
+#: builtin/config.c:133
 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:135
+#: builtin/config.c:134
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
-#: builtin/config.c:136
+#: builtin/config.c:135
 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:137
+#: builtin/config.c:136
 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:138
+#: builtin/config.c:137
 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:139
+#: builtin/config.c:138
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
-#: builtin/config.c:140
+#: builtin/config.c:139
 msgid "list all"
 msgstr "列出所有"
 
 msgid "list all"
 msgstr "列出所有"
 
-#: builtin/config.c:141
+#: builtin/config.c:140
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
-#: builtin/config.c:142
+#: builtin/config.c:141
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
-#: builtin/config.c:143
+#: builtin/config.c:142
 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:144
+#: builtin/config.c:143
 msgid "Type"
 msgstr "类型"
 
 msgid "Type"
 msgstr "类型"
 
-#: builtin/config.c:145
+#: builtin/config.c:144
 msgid "value is given this type"
 msgstr "取值为该类型"
 
 msgid "value is given this type"
 msgstr "取值为该类型"
 
-#: builtin/config.c:146
+#: builtin/config.c:145
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
-#: builtin/config.c:147
+#: builtin/config.c:146
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
-#: builtin/config.c:148
+#: builtin/config.c:147
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
-#: builtin/config.c:149
+#: builtin/config.c:148
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
-#: builtin/config.c:150
+#: builtin/config.c:149
 msgid "value is an expiry date"
 msgstr "值是一个到期日期"
 
 msgid "value is an expiry date"
 msgstr "值是一个到期日期"
 
-#: builtin/config.c:151
+#: builtin/config.c:150
 msgid "Other"
 msgstr "其它"
 
 msgid "Other"
 msgstr "其它"
 
-#: builtin/config.c:152
+#: builtin/config.c:151
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
-#: builtin/config.c:153
+#: builtin/config.c:152
 msgid "show variable names only"
 msgstr "只显示变量名"
 
 msgid "show variable names only"
 msgstr "只显示变量名"
 
-#: builtin/config.c:154
+#: builtin/config.c:153
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/config.c:155
+#: builtin/config.c:154
 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:156
+#: builtin/config.c:155
 msgid "value"
 msgstr "取值"
 
 msgid "value"
 msgstr "取值"
 
-#: builtin/config.c:156
+#: builtin/config.c:155
 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:332
+#: builtin/config.c:168
+#, c-format
+msgid "wrong number of arguments, should be %d"
+msgstr "错误的参数个数,应该为 %d 个"
+
+#: builtin/config.c:170
+#, c-format
+msgid "wrong number of arguments, should be from %d to %d"
+msgstr "错误的参数个数,应该为从 %d 个到 %d 个"
+
+#: builtin/config.c:304
+#, c-format
+msgid "invalid key pattern: %s"
+msgstr "无效键名模式:%s"
+
+#: builtin/config.c:340
 #, c-format
 msgid "failed to format default config value: %s"
 #, c-format
 msgid "failed to format default config value: %s"
-msgstr "无法格式化默认配置取值:%s"
+msgstr "格式化默认配置值失败:%s"
+
+#: builtin/config.c:397
+#, c-format
+msgid "cannot parse color '%s'"
+msgstr "无法解析颜色 '%s'"
 
 
-#: builtin/config.c:431
+#: builtin/config.c:439
 msgid "unable to parse default color value"
 msgid "unable to parse default color value"
-msgstr "不能解析默认颜色值"
+msgstr "无法解析默认颜色值"
+
+#: builtin/config.c:492 builtin/config.c:724
+msgid "not in a git directory"
+msgstr "不在 git 仓库中"
+
+#: builtin/config.c:495
+msgid "writing to stdin is not supported"
+msgstr "不支持写到标准输入"
+
+#: builtin/config.c:498
+msgid "writing config blobs is not supported"
+msgstr "不支持写到配置数据对象"
 
 
-#: builtin/config.c:575
+#: builtin/config.c:583
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -8449,20 +9748,67 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:603
+#: builtin/config.c:606
+msgid "only one config file at a time"
+msgstr "一次只能有一个配置文件"
+
+#: builtin/config.c:611
 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:606
+#: builtin/config.c:614
 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:735
+#: builtin/config.c:633
+msgid "$HOME not set"
+msgstr "$HOME 未设置"
+
+#: builtin/config.c:670
+msgid "--get-color and variable type are incoherent"
+msgstr "--get-color 和变量类型不兼容"
+
+#: builtin/config.c:675
+msgid "only one action at a time"
+msgstr "一次只能有一个动作"
+
+#: builtin/config.c:688
+msgid "--name-only is only applicable to --list or --get-regexp"
+msgstr "--name-only 仅适用于 --list 或 --get-regexp"
+
+#: builtin/config.c:694
+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
+msgid "--default is only applicable to --get"
+msgstr "--default 仅适用于 --get"
+
+#: builtin/config.c:713
+#, c-format
+msgid "unable to read config file '%s'"
+msgstr "无法读取配置文件 '%s'"
+
+#: builtin/config.c:716
+msgid "error processing config file(s)"
+msgstr "处理配置文件出错"
+
+#: builtin/config.c:726
+msgid "editing stdin is not supported"
+msgstr "不支持编辑标准输入"
+
+#: builtin/config.c:728
+msgid "editing blobs is not supported"
+msgstr "不支持编辑数据对象"
+
+#: builtin/config.c:742
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/config.c:748
+#: builtin/config.c:755
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -8471,6 +9817,11 @@ msgstr ""
 "无法用一个值覆盖多个值\n"
 "       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
 
 "无法用一个值覆盖多个值\n"
 "       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
 
+#: builtin/config.c:829 builtin/config.c:840
+#, c-format
+msgid "no such section: %s"
+msgstr "无此小节:%s"
+
 #: builtin/count-objects.c:90
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 #: builtin/count-objects.c:90
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
@@ -8479,57 +9830,57 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
-#: builtin/describe.c:22
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<选项>] [<提交号>...]"
 
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<选项>] [<提交号>...]"
 
-#: builtin/describe.c:23
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<选项>] --dirty"
 
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<选项>] --dirty"
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "head"
 msgstr "头"
 
 msgid "head"
 msgstr "头"
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "lightweight"
 msgstr "轻量级的"
 
 msgid "lightweight"
 msgstr "轻量级的"
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "annotated"
 msgstr "附注的"
 
 msgid "annotated"
 msgstr "附注的"
 
-#: builtin/describe.c:267
+#: builtin/describe.c:272
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "附注标签 %s 无效"
 
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "附注标签 %s 无效"
 
-#: builtin/describe.c:271
+#: builtin/describe.c:276
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "附注标签 %s 没有嵌入名称"
 
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "附注标签 %s 没有嵌入名称"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:278
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "标签 '%s' 的确是在 '%s'"
 
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "标签 '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:317
+#: builtin/describe.c:322
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "没有标签准确匹配 '%s'"
 
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "没有标签准确匹配 '%s'"
 
-#: builtin/describe.c:319
+#: builtin/describe.c:324
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr "没有精确匹配到引用或标签,继续搜索进行描述\n"
 
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr "没有精确匹配到引用或标签,继续搜索进行描述\n"
 
-#: builtin/describe.c:366
+#: builtin/describe.c:378
 #, c-format
 msgid "finished search at %s\n"
 msgstr "完成搜索 %s\n"
 
 #, c-format
 msgid "finished search at %s\n"
 msgstr "完成搜索 %s\n"
 
-#: builtin/describe.c:392
+#: builtin/describe.c:404
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -8538,7 +9889,7 @@ msgstr ""
 "没有附注标签能描述 '%s'。\n"
 "然而,存在未附注标签:尝试 --tags。"
 
 "没有附注标签能描述 '%s'。\n"
 "然而,存在未附注标签:尝试 --tags。"
 
-#: builtin/describe.c:396
+#: builtin/describe.c:408
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -8547,12 +9898,12 @@ msgstr ""
 "没有标签能描述 '%s'。\n"
 "尝试 --always,或者创建一些标签。"
 
 "没有标签能描述 '%s'。\n"
 "尝试 --always,或者创建一些标签。"
 
-#: builtin/describe.c:426
+#: builtin/describe.c:438
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "已遍历 %lu 个提交\n"
 
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "已遍历 %lu 个提交\n"
 
-#: builtin/describe.c:429
+#: builtin/describe.c:441
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -8561,90 +9912,90 @@ msgstr ""
 "发现多于 %i 个标签,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
 "发现多于 %i 个标签,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
-#: builtin/describe.c:497
+#: builtin/describe.c:509
 #, c-format
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
 #, c-format
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
-#: builtin/describe.c:500 builtin/log.c:502
+#: builtin/describe.c:512 builtin/log.c:508
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 
-#: builtin/describe.c:508
+#: builtin/describe.c:520
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s 既不是提交也不是数据对象"
 
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s 既不是提交也不是数据对象"
 
-#: builtin/describe.c:522
+#: builtin/describe.c:534
 msgid "find the tag that comes after the commit"
 msgstr "寻找该提交之后的标签"
 
 msgid "find the tag that comes after the commit"
 msgstr "寻找该提交之后的标签"
 
-#: builtin/describe.c:523
+#: builtin/describe.c:535
 msgid "debug search strategy on stderr"
 msgstr "在标准错误上调试搜索策略"
 
 msgid "debug search strategy on stderr"
 msgstr "在标准错误上调试搜索策略"
 
-#: builtin/describe.c:524
+#: builtin/describe.c:536
 msgid "use any ref"
 msgstr "使用任意引用"
 
 msgid "use any ref"
 msgstr "使用任意引用"
 
-#: builtin/describe.c:525
+#: builtin/describe.c:537
 msgid "use any tag, even unannotated"
 msgstr "使用任意标签,即使未附带注释"
 
 msgid "use any tag, even unannotated"
 msgstr "使用任意标签,即使未附带注释"
 
-#: builtin/describe.c:526
+#: builtin/describe.c:538
 msgid "always use long format"
 msgstr "始终使用长提交号格式"
 
 msgid "always use long format"
 msgstr "始终使用长提交号格式"
 
-#: builtin/describe.c:527
+#: builtin/describe.c:539
 msgid "only follow first parent"
 msgstr "只跟随第一个父提交"
 
 msgid "only follow first parent"
 msgstr "只跟随第一个父提交"
 
-#: builtin/describe.c:530
+#: builtin/describe.c:542
 msgid "only output exact matches"
 msgstr "只输出精确匹配"
 
 msgid "only output exact matches"
 msgstr "只输出精确匹配"
 
-#: builtin/describe.c:532
+#: builtin/describe.c:544
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "考虑最近 <n> 个标签(默认:10)"
 
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "考虑最近 <n> 个标签(默认:10)"
 
-#: builtin/describe.c:534
+#: builtin/describe.c:546
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的标签"
 
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:548
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:538 builtin/name-rev.c:406
+#: builtin/describe.c:550 builtin/name-rev.c:424
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
-#: builtin/describe.c:539 builtin/describe.c:542
+#: builtin/describe.c:551 builtin/describe.c:554
 msgid "mark"
 msgstr "标记"
 
 msgid "mark"
 msgstr "标记"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:552
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "对于脏工作区,追加 <标记>(默认:\"-dirty\")"
 
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "对于脏工作区,追加 <标记>(默认:\"-dirty\")"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:555
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr "对于损坏的工作区,追加 <标记>(默认:\"-broken\")"
 
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr "对于损坏的工作区,追加 <标记>(默认:\"-broken\")"
 
-#: builtin/describe.c:561
+#: builtin/describe.c:573
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long 与 --abbrev=0 不兼容"
 
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long 与 --abbrev=0 不兼容"
 
-#: builtin/describe.c:590
+#: builtin/describe.c:602
 msgid "No names found, cannot describe anything."
 msgstr "没有发现名称,无法描述任何东西。"
 
 msgid "No names found, cannot describe anything."
 msgstr "没有发现名称,无法描述任何东西。"
 
-#: builtin/describe.c:640
+#: builtin/describe.c:652
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 与提交号不兼容"
 
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 与提交号不兼容"
 
-#: builtin/describe.c:642
+#: builtin/describe.c:654
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken 与提交号不兼容"
 
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken 与提交号不兼容"
 
@@ -8658,50 +10009,50 @@ msgstr "'%s':不是一个正规文件或符号链接"
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:356
+#: builtin/diff.c:363
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:399
+#: builtin/diff.c:407
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:416
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
-#: builtin/diff.c:413
+#: builtin/diff.c:421
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
-#: builtin/difftool.c:29
+#: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]"
 
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]"
 
-#: builtin/difftool.c:259
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "失败:%d"
 
 #, c-format
 msgid "failed: %d"
 msgstr "失败:%d"
 
-#: builtin/difftool.c:301
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "无法读取符号链接 %s"
 
 #, c-format
 msgid "could not read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "无法读取符号链接文件 %s"
 
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "无法读取符号链接文件 %s"
 
-#: builtin/difftool.c:311
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "无法读取符号链接 %2$s 指向的对象 %1$s"
 
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "无法读取符号链接 %2$s 指向的对象 %1$s"
 
-#: builtin/difftool.c:412
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -8709,314 +10060,314 @@ msgstr ""
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
-#: builtin/difftool.c:632
+#: builtin/difftool.c:633
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "两个文件都被修改:'%s' 和 '%s'。"
 
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "两个文件都被修改:'%s' 和 '%s'。"
 
-#: builtin/difftool.c:634
+#: builtin/difftool.c:635
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
-#: builtin/difftool.c:645
+#: builtin/difftool.c:646
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:647
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
-#: builtin/difftool.c:695
+#: builtin/difftool.c:696
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "使用 `diff.guitool` 代替 `diff.tool`"
 
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "使用 `diff.guitool` 代替 `diff.tool`"
 
-#: builtin/difftool.c:697
+#: builtin/difftool.c:698
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:700
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
-#: builtin/difftool.c:704
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
-#: builtin/difftool.c:705
-msgid "<tool>"
-msgstr "<工具>"
-
 #: builtin/difftool.c:706
 #: builtin/difftool.c:706
+msgid "tool"
+msgstr "工具"
+
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
 
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
 
-#: builtin/difftool.c:711
+#: builtin/difftool.c:712
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
 
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
 
-#: builtin/difftool.c:713
-msgid "<command>"
-msgstr "<命令>"
-
-#: builtin/difftool.c:714
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
-#: builtin/difftool.c:738
+#: builtin/difftool.c:739
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:745
+#: builtin/difftool.c:746
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
-#: builtin/fast-export.c:27
+#: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:1000
+#: builtin/fast-export.c:1006
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
-#: builtin/fast-export.c:1002
+#: builtin/fast-export.c:1008
 msgid "select handling of signed tags"
 msgstr "选择如何处理签名标签"
 
 msgid "select handling of signed tags"
 msgstr "选择如何处理签名标签"
 
-#: builtin/fast-export.c:1005
+#: builtin/fast-export.c:1011
 msgid "select handling of tags that tag filtered objects"
 msgstr "选择当标签指向被过滤对象时该标签的处理方式"
 
 msgid "select handling of tags that tag filtered objects"
 msgstr "选择当标签指向被过滤对象时该标签的处理方式"
 
-#: builtin/fast-export.c:1008
+#: builtin/fast-export.c:1014
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
-#: builtin/fast-export.c:1010
+#: builtin/fast-export.c:1016
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
-#: builtin/fast-export.c:1012
+#: builtin/fast-export.c:1018
 msgid "Fake a tagger when tags lack one"
 msgstr "当标签缺少标记者字段时,假装提供一个"
 
 msgid "Fake a tagger when tags lack one"
 msgstr "当标签缺少标记者字段时,假装提供一个"
 
-#: builtin/fast-export.c:1014
+#: builtin/fast-export.c:1020
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
-#: builtin/fast-export.c:1016
+#: builtin/fast-export.c:1022
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
-#: builtin/fast-export.c:1017
+#: builtin/fast-export.c:1023
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1018
+#: builtin/fast-export.c:1024
 msgid "refspec"
 msgstr "引用规格"
 
 msgid "refspec"
 msgstr "引用规格"
 
-#: builtin/fast-export.c:1019
+#: builtin/fast-export.c:1025
 msgid "Apply refspec to exported refs"
 msgstr "对导出的引用应用引用规格"
 
 msgid "Apply refspec to exported refs"
 msgstr "对导出的引用应用引用规格"
 
-#: builtin/fast-export.c:1020
+#: builtin/fast-export.c:1026
 msgid "anonymize output"
 msgstr "匿名输出"
 
 msgid "anonymize output"
 msgstr "匿名输出"
 
-#: builtin/fetch.c:26
+#: builtin/fetch.c:27
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/fetch.c:27
+#: builtin/fetch.c:28
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:29
 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:29
+#: builtin/fetch.c:30
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:123 builtin/pull.c:193
+#: builtin/fetch.c:112 builtin/pull.c:193
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:125 builtin/pull.c:196
+#: builtin/fetch.c:114 builtin/pull.c:196
 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:127 builtin/pull.c:199
+#: builtin/fetch.c:116 builtin/pull.c:199
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:128 builtin/pull.c:201
+#: builtin/fetch.c:117 builtin/pull.c:201
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:119
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:132 builtin/pull.c:203
+#: builtin/fetch.c:121 builtin/pull.c:203
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:123
 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:136
+#: builtin/fetch.c:125
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:138 builtin/pull.c:206
+#: builtin/fetch.c:127 builtin/pull.c:206
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:129
 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:141 builtin/fetch.c:164 builtin/pull.c:131
+#: builtin/fetch.c:130 builtin/fetch.c:153 builtin/pull.c:131
 msgid "on-demand"
 msgstr "on-demand"
 
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:131
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:146 builtin/pull.c:214
+#: builtin/fetch.c:135 builtin/pull.c:214
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:148
+#: builtin/fetch.c:137
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:151 builtin/fetch.c:157 builtin/pull.c:217
+#: builtin/fetch.c:140 builtin/fetch.c:146 builtin/pull.c:217
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:153
+#: builtin/fetch.c:142
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:159 builtin/pull.c:220
+#: builtin/fetch.c:148 builtin/pull.c:220
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:162
+#: builtin/fetch.c:151
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:165
+#: builtin/fetch.c:154
 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:169 builtin/pull.c:223
+#: builtin/fetch.c:158 builtin/pull.c:223
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:170 builtin/pull.c:225
+#: builtin/fetch.c:159 builtin/pull.c:225
 msgid "refmap"
 msgstr "引用映射"
 
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:171 builtin/pull.c:226
+#: builtin/fetch.c:160 builtin/pull.c:226
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:161 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:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:161 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:442
+#: builtin/fetch.c:167
+msgid "report that we have only objects reachable from this object"
+msgstr "报告我们只拥有从该对象开始可达的对象"
+
+#: builtin/fetch.c:418
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:560
+#: builtin/fetch.c:552
 #, 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:653
+#: builtin/fetch.c:645
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:649
 msgid "[up to date]"
 msgstr "[最新]"
 
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:670 builtin/fetch.c:750
+#: builtin/fetch.c:662 builtin/fetch.c:744
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:671
+#: builtin/fetch.c:663
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:680
+#: builtin/fetch.c:672
 msgid "[tag update]"
 msgstr "[标签更新]"
 
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:681 builtin/fetch.c:714 builtin/fetch.c:730
-#: builtin/fetch.c:745
+#: builtin/fetch.c:673 builtin/fetch.c:708 builtin/fetch.c:724
+#: builtin/fetch.c:739
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:700
+#: builtin/fetch.c:694
 msgid "[new tag]"
 msgstr "[新标签]"
 
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:703
+#: builtin/fetch.c:697
 msgid "[new branch]"
 msgstr "[新分支]"
 
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:706
+#: builtin/fetch.c:700
 msgid "[new ref]"
 msgstr "[新引用]"
 
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:745
+#: builtin/fetch.c:739
 msgid "forced update"
 msgstr "强制更新"
 
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:750
+#: builtin/fetch.c:744
 msgid "non-fast-forward"
 msgstr "非快进"
 
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:795
+#: builtin/fetch.c:790
 #, 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:815
+#: builtin/fetch.c:811
 #, 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:903 builtin/fetch.c:999
+#: builtin/fetch.c:900 builtin/fetch.c:1011
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:914
+#: builtin/fetch.c:911
 #, 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"
@@ -9026,120 +10377,120 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:969
+#: builtin/fetch.c:981
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:970
+#: builtin/fetch.c:982
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:1002
+#: builtin/fetch.c:1014
 msgid "[deleted]"
 msgstr "[已删除]"
 
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:1003 builtin/remote.c:1033
+#: builtin/fetch.c:1015 builtin/remote.c:1035
 msgid "(none)"
 msgstr "(无)"
 
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1026
+#: builtin/fetch.c:1038
 #, 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:1045
+#: builtin/fetch.c:1057
 #, 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:1048
+#: builtin/fetch.c:1060
 #, 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:1287
+#: builtin/fetch.c:1339
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1289 builtin/remote.c:98
+#: builtin/fetch.c:1341 builtin/remote.c:99
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1335 builtin/fetch.c:1503
+#: builtin/fetch.c:1387 builtin/fetch.c:1555
 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:1358
+#: builtin/fetch.c:1410
 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:1395
+#: builtin/fetch.c:1447
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1444
+#: builtin/fetch.c:1496
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1446
+#: builtin/fetch.c:1498
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1451
+#: builtin/fetch.c:1503
 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:1453
+#: builtin/fetch.c:1505
 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:1469
+#: builtin/fetch.c:1521
 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:1471
+#: builtin/fetch.c:1523
 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:1480
+#: builtin/fetch.c:1532
 #, 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:1487
+#: builtin/fetch.c:1539
 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:15
+#: builtin/fmt-merge-msg.c:17
 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:666
+#: builtin/fmt-merge-msg.c:671
 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:669
+#: builtin/fmt-merge-msg.c:674
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:677
 msgid "text"
 msgstr "文本"
 
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:678
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:679
 msgid "file to read from"
 msgstr "从文件中读取"
 
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -9179,7 +10530,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:421
+#: builtin/for-each-ref.c:39 builtin/tag.c:422
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
@@ -9203,81 +10554,81 @@ 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:569
+#: builtin/fsck.c:574
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:661
+#: builtin/fsck.c:666
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:672
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:668
+#: builtin/fsck.c:673
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:669
+#: builtin/fsck.c:674
 msgid "report tags"
 msgstr "报告标签"
 
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:670
+#: builtin/fsck.c:675
 msgid "report root nodes"
 msgstr "报告根节点"
 
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:671
+#: builtin/fsck.c:676
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:677
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:678
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:674
+#: builtin/fsck.c:679
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:675
+#: builtin/fsck.c:680
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:682
 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:678 builtin/prune.c:109
+#: builtin/fsck.c:683 builtin/prune.c:110
 msgid "show progress"
 msgstr "显示进度"
 
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:679
+#: builtin/fsck.c:684
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:745
+#: builtin/fsck.c:750
 msgid "Checking objects"
 msgstr "检查对象中"
 
 msgid "Checking objects"
 msgstr "检查对象中"
 
-#: builtin/gc.c:33
+#: builtin/gc.c:34
 msgid "git gc [<options>]"
 msgstr "git gc [<选项>]"
 
 msgid "git gc [<options>]"
 msgstr "git gc [<选项>]"
 
-#: builtin/gc.c:88
+#: builtin/gc.c:90
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
-#: builtin/gc.c:452
+#: builtin/gc.c:455
 #, c-format
 msgid "Can't stat %s"
 msgstr "不能对 %s 调用 stat"
 
 #, c-format
 msgid "Can't stat %s"
 msgstr "不能对 %s 调用 stat"
 
-#: builtin/gc.c:461
+#: builtin/gc.c:464
 #, 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"
@@ -9291,59 +10642,59 @@ msgstr ""
 "\n"
 "%s"
 
 "\n"
 "%s"
 
-#: builtin/gc.c:502
+#: builtin/gc.c:505
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:504
+#: builtin/gc.c:507
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:505
+#: builtin/gc.c:508
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:508
+#: builtin/gc.c:511
 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:511
+#: builtin/gc.c:514
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
-#: builtin/gc.c:528
+#: builtin/gc.c:531
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
-msgstr "无法解析 gc.logexpiry 的值 %s"
+msgstr "解析 gc.logexpiry 的值 %s 失败"
 
 
-#: builtin/gc.c:539
+#: builtin/gc.c:542
 #, c-format
 msgid "failed to parse prune expiry value %s"
 #, c-format
 msgid "failed to parse prune expiry value %s"
-msgstr "无法解析清除期限值 %s"
+msgstr "解析清除期限值 %s 失败"
 
 
-#: builtin/gc.c:559
+#: builtin/gc.c:562
 #, 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:561
+#: builtin/gc.c:564
 #, 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:562
+#: builtin/gc.c:565
 #, 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:598
+#: builtin/gc.c:601
 #, 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:645
+#: builtin/gc.c:652
 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' 删除它们。"
@@ -9366,7 +10717,8 @@ 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:1535 builtin/index-pack.c:1727
+#: builtin/grep.c:293 builtin/index-pack.c:1536 builtin/index-pack.c:1728
+#: builtin/pack-objects.c:2636
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
@@ -9381,231 +10733,239 @@ msgstr "无法读取树(%s)"
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:704
 #, 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:790
+#: builtin/grep.c:791
 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:792
+#: builtin/grep.c:793
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:794
+#: builtin/grep.c:795
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:796
+#: builtin/grep.c:797
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:798
+#: builtin/grep.c:799
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
-#: builtin/grep.c:801
+#: builtin/grep.c:802
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:803
+#: builtin/grep.c:804
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:805
+#: builtin/grep.c:806
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:807
+#: builtin/grep.c:808
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:809
+#: builtin/grep.c:810
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:812
+#: builtin/grep.c:813
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:815
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:818
+#: builtin/grep.c:819
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:822
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:825
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:827
+#: builtin/grep.c:828
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:831
 msgid "show line numbers"
 msgstr "显示行号"
 
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:831
+#: builtin/grep.c:832
+msgid "show column number of first match"
+msgstr "显示第一个匹配的列号"
+
+#: builtin/grep.c:833
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:834
 msgid "show filenames"
 msgstr "显示文件名"
 
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:834
+#: builtin/grep.c:836
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:838
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:838
+#: builtin/grep.c:840
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:845
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:848
+msgid "show only matching parts of a line"
+msgstr "只显示行中的匹配的部分"
+
+#: builtin/grep.c:850
 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:847
+#: builtin/grep.c:851
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:853
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:855
 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:854
+#: builtin/grep.c:858
 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:857
+#: builtin/grep.c:861
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:859
+#: builtin/grep.c:863
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:865
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:866
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:869
 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:867
+#: builtin/grep.c:871
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:874
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:876
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:878
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:886
+#: builtin/grep.c:890
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:892
 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:890
+#: builtin/grep.c:894
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:898
 msgid "pager"
 msgstr "分页"
 
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:898
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:902
 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:962
-msgid "no pattern given."
-msgstr "未提供模式匹配。"
+#: builtin/grep.c:966
+msgid "no pattern given"
+msgstr "未提供匹配模式"
 
 
-#: builtin/grep.c:994
+#: builtin/grep.c:1002
 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:1001
+#: builtin/grep.c:1009
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1036 builtin/index-pack.c:1531
+#: 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)"
 
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:1041
+#: builtin/grep.c:1049 builtin/pack-objects.c:3286
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:1073
 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:1088
-msgid "option not supported with --recurse-submodules."
-msgstr "选项不支持和 --recurse-submodules 共用。"
-
-#: builtin/grep.c:1094
-msgid "--cached or --untracked cannot be used with --no-index."
-msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
+#: builtin/grep.c:1096
+msgid "option not supported with --recurse-submodules"
+msgstr "选项不支持和 --recurse-submodules 共用"
 
 
-#: builtin/grep.c:1100
-msgid "--[no-]exclude-standard cannot be used for tracked contents."
-msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
+#: builtin/grep.c:1102
+msgid "--cached or --untracked cannot be used with --no-index"
+msgstr "--cached 或 --untracked 不能与 --no-index 同时使用"
 
 #: builtin/grep.c:1108
 
 #: builtin/grep.c:1108
-msgid "both --cached and trees are given."
-msgstr "同时给出了 --cached 和树对象。"
+msgid "--[no-]exclude-standard cannot be used for tracked contents"
+msgstr "--[no-]exclude-standard 不能用于已跟踪内容"
 
 
-#: builtin/hash-object.c:83
+#: builtin/grep.c:1116
+msgid "both --cached and trees are given"
+msgstr "同时给出了 --cached 和树对象"
+
+#: builtin/hash-object.c:84
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -9613,95 +10973,99 @@ msgstr ""
 "git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters] [--stdin] "
 "[--] <文件>..."
 
 "git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters] [--stdin] "
 "[--] <文件>..."
 
-#: builtin/hash-object.c:84
+#: builtin/hash-object.c:85
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "type"
 msgstr "类型"
 
 msgid "type"
 msgstr "类型"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "object type"
 msgstr "对象类型"
 
 msgid "object type"
 msgstr "对象类型"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
-#: builtin/hash-object.c:102
+#: builtin/hash-object.c:103
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
 
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
 
-#: builtin/hash-object.c:103
+#: builtin/hash-object.c:104
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
-#: builtin/help.c:45
+#: builtin/help.c:46
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
-#: builtin/help.c:46
+#: builtin/help.c:47
 msgid "exclude guides"
 msgstr "排除向导"
 
 msgid "exclude guides"
 msgstr "排除向导"
 
-#: builtin/help.c:47
+#: builtin/help.c:48
 msgid "print list of useful guides"
 msgstr "显示有用的指南列表"
 
 msgid "print list of useful guides"
 msgstr "显示有用的指南列表"
 
-#: builtin/help.c:48
+#: builtin/help.c:49
+msgid "print all configuration variable names"
+msgstr "打印所有配置变量名称"
+
+#: builtin/help.c:51
 msgid "show man page"
 msgstr "显示 man 手册"
 
 msgid "show man page"
 msgstr "显示 man 手册"
 
-#: builtin/help.c:49
+#: builtin/help.c:52
 msgid "show manual in web browser"
 msgstr "在 web 浏览器中显示手册"
 
 msgid "show manual in web browser"
 msgstr "在 web 浏览器中显示手册"
 
-#: builtin/help.c:51
+#: builtin/help.c:54
 msgid "show info page"
 msgstr "显示 info 手册"
 
 msgid "show info page"
 msgstr "显示 info 手册"
 
-#: builtin/help.c:53
+#: builtin/help.c:56
 msgid "print command description"
 msgstr "打印命令描述"
 
 msgid "print command description"
 msgstr "打印命令描述"
 
-#: builtin/help.c:58
+#: builtin/help.c:61
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<命令>]"
 
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<命令>]"
 
-#: builtin/help.c:70
+#: builtin/help.c:73
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:97
+#: builtin/help.c:100
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:110
+#: builtin/help.c:113
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:118
+#: builtin/help.c:121
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:136 builtin/help.c:158 builtin/help.c:168 builtin/help.c:176
+#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
 #, c-format
 msgid "failed to exec '%s'"
 #, c-format
 msgid "failed to exec '%s'"
-msgstr "æ\97 æ³\95æ\89§è¡\8c '%s'"
+msgstr "æ\89§è¡\8c '%s' å¤±è´¥"
 
 
-#: builtin/help.c:214
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -9710,7 +11074,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:226
+#: builtin/help.c:229
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -9719,33 +11083,32 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:343
+#: builtin/help.c:346
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:360
+#: builtin/help.c:363
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:368
+#: builtin/help.c:371
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:415
+#: builtin/help.c:418
 #, 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:442 builtin/help.c:459
+#: builtin/help.c:445 builtin/help.c:475
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/index-pack.c:158
-#, c-format
-msgid "unable to open %s"
-msgstr "不能打开 %s"
+#: builtin/help.c:459
+msgid "'git help config' for more information"
+msgstr "'git help config' 获取更多信息"
 
 #: builtin/index-pack.c:208
 #, c-format
 
 #: builtin/index-pack.c:208
 #, c-format
@@ -9781,11 +11144,11 @@ msgstr "输入上的读错误"
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:303 builtin/pack-objects.c:590
 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:93
+#: builtin/index-pack.c:306 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
@@ -9852,8 +11215,8 @@ msgstr "解压缩严重的不一致"
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:198
-#: builtin/pack-objects.c:292
+#: builtin/index-pack.c:754 builtin/pack-objects.c:143
+#: builtin/pack-objects.c:203 builtin/pack-objects.c:297
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
@@ -9873,169 +11236,169 @@ msgstr "不能读取现存对象 %s"
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:842 builtin/index-pack.c:860
+#: builtin/index-pack.c:842 builtin/index-pack.c:861
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
-#: builtin/index-pack.c:857
+#: builtin/index-pack.c:858
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:862
+#: builtin/index-pack.c:863
 #, 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:934 builtin/index-pack.c:965
+#: builtin/index-pack.c:935 builtin/index-pack.c:966
 msgid "failed to apply delta"
 msgid "failed to apply delta"
-msgstr "无法应用 delta"
+msgstr "应用 delta 失败"
 
 
-#: builtin/index-pack.c:1135
+#: builtin/index-pack.c:1136
 msgid "Receiving objects"
 msgstr "接收对象中"
 
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1135
+#: builtin/index-pack.c:1136
 msgid "Indexing objects"
 msgstr "索引对象中"
 
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1169
+#: builtin/index-pack.c:1170
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1175
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1177
+#: builtin/index-pack.c:1178
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1189
+#: builtin/index-pack.c:1190
 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:1212
+#: builtin/index-pack.c:1213
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1223
+#: builtin/index-pack.c:1224 builtin/pack-objects.c:2407
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1265
+#: builtin/index-pack.c:1266
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1271
+#: builtin/index-pack.c:1272
 #, 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:1283
+#: builtin/index-pack.c:1284
 #, 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:1287
+#: builtin/index-pack.c:1288
 #, 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:1311
+#: builtin/index-pack.c:1312
 #, 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:1388
+#: builtin/index-pack.c:1389
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1402
+#: builtin/index-pack.c:1403
 #, 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:1427
+#: builtin/index-pack.c:1428
 #, 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:1435
+#: builtin/index-pack.c:1436
 #, 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:1459
+#: builtin/index-pack.c:1460
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1474
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1482
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1525
+#: builtin/index-pack.c:1526 builtin/pack-objects.c:2645
 #, 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:1594
+#: builtin/index-pack.c:1595
 #, 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:1596
+#: builtin/index-pack.c:1597
 #, 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:1644
+#: builtin/index-pack.c:1645
 #, 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:1651
+#: builtin/index-pack.c:1652
 #, 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:1688
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1739 builtin/index-pack.c:1742
-#: builtin/index-pack.c:1758 builtin/index-pack.c:1762
+#: builtin/index-pack.c:1740 builtin/index-pack.c:1743
+#: builtin/index-pack.c:1759 builtin/index-pack.c:1763
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1778
+#: builtin/index-pack.c:1779
 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:1780
+#: builtin/index-pack.c:1781
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
-#: builtin/index-pack.c:1786
+#: builtin/index-pack.c:1787
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1836 builtin/unpack-objects.c:578
+#: builtin/index-pack.c:1837 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
@@ -10054,72 +11417,72 @@ msgstr "不能对模版 '%s' 调用 stat"
 msgid "cannot opendir '%s'"
 msgstr "不能打开目录 '%s'"
 
 msgid "cannot opendir '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: builtin/init-db.c:77
+#: builtin/init-db.c:78
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "不能读取链接 '%s'"
 
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "不能读取链接 '%s'"
 
-#: builtin/init-db.c:79
+#: builtin/init-db.c:80
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "不能自 '%s' 到 '%s' 创建符号链接"
 
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "不能自 '%s' 到 '%s' 创建符号链接"
 
-#: builtin/init-db.c:85
+#: builtin/init-db.c:86
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:90
 #, c-format
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
 #, c-format
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
-#: builtin/init-db.c:120
+#: builtin/init-db.c:121
 #, c-format
 msgid "templates not found in %s"
 msgstr "没有在 %s 中找到模版"
 
 #, c-format
 msgid "templates not found in %s"
 msgstr "没有在 %s 中找到模版"
 
-#: builtin/init-db.c:135
+#: builtin/init-db.c:136
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
-#: builtin/init-db.c:328
+#: builtin/init-db.c:329
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
-#: builtin/init-db.c:331
+#: builtin/init-db.c:332
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
 
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
 
-#: builtin/init-db.c:348 builtin/init-db.c:351
+#: builtin/init-db.c:349 builtin/init-db.c:352
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
-#: builtin/init-db.c:404
+#: builtin/init-db.c:405
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "重新初始化已存在的共享 Git 仓库于 %s%s\n"
 
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "重新初始化已存在的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:405
+#: builtin/init-db.c:406
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "重新初始化已存在的 Git 仓库于 %s%s\n"
 
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "重新初始化已存在的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:409
+#: builtin/init-db.c:410
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "已初始化空的共享 Git 仓库于 %s%s\n"
 
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "已初始化空的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:410
+#: builtin/init-db.c:411
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:458
+#: builtin/init-db.c:459
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -10127,27 +11490,32 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:482
 msgid "permissions"
 msgstr "权限"
 
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:483
 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:525
+#: builtin/init-db.c:517 builtin/init-db.c:522
+#, c-format
+msgid "cannot mkdir %s"
+msgstr "不能创建目录 %s"
+
+#: builtin/init-db.c:526
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:546
+#: builtin/init-db.c:547
 #, 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:574
+#: builtin/init-db.c:575
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
@@ -10212,120 +11580,120 @@ msgstr "--trailer 和 --only-input 同时使用没有意义"
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
 msgid "no input file given for in-place editing"
 msgstr "没有给出要原位编辑的文件"
 
-#: builtin/log.c:48
+#: builtin/log.c:51
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
-#: builtin/log.c:49
+#: builtin/log.c:52
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:93
+#: builtin/log.c:96
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:153
+#: builtin/log.c:157
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:154
+#: builtin/log.c:158
 msgid "show source"
 msgstr "显示源"
 
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:155
+#: builtin/log.c:159
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:157
+#: builtin/log.c:161
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
-#: builtin/log.c:159
+#: builtin/log.c:163
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
-#: builtin/log.c:160
+#: builtin/log.c:164
 msgid "decorate options"
 msgstr "修饰选项"
 
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:163
+#: builtin/log.c:167
 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:259
+#: builtin/log.c:265
 #, 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:510
+#: builtin/log.c:516
 #, 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:525 builtin/log.c:619
+#: builtin/log.c:531 builtin/log.c:625
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:643
+#: builtin/log.c:649
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:764
+#: builtin/log.c:770
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:865
+#: builtin/log.c:871
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:881
+#: builtin/log.c:887
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:898
+#: builtin/log.c:904
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:908
+#: builtin/log.c:914
 msgid "Not a range."
 msgstr "不是一个范围。"
 
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:1014
+#: builtin/log.c:1020
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:1095
+#: builtin/log.c:1101
 #, 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:1122
+#: builtin/log.c:1128
 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:1172
+#: builtin/log.c:1178
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1279 builtin/log.c:1932 builtin/log.c:1934 builtin/log.c:1946
+#: builtin/log.c:1285 builtin/log.c:1945 builtin/log.c:1947 builtin/log.c:1959
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1289 builtin/notes.c:887 builtin/tag.c:523
+#: builtin/log.c:1295 builtin/notes.c:889 builtin/tag.c:524
 #, 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:1294
+#: builtin/log.c:1300
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
-#: builtin/log.c:1298
+#: builtin/log.c:1304
 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"
@@ -10335,332 +11703,332 @@ msgstr ""
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交。"
 
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交。"
 
-#: builtin/log.c:1318
+#: builtin/log.c:1324
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1329
+#: builtin/log.c:1335
 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:1333
+#: builtin/log.c:1339
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1382
+#: builtin/log.c:1392
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1441
+#: builtin/log.c:1452
 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:1444
+#: builtin/log.c:1455
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1448
+#: builtin/log.c:1459
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1461
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1452
+#: builtin/log.c:1463
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1453
+#: builtin/log.c:1464
 msgid "sfx"
 msgstr "后缀"
 
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1454
+#: builtin/log.c:1465
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1456
+#: builtin/log.c:1467
 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:1458
+#: builtin/log.c:1469
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1460
+#: builtin/log.c:1471
 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:1463
+#: builtin/log.c:1474
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1466
+#: builtin/log.c:1477
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1480
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1483
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1474
+#: builtin/log.c:1485
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1476
+#: builtin/log.c:1487
 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:1478
+#: builtin/log.c:1489
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1480
+#: builtin/log.c:1491
 msgid "Messaging"
 msgstr "邮件发送"
 
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1481
+#: builtin/log.c:1492
 msgid "header"
 msgstr "header"
 
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1482
+#: builtin/log.c:1493
 msgid "add email header"
 msgstr "添加邮件头"
 
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1483 builtin/log.c:1485
+#: builtin/log.c:1494 builtin/log.c:1496
 msgid "email"
 msgstr "邮件地址"
 
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1494
 msgid "add To: header"
 msgstr "添加收件人"
 
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1485
+#: builtin/log.c:1496
 msgid "add Cc: header"
 msgstr "添加抄送"
 
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1487
+#: builtin/log.c:1498
 msgid "ident"
 msgstr "标识"
 
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1488
+#: builtin/log.c:1499
 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:1490
+#: builtin/log.c:1501
 msgid "message-id"
 msgstr "邮件标识"
 
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1502
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1492 builtin/log.c:1495
+#: builtin/log.c:1503 builtin/log.c:1506
 msgid "boundary"
 msgstr "边界"
 
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1493
+#: builtin/log.c:1504
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1496
+#: builtin/log.c:1507
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1500
+#: builtin/log.c:1511
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1502
+#: builtin/log.c:1513
 msgid "signature"
 msgstr "签名"
 
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1503
+#: builtin/log.c:1514
 msgid "add a signature"
 msgstr "添加一个签名"
 
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1504
+#: builtin/log.c:1515
 msgid "base-commit"
 msgstr "基线提交"
 
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1505
+#: builtin/log.c:1516
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1507
+#: builtin/log.c:1518
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1508
+#: builtin/log.c:1519
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1510
+#: builtin/log.c:1521
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1585
+#: builtin/log.c:1596
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1600
-msgid "-n and -k are mutually exclusive."
-msgstr "-n 和 -k 互斥"
+#: builtin/log.c:1611
+msgid "-n and -k are mutually exclusive"
+msgstr "-n 和 -k 互斥"
 
 
-#: builtin/log.c:1602
-msgid "--subject-prefix/--rfc and -k are mutually exclusive."
-msgstr "--subject-prefix/--rfc 和 -k 互斥"
+#: builtin/log.c:1613
+msgid "--subject-prefix/--rfc and -k are mutually exclusive"
+msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
 
-#: builtin/log.c:1610
+#: builtin/log.c:1621
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1612
+#: builtin/log.c:1623
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1614
+#: builtin/log.c:1625
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1646
+#: builtin/log.c:1657
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1648
+#: builtin/log.c:1659
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1741
+#: builtin/log.c:1752
 #, 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:1773
+#: builtin/log.c:1785
 msgid "Generating patches"
 msgstr "生成补丁"
 
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:1817
+#: builtin/log.c:1829
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1867
+#: builtin/log.c:1880
 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:1921
+#: builtin/log.c:1934
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:468
+#: builtin/ls-files.c:469
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:518
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:520
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:521
+#: builtin/ls-files.c:522
 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:523
+#: builtin/ls-files.c:524
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:525
+#: builtin/ls-files.c:526
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:527
+#: builtin/ls-files.c:528
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:529
+#: builtin/ls-files.c:530
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:531
+#: builtin/ls-files.c:532
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:535
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:537
 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:538
+#: builtin/ls-files.c:539
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:541
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:543
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:548
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:549
+#: builtin/ls-files.c:550
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:552
+#: builtin/ls-files.c:553
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:556
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:558
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:560
+#: builtin/ls-files.c:561
 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:563
+#: builtin/ls-files.c:564
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:566
 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:566
+#: builtin/ls-files.c:567
 msgid "tree-ish"
 msgstr "树或提交"
 
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:568
 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:569
+#: builtin/ls-files.c:570
 msgid "show debugging data"
 msgstr "显示调试数据"
 
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -10710,39 +12078,39 @@ msgstr "若未找到匹配的引用则以退出码2退出"
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "除了显示指向的对象外,显示指向的引用名"
 
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "除了显示指向的对象外,显示指向的引用名"
 
-#: builtin/ls-tree.c:29
+#: builtin/ls-tree.c:30
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
 
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
 
-#: builtin/ls-tree.c:127
+#: builtin/ls-tree.c:128
 msgid "only show trees"
 msgstr "只显示树"
 
 msgid "only show trees"
 msgstr "只显示树"
 
-#: builtin/ls-tree.c:129
+#: builtin/ls-tree.c:130
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
-#: builtin/ls-tree.c:131
+#: builtin/ls-tree.c:132
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
-#: builtin/ls-tree.c:134
+#: builtin/ls-tree.c:135
 msgid "terminate entries with NUL byte"
 msgstr "条目以 NUL 字符终止"
 
 msgid "terminate entries with NUL byte"
 msgstr "条目以 NUL 字符终止"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:136
 msgid "include object size"
 msgstr "包括对象大小"
 
 msgid "include object size"
 msgstr "包括对象大小"
 
-#: builtin/ls-tree.c:137 builtin/ls-tree.c:139
+#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
 msgid "list only filenames"
 msgstr "只列出文件名"
 
 msgid "list only filenames"
 msgstr "只列出文件名"
 
-#: builtin/ls-tree.c:142
+#: builtin/ls-tree.c:143
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
-#: builtin/ls-tree.c:144
+#: builtin/ls-tree.c:145
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
@@ -10767,165 +12135,165 @@ msgstr "git merge --continue"
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:147
+#: builtin/merge.c:176
 #, 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:148
+#: builtin/merge.c:177
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:153
+#: builtin/merge.c:182
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:203 builtin/pull.c:142
+#: builtin/merge.c:232 builtin/pull.c:142
 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:206 builtin/pull.c:145
+#: builtin/merge.c:235 builtin/pull.c:145
 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:207 builtin/pull.c:148
+#: builtin/merge.c:236 builtin/pull.c:148
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:209 builtin/pull.c:151
+#: builtin/merge.c:238 builtin/pull.c:151
 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:212 builtin/pull.c:157
+#: builtin/merge.c:241 builtin/pull.c:157
 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:214 builtin/pull.c:160
+#: builtin/merge.c:243 builtin/pull.c:160
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:216 builtin/pull.c:163
+#: builtin/merge.c:245 builtin/pull.c:163
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:217
+#: builtin/merge.c:246
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:219 builtin/pull.c:169
+#: builtin/merge.c:248 builtin/pull.c:169
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:223 builtin/pull.c:172
+#: builtin/merge.c:252 builtin/pull.c:172
 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:224 builtin/notes.c:777 builtin/pull.c:176
-#: builtin/revert.c:109
+#: builtin/merge.c:253 builtin/notes.c:779 builtin/pull.c:176
+#: builtin/revert.c:110
 msgid "strategy"
 msgstr "策略"
 
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:225 builtin/pull.c:177
+#: builtin/merge.c:254 builtin/pull.c:177
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:226 builtin/pull.c:180
+#: builtin/merge.c:255 builtin/pull.c:180
 msgid "option=value"
 msgstr "option=value"
 
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:227 builtin/pull.c:181
+#: builtin/merge.c:256 builtin/pull.c:181
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:229
+#: builtin/merge.c:258
 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:233
+#: builtin/merge.c:265
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:235
+#: builtin/merge.c:267
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
-#: builtin/merge.c:237 builtin/pull.c:188
+#: builtin/merge.c:269 builtin/pull.c:188
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:243
+#: builtin/merge.c:275
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
-#: builtin/merge.c:268
+#: builtin/merge.c:300
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
-#: builtin/merge.c:273
+#: builtin/merge.c:305
 msgid "stash failed"
 msgstr "贮藏失败"
 
 msgid "stash failed"
 msgstr "贮藏失败"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:310
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:300 builtin/merge.c:317
+#: builtin/merge.c:332 builtin/merge.c:349
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:347
+#: builtin/merge.c:379
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:358
+#: builtin/merge.c:390
 #, 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:408
+#: builtin/merge.c:440
 #, 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:458
+#: builtin/merge.c:491
 #, 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:548
+#: builtin/merge.c:578
 #, 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:669
+#: builtin/merge.c:699
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:683
+#: builtin/merge.c:713
 #, 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:698
+#: builtin/merge.c:728
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:749
+#: builtin/merge.c:779
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:758
+#: builtin/merge.c:788
 #, 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:764
+#: builtin/merge.c:794
 #, 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"
@@ -10939,68 +12307,68 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:800
+#: builtin/merge.c:830
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:819
+#: builtin/merge.c:849
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:872
+#: builtin/merge.c:902
 #, 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:911
+#: builtin/merge.c:941
 msgid "No current branch."
 msgstr "没有当前分支。"
 
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:913
+#: builtin/merge.c:943
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:915
+#: builtin/merge.c:945
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:920
+#: builtin/merge.c:950
 #, 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:973
+#: builtin/merge.c:1007
 #, 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:1075
+#: builtin/merge.c:1110
 #, 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:1109
+#: builtin/merge.c:1144
 msgid "not something we can merge"
 msgstr "不能合并"
 
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1211
+#: builtin/merge.c:1247
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1215
+#: builtin/merge.c:1251
 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:1227
+#: builtin/merge.c:1263
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1267
 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:1247
+#: builtin/merge.c:1283
 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."
@@ -11008,7 +12376,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1290
 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."
@@ -11016,153 +12384,153 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1257
+#: builtin/merge.c:1293
 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:1266
+#: builtin/merge.c:1302
 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:1274
+#: builtin/merge.c:1310
 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:1291
+#: builtin/merge.c:1327
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1329
 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:1298
+#: builtin/merge.c:1334
 #, 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:1300
+#: builtin/merge.c:1336
 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:1334
+#: builtin/merge.c:1370
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1337
+#: builtin/merge.c:1373
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1376
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1343
+#: builtin/merge.c:1379
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1438
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1411
+#: builtin/merge.c:1447
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1421
+#: builtin/merge.c:1457
 #, 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:1462
+#: builtin/merge.c:1498
 #, 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:1469
+#: builtin/merge.c:1505
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1494
+#: builtin/merge.c:1530
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1500
+#: builtin/merge.c:1536
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1523 builtin/merge.c:1602
+#: builtin/merge.c:1559 builtin/merge.c:1638
 #, 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:1527
+#: builtin/merge.c:1563
 #, 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:1593
+#: builtin/merge.c:1629
 #, 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:1595
+#: builtin/merge.c:1631
 #, 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:1604
+#: builtin/merge.c:1640
 #, 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:1616
+#: builtin/merge.c:1652
 #, 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:30
+#: builtin/merge-base.c:31
 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:31
+#: builtin/merge-base.c:32
 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:32
+#: builtin/merge-base.c:33
 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:33
+#: builtin/merge-base.c:34
 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:34
+#: builtin/merge-base.c:35
 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:220
+#: builtin/merge-base.c:221
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:223
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
-#: builtin/merge-base.c:224
+#: builtin/merge-base.c:225
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
-#: builtin/merge-base.c:226
+#: builtin/merge-base.c:227
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
-#: builtin/merge-base.c:228
+#: builtin/merge-base.c:229
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
@@ -11237,19 +12605,19 @@ msgstr "无法解析引用 '%s'"
 msgid "Merging %s with %s\n"
 msgstr "合并 %s 和 %s\n"
 
 msgid "Merging %s with %s\n"
 msgstr "合并 %s 和 %s\n"
 
-#: builtin/mktree.c:65
+#: builtin/mktree.c:66
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
-#: builtin/mktree.c:153
+#: builtin/mktree.c:154
 msgid "input is NUL terminated"
 msgstr "输入以 NUL 字符终止"
 
 msgid "input is NUL terminated"
 msgstr "输入以 NUL 字符终止"
 
-#: builtin/mktree.c:154 builtin/write-tree.c:25
+#: builtin/mktree.c:155 builtin/write-tree.c:25
 msgid "allow missing objects"
 msgstr "允许丢失的对象"
 
 msgid "allow missing objects"
 msgstr "允许丢失的对象"
 
-#: builtin/mktree.c:155
+#: builtin/mktree.c:156
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
@@ -11262,7 +12630,7 @@ msgstr "git mv [<选项>] <源>... <目标>"
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
-#: builtin/mv.c:84 builtin/rm.c:288
+#: builtin/mv.c:84
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或贮藏后再继续"
 
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或贮藏后再继续"
 
@@ -11340,60 +12708,60 @@ 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:715 builtin/repack.c:409
+#: builtin/mv.c:276 builtin/remote.c:716 builtin/repack.c:494
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:338
+#: builtin/name-rev.c:355
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:339
+#: builtin/name-rev.c:356
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:340
+#: builtin/name-rev.c:357
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
-#: builtin/name-rev.c:395
+#: builtin/name-rev.c:413
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:396
+#: builtin/name-rev.c:414
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:398
+#: builtin/name-rev.c:416
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:400
+#: builtin/name-rev.c:418
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:402
+#: builtin/name-rev.c:420
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:403
+#: builtin/name-rev.c:421
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:404
+#: builtin/name-rev.c:422
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:410
+#: builtin/name-rev.c:428
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
-#: builtin/notes.c:26
+#: builtin/notes.c:28
 msgid "git notes [--ref <notes-ref>] [list [<object>]]"
 msgstr "git notes [--ref <注解引用>] [list [<对象>]]"
 
 msgid "git notes [--ref <notes-ref>] [list [<object>]]"
 msgstr "git notes [--ref <注解引用>] [list [<对象>]]"
 
-#: builtin/notes.c:27
+#: builtin/notes.c:29
 msgid ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
 "| (-c | -C) <object>] [<object>]"
 msgid ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
 "| (-c | -C) <object>] [<object>]"
@@ -11401,11 +12769,11 @@ msgstr ""
 "git notes [--ref <注解引用>] add [-f] [--allow-empty] [-m <说明> | -F <文件> "
 "| (-c | -C) <对象>] [<对象>]"
 
 "git notes [--ref <注解引用>] add [-f] [--allow-empty] [-m <说明> | -F <文件> "
 "| (-c | -C) <对象>] [<对象>]"
 
-#: builtin/notes.c:28
+#: builtin/notes.c:30
 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
 msgstr "git notes [--ref <注解引用>] copy [-f] <源对象> <目标对象>"
 
 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
 msgstr "git notes [--ref <注解引用>] copy [-f] <源对象> <目标对象>"
 
-#: builtin/notes.c:29
+#: builtin/notes.c:31
 msgid ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
 "(-c | -C) <object>] [<object>]"
 msgid ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
 "(-c | -C) <object>] [<object>]"
@@ -11413,155 +12781,155 @@ msgstr ""
 "git notes [--ref <注解引用>] append [--allow-empty] [-m <说明> | -F <文件> | "
 "(-c | -C) <对象>] [<对象>]"
 
 "git notes [--ref <注解引用>] append [--allow-empty] [-m <说明> | -F <文件> | "
 "(-c | -C) <对象>] [<对象>]"
 
-#: builtin/notes.c:30
+#: builtin/notes.c:32
 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
 msgstr "git notes [--ref <注解引用>] edit [--allow-empty] [<对象>]"
 
 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
 msgstr "git notes [--ref <注解引用>] edit [--allow-empty] [<对象>]"
 
-#: builtin/notes.c:31
+#: builtin/notes.c:33
 msgid "git notes [--ref <notes-ref>] show [<object>]"
 msgstr "git notes [--ref <注解引用>] show [<对象>]"
 
 msgid "git notes [--ref <notes-ref>] show [<object>]"
 msgstr "git notes [--ref <注解引用>] show [<对象>]"
 
-#: builtin/notes.c:32
+#: builtin/notes.c:34
 msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr "git notes [--ref <注解引用>] merge [-v | -q] [-s <策略> ] <注解引用>"
 
 msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr "git notes [--ref <注解引用>] merge [-v | -q] [-s <策略> ] <注解引用>"
 
-#: builtin/notes.c:33
+#: builtin/notes.c:35
 msgid "git notes merge --commit [-v | -q]"
 msgstr "git notes merge --commit [-v | -q]"
 
 msgid "git notes merge --commit [-v | -q]"
 msgstr "git notes merge --commit [-v | -q]"
 
-#: builtin/notes.c:34
+#: builtin/notes.c:36
 msgid "git notes merge --abort [-v | -q]"
 msgstr "git notes merge --abort [-v | -q]"
 
 msgid "git notes merge --abort [-v | -q]"
 msgstr "git notes merge --abort [-v | -q]"
 
-#: builtin/notes.c:35
+#: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <注解引用>] remove [<对象>...]"
 
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <注解引用>] remove [<对象>...]"
 
-#: builtin/notes.c:36
+#: builtin/notes.c:38
 msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
 msgstr "git notes [--ref <注解引用>] prune [-n] [-v]"
 
 msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
 msgstr "git notes [--ref <注解引用>] prune [-n] [-v]"
 
-#: builtin/notes.c:37
+#: builtin/notes.c:39
 msgid "git notes [--ref <notes-ref>] get-ref"
 msgstr "git notes [--ref <注解引用>] get-ref"
 
 msgid "git notes [--ref <notes-ref>] get-ref"
 msgstr "git notes [--ref <注解引用>] get-ref"
 
-#: builtin/notes.c:42
+#: builtin/notes.c:44
 msgid "git notes [list [<object>]]"
 msgstr "git notes [list [<对象>]]"
 
 msgid "git notes [list [<object>]]"
 msgstr "git notes [list [<对象>]]"
 
-#: builtin/notes.c:47
+#: builtin/notes.c:49
 msgid "git notes add [<options>] [<object>]"
 msgstr "git notes add [<选项>] [<对象>]"
 
 msgid "git notes add [<options>] [<object>]"
 msgstr "git notes add [<选项>] [<对象>]"
 
-#: builtin/notes.c:52
+#: builtin/notes.c:54
 msgid "git notes copy [<options>] <from-object> <to-object>"
 msgstr "git notes copy [<选项>] <源对象> <目标对象>"
 
 msgid "git notes copy [<options>] <from-object> <to-object>"
 msgstr "git notes copy [<选项>] <源对象> <目标对象>"
 
-#: builtin/notes.c:53
+#: builtin/notes.c:55
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
 msgstr "git notes copy --stdin [<源对象> <目标对象>]..."
 
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
 msgstr "git notes copy --stdin [<源对象> <目标对象>]..."
 
-#: builtin/notes.c:58
+#: builtin/notes.c:60
 msgid "git notes append [<options>] [<object>]"
 msgstr "git notes append [<选项>] [<对象>]"
 
 msgid "git notes append [<options>] [<object>]"
 msgstr "git notes append [<选项>] [<对象>]"
 
-#: builtin/notes.c:63
+#: builtin/notes.c:65
 msgid "git notes edit [<object>]"
 msgstr "git notes edit [<对象>]"
 
 msgid "git notes edit [<object>]"
 msgstr "git notes edit [<对象>]"
 
-#: builtin/notes.c:68
+#: builtin/notes.c:70
 msgid "git notes show [<object>]"
 msgstr "git notes show [<对象>]"
 
 msgid "git notes show [<object>]"
 msgstr "git notes show [<对象>]"
 
-#: builtin/notes.c:73
+#: builtin/notes.c:75
 msgid "git notes merge [<options>] <notes-ref>"
 msgstr "git notes merge [<选项>] <注解引用>"
 
 msgid "git notes merge [<options>] <notes-ref>"
 msgstr "git notes merge [<选项>] <注解引用>"
 
-#: builtin/notes.c:74
+#: builtin/notes.c:76
 msgid "git notes merge --commit [<options>]"
 msgstr "git notes merge --commit [<选项>]"
 
 msgid "git notes merge --commit [<options>]"
 msgstr "git notes merge --commit [<选项>]"
 
-#: builtin/notes.c:75
+#: builtin/notes.c:77
 msgid "git notes merge --abort [<options>]"
 msgstr "git notes merge --abort [<选项>]"
 
 msgid "git notes merge --abort [<options>]"
 msgstr "git notes merge --abort [<选项>]"
 
-#: builtin/notes.c:80
+#: builtin/notes.c:82
 msgid "git notes remove [<object>]"
 msgstr "git notes remove [<对象>]"
 
 msgid "git notes remove [<object>]"
 msgstr "git notes remove [<对象>]"
 
-#: builtin/notes.c:85
+#: builtin/notes.c:87
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<选项>]"
 
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<选项>]"
 
-#: builtin/notes.c:90
+#: builtin/notes.c:92
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:95
+#: builtin/notes.c:97
 msgid "Write/edit the notes for the following object:"
 msgstr "为下面的对象写/编辑说明:"
 
 msgid "Write/edit the notes for the following object:"
 msgstr "为下面的对象写/编辑说明:"
 
-#: builtin/notes.c:148
+#: builtin/notes.c:150
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "不能为对象 '%s' 开始 'show'"
 
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "不能为对象 '%s' 开始 'show'"
 
-#: builtin/notes.c:152
+#: builtin/notes.c:154
 msgid "could not read 'show' output"
 msgstr "不能读取 'show' 的输出"
 
 msgid "could not read 'show' output"
 msgstr "不能读取 'show' 的输出"
 
-#: builtin/notes.c:160
+#: builtin/notes.c:162
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "无法为对象 '%s' 完成 'show'"
 
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "无法为对象 '%s' 完成 'show'"
 
-#: builtin/notes.c:195
+#: builtin/notes.c:197
 msgid "please supply the note contents using either -m or -F option"
 msgstr "请通过 -m 或 -F 选项为注解提供内容"
 
 msgid "please supply the note contents using either -m or -F option"
 msgstr "请通过 -m 或 -F 选项为注解提供内容"
 
-#: builtin/notes.c:204
+#: builtin/notes.c:206
 msgid "unable to write note object"
 msgstr "不能写注解对象"
 
 msgid "unable to write note object"
 msgstr "不能写注解对象"
 
-#: builtin/notes.c:206
+#: builtin/notes.c:208
 #, c-format
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
 #, c-format
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:234 builtin/tag.c:507
+#: builtin/notes.c:236 builtin/tag.c:508
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:236 builtin/tag.c:510
+#: builtin/notes.c:238 builtin/tag.c:511
 #, 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:255 builtin/notes.c:306 builtin/notes.c:308
-#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:517
-#: builtin/notes.c:522 builtin/notes.c:600 builtin/notes.c:662
+#: 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
 #, 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:258
+#: builtin/notes.c:260
 #, c-format
 msgid "failed to read object '%s'."
 #, c-format
 msgid "failed to read object '%s'."
-msgstr "无法读取对象 '%s'。"
+msgstr "读取对象 '%s' 失败。"
 
 
-#: builtin/notes.c:262
+#: builtin/notes.c:264
 #, 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:302
+#: builtin/notes.c:304
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "格式错误的输入行:'%s'。"
 
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "格式错误的输入行:'%s'。"
 
-#: builtin/notes.c:317
+#: builtin/notes.c:319
 #, 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' 时失败"
@@ -11569,88 +12937,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:349
+#: builtin/notes.c:351
 #, 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:369 builtin/notes.c:424 builtin/notes.c:500
-#: builtin/notes.c:512 builtin/notes.c:588 builtin/notes.c:655
-#: builtin/notes.c:805 builtin/notes.c:952 builtin/notes.c:973
+#: 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
 msgid "too many parameters"
 msgstr "参数太多"
 
 msgid "too many parameters"
 msgstr "参数太多"
 
-#: builtin/notes.c:382 builtin/notes.c:668
+#: builtin/notes.c:384 builtin/notes.c:670
 #, 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:403 builtin/notes.c:566
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
-#: builtin/notes.c:406 builtin/notes.c:569
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
-#: builtin/notes.c:409 builtin/notes.c:572
+#: builtin/notes.c:411 builtin/notes.c:574
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
-#: builtin/notes.c:412 builtin/notes.c:575
+#: builtin/notes.c:414 builtin/notes.c:577
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
-#: builtin/notes.c:415 builtin/notes.c:578
+#: builtin/notes.c:417 builtin/notes.c:580
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
-#: builtin/notes.c:416 builtin/notes.c:487
+#: builtin/notes.c:418 builtin/notes.c:489
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
-#: builtin/notes.c:441
+#: builtin/notes.c:443
 #, 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:456 builtin/notes.c:535
+#: builtin/notes.c:458 builtin/notes.c:537
 #, 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:467 builtin/notes.c:627 builtin/notes.c:892
+#: builtin/notes.c:469 builtin/notes.c:629 builtin/notes.c:894
 #, 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:488
+#: builtin/notes.c:490
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/notes.c:490
+#: builtin/notes.c:492
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
-#: builtin/notes.c:508
+#: builtin/notes.c:510
 msgid "too few parameters"
 msgstr "参数太少"
 
 msgid "too few parameters"
 msgstr "参数太少"
 
-#: builtin/notes.c:529
+#: builtin/notes.c:531
 #, 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:541
+#: builtin/notes.c:543
 #, 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:593
+#: builtin/notes.c:595
 #, 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"
@@ -11659,97 +13027,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:688
+#: builtin/notes.c:690
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
-msgstr "无法删除引用 NOTES_MERGE_PARTIAL"
+msgstr "删除引用 NOTES_MERGE_PARTIAL 失败"
 
 
-#: builtin/notes.c:690
+#: builtin/notes.c:692
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgid "failed to delete ref NOTES_MERGE_REF"
-msgstr "无法删除引用 NOTES_MERGE_REF"
+msgstr "删除引用 NOTES_MERGE_REF 失败"
 
 
-#: builtin/notes.c:692
+#: builtin/notes.c:694
 msgid "failed to remove 'git notes merge' worktree"
 msgid "failed to remove 'git notes merge' worktree"
-msgstr "无法删除 'git notes merge' 工作区"
+msgstr "删除 'git notes merge' 工作区失败"
 
 
-#: builtin/notes.c:712
+#: builtin/notes.c:714
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
-msgstr "无法读取引用 NOTES_MERGE_PARTIAL"
+msgstr "读取引用 NOTES_MERGE_PARTIAL 失败"
 
 
-#: builtin/notes.c:714
+#: builtin/notes.c:716
 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:716
+#: builtin/notes.c:718
 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:729
+#: builtin/notes.c:731
 msgid "failed to resolve NOTES_MERGE_REF"
 msgid "failed to resolve NOTES_MERGE_REF"
-msgstr "无法解析 NOTES_MERGE_REF"
+msgstr "解析 NOTES_MERGE_REF 失败"
 
 
-#: builtin/notes.c:732
+#: builtin/notes.c:734
 msgid "failed to finalize notes merge"
 msgstr "无法完成注解合并"
 
 msgid "failed to finalize notes merge"
 msgstr "无法完成注解合并"
 
-#: builtin/notes.c:758
+#: builtin/notes.c:760
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "未知的注解合并策略 %s"
 
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "未知的注解合并策略 %s"
 
-#: builtin/notes.c:774
+#: builtin/notes.c:776
 msgid "General options"
 msgstr "通用选项"
 
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:778
 msgid "Merge options"
 msgstr "合并选项"
 
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:778
+#: builtin/notes.c:780
 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:780
+#: builtin/notes.c:782
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:782
+#: builtin/notes.c:784
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:784
+#: builtin/notes.c:786
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:786
+#: builtin/notes.c:788
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:797
+#: builtin/notes.c:799
 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:802
+#: builtin/notes.c:804
 msgid "must specify a notes ref to merge"
 msgstr "必须指定一个注解引用来合并"
 
 msgid "must specify a notes ref to merge"
 msgstr "必须指定一个注解引用来合并"
 
-#: builtin/notes.c:826
+#: builtin/notes.c:828
 #, 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:863
+#: builtin/notes.c:865
 #, 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:866
+#: builtin/notes.c:868
 #, 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:868
+#: builtin/notes.c:870
 #, 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 "
@@ -11759,36 +13127,36 @@ msgstr ""
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
-#: builtin/notes.c:890
+#: builtin/notes.c:892
 #, 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:902
+#: builtin/notes.c:904
 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:905
+#: builtin/notes.c:907
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:943 builtin/prune.c:107 builtin/worktree.c:151
+#: builtin/notes.c:945 builtin/prune.c:108 builtin/worktree.c:152
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/notes.c:944
+#: builtin/notes.c:946
 msgid "report pruned notes"
 msgstr "报告清除的注解"
 
 msgid "report pruned notes"
 msgstr "报告清除的注解"
 
-#: builtin/notes.c:986
+#: builtin/notes.c:988
 msgid "notes-ref"
 msgstr "注解引用"
 
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:987
+#: builtin/notes.c:989
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1022
+#: builtin/notes.c:1024
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
@@ -11803,217 +13171,370 @@ msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:211 builtin/pack-objects.c:214
+#: builtin/pack-objects.c:414
 #, c-format
 #, c-format
-msgid "deflate error (%d)"
-msgstr "压缩错误 (%d)"
+msgid "bad packed object CRC for %s"
+msgstr "%s 错的包对象 CRC"
+
+#: builtin/pack-objects.c:425
+#, c-format
+msgid "corrupt packed object for %s"
+msgstr "%s 损坏的包对象"
+
+#: builtin/pack-objects.c:556
+#, c-format
+msgid "recursive delta detected for object %s"
+msgstr "发现对象 %s 递归 delta"
+
+#: builtin/pack-objects.c:756
+#, c-format
+msgid "ordered %u objects, expected %<PRIu32>"
+msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
+
+#: builtin/pack-objects.c:769
+#, c-format
+msgid "packfile is invalid: %s"
+msgstr "无效的包文件:%s"
+
+#: builtin/pack-objects.c:773
+#, c-format
+msgid "unable to open packfile for reuse: %s"
+msgstr "无法为重用打开包文件:%s"
+
+#: builtin/pack-objects.c:777
+msgid "unable to seek in reused packfile"
+msgstr "无法在重用的包文件中查找"
 
 
-#: builtin/pack-objects.c:810
+#: builtin/pack-objects.c:788
+msgid "unable to read from reused packfile"
+msgstr "无法读取索引文件"
+
+#: builtin/pack-objects.c:816
 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:823
+#: builtin/pack-objects.c:829
 msgid "Writing objects"
 msgstr "写入对象中"
 
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1106
+#: builtin/pack-objects.c:891 builtin/update-index.c:88
+#, c-format
+msgid "failed to stat %s"
+msgstr "对 %s 调用 stat 失败"
+
+#: builtin/pack-objects.c:944
+#, c-format
+msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
+msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
+
+#: builtin/pack-objects.c:1112
 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:1765
+#: builtin/pack-objects.c:1489
+#, c-format
+msgid "delta base offset overflow in pack for %s"
+msgstr "%s 压缩中 delta 基准偏移越界"
+
+#: builtin/pack-objects.c:1498
+#, c-format
+msgid "delta base offset out of bound for %s"
+msgstr "%s 的 delta 基准偏移越界"
+
+#: builtin/pack-objects.c:1771
 msgid "Counting objects"
 msgstr "对象计数中"
 
 msgid "Counting objects"
 msgstr "对象计数中"
 
-#: builtin/pack-objects.c:1895
+#: builtin/pack-objects.c:1913
 #, 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:1910
+#: builtin/pack-objects.c:1928
 #, 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:2564
+#: builtin/pack-objects.c:1995 builtin/pack-objects.c:2011
+#: builtin/pack-objects.c:2021
+#, c-format
+msgid "object %s cannot be read"
+msgstr "对象 %s 无法读取"
+
+#: builtin/pack-objects.c:1998 builtin/pack-objects.c:2025
+#, c-format
+msgid "object %s inconsistent object length (%lu vs %lu)"
+msgstr "对象 %s 的长度不一致(%lu vs %lu)"
+
+#: builtin/pack-objects.c:2035
+msgid "suboptimal pack - out of memory"
+msgstr "次优(suboptimal)打包 - 内存不足"
+
+#: builtin/pack-objects.c:2366
+#, c-format
+msgid "Delta compression using up to %d threads"
+msgstr "使用 %d 个线程进行压缩"
+
+#: builtin/pack-objects.c:2502
+#, c-format
+msgid "unable to pack objects reachable from tag %s"
+msgstr "无法为标签 %s 压缩对象"
+
+#: builtin/pack-objects.c:2586
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2735
+#: builtin/pack-objects.c:2592
+msgid "inconsistency with delta count"
+msgstr "不一致的差异计数"
+
+#
+#: builtin/pack-objects.c:2671
+#, c-format
+msgid ""
+"expected edge object ID, got garbage:\n"
+" %s"
+msgstr ""
+"预期边界对象(edge object)ID,却得到垃圾数据:\n"
+" %s"
+
+#: builtin/pack-objects.c:2677
+#, c-format
+msgid ""
+"expected object ID, got garbage:\n"
+" %s"
+msgstr ""
+"预期对象 ID,却得到垃圾数据:\n"
+" %s"
+
+#: builtin/pack-objects.c:2757
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
-#: builtin/pack-objects.c:3067
+#: builtin/pack-objects.c:2816 builtin/pack-objects.c:2924
+msgid "cannot open pack index"
+msgstr "无法打开包文件索引"
+
+#: builtin/pack-objects.c:2847
+#, c-format
+msgid "loose object at %s could not be examined"
+msgstr "无法检查 %s 处的松散对象"
+
+#: builtin/pack-objects.c:2932
+msgid "unable to force loose object"
+msgstr "无法强制松散对象"
+
+#: builtin/pack-objects.c:3019
+#, c-format
+msgid "not a rev '%s'"
+msgstr "不是一个版本 '%s'"
+
+#: builtin/pack-objects.c:3022
+#, c-format
+msgid "bad revision '%s'"
+msgstr "坏的版本 '%s'"
+
+#: builtin/pack-objects.c:3042
+msgid "unable to add recent objects"
+msgstr "无法添加最近的对象"
+
+#: builtin/pack-objects.c:3092
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:3071
+#: builtin/pack-objects.c:3096
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3102
+#: builtin/pack-objects.c:3127
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:3104
+#: builtin/pack-objects.c:3129
 msgid "show progress meter"
 msgstr "显示进度表"
 
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:3106
+#: builtin/pack-objects.c:3131
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:3109
+#: builtin/pack-objects.c:3134
 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:3110
-msgid "version[,offset]"
-msgstr "版本[,偏移]"
+#: builtin/pack-objects.c:3135
+msgid "<version>[,<offset>]"
+msgstr "<版本>[,<偏移>]"
 
 
-#: builtin/pack-objects.c:3111
+#: builtin/pack-objects.c:3136
 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:3114
+#: builtin/pack-objects.c:3139
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:3116
+#: builtin/pack-objects.c:3141
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:3118
+#: builtin/pack-objects.c:3143
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:3120
+#: builtin/pack-objects.c:3145
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:3122
+#: builtin/pack-objects.c:3147
 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:3124
+#: builtin/pack-objects.c:3149
 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:3126
+#: builtin/pack-objects.c:3151
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:3128
+#: builtin/pack-objects.c:3153
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:3130
+#: builtin/pack-objects.c:3155
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:3132
+#: builtin/pack-objects.c:3157
 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:3134
+#: builtin/pack-objects.c:3159
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3161
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:3138
+#: builtin/pack-objects.c:3163
 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:3141
+#: builtin/pack-objects.c:3166
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3144
+#: builtin/pack-objects.c:3169
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3147
+#: builtin/pack-objects.c:3172
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3150
+#: builtin/pack-objects.c:3175
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3152
+#: builtin/pack-objects.c:3177
 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:3154
+#: builtin/pack-objects.c:3179
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3156
+#: builtin/pack-objects.c:3181
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3158
+#: builtin/pack-objects.c:3183
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3186
 msgid "create thin packs"
 msgstr "创建精简包"
 
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3163
+#: builtin/pack-objects.c:3188
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3165
+#: builtin/pack-objects.c:3190
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3167
+#: builtin/pack-objects.c:3192
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
-#: builtin/pack-objects.c:3169
+#: builtin/pack-objects.c:3194
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3171
+#: builtin/pack-objects.c:3196
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3173
+#: builtin/pack-objects.c:3198
 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:3175
+#: builtin/pack-objects.c:3200
 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:3178
+#: builtin/pack-objects.c:3203
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3181
+#: builtin/pack-objects.c:3206
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3205
+#: builtin/pack-objects.c:3230
 #, 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:3210
+#: builtin/pack-objects.c:3235
 #, 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:3338
+#: builtin/pack-objects.c:3291
+msgid "--max-pack-size cannot be used to build a pack for transfer"
+msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
+
+#: builtin/pack-objects.c:3293
+msgid "minimum pack size limit is 1 MiB"
+msgstr "最小的包文件大小是 1 MB"
+
+#: builtin/pack-objects.c:3298
+msgid "--thin cannot be used to build an indexable pack"
+msgstr "--thin 不能用于创建一个可索引包"
+
+#: builtin/pack-objects.c:3301
+msgid "--keep-unreachable and --unpack-unreachable are incompatible"
+msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
+
+#: builtin/pack-objects.c:3307
+msgid "cannot use --filter without --stdout"
+msgstr "不能使用 --filter 而没有 --stdout"
+
+#: builtin/pack-objects.c:3363
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
+#: builtin/pack-objects.c:3382
+#, c-format
+msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
+msgstr "总共 %<PRIu32> (差异 %<PRIu32>),复用 %<PRIu32> (差异 %<PRIu32>)"
+
 #: builtin/pack-refs.c:7
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<选项>]"
 #: builtin/pack-refs.c:7
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<选项>]"
@@ -12026,31 +13547,31 @@ msgstr "打包一切"
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
-#: builtin/prune-packed.c:8
+#: builtin/prune-packed.c:9
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
-#: builtin/prune-packed.c:41
+#: builtin/prune-packed.c:42
 msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
 
 msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
 
-#: builtin/prune.c:11
+#: builtin/prune.c:12
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<head>...]"
 
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<head>...]"
 
-#: builtin/prune.c:108
+#: builtin/prune.c:109
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:111
+#: builtin/prune.c:112
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
-#: builtin/prune.c:113
+#: builtin/prune.c:114
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
-#: builtin/prune.c:127
+#: builtin/prune.c:128
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
@@ -12075,7 +13596,7 @@ msgstr "和合并相关的选项"
 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:121
+#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:122
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
@@ -12144,7 +13665,7 @@ msgstr "详见 git-pull(1)。"
 msgid "<remote>"
 msgstr "<远程>"
 
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:523
+#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:576
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
@@ -12167,27 +13688,27 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:826
+#: builtin/pull.c:829
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:874
+#: builtin/pull.c:877
 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:882
+#: builtin/pull.c:885
 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:885
+#: builtin/pull.c:888
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:886
+#: builtin/pull.c:889
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:911
+#: builtin/pull.c:914
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -12197,7 +13718,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:916
+#: builtin/pull.c:919
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -12214,15 +13735,15 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:931
+#: builtin/pull.c:934
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:935
+#: builtin/pull.c:938
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:942
+#: builtin/pull.c:945
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
@@ -12373,7 +13894,7 @@ msgstr "推送到 %s\n"
 #: builtin/push.c:361
 #, c-format
 msgid "failed to push some refs to '%s'"
 #: builtin/push.c:361
 #, c-format
 msgid "failed to push some refs to '%s'"
-msgstr "æ\97 æ³\95æ\8e¨é\80\81ä¸\80äº\9bå¼\95ç\94¨å\88° '%s'"
+msgstr "æ\8e¨é\80\81ä¸\80äº\9bå¼\95ç\94¨å\88° '%s' å¤±è´¥"
 
 #: builtin/push.c:395
 #, c-format
 
 #: builtin/push.c:395
 #, c-format
@@ -12426,8 +13947,8 @@ msgid "force updates"
 msgstr "强制更新"
 
 #: builtin/push.c:561 builtin/send-pack.c:181
 msgstr "强制更新"
 
 #: builtin/push.c:561 builtin/send-pack.c:181
-msgid "refname>:<expect"
-msgstr "引用名>:<期望值"
+msgid "<refname>:<expect>"
+msgstr "<引用名>:<期望值>"
 
 #: builtin/push.c:562 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 
 #: builtin/push.c:562 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
@@ -12502,6 +14023,39 @@ msgstr "--all 和 --mirror 不兼容"
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
+#: builtin/range-diff.c:8
+msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
+msgstr "git range-diff [<选项>] <old-base>..<old-tip> <new-base>..<new-tip>"
+
+#: builtin/range-diff.c:9
+msgid "git range-diff [<options>] <old-tip>...<new-tip>"
+msgstr "git range-diff [<选项>] <old-tip>...<new-tip>"
+
+#: builtin/range-diff.c:10
+msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
+msgstr "git range-diff [<选项>] <base> <old-tip> <new-tip>"
+
+#: builtin/range-diff.c:26
+msgid "Percentage by which creation is weighted"
+msgstr "创建权重的百分比"
+
+#: builtin/range-diff.c:28
+msgid "use simple diff colors"
+msgstr "使用简单差异颜色"
+
+#: builtin/range-diff.c:75 builtin/range-diff.c:79
+#, c-format
+msgid "no .. in range: '%s'"
+msgstr "没有在范围中使用 ..:'%s'"
+
+#: builtin/range-diff.c:89
+msgid "single arg format must be symmetric range"
+msgstr "单个参数格式必须是对称范围(即包含...)"
+
+#: builtin/range-diff.c:104
+msgid "need two commit ranges"
+msgstr "需要两个提交范围"
+
 #: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
 #: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
@@ -12584,7 +14138,7 @@ msgstr "git rebase--helper [<选项>]"
 msgid "keep empty commits"
 msgstr "保持空提交"
 
 msgid "keep empty commits"
 msgstr "保持空提交"
 
-#: builtin/rebase--helper.c:26 builtin/revert.c:123
+#: builtin/rebase--helper.c:26 builtin/revert.c:124
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
 msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
@@ -12636,11 +14190,11 @@ msgstr "在待办列表中插入 exec 执行命令"
 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:31
+#: builtin/receive-pack.c:32
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
-#: builtin/receive-pack.c:842
+#: builtin/receive-pack.c:830
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -12666,7 +14220,7 @@ msgstr ""
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
-#: builtin/receive-pack.c:862
+#: builtin/receive-pack.c:850
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -12685,24 +14239,24 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:1935
+#: builtin/receive-pack.c:1923
 msgid "quiet"
 msgstr "静默模式"
 
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1949
+#: builtin/receive-pack.c:1937
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
-#: builtin/reflog.c:532 builtin/reflog.c:537
+#: builtin/reflog.c:536 builtin/reflog.c:541
 #, 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:14
+#: builtin/remote.c:15
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:15
+#: builtin/remote.c:16
 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>"
@@ -12710,81 +14264,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:16 builtin/remote.c:36
+#: builtin/remote.c:17 builtin/remote.c:37
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
-#: builtin/remote.c:17 builtin/remote.c:41
+#: builtin/remote.c:18 builtin/remote.c:42
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
-#: builtin/remote.c:18 builtin/remote.c:46
+#: builtin/remote.c:19 builtin/remote.c:47
 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:19
+#: builtin/remote.c:20
 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:20
+#: builtin/remote.c:21
 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:21
+#: builtin/remote.c:22
 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:22
+#: builtin/remote.c:23
 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:23 builtin/remote.c:72
+#: builtin/remote.c:24 builtin/remote.c:73
 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:24 builtin/remote.c:77
+#: builtin/remote.c:25 builtin/remote.c:78
 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:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 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:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 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:31
+#: builtin/remote.c:32
 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:51
+#: builtin/remote.c:52
 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:52
+#: builtin/remote.c:53
 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:57
+#: builtin/remote.c:58
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
-#: builtin/remote.c:62
+#: builtin/remote.c:63
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
-#: builtin/remote.c:67
+#: builtin/remote.c:68
 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:96
+#: builtin/remote.c:97
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
-#: builtin/remote.c:128
+#: builtin/remote.c:129
 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"
@@ -12792,86 +14346,82 @@ msgstr ""
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
-#: builtin/remote.c:145
+#: builtin/remote.c:146
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
-#: builtin/remote.c:161
+#: builtin/remote.c:162
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
-#: builtin/remote.c:166
+#: builtin/remote.c:167
 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:168
+#: builtin/remote.c:169
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "master branch"
 msgstr "主线分支"
 
 msgid "master branch"
 msgstr "主线分支"
 
-#: builtin/remote.c:170
-msgid "push|fetch"
-msgstr "push|fetch"
-
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 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:183
+#: builtin/remote.c:184
 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:185
+#: builtin/remote.c:186
 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:192 builtin/remote.c:634
+#: builtin/remote.c:193 builtin/remote.c:635
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:196 builtin/remote.c:638
+#: builtin/remote.c:197 builtin/remote.c:639
 #, 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:236
+#: builtin/remote.c:237
 #, 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:342
+#: builtin/remote.c:343
 #, 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:441 builtin/remote.c:449
+#: builtin/remote.c:442 builtin/remote.c:450
 msgid "(matching)"
 msgstr "(匹配)"
 
 msgid "(matching)"
 msgstr "(匹配)"
 
-#: builtin/remote.c:453
+#: builtin/remote.c:454
 msgid "(delete)"
 msgstr "(删除)"
 
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:627 builtin/remote.c:762 builtin/remote.c:861
+#: builtin/remote.c:628 builtin/remote.c:764 builtin/remote.c:863
 #, c-format
 msgid "No such remote: %s"
 msgstr "没有这样的远程:%s"
 
 #, c-format
 msgid "No such remote: %s"
 msgstr "没有这样的远程:%s"
 
-#: builtin/remote.c:644
+#: builtin/remote.c:645
 #, 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:664
+#: builtin/remote.c:665
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -12882,17 +14432,17 @@ msgstr ""
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:700
+#: builtin/remote.c:701
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:734
+#: builtin/remote.c:735
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:799
+#: builtin/remote.c:801
 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:"
@@ -12902,118 +14452,118 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:813
+#: builtin/remote.c:815
 #, 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:914
+#: builtin/remote.c:916
 #, 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:917
+#: builtin/remote.c:919
 msgid " tracked"
 msgstr " 已跟踪"
 
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:919
+#: builtin/remote.c:921
 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:921
+#: builtin/remote.c:923
 msgid " ???"
 msgstr " ???"
 
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:962
+#: builtin/remote.c:964
 #, 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:971
+#: builtin/remote.c:973
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:975
 #, 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:976
+#: builtin/remote.c:978
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:980
+#: builtin/remote.c:982
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:985
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:988
 #, 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:1029
+#: builtin/remote.c:1031
 msgid "create"
 msgstr "创建"
 
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1034
 msgid "delete"
 msgstr "删除"
 
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1038
 msgid "up to date"
 msgstr "最新"
 
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1041
 msgid "fast-forwardable"
 msgstr "可快进"
 
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1044
 msgid "local out of date"
 msgstr "本地已过时"
 
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1049
+#: builtin/remote.c:1051
 #, 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:1052
+#: builtin/remote.c:1054
 #, 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:1056
+#: builtin/remote.c:1058
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1061
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1127
+#: builtin/remote.c:1129
 msgid "do not query remotes"
 msgstr "不查询远程"
 
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1154
+#: builtin/remote.c:1156
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1155
+#: builtin/remote.c:1157
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1156 builtin/remote.c:1172 builtin/remote.c:1311
+#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
 msgid "(no URL)"
 msgstr "(无 URL)"
 
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -13021,32 +14571,32 @@ msgstr "(无 URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1170 builtin/remote.c:1172
+#: builtin/remote.c:1172 builtin/remote.c:1174
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1174 builtin/remote.c:1176 builtin/remote.c:1178
+#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1174
+#: builtin/remote.c:1176
 msgid "(not queried)"
 msgstr "(未查询)"
 
 msgid "(not queried)"
 msgstr "(未查询)"
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1178
 msgid "(unknown)"
 msgstr "(未知)"
 
 msgid "(unknown)"
 msgstr "(未知)"
 
-#: builtin/remote.c:1180
+#: builtin/remote.c:1182
 #, 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:1192
+#: builtin/remote.c:1194
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -13054,164 +14604,164 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1195 builtin/remote.c:1221
+#: builtin/remote.c:1197 builtin/remote.c:1223
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1204
+#: builtin/remote.c:1206
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  为 'git pull' 配置的本地分支:"
 msgstr[1] "  为 'git pull' 配置的本地分支:"
 
 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:1212
+#: builtin/remote.c:1214
 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:1218
+#: builtin/remote.c:1220
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  为 'git push' 配置的本地引用%s:"
 msgstr[1] "  为 'git push' 配置的本地引用%s:"
 
 #, 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:1239
+#: builtin/remote.c:1241
 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:1241
+#: builtin/remote.c:1243
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1256
+#: builtin/remote.c:1258
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1260
 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:1268
+#: builtin/remote.c:1270
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1276
+#: builtin/remote.c:1278
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1280
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1296
+#: builtin/remote.c:1298
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1297
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1307
+#: builtin/remote.c:1309
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1308
+#: builtin/remote.c:1310
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1324
+#: builtin/remote.c:1326
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1329
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1372
+#: builtin/remote.c:1374
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1435 builtin/remote.c:1489 builtin/remote.c:1557
+#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1451
+#: builtin/remote.c:1453
 msgid "add branch"
 msgstr "添加分支"
 
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1458
+#: builtin/remote.c:1460
 msgid "no remote specified"
 msgstr "未指定远程"
 
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1475
+#: builtin/remote.c:1477
 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:1477
+#: builtin/remote.c:1479
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1505
+#: builtin/remote.c:1507
 #, 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:1531
+#: builtin/remote.c:1533
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1533
+#: builtin/remote.c:1535
 msgid "add URL"
 msgstr "添加 URL"
 
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1535
+#: builtin/remote.c:1537
 msgid "delete URLs"
 msgstr "删除 URLS"
 
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1542
+#: builtin/remote.c:1544
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1581
+#: builtin/remote.c:1583
 #, 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:1589
+#: builtin/remote.c:1591
 #, 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:1591
+#: builtin/remote.c:1593
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1607
+#: builtin/remote.c:1609
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
-#: builtin/remote.c:1638
+#: builtin/remote.c:1640
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/repack.c:18
+#: builtin/repack.c:20
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
-#: builtin/repack.c:23
+#: builtin/repack.c:25
 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."
@@ -13219,94 +14769,94 @@ msgstr ""
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:287
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:289
 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:185
+#: builtin/repack.c:292
 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:187
+#: builtin/repack.c:294
 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:189
+#: builtin/repack.c:296
 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:191
+#: builtin/repack.c:298
 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:194
+#: builtin/repack.c:301
 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:196
+#: builtin/repack.c:303
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:197
+#: builtin/repack.c:304
 msgid "approxidate"
 msgstr "近似日期"
 
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:198
+#: builtin/repack.c:305
 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:200
+#: builtin/repack.c:307
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:202
+#: builtin/repack.c:309
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:203 builtin/repack.c:209
+#: builtin/repack.c:310 builtin/repack.c:316
 msgid "bytes"
 msgstr "字节"
 
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:311
 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:206
+#: builtin/repack.c:313
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:208
+#: builtin/repack.c:315
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:210
+#: builtin/repack.c:317
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:212
+#: builtin/repack.c:319
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:214
+#: builtin/repack.c:321
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
 msgid "do not repack this pack"
 msgstr "不要对该包文件重新打包"
 
-#: builtin/repack.c:224
+#: builtin/repack.c:331
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:228
+#: builtin/repack.c:335
 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:425 builtin/worktree.c:139
+#: builtin/repack.c:510 builtin/worktree.c:140
 #, c-format
 msgid "failed to remove '%s'"
 #, c-format
 msgid "failed to remove '%s'"
-msgstr "无法删除 '%s'"
+msgstr "删除 '%s' 失败"
 
 #: builtin/replace.c:22
 msgid "git replace [-f] <object> <replacement>"
 
 #: builtin/replace.c:22
 msgid "git replace [-f] <object> <replacement>"
@@ -13332,11 +14882,110 @@ 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:371 builtin/replace.c:415 builtin/replace.c:445
+#: builtin/replace.c:57 builtin/replace.c:203 builtin/replace.c:206
 #, c-format
 #, c-format
-msgid "Not a valid object name: '%s'"
+msgid "failed to resolve '%s' as a valid ref"
+msgstr "无法将 '%s' 解析为一个有效引用"
+
+#: builtin/replace.c:86
+#, c-format
+msgid ""
+"invalid replace format '%s'\n"
+"valid formats are 'short', 'medium' and 'long'"
+msgstr ""
+"无效的替换格式 '%s'\n"
+"有效的格式有 'short'、'medium' 和 'long'"
+
+#: builtin/replace.c:121
+#, c-format
+msgid "replace ref '%s' not found"
+msgstr "未发现替换引用 '%s'"
+
+#: builtin/replace.c:137
+#, c-format
+msgid "Deleted replace ref '%s'"
+msgstr "删除替换引用 '%s'"
+
+#: builtin/replace.c:149
+#, c-format
+msgid "'%s' is not a valid ref name"
+msgstr "'%s' 不是一个有效的引用名"
+
+#: builtin/replace.c:154
+#, c-format
+msgid "replace ref '%s' already exists"
+msgstr "替换引用 '%s' 已经存在"
+
+#: builtin/replace.c:174
+#, c-format
+msgid ""
+"Objects must be of the same type.\n"
+"'%s' points to a replaced object of type '%s'\n"
+"while '%s' points to a replacement object of type '%s'."
+msgstr ""
+"对象必须属于同一类型。\n"
+"'%s' 指向 '%s' 类型的替换对象\n"
+"而 '%s' 指向 '%s' 类型的替换对象。"
+
+#: builtin/replace.c:225
+#, c-format
+msgid "unable to open %s for writing"
+msgstr "无法为写入打开 %s"
+
+#: builtin/replace.c:238
+msgid "cat-file reported failure"
+msgstr "cat-file 报告失败"
+
+#: builtin/replace.c:254
+#, c-format
+msgid "unable to open %s for reading"
+msgstr "无法为读取打开 %s"
+
+#: builtin/replace.c:268
+msgid "unable to spawn mktree"
+msgstr "无法启动 mktree"
+
+#: builtin/replace.c:272
+msgid "unable to read from mktree"
+msgstr "无法从 mktree 读取"
+
+#: builtin/replace.c:281
+msgid "mktree reported failure"
+msgstr "mktree 报告失败"
+
+#: builtin/replace.c:285
+msgid "mktree did not return an object name"
+msgstr "mktree 没有返回一个对象名"
+
+#: builtin/replace.c:294
+#, c-format
+msgid "unable to fstat %s"
+msgstr "无法对 %s 执行 fstat"
+
+#: builtin/replace.c:299
+msgid "unable to write object to database"
+msgstr "无法向数据库写入对象"
+
+#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415
+#: builtin/replace.c:445
+#, c-format
+msgid "not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
 msgstr "不是一个有效的对象名:'%s'"
 
+#: builtin/replace.c:322
+#, c-format
+msgid "unable to get object type for %s"
+msgstr "无法得到 %s 的对象类型"
+
+#: builtin/replace.c:338
+msgid "editing object file failed"
+msgstr "编辑对象文件失败"
+
+#: builtin/replace.c:347
+#, c-format
+msgid "new object is the same as the old one: '%s'"
+msgstr "新对象和旧对象相同:'%s'"
+
 #: builtin/replace.c:407
 #, c-format
 msgid "bad mergetag in commit '%s'"
 #: builtin/replace.c:407
 #, c-format
 msgid "bad mergetag in commit '%s'"
@@ -13356,8 +15005,8 @@ msgstr "原始提交 '%s' 包含已经丢弃的合并标签 '%s',使用 --edit
 
 #: builtin/replace.c:460
 #, c-format
 
 #: builtin/replace.c:460
 #, c-format
-msgid "the original commit '%s' has a gpg signature."
-msgstr "原始提交 '%s' 中包含一个 GPG 签名"
+msgid "the original commit '%s' has a gpg signature"
+msgstr "原始提交 '%s' 中有一个 gpg 签名"
 
 #: builtin/replace.c:461
 msgid "the signature will be removed in the replacement commit!"
 
 #: builtin/replace.c:461
 msgid "the signature will be removed in the replacement commit!"
@@ -13368,6 +15017,16 @@ msgstr "在替换的提交中签名将被移除!"
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
+#: builtin/replace.c:479
+#, c-format
+msgid "graft for '%s' unnecessary"
+msgstr "对 '%s' 移植没有必要"
+
+#: builtin/replace.c:482
+#, c-format
+msgid "new commit is the same as the old one: '%s'"
+msgstr "新提交和旧的一样:'%s'"
+
 #: builtin/replace.c:514
 #, c-format
 msgid ""
 #: builtin/replace.c:514
 #, c-format
 msgid ""
@@ -13409,6 +15068,42 @@ msgstr "不要为 --edit 操作美观显示内容"
 msgid "use this format"
 msgstr "使用此格式"
 
 msgid "use this format"
 msgstr "使用此格式"
 
+#: builtin/replace.c:556
+msgid "--format cannot be used when not listing"
+msgstr "不列示时不能使用 --format"
+
+#: builtin/replace.c:564
+msgid "-f only makes sense when writing a replacement"
+msgstr "只有写一个替换时 -f 才有意义"
+
+#: builtin/replace.c:568
+msgid "--raw only makes sense with --edit"
+msgstr "--raw 只有和 --edit 共用才有意义"
+
+#: builtin/replace.c:574
+msgid "-d needs at least one argument"
+msgstr "-d 需要至少一个参数"
+
+#: builtin/replace.c:580
+msgid "bad number of arguments"
+msgstr "错误的参数个数"
+
+#: builtin/replace.c:586
+msgid "-e needs exactly one argument"
+msgstr "-e 只需要一个参数"
+
+#: builtin/replace.c:592
+msgid "-g needs at least one argument"
+msgstr "-g 需要至少一个参数"
+
+#: builtin/replace.c:598
+msgid "--convert-graft-file takes no argument"
+msgstr "--convert-graft-file 不带参数"
+
+#: builtin/replace.c:604
+msgid "only one pattern can be given with -l"
+msgstr "只能为 -l 提供一个模式"
+
 #: builtin/rerere.c:13
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
 #: builtin/rerere.c:13
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
@@ -13545,24 +15240,24 @@ msgstr "不能重置索引文件至版本 '%s'。"
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:397
+#: builtin/rev-list.c:399
 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:455
+#: builtin/rev-list.c:457
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
-#: builtin/rev-list.c:458
+#: builtin/rev-list.c:460
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
-#: builtin/rev-list.c:499
+#: builtin/rev-list.c:501
 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:502
+#: builtin/rev-list.c:504
 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 和对象过滤组合使用"
 
@@ -13596,84 +15291,84 @@ msgstr ""
 "\n"
 "初次使用时执行 \"git rev-parse --parseopt -h\" 来获得更多信息。"
 
 "\n"
 "初次使用时执行 \"git rev-parse --parseopt -h\" 来获得更多信息。"
 
-#: builtin/revert.c:23
+#: builtin/revert.c:24
 msgid "git revert [<options>] <commit-ish>..."
 msgstr "git revert [<选项>] <提交号>..."
 
 msgid "git revert [<options>] <commit-ish>..."
 msgstr "git revert [<选项>] <提交号>..."
 
-#: builtin/revert.c:24
+#: builtin/revert.c:25
 msgid "git revert <subcommand>"
 msgstr "git revert <子命令>"
 
 msgid "git revert <subcommand>"
 msgstr "git revert <子命令>"
 
-#: builtin/revert.c:29
+#: builtin/revert.c:30
 msgid "git cherry-pick [<options>] <commit-ish>..."
 msgstr "git cherry-pick [<选项>] <提交号>..."
 
 msgid "git cherry-pick [<options>] <commit-ish>..."
 msgstr "git cherry-pick [<选项>] <提交号>..."
 
-#: builtin/revert.c:30
+#: builtin/revert.c:31
 msgid "git cherry-pick <subcommand>"
 msgstr "git cherry-pick <子命令>"
 
 msgid "git cherry-pick <subcommand>"
 msgstr "git cherry-pick <子命令>"
 
-#: builtin/revert.c:90
+#: builtin/revert.c:91
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s:%s 不能和 %s 同时使用"
 
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s:%s 不能和 %s 同时使用"
 
-#: builtin/revert.c:99
+#: builtin/revert.c:100
 msgid "end revert or cherry-pick sequence"
 msgstr "终止反转或拣选操作"
 
 msgid "end revert or cherry-pick sequence"
 msgstr "终止反转或拣选操作"
 
-#: builtin/revert.c:100
+#: builtin/revert.c:101
 msgid "resume revert or cherry-pick sequence"
 msgstr "继续反转或拣选操作"
 
 msgid "resume revert or cherry-pick sequence"
 msgstr "继续反转或拣选操作"
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 msgid "cancel revert or cherry-pick sequence"
 msgstr "取消反转或拣选操作"
 
 msgid "cancel revert or cherry-pick sequence"
 msgstr "取消反转或拣选操作"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:103
 msgid "don't automatically commit"
 msgstr "不要自动提交"
 
 msgid "don't automatically commit"
 msgstr "不要自动提交"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:104
 msgid "edit the commit message"
 msgstr "编辑提交说明"
 
 msgid "edit the commit message"
 msgstr "编辑提交说明"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:107
 msgid "parent-number"
 msgstr "父编号"
 
 msgid "parent-number"
 msgstr "父编号"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:108
 msgid "select mainline parent"
 msgstr "选择主干父提交编号"
 
 msgid "select mainline parent"
 msgstr "选择主干父提交编号"
 
-#: builtin/revert.c:109
+#: builtin/revert.c:110
 msgid "merge strategy"
 msgstr "合并策略"
 
 msgid "merge strategy"
 msgstr "合并策略"
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "option"
 msgstr "选项"
 
 msgid "option"
 msgstr "选项"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:112
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
 
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
 
-#: builtin/revert.c:120
+#: builtin/revert.c:121
 msgid "append commit name"
 msgstr "追加提交名称"
 
 msgid "append commit name"
 msgstr "追加提交名称"
 
-#: builtin/revert.c:122
+#: builtin/revert.c:123
 msgid "preserve initially empty commits"
 msgstr "保留初始化的空提交"
 
 msgid "preserve initially empty commits"
 msgstr "保留初始化的空提交"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:125
 msgid "keep redundant, empty commits"
 msgstr "保持多余的、空的提交"
 
 msgid "keep redundant, empty commits"
 msgstr "保持多余的、空的提交"
 
-#: builtin/revert.c:214
+#: builtin/revert.c:219
 msgid "revert failed"
 msgstr "还原失败"
 
 msgid "revert failed"
 msgstr "还原失败"
 
-#: builtin/revert.c:227
+#: builtin/revert.c:232
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
@@ -13739,6 +15434,10 @@ msgstr "允许递归删除"
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
+#: builtin/rm.c:288
+msgid "please stage your changes to .gitmodules or stash them to proceed"
+msgstr "请将您的修改暂存到 .gitmodules 中或贮藏后再继续"
+
 #: builtin/rm.c:306
 #, c-format
 msgid "not removing '%s' recursively without -r"
 #: builtin/rm.c:306
 #, c-format
 msgid "not removing '%s' recursively without -r"
@@ -13818,18 +15517,18 @@ msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
 #: builtin/shortlog.c:271
 msgstr "显示每个作者的电子邮件地址"
 
 #: builtin/shortlog.c:271
-msgid "w[,i1[,i2]]"
-msgstr "w[,i1[,i2]]"
+msgid "<w>[,<i1>[,<i2>]]"
+msgstr "<w>[,<i1>[,<i2>]]"
 
 #: builtin/shortlog.c:272
 msgid "Linewrap output"
 msgstr "折行输出"
 
 
 #: builtin/shortlog.c:272
 msgid "Linewrap output"
 msgstr "折行输出"
 
-#: builtin/shortlog.c:298
+#: builtin/shortlog.c:299
 msgid "too many arguments given outside repository"
 msgstr "仓库外执行提供了太多的参数"
 
 msgid "too many arguments given outside repository"
 msgstr "仓库外执行提供了太多的参数"
 
-#: builtin/show-branch.c:12
+#: builtin/show-branch.c:13
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -13841,129 +15540,129 @@ msgstr ""
 "\t\t[--more=<n> | --list | --independent | --merge-base]\n"
 "\t\t[--no-name | --sha1-name] [--topics] [(<版本> | <通配符>)...]"
 
 "\t\t[--more=<n> | --list | --independent | --merge-base]\n"
 "\t\t[--no-name | --sha1-name] [--topics] [(<版本> | <通配符>)...]"
 
-#: builtin/show-branch.c:16
+#: builtin/show-branch.c:17
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<起始点>]] [--list] [<引用>]"
 
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<起始点>]] [--list] [<引用>]"
 
-#: builtin/show-branch.c:376
+#: builtin/show-branch.c:395
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "忽略 %s,无法处理 %d 个以上的引用"
 msgstr[1] "忽略 %s,无法处理 %d 个以上的引用"
 
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "忽略 %s,无法处理 %d 个以上的引用"
 msgstr[1] "忽略 %s,无法处理 %d 个以上的引用"
 
-#: builtin/show-branch.c:530
+#: builtin/show-branch.c:549
 #, c-format
 msgid "no matching refs with %s"
 msgstr "没有和 %s 匹配的引用"
 
 #, c-format
 msgid "no matching refs with %s"
 msgstr "没有和 %s 匹配的引用"
 
-#: builtin/show-branch.c:626
+#: builtin/show-branch.c:645
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:628
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:630
+#: builtin/show-branch.c:649
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:632
+#: builtin/show-branch.c:651
 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:634
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:635
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:637
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "包括当前分支"
 
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:639
+#: builtin/show-branch.c:658
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:641
+#: builtin/show-branch.c:660
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:643
+#: builtin/show-branch.c:662
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:664
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:667
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:669
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:671
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:675
 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:690
+#: builtin/show-branch.c:711
 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:714
+#: builtin/show-branch.c:735
 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:717
+#: builtin/show-branch.c:738
 msgid "--reflog option needs one branch name"
 msgstr "选项 --reflog 需要一个分支名"
 
 msgid "--reflog option needs one branch name"
 msgstr "选项 --reflog 需要一个分支名"
 
-#: builtin/show-branch.c:720
+#: builtin/show-branch.c:741
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "一次只能显示 %d 个条目。"
 msgstr[1] "一次只能显示 %d 个条目。"
 
 #, 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:724
+#: builtin/show-branch.c:745
 #, c-format
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
 #, c-format
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
-#: builtin/show-branch.c:808
+#: builtin/show-branch.c:829
 #, 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:812
+#: builtin/show-branch.c:833
 #, 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:815
+#: builtin/show-branch.c:836
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "不能找到提交 %s(%s)"
 
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "不能找到提交 %s(%s)"
 
-#: builtin/show-ref.c:10
+#: builtin/show-ref.c:11
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
@@ -13971,39 +15670,39 @@ msgstr ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<模式>...]"
 
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<模式>...]"
 
-#: builtin/show-ref.c:11
+#: builtin/show-ref.c:12
 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:159
+#: builtin/show-ref.c:160
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
-#: builtin/show-ref.c:160
+#: builtin/show-ref.c:161
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
-#: builtin/show-ref.c:161
+#: builtin/show-ref.c:162
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
-#: builtin/show-ref.c:164 builtin/show-ref.c:166
+#: builtin/show-ref.c:165 builtin/show-ref.c:167
 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:168
+#: builtin/show-ref.c:169
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:170
+#: builtin/show-ref.c:171
 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:174
+#: builtin/show-ref.c:175
 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:176
+#: builtin/show-ref.c:177
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
@@ -14023,12 +15722,12 @@ 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:1688
+#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1833
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1697
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1842
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -14037,130 +15736,159 @@ msgstr "期望一个完整的引用名称,却得到 %s"
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote 不带参数"
 
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote 不带参数"
 
-#: builtin/submodule--helper.c:98
+#: builtin/submodule--helper.c:99
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:406 builtin/submodule--helper.c:1211
+#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1356
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:411
+#: builtin/submodule--helper.c:412
 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:462 builtin/submodule--helper.c:485
+#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:606
+#: builtin/submodule--helper.c:629
 #, 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"
 
-#: builtin/submodule--helper.c:500
+#: builtin/submodule--helper.c:521
+#, c-format
+msgid "Entering '%s'\n"
+msgstr "进入 '%s'\n"
+
+#: builtin/submodule--helper.c:524
+#, c-format
+msgid ""
+"run_command returned non-zero status for %s\n"
+"."
+msgstr "对 %s 执行 run_command 返回非零值。\n."
+
+#: builtin/submodule--helper.c:545
+#, c-format
+msgid ""
+"run_command returned non-zero status while recursing in the nested "
+"submodules of %s\n"
+"."
+msgstr "在递归 %s 的子模组执行 run_command 时返回非零值。\n."
+
+#: builtin/submodule--helper.c:561
+msgid "Suppress output of entering each submodule command"
+msgstr "阻止进入每一个子模组命令的输出"
+
+#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1040
+msgid "Recurse into nested submodules"
+msgstr "递归进入嵌套子模组中"
+
+#: builtin/submodule--helper.c:568
+msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
+msgstr "git submodule--helper foreach [--quiet] [--recursive] <命令>"
+
+#: builtin/submodule--helper.c:644
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:511
+#: builtin/submodule--helper.c:655
 #, 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:515
+#: builtin/submodule--helper.c:659
 #, 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:525
+#: builtin/submodule--helper.c:669
 #, 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:532
+#: builtin/submodule--helper.c:676
 #, 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:554
+#: builtin/submodule--helper.c:698
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
-#: builtin/submodule--helper.c:559
+#: builtin/submodule--helper.c:703
 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:631 builtin/submodule--helper.c:757
+#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:901
 #, 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:670
+#: builtin/submodule--helper.c:814
 #, 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:697 builtin/submodule--helper.c:866
+#: builtin/submodule--helper.c:841 builtin/submodule--helper.c:1010
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 #, c-format
 msgid "failed to recurse into submodule '%s'"
-msgstr "无法递归子模组 '%s'"
+msgstr "递归子模组 '%s' 失败"
 
 
-#: builtin/submodule--helper.c:721 builtin/submodule--helper.c:1031
+#: builtin/submodule--helper.c:865 builtin/submodule--helper.c:1176
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
-#: builtin/submodule--helper.c:722
+#: builtin/submodule--helper.c:866
 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:723
+#: builtin/submodule--helper.c:867
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:728
+#: builtin/submodule--helper.c:872
 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:752
+#: builtin/submodule--helper.c:896
 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:816
+#: builtin/submodule--helper.c:960
 #, 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:822
+#: builtin/submodule--helper.c:966
 #, 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:836
+#: builtin/submodule--helper.c:980
 #, 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:847
+#: builtin/submodule--helper.c:991
 #, 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:895
+#: builtin/submodule--helper.c:1038
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
-#: builtin/submodule--helper.c:897
-msgid "Recurse into nested submodules"
-msgstr "递归进入嵌套子模组中"
-
-#: builtin/submodule--helper.c:902
+#: builtin/submodule--helper.c:1045
 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:956
+#: builtin/submodule--helper.c:1099
 #, 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 "
@@ -14169,87 +15897,87 @@ msgstr ""
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
 "子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
 "-rf' 命令)"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:1111
 #, 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:976
+#: builtin/submodule--helper.c:1119
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:978
+#: builtin/submodule--helper.c:1121
 #, 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:987
+#: builtin/submodule--helper.c:1132
 #, 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:1003
+#: builtin/submodule--helper.c:1148
 #, 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:1032
+#: builtin/submodule--helper.c:1177
 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:1033
+#: builtin/submodule--helper.c:1178
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1038
+#: builtin/submodule--helper.c:1183
 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:1052
+#: builtin/submodule--helper.c:1197
 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:1145 builtin/submodule--helper.c:1148
+#: builtin/submodule--helper.c:1290 builtin/submodule--helper.c:1293
 #, 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:1184
+#: builtin/submodule--helper.c:1329
 #, 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:1191
+#: builtin/submodule--helper.c:1336
 #, 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:1214
+#: builtin/submodule--helper.c:1359
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1217
+#: builtin/submodule--helper.c:1362
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1220
+#: builtin/submodule--helper.c:1365
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1228
+#: builtin/submodule--helper.c:1373
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1606
+#: builtin/submodule--helper.c:1376 builtin/submodule--helper.c:1751
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1236
+#: builtin/submodule--helper.c:1381
 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>"
@@ -14257,102 +15985,102 @@ 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:1267
+#: builtin/submodule--helper.c:1412
 #, 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:1281
+#: builtin/submodule--helper.c:1426
 #, 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:1347
+#: builtin/submodule--helper.c:1492
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:1351
+#: builtin/submodule--helper.c:1496
 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:1380
+#: builtin/submodule--helper.c:1525
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:1409
+#: builtin/submodule--helper.c:1554
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:1544
+#: builtin/submodule--helper.c:1689
 #, 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:1555
+#: builtin/submodule--helper.c:1700
 #, 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:1585 builtin/submodule--helper.c:1808
+#: builtin/submodule--helper.c:1730 builtin/submodule--helper.c:1953
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:1588
+#: builtin/submodule--helper.c:1733
 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:1592
+#: builtin/submodule--helper.c:1737
 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:1598
+#: builtin/submodule--helper.c:1743
 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:1601
+#: builtin/submodule--helper.c:1746
 msgid "parallel jobs"
 msgstr "并发任务"
 
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1603
+#: builtin/submodule--helper.c:1748
 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:1604
+#: builtin/submodule--helper.c:1749
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1611
+#: builtin/submodule--helper.c:1756
 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:1624
+#: builtin/submodule--helper.c:1769
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1692
+#: builtin/submodule--helper.c:1837
 #, 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:1809
+#: builtin/submodule--helper.c:1954
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:1815
+#: builtin/submodule--helper.c:1960
 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:1901
+#: builtin/submodule--helper.c:2071
 #, 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:1907
+#: builtin/submodule--helper.c:2077
 #, 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 子命令"
@@ -14377,26 +16105,26 @@ msgstr "删除符号引用"
 msgid "shorten ref output"
 msgstr "缩短引用输出"
 
 msgid "shorten ref output"
 msgstr "缩短引用输出"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
 msgid "reason"
 msgstr "原因"
 
 msgid "reason"
 msgstr "原因"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
 msgid "reason of the update"
 msgstr "更新的原因"
 
 msgid "reason of the update"
 msgstr "更新的原因"
 
-#: builtin/tag.c:24
+#: builtin/tag.c:25
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
 "[<head>]"
 msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <说明> | -F <文件>] <标签名> [<头>]"
 
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
 "[<head>]"
 msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <说明> | -F <文件>] <标签名> [<头>]"
 
-#: builtin/tag.c:25
+#: builtin/tag.c:26
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
@@ -14406,21 +16134,21 @@ msgstr ""
 "at <对象>]\n"
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
 "at <对象>]\n"
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
-#: builtin/tag.c:28
+#: builtin/tag.c:29
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<格式>] <标签名>..."
 
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<格式>] <标签名>..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:102
+#: builtin/tag.c:103
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:132
+#: builtin/tag.c:133
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -14433,7 +16161,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:136
+#: builtin/tag.c:137
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -14447,178 +16175,173 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:190
+#: builtin/tag.c:191
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:192
+#: builtin/tag.c:193
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/tag.c:217
+#: builtin/tag.c:218
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:266
+#: builtin/tag.c:267
 msgid "no tag message?"
 msgstr "无标签说明?"
 
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:273
+#: builtin/tag.c:274
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:382
+#: builtin/tag.c:383
 msgid "list tag names"
 msgstr "列出标签名称"
 
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:384
+#: builtin/tag.c:385
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:386
+#: builtin/tag.c:387
 msgid "delete tags"
 msgstr "删除标签"
 
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:388
 msgid "verify tags"
 msgstr "验证标签"
 
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:389
+#: builtin/tag.c:390
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:391
+#: builtin/tag.c:392
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:393
+#: builtin/tag.c:394
 msgid "tag message"
 msgstr "标签说明"
 
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:395
+#: builtin/tag.c:396
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:397
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:401
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:402
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:402 builtin/update-ref.c:368
+#: builtin/tag.c:403 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "创建引用日志"
 
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:405
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:406
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:406 builtin/tag.c:408
+#: builtin/tag.c:407 builtin/tag.c:409
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:407 builtin/tag.c:409
+#: builtin/tag.c:408 builtin/tag.c:410
 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:410
+#: builtin/tag.c:411
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:411
+#: builtin/tag.c:412
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:416
+#: builtin/tag.c:417
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:460
+#: builtin/tag.c:461
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:482
+#: builtin/tag.c:483
 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:484
+#: builtin/tag.c:485
 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:486
+#: builtin/tag.c:487
 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:488
+#: builtin/tag.c:489
 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:490
+#: builtin/tag.c:491
 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:501
+#: builtin/tag.c:502
 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:520
+#: builtin/tag.c:521
 msgid "too many params"
 msgstr "太多参数"
 
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:526
+#: builtin/tag.c:527
 #, 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:531
+#: builtin/tag.c:532
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:562
+#: builtin/tag.c:563
 #, 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"
 
-#: builtin/unpack-objects.c:498
+#: builtin/unpack-objects.c:500
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
 #: builtin/update-index.c:82
 #, c-format
 msgid "failed to create directory %s"
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
 #: builtin/update-index.c:82
 #, c-format
 msgid "failed to create directory %s"
-msgstr "无法创建目录 %s"
-
-#: builtin/update-index.c:88
-#, c-format
-msgid "failed to stat %s"
-msgstr "对 %s 调用 stat 失败"
+msgstr "创建目录 %s 失败"
 
 #: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
 
 #: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
-msgstr "无法创建文件 %s"
+msgstr "创建文件 %s 失败"
 
 #: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
 
 #: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
-msgstr "无法删除文件 %s"
+msgstr "删除文件 %s 失败"
 
 #: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
 
 #: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
-msgstr "无法删除目录 %s"
+msgstr "删除目录 %s 失败"
 
 #: builtin/update-index.c:138
 #, c-format
 
 #: builtin/update-index.c:138
 #, c-format
@@ -14653,157 +16376,157 @@ msgstr "删除一个目录后,目录的状态信息未改变"
 msgid " OK"
 msgstr " OK"
 
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:588
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:944
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:949
+#: builtin/update-index.c:947
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:950
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:952
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:956
+#: builtin/update-index.c:954
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:958
+#: builtin/update-index.c:956
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:961
+#: builtin/update-index.c:959
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:963
 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:969
+#: builtin/update-index.c:967
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:968
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:977
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:980
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:983
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:986
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:989
 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:993
+#: builtin/update-index.c:991
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:993
 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:997
+#: builtin/update-index.c:995
 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:1001
+#: builtin/update-index.c:999
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1003
 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:1009
+#: builtin/update-index.c:1007
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1013
+#: builtin/update-index.c:1011
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1014
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1018
+#: builtin/update-index.c:1016
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1020
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1022
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1024
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1026
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1030
+#: builtin/update-index.c:1028
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1030
 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:1034
+#: builtin/update-index.c:1032
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1034
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1037
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1138
+#: builtin/update-index.c:1136
 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:1147
+#: builtin/update-index.c:1145
 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:1158
+#: builtin/update-index.c:1156
 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"
@@ -14811,11 +16534,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1162
+#: builtin/update-index.c:1160
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1170
+#: builtin/update-index.c:1168
 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"
@@ -14823,25 +16546,25 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1174
+#: builtin/update-index.c:1172
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1180
 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:1186
+#: builtin/update-index.c:1184
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1189
+#: builtin/update-index.c:1187
 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:1193
+#: builtin/update-index.c:1191
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -14857,19 +16580,19 @@ msgstr "git update-ref [<选项>]    <引用名> <新值> [<旧值>]"
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<选项>] --stdin [-z]"
 
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<选项>] --stdin [-z]"
 
-#: builtin/update-ref.c:363
+#: builtin/update-ref.c:364
 msgid "delete the reference"
 msgstr "删除引用"
 
 msgid "delete the reference"
 msgstr "删除引用"
 
-#: builtin/update-ref.c:365
+#: builtin/update-ref.c:366
 msgid "update <refname> not the one it points to"
 msgstr "更新 <引用名> 本身而不是它指向的引用"
 
 msgid "update <refname> not the one it points to"
 msgstr "更新 <引用名> 本身而不是它指向的引用"
 
-#: builtin/update-ref.c:366
+#: builtin/update-ref.c:367
 msgid "stdin has NUL-terminated arguments"
 msgstr "标准输入有以 NUL 字符终止的参数"
 
 msgid "stdin has NUL-terminated arguments"
 msgstr "标准输入有以 NUL 字符终止的参数"
 
-#: builtin/update-ref.c:367
+#: builtin/update-ref.c:368
 msgid "read updates from stdin"
 msgstr "从标准输入读取更新"
 
 msgid "read updates from stdin"
 msgstr "从标准输入读取更新"
 
@@ -14897,15 +16620,15 @@ msgstr "如果 <目录> 不是一个 Git 目录,不要尝试 <目录>/.git/"
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
-#: builtin/verify-commit.c:18
+#: builtin/verify-commit.c:20
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <提交>..."
 
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <提交>..."
 
-#: builtin/verify-commit.c:73
+#: builtin/verify-commit.c:76
 msgid "print commit contents"
 msgstr "打印提交内容"
 
 msgid "print commit contents"
 msgstr "打印提交内容"
 
-#: builtin/verify-commit.c:74 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
 msgid "print raw gpg status output"
 msgstr "打印原始 gpg 状态输出"
 
 msgid "print raw gpg status output"
 msgstr "打印原始 gpg 状态输出"
 
@@ -14957,213 +16680,213 @@ 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:58
+#: builtin/worktree.c:59
 #, 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:64
+#: builtin/worktree.c:65
 #, 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:69 builtin/worktree.c:78
+#: builtin/worktree.c:70 builtin/worktree.c:79
 #, 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:88
+#: builtin/worktree.c:89
 #, 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:96
+#: builtin/worktree.c:97
 #, 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:105
+#: builtin/worktree.c:106
 #, 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:152
+#: builtin/worktree.c:153
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
-#: builtin/worktree.c:154
+#: builtin/worktree.c:155
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
-#: builtin/worktree.c:229
+#: builtin/worktree.c:230
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:260
+#: builtin/worktree.c:261
 #, 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:373 builtin/worktree.c:379
+#: builtin/worktree.c:380 builtin/worktree.c:386
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
-#: builtin/worktree.c:375
+#: builtin/worktree.c:382
 #, 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:384
+#: builtin/worktree.c:391
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
-#: builtin/worktree.c:390
+#: builtin/worktree.c:397
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:438
 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:434
+#: builtin/worktree.c:441
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:436
+#: builtin/worktree.c:443
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:438
+#: builtin/worktree.c:445
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:439
+#: builtin/worktree.c:446
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:441
+#: builtin/worktree.c:449
 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:444
+#: builtin/worktree.c:452
 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:452
+#: builtin/worktree.c:460
 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:511
+#: builtin/worktree.c:521
 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:611
+#: builtin/worktree.c:621
 msgid "reason for locking"
 msgstr "锁定原因"
 
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:623 builtin/worktree.c:656 builtin/worktree.c:710
-#: builtin/worktree.c:850
+#: builtin/worktree.c:633 builtin/worktree.c:666 builtin/worktree.c:720
+#: builtin/worktree.c:860
 #, 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:625 builtin/worktree.c:658
+#: builtin/worktree.c:635 builtin/worktree.c:668
 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:630
+#: builtin/worktree.c:640
 #, 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:632
+#: builtin/worktree.c:642
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:660
+#: builtin/worktree.c:670
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:685
+#: builtin/worktree.c:695
 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:712 builtin/worktree.c:852
+#: builtin/worktree.c:722 builtin/worktree.c:862
 #, 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:717
+#: builtin/worktree.c:727
 #, 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:723
+#: builtin/worktree.c:733
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
-#: builtin/worktree.c:730
+#: builtin/worktree.c:740
 #, c-format
 msgid "cannot move a locked working tree, lock reason: %s"
 msgstr "无法移动一个锁定的工作区,锁定原因:%s"
 
 #, c-format
 msgid "cannot move a locked working tree, lock reason: %s"
 msgstr "无法移动一个锁定的工作区,锁定原因:%s"
 
-#: builtin/worktree.c:732
+#: builtin/worktree.c:742
 msgid "cannot move a locked working tree"
 msgstr "无法移动一个锁定的工作区"
 
 msgid "cannot move a locked working tree"
 msgstr "无法移动一个锁定的工作区"
 
-#: builtin/worktree.c:735
+#: builtin/worktree.c:745
 #, 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:740
+#: builtin/worktree.c:750
 #, c-format
 msgid "failed to move '%s' to '%s'"
 #, c-format
 msgid "failed to move '%s' to '%s'"
-msgstr "无法移动 '%s' 到 '%s'"
+msgstr "移动 '%s' 到 '%s' 失败"
 
 
-#: builtin/worktree.c:788
+#: builtin/worktree.c:798
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 #, c-format
 msgid "failed to run 'git status' on '%s'"
-msgstr "无法在 '%s' 中执行 'git status'"
+msgstr "在 '%s' 中执行 'git status' 失败"
 
 
-#: builtin/worktree.c:792
+#: builtin/worktree.c:802
 #, 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:797
+#: builtin/worktree.c:807
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
-msgstr "无法在 '%s' 中执行 'git status',退出码 %d"
+msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
 
-#: builtin/worktree.c:808 builtin/worktree.c:822
+#: builtin/worktree.c:818 builtin/worktree.c:832
 #, c-format
 msgid "failed to delete '%s'"
 #, c-format
 msgid "failed to delete '%s'"
-msgstr "无法删除 '%s'"
+msgstr "删除 '%s' 失败"
 
 
-#: builtin/worktree.c:834
+#: builtin/worktree.c:844
 msgid "force removing even if the worktree is dirty"
 msgstr "强制删除,即使工作区是脏的"
 
 msgid "force removing even if the worktree is dirty"
 msgstr "强制删除,即使工作区是脏的"
 
-#: builtin/worktree.c:856
+#: builtin/worktree.c:866
 #, c-format
 msgid "cannot remove a locked working tree, lock reason: %s"
 msgstr "无法删除一个锁定的工作区,锁定原因:%s"
 
 #, c-format
 msgid "cannot remove a locked working tree, lock reason: %s"
 msgstr "无法删除一个锁定的工作区,锁定原因:%s"
 
-#: builtin/worktree.c:858
+#: builtin/worktree.c:868
 msgid "cannot remove a locked working tree"
 msgstr "无法删除一个锁定的工作区"
 
 msgid "cannot remove a locked working tree"
 msgstr "无法删除一个锁定的工作区"
 
-#: builtin/worktree.c:861
+#: builtin/worktree.c:871
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
@@ -15180,7 +16903,7 @@ msgstr "<前缀>/"
 msgid "write tree object for a subdirectory <prefix>"
 msgstr "将 <前缀> 子目录内容写到一个树对象"
 
 msgid "write tree object for a subdirectory <prefix>"
 msgstr "将 <前缀> 子目录内容写到一个树对象"
 
-#: builtin/write-tree.c:31
+#: builtin/write-tree.c:30
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
@@ -15262,15 +16985,15 @@ msgstr "没有为 -C 提供目录\n"
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
-#: git.c:765
+#: git.c:770
 #, 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:777
+#: git.c:782
 #, c-format
 msgid "failed to run command '%s': %s\n"
 #, c-format
 msgid "failed to run command '%s': %s\n"
-msgstr "无法运行命令 '%s':%s\n"
+msgstr "运行命令 '%s' 失败:%s\n"
 
 #: http.c:348
 #, c-format
 
 #: http.c:348
 #, c-format
@@ -15707,254 +17430,258 @@ msgid "Applies a quilt patchset onto the current branch"
 msgstr "将一个 quilt 补丁集应用到当前分支。"
 
 #: command-list.h:144
 msgstr "将一个 quilt 补丁集应用到当前分支。"
 
 #: command-list.h:144
+msgid "Compare two commit ranges (e.g. two versions of a branch)"
+msgstr "比较两个提交范围(如一个分支的两个版本)"
+
+#: command-list.h:145
 msgid "Reads tree information into the index"
 msgstr "将树信息读取到索引"
 
 msgid "Reads tree information into the index"
 msgstr "将树信息读取到索引"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Receive what is pushed into the repository"
 msgstr "接收推送到仓库中的对象"
 
 msgid "Receive what is pushed into the repository"
 msgstr "接收推送到仓库中的对象"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Manage reflog information"
 msgstr "管理 reflog 信息"
 
 msgid "Manage reflog information"
 msgstr "管理 reflog 信息"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Manage set of tracked repositories"
 msgstr "管理已跟踪仓库"
 
 msgid "Manage set of tracked repositories"
 msgstr "管理已跟踪仓库"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Pack unpacked objects in a repository"
 msgstr "打包仓库中未打包对象"
 
 msgid "Pack unpacked objects in a repository"
 msgstr "打包仓库中未打包对象"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Create, list, delete refs to replace objects"
 msgstr "创建、列出、删除对象替换引用"
 
 msgid "Create, list, delete refs to replace objects"
 msgstr "创建、列出、删除对象替换引用"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Generates a summary of pending changes"
 msgstr "生成待定更改的摘要"
 
 msgid "Generates a summary of pending changes"
 msgstr "生成待定更改的摘要"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "重用冲突合并的解决方案记录"
 
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "重用冲突合并的解决方案记录"
 
-#: command-list.h:153
+#: command-list.h:154
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
-#: command-list.h:154
+#: command-list.h:155
 msgid "Revert some existing commits"
 msgstr "回退一些现存提交"
 
 msgid "Revert some existing commits"
 msgstr "回退一些现存提交"
 
-#: command-list.h:155
+#: command-list.h:156
 msgid "Lists commit objects in reverse chronological order"
 msgstr "按时间顺序列出提交对象"
 
 msgid "Lists commit objects in reverse chronological order"
 msgstr "按时间顺序列出提交对象"
 
-#: command-list.h:156
+#: command-list.h:157
 msgid "Pick out and massage parameters"
 msgstr "选出并处理参数"
 
 msgid "Pick out and massage parameters"
 msgstr "选出并处理参数"
 
-#: command-list.h:157
+#: command-list.h:158
 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:158
+#: command-list.h:159
 msgid "Send a collection of patches as emails"
 msgstr "通过电子邮件发送一组补丁"
 
 msgid "Send a collection of patches as emails"
 msgstr "通过电子邮件发送一组补丁"
 
-#: command-list.h:159
+#: command-list.h:160
 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:160
+#: command-list.h:161
 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:161
+#: command-list.h:162
 msgid "Summarize 'git log' output"
 msgstr "'git log' 输出摘要"
 
 msgid "Summarize 'git log' output"
 msgstr "'git log' 输出摘要"
 
-#: command-list.h:162
+#: command-list.h:163
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
-#: command-list.h:163
+#: command-list.h:164
 msgid "Show branches and their commits"
 msgstr "显示分支和提交"
 
 msgid "Show branches and their commits"
 msgstr "显示分支和提交"
 
-#: command-list.h:164
+#: command-list.h:165
 msgid "Show packed archive index"
 msgstr "显示打包归档索引"
 
 msgid "Show packed archive index"
 msgstr "显示打包归档索引"
 
-#: command-list.h:165
+#: command-list.h:166
 msgid "List references in a local repository"
 msgstr "显示本地仓库中的引用"
 
 msgid "List references in a local repository"
 msgstr "显示本地仓库中的引用"
 
-#: command-list.h:166
+#: command-list.h:167
 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:167
+#: command-list.h:168
 msgid "Common Git shell script setup code"
 msgstr "常用的 Git shell 脚本设置代码"
 
 msgid "Common Git shell script setup code"
 msgstr "常用的 Git shell 脚本设置代码"
 
-#: command-list.h:168
+#: command-list.h:169
 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:169
+#: command-list.h:170
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到索引"
 
 msgid "Add file contents to the staging area"
 msgstr "将文件内容添加到索引"
 
-#: command-list.h:170
+#: command-list.h:171
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
 msgid "Remove unnecessary whitespace"
 msgstr "删除不必要的空白字符"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
 msgid "Initialize, update or inspect submodules"
 msgstr "初始化、更新或检查子模组"
 
-#: command-list.h:173
+#: command-list.h:174
 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:174
+#: command-list.h:175
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
 msgid "Read, modify and delete symbolic refs"
 msgstr "读取、修改和删除符号引用"
 
-#: command-list.h:175
+#: command-list.h:176
 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:176
+#: command-list.h:177
 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:177
+#: command-list.h:178
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
 msgid "Unpack objects from a packed archive"
 msgstr "从打包文件中解压缩对象"
 
-#: command-list.h:178
+#: command-list.h:179
 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:179
+#: command-list.h:180
 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:180
+#: command-list.h:181
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "更新辅助信息文件以帮助哑协议服务"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
 msgid "Send archive back to git-archive"
 msgstr "将存档发送回 git-archive"
 
-#: command-list.h:182
+#: command-list.h:183
 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:183
+#: command-list.h:184
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
 msgid "Show a Git logical variable"
 msgstr "显示一个Git逻辑变量"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
 msgid "Check the GPG signature of commits"
 msgstr "检查 GPG 提交签名"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
 msgid "Validate packed Git archive files"
 msgstr "校验打包的Git存仓文件"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
 msgid "Check the GPG signature of tags"
 msgstr "检查标签的 GPG 签名"
 
-#: command-list.h:187
+#: command-list.h:188
 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:188
+#: command-list.h:189
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
 msgid "Show logs with difference each commit introduces"
 msgstr "显示每一个提交引入的差异日志"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
 msgid "Manage multiple working trees"
 msgstr "管理多个工作区"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
 msgid "Create a tree object from the current index"
 msgstr "从当前索引创建一个树对象"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
 msgid "Git command-line interface and conventions"
 msgstr "Git 命令行界面和约定"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
 msgid "A Git core tutorial for developers"
 msgstr "面向开发人员的 Git 核心教程"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
 msgid "Git for CVS users"
 msgstr "适合 CVS 用户的 Git 帮助"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
 msgid "Tweaking diff output"
 msgstr "调整差异输出"
 
-#: command-list.h:196
+#: command-list.h:197
 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:197
+#: command-list.h:198
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
 msgid "A Git Glossary"
 msgstr "Git 词汇表"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
 msgid "Hooks used by Git"
 msgstr "Git 使用的钩子"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
 msgid "Git namespaces"
 msgstr "Git 名字空间"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
 msgid "Git Repository Layout"
 msgstr "Git 仓库布局"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "A tutorial introduction to Git: part two"
 msgstr "一个 Git 教程:第二部分"
 
 msgid "A tutorial introduction to Git: part two"
 msgstr "一个 Git 教程:第二部分"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "A tutorial introduction to Git"
 msgstr "一个 Git 教程"
 
 msgid "A tutorial introduction to Git"
 msgstr "一个 Git 教程"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
@@ -16195,7 +17922,7 @@ msgstr ""
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
-#: git-rebase.sh:173 git-rebase.sh:442
+#: git-rebase.sh:173 git-rebase.sh:454
 #, 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"
@@ -16209,27 +17936,27 @@ msgstr "成功应用 autostash。"
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
-#: git-rebase.sh:229
+#: git-rebase.sh:236
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
-#: git-rebase.sh:234
+#: git-rebase.sh:241
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
-#: git-rebase.sh:403
+#: git-rebase.sh:415
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:426
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:421
+#: git-rebase.sh:433
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:424
+#: git-rebase.sh:436
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -16237,7 +17964,7 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:468
+#: git-rebase.sh:480
 #, 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"
@@ -16256,78 +17983,90 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:509
+#: git-rebase.sh:545
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
-msgstr "错误:不能组合参数 '--signoff' 和 '--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:537
+#: git-rebase.sh:590
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "无效的上游 '$upstream_name'"
 
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "无效的上游 '$upstream_name'"
 
-#: git-rebase.sh:561
+#: git-rebase.sh:614
 #, 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:564 git-rebase.sh:568
+#: git-rebase.sh:617 git-rebase.sh:621
 #, 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:573
+#: git-rebase.sh:626
 #, 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:599
+#: git-rebase.sh:652
 #, 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:632
+#: git-rebase.sh:685
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:637
+#: git-rebase.sh:690
 #, 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:641
+#: git-rebase.sh:694
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: git-rebase.sh:664
+#: git-rebase.sh:717
 #, sh-format
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
 #, sh-format
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: git-rebase.sh:666
+#: git-rebase.sh:719
 #, 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:674
+#: git-rebase.sh:727
 #, sh-format
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
 #, sh-format
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: git-rebase.sh:676
+#: git-rebase.sh:729
 #, 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:688
+#: git-rebase.sh:741
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:697
+#: git-rebase.sh:750
 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:707
+#: git-rebase.sh:760
 #, 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。"
@@ -16558,39 +18297,29 @@ msgstr "无法添加子模组 '$sm_path'"
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:354
-#, sh-format
-msgid "Entering '$displaypath'"
-msgstr "正在进入 '$displaypath'"
-
-#: git-submodule.sh:374
-#, sh-format
-msgid "Stopping at '$displaypath'; script returned non-zero status."
-msgstr "停止于 '$displaypath';脚本返回非零值。"
-
-#: git-submodule.sh:600
+#: git-submodule.sh:565
 #, 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:610
+#: git-submodule.sh:575
 #, 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:615
+#: git-submodule.sh:580
 #, 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:633
+#: git-submodule.sh:603
 #, 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:639
+#: git-submodule.sh:609
 #, 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. "
@@ -16598,74 +18327,74 @@ msgid ""
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:646
+#: git-submodule.sh:616
 #, 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:647
+#: git-submodule.sh:617
 #, 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:651
+#: git-submodule.sh:621
 #, 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:652
+#: git-submodule.sh:622
 #, 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:657
+#: git-submodule.sh:627
 #, 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:658
+#: git-submodule.sh:628
 #, 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:663
+#: git-submodule.sh:633
 #, 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:664
+#: git-submodule.sh:634
 #, 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:695
+#: git-submodule.sh:665
 #, 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:791
+#: git-submodule.sh:761
 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:843
+#: git-submodule.sh:813
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:863
+#: git-submodule.sh:833
 #, 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:866
+#: git-submodule.sh:836
 #, 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:869
+#: git-submodule.sh:839
 #, 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"
@@ -16675,12 +18404,7 @@ 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:142
-#, sh-format
-msgid "Rebasing ($new_count/$total)"
-msgstr "变基中($new_count/$total)"
-
-#: git-rebase--interactive.sh:158
+#: git-rebase--interactive.sh:43
 msgid ""
 "\n"
 "Commands:\n"
 msgid ""
 "\n"
 "Commands:\n"
@@ -16718,7 +18442,7 @@ msgstr ""
 "\n"
 "可以对这些行重新排序,将从上至下执行。\n"
 
 "\n"
 "可以对这些行重新排序,将从上至下执行。\n"
 
-#: git-rebase--interactive.sh:179
+#: 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"
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -16726,7 +18450,7 @@ msgstr ""
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: git-rebase--interactive.sh:183
+#: 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"
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -16734,7 +18458,118 @@ msgstr ""
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
-#: git-rebase--interactive.sh:221
+#: 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)"
+msgstr "变基中($new_count/$total)"
+
+#: git-rebase--preserve-merges.sh:152
+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 <commit> = 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 <提交> = 使用提交,但停下来修补\n"
+"s, squash <提交> = 使用提交,但融合到前一个提交\n"
+"f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
+"x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
+"d, drop <提交> = 删除提交\n"
+"l, label <标签> = 为当前 HEAD 打上标签\n"
+"t, reset <标签> = 重置 HEAD 到该标签\n"
+"m, merge [-C <提交> | -c <提交>] <标签> [# <oneline>]\n"
+".       创建一个合并提交,并使用原始的合并提交说明(如果没有指定\n"
+".       原始提交,使用注释部分的 oneline 作为提交说明)。使用\n"
+".       -c <提交> 可以编辑提交说明。\n"
+"\n"
+"可以对这些行重新排序,将从上至下执行。\n"
+
+#: git-rebase--preserve-merges.sh:215
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -16753,83 +18588,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:246
+#: git-rebase--preserve-merges.sh:240
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1:不是一个可以被拣选的提交"
 
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1:不是一个可以被拣选的提交"
 
-#: git-rebase--interactive.sh:285
+#: git-rebase--preserve-merges.sh:279
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "无效的提交名:$sha1"
 
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "无效的提交名:$sha1"
 
-#: git-rebase--interactive.sh:325
+#: git-rebase--preserve-merges.sh:309
 msgid "Cannot write current commit's replacement sha1"
 msgstr "不能写入当前提交的替代 sha1"
 
 msgid "Cannot write current commit's replacement sha1"
 msgstr "不能写入当前提交的替代 sha1"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--preserve-merges.sh:360
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "快进到 $sha1"
 
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "快进到 $sha1"
 
-#: git-rebase--interactive.sh:378
+#: git-rebase--preserve-merges.sh:362
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "不能快进到 $sha1"
 
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "不能快进到 $sha1"
 
-#: git-rebase--interactive.sh:387
+#: git-rebase--preserve-merges.sh:371
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "不能移动 HEAD 到 $first_parent"
 
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "不能移动 HEAD 到 $first_parent"
 
-#: git-rebase--interactive.sh:392
+#: git-rebase--preserve-merges.sh:376
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "拒绝压缩一个合并:$sha1"
 
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "拒绝压缩一个合并:$sha1"
 
-#: git-rebase--interactive.sh:410
+#: git-rebase--preserve-merges.sh:394
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "无法重做合并 $sha1"
 
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "无法重做合并 $sha1"
 
-#: git-rebase--interactive.sh:419
+#: git-rebase--preserve-merges.sh:403
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "不能拣选 $sha1"
 
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "不能拣选 $sha1"
 
-#: git-rebase--interactive.sh:428
+#: git-rebase--preserve-merges.sh:412
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "这是提交说明 #${n}:"
 
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "这是提交说明 #${n}:"
 
-#: git-rebase--interactive.sh:433
+#: git-rebase--preserve-merges.sh:417
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "提交说明 #${n} 将被跳过:"
 
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "提交说明 #${n} 将被跳过:"
 
-#: git-rebase--interactive.sh:444
+#: git-rebase--preserve-merges.sh:428
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "这是一个 $count 个提交的组合。"
 msgstr[1] "这是一个 $count 个提交的组合。"
 
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "这是一个 $count 个提交的组合。"
 msgstr[1] "这是一个 $count 个提交的组合。"
 
-#: git-rebase--interactive.sh:453
+#: git-rebase--preserve-merges.sh:437
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "不能写入 $fixup_msg"
 
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "不能写入 $fixup_msg"
 
-#: git-rebase--interactive.sh:456
+#: git-rebase--preserve-merges.sh:440
 msgid "This is a combination of 2 commits."
 msgstr "这是一个 2 个提交的组合。"
 
 msgid "This is a combination of 2 commits."
 msgstr "这是一个 2 个提交的组合。"
 
-#: git-rebase--interactive.sh:497 git-rebase--interactive.sh:540
-#: git-rebase--interactive.sh:543
+#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
+#: git-rebase--preserve-merges.sh:527
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "不能应用 $sha1... $rest"
 
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "不能应用 $sha1... $rest"
 
-#: git-rebase--interactive.sh:572
+#: git-rebase--preserve-merges.sh:556
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -16842,32 +18677,32 @@ msgstr ""
 "这通常是因为空的提交说明,或者 pre-commit 钩子执行失败。如果是 pre-commit\n"
 "钩子执行失败,你可能需要在重写提交说明前解决这个问题。"
 
 "这通常是因为空的提交说明,或者 pre-commit 钩子执行失败。如果是 pre-commit\n"
 "钩子执行失败,你可能需要在重写提交说明前解决这个问题。"
 
-#: git-rebase--interactive.sh:587
+#: git-rebase--preserve-merges.sh:571
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "停止在 $sha1_abbrev... $rest"
 
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "停止在 $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:602
+#: git-rebase--preserve-merges.sh:586
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "没有父提交的情况下不能 '$squash_style'"
 
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "没有父提交的情况下不能 '$squash_style'"
 
-#: git-rebase--interactive.sh:644
+#: git-rebase--preserve-merges.sh:628
 #, sh-format
 msgid "Executing: $rest"
 msgstr "执行:$rest"
 
 #, sh-format
 msgid "Executing: $rest"
 msgstr "执行:$rest"
 
-#: git-rebase--interactive.sh:652
+#: git-rebase--preserve-merges.sh:636
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "执行失败:$rest"
 
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "执行失败:$rest"
 
-#: git-rebase--interactive.sh:654
+#: git-rebase--preserve-merges.sh:638
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
 #  译者:注意保持前导空格
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
 #  译者:注意保持前导空格
-#: git-rebase--interactive.sh:656
+#: git-rebase--preserve-merges.sh:640
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -16878,7 +18713,7 @@ msgstr ""
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:669
+#: git-rebase--preserve-merges.sh:653
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -16892,29 +18727,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:680
+#: git-rebase--preserve-merges.sh:664
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "未知命令:$command $sha1 $rest"
 
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "未知命令:$command $sha1 $rest"
 
-#: git-rebase--interactive.sh:681
+#: git-rebase--preserve-merges.sh:665
 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'。"
 
-#: git-rebase--interactive.sh:716
+#: git-rebase--preserve-merges.sh:700
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
-#: git-rebase--interactive.sh:740
-msgid "could not detach HEAD"
-msgstr "不能检出为分离头指针"
-
-#: git-rebase--interactive.sh:778
+#: git-rebase--preserve-merges.sh:757
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:783
+#: git-rebase--preserve-merges.sh:762
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -16943,85 +18774,32 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:800
+#: git-rebase--preserve-merges.sh:779
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
-#: git-rebase--interactive.sh:805
+#: git-rebase--preserve-merges.sh:784
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:810 git-rebase--interactive.sh:814
+#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--interactive.sh:843
-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:851 git-rebase--interactive.sh:937
-msgid "Could not execute editor"
-msgstr "无法运行编辑器"
-
-#: git-rebase--interactive.sh:872
-#, sh-format
-msgid "Could not checkout $switch_to"
-msgstr "不能检出 $switch_to"
-
-#: git-rebase--interactive.sh:879
-msgid "No HEAD?"
-msgstr "没有 HEAD?"
-
-#: git-rebase--interactive.sh:880
-#, sh-format
-msgid "Could not create temporary $state_dir"
-msgstr "不能创建临时 $state_dir"
-
-#: git-rebase--interactive.sh:883
-msgid "Could not mark as interactive"
-msgstr "不能标记为交互式"
-
-#: git-rebase--interactive.sh:915
-#, 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:920
+#: git-rebase--preserve-merges.sh:893
 msgid ""
 "\n"
 msgid ""
 "\n"
-"\tHowever, if you remove everything, the rebase will be aborted.\n"
+"However, if you remove everything, the rebase will be aborted.\n"
 "\n"
 "\n"
-"\t"
 msgstr ""
 "\n"
 msgstr ""
 "\n"
-"\t然而,如果您删除全部内容,变基操作将会终止。\n"
+"然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 "\n"
-"\t"
-
-#: git-rebase--interactive.sh:927
-msgid "Note that empty commits are commented out"
-msgstr "注意空提交已被注释掉"
 
 
-#: git-rebase--interactive.sh:980
-msgid "Could not generate todo list"
-msgstr "无法生成待办列表"
-
-#: git-rebase--interactive.sh:1001 git-rebase--interactive.sh:1006
+#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
@@ -17190,7 +18968,7 @@ msgstr "如果补丁能干净地应用,编辑块将立即标记为丢弃。"
 #: git-add--interactive.perl:1085
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 #: git-add--interactive.perl:1085
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
-msgstr "无法写入块编辑文件:%s"
+msgstr "为写入打开块编辑文件失败:%s"
 
 #: git-add--interactive.perl:1086
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 
 #: git-add--interactive.perl:1086
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
@@ -17706,7 +19484,7 @@ msgstr "在 %s 中没有标题行?"
 #: git-send-email.perl:683
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 #: git-send-email.perl:683
 #, perl-format
 msgid "Failed to open for writing %s: %s"
-msgstr "无法写入 %s: %s"
+msgstr "为写入打开 %s 失败: %s"
 
 #: git-send-email.perl:694
 msgid ""
 
 #: git-send-email.perl:694
 msgid ""
@@ -17840,122 +19618,122 @@ msgstr "服务器不支持 STARTTLS!%s"
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1512
+#: git-send-email.perl:1511
 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:1530
+#: git-send-email.perl:1529
 #, 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:1533
+#: git-send-email.perl:1532
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1533
+#: git-send-email.perl:1532
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1535
+#: git-send-email.perl:1534
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1535
+#: git-send-email.perl:1534
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1547
+#: git-send-email.perl:1546
 msgid "Result: "
 msgstr "结果:"
 
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1549
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1568
+#: git-send-email.perl:1567
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1615 git-send-email.perl:1635
+#: git-send-email.perl:1614 git-send-email.perl:1634
 #, 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:1621
+#: git-send-email.perl:1620
 #, 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:1674
+#: git-send-email.perl:1673
 #, 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:1699
+#: git-send-email.perl:1698
 #, 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:1817
+#: git-send-email.perl:1809
 #, 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:1824
+#: git-send-email.perl:1816
 #, 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:1828
+#: git-send-email.perl:1820
 #, 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:1855
+#: git-send-email.perl:1850
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1863
+#: git-send-email.perl:1858
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1901 git-send-email.perl:1952 git-send-email.perl:1962
+#: git-send-email.perl:1899 git-send-email.perl:1951 git-send-email.perl:1961
 #, 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:1904
+#: git-send-email.perl:1902
 #, 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:1920
+#: git-send-email.perl:1919
 #, 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:1924
+#: git-send-email.perl:1923
 #, 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 "Everyday Git With 20 Commands Or So"
 #~ msgstr "每一天 Git 常用的约 20 条命令"
 
-#~ msgid "Could not open '%s' for writing"
-#~ msgstr "无法打开 '%s' 进行写入"
-
 #~ msgid "BUG: returned path string doesn't match cwd?"
 #~ msgstr "BUG:返回的路径和当前路径不匹配?"
 
 #~ msgid "BUG: returned path string doesn't match cwd?"
 #~ msgstr "BUG:返回的路径和当前路径不匹配?"
 
-#~ msgid "Error in object"
-#~ msgstr "对象中出错"
-
 #~ msgid ""
 #~ "unexpected 1st line of squash message:\n"
 #~ "\n"
 #~ msgid ""
 #~ "unexpected 1st line of squash message:\n"
 #~ "\n"
@@ -18000,18 +19778,6 @@ msgstr "您真的要发送 %s?[y|N]:"
 #~ "径,\n"
 #~ "请代之以 ."
 
 #~ "径,\n"
 #~ "请代之以 ."
 
-#~ msgid "unable to open '%s' for writing"
-#~ msgstr "无法以写入方式打开 '%s'"
-
-#~ msgid "could not truncate '%s'"
-#~ msgstr "无法截断 '%s'"
-
-#~ msgid "could not finish '%s'"
-#~ msgstr "无法结束 '%s'"
-
-#~ msgid "could not close %s"
-#~ msgstr "不能关闭 %s"
-
 #~ msgid "Copied a misnamed branch '%s' away"
 #~ msgstr "已将错误命名的分支 '%s' 复制"
 
 #~ msgid "Copied a misnamed branch '%s' away"
 #~ msgstr "已将错误命名的分支 '%s' 复制"
 
@@ -18024,9 +19790,6 @@ msgstr "您真的要发送 %s?[y|N]:"
 #~ msgid "show ignored files"
 #~ msgstr "显示忽略的文件"
 
 #~ msgid "show ignored files"
 #~ msgstr "显示忽略的文件"
 
-#~ msgid "%s is not a valid '%s' object"
-#~ msgstr "%s 不是一个有效的 '%s' 对象"
-
 #~ msgid "Don't know how to fetch from %s"
 #~ msgstr "不知道如何从 %s 获取"
 
 #~ msgid "Don't know how to fetch from %s"
 #~ msgstr "不知道如何从 %s 获取"