]> git.ipfire.org Git - thirdparty/git.git/blobdiff - po/zh_CN.po
Merge branch 'js/rebase-reschedule-applies-only-to-interactive' into maint
[thirdparty/git.git] / po / zh_CN.po
index d22365907d0d549a81306024ee85facc9512e110..075c5c5d4d52e85ee65325ad5593ca832609b58f 100644 (file)
@@ -3,7 +3,7 @@
 # Copyright (C) 2012,2013 Jiang Xin <worldhello.net AT gmail.com>
 # This file is distributed under the same license as the Git package.
 # Contributors:
 # Copyright (C) 2012,2013 Jiang Xin <worldhello.net AT gmail.com>
 # This file is distributed under the same license as the Git package.
 # Contributors:
-#   - Fangyi Zhou <fangyi.zhou AT yuriko.moe>
+#   - Fangyi Zhou <me AT fangyi.io>
 #   - Jiang Xin <worldhello.net AT gmail.com>
 #   - Lian Cheng <rhythm.mail AT gmail.com>
 #   - Ray Chen <oldsharp AT gmail.com>
 #   - Jiang Xin <worldhello.net AT gmail.com>
 #   - Lian Cheng <rhythm.mail AT gmail.com>
 #   - Ray Chen <oldsharp AT gmail.com>
@@ -45,6 +45,7 @@
 #   commit-ish (also committish)     |  提交号
 #   conflict                         |  冲突
 #   core Git                         |  核心 Git 工具
 #   commit-ish (also committish)     |  提交号
 #   conflict                         |  冲突
 #   core Git                         |  核心 Git 工具
+#   cover letter                     |  附函
 #   DAG                              |  有向无环图
 #   dangling object                  |  悬空对象
 #   detached HEAD                    |  分离头指针
 #   DAG                              |  有向无环图
 #   dangling object                  |  悬空对象
 #   detached HEAD                    |  分离头指针
@@ -138,8 +139,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: 2019-02-15 10:09+0800\n"
-"PO-Revision-Date: 2019-02-15 10:26+0800\n"
+"POT-Creation-Date: 2019-06-04 08:24+0800\n"
+"PO-Revision-Date: 2019-06-04 09:04+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 +149,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:101
+#: advice.c:103
 #, 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:154
+#: advice.c:156
 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:156
+#: advice.c:158
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:158
+#: advice.c:160
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:160
+#: advice.c:162
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:162
+#: advice.c:164
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:164
+#: advice.c:166
 #, 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:172
+#: advice.c:174
 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 +187,23 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:180
+#: advice.c:182
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:185 builtin/merge.c:1290
+#: advice.c:187 builtin/merge.c:1320
 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:187
+#: advice.c:189
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:188
+#: advice.c:190
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:194
+#: advice.c:196
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -237,92 +238,92 @@ msgstr "命令行以 \\ 结尾"
 msgid "unclosed quote"
 msgstr "未关闭的引号"
 
 msgid "unclosed quote"
 msgstr "未关闭的引号"
 
-#: apply.c:59
+#: apply.c:63
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
-#: apply.c:75
+#: apply.c:79
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: apply.c:125
+#: apply.c:129
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
-#: apply.c:127
+#: apply.c:131
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached 和 --3way 不能同时使用。"
 
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached 和 --3way 不能同时使用。"
 
-#: apply.c:130
+#: apply.c:134
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
-#: apply.c:141
+#: apply.c:145
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
-#: apply.c:144
+#: apply.c:148
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
-#: apply.c:825
+#: apply.c:829
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: apply.c:834
+#: apply.c:838
 #, 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:908
+#: apply.c:912
 #, 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:946
+#: apply.c:950
 #, 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:952
+#: apply.c:956
 #, 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:953
+#: apply.c:957
 #, 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:958
+#: apply.c:962
 #, 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:987
+#: apply.c:991
 #, 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:1306
+#: apply.c:1310
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
-#: apply.c:1478
+#: apply.c:1482
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1547
+#: apply.c:1551
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: apply.c:1567
+#: apply.c:1571
 #, 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 "
@@ -333,82 +334,82 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1580
+#: apply.c:1584
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1768
+#: apply.c:1772
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1770
+#: apply.c:1774
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1804
+#: apply.c:1808
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1841
+#: apply.c:1845
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: apply.c:1843
+#: apply.c:1847
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1846
+#: apply.c:1850
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: apply.c:1993
+#: apply.c:1997
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: apply.c:2030
+#: apply.c:2034
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2192
+#: apply.c:2196
 #, 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:2278
+#: apply.c:2282
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2282
+#: apply.c:2286
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2941
+#: apply.c:2945
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3062
+#: apply.c:3066
 #, 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:3074
+#: apply.c:3078
 #, 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:3080
+#: apply.c:3084
 #, c-format
 msgid ""
 "while searching for:\n"
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -417,446 +418,445 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3102
+#: apply.c:3106
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3110
+#: apply.c:3114
 #, 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:3157
+#: apply.c:3161
 #, 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:3167
+#: apply.c:3171
 #, 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:3175
+#: apply.c:3179
 #, 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:3193
+#: apply.c:3197
 #, 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:3206
+#: apply.c:3210
 #, 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:3212
+#: apply.c:3216
 #, 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:3233
+#: apply.c:3237
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3356
+#: apply.c:3360
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3408 apply.c:3419 apply.c:3465 midx.c:58 setup.c:278
+#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3416
+#: apply.c:3420
 #, 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:3445 apply.c:3688
+#: apply.c:3449 apply.c:3692
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3531 apply.c:3703
+#: apply.c:3535 apply.c:3707
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3540 apply.c:3711
+#: apply.c:3544 apply.c:3715
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3575
+#: apply.c:3579
 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:3578
+#: apply.c:3582
 #, 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:3594 apply.c:3598
+#: apply.c:3598 apply.c:3602
 #, 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:3610
+#: apply.c:3614
 #, 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:3624
+#: apply.c:3628
 #, 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:3629
+#: apply.c:3633
 #, 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:3655
+#: apply.c:3659
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3728
+#: apply.c:3732
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3730
+#: apply.c:3734
 #, 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:3881 apply.c:3883 read-cache.c:820 read-cache.c:846
-#: read-cache.c:1299
+#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
+#: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3939
+#: apply.c:3943
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3942
+#: apply.c:3946
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3962
+#: apply.c:3966
 #, 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:3967
+#: apply.c:3971
 #, 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:3987
+#: apply.c:3991
 #, 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:3991
+#: apply.c:3995
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:4006
+#: apply.c:4010
 #, c-format
 msgid "Checking patch %s..."
 msgstr "正在检查补丁 %s..."
 
 #, c-format
 msgid "Checking patch %s..."
 msgstr "正在检查补丁 %s..."
 
-#: apply.c:4098
+#: apply.c:4102
 #, 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:4105
+#: apply.c:4109
 #, 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:4108
+#: apply.c:4112
 #, 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:4113 builtin/checkout.c:248 builtin/reset.c:143
+#: apply.c:4117 builtin/checkout.c:257 builtin/reset.c:143
 #, 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:4117
+#: apply.c:4121
 #, 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:4127
+#: apply.c:4131
 #, 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:4265
+#: apply.c:4269
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4299
+#: apply.c:4303
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4305
+#: apply.c:4309
 #, 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:4313
+#: apply.c:4317
 #, 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:4319 apply.c:4464
+#: apply.c:4323 apply.c:4468
 #, 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:4362
+#: apply.c:4366
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "写入 '%s' 失败"
 
-#: apply.c:4366
+#: apply.c:4370
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4436
+#: apply.c:4440
 #, 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:4534
+#: apply.c:4538
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4542
+#: apply.c:4546
 msgid "internal error"
 msgstr "内部错误"
 
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4545
+#: apply.c:4549
 #, 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:4556
+#: apply.c:4560
 #, 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:4564 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4568 builtin/fetch.c:837 builtin/fetch.c:1118
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4578
+#: apply.c:4582
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4582
+#: apply.c:4586
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4692
+#: apply.c:4696
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4700
+#: apply.c:4704
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4720
+#: apply.c:4724
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4875
+#: apply.c:4879
 #, 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:4902
+#: apply.c:4906
 #, 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:4908 apply.c:4923
+#: apply.c:4912 apply.c:4927
 #, 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:4916
+#: apply.c:4920
 #, 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:4932 builtin/add.c:539 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4959 apply.c:4962 builtin/am.c:2203 builtin/am.c:2206
-#: builtin/clone.c:122 builtin/fetch.c:118 builtin/merge.c:263
-#: builtin/pull.c:200 builtin/submodule--helper.c:407
+#: apply.c:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
+#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
+#: builtin/pull.c:207 builtin/submodule--helper.c:407
 #: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
 #: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
-#: builtin/submodule--helper.c:2092 git-add--interactive.perl:197
+#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
+#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
 msgid "path"
 msgstr "路径"
 
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4960
+#: apply.c:4964
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4963
+#: apply.c:4967
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4965 builtin/am.c:2212
+#: apply.c:4969 builtin/am.c:2219
 msgid "num"
 msgstr "数字"
 
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4966
+#: apply.c:4970
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4969
+#: apply.c:4973
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4971
+#: apply.c:4975
 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:4975
+#: apply.c:4979
 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:4977
+#: apply.c:4981
 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:4979
+#: apply.c:4983
 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:4981
+#: apply.c:4985
 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:4983
+#: apply.c:4987
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "使用命令 `git add --intent-to-add` 标记新增文件"
 
-#: apply.c:4985
+#: apply.c:4989
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4987
+#: apply.c:4991
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4990
+#: apply.c:4994
 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:4992
+#: apply.c:4996
 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:4994
+#: apply.c:4998
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4997 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4999
+#: apply.c:5003
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:5000 builtin/am.c:2191 builtin/interpret-trailers.c:97
+#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
 #: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
 #: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3314 builtin/rebase.c:1065
+#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
 msgid "action"
 msgstr "动作"
 
 msgid "action"
 msgstr "动作"
 
-#: apply.c:5001
+#: apply.c:5005
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:5004 apply.c:5007
+#: apply.c:5008 apply.c:5011
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:5010
+#: apply.c:5014
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:5012
+#: apply.c:5016
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:5014
+#: apply.c:5018
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:5016
+#: apply.c:5020
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:5017 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1312 builtin/count-objects.c:98 builtin/fsck.c:724
-#: builtin/log.c:2037 builtin/mv.c:123 builtin/read-tree.c:128
-#: builtin/rebase--interactive.c:159
+#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "冗长输出"
 
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:5019
+#: apply.c:5023
 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:5022
+#: apply.c:5026
 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:5024 builtin/am.c:2200
+#: apply.c:5028 builtin/am.c:2207
 msgid "root"
 msgstr "根目录"
 
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:5025
+#: apply.c:5029
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -878,7 +878,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:372 builtin/add.c:177 builtin/add.c:515 builtin/rm.c:299
+#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -910,7 +910,7 @@ msgstr "格式"
 msgid "archive format"
 msgstr "归档格式"
 
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:456 builtin/log.c:1549
+#: archive.c:456 builtin/log.c:1557
 msgid "prefix"
 msgstr "前缀"
 
 msgid "prefix"
 msgstr "前缀"
 
@@ -918,11 +918,11 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:458 builtin/blame.c:820 builtin/blame.c:821 builtin/config.c:129
-#: builtin/fast-export.c:1091 builtin/fast-export.c:1093 builtin/grep.c:895
-#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563
-#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123
-#: parse-options.h:162
+#: archive.c:458 builtin/blame.c:821 builtin/blame.c:822
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
+#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
+#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
+#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr "文件"
 
 msgid "file"
 msgstr "文件"
 
@@ -954,8 +954,8 @@ msgstr "压缩效果更好"
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:112 builtin/clone.c:115
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1859
+#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
+#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
 msgid "repo"
 msgstr "仓库"
 
 msgid "repo"
 msgstr "仓库"
 
@@ -963,7 +963,7 @@ msgstr "仓库"
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:715
+#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr "命令"
 #: builtin/notes.c:498
 msgid "command"
 msgstr "命令"
@@ -1009,16 +1009,16 @@ msgstr "不支持的文件模式:0%o (SHA1: %s)"
 msgid "cannot read %s"
 msgstr "不能读取 %s"
 
 msgid "cannot read %s"
 msgstr "不能读取 %s"
 
-#: archive-tar.c:458
+#: archive-tar.c:459
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "无法启动 '%s' 过滤器"
 
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "无法启动 '%s' 过滤器"
 
-#: archive-tar.c:461
+#: archive-tar.c:462
 msgid "unable to redirect descriptor"
 msgstr "无法重定向描述符"
 
 msgid "unable to redirect descriptor"
 msgstr "无法重定向描述符"
 
-#: archive-tar.c:468
+#: archive-tar.c:469
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "'%s' 过滤器报告了错误"
@@ -1033,7 +1033,7 @@ msgstr "路径不是有效的 UTF-8:%s"
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "路径太长(%d 字符,SHA1:%s):%s"
 
-#: archive-zip.c:474 builtin/pack-objects.c:225 builtin/pack-objects.c:228
+#: archive-zip.c:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
@@ -1051,7 +1051,7 @@ msgstr "%.*s 不是一个有效的属性名"
 #: attr.c:368
 #, c-format
 msgid "%s not allowed: %s:%d"
 #: attr.c:368
 #, c-format
 msgid "%s not allowed: %s:%d"
-msgstr "不允许 %s :%s:%d"
+msgstr "不允许 %s:%s:%d"
 
 #: attr.c:408
 msgid ""
 
 #: attr.c:408
 msgid ""
@@ -1135,26 +1135,26 @@ msgstr "二分查找中:合并基线必须是经过测试的\n"
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:237
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: bisect.c:937 builtin/merge.c:139
+#: bisect.c:928 builtin/merge.c:146
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:967
+#: bisect.c:958
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:986
+#: bisect.c:977
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
-#: bisect.c:994
+#: bisect.c:985
 #, c-format
 msgid ""
 "No testable commit found.\n"
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1163,7 +1163,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:1013
+#: bisect.c:1004
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1173,49 +1173,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:1019
+#: bisect.c:1010
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
-#: blame.c:1792
+#: blame.c:1794
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:1806
+#: blame.c:1808
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:1827
+#: blame.c:1829
 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:1836 bundle.c:164 ref-filter.c:2071 remote.c:1948 sequencer.c:1993
-#: sequencer.c:4064 builtin/commit.c:1004 builtin/log.c:378 builtin/log.c:936
-#: builtin/log.c:1420 builtin/log.c:1796 builtin/log.c:2086 builtin/merge.c:407
-#: builtin/pack-objects.c:3137 builtin/pack-objects.c:3152
+#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
+#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
+#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
+#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
 #: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:1854
+#: blame.c:1856
 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:1865
+#: blame.c:1867
 #, 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:1876
+#: blame.c:1878
 #, 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:52
+#: branch.c:53
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -1227,85 +1227,85 @@ msgstr ""
 "在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
 "\"git branch --set-upstream-to=%s%s%s\" 。"
 
 "在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
 "\"git branch --set-upstream-to=%s%s%s\" 。"
 
-#: branch.c:66
+#: branch.c:67
 #, 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:92
+#: branch.c:93
 #, 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:93
+#: branch.c:94
 #, 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:97
+#: branch.c:98
 #, 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:98
+#: branch.c:99
 #, 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:103
+#: branch.c:104
 #, 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:104
+#: branch.c:105
 #, 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:108
+#: branch.c:109
 #, 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:109
+#: branch.c:110
 #, 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:118
+#: branch.c:119
 msgid "Unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
 msgid "Unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
-#: branch.c:155
+#: branch.c:156
 #, 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:188
+#: branch.c:189
 #, 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:207
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:212
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:232
+#: branch.c:233
 #, 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:234
+#: branch.c:235
 #, 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:236
+#: branch.c:237
 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"
@@ -1323,17 +1323,17 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:280
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:300
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:305
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
@@ -1358,8 +1358,8 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2215 sequencer.c:2763
-#: builtin/commit.c:776
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
+#: builtin/commit.c:788
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1407,7 +1407,7 @@ msgstr "rev-list 终止"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:457 builtin/log.c:193 builtin/log.c:1701 builtin/shortlog.c:306
+#: bundle.c:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -1430,9 +1430,8 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:50 sequencer.c:2567 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1375 builtin/am.c:2019 builtin/replace.c:376
-#: builtin/replace.c:448
+#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -1462,27 +1461,27 @@ msgstr ""
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
 "设置 \"git config advice.graftFileDeprecated false\"\n"
 "可关闭本消息"
 
-#: commit.c:1122
+#: commit.c:1128
 #, 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 签名。"
 
-#: commit.c:1125
+#: commit.c:1131
 #, 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 签名。"
 
-#: commit.c:1128
+#: commit.c:1134
 #, 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 签名。"
 
-#: commit.c:1131
+#: commit.c:1137
 #, 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"
 
-#: commit.c:1385
+#: commit.c:1391
 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"
@@ -1492,131 +1491,192 @@ msgstr ""
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
-#: commit-graph.c:101
-#, c-format
-msgid "graph file %s is too small"
-msgstr "图形文件 %s 太小"
+#: commit-graph.c:105
+msgid "commit-graph file is too small"
+msgstr "提交图形文件太小"
 
 
-#: commit-graph.c:136
+#: commit-graph.c:170
 #, c-format
 #, c-format
-msgid "graph signature %X does not match signature %X"
-msgstr "图形签名 %X 和签名 %X 不匹配"
+msgid "commit-graph signature %X does not match signature %X"
+msgstr "提交图形签名 %X 和签名 %X 不匹配"
 
 
-#: commit-graph.c:143
+#: commit-graph.c:177
 #, c-format
 #, c-format
-msgid "graph version %X does not match version %X"
-msgstr "图形版本 %X 和版本 %X 不匹配"
+msgid "commit-graph version %X does not match version %X"
+msgstr "提交图形版本 %X 和版本 %X 不匹配"
 
 
-#: commit-graph.c:150
+#: commit-graph.c:184
 #, c-format
 #, c-format
-msgid "hash version %X does not match version %X"
-msgstr "æ\95£å\88\97版本 %X 和版本 %X 不匹配"
+msgid "commit-graph hash version %X does not match version %X"
+msgstr "æ\8f\90交å\9b¾å½¢å\93\88å¸\8c版本 %X 和版本 %X 不匹配"
 
 
-#: commit-graph.c:173
-msgid "chunk lookup table entry missing; graph file may be incomplete"
-msgstr "块查找表条目丢失,图形文件可能不完整"
+#: commit-graph.c:207
+msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
+msgstr "提交图形块查找表条目丢失,文件可能不完整"
 
 
-#: commit-graph.c:184
+#: commit-graph.c:218
 #, c-format
 #, c-format
-msgid "improper chunk offset %08x%08x"
-msgstr "不正确的块偏移 %08x%08x"
+msgid "commit-graph improper chunk offset %08x%08x"
+msgstr "提交图形不正确的块偏移 %08x%08x"
 
 
-#: commit-graph.c:221
+#: commit-graph.c:255
 #, c-format
 #, c-format
-msgid "chunk id %08x appears multiple times"
-msgstr "块 id %08x 出现了多次"
+msgid "commit-graph chunk id %08x appears multiple times"
+msgstr "提交图形块 id %08x 出现了多次"
 
 
-#: commit-graph.c:334
+#: commit-graph.c:390
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
 #, c-format
 msgid "could not find commit %s"
 msgstr "无法找到提交 %s"
 
-#: commit-graph.c:671 builtin/pack-objects.c:2646
+#: commit-graph.c:732 builtin/pack-objects.c:2649
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "无法获得对象 %s 类型"
 
-#: commit-graph.c:704
+#: commit-graph.c:765
 msgid "Loading known commits in commit graph"
 msgstr "正在加载提交图中的已知提交"
 
 msgid "Loading known commits in commit graph"
 msgstr "正在加载提交图中的已知提交"
 
-#: commit-graph.c:720
+#: commit-graph.c:781
 msgid "Expanding reachable commits in commit graph"
 msgstr "正在扩展提交图中的可达提交"
 
 msgid "Expanding reachable commits in commit graph"
 msgstr "正在扩展提交图中的可达提交"
 
-#: commit-graph.c:732
+#: commit-graph.c:793
 msgid "Clearing commit marks in commit graph"
 msgstr "正在清除提交图中的提交标记"
 
 msgid "Clearing commit marks in commit graph"
 msgstr "正在清除提交图中的提交标记"
 
-#: commit-graph.c:752
+#: commit-graph.c:813
 msgid "Computing commit graph generation numbers"
 msgstr "正在计算提交图世代数字"
 
 msgid "Computing commit graph generation numbers"
 msgstr "正在计算提交图世代数字"
 
-#: commit-graph.c:869
+#: commit-graph.c:930
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "正在 %d 个包中查找提交图的提交"
 msgstr[1] "正在 %d 个包中查找提交图的提交"
 
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] "正在 %d 个包中查找提交图的提交"
 msgstr[1] "正在 %d 个包中查找提交图的提交"
 
-#: commit-graph.c:882
+#: commit-graph.c:943
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
 #, c-format
 msgid "error adding pack %s"
 msgstr "添加包 %s 出错"
 
-#: commit-graph.c:884
+#: commit-graph.c:945
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
 #, c-format
 msgid "error opening index for %s"
 msgstr "为 %s 打开索引出错"
 
-#: commit-graph.c:898
+#: commit-graph.c:959
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] "正在从 %d 个引用中查找提交图的提交"
 msgstr[1] "正在从 %d 个引用中查找提交图的提交"
 
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] "正在从 %d 个引用中查找提交图的提交"
 msgstr[1] "正在从 %d 个引用中查找提交图的提交"
 
-#: commit-graph.c:930
+#: commit-graph.c:991
 msgid "Finding commits for commit graph among packed objects"
 msgstr "正在打包对象中查找提交图的提交"
 
 msgid "Finding commits for commit graph among packed objects"
 msgstr "正在打包对象中查找提交图的提交"
 
-#: commit-graph.c:943
+#: commit-graph.c:1004
 msgid "Counting distinct commits in commit graph"
 msgstr "正在计算提交图中不同的提交"
 
 msgid "Counting distinct commits in commit graph"
 msgstr "正在计算提交图中不同的提交"
 
-#: commit-graph.c:956
+#: commit-graph.c:1017
 #, 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:965
+#: commit-graph.c:1026
 msgid "Finding extra edges in commit graph"
 msgstr "正在查找提交图中额外的边"
 
 msgid "Finding extra edges in commit graph"
 msgstr "正在查找提交图中额外的边"
 
-#: commit-graph.c:989
+#: commit-graph.c:1050
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
 msgid "too many commits to write graph"
 msgstr "提交太多不能画图"
 
-#: commit-graph.c:996 midx.c:769
+#: commit-graph.c:1057 midx.c:819
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "不能为 %s 创建先导目录"
 
-#: commit-graph.c:1036
+#: commit-graph.c:1097
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "正在用 %d 步写出提交图"
 msgstr[1] "正在用 %d 步写出提交图"
 
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "正在用 %d 步写出提交图"
 msgstr[1] "正在用 %d 步写出提交图"
 
-#: commit-graph.c:1109
+#: commit-graph.c:1162
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr "提交图文件的校验码错误,可能已经损坏"
 
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr "提交图文件的校验码错误,可能已经损坏"
 
-#: commit-graph.c:1153
+#: commit-graph.c:1172
+#, c-format
+msgid "commit-graph has incorrect OID order: %s then %s"
+msgstr "提交图形的对象 ID 顺序不正确:%s 然后 %s"
+
+#: commit-graph.c:1182 commit-graph.c:1197
+#, c-format
+msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
+msgstr "提交图形有不正确的扇出值:fanout[%d] = %u != %u"
+
+#: commit-graph.c:1189
+#, c-format
+msgid "failed to parse commit %s from commit-graph"
+msgstr "无法从提交图形中解析提交 %s"
+
+#: commit-graph.c:1206
 msgid "Verifying commits in commit graph"
 msgstr "正在校验提交图中的提交"
 
 msgid "Verifying commits in commit graph"
 msgstr "正在校验提交图中的提交"
 
+#: commit-graph.c:1219
+#, c-format
+msgid "failed to parse commit %s from object database for commit-graph"
+msgstr "无法从提交图形的对象库中解析提交 %s"
+
+#: commit-graph.c:1226
+#, c-format
+msgid "root tree OID for commit %s in commit-graph is %s != %s"
+msgstr "提交图形中的提交 %s 的根树对象 ID 是 %s != %s"
+
+#: commit-graph.c:1236
+#, c-format
+msgid "commit-graph parent list for commit %s is too long"
+msgstr "提交 %s 的提交图形父提交列表太长了"
+
+#: commit-graph.c:1242
+#, c-format
+msgid "commit-graph parent for %s is %s != %s"
+msgstr "%s 的提交图形父提交是 %s != %s"
+
+#: commit-graph.c:1255
+#, c-format
+msgid "commit-graph parent list for commit %s terminates early"
+msgstr "提交 %s 的提交图形父提交列表过早终止"
+
+#: commit-graph.c:1260
+#, c-format
+msgid ""
+"commit-graph has generation number zero for commit %s, but non-zero elsewhere"
+msgstr "提交图形中提交 %s 的世代号是零,但其它地方非零"
+
+#: commit-graph.c:1264
+#, c-format
+msgid ""
+"commit-graph has non-zero generation number for commit %s, but zero elsewhere"
+msgstr "提交图形中提交 %s 的世代号非零,但其它地方是零"
+
+#: commit-graph.c:1279
+#, c-format
+msgid "commit-graph generation for commit %s is %u != %u"
+msgstr "提交图形中的提交 %s 的世代号是 %u != %u"
+
+#: commit-graph.c:1285
+#, c-format
+msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
+msgstr "提交图形中提交 %s 的提交日期是 %<PRIuMAX> != %<PRIuMAX>"
+
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "内存耗尽"
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "内存耗尽"
@@ -1659,7 +1719,7 @@ msgstr "键名没有包含一个小节名称:%s"
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
 msgid "key does not contain variable name: %s"
 msgstr "键名没有包含变量名:%s"
 
-#: config.c:378 sequencer.c:2330
+#: config.c:378 sequencer.c:2459
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
@@ -1795,135 +1855,135 @@ msgstr "%s 的取值格式错误:%s"
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current"
 
-#: config.c:1481 builtin/pack-objects.c:3394
+#: config.c:1483 builtin/pack-objects.c:3397
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1602
+#: config.c:1604
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "无法从数据对象 '%s' 加载配置"
 
-#: config.c:1605
+#: config.c:1607
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "引用 '%s' 没有指向一个数据对象"
 
-#: config.c:1622
+#: config.c:1624
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "不能解析配置对象 '%s'"
 
-#: config.c:1652
+#: config.c:1654
 #, c-format
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
 #, c-format
 msgid "failed to parse %s"
 msgstr "解析 %s 失败"
 
-#: config.c:1705
+#: config.c:1710
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:2037
+#: config.c:2059
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2207
+#: config.c:2229
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2250
+#: config.c:2272
 #, 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:2276
+#: config.c:2298
 #, 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:2322
+#: config.c:2344
 #, 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:2324
+#: config.c:2346
 #, 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:2405
+#: config.c:2427
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "无效的小节名称 '%s'"
 
-#: config.c:2437
+#: config.c:2459
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2466
+#: config.c:2488
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "写入新的配置文件 %s 失败"
 
-#: config.c:2716 config.c:3040
+#: config.c:2740 config.c:3064
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
 #, c-format
 msgid "could not lock config file %s"
 msgstr "不能锁定配置文件 %s"
 
-#: config.c:2727
+#: config.c:2751
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
 #, c-format
 msgid "opening %s"
 msgstr "打开 %s"
 
-#: config.c:2762 builtin/config.c:328
+#: config.c:2786 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "无效模式:%s"
 
-#: config.c:2787
+#: config.c:2811
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
 #, c-format
 msgid "invalid config file %s"
 msgstr "无效的配置文件 %s"
 
-#: config.c:2800 config.c:3053
+#: config.c:2824 config.c:3077
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2811
+#: config.c:2835
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "不能 mmap '%s'"
 
-#: config.c:2820 config.c:3058
+#: config.c:2844 config.c:3082
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
 #, c-format
 msgid "chmod on %s failed"
 msgstr "对 %s 调用 chmod 失败"
 
-#: config.c:2905 config.c:3155
+#: config.c:2929 config.c:3179
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
 #, c-format
 msgid "could not write config file %s"
 msgstr "不能写入配置文件 %s"
 
-#: config.c:2939
+#: config.c:2963
 #, 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:2941 builtin/remote.c:782
+#: config.c:2965 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: config.c:3031
+#: config.c:3055
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
 #, c-format
 msgid "invalid section name: %s"
 msgstr "无效的小节名称:%s"
 
-#: config.c:3198
+#: config.c:3222
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
 #, c-format
 msgid "missing value for '%s'"
 msgstr "%s 的取值缺失"
@@ -2077,28 +2137,28 @@ msgstr "ssh 变体 'simple' 不支持 -6"
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "ssh 变体 'simple' 不支持设置端口"
 
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "ssh 变体 'simple' 不支持设置端口"
 
-#: connect.c:1259
+#: connect.c:1260
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "已阻止奇怪的路径名 '%s'"
 
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "已阻止奇怪的路径名 '%s'"
 
-#: connect.c:1304
+#: connect.c:1307
 msgid "unable to fork"
 msgstr "无法 fork"
 
 msgid "unable to fork"
 msgstr "无法 fork"
 
-#: connected.c:68 builtin/fsck.c:221 builtin/prune.c:146
+#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "正在检查连通性"
 
 msgid "Checking connectivity"
 msgstr "正在检查连通性"
 
-#: connected.c:80
+#: connected.c:97
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
-#: connected.c:100
+#: connected.c:117
 msgid "failed write to rev-list"
 msgstr "写入 rev-list 失败"
 
 msgid "failed write to rev-list"
 msgstr "写入 rev-list 失败"
 
-#: connected.c:107
+#: connected.c:124
 msgid "failed to close rev-list's stdin"
 msgstr "关闭 rev-list 的标准输入失败"
 
 msgid "failed to close rev-list's stdin"
 msgstr "关闭 rev-list 的标准输入失败"
 
@@ -2326,24 +2386,29 @@ msgstr "读取排序文件 '%s' 失败"
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
-#: diff.c:108
-#, c-format
-msgid "option '%s' requires a value"
-msgstr "选项 '%s' 需要一个值"
+#: diff-no-index.c:238
+msgid "git diff --no-index [<options>] <path> <path>"
+msgstr "git diff --no-index [<选项>] <路径> <路径>"
+
+#: diff-no-index.c:263
+msgid ""
+"Not a git repository. Use --no-index to compare two paths outside a working "
+"tree"
+msgstr "不是一个 git 仓库。使用 --no-index 比较工作区之外的两个路径"
 
 #  译者:注意保持前导空格
 
 #  译者:注意保持前导空格
-#: diff.c:158
+#: diff.c:155
 #, 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:163
+#: diff.c:160
 #, 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:291
+#: diff.c:296
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -2351,7 +2416,7 @@ msgstr ""
 "移动的颜色设置必须是 'no'、'default'、'blocks'、'zebra'、'dimmed_zebra' 或 "
 "'plain'"
 
 "移动的颜色设置必须是 'no'、'default'、'blocks'、'zebra'、'dimmed_zebra' 或 "
 "'plain'"
 
-#: diff.c:319
+#: diff.c:324
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -2360,18 +2425,18 @@ msgstr ""
 "未知的 color-moved-ws 模式 '%s',可能的取值有 'ignore-space-change'、'ignore-"
 "space-at-eol'、'ignore-all-space'、'allow-indentation-change'"
 
 "未知的 color-moved-ws 模式 '%s',可能的取值有 'ignore-space-change'、'ignore-"
 "space-at-eol'、'ignore-all-space'、'allow-indentation-change'"
 
-#: diff.c:327
+#: diff.c:332
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
 msgstr "color-moved-ws:allow-indentation-change 不能与其它空白字符模式共用"
 
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
 msgstr "color-moved-ws:allow-indentation-change 不能与其它空白字符模式共用"
 
-#: diff.c:400
+#: diff.c:405
 #, 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:460
+#: diff.c:465
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -2380,24 +2445,35 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:4211
+#: diff.c:4210
 #, 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:4553
+#: diff.c:4555
 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:4556
+#: diff.c:4558
 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:4634
+#: diff.c:4636
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4800
+#: diff.c:4684
+#, c-format
+msgid "invalid --stat value: %s"
+msgstr "无效的 --stat 值:%s"
+
+#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: parse-options.c:199 parse-options.c:203
+#, c-format
+msgid "%s expects a numerical value"
+msgstr "%s 期望一个数字值"
+
+#: diff.c:4721
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2406,59 +2482,530 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4814
+#: diff.c:4806
+#, c-format
+msgid "unknown change class '%c' in --diff-filter=%s"
+msgstr "--diff-filter=%2$s 中未知的变更类 '%1$c'"
+
+#: diff.c:4830
+#, c-format
+msgid "unknown value after ws-error-highlight=%.*s"
+msgstr "ws-error-highlight=%.*s 之后未知的值"
+
+#: diff.c:4844
 #, c-format
 #, c-format
-msgid "Failed to parse --submodule option parameter: '%s'"
+msgid "unable to resolve '%s'"
+msgstr "不能解析 '%s'"
+
+#: diff.c:4894 diff.c:4900
+#, c-format
+msgid "%s expects <n>/<m> form"
+msgstr "%s 期望 <n>/<m> 格式"
+
+#: diff.c:4912
+#, c-format
+msgid "%s expects a character, got '%s'"
+msgstr "%s 期望一个字符,得到 '%s'"
+
+#: diff.c:4933
+#, c-format
+msgid "bad --color-moved argument: %s"
+msgstr "坏的 --color-moved 参数:%s"
+
+#: diff.c:4952
+#, c-format
+msgid "invalid mode '%s' in --color-moved-ws"
+msgstr "--color-moved-ws 中的无效模式 '%s' "
+
+#: diff.c:4992
+msgid ""
+"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
+"\"histogram\""
+msgstr ""
+"diff-algorithm 选项有 \"myers\"、\"minimal\"、\"patience\" 和 \"histogram\""
+
+#: diff.c:5028 diff.c:5048
+#, c-format
+msgid "invalid argument to %s"
+msgstr "%s 的参数无效"
+
+#: diff.c:5186
+#, c-format
+msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5900
+#: diff.c:5242
+#, c-format
+msgid "bad --word-diff argument: %s"
+msgstr "坏的 --word-diff 参数:%s"
+
+#: diff.c:5265
+msgid "Diff output format options"
+msgstr "差异输出格式化选项"
+
+#: diff.c:5267 diff.c:5273
+msgid "generate patch"
+msgstr "生成补丁"
+
+#: diff.c:5270 builtin/log.c:167
+msgid "suppress diff output"
+msgstr "不显示差异输出"
+
+#: diff.c:5275 diff.c:5389 diff.c:5396
+msgid "<n>"
+msgstr "<n>"
+
+#: diff.c:5276 diff.c:5279
+msgid "generate diffs with <n> lines context"
+msgstr "生成含 <n> 行上下文的差异"
+
+#: diff.c:5281
+msgid "generate the diff in raw format"
+msgstr "生成原始格式的差异"
+
+#: diff.c:5284
+msgid "synonym for '-p --raw'"
+msgstr "和 '-p --raw' 同义"
+
+#: diff.c:5288
+msgid "synonym for '-p --stat'"
+msgstr "和 '-p --stat' 同义"
+
+#: diff.c:5292
+msgid "machine friendly --stat"
+msgstr "机器友好的 --stat"
+
+#: diff.c:5295
+msgid "output only the last line of --stat"
+msgstr "只输出 --stat 的最后一行"
+
+#: diff.c:5297 diff.c:5305
+msgid "<param1,param2>..."
+msgstr "<参数1,参数2>..."
+
+#: diff.c:5298
+msgid ""
+"output the distribution of relative amount of changes for each sub-directory"
+msgstr "输出每个子目录相对变更的分布"
+
+#: diff.c:5302
+msgid "synonym for --dirstat=cumulative"
+msgstr "和 --dirstat=cumulative 同义"
+
+#: diff.c:5306
+msgid "synonym for --dirstat=files,param1,param2..."
+msgstr "是 --dirstat=files,param1,param2... 的同义词"
+
+#: diff.c:5310
+msgid "warn if changes introduce conflict markers or whitespace errors"
+msgstr "如果变更中引入冲突定界符或空白错误,给出警告"
+
+#: diff.c:5313
+msgid "condensed summary such as creations, renames and mode changes"
+msgstr "精简摘要,例如创建、重命名和模式变更"
+
+#: diff.c:5316
+msgid "show only names of changed files"
+msgstr "只显示变更文件的文件名"
+
+#: diff.c:5319
+msgid "show only names and status of changed files"
+msgstr "只显示变更文件的文件名和状态"
+
+#: diff.c:5321
+msgid "<width>[,<name-width>[,<count>]]"
+msgstr "<宽度>[,<文件名宽度>[,<次数>]]"
+
+#: diff.c:5322
+msgid "generate diffstat"
+msgstr "生成差异统计(diffstat)"
+
+#: diff.c:5324 diff.c:5327 diff.c:5330
+msgid "<width>"
+msgstr "<宽度>"
+
+#: diff.c:5325
+msgid "generate diffstat with a given width"
+msgstr "使用给定的长度生成差异统计"
+
+#: diff.c:5328
+msgid "generate diffstat with a given name width"
+msgstr "使用给定的文件名长度生成差异统计"
+
+#: diff.c:5331
+msgid "generate diffstat with a given graph width"
+msgstr "使用给定的图形长度生成差异统计"
+
+#: diff.c:5333
+msgid "<count>"
+msgstr "<次数>"
+
+#: diff.c:5334
+msgid "generate diffstat with limited lines"
+msgstr "生成有限行数的差异统计"
+
+#: diff.c:5337
+msgid "generate compact summary in diffstat"
+msgstr "生成差异统计的简洁摘要"
+
+#: diff.c:5340
+msgid "output a binary diff that can be applied"
+msgstr "输出一个可以应用的二进制差异"
+
+#: diff.c:5343
+msgid "show full pre- and post-image object names on the \"index\" lines"
+msgstr "在 \"index\" 行显示完整的前后对象名称"
+
+#: diff.c:5345
+msgid "show colored diff"
+msgstr "显示带颜色的差异"
+
+#: diff.c:5346
+msgid "<kind>"
+msgstr "<类型>"
+
+#: diff.c:5347
+msgid ""
+"highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
+"diff"
+msgstr "对于差异中的上下文、旧的和新的行,加亮显示错误的空白字符"
+
+#: diff.c:5350
+msgid ""
+"do not munge pathnames and use NULs as output field terminators in --raw or "
+"--numstat"
+msgstr ""
+"在 --raw 或者 --numstat 中,不对路径字符转码并使用 NUL 字符做为输出字段的分隔"
+"符"
+
+#: diff.c:5353 diff.c:5356 diff.c:5359 diff.c:5465
+msgid "<prefix>"
+msgstr "<前缀>"
+
+#: diff.c:5354
+msgid "show the given source prefix instead of \"a/\""
+msgstr "显示给定的源前缀取代 \"a/\""
+
+#: diff.c:5357
+msgid "show the given destination prefix instead of \"b/\""
+msgstr "显示给定的目标前缀取代 \"b/\""
+
+#: diff.c:5360
+msgid "prepend an additional prefix to every line of output"
+msgstr "输出的每一行附加前缀"
+
+#: diff.c:5363
+msgid "do not show any source or destination prefix"
+msgstr "不显示任何源和目标前缀"
+
+#: diff.c:5366
+msgid "show context between diff hunks up to the specified number of lines"
+msgstr "显示指定行数的差异块间的上下文"
+
+#: diff.c:5370 diff.c:5375 diff.c:5380
+msgid "<char>"
+msgstr "<字符>"
+
+#: diff.c:5371
+msgid "specify the character to indicate a new line instead of '+'"
+msgstr "指定一个字符取代 '+' 来表示新的一行"
+
+#: diff.c:5376
+msgid "specify the character to indicate an old line instead of '-'"
+msgstr "指定一个字符取代 '-' 来表示旧的一行"
+
+#: diff.c:5381
+msgid "specify the character to indicate a context instead of ' '"
+msgstr "指定一个字符取代 ' ' 来表示一行上下文"
+
+#: diff.c:5384
+msgid "Diff rename options"
+msgstr "差异重命名选项"
+
+#: diff.c:5385
+msgid "<n>[/<m>]"
+msgstr "<n>[/<m>]"
+
+#: diff.c:5386
+msgid "break complete rewrite changes into pairs of delete and create"
+msgstr "将完全重写的变更打破为成对的删除和创建"
+
+#: diff.c:5390
+msgid "detect renames"
+msgstr "检测重命名"
+
+#: diff.c:5394
+msgid "omit the preimage for deletes"
+msgstr "省略删除操作的差异输出"
+
+#: diff.c:5397
+msgid "detect copies"
+msgstr "检测拷贝"
+
+#: diff.c:5401
+msgid "use unmodified files as source to find copies"
+msgstr "使用未修改的文件做为发现拷贝的源"
+
+#: diff.c:5403
+msgid "disable rename detection"
+msgstr "禁用重命名探测"
+
+#: diff.c:5406
+msgid "use empty blobs as rename source"
+msgstr "使用空的数据对象做为重命名的源"
+
+#: diff.c:5408
+msgid "continue listing the history of a file beyond renames"
+msgstr "继续列出文件重命名以外的历史记录"
+
+#: diff.c:5411
+msgid ""
+"prevent rename/copy detection if the number of rename/copy targets exceeds "
+"given limit"
+msgstr "如果重命名/拷贝目标超过给定的限制,禁止重命名/拷贝检测"
+
+#: diff.c:5413
+msgid "Diff algorithm options"
+msgstr "差异算法选项"
+
+#: diff.c:5415
+msgid "produce the smallest possible diff"
+msgstr "生成尽可能小的差异"
+
+#: diff.c:5418
+msgid "ignore whitespace when comparing lines"
+msgstr "行比较时忽略空白字符"
+
+#: diff.c:5421
+msgid "ignore changes in amount of whitespace"
+msgstr "忽略空白字符的变更"
+
+#: diff.c:5424
+msgid "ignore changes in whitespace at EOL"
+msgstr "忽略行尾的空白字符变更"
+
+#: diff.c:5427
+msgid "ignore carrier-return at the end of line"
+msgstr "忽略行尾的回车符(CR)"
+
+#: diff.c:5430
+msgid "ignore changes whose lines are all blank"
+msgstr "忽略整行都是空白的变更"
+
+#: diff.c:5433
+msgid "heuristic to shift diff hunk boundaries for easy reading"
+msgstr "启发式转换差异边界以便阅读"
+
+#: diff.c:5436
+msgid "generate diff using the \"patience diff\" algorithm"
+msgstr "使用 \"patience diff\" 算法生成差异"
+
+#: diff.c:5440
+msgid "generate diff using the \"histogram diff\" algorithm"
+msgstr "使用 \"histogram diff\" 算法生成差异"
+
+#: diff.c:5442
+msgid "<algorithm>"
+msgstr "<算法>"
+
+#: diff.c:5443
+msgid "choose a diff algorithm"
+msgstr "选择一个差异算法"
+
+#: diff.c:5445
+msgid "<text>"
+msgstr "<文本>"
+
+#: diff.c:5446
+msgid "generate diff using the \"anchored diff\" algorithm"
+msgstr "使用 \"anchored diff\" 算法生成差异"
+
+#: diff.c:5448 diff.c:5457 diff.c:5460
+msgid "<mode>"
+msgstr "<模式>"
+
+#: diff.c:5449
+msgid "show word diff, using <mode> to delimit changed words"
+msgstr "显示单词差异,使用 <模式> 分隔变更的单词"
+
+#: diff.c:5451 diff.c:5454 diff.c:5499
+msgid "<regex>"
+msgstr "<正则>"
+
+#: diff.c:5452
+msgid "use <regex> to decide what a word is"
+msgstr "使用 <正则表达式> 确定何为一个词"
+
+#: diff.c:5455
+msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
+msgstr "相当于 --word-diff=color --word-diff-regex=<正则>"
+
+#: diff.c:5458
+msgid "moved lines of code are colored differently"
+msgstr "移动的代码行用不同方式着色"
+
+#: diff.c:5461
+msgid "how white spaces are ignored in --color-moved"
+msgstr "在 --color-moved 下如何忽略空白字符"
+
+#: diff.c:5464
+msgid "Other diff options"
+msgstr "其它差异选项"
+
+#: diff.c:5466
+msgid "when run from subdir, exclude changes outside and show relative paths"
+msgstr "当从子目录运行,排除目录之外的变更并显示相对路径"
+
+#: diff.c:5470
+msgid "treat all files as text"
+msgstr "把所有文件当做文本处理"
+
+#: diff.c:5472
+msgid "swap two inputs, reverse the diff"
+msgstr "交换两个输入,反转差异"
+
+#: diff.c:5474
+msgid "exit with 1 if there were differences, 0 otherwise"
+msgstr "有差异时退出码为 1,否则为 0"
+
+#: diff.c:5476
+msgid "disable all output of the program"
+msgstr "禁用本程序的所有输出"
+
+#: diff.c:5478
+msgid "allow an external diff helper to be executed"
+msgstr "允许执行一个外置的差异助手"
+
+#: diff.c:5480
+msgid "run external text conversion filters when comparing binary files"
+msgstr "当比较二进制文件时,运行外部的文本转换过滤器"
+
+#: diff.c:5482
+msgid "<when>"
+msgstr "<何时>"
+
+#: diff.c:5483
+msgid "ignore changes to submodules in the diff generation"
+msgstr "在生成差异时,忽略子模组的更改"
+
+#: diff.c:5486
+msgid "<format>"
+msgstr "<格式>"
+
+#: diff.c:5487
+msgid "specify how differences in submodules are shown"
+msgstr "指定子模组的差异如何显示"
+
+#: diff.c:5491
+msgid "hide 'git add -N' entries from the index"
+msgstr "隐藏索引中 'git add -N' 条目"
+
+#: diff.c:5494
+msgid "treat 'git add -N' entries as real in the index"
+msgstr "将索引中 'git add -N' 条目当做真实的"
+
+#: diff.c:5496
+msgid "<string>"
+msgstr "<字符串>"
+
+#: diff.c:5497
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"string"
+msgstr "查找改变了指定字符串出现次数的差异"
+
+#: diff.c:5500
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"regex"
+msgstr "查找改变指定正则匹配出现次数的差异"
+
+#: diff.c:5503
+msgid "show all changes in the changeset with -S or -G"
+msgstr "显示使用 -S 或 -G 的变更集的所有变更"
+
+#: diff.c:5506
+msgid "treat <string> in -S as extended POSIX regular expression"
+msgstr "将 -S 的 <string> 当做扩展的 POSIX 正则表达式"
+
+#: diff.c:5509
+msgid "control the order in which files appear in the output"
+msgstr "控制输出中的文件显示顺序"
+
+#: diff.c:5510
+msgid "<object-id>"
+msgstr "<对象 ID>"
+
+#: diff.c:5511
+msgid ""
+"look for differences that change the number of occurrences of the specified "
+"object"
+msgstr "查找改变指定对象出现次数的差异"
+
+#: diff.c:5513
+msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
+msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]"
+
+#: diff.c:5514
+msgid "select files by diff type"
+msgstr "通过差异类型选择文件"
+
+#: diff.c:5516
+msgid "<file>"
+msgstr "<文件>"
+
+#: diff.c:5517
+msgid "Output to a specific file"
+msgstr "输出到一个指定的文件"
+
+#: diff.c:6150
 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:5903
+#: diff.c:6153
 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:5906
+#: diff.c:6156
 #, 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:538
+#: dir.c:537
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
 
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr "路径规格 '%s' 未匹配任何 git 已知文件"
 
-#: dir.c:927
+#: dir.c:926
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "不能将 %s 用作排除文件"
 
-#: dir.c:1842
+#: dir.c:1843
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2084
+#: dir.c:2085
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2208
+#: dir.c:2209
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
 msgid "untracked cache is disabled on this system or location"
 msgstr "缓存未跟踪文件在本系统或位置中被禁用"
 
-#: dir.c:3009
+#: dir.c:3013
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "仓库 %s 中的索引文件损坏"
 
-#: dir.c:3054 dir.c:3059
+#: dir.c:3058 dir.c:3063
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3088
+#: dir.c:3092
 #, 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'"
@@ -2472,7 +3019,7 @@ msgstr "提示:等待您的编辑器关闭文件...%c"
 msgid "Filtering content"
 msgstr "过滤内容"
 
 msgid "Filtering content"
 msgstr "过滤内容"
 
-#: entry.c:465
+#: entry.c:476
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
@@ -2487,7 +3034,7 @@ msgstr "错误的 git 名字空间路径 \"%s\""
 msgid "could not set GIT_DIR to '%s'"
 msgstr "不能设置 GIT_DIR 为 '%s'"
 
 msgid "could not set GIT_DIR to '%s'"
 msgstr "不能设置 GIT_DIR 为 '%s'"
 
-#: exec-cmd.c:361
+#: exec-cmd.c:363
 #, c-format
 msgid "too many args to run %s"
 msgstr "执行 %s 的参数太多"
 #, c-format
 msgid "too many args to run %s"
 msgstr "执行 %s 的参数太多"
@@ -2513,226 +3060,234 @@ msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包"
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
-#: fetch-pack.c:256
+#: fetch-pack.c:196
+msgid "unable to write to remote"
+msgstr "无法写到远程"
+
+#: fetch-pack.c:258
 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:358 fetch-pack.c:1264
+#: fetch-pack.c:360 fetch-pack.c:1271
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:364 fetch-pack.c:1271
+#: fetch-pack.c:366 fetch-pack.c:1277
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:366 fetch-pack.c:1273
+#: fetch-pack.c:368 fetch-pack.c:1279
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:369 fetch-pack.c:1276
+#: fetch-pack.c:371 fetch-pack.c:1282
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:371 fetch-pack.c:1278
+#: fetch-pack.c:373 fetch-pack.c:1284
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:374 fetch-pack.c:1282
+#: fetch-pack.c:376 fetch-pack.c:1288
 #, 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:415
+#: fetch-pack.c:417
 #, 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:432
+#: fetch-pack.c:434
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:463
+#: fetch-pack.c:465
 msgid "giving up"
 msgstr "放弃"
 
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:475 progress.c:229
+#: fetch-pack.c:477 progress.c:284
 msgid "done"
 msgstr "完成"
 
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:487
+#: fetch-pack.c:489
 #, 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:533
+#: fetch-pack.c:535
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:740
+#: fetch-pack.c:744
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:779
+#: fetch-pack.c:783
 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:787
+#: fetch-pack.c:791
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:855
+#: fetch-pack.c:859
 #, 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:871
+#: fetch-pack.c:875
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:877
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:902
+#: fetch-pack.c:906
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
-#: fetch-pack.c:906
+#: fetch-pack.c:910
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
-#: fetch-pack.c:909
+#: fetch-pack.c:913
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
-#: fetch-pack.c:915
+#: fetch-pack.c:919
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
-#: fetch-pack.c:919
+#: fetch-pack.c:923
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
-#: fetch-pack.c:923
+#: fetch-pack.c:927
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
-#: fetch-pack.c:927
+#: fetch-pack.c:931
 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:931
+#: fetch-pack.c:935
 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:941
+#: fetch-pack.c:945
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
-#: fetch-pack.c:947 fetch-pack.c:1140
+#: fetch-pack.c:951 fetch-pack.c:1144
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:955
+#: fetch-pack.c:959
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:961
+#: fetch-pack.c:965
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:969
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:967
+#: fetch-pack.c:971
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:988
 msgid "no common commits"
 msgstr "没有共同的提交"
 
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:996 fetch-pack.c:1419
+#: fetch-pack.c:1000 fetch-pack.c:1449
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1134
+#: fetch-pack.c:1138
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
 msgid "Server does not support shallow requests"
 msgstr "服务器不支持 shalllow 请求"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1171
+msgid "unable to write request to remote"
+msgstr "无法将请求写到远程"
+
+#: fetch-pack.c:1189
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "读取节标题 '%s' 出错"
 
-#: fetch-pack.c:1190
+#: fetch-pack.c:1195
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "预期 '%s',得到 '%s'"
 
-#: fetch-pack.c:1229
+#: fetch-pack.c:1234
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "意外的确认行:'%s'"
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1239
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
 #, c-format
 msgid "error processing acks: %d"
 msgstr "处理 ack 出错:%d"
 
-#: fetch-pack.c:1244
+#: fetch-pack.c:1249
 msgid "expected packfile to be sent after 'ready'"
 msgstr "预期在 'ready' 之后发送 packfile"
 
 msgid "expected packfile to be sent after 'ready'"
 msgstr "预期在 'ready' 之后发送 packfile"
 
-#: fetch-pack.c:1246
+#: fetch-pack.c:1251
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "在没有 'ready' 不应该发送其它小节"
 
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "在没有 'ready' 不应该发送其它小节"
 
-#: fetch-pack.c:1287
+#: fetch-pack.c:1293
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "处理浅克隆信息出错:%d"
 
-#: fetch-pack.c:1308
+#: fetch-pack.c:1340
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "预期 wanted-ref,得到 '%s'"
 
-#: fetch-pack.c:1318
+#: fetch-pack.c:1345
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "意外的 wanted-ref:'%s'"
 
-#: fetch-pack.c:1322
+#: fetch-pack.c:1350
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "处理要获取的引用出错:%d"
 
-#: fetch-pack.c:1646
+#: fetch-pack.c:1676
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1664 builtin/clone.c:671
+#: fetch-pack.c:1699 builtin/clone.c:673
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必需的对象"
 
-#: fetch-pack.c:1690
+#: fetch-pack.c:1726
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1693
+#: fetch-pack.c:1729
 #, 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"
@@ -2836,28 +3391,28 @@ msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:363 git.c:90
+#: help.c:363 git.c:97
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "不支持的命令列表类型 '%s'"
 
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "不支持的命令列表类型 '%s'"
 
-#: help.c:410
+#: help.c:403
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
 msgid "The common Git guides are:"
 msgstr "最常用的 Git 向导有:"
 
-#: help.c:519
+#: help.c:512
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr "执行 'git help <command>' 来查看特定子命令"
 
 msgid "See 'git help <command>' to read about a specific subcommand"
 msgstr "执行 'git help <command>' 来查看特定子命令"
 
-#: help.c:524
+#: help.c:517
 msgid "External commands"
 msgstr "外部命令"
 
 msgid "External commands"
 msgstr "外部命令"
 
-#: help.c:539
+#: help.c:532
 msgid "Command aliases"
 msgstr "命令别名"
 
 msgid "Command aliases"
 msgstr "命令别名"
 
-#: help.c:603
+#: help.c:596
 #, 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"
@@ -2866,31 +3421,31 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:662
+#: help.c:655
 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:684
+#: help.c:677
 #, 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:689
+#: help.c:682
 #, 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:694
+#: help.c:687
 #, 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:702
+#: help.c:695
 #, 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:706
+#: help.c:699
 msgid ""
 "\n"
 "The most similar command is"
 msgid ""
 "\n"
 "The most similar command is"
@@ -2904,16 +3459,16 @@ msgstr[1] ""
 "\n"
 "最相似的命令是"
 
 "\n"
 "最相似的命令是"
 
-#: help.c:721
+#: help.c:714
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:789
+#: help.c:782
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:793
+#: help.c:786
 msgid ""
 "\n"
 "Did you mean this?"
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2927,7 +3482,7 @@ msgstr[1] ""
 "\n"
 "您指的是这其中的某一个么?"
 
 "\n"
 "您指的是这其中的某一个么?"
 
-#: ident.c:345
+#: ident.c:349
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -2952,39 +3507,54 @@ msgstr ""
 "来设置您账号的缺省身份标识。\n"
 "如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
 "来设置您账号的缺省身份标识。\n"
 "如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
-#: ident.c:369
+#: ident.c:379
 msgid "no email was given and auto-detection is disabled"
 msgstr "未提供邮件地址且自动探测被禁用"
 
 msgid "no email was given and auto-detection is disabled"
 msgstr "未提供邮件地址且自动探测被禁用"
 
-#: ident.c:374
+#: ident.c:384
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "无法自动探测邮件地址(得到 '%s')"
 
 #, c-format
 msgid "unable to auto-detect email address (got '%s')"
 msgstr "无法自动探测邮件地址(得到 '%s')"
 
-#: ident.c:384
+#: ident.c:401
 msgid "no name was given and auto-detection is disabled"
 msgstr "未提供姓名且自动探测被禁用"
 
 msgid "no name was given and auto-detection is disabled"
 msgstr "未提供姓名且自动探测被禁用"
 
-#: ident.c:390
+#: ident.c:407
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "无法自动探测姓名(得到 '%s')"
 
 #, c-format
 msgid "unable to auto-detect name (got '%s')"
 msgstr "无法自动探测姓名(得到 '%s')"
 
-#: ident.c:398
+#: ident.c:415
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "不允许空的姓名(对于 <%s>)"
 
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
 msgstr "不允许空的姓名(对于 <%s>)"
 
-#: ident.c:404
+#: ident.c:421
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
 #, c-format
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:419 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:608
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
+#: list-objects.c:129
+#, c-format
+msgid "entry '%s' in tree %s has tree mode, but is not a tree"
+msgstr "树 %2$s 中的条目 '%1$s' 具有树的属性,但不是一个树对象"
+
+#: list-objects.c:142
+#, c-format
+msgid "entry '%s' in tree %s has blob mode, but is not a blob"
+msgstr "树 %2$s 中的条目 '%1$s' 具有数据对象的属性,但不是一个数据对象"
+
+#: list-objects.c:378
+#, c-format
+msgid "unable to load root tree for commit %s"
+msgstr "无法为提交 %s 加载根树"
+
 #: list-objects-filter-options.c:36
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
 #: list-objects-filter-options.c:36
 msgid "multiple filter-specs cannot be combined"
 msgstr "不能混用多种过滤规格"
@@ -2993,7 +3563,11 @@ msgstr "不能混用多种过滤规格"
 msgid "expected 'tree:<depth>'"
 msgstr "期望 'tree:<深度>'"
 
 msgid "expected 'tree:<depth>'"
 msgstr "期望 'tree:<深度>'"
 
-#: list-objects-filter-options.c:152
+#: list-objects-filter-options.c:84
+msgid "sparse:path filters support has been dropped"
+msgstr "sparse:path 过滤器支持已被删除"
+
+#: list-objects-filter-options.c:158
 msgid "cannot change partial clone promisor remote"
 msgstr "无法修改部分克隆的 promisor 远程仓库"
 
 msgid "cannot change partial clone promisor remote"
 msgstr "无法修改部分克隆的 promisor 远程仓库"
 
@@ -3024,113 +3598,114 @@ msgstr "不能创建 '%s.lock':%s"
 msgid "failed to read the cache"
 msgstr "读取缓存失败"
 
 msgid "failed to read the cache"
 msgstr "读取缓存失败"
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1884 builtin/am.c:1918
-#: builtin/checkout.c:416 builtin/checkout.c:745 builtin/clone.c:771
+#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
+#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: builtin/stash.c:264
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: merge-recursive.c:332
+#: merge-recursive.c:322
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:355
+#: merge-recursive.c:345
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "add_cacheinfo 对路径 '%s' 执行失败,合并终止。"
 
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "add_cacheinfo 对路径 '%s' 执行失败,合并终止。"
 
-#: merge-recursive.c:364
+#: merge-recursive.c:354
 #, 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:447
+#: merge-recursive.c:437
 msgid "error building trees"
 msgstr "创建树出错"
 
 msgid "error building trees"
 msgstr "创建树出错"
 
-#: merge-recursive.c:902
+#: merge-recursive.c:861
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "创建路径 '%s'%s 失败"
 
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "创建路径 '%s'%s 失败"
 
-#: merge-recursive.c:913
+#: merge-recursive.c:872
 #, 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:927 merge-recursive.c:946
+#: merge-recursive.c:886 merge-recursive.c:905
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:936
+#: merge-recursive.c:895
 #, 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:978 builtin/cat-file.c:40
+#: merge-recursive.c:936 builtin/cat-file.c:40
 #, 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:980
+#: merge-recursive.c:939
 #, 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:1004
+#: merge-recursive.c:963
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "打开 '%s' 失败:%s"
 
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "打开 '%s' 失败:%s"
 
-#: merge-recursive.c:1015
+#: merge-recursive.c:974
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "创建符号链接 '%s' 失败:%s"
 
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "创建符号链接 '%s' 失败:%s"
 
-#: merge-recursive.c:1020
+#: merge-recursive.c:979
 #, 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:1211
+#: merge-recursive.c:1175
 #, 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:1218
+#: merge-recursive.c:1182
 #, 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:1225
+#: merge-recursive.c:1189
 #, 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:1233 merge-recursive.c:1245
+#: merge-recursive.c:1197 merge-recursive.c:1209
 #, 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:1236 merge-recursive.c:1248
+#: merge-recursive.c:1200 merge-recursive.c:1212
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "快进子模组 %s"
 
-#: merge-recursive.c:1271
+#: merge-recursive.c:1235
 #, 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:1275
+#: merge-recursive.c:1239
 #, 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:1276
+#: merge-recursive.c:1240
 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:1279
+#: merge-recursive.c:1243
 #, 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"
@@ -3146,31 +3721,31 @@ msgstr ""
 "\n"
 "以接受此建议。\n"
 
 "\n"
 "以接受此建议。\n"
 
-#: merge-recursive.c:1288
+#: merge-recursive.c:1252
 #, 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:1361
+#: merge-recursive.c:1325
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:1366
+#: merge-recursive.c:1330
 #, 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:1398
+#: merge-recursive.c:1362
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1419
+#: merge-recursive.c:1385
 #, 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:1486
+#: merge-recursive.c:1457
 #, 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 "
@@ -3179,7 +3754,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:1491
+#: merge-recursive.c:1462
 #, 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 "
@@ -3188,7 +3763,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:1498
+#: merge-recursive.c:1469
 #, 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 "
@@ -3197,7 +3772,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:1503
+#: merge-recursive.c:1474
 #, 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 "
@@ -3206,40 +3781,40 @@ 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:1537
+#: merge-recursive.c:1509
 msgid "rename"
 msgstr "重命名"
 
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1537
+#: merge-recursive.c:1509
 msgid "renamed"
 msgstr "重命名"
 
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1633 merge-recursive.c:2481 merge-recursive.c:3213
+#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
 #, 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:1643
+#: merge-recursive.c:1599
 #, 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:1706
+#: merge-recursive.c:1657
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1734
+#: merge-recursive.c:1687
 #, 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:1739
+#: merge-recursive.c:1692
 #, 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:1759
+#: merge-recursive.c:1711
 #, 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"
@@ -3248,18 +3823,18 @@ 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:1764
+#: merge-recursive.c:1716
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1825
 #, 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:2064
+#: merge-recursive.c:2030
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3269,7 +3844,7 @@ msgstr ""
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
 "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
 "其它目录,没有目录包含大部分文件。"
 
-#: merge-recursive.c:2096
+#: merge-recursive.c:2062
 #, 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 "
@@ -3278,7 +3853,7 @@ msgstr ""
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
 "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
 "在:%s。"
 
-#: merge-recursive.c:2106
+#: merge-recursive.c:2072
 #, 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; "
@@ -3287,7 +3862,7 @@ msgstr ""
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
 "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
 "径放置于此:%s"
 
-#: merge-recursive.c:2198
+#: merge-recursive.c:2164
 #, 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-"
@@ -3296,87 +3871,122 @@ 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:2443
+#: merge-recursive.c:2408
 #, 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:3022
+#: merge-recursive.c:2929
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:3025
+#: merge-recursive.c:2932
 #, 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:3094
+#: merge-recursive.c:2996
 msgid "modify"
 msgstr "修改"
 
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:3094
+#: merge-recursive.c:2996
 msgid "modified"
 msgstr "修改"
 
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:3105
+#: merge-recursive.c:3008
 msgid "content"
 msgstr "内容"
 
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:3112
+#: merge-recursive.c:3012
 msgid "add/add"
 msgstr "添加/添加"
 
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:3160
+#: merge-recursive.c:3035
 #, 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:3182 git-submodule.sh:861
+#: merge-recursive.c:3057 git-submodule.sh:937
 msgid "submodule"
 msgstr "子模组"
 
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:3183
+#: merge-recursive.c:3058
 #, 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:3216
+#: merge-recursive.c:3088
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:3319
+#: merge-recursive.c:3170
 #, c-format
 #, c-format
-msgid "Removing %s"
-msgstr "删除 %s"
+msgid ""
+"Path updated: %s added in %s inside a directory that was renamed in %s; "
+"moving it to %s."
+msgstr ""
+"路径已更新:%s 添加到 %s,位于一个被重命名到 %s 的目录中,将其移动到 %s。"
 
 
-#: merge-recursive.c:3345
-msgid "file/directory"
-msgstr "文件/目录"
+#: merge-recursive.c:3173
+#, c-format
+msgid ""
+"CONFLICT (file location): %s added in %s inside a directory that was renamed "
+"in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"冲突(文件位置):%s 添加到 %s,位于一个被重命名为 %s 的目录中,建议将其移动"
+"到 %s。"
+
+#: merge-recursive.c:3177
+#, c-format
+msgid ""
+"Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
+"%s; moving it to %s."
+msgstr ""
+"路径已更新:%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,将其移"
+"动到 %5$s。"
+
+#: merge-recursive.c:3180
+#, c-format
+msgid ""
+"CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
+"was renamed in %s, suggesting it should perhaps be moved to %s."
+msgstr ""
+"冲突(文件位置):%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,"
+"建议将其移动到 %5$s。"
+
+#: merge-recursive.c:3294
+#, c-format
+msgid "Removing %s"
+msgstr "删除 %s"
+
+#: merge-recursive.c:3317
+msgid "file/directory"
+msgstr "文件/目录"
 
 
-#: merge-recursive.c:3351
+#: merge-recursive.c:3322
 msgid "directory/file"
 msgstr "目录/文件"
 
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:3358
+#: merge-recursive.c:3329
 #, 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:3367
+#: merge-recursive.c:3338
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:3376
+#: merge-recursive.c:3347
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "冲突(add/add):合并冲突于 %s"
 
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "冲突(add/add):合并冲突于 %s"
 
-#: merge-recursive.c:3417
+#: merge-recursive.c:3385
 #, 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"
@@ -3385,147 +3995,159 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "  %s"
 
-#: merge-recursive.c:3428
+#: merge-recursive.c:3396
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:3437
+#: merge-recursive.c:3405
 #, 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:3536
+#: merge-recursive.c:3504
 msgid "Merging:"
 msgstr "合并:"
 
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:3549
+#: merge-recursive.c:3517
 #, 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:3588
+#: merge-recursive.c:3556
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:3654
+#: merge-recursive.c:3622
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:3670 builtin/merge.c:692 builtin/merge.c:850
+#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
-#: midx.c:65
+#: midx.c:66
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "多包索引文件 %s 太小"
 
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "多包索引文件 %s 太小"
 
-#: midx.c:81
+#: midx.c:82
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配"
 
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配"
 
-#: midx.c:86
+#: midx.c:87
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "multi-pack-index 版本 %d 不能被识别"
 
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "multi-pack-index 版本 %d 不能被识别"
 
-#: midx.c:91
+#: midx.c:92
 #, c-format
 msgid "hash version %u does not match"
 msgstr "散列版本 %u 不匹配"
 
 #, c-format
 msgid "hash version %u does not match"
 msgstr "散列版本 %u 不匹配"
 
-#: midx.c:105
+#: midx.c:106
 msgid "invalid chunk offset (too large)"
 msgstr "无效的块偏移(太大)"
 
 msgid "invalid chunk offset (too large)"
 msgstr "无效的块偏移(太大)"
 
-#: midx.c:129
+#: midx.c:130
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr "终止多包索引块 id 出现时间早于预期"
 
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr "终止多包索引块 id 出现时间早于预期"
 
-#: midx.c:142
+#: midx.c:143
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "多包索引缺少必需的包名块"
 
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "多包索引缺少必需的包名块"
 
-#: midx.c:144
+#: midx.c:145
 msgid "multi-pack-index missing required OID fanout chunk"
 msgid "multi-pack-index missing required OID fanout chunk"
-msgstr "多包索引缺少必需的 OID 扇出块"
+msgstr "多包索引缺少必需的对象 ID 扇出块"
 
 
-#: midx.c:146
+#: midx.c:147
 msgid "multi-pack-index missing required OID lookup chunk"
 msgid "multi-pack-index missing required OID lookup chunk"
-msgstr "多包索引缺少必需的 OID 查询块"
+msgstr "多包索引缺少必需的对象 ID 查询块"
 
 
-#: midx.c:148
+#: midx.c:149
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "多包索引缺少必需的对象偏移块"
 
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "多包索引缺少必需的对象偏移块"
 
-#: midx.c:162
+#: midx.c:163
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "多包索引包名无序:'%s' 在 '%s' 之前"
 
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "多包索引包名无序:'%s' 在 '%s' 之前"
 
-#: midx.c:205
+#: midx.c:208
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "错的 pack-int-id:%u(共有 %u 个包)"
 
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "错的 pack-int-id:%u(共有 %u 个包)"
 
-#: midx.c:246
+#: midx.c:258
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "多包索引存储一个64位偏移,但是 off_t 太小"
 
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "多包索引存储一个64位偏移,但是 off_t 太小"
 
-#: midx.c:271
+#: midx.c:286
 msgid "error preparing packfile from multi-pack-index"
 msgstr "从多包索引准备 packfile 出错"
 
 msgid "error preparing packfile from multi-pack-index"
 msgstr "从多包索引准备 packfile 出错"
 
-#: midx.c:407
+#: midx.c:457
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "添加包文件 '%s' 失败"
 
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "添加包文件 '%s' 失败"
 
-#: midx.c:413
+#: midx.c:463
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "打开包索引 '%s' 失败"
 
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "打开包索引 '%s' 失败"
 
-#: midx.c:507
+#: midx.c:557
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "在包文件中定位对象 %d 失败"
 
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "在包文件中定位对象 %d 失败"
 
-#: midx.c:943
+#: midx.c:993
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "清理位于 %s 的多包索引失败"
 
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "清理位于 %s 的多包索引失败"
 
-#: midx.c:981
+#: midx.c:1048
+msgid "Looking for referenced packfiles"
+msgstr "正在查找引用的包文件"
+
+#: midx.c:1063
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
-msgstr "对象ID扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
+msgstr "对象 ID 扇出无序:fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
+
+#: midx.c:1067
+msgid "Verifying OID order in MIDX"
+msgstr "正在校验 MIDX 中的对象 ID 顺序"
 
 
-#: midx.c:992
+#: midx.c:1076
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
-msgstr "对象ID查询无序:oid[%d] = %s >= %s = oid[%d]"
+msgstr "对象 ID 查询无序:oid[%d] = %s >= %s = oid[%d]"
 
 
-#: midx.c:996
+#: midx.c:1095
+msgid "Sorting objects by packfile"
+msgstr "通过包文件为对象排序"
+
+#: midx.c:1101
 msgid "Verifying object offsets"
 msgstr "校验对象偏移"
 
 msgid "Verifying object offsets"
 msgstr "校验对象偏移"
 
-#: midx.c:1004
+#: midx.c:1117
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "为 oid[%d] = %s 加载包条目失败"
 
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "为 oid[%d] = %s 加载包条目失败"
 
-#: midx.c:1010
+#: midx.c:1123
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "为包文件 %s 加载包索引失败"
 
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "为包文件 %s 加载包索引失败"
 
-#: midx.c:1019
+#: midx.c:1132
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "oid[%d] = %s 错误的对象偏移:%<PRIx64> != %<PRIx64>"
@@ -3609,85 +4231,80 @@ msgstr "不能解析对象:%s"
 msgid "hash mismatch %s"
 msgstr "哈希值与 %s 不匹配"
 
 msgid "hash mismatch %s"
 msgstr "哈希值与 %s 不匹配"
 
-#: packfile.c:607
+#: packfile.c:617
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1870
+#: packfile.c:1868
 #, 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:1874
+#: packfile.c:1872
 #, 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:35
+#: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
 msgstr "%s 需要一个值"
 
 #, c-format
 msgid "%s requires a value"
 msgstr "%s 需要一个值"
 
-#: parse-options.c:69
+#: parse-options.c:73
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr "%s 与 %s 不兼容"
 
 #, c-format
 msgid "%s is incompatible with %s"
 msgstr "%s 与 %s 不兼容"
 
-#: parse-options.c:74
+#: parse-options.c:78
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr "%s:和其它的不兼容"
 
 #, c-format
 msgid "%s : incompatible with something else"
 msgstr "%s:和其它的不兼容"
 
-#: parse-options.c:88 parse-options.c:92 parse-options.c:260
+#: parse-options.c:92 parse-options.c:96 parse-options.c:319
 #, c-format
 msgid "%s takes no value"
 msgstr "%s 不取值"
 
 #, c-format
 msgid "%s takes no value"
 msgstr "%s 不取值"
 
-#: parse-options.c:90
+#: parse-options.c:94
 #, c-format
 msgid "%s isn't available"
 msgstr "%s 不可用"
 
 #, c-format
 msgid "%s isn't available"
 msgstr "%s 不可用"
 
-#: parse-options.c:178
-#, c-format
-msgid "%s expects a numerical value"
-msgstr "%s 期望一个数字值"
-
-#: parse-options.c:194
+#: parse-options.c:219
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s 期望一个非负整数和一个可选的 k/m/g 后缀"
 
 #, c-format
 msgid "%s expects a non-negative integer value with an optional k/m/g suffix"
 msgstr "%s 期望一个非负整数和一个可选的 k/m/g 后缀"
 
-#: parse-options.c:322
+#: parse-options.c:389
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "有歧义的选项:%s(可以是 --%s%s 或 --%s%s)"
 
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "有歧义的选项:%s(可以是 --%s%s 或 --%s%s)"
 
-#: parse-options.c:356 parse-options.c:364
+#: parse-options.c:423 parse-options.c:431
 #, c-format
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr "你的意思是 `--%s`(有两个短线?)"
 
 #, c-format
 msgid "did you mean `--%s` (with two dashes ?)"
 msgstr "你的意思是 `--%s`(有两个短线?)"
 
-#: parse-options.c:649
+#: parse-options.c:859
 #, c-format
 msgid "unknown option `%s'"
 msgstr "未知选项 `%s'"
 
 #, c-format
 msgid "unknown option `%s'"
 msgstr "未知选项 `%s'"
 
-#: parse-options.c:651
+#: parse-options.c:861
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "未知开关 `%c'"
 
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "未知开关 `%c'"
 
-#: parse-options.c:653
+#: parse-options.c:863
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
-msgstr "字符串中未知的非ascii字符选项:`%s'"
+msgstr "字符串中未知的非 ascii 字符选项:`%s'"
 
 
-#: parse-options.c:675
+#: parse-options.c:887
 msgid "..."
 msgstr "..."
 
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:694
+#: parse-options.c:906
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
@@ -3695,42 +4312,47 @@ 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:700
+#: parse-options.c:912
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:703
+#: parse-options.c:915
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:742
+#: parse-options.c:954
 msgid "-NUM"
 msgstr "-数字"
 
 msgid "-NUM"
 msgstr "-数字"
 
-#: parse-options-cb.c:21
+#: parse-options.c:968
+#, c-format
+msgid "alias of --%s"
+msgstr "--%s 的别名"
+
+#: parse-options-cb.c:20 parse-options-cb.c:24
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr "选项 `%s' 期望一个数字值"
 
 #, c-format
 msgid "option `%s' expects a numerical value"
 msgstr "选项 `%s' 期望一个数字值"
 
-#: parse-options-cb.c:38
+#: parse-options-cb.c:41
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "格式错误的到期时间:'%s'"
 
 #, c-format
 msgid "malformed expiration date '%s'"
 msgstr "格式错误的到期时间:'%s'"
 
-#: parse-options-cb.c:51
+#: parse-options-cb.c:54
 #, c-format
 msgid "option `%s' expects \"always\", \"auto\", or \"never\""
 msgstr "选项 `%s' 期望 \"always\"、\"auto\" 或 \"never\""
 
 #, c-format
 msgid "option `%s' expects \"always\", \"auto\", or \"never\""
 msgstr "选项 `%s' 期望 \"always\"、\"auto\" 或 \"never\""
 
-#: parse-options-cb.c:110
+#: parse-options-cb.c:130 parse-options-cb.c:147
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "格式错误的对象名 '%s'"
 
 #, c-format
 msgid "malformed object name '%s'"
 msgstr "格式错误的对象名 '%s'"
 
-#: path.c:894
+#: path.c:897
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
@@ -3806,45 +4428,53 @@ 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
+#: pkt-line.c:92
+msgid "unable to write flush packet"
+msgstr "无法写 flush 包"
+
+#: pkt-line.c:99
+msgid "unable to write delim packet"
+msgstr "无法写 delim 包"
+
+#: pkt-line.c:106
 msgid "flush packet write failed"
 msgstr "flush 包写错误"
 
 msgid "flush packet write failed"
 msgstr "flush 包写错误"
 
-#: pkt-line.c:144 pkt-line.c:230
+#: pkt-line.c:146 pkt-line.c:232
 msgid "protocol error: impossibly long line"
 msgstr "协议错误:不可能的长行"
 
 msgid "protocol error: impossibly long line"
 msgstr "协议错误:不可能的长行"
 
-#: pkt-line.c:160 pkt-line.c:162
+#: pkt-line.c:162 pkt-line.c:164
 msgid "packet write with format failed"
 msgstr "格式化包写入错误"
 
 msgid "packet write with format failed"
 msgstr "格式化包写入错误"
 
-#: pkt-line.c:194
+#: pkt-line.c:196
 msgid "packet write failed - data exceeds max packet size"
 msgstr "写数据包失败:数据超过了包的最大长度"
 
 msgid "packet write failed - data exceeds max packet size"
 msgstr "写数据包失败:数据超过了包的最大长度"
 
-#: pkt-line.c:201 pkt-line.c:208
+#: pkt-line.c:203 pkt-line.c:210
 msgid "packet write failed"
 msgstr "数据包写入失败"
 
 msgid "packet write failed"
 msgstr "数据包写入失败"
 
-#: pkt-line.c:293
+#: pkt-line.c:295
 msgid "read error"
 msgstr "读取错误"
 
 msgid "read error"
 msgstr "读取错误"
 
-#: pkt-line.c:301
+#: pkt-line.c:303
 msgid "the remote end hung up unexpectedly"
 msgstr "远端意外挂断了"
 
 msgid "the remote end hung up unexpectedly"
 msgstr "远端意外挂断了"
 
-#: pkt-line.c:329
+#: pkt-line.c:331
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "协议错误:错误的行长度字符串:%.4s"
 
 #, c-format
 msgid "protocol error: bad line length character: %.4s"
 msgstr "协议错误:错误的行长度字符串:%.4s"
 
-#: pkt-line.c:339 pkt-line.c:344
+#: pkt-line.c:341 pkt-line.c:346
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "协议错误:错误的行长度 %d"
 
 #, c-format
 msgid "protocol error: bad line length %d"
 msgstr "协议错误:错误的行长度 %d"
 
-#: pkt-line.c:353
+#: pkt-line.c:362
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
@@ -3858,7 +4488,7 @@ msgstr "正在刷新索引"
 msgid "unable to create threaded lstat: %s"
 msgstr "无法创建线程 lstat:%s"
 
 msgid "unable to create threaded lstat: %s"
 msgstr "无法创建线程 lstat:%s"
 
-#: pretty.c:963
+#: pretty.c:966
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
@@ -3870,7 +4500,7 @@ msgstr "不能启动 `log`"
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
 msgid "could not read `log` output"
 msgstr "不能读取 `log` 的输出"
 
-#: range-diff.c:74 sequencer.c:4828
+#: range-diff.c:74 sequencer.c:4897
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
@@ -3884,45 +4514,50 @@ msgstr "生成 diff 失败"
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
 msgid "could not parse log for '%s'"
 msgstr "不能解析 '%s' 的日志"
 
-#: read-cache.c:673
+#: read-cache.c:680
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "将不会添加文件别名 '%s'('%s' 已经存在于索引中)"
 
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr "将不会添加文件别名 '%s'('%s' 已经存在于索引中)"
 
-#: read-cache.c:689
+#: read-cache.c:696
 msgid "cannot create an empty blob in the object database"
 msgstr "不能在对象数据库中创建空的数据对象"
 
 msgid "cannot create an empty blob in the object database"
 msgstr "不能在对象数据库中创建空的数据对象"
 
-#: read-cache.c:710
+#: read-cache.c:718
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr "%s:只能添加常规文件、符号链接或 git 目录"
 
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr "%s:只能添加常规文件、符号链接或 git 目录"
 
-#: read-cache.c:765
+#: read-cache.c:723
+#, c-format
+msgid "'%s' does not have a commit checked out"
+msgstr "'%s' 没有检出一个提交"
+
+#: read-cache.c:775
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "无法索引文件 '%s'"
 
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "无法索引文件 '%s'"
 
-#: read-cache.c:784
+#: read-cache.c:794
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "无法在索引中添加 '%s'"
 
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "无法在索引中添加 '%s'"
 
-#: read-cache.c:795
+#: read-cache.c:805
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "无法对 %s 执行 stat"
 
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "无法对 %s 执行 stat"
 
-#: read-cache.c:1304
+#: read-cache.c:1314
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
-msgstr "'%s' 既显示为文件又显示为目录"
+msgstr "'%s' 看起来既是文件又是目录"
 
 
-#: read-cache.c:1489
+#: read-cache.c:1499
 msgid "Refresh index"
 msgstr "刷新索引"
 
 msgid "Refresh index"
 msgstr "刷新索引"
 
-#: read-cache.c:1603
+#: read-cache.c:1613
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -3931,7 +4566,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1613
+#: read-cache.c:1623
 #, 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"
@@ -3940,145 +4575,151 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1684
+#: read-cache.c:1679
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "坏的签名 0x%08x"
 
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "坏的签名 0x%08x"
 
-#: read-cache.c:1687
+#: read-cache.c:1682
 #, c-format
 msgid "bad index version %d"
 msgstr "坏的索引版本 %d"
 
 #, c-format
 msgid "bad index version %d"
 msgstr "坏的索引版本 %d"
 
-#: read-cache.c:1696
+#: read-cache.c:1691
 msgid "bad index file sha1 signature"
 msgid "bad index file sha1 signature"
-msgstr "坏的索引文件哈希值签名"
+msgstr "坏的索引文件 sha1 签名"
 
 
-#: read-cache.c:1726
+#: read-cache.c:1721
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "索引使用不被支持的 %.4s 扩展"
 
 #      
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "索引使用不被支持的 %.4s 扩展"
 
 #      
-#: read-cache.c:1728
+#: read-cache.c:1723
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "忽略 %.4s 扩展"
 
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "忽略 %.4s 扩展"
 
-#: read-cache.c:1765
+#: read-cache.c:1760
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "未知的索引条目格式 0x%08x"
 
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "未知的索引条目格式 0x%08x"
 
-#: read-cache.c:1781
+#: read-cache.c:1776
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "索引中靠近路径 '%s' 有错误的名称字段"
 
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "索引中靠近路径 '%s' 有错误的名称字段"
 
-#: read-cache.c:1836
+#: read-cache.c:1833
 msgid "unordered stage entries in index"
 msgstr "索引中有未排序的暂存条目"
 
 msgid "unordered stage entries in index"
 msgstr "索引中有未排序的暂存条目"
 
-#: read-cache.c:1839
+#: read-cache.c:1836
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "合并文件 '%s' 有多个暂存条目"
 
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "合并文件 '%s' 有多个暂存条目"
 
-#: read-cache.c:1842
+#: read-cache.c:1839
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "'%s' 的未排序暂存条目"
 
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "'%s' 的未排序暂存条目"
 
-#: read-cache.c:1949 read-cache.c:2227 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:459 builtin/check-ignore.c:178 builtin/checkout.c:294
-#: builtin/checkout.c:622 builtin/checkout.c:991 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:116 builtin/grep.c:498
+#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
+#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
+#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
 #: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
 #: builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
 #: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
 #: builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: read-cache.c:2090
+#: read-cache.c:2087
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "无法创建 load_cache_entries 线程:%s"
 
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "无法创建 load_cache_entries 线程:%s"
 
-#: read-cache.c:2103
+#: read-cache.c:2100
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "无法加入 load_cache_entries 线程:%s"
 
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "无法加入 load_cache_entries 线程:%s"
 
-#: read-cache.c:2136
+#: read-cache.c:2133
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s:打开索引文件失败"
 
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s:打开索引文件失败"
 
-#: read-cache.c:2140
+#: read-cache.c:2137
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s:不能对打开的索引执行 stat 操作"
 
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s:不能对打开的索引执行 stat 操作"
 
-#: read-cache.c:2144
+#: read-cache.c:2141
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s:索引文件比预期的小"
 
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s:索引文件比预期的小"
 
-#: read-cache.c:2148
+#: read-cache.c:2145
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s:无法对索引文件执行 map 操作"
 
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s:无法对索引文件执行 map 操作"
 
-#: read-cache.c:2190
+#: read-cache.c:2187
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "无法创建 load_index_extensions 线程:%s"
 
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "无法创建 load_index_extensions 线程:%s"
 
-#: read-cache.c:2217
+#: read-cache.c:2214
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "无法加入 load_index_extensions 线程:%s"
 
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "无法加入 load_index_extensions 线程:%s"
 
-#: read-cache.c:2239
+#: read-cache.c:2246
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "无法刷新共享索引 '%s'"
 
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "无法刷新共享索引 '%s'"
 
-#: read-cache.c:2274
+#: read-cache.c:2293
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s"
 
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s"
 
-#: read-cache.c:2971 sequencer.c:4791 wrapper.c:658 builtin/merge.c:1087
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1117
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:3044 sequencer.c:2237 sequencer.c:3647
+#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:3057
+#: read-cache.c:3105
 #, 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:3069
+#: read-cache.c:3117
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: read-cache.c:3088
+#: read-cache.c:3142
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "不能修复 '%s' 的权限位"
 
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "不能修复 '%s' 的权限位"
 
-#: read-cache.c:3237
+#: read-cache.c:3291
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s:不能落到暂存区 #0"
 
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s:不能落到暂存区 #0"
 
-#: rebase-interactive.c:10
+#: rebase-interactive.c:26
+#, c-format
+msgid ""
+"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
+msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
+
+#: rebase-interactive.c:35
 msgid ""
 "\n"
 "Commands:\n"
 msgid ""
 "\n"
 "Commands:\n"
@@ -4118,7 +4759,14 @@ msgstr ""
 "\n"
 "可以对这些行重新排序,将从上至下执行。\n"
 
 "\n"
 "可以对这些行重新排序,将从上至下执行。\n"
 
-#: rebase-interactive.c:31 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:56
+#, c-format
+msgid "Rebase %s onto %s (%d command)"
+msgid_plural "Rebase %s onto %s (%d commands)"
+msgstr[0] "变基 %s 到 %s(%d 个提交)"
+msgstr[1] "变基 %s 到 %s(%d 个提交)"
+
+#: rebase-interactive.c:65 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"
@@ -4126,7 +4774,7 @@ msgstr ""
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: rebase-interactive.c:34 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c: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"
@@ -4134,7 +4782,7 @@ msgstr ""
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
-#: rebase-interactive.c:40 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4148,7 +4796,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:45 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -4158,125 +4806,153 @@ msgstr ""
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
-#: rebase-interactive.c:51 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:900
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
-#: rebase-interactive.c:62 rebase-interactive.c:75 sequencer.c:2219
-#: sequencer.c:4569 sequencer.c:4625 sequencer.c:4900
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
+#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
 #, c-format
 #, c-format
-msgid "could not read '%s'."
-msgstr "不能读取 '%s'。"
+msgid "could not write '%s'"
+msgstr "不能写入 '%s'"
+
+#: rebase-interactive.c:108
+#, c-format
+msgid "could not copy '%s' to '%s'."
+msgstr "不能拷贝 '%s' 至 '%s'。"
+
+#: rebase-interactive.c:173
+#, c-format
+msgid ""
+"Warning: some commits may have been dropped accidentally.\n"
+"Dropped commits (newer to older):\n"
+msgstr ""
+"警告:一些提交可能被意外丢弃。\n"
+"丢弃的提交(从新到旧):\n"
+
+#: rebase-interactive.c:180
+#, c-format
+msgid ""
+"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
+"\n"
+"Use 'git config rebase.missingCommitsCheck' to change the level of "
+"warnings.\n"
+"The possible behaviours are: ignore, warn, error.\n"
+"\n"
+msgstr ""
+"为避免这条信息,使用 \"drop\" 指令显式地删除一个提交。\n"
+"\n"
+"使用 'git config rebase.missingCommitsCheck' 来修改警告级别。\n"
+"可选值有:ignore、warn、error。\n"
+"\n"
 
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s 没有指向一个有效的对象!"
 
 
 #: refs.c:192
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "%s 没有指向一个有效的对象!"
 
-#: refs.c:583
+#: refs.c:597
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "忽略悬空符号引用 %s"
 
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "忽略悬空符号引用 %s"
 
-#: refs.c:585 ref-filter.c:1976
+#: refs.c:599 ref-filter.c:1982
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: refs.c:711
+#: refs.c:734
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "无法为写入打开 '%s':%s"
 
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "无法为写入打开 '%s':%s"
 
-#: refs.c:721 refs.c:772
+#: refs.c:744 refs.c:795
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "无法读取引用 '%s'"
 
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "无法读取引用 '%s'"
 
-#: refs.c:727
+#: refs.c:750
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "引用 '%s' 已经存在"
 
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "引用 '%s' 已经存在"
 
-#: refs.c:732
+#: refs.c:755
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "写入 '%s' 时意外的对象 ID"
 
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "写入 '%s' 时意外的对象 ID"
 
-#: refs.c:740 sequencer.c:396 sequencer.c:2549 sequencer.c:2675
-#: sequencer.c:2689 sequencer.c:2923 sequencer.c:4789 sequencer.c:4852
-#: wrapper.c:656
+#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
+#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: refs.c:767 sequencer.c:4787 sequencer.c:4846 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:713 builtin/rebase.c:575
+#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs.c:774
+#: refs.c:797
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "删除 '%s' 时意外的对象 ID"
 
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "删除 '%s' 时意外的对象 ID"
 
-#: refs.c:905
+#: refs.c:928
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "引用 %s 的日志在 %s 之后有缺口"
 
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "引用 %s 的日志在 %s 之后有缺口"
 
-#: refs.c:911
+#: refs.c:934
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "引用 %s 的日志意外终止于 %s "
 
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "引用 %s 的日志意外终止于 %s "
 
-#: refs.c:969
+#: refs.c:993
 #, c-format
 msgid "log for %s is empty"
 msgstr "%s 的日志为空"
 
 #, c-format
 msgid "log for %s is empty"
 msgstr "%s 的日志为空"
 
-#: refs.c:1061
+#: refs.c:1085
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "拒绝更新有错误名称 '%s' 的引用"
 
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "拒绝更新有错误名称 '%s' 的引用"
 
-#: refs.c:1137
+#: refs.c:1161
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "对引用 '%s' 执行 update_ref 失败:%s"
 
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "对引用 '%s' 执行 update_ref 失败:%s"
 
-#: refs.c:1911
+#: refs.c:1942
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "不允许对引用 '%s' 多次更新"
 
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "不允许对引用 '%s' 多次更新"
 
-#: refs.c:1943
+#: refs.c:1974
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
-#: refs.c:2039 refs.c:2069
+#: refs.c:2070 refs.c:2100
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' 已存在,无法创建 '%s'"
 
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' 已存在,无法创建 '%s'"
 
-#: refs.c:2045 refs.c:2080
+#: refs.c:2076 refs.c:2111
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "无法同时处理 '%s' 和 '%s'"
 
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "无法同时处理 '%s' 和 '%s'"
 
-#: refs/files-backend.c:1228
+#: refs/files-backend.c:1234
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1242 refs/packed-backend.c:1532
+#: refs/files-backend.c:1248 refs/packed-backend.c:1532
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
 #: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1245 refs/packed-backend.c:1545
+#: refs/files-backend.c:1251 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"
@@ -4286,7 +4962,7 @@ msgstr "无法删除引用:%s"
 msgid "invalid refspec '%s'"
 msgstr "无效的引用表达式:'%s'"
 
 msgid "invalid refspec '%s'"
 msgstr "无效的引用表达式:'%s'"
 
-#: ref-filter.c:39 wt-status.c:1861
+#: ref-filter.c:39 wt-status.c:1909
 msgid "gone"
 msgstr "丢失"
 
 msgid "gone"
 msgstr "丢失"
 
@@ -4410,78 +5086,78 @@ msgstr "元素 %%(align) 需要一个正数的宽度"
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
-#: ref-filter.c:527
+#: ref-filter.c:531
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "格式错误的字段名:%.*s"
 
-#: ref-filter.c:554
+#: ref-filter.c:558
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:562
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr "不是一个 git 仓库,但是字段 '%.*s' 需要访问对象数据"
 
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
 msgstr "不是一个 git 仓库,但是字段 '%.*s' 需要访问对象数据"
 
-#: ref-filter.c:682
+#: ref-filter.c:686
 #, 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:745
+#: ref-filter.c:749
 #, 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:747
+#: ref-filter.c:751
 #, 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:749
+#: ref-filter.c:753
 #, 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:777
+#: ref-filter.c:781
 #, 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:779
+#: ref-filter.c:783
 #, 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:781
+#: ref-filter.c:785
 #, 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:796
+#: ref-filter.c:800
 #, 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:853
+#: ref-filter.c:857
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
 #, c-format
 msgid "malformed format string %s"
 msgstr "错误的格式化字符串 %s"
 
-#: ref-filter.c:1447
+#: ref-filter.c:1453
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1450
+#: ref-filter.c:1456
 #, 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:1453
+#: ref-filter.c:1459
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
@@ -4489,7 +5165,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:1461
+#: ref-filter.c:1467
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
@@ -4497,56 +5173,56 @@ 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:1468
+#: ref-filter.c:1474
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: ref-filter.c:1472
+#: ref-filter.c:1478
 msgid "(no branch)"
 msgstr "(非分支)"
 
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1506 ref-filter.c:1663
+#: ref-filter.c:1512 ref-filter.c:1669
 #, 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:1516
+#: ref-filter.c:1522
 #, 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:1882
+#: ref-filter.c:1888
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:1971
+#: ref-filter.c:1977
 #, 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:2257
+#: ref-filter.c:2263
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2352
+#: ref-filter.c:2363
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "选项 `%s' 和 --merged 不兼容"
 
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "选项 `%s' 和 --merged 不兼容"
 
-#: ref-filter.c:2355
+#: ref-filter.c:2366
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "选项 `%s' 和 --no-merged 不兼容"
 
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "选项 `%s' 和 --no-merged 不兼容"
 
-#: ref-filter.c:2365
+#: ref-filter.c:2376
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
 #, c-format
 msgid "malformed object name %s"
 msgstr "格式错误的对象名 %s"
 
-#: ref-filter.c:2370
+#: ref-filter.c:2381
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "选项 `%s' 必须指向一个提交"
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "选项 `%s' 必须指向一个提交"
@@ -4554,7 +5230,7 @@ msgstr "选项 `%s' 必须指向一个提交"
 #: remote.c:363
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 #: remote.c:363
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
-msgstr "配置的远程名称不能以 '/' 开始:%s"
+msgstr "配置的远程名称不能以 '/' 开始:%s"
 
 #: remote.c:410
 msgid "more than one receivepack given, using the first"
 
 #: remote.c:410
 msgid "more than one receivepack given, using the first"
@@ -4589,7 +5265,6 @@ msgstr "模式的键 '%s' 没有 '*'"
 msgid "value '%s' of pattern has no '*'"
 msgstr "模式的值 '%s' 没有 '*'"
 
 msgid "value '%s' of pattern has no '*'"
 msgstr "模式的值 '%s' 没有 '*'"
 
-#
 #: remote.c:1000
 #, c-format
 msgid "src refspec %s does not match any"
 #: remote.c:1000
 #, c-format
 msgid "src refspec %s does not match any"
@@ -4738,42 +5413,42 @@ msgstr "无法找到远程引用 %s"
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* 在本地忽略可笑的引用 '%s'"
 
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* 在本地忽略可笑的引用 '%s'"
 
-#: remote.c:1990
+#: remote.c:2016
 #, 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:1994
+#: remote.c:2020
 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:1997
+#: remote.c:2023
 #, 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:2001
+#: remote.c:2027
 #, 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:2004
+#: remote.c:2030
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
-#: remote.c:2008
+#: remote.c:2034
 #, 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:2014
+#: remote.c:2040
 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:2017
+#: remote.c:2043
 #, 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 ""
@@ -4782,11 +5457,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2025
+#: remote.c:2051
 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:2028
+#: remote.c:2054
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -4802,11 +5477,11 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2038
+#: remote.c:2064
 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"
 
-#: remote.c:2221
+#: remote.c:2247
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "无法解析期望的对象名 '%s'"
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "无法解析期望的对象名 '%s'"
@@ -4834,12 +5509,6 @@ msgstr "损坏的 MERGE_RR"
 msgid "unable to write rerere record"
 msgstr "无法写入 rerere 记录"
 
 msgid "unable to write rerere record"
 msgstr "无法写入 rerere 记录"
 
-#: rerere.c:485 rerere.c:692 sequencer.c:3186 sequencer.c:3212
-#: builtin/fsck.c:314
-#, c-format
-msgid "could not write '%s'"
-msgstr "不能写入 '%s'"
-
 #: rerere.c:495
 #, c-format
 msgid "there were errors while writing '%s' (%s)"
 #: rerere.c:495
 #, c-format
 msgid "there were errors while writing '%s' (%s)"
@@ -4890,8 +5559,8 @@ msgstr "不能删除 stray '%s'"
 msgid "Recorded preimage for '%s'"
 msgstr "为 '%s' 记录 preimage"
 
 msgid "Recorded preimage for '%s'"
 msgstr "为 '%s' 记录 preimage"
 
-#: rerere.c:881 submodule.c:2012 builtin/submodule--helper.c:1417
-#: builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
+#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
@@ -4925,29 +5594,33 @@ msgstr "忘记 '%s' 的解决方案\n"
 msgid "unable to open rr-cache directory"
 msgstr "不能打开 rr-cache 目录"
 
 msgid "unable to open rr-cache directory"
 msgstr "不能打开 rr-cache 目录"
 
-#: revision.c:2484
+#: revision.c:2476
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2487
+#: revision.c:2479
 #, 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:2684
+#: revision.c:2679
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:742
+#: revision.c:2683
+msgid "-L does not yet support diff formats besides -p and -s"
+msgstr "-L 尚不支持 -p 和 -s 之外的差异格式"
+
+#: run-command.c:763
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:1231
+#: run-command.c:1269
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "不能创建 async 线程:%s"
 
 #, c-format
 msgid "cannot create async thread: %s"
 msgstr "不能创建 async 线程:%s"
 
-#: run-command.c:1295
+#: run-command.c:1333
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4992,34 +5665,34 @@ msgstr "接收端不支持原子推送"
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:184
+#: sequencer.c:187
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:288
+#: sequencer.c:292
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
 #, c-format
 msgid "could not delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: sequencer.c:314
+#: sequencer.c:318
 msgid "revert"
 msgstr "还原"
 
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:316
+#: sequencer.c:320
 msgid "cherry-pick"
 msgstr "拣选"
 
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:318
+#: sequencer.c:322
 msgid "rebase -i"
 msgstr "rebase -i"
 
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:320
+#: sequencer.c:324
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
 #, c-format
 msgid "unknown action: %d"
 msgstr "未知动作:%d"
 
-#: sequencer.c:378
+#: sequencer.c:382
 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>'"
@@ -5027,7 +5700,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:381
+#: sequencer.c:385
 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"
@@ -5036,110 +5709,115 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:394 sequencer.c:2671
+#: sequencer.c:398 sequencer.c:2801
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:401
+#: sequencer.c:405
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:406 sequencer.c:2554 sequencer.c:2677 sequencer.c:2691
-#: sequencer.c:2931
+#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
+#: sequencer.c:3084
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:429 sequencer.c:931 sequencer.c:1615 sequencer.c:2574
-#: sequencer.c:2913 sequencer.c:3022 builtin/am.c:245 builtin/commit.c:748
-#: builtin/merge.c:1085 builtin/rebase.c:154
+#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
+#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
+#: builtin/merge.c:1115 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:455
+#: sequencer.c:459
 #, 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:459
+#: sequencer.c:463
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:491
+#: sequencer.c:495
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
+#: sequencer.c:534 builtin/tag.c:555
+#, c-format
+msgid "Invalid cleanup mode %s"
+msgstr "无效的清理模式 %s"
+
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:582
+#: sequencer.c:629
 #, 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:598
+#: sequencer.c:646
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:612
+#: sequencer.c:660
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not resolve HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:692
+#: sequencer.c:740
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "在 '%.*s' 中没有 key"
 
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "在 '%.*s' 中没有 key"
 
-#: sequencer.c:703
+#: sequencer.c:751
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "无法为 '%s' 的值去引号"
 
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "无法为 '%s' 的值去引号"
 
-#: sequencer.c:740 wrapper.c:227 wrapper.c:397 builtin/am.c:704
-#: builtin/am.c:796 builtin/merge.c:1082 builtin/rebase.c:617
+#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
 
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
 
-#: sequencer.c:750
+#: sequencer.c:798
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "已经给出 'GIT_AUTHOR_NAME'"
 
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "已经给出 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:755
+#: sequencer.c:803
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "已经给出 'GIT_AUTHOR_EMAIL'"
 
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "已经给出 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:760
+#: sequencer.c:808
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "已经给出 'GIT_AUTHOR_DATE'"
 
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "已经给出 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:764
+#: sequencer.c:812
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "未知变量 '%s'"
 
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "未知变量 '%s'"
 
-#: sequencer.c:769
+#: sequencer.c:817
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "缺少 'GIT_AUTHOR_NAME'"
 
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "缺少 'GIT_AUTHOR_NAME'"
 
-#: sequencer.c:771
+#: sequencer.c:819
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "缺少 'GIT_AUTHOR_EMAIL'"
 
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "缺少 'GIT_AUTHOR_EMAIL'"
 
-#: sequencer.c:773
+#: sequencer.c:821
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "缺少 'GIT_AUTHOR_DATE'"
 
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "缺少 'GIT_AUTHOR_DATE'"
 
-#: sequencer.c:833
+#: sequencer.c:881
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "'%2$s' 中无效的日期格式 '%1$s'"
 
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "'%2$s' 中无效的日期格式 '%1$s'"
 
-#: sequencer.c:850
+#: sequencer.c:898
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5168,15 +5846,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:945
+#: sequencer.c:992
 msgid "writing root commit"
 msgstr "写根提交"
 
 msgid "writing root commit"
 msgstr "写根提交"
 
-#: sequencer.c:1155
+#: sequencer.c:1213
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:1162
+#: sequencer.c:1220
 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"
@@ -5200,7 +5878,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1175
+#: sequencer.c:1233
 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"
@@ -5223,295 +5901,306 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1217
+#: sequencer.c:1275
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:1219
+#: sequencer.c:1277
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1265
+#: sequencer.c:1323
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1267
+#: sequencer.c:1325
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1271
+#: sequencer.c:1329
 msgid " (root-commit)"
 msgstr "(根提交)"
 
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1292
+#: sequencer.c:1350
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1294
+#: sequencer.c:1352
 #, 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:1298 builtin/commit.c:1546
+#: sequencer.c:1356 builtin/commit.c:1551
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1350 sequencer.c:1964
+#: sequencer.c:1408 sequencer.c:2001
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1360 builtin/am.c:1570 builtin/merge.c:678
+#: sequencer.c:1418 builtin/am.c:1572 builtin/merge.c:688
 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:1377 sequencer.c:1433
+#: sequencer.c:1435 sequencer.c:1496
 #, 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:1399 builtin/am.c:1591 builtin/commit.c:1649 builtin/merge.c:859
-#: builtin/merge.c:884
+#: sequencer.c:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
+#: builtin/merge.c:906
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
 msgid "failed to write commit object"
 msgstr "写提交对象失败"
 
-#: sequencer.c:1460
+#: sequencer.c:1523
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1465
+#: sequencer.c:1528
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1565 sequencer.c:1675
+#: sequencer.c:1602 sequencer.c:1712
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1622 sequencer.c:1647
+#: sequencer.c:1659 sequencer.c:1684
 #, 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:1632 sequencer.c:4808
+#: sequencer.c:1669
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1634 sequencer.c:2958
+#: sequencer.c:1671 sequencer.c:3111
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1636
+#: sequencer.c:1673
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1642
+#: sequencer.c:1679
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1649 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1657
+#: sequencer.c:1694
 #, 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:1664
+#: sequencer.c:1701
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1670
+#: sequencer.c:1707
 #, 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:1758
+#: sequencer.c:1795
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1765
+#: sequencer.c:1802
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
 msgid "cannot fixup root commit"
 msgstr "不能修复根提交"
 
-#: sequencer.c:1784
+#: sequencer.c:1821
 #, 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:1792 sequencer.c:1800
+#: sequencer.c:1829 sequencer.c:1837
 #, 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:1806
+#: sequencer.c:1843
 #, 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:1825
+#: sequencer.c:1862
 #, 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:1890
+#: sequencer.c:1927
 #, 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:1945
+#: sequencer.c:1982
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1946
+#: sequencer.c:1983
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:2005
+#: sequencer.c:2042
 #, 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:2012
+#: sequencer.c:2049
 #, 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:2094
+#: sequencer.c:2118
 #, 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:2103
+#: sequencer.c:2127
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:2163
+#: sequencer.c:2164
+#, c-format
+msgid "could not parse '%.*s'"
+msgstr "无法解析 '%.*s'"
+
+#: sequencer.c:2226
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:2171
+#: sequencer.c:2237
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:2243
+#: sequencer.c:2285 builtin/rebase.c:153 builtin/rebase.c:178
+#: builtin/rebase.c:204 builtin/rebase.c:229
+#, c-format
+msgid "could not read '%s'."
+msgstr "不能读取 '%s'。"
+
+#: sequencer.c:2360
 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:2245
+#: sequencer.c:2362
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:2250
+#: sequencer.c:2367
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:2261
+#: sequencer.c:2378
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:2263
+#: sequencer.c:2380
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:2333
+#: sequencer.c:2462
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2420
+#: sequencer.c:2549
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
 msgid "unusable squash-onto"
 msgstr "不可用的 squash-onto"
 
-#: sequencer.c:2436
+#: sequencer.c:2565
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2518 sequencer.c:4067
+#: sequencer.c:2648 sequencer.c:4227
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:2526
+#: sequencer.c:2656
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:2527
+#: sequencer.c:2657
 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:2530
+#: sequencer.c:2660
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2544
+#: sequencer.c:2674
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2599 sequencer.c:3819
+#: sequencer.c:2729 sequencer.c:3979
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2601
+#: sequencer.c:2731
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2603 sequencer.c:2638
+#: sequencer.c:2733 sequencer.c:2768
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2624 builtin/grep.c:732
+#: sequencer.c:2754 builtin/grep.c:732
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2626
+#: sequencer.c:2756
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2627
+#: sequencer.c:2757
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2633
+#: sequencer.c:2763
 #, 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:2644
+#: sequencer.c:2774
 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:2750 sequencer.c:3735
+#: sequencer.c:2903 sequencer.c:3894
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2788 sequencer.c:3715
+#: sequencer.c:2941 sequencer.c:3874
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:2805
+#: sequencer.c:2958
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "无法拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:2813
+#: sequencer.c:2966
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -5530,28 +6219,28 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2823
+#: sequencer.c:2976
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "不能应用 %s... %.*s"
 
-#: sequencer.c:2830
+#: sequencer.c:2983
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "不能合并 %.*s"
 
-#: sequencer.c:2844 sequencer.c:2848 builtin/difftool.c:641
+#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
 #, 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:2870 sequencer.c:3293 builtin/rebase.c:424 builtin/rebase.c:1230
-#: builtin/rebase.c:1591 builtin/rebase.c:1646
+#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
+#: builtin/rebase.c:1940 builtin/rebase.c:1995
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
-#: sequencer.c:2875
+#: sequencer.c:3028
 #, c-format
 msgid ""
 "execution failed: %s\n"
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -5566,11 +6255,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2881
+#: sequencer.c:3034
 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:2887
+#: sequencer.c:3040
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -5587,76 +6276,76 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2948
+#: sequencer.c:3101
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "非法的标签名称:'%.*s'"
 
-#: sequencer.c:3002
+#: sequencer.c:3155
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
 msgid "writing fake root commit"
 msgstr "写伪根提交"
 
-#: sequencer.c:3007
+#: sequencer.c:3160
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
 msgid "writing squash-onto"
 msgstr "写入 squash-onto"
 
-#: sequencer.c:3045 builtin/rebase.c:429 builtin/rebase.c:435
+#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "无法找到 %s 指向的树。"
 
-#: sequencer.c:3063 builtin/rebase.c:448
+#: sequencer.c:3216 builtin/rebase.c:863
 msgid "could not write index"
 msgstr "不能写入索引"
 
 msgid "could not write index"
 msgstr "不能写入索引"
 
-#: sequencer.c:3090
+#: sequencer.c:3243
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "无法解析 '%s'"
 
-#: sequencer.c:3118
+#: sequencer.c:3271
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
 msgid "cannot merge without a current revision"
 msgstr "没有当前版本不能合并"
 
-#: sequencer.c:3140
+#: sequencer.c:3293
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "无法解析 '%.*s'"
 
-#: sequencer.c:3149
+#: sequencer.c:3302
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "无可用合并:'%.*s'"
 
-#: sequencer.c:3161
+#: sequencer.c:3314
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "章鱼合并不能在一个新的根提交上执行"
 
-#: sequencer.c:3176
+#: sequencer.c:3329
 #, 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:3325
+#: sequencer.c:3478
 #, 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:3341
+#: sequencer.c:3494
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
 msgid "merge: Unable to write new index file"
 msgstr "合并:无法写入新索引文件"
 
-#: sequencer.c:3409 builtin/rebase.c:298
+#: sequencer.c:3562 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:3421
+#: sequencer.c:3574
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:3424 builtin/rebase.c:314
+#: sequencer.c:3577 builtin/rebase.c:727
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -5667,31 +6356,31 @@ msgstr ""
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:3478
+#: sequencer.c:3638
 #, c-format
 msgid "could not checkout %s"
 msgstr "不能检出 %s"
 
 #, c-format
 msgid "could not checkout %s"
 msgstr "不能检出 %s"
 
-#: sequencer.c:3492
+#: sequencer.c:3652
 #, c-format
 msgid "%s: not a valid OID"
 #, c-format
 msgid "%s: not a valid OID"
-msgstr "%s:不是一个有效的对象ID"
+msgstr "%s:不是一个有效的对象 ID"
 
 
-#: sequencer.c:3497 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
 msgid "could not detach HEAD"
 msgstr "不能分离头指针"
 
 msgid "could not detach HEAD"
 msgstr "不能分离头指针"
 
-#: sequencer.c:3512
+#: sequencer.c:3672
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "停止在 HEAD\n"
 
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "停止在 HEAD\n"
 
-#: sequencer.c:3514
+#: sequencer.c:3674
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "停止在 %s\n"
 
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "停止在 %s\n"
 
-#: sequencer.c:3522
+#: sequencer.c:3682
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -5711,48 +6400,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3597
+#: sequencer.c:3759
 #, 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:3677
+#: sequencer.c:3837
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:3723
+#: sequencer.c:3882
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:3728 sequencer.c:4805
+#: sequencer.c:3887
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:3742
+#: sequencer.c:3901
 #, 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:3831
+#: sequencer.c:3991
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:3840
+#: sequencer.c:4000
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:3842
+#: sequencer.c:4002
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:3844
+#: sequencer.c:4004
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:3847
+#: sequencer.c:4007
 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"
@@ -5761,79 +6450,42 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:3883 sequencer.c:3921
+#: sequencer.c:4043 sequencer.c:4081
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "不能写入文件:'%s'"
 
-#: sequencer.c:3936
+#: sequencer.c:4096
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:3943
+#: sequencer.c:4103
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:4044
+#: sequencer.c:4204
 #, 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:4048
+#: sequencer.c:4208
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:4083
+#: sequencer.c:4243
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:4529
+#: sequencer.c:4686
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:4532
+#: sequencer.c:4689
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:4573 sequencer.c:4629 sequencer.c:4904
-#, c-format
-msgid "unusable todo list: '%s'"
-msgstr "不可用的待办列表:'%s'"
-
-#: sequencer.c:4684
-#, c-format
-msgid ""
-"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
-
-#: sequencer.c:4754
-#, c-format
-msgid ""
-"Warning: some commits may have been dropped accidentally.\n"
-"Dropped commits (newer to older):\n"
-msgstr ""
-"警告:一些提交可能被意外丢弃。\n"
-"丢弃的提交(从新到旧):\n"
-
-#: sequencer.c:4761
-#, c-format
-msgid ""
-"To avoid this message, use \"drop\" to explicitly remove a commit.\n"
-"\n"
-"Use 'git config rebase.missingCommitsCheck' to change the level of "
-"warnings.\n"
-"The possible behaviours are: ignore, warn, error.\n"
-"\n"
-msgstr ""
-"为避免这条信息,使用 \"drop\" 指令显式地删除一个提交。\n"
-"\n"
-"使用 'git config rebase.missingCommitsCheck' 来修改警告级别。\n"
-"可选值有:ignore、warn、error。\n"
-"\n"
-
-#: sequencer.c:4774
-#, c-format
+#: sequencer.c:4847
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -5842,31 +6494,15 @@ 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:4912 sequencer.c:4950
+#: sequencer.c:4959 sequencer.c:4976
 msgid "nothing to do"
 msgstr "无事可做"
 
 msgid "nothing to do"
 msgstr "无事可做"
 
-#: sequencer.c:4916
-#, c-format
-msgid "Rebase %s onto %s (%d command)"
-msgid_plural "Rebase %s onto %s (%d commands)"
-msgstr[0] "变基 %s 到 %s(%d 个提交)"
-msgstr[1] "变基 %s 到 %s(%d 个提交)"
-
-#: sequencer.c:4928
-#, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr "不能拷贝 '%s' 至 '%s'。"
-
-#: sequencer.c:4932 sequencer.c:4961
-msgid "could not transform the todo list"
-msgstr "无法改变待办列表"
-
-#: sequencer.c:4964
+#: sequencer.c:4990
 msgid "could not skip unnecessary pick commands"
 msgstr "无法跳过不必要的拣选"
 
 msgid "could not skip unnecessary pick commands"
 msgstr "无法跳过不必要的拣选"
 
-#: sequencer.c:5047
+#: sequencer.c:5073
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
@@ -5875,7 +6511,7 @@ msgstr "脚本已经重新编排。"
 msgid "'%s' is outside repository"
 msgstr "'%s' 在仓库之外"
 
 msgid "'%s' is outside repository"
 msgstr "'%s' 在仓库之外"
 
-#: setup.c:172
+#: setup.c:173
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -5884,7 +6520,7 @@ msgstr ""
 "%s:工作区中无此路径。\n"
 "使用命令 'git <命令> -- <路径>...' 来指定本地不存在的路径。"
 
 "%s:工作区中无此路径。\n"
 "使用命令 'git <命令> -- <路径>...' 来指定本地不存在的路径。"
 
-#: setup.c:185
+#: setup.c:186
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -5895,12 +6531,12 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
-#: setup.c:234
+#: setup.c:235
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr "选项 '%s' 必须在其他非选项参数之前"
 
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr "选项 '%s' 必须在其他非选项参数之前"
 
-#: setup.c:253
+#: setup.c:254
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -5911,92 +6547,92 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
-#: setup.c:389
+#: setup.c:390
 msgid "unable to set up work tree using invalid config"
 msgstr "无法使用无效配置来创建工作区"
 
 msgid "unable to set up work tree using invalid config"
 msgstr "无法使用无效配置来创建工作区"
 
-#: setup.c:393
+#: setup.c:394
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
-#: setup.c:527
+#: setup.c:540
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:535
+#: setup.c:548
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
-#: setup.c:554
+#: setup.c:567
 #, c-format
 msgid "error opening '%s'"
 msgstr "打开 '%s' 出错"
 
 #, c-format
 msgid "error opening '%s'"
 msgstr "打开 '%s' 出错"
 
-#: setup.c:556
+#: setup.c:569
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
-#: setup.c:558
+#: setup.c:571
 #, c-format
 msgid "error reading %s"
 msgstr "读取 %s 出错"
 
 #, c-format
 msgid "error reading %s"
 msgstr "读取 %s 出错"
 
-#: setup.c:560
+#: setup.c:573
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
-#: setup.c:562
+#: setup.c:575
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
-#: setup.c:564
+#: setup.c:577
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是一个 git 仓库:%s"
 
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是一个 git 仓库:%s"
 
-#: setup.c:663
+#: setup.c:676
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
-#: setup.c:677
+#: setup.c:690
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是一个 git 仓库:'%s'"
 
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是一个 git 仓库:'%s'"
 
-#: setup.c:706 setup.c:708 setup.c:739
+#: setup.c:719 setup.c:721 setup.c:752
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
-#: setup.c:711 setup.c:767 setup.c:777 setup.c:816 setup.c:824
+#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:838
+#: setup.c:851
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "获取 '%*s%s%s' 状态(stat)失败"
 
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "获取 '%*s%s%s' 状态(stat)失败"
 
-#: setup.c:1068
+#: setup.c:1083
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:1077 setup.c:1083
+#: setup.c:1092 setup.c:1098
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
-#: setup.c:1088
+#: setup.c:1103
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
-#: setup.c:1094
+#: setup.c:1109
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -6005,7 +6641,7 @@ msgstr ""
 "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
 "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1204
+#: setup.c:1220
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -6014,277 +6650,277 @@ msgstr ""
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: setup.c:1247
+#: setup.c:1264
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
-#: setup.c:1262
+#: setup.c:1279
 msgid "fork failed"
 msgstr "fork 失败"
 
 msgid "fork failed"
 msgstr "fork 失败"
 
-#: setup.c:1267
+#: setup.c:1284
 msgid "setsid failed"
 msgstr "setsid 失败"
 
 msgid "setsid failed"
 msgstr "setsid 失败"
 
-#: sha1-file.c:445
+#: sha1-file.c:453
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates"
 
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates"
 
-#: sha1-file.c:496
+#: sha1-file.c:504
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "无法规范化备用对象路径:%s"
 
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "无法规范化备用对象路径:%s"
 
-#: sha1-file.c:568
+#: sha1-file.c:576
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s:忽略备用对象库,嵌套太深"
 
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s:忽略备用对象库,嵌套太深"
 
-#: sha1-file.c:575
+#: sha1-file.c:583
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "无法规范化对象目录: %s"
 
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "无法规范化对象目录: %s"
 
-#: sha1-file.c:618
+#: sha1-file.c:626
 msgid "unable to fdopen alternates lockfile"
 msgstr "无法 fdopen 替换锁文件"
 
 msgid "unable to fdopen alternates lockfile"
 msgstr "无法 fdopen 替换锁文件"
 
-#: sha1-file.c:636
+#: sha1-file.c:644
 msgid "unable to read alternates file"
 msgstr "无法读取替代文件"
 
 msgid "unable to read alternates file"
 msgstr "无法读取替代文件"
 
-#: sha1-file.c:643
+#: sha1-file.c:651
 msgid "unable to move new alternates file into place"
 msgstr "无法将新的替代文件移动到位"
 
 msgid "unable to move new alternates file into place"
 msgstr "无法将新的替代文件移动到位"
 
-#: sha1-file.c:678
+#: sha1-file.c:686
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: sha1-file.c:704
+#: sha1-file.c:712
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: sha1-file.c:710
+#: sha1-file.c:718
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: sha1-file.c:716
+#: sha1-file.c:724
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: sha1-file.c:724
+#: sha1-file.c:732
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被移植"
 
-#: sha1-file.c:838
+#: sha1-file.c:846
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "尝试 mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>"
 
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "尝试 mmap %<PRIuMAX>,超过了最大值 %<PRIuMAX>"
 
-#: sha1-file.c:863
+#: sha1-file.c:871
 msgid "mmap failed"
 msgstr "mmap 失败"
 
 msgid "mmap failed"
 msgstr "mmap 失败"
 
-#: sha1-file.c:1027
+#: sha1-file.c:1035
 #, c-format
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
 #, c-format
 msgid "object file %s is empty"
 msgstr "对象文件 %s 为空"
 
-#: sha1-file.c:1151 sha1-file.c:2288
+#: sha1-file.c:1159 sha1-file.c:2297
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "损坏的松散对象 '%s'"
 
-#: sha1-file.c:1153 sha1-file.c:2292
+#: sha1-file.c:1161 sha1-file.c:2301
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
 
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "松散对象 '%s' 后面有垃圾数据"
 
-#: sha1-file.c:1195
+#: sha1-file.c:1203
 msgid "invalid object type"
 msgstr "无效的对象类型"
 
 msgid "invalid object type"
 msgstr "无效的对象类型"
 
-#: sha1-file.c:1279
+#: sha1-file.c:1287
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解开 %s 头信息"
 
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解开 %s 头信息"
 
-#: sha1-file.c:1282
+#: sha1-file.c:1290
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "无法解开 %s 头部"
 
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "无法解开 %s 头部"
 
-#: sha1-file.c:1288
+#: sha1-file.c:1296
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解析 %s 头信息"
 
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "无法用 --allow-unknown-type 参数解析 %s 头信息"
 
-#: sha1-file.c:1291
+#: sha1-file.c:1299
 #, c-format
 msgid "unable to parse %s header"
 msgstr "无法解析 %s 头部"
 
 #, c-format
 msgid "unable to parse %s header"
 msgstr "无法解析 %s 头部"
 
-#: sha1-file.c:1481
+#: sha1-file.c:1490
 #, c-format
 msgid "failed to read object %s"
 msgstr "读取对象 %s 失败"
 
 #, c-format
 msgid "failed to read object %s"
 msgstr "读取对象 %s 失败"
 
-#: sha1-file.c:1485
+#: sha1-file.c:1494
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "找不到 %2$s 的替代 %1$s"
 
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "找不到 %2$s 的替代 %1$s"
 
-#: sha1-file.c:1489
+#: sha1-file.c:1498
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "松散对象 %s(保存在 %s)已损坏"
 
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "松散对象 %s(保存在 %s)已损坏"
 
-#: sha1-file.c:1493
+#: sha1-file.c:1502
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "打包对象 %s(保存在 %s)已损坏"
 
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "打包对象 %s(保存在 %s)已损坏"
 
-#: sha1-file.c:1595
+#: sha1-file.c:1604
 #, c-format
 msgid "unable to write file %s"
 msgstr "无法写文件 %s"
 
 #, c-format
 msgid "unable to write file %s"
 msgstr "无法写文件 %s"
 
-#: sha1-file.c:1602
+#: sha1-file.c:1611
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "无法为 '%s' 设置权限"
 
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "无法为 '%s' 设置权限"
 
-#: sha1-file.c:1609
+#: sha1-file.c:1618
 msgid "file write error"
 msgstr "文件写错误"
 
 msgid "file write error"
 msgstr "文件写错误"
 
-#: sha1-file.c:1628
+#: sha1-file.c:1637
 msgid "error when closing loose object file"
 msgstr "关闭松散对象文件时出错"
 
 msgid "error when closing loose object file"
 msgstr "关闭松散对象文件时出错"
 
-#: sha1-file.c:1693
+#: sha1-file.c:1702
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr "权限不足,无法在仓库对象库 %s 中添加对象"
 
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr "权限不足,无法在仓库对象库 %s 中添加对象"
 
-#: sha1-file.c:1695
+#: sha1-file.c:1704
 msgid "unable to create temporary file"
 msgstr "无法创建临时文件"
 
 msgid "unable to create temporary file"
 msgstr "无法创建临时文件"
 
-#: sha1-file.c:1719
+#: sha1-file.c:1728
 msgid "unable to write loose object file"
 msgstr "不能写松散对象文件"
 
 msgid "unable to write loose object file"
 msgstr "不能写松散对象文件"
 
-#: sha1-file.c:1725
+#: sha1-file.c:1734
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "不能压缩新对象 %s(%d)"
 
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "不能压缩新对象 %s(%d)"
 
-#: sha1-file.c:1729
+#: sha1-file.c:1738
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
 
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "在对象 %s 上调用 deflateEnd 失败(%d)"
 
-#: sha1-file.c:1733
+#: sha1-file.c:1742
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "被 %s 的不稳定对象源数据搞糊涂了"
 
-#: sha1-file.c:1743 builtin/pack-objects.c:919
+#: sha1-file.c:1752 builtin/pack-objects.c:920
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
 
 #, c-format
 msgid "failed utime() on %s"
 msgstr "在 %s 上调用 utime() 失败"
 
-#: sha1-file.c:1818
+#: sha1-file.c:1827
 #, c-format
 msgid "cannot read object for %s"
 msgstr "不能读取对象 %s"
 
 #, c-format
 msgid "cannot read object for %s"
 msgstr "不能读取对象 %s"
 
-#: sha1-file.c:1858
+#: sha1-file.c:1867
 msgid "corrupt commit"
 msgstr "损坏的提交"
 
 msgid "corrupt commit"
 msgstr "损坏的提交"
 
-#: sha1-file.c:1866
+#: sha1-file.c:1875
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
 msgid "corrupt tag"
 msgstr "损坏的标签"
 
-#: sha1-file.c:1965
+#: sha1-file.c:1974
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
 #, c-format
 msgid "read error while indexing %s"
 msgstr "索引 %s 时读取错误"
 
-#: sha1-file.c:1968
+#: sha1-file.c:1977
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
 #, c-format
 msgid "short read while indexing %s"
 msgstr "索引 %s 时读入不完整"
 
-#: sha1-file.c:2041 sha1-file.c:2050
+#: sha1-file.c:2050 sha1-file.c:2059
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:插入数据库失败"
 
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s:插入数据库失败"
 
-#: sha1-file.c:2056
+#: sha1-file.c:2065
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s:不支持的文件类型"
 
-#: sha1-file.c:2080
+#: sha1-file.c:2089
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s 不是一个有效的对象"
 
-#: sha1-file.c:2082
+#: sha1-file.c:2091
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: sha1-file.c:2109 builtin/index-pack.c:154
+#: sha1-file.c:2118 builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: sha1-file.c:2299 sha1-file.c:2351
+#: sha1-file.c:2308 sha1-file.c:2360
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "%s 的哈希值不匹配(预期 %s)"
 
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "%s 的哈希值不匹配(预期 %s)"
 
-#: sha1-file.c:2323
+#: sha1-file.c:2332
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
 #, c-format
 msgid "unable to mmap %s"
 msgstr "不能 mmap %s"
 
-#: sha1-file.c:2328
+#: sha1-file.c:2337
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "无法解压缩 %s 的头部"
 
-#: sha1-file.c:2334
+#: sha1-file.c:2343
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "无法解析 %s 的头部"
 
-#: sha1-file.c:2345
+#: sha1-file.c:2354
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
 
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "无法解压缩 %s 的内容"
 
-#: sha1-name.c:448
+#: sha1-name.c:490
 #, 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:459
+#: sha1-name.c:501
 msgid "The candidates are:"
 msgstr "候选者有:"
 
 msgid "The candidates are:"
 msgstr "候选者有:"
 
-#: sha1-name.c:742
+#: sha1-name.c:800
 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"
@@ -6333,62 +6969,62 @@ msgstr "位于未检出的子模组 '%s'"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:906
+#: submodule.c:910
 #, 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:1143 builtin/branch.c:656 builtin/submodule--helper.c:1989
+#: submodule.c:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1477
+#: submodule.c:1481
 #, c-format
 msgid "Could not access submodule '%s'"
 msgstr "无法访问子模组 '%s'"
 
 #, c-format
 msgid "Could not access submodule '%s'"
 msgstr "无法访问子模组 '%s'"
 
-#: submodule.c:1639
+#: submodule.c:1651
 #, 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:1777
+#: submodule.c:1789
 #, 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:1790
+#: submodule.c:1802
 #, 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:1805
+#: submodule.c:1817
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "无法在子模组 '%s' 中取消 core.worktree 的设置"
 
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "无法在子模组 '%s' 中取消 core.worktree 的设置"
 
-#: submodule.c:1895
+#: submodule.c:1907
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1947
+#: submodule.c:1959
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "子模组 '%s' 无法被更新。"
 
-#: submodule.c:1996
+#: submodule.c:2008
 #, 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:2008 submodule.c:2064
+#: submodule.c:2020 submodule.c:2076
 #, 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:2015
+#: submodule.c:2027
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -6399,16 +7035,16 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:2099
+#: submodule.c:2111
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:2143
+#: submodule.c:2155
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:2182
+#: submodule.c:2194
 #, 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"
@@ -6418,21 +7054,21 @@ msgstr "ls-tree 返回未知返回值 %d"
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
 msgid "ignoring suspicious submodule name: %s"
 msgstr "忽略可疑的子模组名称:%s"
 
-#: submodule-config.c:296
+#: submodule-config.c:299
 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:390
+#: submodule-config.c:397
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr "忽略可能被解析为命令行选项的 '%s':%s"
 
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr "忽略可能被解析为命令行选项的 '%s':%s"
 
-#: submodule-config.c:479
+#: submodule-config.c:486
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
-#: submodule-config.c:754
+#: submodule-config.c:755
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
@@ -6506,36 +7142,44 @@ msgstr "无法读取 bundle '%s'"
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:617
+#: transport.c:259
+msgid "see protocol.version in 'git help config' for more details"
+msgstr "查看 'git help config' 中的 protocol.version 获取更多信息"
+
+#: transport.c:260
+msgid "server options require protocol version 2 or later"
+msgstr "服务端选项需要版本 2 协议或更高"
+
+#: transport.c:625
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
 msgid "could not parse transport.color.* config"
 msgstr "不能解析 transport.color.* 配置"
 
-#: transport.c:690
+#: transport.c:698
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
 msgid "support for protocol v2 not implemented yet"
 msgstr "协议 v2 的支持尚未实现"
 
-#: transport.c:817
+#: transport.c:825
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "配置 '%s' 的取值未知:%s"
 
-#: transport.c:883
+#: transport.c:891
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "传输 '%s' 不允许"
 
-#: transport.c:937
+#: transport.c:945
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
 msgid "git-over-rsync is no longer supported"
 msgstr "不再支持 git-over-rsync"
 
-#: transport.c:1032
+#: transport.c:1040
 #, 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:1036
+#: transport.c:1044
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -6562,19 +7206,19 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:1044
+#: transport.c:1052
 msgid "Aborting."
 msgstr "正在终止。"
 
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport.c:1184
+#: transport.c:1193
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
 msgid "failed to push all needed submodules"
 msgstr "不能推送全部需要的子模组"
 
-#: transport.c:1317 transport-helper.c:643
+#: transport.c:1326 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
 msgid "operation not supported by protocol"
 msgstr "协议不支持该操作"
 
-#: transport.c:1421
+#: transport.c:1430
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "解析备用引用时无效的行:%s"
@@ -6583,115 +7227,115 @@ msgstr "解析备用引用时无效的行:%s"
 msgid "full write to remote helper failed"
 msgstr "完整写入远程助手失败"
 
 msgid "full write to remote helper failed"
 msgstr "完整写入远程助手失败"
 
-#: transport-helper.c:132
+#: transport-helper.c:134
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "无法为 '%s' 找到远程助手"
 
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "无法为 '%s' 找到远程助手"
 
-#: transport-helper.c:148 transport-helper.c:557
+#: transport-helper.c:150 transport-helper.c:559
 msgid "can't dup helper output fd"
 msgstr "无法复制助手输出文件句柄"
 
 msgid "can't dup helper output fd"
 msgstr "无法复制助手输出文件句柄"
 
-#: transport-helper.c:199
+#: transport-helper.c:201
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
 "version of Git"
 msgstr "未知的强制能力 %s,该远程助手可能需要新版本的Git"
 
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
 "version of Git"
 msgstr "未知的强制能力 %s,该远程助手可能需要新版本的Git"
 
-#: transport-helper.c:205
+#: transport-helper.c:207
 msgid "this remote helper should implement refspec capability"
 msgstr "远程助手需要实现 refspec 能力"
 
 msgid "this remote helper should implement refspec capability"
 msgstr "远程助手需要实现 refspec 能力"
 
-#: transport-helper.c:272 transport-helper.c:412
+#: transport-helper.c:274 transport-helper.c:414
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s 意外地说:'%s'"
 
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s 意外地说:'%s'"
 
-#: transport-helper.c:401
+#: transport-helper.c:403
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s 也锁定了 %s"
 
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s 也锁定了 %s"
 
-#: transport-helper.c:479
+#: transport-helper.c:481
 msgid "couldn't run fast-import"
 msgstr "不能执行 fast-import"
 
 msgid "couldn't run fast-import"
 msgstr "不能执行 fast-import"
 
-#: transport-helper.c:502
+#: transport-helper.c:504
 msgid "error while running fast-import"
 msgstr "执行 fast-import 出错"
 
 msgid "error while running fast-import"
 msgstr "执行 fast-import 出错"
 
-#: transport-helper.c:531 transport-helper.c:1097
+#: transport-helper.c:533 transport-helper.c:1099
 #, c-format
 msgid "could not read ref %s"
 msgstr "无法读取引用 %s"
 
 #, c-format
 msgid "could not read ref %s"
 msgstr "无法读取引用 %s"
 
-#: transport-helper.c:576
+#: transport-helper.c:578
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "连接时未知的响应:%s"
 
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "连接时未知的响应:%s"
 
-#: transport-helper.c:598
+#: transport-helper.c:600
 msgid "setting remote service path not supported by protocol"
 msgstr "协议不支持设置远程服务路径"
 
 msgid "setting remote service path not supported by protocol"
 msgstr "协议不支持设置远程服务路径"
 
-#: transport-helper.c:600
+#: transport-helper.c:602
 msgid "invalid remote service path"
 msgstr "无效的远程服务路径"
 
 msgid "invalid remote service path"
 msgstr "无效的远程服务路径"
 
-#: transport-helper.c:646
+#: transport-helper.c:648
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "不能连接到子服务 %s"
 
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "不能连接到子服务 %s"
 
-#: transport-helper.c:718
+#: transport-helper.c:720
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "预期 ok/error,助手说 '%s'"
 
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "预期 ok/error,助手说 '%s'"
 
-#: transport-helper.c:771
+#: transport-helper.c:773
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "助手报告 %s 的意外状态"
 
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "助手报告 %s 的意外状态"
 
-#: transport-helper.c:832
+#: transport-helper.c:834
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "助手 %s 不支持 dry-run"
 
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "助手 %s 不支持 dry-run"
 
-#: transport-helper.c:835
+#: transport-helper.c:837
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "助手 %s 不支持 --signed"
 
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "助手 %s 不支持 --signed"
 
-#: transport-helper.c:838
+#: transport-helper.c:840
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "助手 %s 不支持 --signed=if-asked"
 
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "助手 %s 不支持 --signed=if-asked"
 
-#: transport-helper.c:845
+#: transport-helper.c:847
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "助手 %s 不支持 'push-option'"
 
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "助手 %s 不支持 'push-option'"
 
-#: transport-helper.c:937
+#: transport-helper.c:939
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-heper 不支持 push,需要引用表达式"
 
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-heper 不支持 push,需要引用表达式"
 
-#: transport-helper.c:942
+#: transport-helper.c:944
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "助手 %s 不支持 'force'"
 
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "助手 %s 不支持 'force'"
 
-#: transport-helper.c:989
+#: transport-helper.c:991
 msgid "couldn't run fast-export"
 msgstr "无法执行 fast-export"
 
 msgid "couldn't run fast-export"
 msgstr "无法执行 fast-export"
 
-#: transport-helper.c:994
+#: transport-helper.c:996
 msgid "error while running fast-export"
 msgstr "执行 fast-export 时出错"
 
 msgid "error while running fast-export"
 msgstr "执行 fast-export 时出错"
 
-#: transport-helper.c:1019
+#: transport-helper.c:1021
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -6700,47 +7344,47 @@ msgstr ""
 "没有共同的引用并且也没有指定,什么也不会做。\n"
 "可能您应该指定一个分支如 'master'。\n"
 
 "没有共同的引用并且也没有指定,什么也不会做。\n"
 "可能您应该指定一个分支如 'master'。\n"
 
-#: transport-helper.c:1083
+#: transport-helper.c:1085
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "引用列表中格式错误的响应:%s"
 
-#: transport-helper.c:1236
+#: transport-helper.c:1238
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
 #, c-format
 msgid "read(%s) failed"
 msgstr "读取(%s)失败"
 
-#: transport-helper.c:1263
+#: transport-helper.c:1265
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
 #, c-format
 msgid "write(%s) failed"
 msgstr "写(%s)失败"
 
-#: transport-helper.c:1312
+#: transport-helper.c:1314
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
 #, c-format
 msgid "%s thread failed"
 msgstr "%s 线程失败"
 
-#: transport-helper.c:1316
+#: transport-helper.c:1318
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "%s 线程等待失败:%s"
 
-#: transport-helper.c:1335 transport-helper.c:1339
+#: transport-helper.c:1337 transport-helper.c:1341
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "不能启动线程来拷贝数据:%s"
 
-#: transport-helper.c:1376
+#: transport-helper.c:1378
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
 #, c-format
 msgid "%s process failed to wait"
 msgstr "%s 进程等待失败"
 
-#: transport-helper.c:1380
+#: transport-helper.c:1382
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
 #, c-format
 msgid "%s process failed"
 msgstr "%s 进程失败"
 
-#: transport-helper.c:1398 transport-helper.c:1407
+#: transport-helper.c:1400 transport-helper.c:1409
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
 msgid "can't start thread for copying data"
 msgstr "不能启动线程来拷贝数据"
 
@@ -6976,16 +7620,16 @@ msgstr ""
 "无法更新子模组:\n"
 "%s"
 
 "无法更新子模组:\n"
 "%s"
 
-#: unpack-trees.c:253
+#: unpack-trees.c:256
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:335
+#: unpack-trees.c:318
 msgid "Checking out files"
 msgstr "正在检出文件"
 
 msgid "Checking out files"
 msgstr "正在检出文件"
 
-#: unpack-trees.c:367
+#: unpack-trees.c:350
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
 msgid ""
 "the following paths have collided (e.g. case-sensitive paths\n"
 "on a case-insensitive filesystem) and only one from the same\n"
@@ -7023,32 +7667,32 @@ msgstr "无效的端口号"
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
-#: worktree.c:249 builtin/am.c:2094
+#: worktree.c:255 builtin/am.c:2097
 #, c-format
 msgid "failed to read '%s'"
 msgstr "读取 '%s' 失败"
 
 #, c-format
 msgid "failed to read '%s'"
 msgstr "读取 '%s' 失败"
 
-#: worktree.c:295
+#: worktree.c:301
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "在主工作区的 '%s' 不是仓库目录"
 
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "在主工作区的 '%s' 不是仓库目录"
 
-#: worktree.c:306
+#: worktree.c:312
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "文件 '%s' 不包含工作区的绝对路径"
 
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "文件 '%s' 不包含工作区的绝对路径"
 
-#: worktree.c:318
+#: worktree.c:324
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' 不存在"
 
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' 不存在"
 
-#: worktree.c:324
+#: worktree.c:330
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' 不是一个 .git 文件,错误码 %d"
 
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' 不是一个 .git 文件,错误码 %d"
 
-#: worktree.c:332
+#: worktree.c:338
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' 没有指回到 '%s'"
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' 没有指回到 '%s'"
@@ -7067,162 +7711,162 @@ msgstr "不能访问 '%s'"
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
-#: wt-status.c:155
+#: wt-status.c:156
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
 
 #  译者:注意保持前导空格
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:182 wt-status.c:209
+#: wt-status.c:183 wt-status.c:210
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:184 wt-status.c:211
+#: wt-status.c:185 wt-status.c:212
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:188
+#: wt-status.c:189
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:190 wt-status.c:194
+#: wt-status.c:191 wt-status.c:195
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:192
+#: wt-status.c:193
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:203 wt-status.c:1046
+#: wt-status.c:204 wt-status.c:1064
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:221 wt-status.c:1055
+#: wt-status.c:222 wt-status.c:1073
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 #  译者:注意保持前导空格
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:225
+#: wt-status.c:226
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:227
+#: wt-status.c:228
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:228
+#: wt-status.c:229
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
 #  译者:注意保持前导空格
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:230
+#: wt-status.c:231
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
 #  译者:注意保持前导空格
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:242
+#: wt-status.c:243
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
-#: wt-status.c:257
+#: wt-status.c:258
 msgid "both deleted:"
 msgstr "双方删除:"
 
 msgid "both deleted:"
 msgstr "双方删除:"
 
-#: wt-status.c:259
+#: wt-status.c:260
 msgid "added by us:"
 msgstr "由我们添加:"
 
 msgid "added by us:"
 msgstr "由我们添加:"
 
-#: wt-status.c:261
+#: wt-status.c:262
 msgid "deleted by them:"
 msgstr "由他们删除:"
 
 msgid "deleted by them:"
 msgstr "由他们删除:"
 
-#: wt-status.c:263
+#: wt-status.c:264
 msgid "added by them:"
 msgstr "由他们添加:"
 
 msgid "added by them:"
 msgstr "由他们添加:"
 
-#: wt-status.c:265
+#: wt-status.c:266
 msgid "deleted by us:"
 msgstr "由我们删除:"
 
 msgid "deleted by us:"
 msgstr "由我们删除:"
 
-#: wt-status.c:267
+#: wt-status.c:268
 msgid "both added:"
 msgstr "双方添加:"
 
 msgid "both added:"
 msgstr "双方添加:"
 
-#: wt-status.c:269
+#: wt-status.c:270
 msgid "both modified:"
 msgstr "双方修改:"
 
 msgid "both modified:"
 msgstr "双方修改:"
 
-#: wt-status.c:279
+#: wt-status.c:280
 msgid "new file:"
 msgstr "新文件:"
 
 msgid "new file:"
 msgstr "新文件:"
 
-#: wt-status.c:281
+#: wt-status.c:282
 msgid "copied:"
 msgstr "拷贝:"
 
 msgid "copied:"
 msgstr "拷贝:"
 
-#: wt-status.c:283
+#: wt-status.c:284
 msgid "deleted:"
 msgstr "删除:"
 
 msgid "deleted:"
 msgstr "删除:"
 
-#: wt-status.c:285
+#: wt-status.c:286
 msgid "modified:"
 msgstr "修改:"
 
 msgid "modified:"
 msgstr "修改:"
 
-#: wt-status.c:287
+#: wt-status.c:288
 msgid "renamed:"
 msgstr "重命名:"
 
 msgid "renamed:"
 msgstr "重命名:"
 
-#: wt-status.c:289
+#: wt-status.c:290
 msgid "typechange:"
 msgstr "类型变更:"
 
 msgid "typechange:"
 msgstr "类型变更:"
 
-#: wt-status.c:291
+#: wt-status.c:292
 msgid "unknown:"
 msgstr "未知:"
 
 msgid "unknown:"
 msgstr "未知:"
 
-#: wt-status.c:293
+#: wt-status.c:294
 msgid "unmerged:"
 msgstr "未合并:"
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
 msgid "unmerged:"
 msgstr "未合并:"
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:373
+#: wt-status.c:374
 msgid "new commits, "
 msgstr "新提交, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
 msgid "new commits, "
 msgstr "新提交, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:375
+#: wt-status.c:376
 msgid "modified content, "
 msgstr "修改的内容, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
 msgid "modified content, "
 msgstr "修改的内容, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:377
+#: wt-status.c:378
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:884
+#: wt-status.c:896
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:916
+#: wt-status.c:928
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:918
+#: wt-status.c:930
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:1000
+#: wt-status.c:1012
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -7230,77 +7874,77 @@ msgstr ""
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1101
+#: wt-status.c:1119
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1104
+#: wt-status.c:1122
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1106
+#: wt-status.c:1124
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1110
+#: wt-status.c:1128
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1113
+#: wt-status.c:1131
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1122
+#: wt-status.c:1140
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1125
+#: wt-status.c:1143
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1129
+#: wt-status.c:1147
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1131
+#: wt-status.c:1149
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1133
+#: wt-status.c:1151
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1264
+#: wt-status.c:1284
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1266
+#: wt-status.c:1286
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1269
+#: wt-status.c:1289
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
-#: wt-status.c:1280
+#: wt-status.c:1300
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1285
+#: wt-status.c:1305
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1288
+#: wt-status.c:1308
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -7308,169 +7952,187 @@ msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1296
+#: wt-status.c:1316
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1308
+#: wt-status.c:1328
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1313
+#: wt-status.c:1333
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1326
+#: wt-status.c:1346
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1328
+#: wt-status.c:1348
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1330
+#: wt-status.c:1350
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1337
+#: wt-status.c:1357
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1341
+#: wt-status.c:1361
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1346
+#: wt-status.c:1366
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1349
+#: wt-status.c:1369
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1353
+#: wt-status.c:1373
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1358
+#: wt-status.c:1378
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1361
+#: wt-status.c:1381
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1363
+#: wt-status.c:1383
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1372
+#: wt-status.c:1394
+msgid "Cherry-pick currently in progress."
+msgstr "拣选操作正在进行中。"
+
+#: wt-status.c:1397
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1377
+#: wt-status.c:1404
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1380
+#: wt-status.c:1407
+msgid "  (run \"git cherry-pick --continue\" to continue)"
+msgstr "  (执行 \"git cherry-pick --continue\" 以继续)"
+
+#  译者:注意保持前导空格
+#: wt-status.c:1410
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1382
+#: wt-status.c:1412
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1390
+#: wt-status.c:1422
+msgid "Revert currently in progress."
+msgstr "还原操作正在行中。"
+
+#: wt-status.c:1425
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1395
+#: wt-status.c:1431
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr "  (解决冲突并运行 \"git revert --continue\")"
+msgstr "  (解决冲突并执行 \"git revert --continue\")"
+
+#  译者:注意保持前导空格
+#: wt-status.c:1434
+msgid "  (run \"git revert --continue\" to continue)"
+msgstr "  (执行 \"git revert --continue\" 以继续)"
 
 #  译者:注意保持前导空格
 
 #  译者:注意保持前导空格
-#: wt-status.c:1398
+#: wt-status.c:1437
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr "  (所有冲突已解决:行 \"git revert --continue\")"
+msgstr "  (所有冲突已解决:行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
 
 #  译者:注意保持前导空格
-#: wt-status.c:1400
+#: wt-status.c:1439
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1410
+#: wt-status.c:1449
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1414
+#: wt-status.c:1453
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1417
+#: wt-status.c:1456
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1617
+#: wt-status.c:1665
 msgid "On branch "
 msgstr "位于分支 "
 
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1624
+#: wt-status.c:1672
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1626
+#: wt-status.c:1674
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1631
+#: wt-status.c:1679
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1633
+#: wt-status.c:1681
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1636
+#: wt-status.c:1684
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1653
+#: wt-status.c:1701
 msgid "Initial commit"
 msgstr "初始提交"
 
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1654
+#: wt-status.c:1702
 msgid "No commits yet"
 msgstr "尚无提交"
 
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1668
+#: wt-status.c:1716
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1670
+#: wt-status.c:1718
 msgid "Ignored files"
 msgstr "忽略的文件"
 
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1674
+#: wt-status.c:1722
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -7480,97 +8142,97 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1680
+#: wt-status.c:1728
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1682
+#: wt-status.c:1730
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1688
+#: wt-status.c:1736
 msgid "No changes"
 msgstr "没有修改"
 
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1693
+#: wt-status.c:1741
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: wt-status.c:1696
+#: wt-status.c:1744
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1699
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1702
+#: wt-status.c:1750
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1705
+#: wt-status.c:1753
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1708 wt-status.c:1713
+#: wt-status.c:1756 wt-status.c:1761
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1711
+#: wt-status.c:1759
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1715
+#: wt-status.c:1763
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1828
+#: wt-status.c:1876
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:1832
+#: wt-status.c:1880
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1863
+#: wt-status.c:1911
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1865 wt-status.c:1873
+#: wt-status.c:1913 wt-status.c:1921
 msgid "behind "
 msgstr "落后 "
 
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1868 wt-status.c:1871
+#: wt-status.c:1916 wt-status.c:1919
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2386
+#: wt-status.c:2443
 #, 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:2392
+#: wt-status.c:2449
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2394
+#: wt-status.c:2451
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
@@ -7633,7 +8295,7 @@ msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
 #: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
 #: builtin/add.c:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:214 builtin/push.c:560
+#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "演习"
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "演习"
@@ -7642,7 +8304,7 @@ msgstr "演习"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:294 builtin/checkout.c:1304 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -7686,7 +8348,7 @@ msgstr "跳过因出错不能添加的文件"
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:309 builtin/update-index.c:991
+#: builtin/add.c:309 builtin/update-index.c:1001
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
@@ -7733,29 +8395,29 @@ msgstr "正在添加嵌入式 git 仓库:%s"
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:380
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr "添加文件失败"
 
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:418
+#: builtin/add.c:419
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:425
+#: builtin/add.c:426
 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:429
+#: builtin/add.c:430
 #, 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:444
+#: builtin/add.c:445
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:445
+#: builtin/add.c:446
 #, 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"
@@ -7769,100 +8431,100 @@ msgstr "不能解析作者脚本"
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/am.c:473
+#: builtin/am.c:474
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/am.c:510
+#: builtin/am.c:512
 #, 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:536
+#: builtin/am.c:538
 msgid "fseek failed"
 msgstr "fseek 失败"
 
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:724
+#: builtin/am.c:726
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:789
+#: builtin/am.c:791
 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:837
+#: builtin/am.c:839
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:842 builtin/am.c:854
+#: builtin/am.c:844 builtin/am.c:856
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:849
+#: builtin/am.c:851
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:942
+#: builtin/am.c:944
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:947 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:409
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
 
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "创建目录 '%s' 失败"
 
-#: builtin/am.c:952
+#: builtin/am.c:954
 msgid "Failed to split patches."
 msgstr "拆分补丁失败。"
 
 msgid "Failed to split patches."
 msgstr "拆分补丁失败。"
 
-#: builtin/am.c:1082 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:371
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1096
+#: builtin/am.c:1098
 #, 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:1097
+#: builtin/am.c:1099
 #, 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:1098
+#: builtin/am.c:1100
 #, 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:1181
+#: builtin/am.c:1183
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。"
 
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。"
 
-#: builtin/am.c:1209
+#: builtin/am.c:1211
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1275
+#: builtin/am.c:1277
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1297
+#: builtin/am.c:1299
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: builtin/am.c:1493
+#: builtin/am.c:1495
 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:1495
+#: builtin/am.c:1497
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1514
+#: builtin/am.c:1516
 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."
@@ -7870,28 +8532,28 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1520
+#: builtin/am.c:1522
 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:1546
+#: builtin/am.c:1548
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1578
+#: builtin/am.c:1580
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1624 builtin/am.c:1628
+#: builtin/am.c:1627 builtin/am.c:1631
 #, 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:1644
+#: builtin/am.c:1647
 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:1649
+#: builtin/am.c:1652
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -7900,34 +8562,34 @@ msgstr "提交内容为:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1659
+#: builtin/am.c:1662
 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:1709
+#: builtin/am.c:1712
 #, 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:1749 builtin/am.c:1817
+#: builtin/am.c:1752 builtin/am.c:1820
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1766
+#: builtin/am.c:1769
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1772
+#: builtin/am.c:1775
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1776
+#: builtin/am.c:1779
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "用 'git am --show-current-patch' 命令查看失败的补丁"
 
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "用 'git am --show-current-patch' 命令查看失败的补丁"
 
-#: builtin/am.c:1820
+#: builtin/am.c:1823
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -7937,7 +8599,7 @@ msgstr ""
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1827
+#: builtin/am.c:1830
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -7948,159 +8610,159 @@ msgstr ""
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:1934 builtin/am.c:1938 builtin/am.c:1950 builtin/reset.c:329
+#: builtin/am.c:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:1986
+#: builtin/am.c:1989
 msgid "failed to clean index"
 msgstr "清空索引失败"
 
 msgid "failed to clean index"
 msgstr "清空索引失败"
 
-#: builtin/am.c:2030
+#: builtin/am.c:2033
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2123
+#: builtin/am.c:2130
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
-#: builtin/am.c:2159
+#: builtin/am.c:2166
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2160
+#: builtin/am.c:2167
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2173
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2168
+#: builtin/am.c:2175
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2170
+#: builtin/am.c:2177
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2171 builtin/init-db.c:486 builtin/prune-packed.c:58
-#: builtin/repack.c:306
+#: builtin/am.c:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:306 builtin/stash.c:805
 msgid "be quiet"
 msgstr "静默模式"
 
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2180
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
-#: builtin/am.c:2176
+#: builtin/am.c:2183
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2185
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2187
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2182
+#: builtin/am.c:2189
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2184
+#: builtin/am.c:2191
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2194
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2190
+#: builtin/am.c:2197
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2192 builtin/am.c:2195 builtin/am.c:2198 builtin/am.c:2201
-#: builtin/am.c:2204 builtin/am.c:2207 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/am.c:2219
+#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
+#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
+#: builtin/am.c:2226
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2209 builtin/commit.c:1343 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:240
-#: builtin/pull.c:152 builtin/pull.c:210 builtin/rebase.c:1062
+#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
+#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
 #: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
 #: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:171 builtin/tag.c:386
-#: parse-options.h:144 parse-options.h:146 parse-options.h:266
+#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
+#: parse-options.h:141 parse-options.h:162 parse-options.h:311
 msgid "n"
 msgstr "n"
 
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2215 builtin/branch.c:637 builtin/for-each-ref.c:38
-#: builtin/replace.c:544 builtin/tag.c:422 builtin/verify-tag.c:39
+#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
 msgid "format"
 msgstr "格式"
 
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2216
+#: builtin/am.c:2223
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2222
+#: builtin/am.c:2229
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2224
+#: builtin/am.c:2231
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2234
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2230
+#: builtin/am.c:2237
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2240
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
-#: builtin/am.c:2236
+#: builtin/am.c:2243
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "终止补丁操作但保持 HEAD 不变。"
 
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "终止补丁操作但保持 HEAD 不变。"
 
-#: builtin/am.c:2239
+#: builtin/am.c:2246
 msgid "show the patch being applied."
 msgstr "显示正在应用的补丁。"
 
 msgid "show the patch being applied."
 msgstr "显示正在应用的补丁。"
 
-#: builtin/am.c:2243
+#: builtin/am.c:2250
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2245
+#: builtin/am.c:2252
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2247 builtin/commit.c:1486 builtin/merge.c:274
-#: builtin/pull.c:185 builtin/rebase.c:1106 builtin/rebase--interactive.c:185
-#: builtin/revert.c:114 builtin/tag.c:402
+#: builtin/am.c:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
+#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
+#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
 msgid "key-id"
 msgstr "key-id"
 
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2248 builtin/rebase.c:1107 builtin/rebase--interactive.c:186
+#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2251
+#: builtin/am.c:2258
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2276
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -8108,16 +8770,16 @@ msgstr ""
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2283
 msgid "failed to read the index"
 msgstr "读取索引失败"
 
 msgid "failed to read the index"
 msgstr "读取索引失败"
 
-#: builtin/am.c:2291
+#: builtin/am.c:2298
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2315
+#: builtin/am.c:2322
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -8126,7 +8788,7 @@ msgstr ""
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2328
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
@@ -8262,7 +8924,7 @@ msgstr "坏的 bisect_write 参数:%s"
 #: builtin/bisect--helper.c:220
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 #: builtin/bisect--helper.c:220
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
-msgstr "无法获取版本 '%s' 的对象ID"
+msgstr "无法获取版本 '%s' 的对象 ID"
 
 #: builtin/bisect--helper.c:232
 #, c-format
 
 #: builtin/bisect--helper.c:232
 #, c-format
@@ -8297,7 +8959,7 @@ msgstr ""
 #: builtin/bisect--helper.c:321
 #, c-format
 msgid "bisecting only with a %s commit"
 #: builtin/bisect--helper.c:321
 #, c-format
 msgid "bisecting only with a %s commit"
-msgstr "二分查找只有一个 %s 提交"
+msgstr "在只有一个 %s 提交的情况下二分查找"
 
 #  译者:注意保持句尾空格
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 
 #  译者:注意保持句尾空格
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
@@ -8393,7 +9055,7 @@ msgstr "打印二分查找术语"
 
 #: builtin/bisect--helper.c:645
 msgid "start the bisect session"
 
 #: builtin/bisect--helper.c:645
 msgid "start the bisect session"
-msgstr "启动二分查找会话"
+msgstr "启动二分查找过程"
 
 #: builtin/bisect--helper.c:647
 msgid "update BISECT_HEAD instead of checking out the current commit"
 
 #: builtin/bisect--helper.c:647
 msgid "update BISECT_HEAD instead of checking out the current commit"
@@ -8431,141 +9093,141 @@ msgstr "--bisect-next-check 需要 2 或 3 个参数"
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms 需要 0 或 1 个参数"
 
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms 需要 0 或 1 个参数"
 
-#: builtin/blame.c:31
+#: builtin/blame.c:32
 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:36
+#: builtin/blame.c:37
 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:406
+#: builtin/blame.c:407
 #, c-format
 msgid "expecting a color: %s"
 msgstr "期望一个颜色:%s"
 
 #, c-format
 msgid "expecting a color: %s"
 msgstr "期望一个颜色:%s"
 
-#: builtin/blame.c:413
+#: builtin/blame.c:414
 msgid "must end with a color"
 msgstr "必须以一个颜色结尾"
 
 msgid "must end with a color"
 msgstr "必须以一个颜色结尾"
 
-#: builtin/blame.c:700
+#: builtin/blame.c:701
 #, 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:718
+#: builtin/blame.c:719
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
 msgid "invalid value for blame.coloring"
 msgstr "设置 blame.coloring 中的无效取值"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:794
 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:794
+#: builtin/blame.c:795
 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:795
+#: builtin/blame.c:796
 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:796
+#: builtin/blame.c:797
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:797
+#: builtin/blame.c:798
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:799
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:800
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:801
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:802
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:803
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:804
 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:804
+#: builtin/blame.c:805
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:805
+#: builtin/blame.c:806
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:806
+#: builtin/blame.c:807
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:807
+#: builtin/blame.c:808
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:808
+#: builtin/blame.c:809
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:810
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
 msgid "color redundant metadata from previous line differently"
 msgstr "使用颜色间隔输出与前一行不同的重复元信息"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:811
 msgid "color lines by age"
 msgstr "依据时间着色"
 
 msgid "color lines by age"
 msgstr "依据时间着色"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:818
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:819
+#: builtin/blame.c:820
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:821
 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:821
+#: builtin/blame.c:822
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:822 builtin/blame.c:823
+#: builtin/blame.c:823 builtin/blame.c:824
 msgid "score"
 msgstr "得分"
 
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:822
+#: builtin/blame.c:823
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:824
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 msgid "n,m"
 msgstr "n,m"
 
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:824
+#: builtin/blame.c:825
 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:875
+#: builtin/blame.c:876
 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 同时使用"
 
@@ -8577,18 +9239,18 @@ 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:926
+#: builtin/blame.c:927
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:1018
+#: builtin/blame.c:1031
 #, 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:1064
+#: builtin/blame.c:1077
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
@@ -8701,65 +9363,74 @@ msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:421 builtin/tag.c:59
+#: builtin/branch.c:421 builtin/tag.c:60
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
+#: builtin/branch.c:452
+msgid "could not resolve HEAD"
+msgstr "不能解析 HEAD 提交"
+
 #: builtin/branch.c:458
 #, c-format
 #: builtin/branch.c:458
 #, c-format
+msgid "HEAD (%s) points outside of refs/heads/"
+msgstr "HEAD (%s) 指向 refs/heads/ 之外"
+
+#: builtin/branch.c:473
+#, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:462
+#: builtin/branch.c:477
 #, 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:479
+#: builtin/branch.c:494
 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:481
+#: builtin/branch.c:496
 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:492
+#: builtin/branch.c:507
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:519
+#: builtin/branch.c:534
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:521
+#: builtin/branch.c:536
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:525
+#: builtin/branch.c:540
 #, 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:528
+#: builtin/branch.c:543
 #, 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:534
+#: builtin/branch.c:549
 #, 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:543
+#: builtin/branch.c:558
 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:545
+#: builtin/branch.c:560
 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:561
+#: builtin/branch.c:576
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -8770,219 +9441,213 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:610
 msgid "Generic options"
 msgstr "通用选项"
 
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:596
+#: builtin/branch.c:612
 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:597
+#: builtin/branch.c:613
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:614
 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:600
+#: builtin/branch.c:616
 msgid "do not use"
 msgstr "不要使用"
 
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:602 builtin/rebase--interactive.c:182
+#: builtin/branch.c:618 builtin/rebase.c:485
 msgid "upstream"
 msgstr "上游"
 
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:618
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:619
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:620
 msgid "use colored output"
 msgstr "使用彩色输出"
 
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:621
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:607 builtin/branch.c:609
+#: builtin/branch.c:623 builtin/branch.c:625
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:608 builtin/branch.c:610
+#: builtin/branch.c:624 builtin/branch.c:626
 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:613
+#: builtin/branch.c:629
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:630
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:632
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:633
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:634
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:635
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:636
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:637
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:638
 msgid "list branch names"
 msgstr "列出分支名"
 
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:623
+#: builtin/branch.c:639
+msgid "show current branch name"
+msgstr "显示当前分支名"
+
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:644
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:628
+#: builtin/branch.c:645
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:630 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:415
-msgid "key"
-msgstr "key"
-
-#: builtin/branch.c:631 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:416
-msgid "field name to sort on"
-msgstr "排序的字段名"
-
-#: builtin/branch.c:633 builtin/for-each-ref.c:43 builtin/notes.c:415
+#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:418
+#: builtin/tag.c:427
 msgid "object"
 msgstr "对象"
 
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:650
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:636 builtin/for-each-ref.c:49 builtin/tag.c:425
+#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:637 builtin/for-each-ref.c:38 builtin/tag.c:423
+#: builtin/branch.c:653 builtin/for-each-ref.c:38 builtin/tag.c:432
 #: 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:660 builtin/clone.c:746
+#: builtin/branch.c:676 builtin/clone.c:748
 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:683
+#: builtin/branch.c:700
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:698 builtin/branch.c:749 builtin/branch.c:758
+#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
 msgid "branch name required"
 msgstr "必须提供分支名"
 
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:725
+#: builtin/branch.c:745
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:730
+#: 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:737
+#: 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:740
+#: 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:755
+#: 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:764
+#: 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:769
+#: 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:773
+#: 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:776 builtin/branch.c:799
+#: builtin/branch.c:796 builtin/branch.c:819
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:780
+#: 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:793
+#: builtin/branch.c:813
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:817
 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:803
+#: builtin/branch.c:823
 #, 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:833
 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:836
 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."
@@ -9050,7 +9715,7 @@ msgstr "对于数据对象,对其内容做文本转换"
 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:643 git-submodule.sh:860
+#: builtin/cat-file.c:643 git-submodule.sh:936
 msgid "blob"
 msgstr "数据对象"
 
 msgid "blob"
 msgstr "数据对象"
 
@@ -9110,8 +9775,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:21 builtin/checkout.c:1280 builtin/gc.c:517
-#: builtin/worktree.c:496
+#: builtin/check-ignore.c:21 builtin/checkout.c:1355 builtin/gc.c:538
+#: builtin/worktree.c:499
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -9202,8 +9867,8 @@ msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
 #: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
 #: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1857
-#: builtin/worktree.c:669
+#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
+#: builtin/worktree.c:672
 msgid "string"
 msgstr "字符串"
 
 msgid "string"
 msgstr "字符串"
 
@@ -9223,127 +9888,141 @@ msgstr "git checkout [<选项>] <分支>"
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:147 builtin/checkout.c:181
+#: builtin/checkout.c:151 builtin/checkout.c:190
 #, 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:149 builtin/checkout.c:183
+#: builtin/checkout.c:153 builtin/checkout.c:192
 #, 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:165
+#: builtin/checkout.c:169
 #, 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:210
+#: builtin/checkout.c:219
 #, 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:228
+#: builtin/checkout.c:237
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:244
+#: builtin/checkout.c:253
 #, 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:267 builtin/checkout.c:270 builtin/checkout.c:273
-#: builtin/checkout.c:276
+#: builtin/checkout.c:331 builtin/checkout.c:334 builtin/checkout.c:337
+#: builtin/checkout.c:340
 #, 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:279 builtin/checkout.c:282
+#: builtin/checkout.c:343 builtin/checkout.c:346
 #, 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:285
+#: builtin/checkout.c:349
 #, 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:354 builtin/checkout.c:361
+#: builtin/checkout.c:396 builtin/checkout.c:403
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:397
+#: builtin/checkout.c:442
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "重新创建了 %d 个合并冲突"
 msgstr[1] "重新创建了 %d 个合并冲突"
 
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "重新创建了 %d 个合并冲突"
 msgstr[1] "重新创建了 %d 个合并冲突"
 
-#: builtin/checkout.c:402
+#: builtin/checkout.c:447
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "从 %2$s 更新了 %1$d 个路径"
 msgstr[1] "从 %2$s 更新了 %1$d 个路径"
 
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "从 %2$s 更新了 %1$d 个路径"
 msgstr[1] "从 %2$s 更新了 %1$d 个路径"
 
-#: builtin/checkout.c:409
+#: builtin/checkout.c:454
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "从索引区更新了 %d 个路径"
 msgstr[1] "从索引区更新了 %d 个路径"
 
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "从索引区更新了 %d 个路径"
 msgstr[1] "从索引区更新了 %d 个路径"
 
-#: builtin/checkout.c:645
+#: builtin/checkout.c:695
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:782
+#: builtin/checkout.c:744
+#, c-format
+msgid ""
+"cannot continue with staged changes in the following files:\n"
+"%s"
+msgstr ""
+"不能继续,下列文件有暂存的修改:\n"
+"%s"
+
+#: builtin/checkout.c:751
+#, c-format
+msgid "staged changes in the following files may be lost: %s"
+msgstr "下列文件暂存的修改可能会丢失:%s"
+
+#: builtin/checkout.c:848
 #, 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:824
+#: builtin/checkout.c:890
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:828 builtin/clone.c:699
+#: builtin/checkout.c:894 builtin/clone.c:701
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:832
+#: builtin/checkout.c:898
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:835
+#: builtin/checkout.c:901
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:839
+#: builtin/checkout.c:905
 #, 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:841 builtin/checkout.c:1212
+#: builtin/checkout.c:907 builtin/checkout.c:1283
 #, 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:843
+#: builtin/checkout.c:909
 #, 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:894
+#: builtin/checkout.c:960
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:900
+#: builtin/checkout.c:966
 #, 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"
@@ -9364,7 +10043,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:919
+#: builtin/checkout.c:985
 #, 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"
@@ -9391,24 +10070,24 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:1017
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:955
+#: builtin/checkout.c:1021
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:983 builtin/checkout.c:1207
+#: builtin/checkout.c:1052 builtin/checkout.c:1278
 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:1104
+#: builtin/checkout.c:1173
 #, 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:1140
+#: builtin/checkout.c:1209
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -9417,150 +10096,158 @@ msgstr ""
 "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n"
 "请使用 --(和可选的 --no-guess)来消除歧义"
 
 "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n"
 "请使用 --(和可选的 --no-guess)来消除歧义"
 
-#: builtin/checkout.c:1153 builtin/worktree.c:290 builtin/worktree.c:445
+#: builtin/checkout.c:1222 builtin/worktree.c:290 builtin/worktree.c:448
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1182
+#: builtin/checkout.c:1251
 #, 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:1221
+#: builtin/checkout.c:1292
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1224 builtin/checkout.c:1228
+#: builtin/checkout.c:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
 #, 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:1232 builtin/checkout.c:1235 builtin/checkout.c:1240
-#: builtin/checkout.c:1243
+#: builtin/checkout.c:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
+#: builtin/checkout.c:1318
 #, 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:1248
+#: builtin/checkout.c:1323
 #, 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:1281 builtin/checkout.c:1283 builtin/clone.c:120
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:489
-#: builtin/worktree.c:491
+#: builtin/checkout.c:1356 builtin/checkout.c:1358 builtin/clone.c:118
+#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
+#: builtin/worktree.c:494
 msgid "branch"
 msgstr "分支"
 
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1282
+#: builtin/checkout.c:1357
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1284
+#: builtin/checkout.c:1359
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1285
+#: builtin/checkout.c:1360
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1286 builtin/worktree.c:493
+#: builtin/checkout.c:1361 builtin/worktree.c:496
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1287
+#: builtin/checkout.c:1362
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new-branch"
 msgstr "新分支"
 
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1289
+#: builtin/checkout.c:1364
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1291
+#: builtin/checkout.c:1366
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1294
+#: builtin/checkout.c:1369
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1296
+#: builtin/checkout.c:1371
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1298
+#: builtin/checkout.c:1373
 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:1300 builtin/merge.c:276
+#: builtin/checkout.c:1375 builtin/merge.c:284
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1302 builtin/log.c:1586 parse-options.h:272
+#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
 msgid "style"
 msgstr "风格"
 
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1378
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1306
+#: builtin/checkout.c:1381
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1308
+#: builtin/checkout.c:1383
 msgid "do not second guess 'git checkout <no-such-branch>'"
 msgstr "不要二次猜测 'git checkout <无此分支>'"
 
 msgid "do not second guess 'git checkout <no-such-branch>'"
 msgstr "不要二次猜测 'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1310
+#: builtin/checkout.c:1385
 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:1314 builtin/clone.c:87 builtin/fetch.c:141
-#: builtin/merge.c:273 builtin/pull.c:130 builtin/push.c:575
+#: builtin/checkout.c:1389 builtin/clone.c:88 builtin/fetch.c:141
+#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
 #: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1390
+msgid "use overlay mode (default)"
+msgstr "使用叠加模式(默认)"
+
+#: builtin/checkout.c:1422
 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:1362
+#: builtin/checkout.c:1425
+msgid "-p and --overlay are mutually exclusive"
+msgstr "-p 和 --overlay 互斥"
+
+#: builtin/checkout.c:1442
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1367
+#: builtin/checkout.c:1447
 msgid "missing branch name; try -b"
 msgstr "缺少分支名,尝试 -b"
 
 msgid "missing branch name; try -b"
 msgstr "缺少分支名,尝试 -b"
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1484
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1411
+#: builtin/checkout.c:1491
 #, 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:1415
+#: builtin/checkout.c:1495
 #, 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:1419
+#: builtin/checkout.c:1499
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
-#: builtin/checkout.c:1439
+#: builtin/checkout.c:1519
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -9737,9 +10424,9 @@ msgid "remove whole directories"
 msgstr "删除整个目录"
 
 #: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
 msgstr "删除整个目录"
 
 #: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:167 builtin/log.c:169
-#: builtin/ls-files.c:557 builtin/name-rev.c:415 builtin/name-rev.c:417
-#: builtin/show-ref.c:178
+#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
+#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "模式"
 
 msgid "pattern"
 msgstr "模式"
 
@@ -9777,137 +10464,147 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:90
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:90 builtin/clone.c:92 builtin/init-db.c:481
+#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:101
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "pathspec"
 msgstr "路径规格"
 
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:102 builtin/clone.c:106
+#: builtin/clone.c:104
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:109
+#: builtin/clone.c:107
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:110 builtin/init-db.c:478
+#: builtin/clone.c:108 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "模板目录"
 
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:111 builtin/init-db.c:479
+#: builtin/clone.c:109 builtin/init-db.c:487
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:113 builtin/clone.c:115 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1860
+#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
+#: builtin/submodule--helper.c:1859
 msgid "reference repository"
 msgstr "参考仓库"
 
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:117 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1862
+#: builtin/clone.c:115 builtin/submodule--helper.c:1381
+#: builtin/submodule--helper.c:1861
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:118 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3303 builtin/repack.c:329
+#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3306 builtin/repack.c:329
 msgid "name"
 msgstr "名称"
 
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:117
 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:121
+#: builtin/clone.c:119
 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:123
+#: builtin/clone.c:121
 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:124 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:218
+#: builtin/clone.c:122 builtin/fetch.c:142 builtin/grep.c:836
+#: builtin/pull.c:225
 msgid "depth"
 msgstr "深度"
 
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:123
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:126 builtin/fetch.c:144 builtin/pack-objects.c:3292
+#: builtin/clone.c:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
 msgid "time"
 msgstr "时间"
 
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:125
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:128 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1039
+#: builtin/clone.c:126 builtin/fetch.c:146 builtin/fetch.c:169
+#: builtin/rebase.c:1389
 msgid "revision"
 msgstr "版本"
 
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:129 builtin/fetch.c:147
+#: builtin/clone.c:127 builtin/fetch.c:147
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:129
 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:133
+#: builtin/clone.c:131
 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:135
+#: builtin/clone.c:133
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:136 builtin/init-db.c:487
+#: builtin/clone.c:134 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "git目录"
 
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:137 builtin/init-db.c:488
+#: builtin/clone.c:135 builtin/init-db.c:496
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:138
+#: builtin/clone.c:136
 msgid "key=value"
 msgstr "key=value"
 
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:139
+#: builtin/clone.c:137
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:231
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:172
+msgid "server-specific"
+msgstr "server-specific"
+
+#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/push.c:585 builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr "传输选项"
+
+#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:234
+#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
@@ -9975,125 +10672,125 @@ msgstr ""
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:687
+#: builtin/clone.c:689
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:737
+#: builtin/clone.c:739
 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:768
+#: builtin/clone.c:770
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:813
+#: builtin/clone.c:815
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:876
+#: builtin/clone.c:878
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:880
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:918 builtin/receive-pack.c:1941
+#: builtin/clone.c:920 builtin/receive-pack.c:1952
 msgid "Too many arguments."
 msgstr "太多参数。"
 
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:922
+#: builtin/clone.c:924
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:935
+#: builtin/clone.c:937
 #, 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:938
+#: builtin/clone.c:940
 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:951
+#: builtin/clone.c:953
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:957 builtin/fetch.c:1608
+#: builtin/clone.c:959 builtin/fetch.c:1610
 #, 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:967
+#: builtin/clone.c:969
 #, 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:977
+#: builtin/clone.c:979
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:992 builtin/clone.c:1013 builtin/difftool.c:272
-#: builtin/worktree.c:296 builtin/worktree.c:326
+#: builtin/clone.c:994 builtin/clone.c:1015 builtin/difftool.c:264
+#: builtin/worktree.c:296 builtin/worktree.c:328
 #, 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:997
+#: builtin/clone.c:999
 #, 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:1017
+#: builtin/clone.c:1019
 #, 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:1019
+#: builtin/clone.c:1021
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1043
+#: builtin/clone.c:1045
 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:1104
+#: builtin/clone.c:1106
 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:1106
+#: builtin/clone.c:1108
 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:1108
+#: builtin/clone.c:1110
 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:1110
+#: builtin/clone.c:1112
 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:1113
+#: builtin/clone.c:1115
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1118
+#: builtin/clone.c:1120
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1192 builtin/clone.c:1200
+#: builtin/clone.c:1197 builtin/clone.c:1205
 #, 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:1203
+#: builtin/clone.c:1208
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -10129,6 +10826,74 @@ msgstr "两列之间的填充空间"
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
+#: builtin/commit-tree.c:18
+msgid ""
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
+"<file>)...] <tree>"
+msgstr ""
+"git commit-tree [(-p <父提交>)...] [-S[<keyid>]] [(-m <消息>)...] [(-F <文件"
+">)...] <树>"
+
+#: builtin/commit-tree.c:31
+#, c-format
+msgid "duplicate parent %s ignored"
+msgstr "忽略重复的父提交 %s"
+
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:520
+#, c-format
+msgid "not a valid object name %s"
+msgstr "不是一个有效的对象名 %s"
+
+#: builtin/commit-tree.c:93
+#, c-format
+msgid "git commit-tree: failed to open '%s'"
+msgstr "git commit-tree:无法打开 '%s'"
+
+#: builtin/commit-tree.c:96
+#, c-format
+msgid "git commit-tree: failed to read '%s'"
+msgstr "git commit-tree:无法读取 '%s'"
+
+#: builtin/commit-tree.c:98
+#, c-format
+msgid "git commit-tree: failed to close '%s'"
+msgstr "git commit-tree:无法关闭 '%s'"
+
+#: builtin/commit-tree.c:111
+msgid "parent"
+msgstr "父提交"
+
+#: builtin/commit-tree.c:112
+msgid "id of a parent commit object"
+msgstr "父提交对象 ID"
+
+#: builtin/commit-tree.c:114 builtin/commit.c:1480 builtin/merge.c:268
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
+#: builtin/tag.c:406
+msgid "message"
+msgstr "说明"
+
+#: builtin/commit-tree.c:115 builtin/commit.c:1480
+msgid "commit message"
+msgstr "提交说明"
+
+#: builtin/commit-tree.c:118
+msgid "read commit log message from file"
+msgstr "从文件中读取提交说明"
+
+#: builtin/commit-tree.c:121 builtin/commit.c:1492 builtin/merge.c:283
+#: builtin/pull.c:193 builtin/revert.c:117
+msgid "GPG sign commit"
+msgstr "GPG 提交签名"
+
+#: builtin/commit-tree.c:133
+msgid "must give exactly one tree"
+msgstr "必须精确地提供一个树"
+
+#: builtin/commit-tree.c:140
+msgid "git commit-tree: failed to read"
+msgstr "git commit-tree:读取失败"
+
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<选项>] [--] <路径规格>..."
@@ -10234,44 +10999,44 @@ msgstr "提交 '%s' 有格式错误的作者信息"
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
 msgid "malformed --author parameter"
 msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:652
+#: builtin/commit.c:653
 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:689 builtin/commit.c:722 builtin/commit.c:1052
+#: builtin/commit.c:691 builtin/commit.c:724 builtin/commit.c:1069
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:701 builtin/shortlog.c:319
+#: builtin/commit.c:703 builtin/shortlog.c:319
 #, 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:703
+#: builtin/commit.c:705
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:707
+#: builtin/commit.c:709
 #, 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:736 builtin/commit.c:744
+#: builtin/commit.c:740 builtin/commit.c:756
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:741
+#: builtin/commit.c:747
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:795
+#: builtin/commit.c:807
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:813
+#: builtin/commit.c:826
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -10285,7 +11050,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:818
+#: builtin/commit.c:831
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -10299,7 +11064,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:844
 #, 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"
@@ -10308,7 +11073,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:839
+#: builtin/commit.c:852
 #, 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"
@@ -10319,346 +11084,319 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:856
+#: builtin/commit.c:869
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:864
+#: builtin/commit.c:877
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:871
+#: builtin/commit.c:884
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:889
+#: builtin/commit.c:902
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:956
+#: builtin/commit.c:969
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:970 builtin/tag.c:258
+#: builtin/commit.c:983 builtin/tag.c:269
 #, 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:1014
+#: builtin/commit.c:1027
 #, 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:1028
+#: builtin/commit.c:1041
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1042 builtin/commit.c:1279
+#: builtin/commit.c:1059 builtin/commit.c:1284
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1080
+#: builtin/commit.c:1097
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1113
+#: builtin/commit.c:1130
 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:1122
+#: builtin/commit.c:1139
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1125
+#: builtin/commit.c:1142
 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:1127
+#: builtin/commit.c:1144
 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:1130
+#: builtin/commit.c:1147
 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:1140
+#: builtin/commit.c:1157
 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:1142
+#: builtin/commit.c:1159
 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:1150
+#: builtin/commit.c:1167
 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:1167
+#: builtin/commit.c:1184
 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:1169
+#: builtin/commit.c:1186
 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:1183 builtin/tag.c:546
+#: builtin/commit.c:1192
 #, c-format
 #, c-format
-msgid "Invalid cleanup mode %s"
-msgstr "无效的清理模式 %s"
-
-#: builtin/commit.c:1188
-msgid "Paths with -a does not make sense."
-msgstr "路径和 -a 选项同时使用没有意义。"
+msgid "paths '%s ...' with -a does not make sense"
+msgstr "路径  '%s ...' 和 -a 选项同时使用没有意义"
 
 
-#: builtin/commit.c:1314 builtin/commit.c:1498
+#: builtin/commit.c:1319 builtin/commit.c:1503
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1316 builtin/commit.c:1500
+#: builtin/commit.c:1321 builtin/commit.c:1505
 msgid "show branch information"
 msgstr "显示分支信息"
 
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1318
+#: builtin/commit.c:1323
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1320 builtin/commit.c:1502
+#: builtin/commit.c:1325 builtin/commit.c:1507
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1322
+#: builtin/commit.c:1327
 msgid "version"
 msgstr "版本"
 
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1322 builtin/commit.c:1504 builtin/push.c:561
-#: builtin/worktree.c:640
+#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
+#: builtin/worktree.c:643
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1325 builtin/commit.c:1506
+#: builtin/commit.c:1330 builtin/commit.c:1511
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1328 builtin/commit.c:1509
+#: builtin/commit.c:1333 builtin/commit.c:1514
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1330 builtin/commit.c:1334 builtin/commit.c:1512
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1118
-#: builtin/tag.c:400
+#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
+#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
+#: parse-options.h:331
 msgid "mode"
 msgstr "模式"
 
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1331 builtin/commit.c:1512
+#: builtin/commit.c:1336 builtin/commit.c:1517
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1335
+#: builtin/commit.c:1340
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1337 parse-options.h:164
+#: builtin/commit.c:1342 parse-options.h:179
 msgid "when"
 msgstr "何时"
 
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1338
+#: builtin/commit.c:1343
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1345
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1341
+#: builtin/commit.c:1346
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
 msgid "do not detect renames"
 msgstr "不检测重命名"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1348
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
 msgid "detect renames, optionally set similarity index"
 msgstr "检测重命名,可以设置索引相似度"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1368
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1468
+#: builtin/commit.c:1473
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1469
+#: builtin/commit.c:1474
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1471
+#: builtin/commit.c:1476
 msgid "Commit message options"
 msgstr "提交说明选项"
 
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1472 builtin/merge.c:264 builtin/tag.c:397
+#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "author"
 msgstr "作者"
 
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1473
+#: builtin/commit.c:1478
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1474 builtin/gc.c:518
+#: builtin/commit.c:1479 builtin/gc.c:539
 msgid "date"
 msgstr "日期"
 
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1479
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1475 builtin/merge.c:260 builtin/notes.c:409
-#: builtin/notes.c:575 builtin/tag.c:395
-msgid "message"
-msgstr "说明"
-
-#: builtin/commit.c:1475
-msgid "commit message"
-msgstr "提交说明"
-
-#: builtin/commit.c:1476 builtin/commit.c:1477 builtin/commit.c:1478
-#: builtin/commit.c:1479 parse-options.h:278 ref-filter.h:92
+#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
+#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
 msgid "commit"
 msgstr "提交"
 
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1476
+#: builtin/commit.c:1481
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1482
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1483
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1484
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1480
+#: builtin/commit.c:1485
 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:1481 builtin/log.c:1533 builtin/merge.c:277
-#: builtin/pull.c:156 builtin/revert.c:107
+#: builtin/commit.c:1486 builtin/log.c:1541 builtin/merge.c:285
+#: builtin/pull.c:162 builtin/revert.c:109
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1482
+#: builtin/commit.c:1487
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1488
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
-#  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1484
-msgid "default"
-msgstr "default"
-
-#: builtin/commit.c:1484 builtin/tag.c:401
-msgid "how to strip spaces and #comments from message"
-msgstr "设置如何删除提交说明里的空格和#注释"
-
-#: builtin/commit.c:1485
+#: builtin/commit.c:1490
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1487 builtin/merge.c:275 builtin/pull.c:186
-#: builtin/revert.c:115
-msgid "GPG sign commit"
-msgstr "GPG 提交签名"
-
-#: builtin/commit.c:1490
+#: builtin/commit.c:1495
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1496
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1497
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1498
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1499
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1495
+#: builtin/commit.c:1500
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1501
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1502
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1515
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1511
+#: builtin/commit.c:1516
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1521
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1523
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1596
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1603
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1622
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1629
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1634
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
@@ -10692,34 +11430,39 @@ msgstr ""
 "git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
 "git commit-graph write [--object-dir <对象目录>] [--append] [--reachable|--"
 "stdin-packs|--stdin-commits]"
 
-#: builtin/commit-graph.c:48 builtin/commit-graph.c:78
-#: builtin/commit-graph.c:132 builtin/commit-graph.c:190 builtin/fetch.c:153
-#: builtin/log.c:1553
+#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
+#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
+#: builtin/log.c:1561
 msgid "dir"
 msgstr "目录"
 
 msgid "dir"
 msgstr "目录"
 
-#: builtin/commit-graph.c:49 builtin/commit-graph.c:79
-#: builtin/commit-graph.c:133 builtin/commit-graph.c:191
+#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
+#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
 msgid "The object directory to store the graph"
 msgstr "保存图形的对象目录"
 
-#: builtin/commit-graph.c:135
+#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#, c-format
+msgid "Could not open commit-graph '%s'"
+msgstr "无法打开提交图形 '%s'"
+
+#: builtin/commit-graph.c:150
 msgid "start walk at all refs"
 msgstr "开始遍历所有引用"
 
 msgid "start walk at all refs"
 msgstr "开始遍历所有引用"
 
-#: builtin/commit-graph.c:137
+#: builtin/commit-graph.c:152
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "从标准输入中的包索引文件列表中扫描提交"
 
-#: builtin/commit-graph.c:139
+#: builtin/commit-graph.c:154
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
 msgid "start walk at commits listed by stdin"
 msgstr "从标准输入中的提交开始扫描"
 
-#: builtin/commit-graph.c:141
+#: builtin/commit-graph.c:156
 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:150
+#: builtin/commit-graph.c:165
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs"
 
@@ -11118,7 +11861,7 @@ msgstr ""
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
 msgid "describe %s\n"
 msgstr "描述 %s\n"
 
-#: builtin/describe.c:513 builtin/log.c:516
+#: builtin/describe.c:513
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -11168,7 +11911,7 @@ msgstr "只考虑匹配 <模式> 的标签"
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:551 builtin/name-rev.c:424
+#: builtin/describe.c:551 builtin/name-rev.c:426
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -11210,50 +11953,50 @@ msgstr "'%s':不是一个正规文件或符号链接"
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:364
+#: builtin/diff.c:350
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:408
+#: builtin/diff.c:394
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:417
+#: builtin/diff.c:403
 #, 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:422
+#: builtin/diff.c:408
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
-#: builtin/difftool.c:31
+#: 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:261
+#: builtin/difftool.c:253
 #, c-format
 msgid "failed: %d"
 msgstr "失败:%d"
 
 #, c-format
 msgid "failed: %d"
 msgstr "失败:%d"
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:295
 #, c-format
 msgid "could not read symlink %s"
 msgstr "无法读取符号链接 %s"
 
 #, c-format
 msgid "could not read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:297
 #, 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:313
+#: builtin/difftool.c:305
 #, 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:414
+#: builtin/difftool.c:406
 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')."
@@ -11261,67 +12004,83 @@ msgstr ""
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
-#: builtin/difftool.c:634
+#: builtin/difftool.c:626
 #, 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:636
+#: builtin/difftool.c:628
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:639
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
-#: builtin/difftool.c:648
+#: builtin/difftool.c:640
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
-#: builtin/difftool.c:697
+#: builtin/difftool.c:689
 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:699
+#: builtin/difftool.c:691
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
-#: builtin/difftool.c:701
+#: builtin/difftool.c:693
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:698
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:699
 msgid "tool"
 msgstr "工具"
 
 msgid "tool"
 msgstr "工具"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:700
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:702
 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:713
+#: builtin/difftool.c:705
 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:716
+#: builtin/difftool.c:708
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:709
+msgid "passed to `diff`"
+msgstr "传递给 `diff`"
+
+#: builtin/difftool.c:724
+msgid "difftool requires worktree or --no-index"
+msgstr "difftool 要求工作区或者 --no-index"
+
+#: builtin/difftool.c:731
+msgid "--dir-diff is incompatible with --no-index"
+msgstr "--dir-diff 和 --no-index 不兼容"
+
+#: builtin/difftool.c:734
+msgid "--gui, --tool and --extcmd are mutually exclusive"
+msgstr "--gui、--tool 和 --extcmd 互斥"
+
+#: builtin/difftool.c:742
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:747
+#: builtin/difftool.c:749
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
@@ -11365,7 +12124,7 @@ msgstr "使用 done 功能来终止流"
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1102 builtin/log.c:1601
+#: builtin/fast-export.c:1102 builtin/log.c:1609
 msgid "refspec"
 msgstr "引用规格"
 
 msgid "refspec"
 msgstr "引用规格"
 
@@ -11379,11 +12138,11 @@ msgstr "匿名输出"
 
 #: builtin/fast-export.c:1106
 msgid "Reference parents which are not in fast-export stream by object id"
 
 #: builtin/fast-export.c:1106
 msgid "Reference parents which are not in fast-export stream by object id"
-msgstr "引用父对象ID不在 fast-export 流中"
+msgstr "引用父对象 ID 不在 fast-export 流中"
 
 #: builtin/fast-export.c:1108
 msgid "Show original object ids of blobs/commits"
 
 #: builtin/fast-export.c:1108
 msgid "Show original object ids of blobs/commits"
-msgstr "显示数据对象/提交的原始对象ID"
+msgstr "显示数据对象/提交的原始对象 ID"
 
 #: builtin/fetch.c:28
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 
 #: builtin/fetch.c:28
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
@@ -11401,15 +12160,15 @@ msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:115 builtin/pull.c:195
+#: builtin/fetch.c:115 builtin/pull.c:202
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:117 builtin/pull.c:198
+#: builtin/fetch.c:117 builtin/pull.c:205
 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:119 builtin/pull.c:201
+#: builtin/fetch.c:119 builtin/pull.c:208
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
@@ -11421,7 +12180,7 @@ msgstr "强制覆盖本地引用"
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:124 builtin/pull.c:205
+#: builtin/fetch.c:124 builtin/pull.c:212
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
@@ -11433,7 +12192,7 @@ msgstr "不抓取任何标签(--no-tags)"
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:130 builtin/pull.c:208
+#: builtin/fetch.c:130 builtin/pull.c:215
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
@@ -11442,7 +12201,7 @@ msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:133
+#: builtin/fetch.c:133 builtin/fetch.c:156 builtin/pull.c:139
 msgid "on-demand"
 msgstr "on-demand"
 
 msgid "on-demand"
 msgstr "on-demand"
 
@@ -11450,7 +12209,7 @@ msgstr "on-demand"
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:138 builtin/pull.c:216
+#: builtin/fetch.c:138 builtin/pull.c:223
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
@@ -11458,7 +12217,7 @@ msgstr "保持下载包"
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:219
+#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
@@ -11466,7 +12225,7 @@ msgstr "深化浅克隆的历史"
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:151 builtin/pull.c:222
+#: builtin/fetch.c:151 builtin/pull.c:229
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
@@ -11480,28 +12239,18 @@ msgid ""
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:161 builtin/pull.c:225
+#: builtin/fetch.c:161 builtin/pull.c:232
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/fetch.c:162 builtin/pull.c:234
 msgid "refmap"
 msgstr "引用映射"
 
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:163 builtin/pull.c:228
+#: builtin/fetch.c:163 builtin/pull.c:235
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:172
-msgid "server-specific"
-msgstr "server-specific"
-
-#: builtin/fetch.c:164 builtin/ls-remote.c:77 builtin/push.c:585
-#: builtin/send-pack.c:173
-msgid "option to transmit"
-msgstr "传输选项"
-
 #: builtin/fetch.c:170
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
 #: builtin/fetch.c:170
 msgid "report that we have only objects reachable from this object"
 msgstr "报告我们只拥有从该对象开始可达的对象"
@@ -11650,40 +12399,40 @@ msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1592
+#: builtin/fetch.c:1594
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1596
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1599
+#: builtin/fetch.c:1601
 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:1601
+#: builtin/fetch.c:1603
 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:1617
+#: builtin/fetch.c:1619
 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:1619
+#: builtin/fetch.c:1621
 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:1628
+#: builtin/fetch.c:1630
 #, 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:1635
+#: builtin/fetch.c:1637
 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/fetch.c:1651
+#: builtin/fetch.c:1653
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -11750,27 +12499,27 @@ 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:424
+#: builtin/for-each-ref.c:39 builtin/tag.c:433
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
-#: builtin/for-each-ref.c:43
+#: builtin/for-each-ref.c:42
 msgid "print only refs which points at the given object"
 msgstr "只打印指向给定对象的引用"
 
 msgid "print only refs which points at the given object"
 msgstr "只打印指向给定对象的引用"
 
-#: builtin/for-each-ref.c:45
+#: builtin/for-each-ref.c:44
 msgid "print only refs that are merged"
 msgstr "只打印已经合并的引用"
 
 msgid "print only refs that are merged"
 msgstr "只打印已经合并的引用"
 
-#: builtin/for-each-ref.c:46
+#: builtin/for-each-ref.c:45
 msgid "print only refs that are not merged"
 msgstr "只打印没有合并的引用"
 
 msgid "print only refs that are not merged"
 msgstr "只打印没有合并的引用"
 
-#: builtin/for-each-ref.c:47
+#: builtin/for-each-ref.c:46
 msgid "print only refs which contain the commit"
 msgstr "只打印包含该提交的引用"
 
 msgid "print only refs which contain the commit"
 msgstr "只打印包含该提交的引用"
 
-#: builtin/for-each-ref.c:48
+#: builtin/for-each-ref.c:47
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
@@ -11808,211 +12557,211 @@ msgstr ""
 "损坏的链接来自于 %7s %s\n"
 "              到 %7s %s"
 
 "损坏的链接来自于 %7s %s\n"
 "              到 %7s %s"
 
-#: builtin/fsck.c:253
+#: builtin/fsck.c:295
 #, c-format
 msgid "missing %s %s"
 msgstr "缺失 %s %s"
 
 #, c-format
 msgid "missing %s %s"
 msgstr "缺失 %s %s"
 
-#: builtin/fsck.c:279
+#: builtin/fsck.c:321
 #, c-format
 msgid "unreachable %s %s"
 #, c-format
 msgid "unreachable %s %s"
-msgstr "ä¸\8då\8f¯è®¿é\97® %s %s"
+msgstr "ä¸\8då\8f¯è¾¾ %s %s"
 
 
-#: builtin/fsck.c:298
+#: builtin/fsck.c:340
 #, c-format
 msgid "dangling %s %s"
 msgstr "悬空 %s %s"
 
 #, c-format
 msgid "dangling %s %s"
 msgstr "悬空 %s %s"
 
-#: builtin/fsck.c:307
+#: builtin/fsck.c:349
 msgid "could not create lost-found"
 msgstr "不能创建 lost-found"
 
 msgid "could not create lost-found"
 msgstr "不能创建 lost-found"
 
-#: builtin/fsck.c:318
+#: builtin/fsck.c:360
 #, c-format
 msgid "could not finish '%s'"
 msgstr "不能完成 '%s'"
 
 #, c-format
 msgid "could not finish '%s'"
 msgstr "不能完成 '%s'"
 
-#: builtin/fsck.c:335
+#: builtin/fsck.c:377
 #, c-format
 msgid "Checking %s"
 msgstr "正在检查 %s"
 
 #, c-format
 msgid "Checking %s"
 msgstr "正在检查 %s"
 
-#: builtin/fsck.c:353
+#: builtin/fsck.c:415
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "正在检查连通性(%d 个对象)"
 
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "正在检查连通性(%d 个对象)"
 
-#: builtin/fsck.c:372
+#: builtin/fsck.c:434
 #, c-format
 msgid "Checking %s %s"
 msgstr "正在检查 %s %s"
 
 #, c-format
 msgid "Checking %s %s"
 msgstr "正在检查 %s %s"
 
-#: builtin/fsck.c:376
+#: builtin/fsck.c:438
 msgid "broken links"
 msgstr "损坏的链接"
 
 msgid "broken links"
 msgstr "损坏的链接"
 
-#: builtin/fsck.c:385
+#: builtin/fsck.c:447
 #, c-format
 msgid "root %s"
 msgstr "根 %s"
 
 #, c-format
 msgid "root %s"
 msgstr "根 %s"
 
-#: builtin/fsck.c:393
+#: builtin/fsck.c:455
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "标记 %s %s (%s) 于 %s"
 
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "标记 %s %s (%s) 于 %s"
 
-#: builtin/fsck.c:422
+#: builtin/fsck.c:484
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s:对象损坏或丢失"
 
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s:对象损坏或丢失"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:509
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s:无效的引用日志条目 %s"
 
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s:无效的引用日志条目 %s"
 
-#: builtin/fsck.c:461
+#: builtin/fsck.c:523
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "正在检查引用日志 %s->%s"
 
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "正在检查引用日志 %s->%s"
 
-#: builtin/fsck.c:495
+#: builtin/fsck.c:557
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s:无效的 sha1 指针 %s"
 
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s:无效的 sha1 指针 %s"
 
-#: builtin/fsck.c:502
+#: builtin/fsck.c:564
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s:不是一个提交"
 
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s:不是一个提交"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:619
 msgid "notice: No default references"
 msgstr "注意:无默认引用"
 
 msgid "notice: No default references"
 msgstr "注意:无默认引用"
 
-#: builtin/fsck.c:572
+#: builtin/fsck.c:634
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s:对象损坏或丢失:%s"
 
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s:对象损坏或丢失:%s"
 
-#: builtin/fsck.c:585
+#: builtin/fsck.c:647
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s:不能解析对象:%s"
 
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s:不能解析对象:%s"
 
-#: builtin/fsck.c:605
+#: builtin/fsck.c:667
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "坏的 sha1 文件:%s"
 
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "坏的 sha1 文件:%s"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:682
 msgid "Checking object directory"
 msgstr "正在检查对象目录"
 
 msgid "Checking object directory"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:685
 msgid "Checking object directories"
 msgstr "正在检查对象目录"
 
 msgid "Checking object directories"
 msgstr "正在检查对象目录"
 
-#: builtin/fsck.c:638
+#: builtin/fsck.c:700
 #, c-format
 msgid "Checking %s link"
 msgstr "正在检查 %s 链接"
 
 #, c-format
 msgid "Checking %s link"
 msgstr "正在检查 %s 链接"
 
-#: builtin/fsck.c:643 builtin/index-pack.c:833
+#: builtin/fsck.c:705 builtin/index-pack.c:841
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/fsck.c:650
+#: builtin/fsck.c:712
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s 指向奇怪的东西(%s)"
 
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s 指向奇怪的东西(%s)"
 
-#: builtin/fsck.c:656
+#: builtin/fsck.c:718
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s:分离头指针的指向不存在"
 
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s:分离头指针的指向不存在"
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:722
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "注意:%s 指向一个尚未诞生的分支(%s)"
 
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "注意:%s 指向一个尚未诞生的分支(%s)"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:734
 msgid "Checking cache tree"
 msgstr "正在检查缓存树"
 
 msgid "Checking cache tree"
 msgstr "正在检查缓存树"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:739
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s:cache-tree 中无效的 sha1 指针"
 
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s:cache-tree 中无效的 sha1 指针"
 
-#: builtin/fsck.c:688
+#: builtin/fsck.c:750
 msgid "non-tree in cache-tree"
 msgstr "cache-tree 中非树对象"
 
 msgid "non-tree in cache-tree"
 msgstr "cache-tree 中非树对象"
 
-#: builtin/fsck.c:719
+#: builtin/fsck.c:781
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:725
+#: builtin/fsck.c:787
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:726
+#: builtin/fsck.c:788
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
 msgid "show dangling objects"
 msgstr "显示悬空的对象"
 
-#: builtin/fsck.c:727
+#: builtin/fsck.c:789
 msgid "report tags"
 msgstr "报告标签"
 
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:728
+#: builtin/fsck.c:790
 msgid "report root nodes"
 msgstr "报告根节点"
 
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:729
+#: builtin/fsck.c:791
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:730
+#: builtin/fsck.c:792
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:731
+#: builtin/fsck.c:793
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:732
+#: builtin/fsck.c:794
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:733
+#: builtin/fsck.c:795
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:735
+#: builtin/fsck.c:797
 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:736 builtin/prune.c:110
+#: builtin/fsck.c:798 builtin/prune.c:132
 msgid "show progress"
 msgstr "显示进度"
 
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:737
+#: builtin/fsck.c:799
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:859 builtin/index-pack.c:224
 msgid "Checking objects"
 msgstr "正在检查对象"
 
 msgid "Checking objects"
 msgstr "正在检查对象"
 
-#: builtin/fsck.c:825
+#: builtin/fsck.c:887
 #, c-format
 msgid "%s: object missing"
 msgstr "%s:对象缺失"
 
 #, c-format
 msgid "%s: object missing"
 msgstr "%s:对象缺失"
 
-#: builtin/fsck.c:837
+#: builtin/fsck.c:899
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "无效的参数:期望 sha1,得到 '%s'"
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "无效的参数:期望 sha1,得到 '%s'"
@@ -12026,17 +12775,22 @@ msgstr "git gc [<选项>]"
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
-#: builtin/gc.c:461 builtin/init-db.c:55
+#: builtin/gc.c:126
+#, c-format
+msgid "failed to parse '%s' value '%s'"
+msgstr "无法解析 '%s' 值 '%s'"
+
+#: builtin/gc.c:476 builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/gc.c:470 builtin/notes.c:240 builtin/tag.c:510
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/gc.c:477
+#: builtin/gc.c:492
 #, 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"
@@ -12050,59 +12804,59 @@ msgstr ""
 "\n"
 "%s"
 
 "\n"
 "%s"
 
-#: builtin/gc.c:519
+#: builtin/gc.c:540
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:521
+#: builtin/gc.c:542
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:522
+#: builtin/gc.c:543
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:525
+#: builtin/gc.c:546
 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:528
+#: builtin/gc.c:549
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
 msgid "repack all other packs except the largest pack"
 msgstr "除了最大的包之外,对所有其它包文件重新打包"
 
-#: builtin/gc.c:545
+#: builtin/gc.c:566
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "解析 gc.logexpiry 的值 %s 失败"
 
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "解析 gc.logexpiry 的值 %s 失败"
 
-#: builtin/gc.c:556
+#: builtin/gc.c:577
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "解析清除期限值 %s 失败"
 
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "解析清除期限值 %s 失败"
 
-#: builtin/gc.c:576
+#: builtin/gc.c:597
 #, 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:578
+#: builtin/gc.c:599
 #, 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:579
+#: builtin/gc.c:600
 #, 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:619
+#: builtin/gc.c:640
 #, 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:672
+#: builtin/gc.c:693
 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' 删除它们。"
@@ -12125,8 +12879,8 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1506 builtin/index-pack.c:1697
-#: builtin/pack-objects.c:2717
+#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
+#: builtin/pack-objects.c:2720
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
@@ -12352,11 +13106,11 @@ msgstr "不能解析版本:%s"
 msgid "invalid option combination, ignoring --threads"
 msgstr "无效的选项组合,忽略 --threads"
 
 msgid "invalid option combination, ignoring --threads"
 msgstr "无效的选项组合,忽略 --threads"
 
-#: builtin/grep.c:1066 builtin/pack-objects.c:3400
+#: builtin/grep.c:1066 builtin/pack-objects.c:3403
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1503 builtin/pack-objects.c:2714
+#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
@@ -12458,30 +13212,30 @@ msgstr "打印命令描述"
 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:73
+#: builtin/help.c:77
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:100
+#: builtin/help.c:104
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:113
+#: builtin/help.c:117
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:121
+#: builtin/help.c:125
 #, 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:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
+#: builtin/help.c:143 builtin/help.c:165 builtin/help.c:175 builtin/help.c:183
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "执行 '%s' 失败"
 
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "执行 '%s' 失败"
 
-#: builtin/help.c:217
+#: builtin/help.c:221
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -12490,7 +13244,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:229
+#: builtin/help.c:233
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -12499,35 +13253,35 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:346
+#: builtin/help.c:350
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:363
+#: builtin/help.c:367
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:371
+#: builtin/help.c:375
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:430 builtin/help.c:441 git.c:323
+#: builtin/help.c:434 builtin/help.c:445 git.c:335
 #, 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:444 git.c:347
+#: builtin/help.c:448 git.c:364
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "坏的 alias.%s 字符串:%s"
 
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "坏的 alias.%s 字符串:%s"
 
-#: builtin/help.c:473 builtin/help.c:503
+#: builtin/help.c:477 builtin/help.c:507
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/help.c:487
+#: builtin/help.c:491
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
 msgid "'git help config' for more information"
 msgstr "'git help config' 获取更多信息"
 
@@ -12546,275 +13300,275 @@ msgstr "未能获取预期的对象 %s"
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
-#: builtin/index-pack.c:249
+#: builtin/index-pack.c:257
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:259
+#: builtin/index-pack.c:267
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:260
+#: builtin/index-pack.c:268
 msgid "read error on input"
 msgstr "输入上的读错误"
 
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:272
+#: builtin/index-pack.c:280
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:279 builtin/pack-objects.c:599
+#: builtin/index-pack.c:287 builtin/pack-objects.c:600
 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:282 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:290 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
-#: builtin/index-pack.c:297 builtin/repack.c:250
+#: builtin/index-pack.c:305 builtin/repack.c:250
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:311
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:325
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:319
+#: builtin/index-pack.c:327
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:337
+#: builtin/index-pack.c:345
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:457
+#: builtin/index-pack.c:465
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:506
+#: builtin/index-pack.c:514
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:522
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:522
+#: builtin/index-pack.c:530
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:553
+#: builtin/index-pack.c:561
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:555
+#: builtin/index-pack.c:563
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
-#: builtin/index-pack.c:581
+#: builtin/index-pack.c:589
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:726 builtin/index-pack.c:732 builtin/index-pack.c:755
-#: builtin/index-pack.c:794 builtin/index-pack.c:803
+#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
+#: builtin/index-pack.c:802 builtin/index-pack.c:811
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:729 builtin/pack-objects.c:152
-#: builtin/pack-objects.c:212 builtin/pack-objects.c:306
+#: builtin/index-pack.c:737 builtin/pack-objects.c:153
+#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:792
+#: builtin/index-pack.c:800
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:808
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:822
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:817 builtin/index-pack.c:836
+#: builtin/index-pack.c:825 builtin/index-pack.c:844
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
 msgid "fsck error in packed object"
 msgstr "对打包对象 fsck 检查出错"
 
-#: builtin/index-pack.c:838
+#: builtin/index-pack.c:846
 #, 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:910 builtin/index-pack.c:941
+#: builtin/index-pack.c:918 builtin/index-pack.c:949
 msgid "failed to apply delta"
 msgstr "应用 delta 失败"
 
 msgid "failed to apply delta"
 msgstr "应用 delta 失败"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Receiving objects"
 msgstr "接收对象中"
 
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1109
+#: builtin/index-pack.c:1117
 msgid "Indexing objects"
 msgstr "索引对象中"
 
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1143
+#: builtin/index-pack.c:1151
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1148
+#: builtin/index-pack.c:1156
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1159
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1171
 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:1186
+#: builtin/index-pack.c:1194
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1196 builtin/pack-objects.c:2486
+#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1237
+#: builtin/index-pack.c:1245
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1243
+#: builtin/index-pack.c:1251
 #, 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:1255
+#: builtin/index-pack.c:1263
 #, 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:1259
+#: builtin/index-pack.c:1267
 #, 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:1283
+#: builtin/index-pack.c:1291
 #, 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:1360
+#: builtin/index-pack.c:1368
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1382
 #, 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:1399
+#: builtin/index-pack.c:1407
 #, 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:1407
+#: builtin/index-pack.c:1415
 #, 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:1431
+#: builtin/index-pack.c:1439
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1445
+#: builtin/index-pack.c:1453
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1461
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1497 builtin/pack-objects.c:2725
+#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
 #, 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:1565
+#: builtin/index-pack.c:1573
 #, 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:1567
+#: builtin/index-pack.c:1575
 #, 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:1615
+#: builtin/index-pack.c:1623
 #, 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:1622
+#: builtin/index-pack.c:1630
 #, 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:1659
+#: builtin/index-pack.c:1667
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1708 builtin/index-pack.c:1711
-#: builtin/index-pack.c:1727 builtin/index-pack.c:1731
+#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
+#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1747
+#: builtin/index-pack.c:1755
 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:1749
+#: builtin/index-pack.c:1757
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1763
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/index-pack.c:1803 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1811 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
 msgid "fsck error in pack objects"
 msgstr "在打包对象中 fsck 检查出错"
 
@@ -12858,42 +13612,42 @@ msgstr "没有在 %s 中找到模版"
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
-#: builtin/init-db.c:329
+#: builtin/init-db.c:334
 #, 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:332
+#: builtin/init-db.c:337
 #, 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:349 builtin/init-db.c:352
+#: builtin/init-db.c:354 builtin/init-db.c:357
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
-#: builtin/init-db.c:405
+#: builtin/init-db.c:413
 #, 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:406
+#: builtin/init-db.c:414
 #, 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:410
+#: builtin/init-db.c:418
 #, 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:411
+#: builtin/init-db.c:419
 #, 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:460
+#: builtin/init-db.c:468
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -12901,32 +13655,32 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:483
+#: builtin/init-db.c:491
 msgid "permissions"
 msgstr "权限"
 
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:484
+#: builtin/init-db.c:492
 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:518 builtin/init-db.c:523
+#: builtin/init-db.c:526 builtin/init-db.c:531
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:527
+#: builtin/init-db.c:535
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:548
+#: builtin/init-db.c:556
 #, 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:576
+#: builtin/init-db.c:584
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
@@ -13003,391 +13757,387 @@ msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:100
+#: builtin/log.c:104
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:163
-msgid "suppress diff output"
-msgstr "不显示差异输出"
-
-#: builtin/log.c:164
+#: builtin/log.c:168
 msgid "show source"
 msgstr "显示源"
 
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:165
+#: builtin/log.c:169
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:167
+#: builtin/log.c:171
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
 msgid "only decorate refs that match <pattern>"
 msgstr "只修饰与 <模式> 匹配的引用"
 
-#: builtin/log.c:169
+#: builtin/log.c:173
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
 msgid "do not decorate refs that match <pattern>"
 msgstr "不修饰和 <模式> 匹配的引用"
 
-#: builtin/log.c:170
+#: builtin/log.c:174
 msgid "decorate options"
 msgstr "修饰选项"
 
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:173
+#: builtin/log.c:177
 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:271
+#: builtin/log.c:275
 #, 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:525
+#: builtin/log.c:529
 #, 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:540 builtin/log.c:634
+#: builtin/log.c:544 builtin/log.c:638
 #, c-format
 #, c-format
-msgid "Could not read object %s"
+msgid "could not read object %s"
 msgstr "不能读取对象 %s"
 
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:659
+#: builtin/log.c:663
 #, c-format
 #, c-format
-msgid "Unknown type: %d"
+msgid "unknown type: %d"
 msgstr "未知类型:%d"
 
 msgstr "未知类型:%d"
 
-#: builtin/log.c:780
+#: builtin/log.c:784
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:881
+#: builtin/log.c:885
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:897
+#: builtin/log.c:901
 #, c-format
 #, c-format
-msgid "Cannot open patch file %s"
+msgid "cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:914
-msgid "Need exactly one range."
-msgstr "只需要一个范围"
+#: builtin/log.c:918
+msgid "need exactly one range"
+msgstr "只需要一个范围"
 
 
-#: builtin/log.c:924
-msgid "Not a range."
-msgstr "不是一个范围"
+#: builtin/log.c:928
+msgid "not a range"
+msgstr "不是一个范围"
 
 
-#: builtin/log.c:1047
-msgid "Cover letter needs email format"
-msgstr "信封需要邮件地址格式"
+#: builtin/log.c:1051
+msgid "cover letter needs email format"
+msgstr "附函需要邮件地址格式"
 
 
-#: builtin/log.c:1132
+#: builtin/log.c:1057
+msgid "failed to create cover-letter file"
+msgstr "无法创建附函文件"
+
+#: builtin/log.c:1136
 #, 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:1159
+#: builtin/log.c:1163
 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:1217
-msgid "Two output directories?"
+#: builtin/log.c:1221
+msgid "two output directories?"
 msgstr "两个输出目录?"
 
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1324 builtin/log.c:2068 builtin/log.c:2070 builtin/log.c:2082
+#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090
 #, c-format
 #, c-format
-msgid "Unknown commit %s"
+msgid "unknown commit %s"
 msgstr "未知提交 %s"
 
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1334 builtin/notes.c:897 builtin/tag.c:526
+#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/replace.c:210
 #, c-format
 #, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr "无法解析 '%s' 为一个有效引用。"
+msgid "failed to resolve '%s' as a valid ref"
+msgstr "无法将 '%s' 解析为一个有效引用"
 
 
-#: builtin/log.c:1339
-msgid "Could not find exact merge base."
-msgstr "不能找到准确的合并基线"
+#: builtin/log.c:1347
+msgid "could not find exact merge base"
+msgstr "不能找到准确的合并基线"
 
 
-#: builtin/log.c:1343
+#: builtin/log.c:1351
 msgid ""
 msgid ""
-"Failed to get upstream, if you want to record base commit automatically,\n"
+"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"
 "please use git branch --set-upstream-to to track a remote branch.\n"
-"Or you could specify base commit by --base=<base-commit-id> manually."
+"Or you could specify base commit by --base=<base-commit-id> manually"
 msgstr ""
 "无法得到上游地址,如果你想自动记录基线提交,请使用命令\n"
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 msgstr ""
 "无法得到上游地址,如果你想自动记录基线提交,请使用命令\n"
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
-"参数 --base=<基线提交> 手动指定一个基线提交"
+"参数 --base=<基线提交> 手动指定一个基线提交"
 
 
-#: builtin/log.c:1363
-msgid "Failed to find exact merge base"
+#: builtin/log.c:1371
+msgid "failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1374
+#: builtin/log.c:1382
 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:1378
+#: builtin/log.c:1386
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1431
+#: builtin/log.c:1439
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1491
 msgid "failed to infer range-diff ranges"
 msgstr "无法推断 range-diff 范围"
 
 msgid "failed to infer range-diff ranges"
 msgstr "无法推断 range-diff 范围"
 
-#: builtin/log.c:1528
+#: builtin/log.c:1536
 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:1531
+#: builtin/log.c:1539
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1535
+#: builtin/log.c:1543
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1537
+#: builtin/log.c:1545
 msgid "generate a cover letter"
 msgid "generate a cover letter"
-msgstr "生成一封附"
+msgstr "生成一封附"
 
 
-#: builtin/log.c:1539
+#: builtin/log.c:1547
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1540
+#: builtin/log.c:1548
 msgid "sfx"
 msgstr "后缀"
 
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1541
+#: builtin/log.c:1549
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1543
+#: builtin/log.c:1551
 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:1545
+#: builtin/log.c:1553
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1547
+#: builtin/log.c:1555
 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:1550
+#: builtin/log.c:1558
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1553
+#: builtin/log.c:1561
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1556
+#: builtin/log.c:1564
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1559
+#: builtin/log.c:1567
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1561
+#: builtin/log.c:1569
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1563
+#: builtin/log.c:1571
 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:1565
+#: builtin/log.c:1573
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1575
 msgid "Messaging"
 msgstr "邮件发送"
 
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1576
 msgid "header"
 msgstr "header"
 
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1577
 msgid "add email header"
 msgstr "添加邮件头"
 
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1570 builtin/log.c:1572
+#: builtin/log.c:1578 builtin/log.c:1580
 msgid "email"
 msgstr "邮件地址"
 
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1578
 msgid "add To: header"
 msgstr "添加收件人"
 
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1580
 msgid "add Cc: header"
 msgstr "添加抄送"
 
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1574
+#: builtin/log.c:1582
 msgid "ident"
 msgstr "标识"
 
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1583
 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:1577
+#: builtin/log.c:1585
 msgid "message-id"
 msgstr "邮件标识"
 
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1586
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1579 builtin/log.c:1582
+#: builtin/log.c:1587 builtin/log.c:1590
 msgid "boundary"
 msgstr "边界"
 
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1580
+#: builtin/log.c:1588
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1583
+#: builtin/log.c:1591
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1595
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1589
+#: builtin/log.c:1597
 msgid "signature"
 msgstr "签名"
 
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1598
 msgid "add a signature"
 msgstr "添加一个签名"
 
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1599
 msgid "base-commit"
 msgstr "基线提交"
 
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1600
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1602
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1603
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1605
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1606
 msgid "rev"
 msgstr "版本"
 
 msgid "rev"
 msgstr "版本"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1607
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <rev> 的差异"
 
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <rev> 的差异"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1610
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <refspec> 的差异"
 
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr "在附函或单个补丁中显示和 <refspec> 的差异"
 
-#: builtin/log.c:1604
+#: builtin/log.c:1612
 msgid "percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
 msgid "percentage by which creation is weighted"
 msgstr "创建权重的百分比"
 
-#: builtin/log.c:1679
+#: builtin/log.c:1687
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1694
+#: builtin/log.c:1702
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
 msgid "-n and -k are mutually exclusive"
 msgstr "-n 和 -k 互斥"
 
-#: builtin/log.c:1696
+#: builtin/log.c:1704
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc 和 -k 互斥"
 
-#: builtin/log.c:1704
+#: builtin/log.c:1712
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1706
+#: builtin/log.c:1714
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1708
+#: builtin/log.c:1716
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1740
+#: builtin/log.c:1748
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1742
-#, c-format
-msgid "Could not create directory '%s'"
-msgstr "不能创建目录 '%s'"
-
-#: builtin/log.c:1829
+#: builtin/log.c:1837
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff 需要 --cover-letter 或单一补丁"
 
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:1833
+#: builtin/log.c:1841
 msgid "Interdiff:"
 msgstr "版本间差异:"
 
 msgid "Interdiff:"
 msgstr "版本间差异:"
 
-#: builtin/log.c:1834
+#: builtin/log.c:1842
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "对 v%d 的版本差异:"
 
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "对 v%d 的版本差异:"
 
-#: builtin/log.c:1840
+#: builtin/log.c:1848
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor 需要 --range-diff"
 
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor 需要 --range-diff"
 
-#: builtin/log.c:1844
+#: builtin/log.c:1852
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff 需要 --cover-letter 或单一补丁"
 
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff 需要 --cover-letter 或单一补丁"
 
-#: builtin/log.c:1852
+#: builtin/log.c:1860
 msgid "Range-diff:"
 msgstr "范围差异:"
 
 msgid "Range-diff:"
 msgstr "范围差异:"
 
-#: builtin/log.c:1853
+#: builtin/log.c:1861
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "对 v%d 的范围差异:"
 
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "对 v%d 的范围差异:"
 
-#: builtin/log.c:1864
+#: builtin/log.c:1872
 #, 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:1900
+#: builtin/log.c:1908
 msgid "Generating patches"
 msgstr "生成补丁"
 
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:1944
-msgid "Failed to create output files"
+#: builtin/log.c:1952
+msgid "failed to create output files"
 msgstr "无法创建输出文件"
 
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:2003
+#: builtin/log.c:2011
 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:2057
+#: builtin/log.c:2065
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -13511,7 +14261,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1111
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458
 msgid "exec"
 msgstr "exec"
 
 msgid "exec"
 msgstr "exec"
 
@@ -13535,11 +14285,11 @@ msgstr "不显示已解析的标签"
 msgid "take url.<base>.insteadOf into account"
 msgstr "参考 url.<base>.insteadOf 设置"
 
 msgid "take url.<base>.insteadOf into account"
 msgstr "参考 url.<base>.insteadOf 设置"
 
-#: builtin/ls-remote.c:73
+#: builtin/ls-remote.c:72
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr "若未找到匹配的引用则以退出码2退出"
 
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr "若未找到匹配的引用则以退出码2退出"
 
-#: builtin/ls-remote.c:76
+#: builtin/ls-remote.c:75
 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 "除了显示指向的对象外,显示指向的引用名"
 
@@ -13584,261 +14334,268 @@ msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
 
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
 
-#: builtin/merge.c:53
+#: builtin/merge.c:54
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<选项>] [<提交>...]"
 
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<选项>] [<提交>...]"
 
-#: builtin/merge.c:54
+#: builtin/merge.c:55
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:55
+#: builtin/merge.c:56
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:112
+#: builtin/merge.c:116
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:132
+#: builtin/merge.c:139
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "选项 `%s' 需要一个值"
 
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "选项 `%s' 需要一个值"
 
-#: builtin/merge.c:178
+#: builtin/merge.c:185
 #, 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:179
+#: builtin/merge.c:186
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:184
+#: builtin/merge.c:191
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:235 builtin/pull.c:144
+#: builtin/merge.c:242 builtin/pull.c:150
 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:238 builtin/pull.c:147
+#: builtin/merge.c:245 builtin/pull.c:153
 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:239 builtin/pull.c:150
+#: builtin/merge.c:246 builtin/pull.c:156
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:241 builtin/pull.c:153
+#: builtin/merge.c:248 builtin/pull.c:159
 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:244 builtin/pull.c:159
+#: builtin/merge.c:251 builtin/pull.c:165
 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:246 builtin/pull.c:162
+#: builtin/merge.c:253 builtin/pull.c:168
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:248 builtin/pull.c:165
+#: builtin/merge.c:255 builtin/pull.c:171
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:249
+#: builtin/merge.c:257
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:251 builtin/pull.c:171
+#: builtin/merge.c:259 builtin/pull.c:178
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:255 builtin/pull.c:174
+#: builtin/merge.c:263 builtin/pull.c:181
 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:256 builtin/notes.c:787 builtin/pull.c:178
-#: builtin/rebase.c:1124 builtin/rebase--interactive.c:188 builtin/revert.c:111
+#: builtin/merge.c:264 builtin/notes.c:787 builtin/pull.c:185
+#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113
 msgid "strategy"
 msgstr "策略"
 
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:257 builtin/pull.c:179
+#: builtin/merge.c:265 builtin/pull.c:186
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:258 builtin/pull.c:182
+#: builtin/merge.c:266 builtin/pull.c:189
 msgid "option=value"
 msgstr "option=value"
 
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:259 builtin/pull.c:183
+#: builtin/merge.c:267 builtin/pull.c:190
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:261
+#: builtin/merge.c:269
 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:268
+#: builtin/merge.c:276
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:270
+#: builtin/merge.c:278
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
-#: builtin/merge.c:272 builtin/pull.c:190
+#: builtin/merge.c:280 builtin/pull.c:197
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:286
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
-#: builtin/merge.c:303
+#: builtin/merge.c:311
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
-#: builtin/merge.c:308
+#: builtin/merge.c:316
 msgid "stash failed"
 msgstr "贮藏失败"
 
 msgid "stash failed"
 msgstr "贮藏失败"
 
-#: builtin/merge.c:313
+#: builtin/merge.c:321
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:335 builtin/merge.c:352
+#: builtin/merge.c:343 builtin/merge.c:360
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:382
+#: builtin/merge.c:390
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:393
+#: builtin/merge.c:401
 #, 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:443
+#: builtin/merge.c:451
 #, 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:494
+#: builtin/merge.c:502
 #, 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:581
+#: builtin/merge.c:589
 #, 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:702
+#: builtin/merge.c:712
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:716
+#: builtin/merge.c:726
 #, 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:731
+#: builtin/merge.c:741
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:783
+#: builtin/merge.c:793
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:792
+#: builtin/merge.c:802
 #, 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:798
-#, c-format
+#: builtin/merge.c:808
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
 "\n"
-"Lines starting with '%c' will be ignored, and an empty message aborts\n"
-"the commit.\n"
 msgstr ""
 "请输入一个提交信息以解释此合并的必要性,尤其是将一个更新后的上游分支\n"
 "合并到主题分支。\n"
 "\n"
 msgstr ""
 "请输入一个提交信息以解释此合并的必要性,尤其是将一个更新后的上游分支\n"
 "合并到主题分支。\n"
 "\n"
-"以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
 
-#: builtin/merge.c:834
+#: builtin/merge.c:813
+msgid "An empty message aborts the commit.\n"
+msgstr "空的提交说明会终止提交。\n"
+
+#: builtin/merge.c:816
+#, c-format
+msgid ""
+"Lines starting with '%c' will be ignored, and an empty message aborts\n"
+"the commit.\n"
+msgstr "以 '%c' 开始的行将被忽略,而空的提交说明将终止提交。\n"
+
+#: builtin/merge.c:857
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:853
+#: builtin/merge.c:876
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:936
 #, 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:945
+#: builtin/merge.c:975
 msgid "No current branch."
 msgstr "没有当前分支。"
 
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:947
+#: builtin/merge.c:977
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:949
+#: builtin/merge.c:979
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:954
+#: builtin/merge.c:984
 #, 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:1011
+#: builtin/merge.c:1041
 #, 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:1114
+#: builtin/merge.c:1144
 #, 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:1148
+#: builtin/merge.c:1178
 msgid "not something we can merge"
 msgstr "不能合并"
 
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1281
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1255
+#: builtin/merge.c:1285
 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:1267
+#: builtin/merge.c:1297
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1271
+#: builtin/merge.c:1301
 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:1287
+#: builtin/merge.c:1317
 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."
@@ -13846,7 +14603,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1294
+#: builtin/merge.c:1324
 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."
@@ -13854,92 +14611,92 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1297
+#: builtin/merge.c:1327
 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:1306
+#: builtin/merge.c:1341
 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:1314
+#: builtin/merge.c:1349
 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:1331
+#: builtin/merge.c:1366
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1333
+#: builtin/merge.c:1368
 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:1338
+#: builtin/merge.c:1373
 #, 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:1340
+#: builtin/merge.c:1375
 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:1422
+#: builtin/merge.c:1454
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1431
+#: builtin/merge.c:1463
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1441
+#: builtin/merge.c:1473
 #, 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:1483
+#: builtin/merge.c:1515
 #, 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:1490
+#: builtin/merge.c:1522
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1547
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1521
+#: builtin/merge.c:1553
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1544 builtin/merge.c:1623
+#: builtin/merge.c:1576 builtin/merge.c:1655
 #, 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:1548
+#: builtin/merge.c:1580
 #, 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:1614
+#: builtin/merge.c:1646
 #, 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:1616
+#: builtin/merge.c:1648
 #, 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:1625
+#: builtin/merge.c:1657
 #, 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:1637
+#: builtin/merge.c:1669
 #, 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"
@@ -14071,19 +14828,19 @@ msgstr "允许丢失的对象"
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
-#: builtin/multi-pack-index.c:8
+#: builtin/multi-pack-index.c:9
 msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
 msgstr "git multi-pack-index [--object-dir=<目录>] (write|verify)"
 
 msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
 msgstr "git multi-pack-index [--object-dir=<目录>] (write|verify)"
 
-#: builtin/multi-pack-index.c:21
+#: builtin/multi-pack-index.c:22
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "包含成对包文件和包索引的对象目录"
 
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "包含成对包文件和包索引的对象目录"
 
-#: builtin/multi-pack-index.c:39
+#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr "太多参数"
 
 msgid "too many arguments"
 msgstr "太多参数"
 
-#: builtin/multi-pack-index.c:48
+#: builtin/multi-pack-index.c:51
 #, c-format
 msgid "unrecognized verb: %s"
 msgstr "未能识别的动作:%s"
 #, c-format
 msgid "unrecognized verb: %s"
 msgstr "未能识别的动作:%s"
@@ -14175,7 +14932,7 @@ msgstr "%s,源=%s,目标=%s"
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:513
+#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:516
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -14192,35 +14949,35 @@ msgstr "git name-rev [<选项>] --all"
 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:413
+#: builtin/name-rev.c:415
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:416
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:418
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:420
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
 msgid "ignore refs matching <pattern>"
 msgstr "忽略和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:422
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:421
+#: builtin/name-rev.c:423
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:424
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:428
+#: builtin/name-rev.c:430
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
@@ -14364,7 +15121,7 @@ msgstr "不能写注解对象"
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:242 builtin/tag.c:513
+#: builtin/notes.c:242 builtin/tag.c:522
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -14589,6 +15346,11 @@ msgstr ""
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
 "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
 "交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
+#: builtin/notes.c:897 builtin/tag.c:535
+#, c-format
+msgid "Failed to resolve '%s' as a valid ref."
+msgstr "无法解析 '%s' 为一个有效引用。"
+
 #: builtin/notes.c:900
 #, c-format
 msgid "Object %s has no note\n"
 #: builtin/notes.c:900
 #, c-format
 msgid "Object %s has no note\n"
@@ -14602,7 +15364,7 @@ msgstr "尝试删除不存在的注解不是一个错误"
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:954 builtin/prune.c:108 builtin/worktree.c:165
+#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
@@ -14618,140 +15380,139 @@ msgstr "注解引用"
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1034
+#: builtin/notes.c:1034 builtin/stash.c:1611
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:51
+#: builtin/pack-objects.c:52
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:52
+#: builtin/pack-objects.c:53
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:423
+#: builtin/pack-objects.c:424
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "%s 错的包对象 CRC"
 
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "%s 错的包对象 CRC"
 
-#: builtin/pack-objects.c:434
+#: builtin/pack-objects.c:435
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "%s 损坏的包对象"
 
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "%s 损坏的包对象"
 
-#: builtin/pack-objects.c:565
+#: builtin/pack-objects.c:566
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "发现对象 %s 递归 delta"
 
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "发现对象 %s 递归 delta"
 
-#: builtin/pack-objects.c:776
+#: builtin/pack-objects.c:777
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
 
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "排序了 %u 个对象,预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:789
+#: builtin/pack-objects.c:790
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "无效的包文件:%s"
 
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "无效的包文件:%s"
 
-#: builtin/pack-objects.c:793
+#: builtin/pack-objects.c:794
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "无法为重用打开包文件:%s"
 
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "无法为重用打开包文件:%s"
 
-#: builtin/pack-objects.c:797
+#: builtin/pack-objects.c:798
 msgid "unable to seek in reused packfile"
 msgstr "无法在重用的包文件中查找"
 
 msgid "unable to seek in reused packfile"
 msgstr "无法在重用的包文件中查找"
 
-#: builtin/pack-objects.c:808
+#: builtin/pack-objects.c:809
 msgid "unable to read from reused packfile"
 msgstr "无法读取索引文件"
 
 msgid "unable to read from reused packfile"
 msgstr "无法读取索引文件"
 
-#: builtin/pack-objects.c:836
+#: builtin/pack-objects.c:837
 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:849
+#: builtin/pack-objects.c:850
 msgid "Writing objects"
 msgstr "写入对象中"
 
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:911 builtin/update-index.c:89
+#: builtin/pack-objects.c:912 builtin/update-index.c:89
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
 
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
 
-#: builtin/pack-objects.c:964
+#: builtin/pack-objects.c:965
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "写入 %<PRIu32> 个对象而预期 %<PRIu32> 个"
 
-#: builtin/pack-objects.c:1158
+#: builtin/pack-objects.c:1161
 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:1586
+#: builtin/pack-objects.c:1589
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "%s 压缩中 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1595
+#: builtin/pack-objects.c:1598
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "%s 的 delta 基准偏移越界"
 
-#: builtin/pack-objects.c:1864
+#: builtin/pack-objects.c:1867
 msgid "Counting objects"
 msgstr "对象计数中"
 
 msgid "Counting objects"
 msgstr "对象计数中"
 
-#: builtin/pack-objects.c:1994
+#: builtin/pack-objects.c:1997
 #, 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:2009
+#: builtin/pack-objects.c:2012
 #, 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:2079 builtin/pack-objects.c:2095
-#: builtin/pack-objects.c:2105
+#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2098
+#: builtin/pack-objects.c:2108
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
 #, c-format
 msgid "object %s cannot be read"
 msgstr "对象 %s 无法读取"
 
-#: builtin/pack-objects.c:2082 builtin/pack-objects.c:2109
+#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr "对象 %s 不一致的对象长度(%<PRIuMAX> vs %<PRIuMAX>)"
 
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr "对象 %s 不一致的对象长度(%<PRIuMAX> vs %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2119
+#: builtin/pack-objects.c:2122
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
 msgid "suboptimal pack - out of memory"
 msgstr "次优(suboptimal)打包 - 内存不足"
 
-#: builtin/pack-objects.c:2445
+#: builtin/pack-objects.c:2448
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "使用 %d 个线程进行压缩"
 
-#: builtin/pack-objects.c:2577
+#: builtin/pack-objects.c:2580
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "无法为标签 %s 压缩对象"
 
-#: builtin/pack-objects.c:2664
+#: builtin/pack-objects.c:2667
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2670
+#: builtin/pack-objects.c:2673
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
 msgid "inconsistency with delta count"
 msgstr "不一致的差异计数"
 
-#
-#: builtin/pack-objects.c:2751
+#: builtin/pack-objects.c:2754
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -14760,7 +15521,7 @@ msgstr ""
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
 "预期边界对象(edge object)ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:2757
+#: builtin/pack-objects.c:2760
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -14769,251 +15530,251 @@ msgstr ""
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
 "预期对象 ID,却得到垃圾数据:\n"
 " %s"
 
-#: builtin/pack-objects.c:2855
+#: builtin/pack-objects.c:2858
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
-#: builtin/pack-objects.c:2914 builtin/pack-objects.c:3022
+#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
 msgid "cannot open pack index"
 msgstr "无法打开包文件索引"
 
-#: builtin/pack-objects.c:2945
+#: builtin/pack-objects.c:2948
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "无法检查 %s 处的松散对象"
 
-#: builtin/pack-objects.c:3030
+#: builtin/pack-objects.c:3033
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
 msgid "unable to force loose object"
 msgstr "无法强制松散对象"
 
-#: builtin/pack-objects.c:3122
+#: builtin/pack-objects.c:3125
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
 #, c-format
 msgid "not a rev '%s'"
 msgstr "不是一个版本 '%s'"
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3128
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
 #, c-format
 msgid "bad revision '%s'"
 msgstr "坏的版本 '%s'"
 
-#: builtin/pack-objects.c:3150
+#: builtin/pack-objects.c:3153
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
 msgid "unable to add recent objects"
 msgstr "无法添加最近的对象"
 
-#: builtin/pack-objects.c:3203
+#: builtin/pack-objects.c:3206
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:3207
+#: builtin/pack-objects.c:3210
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:3237
+#: builtin/pack-objects.c:3240
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:3239
+#: builtin/pack-objects.c:3242
 msgid "show progress meter"
 msgstr "显示进度表"
 
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:3241
+#: builtin/pack-objects.c:3244
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:3244
+#: builtin/pack-objects.c:3247
 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:3245
+#: builtin/pack-objects.c:3248
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
 msgid "<version>[,<offset>]"
 msgstr "<版本>[,<偏移>]"
 
-#: builtin/pack-objects.c:3246
+#: builtin/pack-objects.c:3249
 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:3249
+#: builtin/pack-objects.c:3252
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:3251
+#: builtin/pack-objects.c:3254
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:3253
+#: builtin/pack-objects.c:3256
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:3255
+#: builtin/pack-objects.c:3258
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3260
 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:3259
+#: builtin/pack-objects.c:3262
 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:3261
+#: builtin/pack-objects.c:3264
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:3263
+#: builtin/pack-objects.c:3266
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:3265
+#: builtin/pack-objects.c:3268
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:3267
+#: builtin/pack-objects.c:3270
 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:3269
+#: builtin/pack-objects.c:3272
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:3271
+#: builtin/pack-objects.c:3274
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:3273
+#: builtin/pack-objects.c:3276
 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:3276
+#: builtin/pack-objects.c:3279
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3279
+#: builtin/pack-objects.c:3282
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3285
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3285
+#: builtin/pack-objects.c:3288
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3290
 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:3289
+#: builtin/pack-objects.c:3292
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3291
+#: builtin/pack-objects.c:3294
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3296
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3299
 msgid "use the sparse reachability algorithm"
 msgstr "使用稀疏可达性算法"
 
 msgid "use the sparse reachability algorithm"
 msgstr "使用稀疏可达性算法"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3301
 msgid "create thin packs"
 msgstr "创建精简包"
 
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3300
+#: builtin/pack-objects.c:3303
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3305
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3307
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
 msgid "ignore this pack"
 msgstr "忽略该 pack"
 
-#: builtin/pack-objects.c:3306
+#: builtin/pack-objects.c:3309
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3308
+#: builtin/pack-objects.c:3311
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
 msgid "do not hide commits by grafts"
 msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3310
+#: builtin/pack-objects.c:3313
 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:3312
+#: builtin/pack-objects.c:3315
 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:3315
+#: builtin/pack-objects.c:3318
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3318
+#: builtin/pack-objects.c:3321
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3320
+#: builtin/pack-objects.c:3323
 msgid "respect islands during delta compression"
 msgstr "在增量压缩时参考数据岛"
 
 msgid "respect islands during delta compression"
 msgstr "在增量压缩时参考数据岛"
 
-#: builtin/pack-objects.c:3345
+#: builtin/pack-objects.c:3348
 #, 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:3350
+#: builtin/pack-objects.c:3353
 #, 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:3404
+#: builtin/pack-objects.c:3407
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr "不能使用 --max-pack-size 来构建传输用的包文件"
 
-#: builtin/pack-objects.c:3406
+#: builtin/pack-objects.c:3409
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
 msgid "minimum pack size limit is 1 MiB"
 msgstr "最小的包文件大小是 1 MiB"
 
-#: builtin/pack-objects.c:3411
+#: builtin/pack-objects.c:3414
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin 不能用于创建一个可索引包"
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3417
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
 
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable 和 --unpack-unreachable 不兼容"
 
-#: builtin/pack-objects.c:3420
+#: builtin/pack-objects.c:3423
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
 msgid "cannot use --filter without --stdout"
 msgstr "不能在没有 --stdout 的情况下使用 --filter"
 
-#: builtin/pack-objects.c:3479
+#: builtin/pack-objects.c:3484
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
 msgid "Enumerating objects"
 msgstr "枚举对象"
 
-#: builtin/pack-objects.c:3498
+#: builtin/pack-objects.c:3514
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr "总共 %<PRIu32> (差异 %<PRIu32>),复用 %<PRIu32> (差异 %<PRIu32>)"
 
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr "总共 %<PRIu32> (差异 %<PRIu32>),复用 %<PRIu32> (差异 %<PRIu32>)"
 
-#: builtin/pack-refs.c:7
+#: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<选项>]"
 
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<选项>]"
 
-#: builtin/pack-refs.c:15
+#: builtin/pack-refs.c:16
 msgid "pack everything"
 msgstr "打包一切"
 
 msgid "pack everything"
 msgstr "打包一切"
 
-#: builtin/pack-refs.c:16
+#: builtin/pack-refs.c:17
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
@@ -15029,86 +15790,86 @@ msgstr "正在删除重复对象"
 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:109
+#: builtin/prune.c:131
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:112
+#: builtin/prune.c:134
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
-#: builtin/prune.c:114
+#: builtin/prune.c:136
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
-#: builtin/prune.c:128
+#: builtin/prune.c:150
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
-#: builtin/pull.c:61 builtin/pull.c:63
+#: builtin/pull.c:66 builtin/pull.c:68
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: builtin/pull.c:83
+#: builtin/pull.c:88
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:134
+#: builtin/pull.c:140
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
-#: builtin/pull.c:138
+#: builtin/pull.c:144
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:141
+#: builtin/pull.c:147
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:168 builtin/rebase--interactive.c:149 builtin/revert.c:123
+#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:177
+#: builtin/pull.c:184
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/pull.c:193
+#: builtin/pull.c:200
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:203
+#: builtin/pull.c:210
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/pull.c:211
+#: builtin/pull.c:218
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:306
+#: builtin/pull.c:313
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:422
+#: builtin/pull.c:430
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:424
+#: builtin/pull.c:432
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:425
+#: builtin/pull.c:433
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:428
+#: builtin/pull.c:436
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -15118,42 +15879,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:433 builtin/rebase.c:956 git-parse-remote.sh:73
+#: builtin/pull.c:441 builtin/rebase.c:1321 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:79
+#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:437 builtin/pull.c:452 git-parse-remote.sh:82
+#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:438 builtin/pull.c:453
+#: builtin/pull.c:446 builtin/pull.c:461
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:440 builtin/pull.c:446 builtin/pull.c:455
-#: builtin/rebase.c:962 git-parse-remote.sh:64
+#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463
+#: builtin/rebase.c:1327 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:440 builtin/pull.c:455 builtin/pull.c:460
-#: git-legacy-rebase.sh:564 git-parse-remote.sh:65
+#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468
+#: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:448 builtin/rebase.c:954 git-parse-remote.sh:75
+#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:457 git-parse-remote.sh:95
+#: builtin/pull.c:465 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
-#: builtin/pull.c:462
+#: builtin/pull.c:470
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -15162,32 +15923,32 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:566
+#: builtin/pull.c:574
 #, c-format
 msgid "unable to access commit %s"
 msgstr "无法访问提交 %s"
 
 #, c-format
 msgid "unable to access commit %s"
 msgstr "无法访问提交 %s"
 
-#: builtin/pull.c:844
+#: builtin/pull.c:854
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:892
+#: builtin/pull.c:909
 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:900
+#: builtin/pull.c:917
 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:904
+#: builtin/pull.c:921
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:905
+#: builtin/pull.c:922
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:930
+#: builtin/pull.c:947
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -15197,7 +15958,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:936
+#: builtin/pull.c:953
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -15214,15 +15975,15 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:951
+#: builtin/pull.c:968
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:955
+#: builtin/pull.c:972
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:962
+#: builtin/pull.c:979
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
@@ -15522,16 +16283,16 @@ msgstr "创建权重的百分比"
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
 
 msgid "use simple diff colors"
 msgstr "使用简单差异颜色"
 
-#: builtin/range-diff.c:61 builtin/range-diff.c:65
+#: builtin/range-diff.c:46 builtin/range-diff.c:50
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "没有在范围中使用 ..:'%s'"
 
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "没有在范围中使用 ..:'%s'"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:60
 msgid "single arg format must be symmetric range"
 msgstr "单个参数格式必须是对称范围(即包含...)"
 
 msgid "single arg format must be symmetric range"
 msgstr "单个参数格式必须是对称范围(即包含...)"
 
-#: builtin/range-diff.c:90
+#: builtin/range-diff.c:75
 msgid "need two commit ranges"
 msgstr "需要两个提交范围"
 
 msgid "need two commit ranges"
 msgstr "需要两个提交范围"
 
@@ -15609,58 +16370,237 @@ msgstr "跳过应用稀疏检出过滤器"
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
-#: builtin/rebase.c:30
+#: builtin/read-tree.c:157
+msgid "suppress feedback messages"
+msgstr "抑制反馈信息"
+
+#: builtin/rebase.c:32
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
 "[<branch>]"
 msgstr ""
 "git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] [<上游>] [<分支>]"
 
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
 "[<branch>]"
 msgstr ""
 "git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] [<上游>] [<分支>]"
 
-#: builtin/rebase.c:32
+#: builtin/rebase.c:34
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
 msgstr ""
 "git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] --root [<分支>]"
 
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
 msgstr ""
 "git rebase [-i] [选项] [--exec <命令>] [--onto <新基线>] --root [<分支>]"
 
-#: builtin/rebase.c:34
+#: builtin/rebase.c:36
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:121 builtin/rebase.c:1437
+#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#, c-format
+msgid "unusable todo list: '%s'"
+msgstr "不可用的待办列表:'%s'"
+
+#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
+#, c-format
+msgid "could not write '%s'."
+msgstr "不能写入 '%s'。"
+
+#: builtin/rebase.c:252
+msgid "no HEAD?"
+msgstr "没有 HEAD?"
+
+#: builtin/rebase.c:279
+#, c-format
+msgid "could not create temporary %s"
+msgstr "无法创建临时的 %s"
+
+#: builtin/rebase.c:285
+msgid "could not mark as interactive"
+msgstr "无法标记为交互式"
+
+#: builtin/rebase.c:343
+msgid "could not generate todo list"
+msgstr "无法生成待办列表"
+
+#: builtin/rebase.c:382
+msgid "a base commit must be provided with --upstream or --onto"
+msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
+
+#: builtin/rebase.c:437
+msgid "git rebase--interactive [<options>]"
+msgstr "git rebase--interactive [<选项>]"
+
+#: builtin/rebase.c:449
+msgid "keep empty commits"
+msgstr "保持空提交"
+
+#: builtin/rebase.c:451 builtin/revert.c:127
+msgid "allow commits with empty messages"
+msgstr "允许提交说明为空"
+
+#: builtin/rebase.c:452
+msgid "rebase merge commits"
+msgstr "对合并提交变基"
+
+#: builtin/rebase.c:454
+msgid "keep original branch points of cousins"
+msgstr "保持兄弟提交的原始分支点"
+
+#: builtin/rebase.c:456
+msgid "move commits that begin with squash!/fixup!"
+msgstr "移动以 squash!/fixup! 开头的提交"
+
+#: builtin/rebase.c:457
+msgid "sign commits"
+msgstr "签名提交"
+
+#: builtin/rebase.c:459 builtin/rebase.c:1397
+msgid "display a diffstat of what changed upstream"
+msgstr "显示上游变化的差异统计"
+
+#: builtin/rebase.c:461
+msgid "continue rebase"
+msgstr "继续变基"
+
+#: builtin/rebase.c:463
+msgid "skip commit"
+msgstr "跳过提交"
+
+#: builtin/rebase.c:464
+msgid "edit the todo list"
+msgstr "变基待办列表"
+
+#: builtin/rebase.c:466
+msgid "show the current patch"
+msgstr "显示当前补丁"
+
+#: builtin/rebase.c:469
+msgid "shorten commit ids in the todo list"
+msgstr "缩短待办列表中的提交号"
+
+#: builtin/rebase.c:471
+msgid "expand commit ids in the todo list"
+msgstr "扩展待办列表中的提交号"
+
+#: builtin/rebase.c:473
+msgid "check the todo list"
+msgstr "检查待办列表"
+
+#: builtin/rebase.c:475
+msgid "rearrange fixup/squash lines"
+msgstr "重新排列 fixup/squash 行"
+
+#: builtin/rebase.c:477
+msgid "insert exec commands in todo list"
+msgstr "在待办列表中插入 exec 执行命令"
+
+#: builtin/rebase.c:478
+msgid "onto"
+msgstr "onto"
+
+#: builtin/rebase.c:481
+msgid "restrict-revision"
+msgstr "restrict-revision"
+
+#: builtin/rebase.c:481
+msgid "restrict revision"
+msgstr "限制版本"
+
+#: builtin/rebase.c:483
+msgid "squash-onto"
+msgstr "squash-onto"
+
+#: builtin/rebase.c:484
+msgid "squash onto"
+msgstr "squash onto"
+
+#: builtin/rebase.c:486
+msgid "the upstream commit"
+msgstr "上游提交"
+
+#: builtin/rebase.c:488
+msgid "head-name"
+msgstr "head-name"
+
+#: builtin/rebase.c:488
+msgid "head name"
+msgstr "head 名称"
+
+#: builtin/rebase.c:493
+msgid "rebase strategy"
+msgstr "变基策略"
+
+#: builtin/rebase.c:494
+msgid "strategy-opts"
+msgstr "strategy-opts"
+
+#: builtin/rebase.c:495
+msgid "strategy options"
+msgstr "策略选项"
+
+#: builtin/rebase.c:496
+msgid "switch-to"
+msgstr "切换到"
+
+#: builtin/rebase.c:497
+msgid "the branch or commit to checkout"
+msgstr "要检出的分支或提交"
+
+#: builtin/rebase.c:498
+msgid "onto-name"
+msgstr "onto-name"
+
+#: builtin/rebase.c:498
+msgid "onto name"
+msgstr "onto name"
+
+#: builtin/rebase.c:499
+msgid "cmd"
+msgstr "cmd"
+
+#: builtin/rebase.c:499
+msgid "the command to run"
+msgstr "要执行的命令"
+
+#: builtin/rebase.c:502 builtin/rebase.c:1480
+msgid "automatically re-schedule any `exec` that fails"
+msgstr "自动重新安排任何失败的 `exec`"
+
+#: builtin/rebase.c:518
+msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
+
+#: builtin/rebase.c:534 builtin/rebase.c:1787
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s 需要交互式变基"
 
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s 需要交互式变基"
 
-#: builtin/rebase.c:173
+#: builtin/rebase.c:586
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "无法获取 'onto':'%s'"
 
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "无法获取 'onto':'%s'"
 
-#: builtin/rebase.c:188
+#: builtin/rebase.c:601
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "无效的原始 head:'%s'"
 
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "无效的原始 head:'%s'"
 
-#: builtin/rebase.c:213
+#: builtin/rebase.c:626
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
 
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "忽略无效的 allow_rerere_autoupdate:'%s'"
 
-#: builtin/rebase.c:289
+#: builtin/rebase.c:702
 #, c-format
 msgid "Could not read '%s'"
 msgstr "不能读取 '%s'"
 
 #, c-format
 msgid "Could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/rebase.c:307
+#: builtin/rebase.c:720
 #, c-format
 msgid "Cannot store %s"
 msgstr "不能存储 %s"
 
 #, c-format
 msgid "Cannot store %s"
 msgstr "不能存储 %s"
 
-#: builtin/rebase.c:402
+#: builtin/rebase.c:817
 msgid "could not determine HEAD revision"
 msgstr "不能确定 HEAD 版本"
 
 msgid "could not determine HEAD revision"
 msgstr "不能确定 HEAD 版本"
 
-#: builtin/rebase.c:522
+#: builtin/rebase.c:940
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -15673,7 +16613,7 @@ msgstr ""
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
-#: builtin/rebase.c:603
+#: builtin/rebase.c:1021
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -15691,7 +16631,7 @@ msgstr ""
 "\n"
 "因此 git 无法对其变基。"
 
 "\n"
 "因此 git 无法对其变基。"
 
-#: builtin/rebase.c:948
+#: builtin/rebase.c:1313
 #, c-format
 msgid ""
 "%s\n"
 #, c-format
 msgid ""
 "%s\n"
@@ -15708,7 +16648,7 @@ msgstr ""
 "    git rebase '<branch>'\n"
 "\n"
 
 "    git rebase '<branch>'\n"
 "\n"
 
-#: builtin/rebase.c:964
+#: builtin/rebase.c:1329
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -15721,161 +16661,157 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branch> %s\n"
 "\n"
 
 "    git branch --set-upstream-to=%s/<branch> %s\n"
 "\n"
 
-#: builtin/rebase.c:994
+#: builtin/rebase.c:1359
 msgid "exec commands cannot contain newlines"
 msgstr "exec 命令不能包含换行符"
 
 msgid "exec commands cannot contain newlines"
 msgstr "exec 命令不能包含换行符"
 
-#: builtin/rebase.c:998
+#: builtin/rebase.c:1363
 msgid "empty exec command"
 msgstr "空的 exec 命令"
 
 msgid "empty exec command"
 msgstr "空的 exec 命令"
 
-#: builtin/rebase.c:1040
+#: builtin/rebase.c:1390
 msgid "rebase onto given branch instead of upstream"
 msgstr "变基到给定的分支而非上游"
 
 msgid "rebase onto given branch instead of upstream"
 msgstr "变基到给定的分支而非上游"
 
-#: builtin/rebase.c:1042
+#: builtin/rebase.c:1392
 msgid "allow pre-rebase hook to run"
 msgstr "允许执行 pre-rebase 钩子"
 
 msgid "allow pre-rebase hook to run"
 msgstr "允许执行 pre-rebase 钩子"
 
-#: builtin/rebase.c:1044
+#: builtin/rebase.c:1394
 msgid "be quiet. implies --no-stat"
 msgstr "安静。暗示 --no-stat"
 
 msgid "be quiet. implies --no-stat"
 msgstr "安静。暗示 --no-stat"
 
-#: builtin/rebase.c:1047
-msgid "display a diffstat of what changed upstream"
-msgstr "显示上游变化的 diffstat"
-
-#: builtin/rebase.c:1050
+#: builtin/rebase.c:1400
 msgid "do not show diffstat of what changed upstream"
 msgid "do not show diffstat of what changed upstream"
-msgstr "不显示上游变化的 diffstat"
+msgstr "不显示上游变化的差异统计"
 
 
-#: builtin/rebase.c:1053
+#: builtin/rebase.c:1403
 msgid "add a Signed-off-by: line to each commit"
 msgstr "为每一个提交添加一个 Signed-off-by: 签名"
 
 msgid "add a Signed-off-by: line to each commit"
 msgstr "为每一个提交添加一个 Signed-off-by: 签名"
 
-#: builtin/rebase.c:1055 builtin/rebase.c:1059 builtin/rebase.c:1061
+#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411
 msgid "passed to 'git am'"
 msgstr "传递给 'git am'"
 
 msgid "passed to 'git am'"
 msgstr "传递给 'git am'"
 
-#: builtin/rebase.c:1063 builtin/rebase.c:1065
+#: builtin/rebase.c:1413 builtin/rebase.c:1415
 msgid "passed to 'git apply'"
 msgstr "传递给 'git apply'"
 
 msgid "passed to 'git apply'"
 msgstr "传递给 'git apply'"
 
-#: builtin/rebase.c:1067 builtin/rebase.c:1070
+#: builtin/rebase.c:1417 builtin/rebase.c:1420
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "拣选所有提交,即使未修改"
 
 msgid "cherry-pick all commits, even if unchanged"
 msgstr "拣选所有提交,即使未修改"
 
-#: builtin/rebase.c:1072
+#: builtin/rebase.c:1422
 msgid "continue"
 msgstr "继续"
 
 msgid "continue"
 msgstr "继续"
 
-#: builtin/rebase.c:1075
+#: builtin/rebase.c:1425
 msgid "skip current patch and continue"
 msgstr "跳过当前补丁并继续"
 
 #  译者:注意保持前导空格
 msgid "skip current patch and continue"
 msgstr "跳过当前补丁并继续"
 
 #  译者:注意保持前导空格
-#: builtin/rebase.c:1077
+#: builtin/rebase.c:1427
 msgid "abort and check out the original branch"
 msgstr "终止并检出原有分支"
 
 msgid "abort and check out the original branch"
 msgstr "终止并检出原有分支"
 
-#: builtin/rebase.c:1080
+#: builtin/rebase.c:1430
 msgid "abort but keep HEAD where it is"
 msgstr "终止但保持 HEAD 不变"
 
 msgid "abort but keep HEAD where it is"
 msgstr "终止但保持 HEAD 不变"
 
-#: builtin/rebase.c:1081
+#: builtin/rebase.c:1431
 msgid "edit the todo list during an interactive rebase"
 msgstr "在交互式变基中编辑待办列表"
 
 msgid "edit the todo list during an interactive rebase"
 msgstr "在交互式变基中编辑待办列表"
 
-#: builtin/rebase.c:1084
+#: builtin/rebase.c:1434
 msgid "show the patch file being applied or merged"
 msgstr "显示正在应用或合并的补丁文件"
 
 msgid "show the patch file being applied or merged"
 msgstr "显示正在应用或合并的补丁文件"
 
-#: builtin/rebase.c:1087
+#: builtin/rebase.c:1437
 msgid "use merging strategies to rebase"
 msgstr "使用合并策略进行变基"
 
 msgid "use merging strategies to rebase"
 msgstr "使用合并策略进行变基"
 
-#: builtin/rebase.c:1091
+#: builtin/rebase.c:1441
 msgid "let the user edit the list of commits to rebase"
 msgstr "让用户编辑要变基的提交列表"
 
 msgid "let the user edit the list of commits to rebase"
 msgstr "让用户编辑要变基的提交列表"
 
-#: builtin/rebase.c:1095
-msgid "try to recreate merges instead of ignoring them"
-msgstr "尝试重建合并提交而非忽略它们"
+#: builtin/rebase.c:1445
+msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
+msgstr "(已弃用)尝试重建合并提交而非忽略它们"
 
 
-#: builtin/rebase.c:1099
-msgid "allow rerere to update index with resolved conflict"
-msgstr "允许 rerere 用已解决的冲突更新索引"
-
-#: builtin/rebase.c:1102
+#: builtin/rebase.c:1449
 msgid "preserve empty commits during rebase"
 msgstr "变基时保留空提交"
 
 msgid "preserve empty commits during rebase"
 msgstr "变基时保留空提交"
 
-#: builtin/rebase.c:1104
+#: builtin/rebase.c:1451
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
 
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "在 -i 交互模式下,移动以 squash!/fixup! 开头的提交"
 
-#: builtin/rebase.c:1110
+#: builtin/rebase.c:1457
 msgid "automatically stash/stash pop before and after"
 msgstr "在操作前后执行自动贮藏和弹出贮藏"
 
 msgid "automatically stash/stash pop before and after"
 msgstr "在操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/rebase.c:1112
+#: builtin/rebase.c:1459
 msgid "add exec lines after each commit of the editable list"
 msgstr "可编辑列表的每一个提交下面增加一行 exec"
 
 msgid "add exec lines after each commit of the editable list"
 msgstr "可编辑列表的每一个提交下面增加一行 exec"
 
-#: builtin/rebase.c:1116
+#: builtin/rebase.c:1463
 msgid "allow rebasing commits with empty messages"
 msgstr "允许针对空提交说明的提交变基"
 
 msgid "allow rebasing commits with empty messages"
 msgstr "允许针对空提交说明的提交变基"
 
-#: builtin/rebase.c:1119
+#: builtin/rebase.c:1466
 msgid "try to rebase merges instead of skipping them"
 msgstr "尝试对合并提交变基而不是忽略它们"
 
 msgid "try to rebase merges instead of skipping them"
 msgstr "尝试对合并提交变基而不是忽略它们"
 
-#: builtin/rebase.c:1122
+#: builtin/rebase.c:1469
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "使用 'merge-base --fork-point' 来优化上游"
 
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "使用 'merge-base --fork-point' 来优化上游"
 
-#: builtin/rebase.c:1124
+#: builtin/rebase.c:1471
 msgid "use the given merge strategy"
 msgstr "使用给定的合并策略"
 
 msgid "use the given merge strategy"
 msgstr "使用给定的合并策略"
 
-#: builtin/rebase.c:1126 builtin/revert.c:112
+#: builtin/rebase.c:1473 builtin/revert.c:114
 msgid "option"
 msgstr "选项"
 
 msgid "option"
 msgstr "选项"
 
-#: builtin/rebase.c:1127
+#: builtin/rebase.c:1474
 msgid "pass the argument through to the merge strategy"
 msgstr "将参数传递给合并策略"
 
 msgid "pass the argument through to the merge strategy"
 msgstr "将参数传递给合并策略"
 
-#: builtin/rebase.c:1130
+#: builtin/rebase.c:1477
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "将所有可达的提交变基到根提交"
 
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "将所有可达的提交变基到根提交"
 
-#: builtin/rebase.c:1133 builtin/rebase--interactive.c:198
-msgid "automatically re-schedule any `exec` that fails"
-msgstr "自动重新安排任何失败的 `exec`"
-
-#: builtin/rebase.c:1149
-#, c-format
-msgid "could not exec %s"
-msgstr "不能执行 %s"
+#: builtin/rebase.c:1498
+msgid ""
+"the rebase.useBuiltin support has been removed!\n"
+"See its entry in 'git help config' for details."
+msgstr ""
+"对 rebase.useBuiltin 的支持已被删除!\n"
+"详见 'git help config' 中的条目。"
 
 
-#: builtin/rebase.c:1167 git-legacy-rebase.sh:220
+#: builtin/rebase.c:1504
 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' 正在执行中。无法变基。"
 
-#: builtin/rebase.c:1208 git-legacy-rebase.sh:406
+#: builtin/rebase.c:1545
+msgid ""
+"git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
+msgstr "git rebase --preserve-merges 被弃用。用 --rebase-merges 代替。"
+
+#: builtin/rebase.c:1549
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: builtin/rebase.c:1212 git-legacy-rebase.sh:417
+#: builtin/rebase.c:1553
 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 只能用在交互式变基过程中。"
 
-#: builtin/rebase.c:1226 git-legacy-rebase.sh:424
+#: builtin/rebase.c:1576
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: builtin/rebase.c:1238 git-legacy-rebase.sh:427
+#: builtin/rebase.c:1588
 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"
@@ -15883,21 +16819,21 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: builtin/rebase.c:1257
+#: builtin/rebase.c:1607
 msgid "could not discard worktree changes"
 msgstr "无法丢弃工作区变更"
 
 msgid "could not discard worktree changes"
 msgstr "无法丢弃工作区变更"
 
-#: builtin/rebase.c:1276
+#: builtin/rebase.c:1626
 #, c-format
 msgid "could not move back to %s"
 msgstr "无法移回 %s"
 
 #, c-format
 msgid "could not move back to %s"
 msgstr "无法移回 %s"
 
-#: builtin/rebase.c:1287 builtin/rm.c:369
+#: builtin/rebase.c:1637 builtin/rm.c:369
 #, c-format
 msgid "could not remove '%s'"
 msgstr "无法删除 '%s'"
 
 #, c-format
 msgid "could not remove '%s'"
 msgstr "无法删除 '%s'"
 
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1663
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -15916,332 +16852,168 @@ msgstr ""
 "\t%s\n"
 "然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
 
 "\t%s\n"
 "然后再重新执行。 为避免丢失重要数据,我已经停止当前操作。\n"
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1684
 msgid "switch `C' expects a numerical value"
 msgstr "开关 `C' 期望一个数字值"
 
 msgid "switch `C' expects a numerical value"
 msgstr "开关 `C' 期望一个数字值"
 
-#: builtin/rebase.c:1375
+#: builtin/rebase.c:1725
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "未知模式:%s"
 
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "未知模式:%s"
 
-#: builtin/rebase.c:1397
+#: builtin/rebase.c:1747
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy 需要 --merge 或 --interactive"
 
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy 需要 --merge 或 --interactive"
 
-#: builtin/rebase.c:1446
+#: builtin/rebase.c:1796
 msgid "cannot combine am options with either interactive or merge options"
 msgid "cannot combine am options with either interactive or merge options"
-msgstr "不能将 am 选项与交互或合并选项组合一起"
+msgstr "不能将 am 选项与交互或合并选项同时使用"
 
 
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1815
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
-msgstr "不能将 '--preserve-merges' 和 '--rebase-merges' 组合一起"
+msgstr "不能将 '--preserve-merges' 和 '--rebase-merges' 同时使用"
 
 
-#: builtin/rebase.c:1469 git-legacy-rebase.sh:544
+#: builtin/rebase.c:1819
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
-"错误:不能将 '--preserve-merges' 和 '--reschedule-failed-exec' 组合一起"
+"错误:不能将 '--preserve-merges' 和 '--reschedule-failed-exec' 同时使用"
 
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1825
 msgid "cannot combine '--rebase-merges' with '--strategy-option'"
 msgid "cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr "不能将 '--rebase-merges' 和 '--strategy-option' 组合一起"
+msgstr "不能将 '--rebase-merges' 和 '--strategy-option' 同时使用"
 
 
-#: builtin/rebase.c:1478
+#: builtin/rebase.c:1828
 msgid "cannot combine '--rebase-merges' with '--strategy'"
 msgid "cannot combine '--rebase-merges' with '--strategy'"
-msgstr "不能将 '--rebase-merges' 和 '--strategy' 组合一起"
+msgstr "不能将 '--rebase-merges' 和 '--strategy' 同时使用"
 
 
-#: builtin/rebase.c:1502
+#: builtin/rebase.c:1852
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "无效的上游 '%s'"
 
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "无效的上游 '%s'"
 
-#: builtin/rebase.c:1508
+#: builtin/rebase.c:1858
 msgid "Could not create new root commit"
 msgstr "不能创建新的根提交"
 
 msgid "Could not create new root commit"
 msgstr "不能创建新的根提交"
 
-#: builtin/rebase.c:1526
+#: builtin/rebase.c:1876
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s':只需要一个合并基线"
 
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s':只需要一个合并基线"
 
-#: builtin/rebase.c:1533
+#: builtin/rebase.c:1883
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "没有指向一个有效的提交 '%s'"
 
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "没有指向一个有效的提交 '%s'"
 
-#: builtin/rebase.c:1558
+#: builtin/rebase.c:1908
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "致命错误:无此分支/提交 '%s'"
 
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "致命错误:无此分支/提交 '%s'"
 
-#: builtin/rebase.c:1566 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
+#: builtin/rebase.c:1916 builtin/submodule--helper.c:38
+#: builtin/submodule--helper.c:1933
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1927
 msgid "Could not resolve HEAD to a revision"
 msgstr "无法将 HEAD 解析为一个版本"
 
 msgid "Could not resolve HEAD to a revision"
 msgstr "无法将 HEAD 解析为一个版本"
 
-#: builtin/rebase.c:1619 git-legacy-rebase.sh:673
+#: builtin/rebase.c:1968
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: builtin/rebase.c:1622
+#: builtin/rebase.c:1971
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "意外的 stash 响应:'%s'"
 
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "意外的 stash 响应:'%s'"
 
-#: builtin/rebase.c:1628
+#: builtin/rebase.c:1977
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "不能为 '%s' 创建目录"
 
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "不能为 '%s' 创建目录"
 
-#: builtin/rebase.c:1631
+#: builtin/rebase.c:1980
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "创建了 autostash:%s\n"
 
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "创建了 autostash:%s\n"
 
-#: builtin/rebase.c:1634
+#: builtin/rebase.c:1983
 msgid "could not reset --hard"
 msgstr "无法 reset --hard"
 
 msgid "could not reset --hard"
 msgstr "无法 reset --hard"
 
-#: builtin/rebase.c:1635 builtin/reset.c:114
+#: builtin/rebase.c:1984 builtin/reset.c:114
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD 现在位于 %s"
 
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD 现在位于 %s"
 
-#: builtin/rebase.c:1651 git-legacy-rebase.sh:682
+#: builtin/rebase.c:2000
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: builtin/rebase.c:1678
+#: builtin/rebase.c:2027
 #, c-format
 msgid "could not parse '%s'"
 msgstr "无法解析 '%s'"
 
 #, c-format
 msgid "could not parse '%s'"
 msgstr "无法解析 '%s'"
 
-#: builtin/rebase.c:1691
+#: builtin/rebase.c:2040
 #, c-format
 msgid "could not switch to %s"
 msgstr "无法切换到 %s"
 
 #, c-format
 msgid "could not switch to %s"
 msgstr "无法切换到 %s"
 
-#: builtin/rebase.c:1702 git-legacy-rebase.sh:705
-#, sh-format
+#: builtin/rebase.c:2051
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: builtin/rebase.c:1704
+#: builtin/rebase.c:2053
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "当前分支 %s 是最新的。\n"
 
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "当前分支 %s 是最新的。\n"
 
-#: builtin/rebase.c:1712 git-legacy-rebase.sh:715
-#, sh-format
+#: builtin/rebase.c:2061
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: builtin/rebase.c:1714
+#: builtin/rebase.c:2063
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "当前分支 %s 是最新的,强制变基。\n"
 
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "当前分支 %s 是最新的,强制变基。\n"
 
-#: builtin/rebase.c:1722 git-legacy-rebase.sh:215
+#: builtin/rebase.c:2071
 msgid "The pre-rebase hook refused to rebase."
 msgstr "pre-rebase 钩子拒绝了变基操作。"
 
 msgid "The pre-rebase hook refused to rebase."
 msgstr "pre-rebase 钩子拒绝了变基操作。"
 
-#: builtin/rebase.c:1729
+#: builtin/rebase.c:2078
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "到 %s 的变更:\n"
 
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "到 %s 的变更:\n"
 
-#: builtin/rebase.c:1732
+#: builtin/rebase.c:2081
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "从 %s 到 %s 的变更:\n"
 
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "从 %s 到 %s 的变更:\n"
 
-#: builtin/rebase.c:1757
+#: builtin/rebase.c:2106
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr "首先,回退头指针以便在其上重放您的工作...\n"
 
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr "首先,回退头指针以便在其上重放您的工作...\n"
 
-#: builtin/rebase.c:1765
+#: builtin/rebase.c:2115
 msgid "Could not detach HEAD"
 msgstr "无法分离头指针"
 
 msgid "Could not detach HEAD"
 msgstr "无法分离头指针"
 
-#: builtin/rebase.c:1774
+#: builtin/rebase.c:2124
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "快进 %s 到 %s。\n"
 
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "快进 %s 到 %s。\n"
 
-#: builtin/rebase--interactive.c:25
-msgid "no HEAD?"
-msgstr "没有 HEAD?"
-
-#: builtin/rebase--interactive.c:52
-#, c-format
-msgid "could not create temporary %s"
-msgstr "无法创建临时的 %s"
-
-#: builtin/rebase--interactive.c:58
-msgid "could not mark as interactive"
-msgstr "无法标记为交互式"
-
-#: builtin/rebase--interactive.c:102
-#, c-format
-msgid "could not open %s"
-msgstr "无法打开 %s"
-
-#: builtin/rebase--interactive.c:115
-msgid "could not generate todo list"
-msgstr "无法生成待办列表"
-
-#: builtin/rebase--interactive.c:131
-msgid "git rebase--interactive [<options>]"
-msgstr "git rebase--interactive [<选项>]"
-
-#: builtin/rebase--interactive.c:150
-msgid "keep empty commits"
-msgstr "保持空提交"
-
-#: builtin/rebase--interactive.c:152 builtin/revert.c:125
-msgid "allow commits with empty messages"
-msgstr "允许提交说明为空"
-
-#: builtin/rebase--interactive.c:153
-msgid "rebase merge commits"
-msgstr "对合并提交变基"
-
-#: builtin/rebase--interactive.c:155
-msgid "keep original branch points of cousins"
-msgstr "保持兄弟提交的原始分支点"
-
-#: builtin/rebase--interactive.c:157
-msgid "move commits that begin with squash!/fixup!"
-msgstr "移动以 squash!/fixup! 开头的提交"
-
-#: builtin/rebase--interactive.c:158
-msgid "sign commits"
-msgstr "签名提交"
-
-#: builtin/rebase--interactive.c:160
-msgid "continue rebase"
-msgstr "继续变基"
-
-#: builtin/rebase--interactive.c:162
-msgid "skip commit"
-msgstr "跳过提交"
-
-#: builtin/rebase--interactive.c:163
-msgid "edit the todo list"
-msgstr "变基待办列表"
-
-#: builtin/rebase--interactive.c:165
-msgid "show the current patch"
-msgstr "显示当前补丁"
-
-#: builtin/rebase--interactive.c:168
-msgid "shorten commit ids in the todo list"
-msgstr "缩短待办列表中的提交号"
-
-#: builtin/rebase--interactive.c:170
-msgid "expand commit ids in the todo list"
-msgstr "扩展待办列表中的提交号"
-
-#: builtin/rebase--interactive.c:172
-msgid "check the todo list"
-msgstr "检查待办列表"
-
-#: builtin/rebase--interactive.c:174
-msgid "rearrange fixup/squash lines"
-msgstr "重新排列 fixup/squash 行"
-
-#: builtin/rebase--interactive.c:176
-msgid "insert exec commands in todo list"
-msgstr "在待办列表中插入 exec 执行命令"
-
-#: builtin/rebase--interactive.c:177
-msgid "onto"
-msgstr "onto"
-
-#: builtin/rebase--interactive.c:179
-msgid "restrict-revision"
-msgstr "restrict-revision"
-
-#: builtin/rebase--interactive.c:179
-msgid "restrict revision"
-msgstr "限制版本"
-
-#: builtin/rebase--interactive.c:180
-msgid "squash-onto"
-msgstr "squash-onto"
-
-#: builtin/rebase--interactive.c:181
-msgid "squash onto"
-msgstr "squash onto"
-
-#: builtin/rebase--interactive.c:183
-msgid "the upstream commit"
-msgstr "上游提交"
-
-#: builtin/rebase--interactive.c:184
-msgid "head-name"
-msgstr "head-name"
-
-#: builtin/rebase--interactive.c:184
-msgid "head name"
-msgstr "head 名称"
-
-#: builtin/rebase--interactive.c:189
-msgid "rebase strategy"
-msgstr "变基策略"
-
-#: builtin/rebase--interactive.c:190
-msgid "strategy-opts"
-msgstr "strategy-opts"
-
-#: builtin/rebase--interactive.c:191
-msgid "strategy options"
-msgstr "策略选项"
-
-#: builtin/rebase--interactive.c:192
-msgid "switch-to"
-msgstr "切换到"
-
-#: builtin/rebase--interactive.c:193
-msgid "the branch or commit to checkout"
-msgstr "要检出的分支或提交"
-
-#: builtin/rebase--interactive.c:194
-msgid "onto-name"
-msgstr "onto-name"
-
-#: builtin/rebase--interactive.c:194
-msgid "onto name"
-msgstr "onto name"
-
-#: builtin/rebase--interactive.c:195
-msgid "cmd"
-msgstr "cmd"
-
-#: builtin/rebase--interactive.c:195
-msgid "the command to run"
-msgstr "要执行的命令"
-
-#: builtin/rebase--interactive.c:224
-msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
-msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
-
-#: builtin/rebase--interactive.c:230
-msgid "a base commit must be provided with --upstream or --onto"
-msgstr "使用 --upstream 或 --onto 必须提供一个基线提交"
-
 #: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
 #: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
-#: builtin/receive-pack.c:830
+#: builtin/receive-pack.c:833
 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"
@@ -16267,7 +17039,7 @@ msgstr ""
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
-#: builtin/receive-pack.c:850
+#: builtin/receive-pack.c:853
 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"
@@ -16286,11 +17058,11 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:1929
+#: builtin/receive-pack.c:1940
 msgid "quiet"
 msgstr "静默模式"
 
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1943
+#: builtin/receive-pack.c:1954
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
@@ -16873,15 +17645,15 @@ msgstr ""
 
 #: builtin/repack.c:200
 msgid "could not start pack-objects to repack promisor objects"
 
 #: builtin/repack.c:200
 msgid "could not start pack-objects to repack promisor objects"
-msgstr "无法运行 pack-objects 来重新打包 promisor 对象"
+msgstr "无法开始 pack-objects 来重新打包 promisor 对象"
 
 
-#: builtin/repack.c:239 builtin/repack.c:411
+#: builtin/repack.c:239 builtin/repack.c:414
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
-msgstr "repack:期望来自 pack-objects 的完整十六进制对象ID。"
+msgstr "repack:期望来自 pack-objects 的完整十六进制对象 ID。"
 
 #: builtin/repack.c:256
 msgid "could not finish pack-objects to repack promisor objects"
 
 #: builtin/repack.c:256
 msgid "could not finish pack-objects to repack promisor objects"
-msgstr "无法结束 pack-objects 来重新打包 promisor 对象"
+msgstr "无法完成 pack-objects 来重新打包 promisor 对象"
 
 #: builtin/repack.c:294
 msgid "pack everything in a single pack"
 
 #: builtin/repack.c:294
 msgid "pack everything in a single pack"
@@ -16971,11 +17743,11 @@ msgstr "不能删除珍品仓库中的打包文件"
 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:420
+#: builtin/repack.c:423
 msgid "Nothing new to pack."
 msgstr "没有新的要打包。"
 
 msgid "Nothing new to pack."
 msgstr "没有新的要打包。"
 
-#: builtin/repack.c:481
+#: builtin/repack.c:484
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -16991,7 +17763,7 @@ msgstr ""
 "警告:并且尝试重命名改回原有文件名的操作也失败。\n"
 "警告:请手动将 %s 下的这些文件重命名:\n"
 
 "警告:并且尝试重命名改回原有文件名的操作也失败。\n"
 "警告:请手动将 %s 下的这些文件重命名:\n"
 
-#: builtin/repack.c:529
+#: builtin/repack.c:532
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "删除 '%s' 失败"
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "删除 '%s' 失败"
@@ -17020,12 +17792,7 @@ msgstr "git replace -d <对象>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
-#: builtin/replace.c:58 builtin/replace.c:203 builtin/replace.c:206
-#, c-format
-msgid "failed to resolve '%s' as a valid ref"
-msgstr "无法将 '%s' 解析为一个有效引用"
-
-#: builtin/replace.c:86
+#: builtin/replace.c:90
 #, c-format
 msgid ""
 "invalid replace format '%s'\n"
 #, c-format
 msgid ""
 "invalid replace format '%s'\n"
@@ -17034,27 +17801,27 @@ msgstr ""
 "无效的替换格式 '%s'\n"
 "有效的格式有 'short'、'medium' 和 'long'"
 
 "无效的替换格式 '%s'\n"
 "有效的格式有 'short'、'medium' 和 'long'"
 
-#: builtin/replace.c:121
+#: builtin/replace.c:125
 #, c-format
 msgid "replace ref '%s' not found"
 msgstr "未发现替换引用 '%s'"
 
 #, c-format
 msgid "replace ref '%s' not found"
 msgstr "未发现替换引用 '%s'"
 
-#: builtin/replace.c:137
+#: builtin/replace.c:141
 #, c-format
 msgid "Deleted replace ref '%s'"
 msgstr "已删除替换引用 '%s'"
 
 #, c-format
 msgid "Deleted replace ref '%s'"
 msgstr "已删除替换引用 '%s'"
 
-#: builtin/replace.c:149
+#: builtin/replace.c:153
 #, c-format
 msgid "'%s' is not a valid ref name"
 msgstr "'%s' 不是一个有效的引用名"
 
 #, c-format
 msgid "'%s' is not a valid ref name"
 msgstr "'%s' 不是一个有效的引用名"
 
-#: builtin/replace.c:154
+#: builtin/replace.c:158
 #, c-format
 msgid "replace ref '%s' already exists"
 msgstr "替换引用 '%s' 已经存在"
 
 #, c-format
 msgid "replace ref '%s' already exists"
 msgstr "替换引用 '%s' 已经存在"
 
-#: builtin/replace.c:174
+#: builtin/replace.c:178
 #, c-format
 msgid ""
 "Objects must be of the same type.\n"
 #, c-format
 msgid ""
 "Objects must be of the same type.\n"
@@ -17065,107 +17832,112 @@ msgstr ""
 "'%s' 指向 '%s' 类型的替换对象\n"
 "而 '%s' 指向 '%s' 类型的替换对象。"
 
 "'%s' 指向 '%s' 类型的替换对象\n"
 "而 '%s' 指向 '%s' 类型的替换对象。"
 
-#: builtin/replace.c:225
+#: builtin/replace.c:229
 #, c-format
 msgid "unable to open %s for writing"
 msgstr "无法为写入打开 %s"
 
 #, c-format
 msgid "unable to open %s for writing"
 msgstr "无法为写入打开 %s"
 
-#: builtin/replace.c:238
+#: builtin/replace.c:242
 msgid "cat-file reported failure"
 msgstr "cat-file 报告失败"
 
 msgid "cat-file reported failure"
 msgstr "cat-file 报告失败"
 
-#: builtin/replace.c:254
+#: builtin/replace.c:258
 #, c-format
 msgid "unable to open %s for reading"
 msgstr "无法为读取打开 %s"
 
 #, c-format
 msgid "unable to open %s for reading"
 msgstr "无法为读取打开 %s"
 
-#: builtin/replace.c:268
+#: builtin/replace.c:272
 msgid "unable to spawn mktree"
 msgstr "无法启动 mktree"
 
 msgid "unable to spawn mktree"
 msgstr "无法启动 mktree"
 
-#: builtin/replace.c:272
+#: builtin/replace.c:276
 msgid "unable to read from mktree"
 msgstr "无法从 mktree 读取"
 
 msgid "unable to read from mktree"
 msgstr "无法从 mktree 读取"
 
-#: builtin/replace.c:281
+#: builtin/replace.c:285
 msgid "mktree reported failure"
 msgstr "mktree 报告失败"
 
 msgid "mktree reported failure"
 msgstr "mktree 报告失败"
 
-#: builtin/replace.c:285
+#: builtin/replace.c:289
 msgid "mktree did not return an object name"
 msgstr "mktree 没有返回一个对象名"
 
 msgid "mktree did not return an object name"
 msgstr "mktree 没有返回一个对象名"
 
-#: builtin/replace.c:294
+#: builtin/replace.c:298
 #, c-format
 msgid "unable to fstat %s"
 msgstr "无法对 %s 执行 fstat"
 
 #, c-format
 msgid "unable to fstat %s"
 msgstr "无法对 %s 执行 fstat"
 
-#: builtin/replace.c:299
+#: builtin/replace.c:303
 msgid "unable to write object to database"
 msgstr "无法向数据库写入对象"
 
 msgid "unable to write object to database"
 msgstr "无法向数据库写入对象"
 
-#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415
-#: builtin/replace.c:445
+#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
+#: builtin/replace.c:452
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
-#: builtin/replace.c:322
+#: builtin/replace.c:326
 #, c-format
 msgid "unable to get object type for %s"
 msgstr "无法得到 %s 的对象类型"
 
 #, c-format
 msgid "unable to get object type for %s"
 msgstr "无法得到 %s 的对象类型"
 
-#: builtin/replace.c:338
+#: builtin/replace.c:342
 msgid "editing object file failed"
 msgstr "编辑对象文件失败"
 
 msgid "editing object file failed"
 msgstr "编辑对象文件失败"
 
-#: builtin/replace.c:347
+#: builtin/replace.c:351
 #, c-format
 msgid "new object is the same as the old one: '%s'"
 msgstr "新对象和旧对象相同:'%s'"
 
 #, c-format
 msgid "new object is the same as the old one: '%s'"
 msgstr "新对象和旧对象相同:'%s'"
 
-#: builtin/replace.c:407
+#: builtin/replace.c:383
+#, c-format
+msgid "could not parse %s as a commit"
+msgstr "无法将 %s 解析为一个提交"
+
+#: builtin/replace.c:414
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "提交 '%s' 中含有损坏的合并标签"
 
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "提交 '%s' 中含有损坏的合并标签"
 
-#: builtin/replace.c:409
+#: builtin/replace.c:416
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "提交 '%s' 中含有格式错误的合并标签"
 
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "提交 '%s' 中含有格式错误的合并标签"
 
-#: builtin/replace.c:421
+#: builtin/replace.c:428
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr "原始提交 '%s' 包含已经丢弃的合并标签 '%s',使用 --edit 代替 --graft"
 
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr "原始提交 '%s' 包含已经丢弃的合并标签 '%s',使用 --edit 代替 --graft"
 
-#: builtin/replace.c:460
+#: builtin/replace.c:467
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "原始提交 '%s' 中有一个 gpg 签名"
 
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "原始提交 '%s' 中有一个 gpg 签名"
 
-#: builtin/replace.c:461
+#: builtin/replace.c:468
 msgid "the signature will be removed in the replacement commit!"
 msgstr "在替换的提交中签名将被移除!"
 
 msgid "the signature will be removed in the replacement commit!"
 msgstr "在替换的提交中签名将被移除!"
 
-#: builtin/replace.c:471
+#: builtin/replace.c:478
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
-#: builtin/replace.c:479
+#: builtin/replace.c:486
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "对 '%s' 移植没有必要"
 
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "对 '%s' 移植没有必要"
 
-#: builtin/replace.c:482
+#: builtin/replace.c:490
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "新提交和旧的一样:'%s'"
 
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "新提交和旧的一样:'%s'"
 
-#: builtin/replace.c:515
+#: builtin/replace.c:525
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -17174,71 +17946,71 @@ msgstr ""
 "不能转换下列移植:\n"
 "%s"
 
 "不能转换下列移植:\n"
 "%s"
 
-#: builtin/replace.c:536
+#: builtin/replace.c:546
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
-#: builtin/replace.c:537
+#: builtin/replace.c:547
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
-#: builtin/replace.c:538
+#: builtin/replace.c:548
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
-#: builtin/replace.c:539
+#: builtin/replace.c:549
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
-#: builtin/replace.c:540
+#: builtin/replace.c:550
 msgid "convert existing graft file"
 msgstr "转换现存的移植文件"
 
 msgid "convert existing graft file"
 msgstr "转换现存的移植文件"
 
-#: builtin/replace.c:541
+#: builtin/replace.c:551
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
-#: builtin/replace.c:543
+#: builtin/replace.c:553
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
-#: builtin/replace.c:544
+#: builtin/replace.c:554
 msgid "use this format"
 msgstr "使用此格式"
 
 msgid "use this format"
 msgstr "使用此格式"
 
-#: builtin/replace.c:557
+#: builtin/replace.c:567
 msgid "--format cannot be used when not listing"
 msgstr "不列出时不能使用 --format"
 
 msgid "--format cannot be used when not listing"
 msgstr "不列出时不能使用 --format"
 
-#: builtin/replace.c:565
+#: builtin/replace.c:575
 msgid "-f only makes sense when writing a replacement"
 msgstr "只有写一个替换时 -f 才有意义"
 
 msgid "-f only makes sense when writing a replacement"
 msgstr "只有写一个替换时 -f 才有意义"
 
-#: builtin/replace.c:569
+#: builtin/replace.c:579
 msgid "--raw only makes sense with --edit"
 msgstr "--raw 只有和 --edit 共用才有意义"
 
 msgid "--raw only makes sense with --edit"
 msgstr "--raw 只有和 --edit 共用才有意义"
 
-#: builtin/replace.c:575
+#: builtin/replace.c:585
 msgid "-d needs at least one argument"
 msgstr "-d 需要至少一个参数"
 
 msgid "-d needs at least one argument"
 msgstr "-d 需要至少一个参数"
 
-#: builtin/replace.c:581
+#: builtin/replace.c:591
 msgid "bad number of arguments"
 msgstr "错误的参数个数"
 
 msgid "bad number of arguments"
 msgstr "错误的参数个数"
 
-#: builtin/replace.c:587
+#: builtin/replace.c:597
 msgid "-e needs exactly one argument"
 msgstr "-e 需要且仅需要一个参数"
 
 msgid "-e needs exactly one argument"
 msgstr "-e 需要且仅需要一个参数"
 
-#: builtin/replace.c:593
+#: builtin/replace.c:603
 msgid "-g needs at least one argument"
 msgstr "-g 需要至少一个参数"
 
 msgid "-g needs at least one argument"
 msgstr "-g 需要至少一个参数"
 
-#: builtin/replace.c:599
+#: builtin/replace.c:609
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file 不带参数"
 
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file 不带参数"
 
-#: builtin/replace.c:605
+#: builtin/replace.c:615
 msgid "only one pattern can be given with -l"
 msgstr "只能为 -l 提供一个模式"
 
 msgid "only one pattern can be given with -l"
 msgstr "只能为 -l 提供一个模式"
 
@@ -17311,7 +18083,8 @@ msgstr "无法找到 %s 指向的树。"
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:293
+#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
+#: builtin/stash.c:613
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
@@ -17349,31 +18122,31 @@ msgstr "无法将 '%s' 解析为一个有效的树对象。"
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
-#: builtin/reset.c:352
+#: builtin/reset.c:353
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <路径>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:354
+#: builtin/reset.c:355
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:364
+#: builtin/reset.c:370
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "不能对纯仓库进行%s重置"
 
-#: builtin/reset.c:368
+#: builtin/reset.c:374
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
-#: builtin/reset.c:388
+#: builtin/reset.c:395
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
 msgid "Unstaged changes after reset:"
 msgstr "重置后取消暂存的变更:"
 
-#: builtin/reset.c:391
+#: builtin/reset.c:398
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -17385,33 +18158,33 @@ msgstr ""
 "重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
 "将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
 
 "重置后,枚举未暂存变更花费了 %.2f 秒。 您可以使用 '--quiet' 避免此情况。\n"
 "将配置变量 reset.quiet 设置为 true 可使其成为默认值。\n"
 
-#: builtin/reset.c:401
+#: builtin/reset.c:408
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
-#: builtin/reset.c:405
+#: builtin/reset.c:412
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:406
+#: builtin/rev-list.c:405
 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:464
+#: builtin/rev-list.c:466
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
 msgid "object filtering requires --objects"
 msgstr "对象过滤需要 --objects"
 
-#: builtin/rev-list.c:467
+#: builtin/rev-list.c:469
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "无效的稀疏值 '%s'"
 
-#: builtin/rev-list.c:508
+#: builtin/rev-list.c:510
 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:511
+#: builtin/rev-list.c:513
 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 和对象过滤组合使用"
 
@@ -17471,59 +18244,59 @@ msgstr "选项 `%s' 期望一个大于零的数字"
 msgid "%s: %s cannot be used with %s"
 msgstr "%s:%s 不能和 %s 同时使用"
 
 msgid "%s: %s cannot be used with %s"
 msgstr "%s:%s 不能和 %s 同时使用"
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 msgid "end revert or cherry-pick sequence"
 msgstr "终止反转或拣选操作"
 
 msgid "end revert or cherry-pick sequence"
 msgstr "终止反转或拣选操作"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:103
 msgid "resume revert or cherry-pick sequence"
 msgstr "继续反转或拣选操作"
 
 msgid "resume revert or cherry-pick sequence"
 msgstr "继续反转或拣选操作"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:104
 msgid "cancel revert or cherry-pick sequence"
 msgstr "取消反转或拣选操作"
 
 msgid "cancel revert or cherry-pick sequence"
 msgstr "取消反转或拣选操作"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:106
 msgid "don't automatically commit"
 msgstr "不要自动提交"
 
 msgid "don't automatically commit"
 msgstr "不要自动提交"
 
-#: builtin/revert.c:105
+#: builtin/revert.c:107
 msgid "edit the commit message"
 msgstr "编辑提交说明"
 
 msgid "edit the commit message"
 msgstr "编辑提交说明"
 
-#: builtin/revert.c:108
+#: builtin/revert.c:110
 msgid "parent-number"
 msgstr "父编号"
 
 msgid "parent-number"
 msgstr "父编号"
 
-#: builtin/revert.c:109
+#: builtin/revert.c:111
 msgid "select mainline parent"
 msgstr "选择主干父提交编号"
 
 msgid "select mainline parent"
 msgstr "选择主干父提交编号"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:113
 msgid "merge strategy"
 msgstr "合并策略"
 
 msgid "merge strategy"
 msgstr "合并策略"
 
-#: builtin/revert.c:113
+#: builtin/revert.c:115
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
 
 msgid "option for merge strategy"
 msgstr "合并策略的选项"
 
-#: builtin/revert.c:122
+#: builtin/revert.c:124
 msgid "append commit name"
 msgstr "追加提交名称"
 
 msgid "append commit name"
 msgstr "追加提交名称"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:126
 msgid "preserve initially empty commits"
 msgstr "保留初始化的空提交"
 
 msgid "preserve initially empty commits"
 msgstr "保留初始化的空提交"
 
-#: builtin/revert.c:126
+#: builtin/revert.c:128
 msgid "keep redundant, empty commits"
 msgstr "保持多余的、空的提交"
 
 msgid "keep redundant, empty commits"
 msgstr "保持多余的、空的提交"
 
-#: builtin/revert.c:220
+#: builtin/revert.c:227
 msgid "revert failed"
 msgstr "还原失败"
 
 msgid "revert failed"
 msgstr "还原失败"
 
-#: builtin/revert.c:233
+#: builtin/revert.c:240
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
@@ -17630,18 +18403,6 @@ msgstr "从标准输入读取引用"
 msgid "print status from remote helper"
 msgstr "打印来自远程 helper 的状态"
 
 msgid "print status from remote helper"
 msgstr "打印来自远程 helper 的状态"
 
-#: builtin/serve.c:7
-msgid "git serve [<options>]"
-msgstr "git serve [<选项>]"
-
-#: builtin/serve.c:17 builtin/upload-pack.c:23
-msgid "quit after a single request/response exchange"
-msgstr "在一次单独的请求/响应之后退出"
-
-#: builtin/serve.c:19
-msgid "exit immediately after advertising capabilities"
-msgstr "对能力广告之后立即退出"
-
 #: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git shortlog [<选项>] [<版本范围>] [[--] <路径>...]"
 #: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git shortlog [<选项>] [<版本范围>] [[--] <路径>...]"
@@ -17795,24 +18556,24 @@ msgstr[1] "一次只能显示 %d 个条目。"
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
 msgid "no such ref %s"
 msgstr "无此引用 %s"
 
-#: builtin/show-branch.c:830
+#: builtin/show-branch.c:832
 #, 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:834
+#: builtin/show-branch.c:836
 #, 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:837
+#: builtin/show-branch.c:839
 #, 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:11
+#: builtin/show-ref.c:12
 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>...]"
@@ -17820,41 +18581,267 @@ 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:12
+#: builtin/show-ref.c:13
 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:161
+#: builtin/show-ref.c:162
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
-#: builtin/show-ref.c:162
+#: builtin/show-ref.c:163
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
-#: builtin/show-ref.c:163
+#: builtin/show-ref.c:164
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
-#: builtin/show-ref.c:166 builtin/show-ref.c:168
+#: builtin/show-ref.c:167 builtin/show-ref.c:169
 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:170
+#: builtin/show-ref.c:171
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:172
-msgid "only show SHA1 hash using <n> digits"
-msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
+#: builtin/show-ref.c:173
+msgid "only show SHA1 hash using <n> digits"
+msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
+
+#: builtin/show-ref.c:177
+msgid "do not print results to stdout (useful with --verify)"
+msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
+
+#: builtin/show-ref.c:179
+msgid "show refs from stdin that aren't in local repository"
+msgstr "显示从标准输入中读入的不在本地仓库中的引用"
+
+#: builtin/stash.c:22 builtin/stash.c:37
+msgid "git stash list [<options>]"
+msgstr "git stash list [<选项>]"
+
+#: builtin/stash.c:23 builtin/stash.c:42
+msgid "git stash show [<options>] [<stash>]"
+msgstr "git stash show [<选项>] [<stash>]"
+
+#: builtin/stash.c:24 builtin/stash.c:47
+msgid "git stash drop [-q|--quiet] [<stash>]"
+msgstr "git stash drop [-q|--quiet] [<stash>]"
+
+#: builtin/stash.c:25
+msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+
+#: builtin/stash.c:26 builtin/stash.c:62
+msgid "git stash branch <branchname> [<stash>]"
+msgstr "git stash branch <分支名> [<stash>]"
+
+#: builtin/stash.c:27 builtin/stash.c:67
+msgid "git stash clear"
+msgstr "git stash clear"
+
+#: builtin/stash.c:28 builtin/stash.c:77
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <消息>]\n"
+"          [--] [<路径规格>...]]"
+
+#: builtin/stash.c:31 builtin/stash.c:84
+msgid ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [<message>]"
+msgstr ""
+"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [<消息>]"
+
+#: builtin/stash.c:52
+msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
+
+#: builtin/stash.c:57
+msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
+
+#: builtin/stash.c:72
+msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
+msgstr "git stash store [-m|--message <消息>] [-q|--quiet] <提交>"
+
+#: builtin/stash.c:127
+#, c-format
+msgid "'%s' is not a stash-like commit"
+msgstr "'%s' 不像是一个贮藏提交"
+
+#: builtin/stash.c:147
+#, c-format
+msgid "Too many revisions specified:%s"
+msgstr "指定了太多的版本:%s"
+
+#: builtin/stash.c:161 git-legacy-stash.sh:548
+msgid "No stash entries found."
+msgstr "未发现贮藏条目。"
+
+#: builtin/stash.c:175
+#, c-format
+msgid "%s is not a valid reference"
+msgstr "%s 不是一个有效的引用名"
+
+#: builtin/stash.c:224 git-legacy-stash.sh:75
+msgid "git stash clear with parameters is unimplemented"
+msgstr "git stash clear 不支持参数"
+
+#: builtin/stash.c:403
+msgid "cannot apply a stash in the middle of a merge"
+msgstr "无法在合并过程应用贮藏"
+
+#: builtin/stash.c:414
+#, c-format
+msgid "could not generate diff %s^!."
+msgstr "无法生成差异 %s^!."
+
+#: builtin/stash.c:421
+msgid "conflicts in index.Try without --index."
+msgstr "索引中有冲突。尝试不用 --index。"
+
+#: builtin/stash.c:427
+msgid "could not save index tree"
+msgstr "不能保存索引树"
+
+#: builtin/stash.c:434
+msgid "could not restore untracked files from stash"
+msgstr "无法从贮藏条目中恢复未跟踪文件"
+
+#: builtin/stash.c:448
+#, c-format
+msgid "Merging %s with %s"
+msgstr "正在合并 %s 和 %s"
+
+#: builtin/stash.c:458 git-legacy-stash.sh:680
+msgid "Index was not unstashed."
+msgstr "索引未从贮藏中恢复。"
+
+#: builtin/stash.c:516 builtin/stash.c:615
+msgid "attempt to recreate the index"
+msgstr "尝试重建索引"
+
+#: builtin/stash.c:549
+#, c-format
+msgid "Dropped %s (%s)"
+msgstr "丢弃了 %s(%s)"
+
+#: builtin/stash.c:552
+#, c-format
+msgid "%s: Could not drop stash entry"
+msgstr "%s:无法丢弃贮藏条目"
+
+#: builtin/stash.c:577
+#, c-format
+msgid "'%s' is not a stash reference"
+msgstr "'%s' 不是一个贮藏引用"
+
+#: builtin/stash.c:627 git-legacy-stash.sh:694
+msgid "The stash entry is kept in case you need it again."
+msgstr "贮藏条目被保留以备您再次需要。"
+
+#: builtin/stash.c:650 git-legacy-stash.sh:712
+msgid "No branch name specified"
+msgstr "未指定分支名"
+
+#: builtin/stash.c:789 builtin/stash.c:826
+#, c-format
+msgid "Cannot update %s with %s"
+msgstr "无法用 %2$s 更新 %1$s"
+
+#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510
+msgid "stash message"
+msgstr "贮藏说明"
+
+#: builtin/stash.c:817
+msgid "\"git stash store\" requires one <commit> argument"
+msgstr "\"git stash store\" 需要一个 <提交> 参数"
+
+#: builtin/stash.c:1039 git-legacy-stash.sh:217
+msgid "No changes selected"
+msgstr "没有选择变更"
+
+#: builtin/stash.c:1135 git-legacy-stash.sh:150
+msgid "You do not have the initial commit yet"
+msgstr "您尚未建立初始提交"
+
+#: builtin/stash.c:1162 git-legacy-stash.sh:165
+msgid "Cannot save the current index state"
+msgstr "无法保存当前索引状态"
+
+#: builtin/stash.c:1171 git-legacy-stash.sh:180
+msgid "Cannot save the untracked files"
+msgstr "无法保存未跟踪文件"
+
+#: builtin/stash.c:1182 builtin/stash.c:1191 git-legacy-stash.sh:200
+#: git-legacy-stash.sh:213
+msgid "Cannot save the current worktree state"
+msgstr "无法保存当前工作区状态"
+
+#: builtin/stash.c:1219 git-legacy-stash.sh:233
+msgid "Cannot record working tree state"
+msgstr "不能记录工作区状态"
+
+#: builtin/stash.c:1268 git-legacy-stash.sh:337
+msgid "Can't use --patch and --include-untracked or --all at the same time"
+msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
+
+#: builtin/stash.c:1284
+msgid "Did you forget to 'git add'?"
+msgstr "您是否忘了执行 'git add'?"
+
+#: builtin/stash.c:1299 git-legacy-stash.sh:345
+msgid "No local changes to save"
+msgstr "没有要保存的本地修改"
+
+#: builtin/stash.c:1306 git-legacy-stash.sh:350
+msgid "Cannot initialize stash"
+msgstr "无法初始化贮藏"
+
+#: builtin/stash.c:1321 git-legacy-stash.sh:354
+msgid "Cannot save the current status"
+msgstr "无法保存当前状态"
+
+#: builtin/stash.c:1326
+#, c-format
+msgid "Saved working directory and index state %s"
+msgstr "保存工作目录和索引状态 %s"
+
+#: builtin/stash.c:1430 git-legacy-stash.sh:384
+msgid "Cannot remove worktree changes"
+msgstr "无法删除工作区变更"
+
+#: builtin/stash.c:1465 builtin/stash.c:1501
+msgid "keep index"
+msgstr "保持索引"
+
+#: builtin/stash.c:1467 builtin/stash.c:1503
+msgid "stash in patch mode"
+msgstr "以补丁模式贮藏"
+
+#: builtin/stash.c:1468 builtin/stash.c:1504
+msgid "quiet mode"
+msgstr "静默模式"
+
+#: builtin/stash.c:1470 builtin/stash.c:1506
+msgid "include untracked files in stash"
+msgstr "贮藏中包含未跟踪文件"
 
 
-#: builtin/show-ref.c:176
-msgid "do not print results to stdout (useful with --verify)"
-msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
+#: builtin/stash.c:1472 builtin/stash.c:1508
+msgid "include ignore files"
+msgstr "包含忽略的文件"
 
 
-#: builtin/show-ref.c:178
-msgid "show refs from stdin that aren't in local repository"
-msgstr "显示从标准输入中读入的不在本地仓库中的引用"
+#: builtin/stash.c:1568
+#, c-format
+msgid "could not exec %s"
+msgstr "不能执行 %s"
 
 #: builtin/stripspace.c:18
 msgid "git stripspace [-s | --strip-comments]"
 
 #: builtin/stripspace.c:18
 msgid "git stripspace [-s | --strip-comments]"
@@ -17872,7 +18859,7 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1942
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -17933,8 +18920,8 @@ msgid "Recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
 #: builtin/submodule--helper.c:569
 msgstr "递归进入嵌套子模组中"
 
 #: builtin/submodule--helper.c:569
-msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
-msgstr "git submodule--helper foreach [--quiet] [--recursive] <命令>"
+msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
+msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <命令>"
 
 #: builtin/submodule--helper.c:596
 #, c-format
 
 #: builtin/submodule--helper.c:596
 #, c-format
@@ -17953,7 +18940,6 @@ msgstr "无法为子模组 '%s' 注册 url"
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)已对路径 '%s' 注册\n"
 
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)已对路径 '%s' 注册\n"
 
-#
 #: builtin/submodule--helper.c:678
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 #: builtin/submodule--helper.c:678
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
@@ -17969,8 +18955,8 @@ msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
 #: builtin/submodule--helper.c:712
 msgstr "阻止子模组初始化的输出"
 
 #: builtin/submodule--helper.c:712
-msgid "git submodule--helper init [<path>]"
-msgstr "git submodule--helper init [<路径>]"
+msgid "git submodule--helper init [<options>] [<path>]"
+msgstr "git submodule--helper init [<选项>] [<路径>]"
 
 #: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
 #, c-format
 
 #: builtin/submodule--helper.c:784 builtin/submodule--helper.c:910
 #, c-format
@@ -18122,7 +19108,7 @@ msgstr "克隆子模组的 url 地址"
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
@@ -18183,85 +19169,93 @@ msgstr "克隆 '%s' 失败。按计划重试"
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1853
 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:1858
+#: builtin/submodule--helper.c:1857
 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:1864
+#: builtin/submodule--helper.c:1863
 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:1867
+#: builtin/submodule--helper.c:1866
 msgid "parallel jobs"
 msgstr "并发任务"
 
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1868
 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:1870
+#: builtin/submodule--helper.c:1869
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1877
+#: builtin/submodule--helper.c:1876
 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:1890
+#: builtin/submodule--helper.c:1889
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1937
 #, 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:2061
+#: builtin/submodule--helper.c:2060
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "无法获得子模组 '%s' 的仓库句柄"
 
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "无法获得子模组 '%s' 的仓库句柄"
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2093
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:2100
-msgid "git submodule--helper embed-git-dir [<path>...]"
-msgstr "git submodule--helper embed-git-dir [<路径>...]"
+#: builtin/submodule--helper.c:2099
+msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
+msgstr "git submodule--helper absorb-git-dirs [<选项>] [<路径>...]"
 
 #: builtin/submodule--helper.c:2156
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "检查写入 .gitmodules 文件是否安全"
 
 
 #: builtin/submodule--helper.c:2156
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "检查写入 .gitmodules 文件是否安全"
 
-#: builtin/submodule--helper.c:2161
-msgid "git submodule--helper config name [value]"
-msgstr "git submodule--helper config name [value]"
+#: builtin/submodule--helper.c:2159
+msgid "unset the config in the .gitmodules file"
+msgstr "取消 .gitmodules 文件中的设置"
+
+#: builtin/submodule--helper.c:2164
+msgid "git submodule--helper config <name> [<value>]"
+msgstr "git submodule--helper config <名称> [<值>]"
 
 
-#: builtin/submodule--helper.c:2162
+#: builtin/submodule--helper.c:2165
+msgid "git submodule--helper config --unset <name>"
+msgstr "git submodule--helper config --unset <名称>"
+
+#: builtin/submodule--helper.c:2166
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2179 git-submodule.sh:169
+#: builtin/submodule--helper.c:2185 git-submodule.sh:171
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "请确认 .gitmodules 文件在工作区里"
 
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "请确认 .gitmodules 文件在工作区里"
 
-#: builtin/submodule--helper.c:2229 git.c:413 git.c:658
+#: builtin/submodule--helper.c:2235 git.c:433 git.c:685
 #, 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:2235
+#: builtin/submodule--helper.c:2241
 #, 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 子命令"
@@ -18296,16 +19290,17 @@ msgstr "更新的原因"
 
 #: builtin/tag.c:25
 msgid ""
 
 #: builtin/tag.c:25
 msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
-"[<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
+"\t\t<tagname> [<head>]"
 msgstr ""
 msgstr ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <说明> | -F <文件>] <标签名> [<头>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <消息> | -F <文件>]\n"
+"\t\t<标签名> [<头>]"
 
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 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"
@@ -18315,21 +19310,21 @@ msgstr ""
 "at <对象>]\n"
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
 "at <对象>]\n"
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
-#: builtin/tag.c:29
+#: builtin/tag.c:30
 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:87
+#: builtin/tag.c:88
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:103
+#: builtin/tag.c:104
 #, 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:133
+#: builtin/tag.c:134
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -18342,7 +19337,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:137
+#: builtin/tag.c:138
 #, c-format
 msgid ""
 "\n"
 #, c-format
 msgid ""
 "\n"
@@ -18356,146 +19351,159 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:191
+#: builtin/tag.c:192
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:193
+#: builtin/tag.c:194
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/tag.c:218
+#: builtin/tag.c:210
+#, c-format
+msgid ""
+"You have created a nested tag. The object referred to by your new tag is\n"
+"already a tag. If you meant to tag the object that it points to, use:\n"
+"\n"
+"\tgit tag -f %s %s^{}"
+msgstr ""
+"您创建了一个嵌套的标签。您的新标签指向的对象已经是一个标签。如果您想要\n"
+"对其指向的目标创建标签,使用:\n"
+"\n"
+"\tgit tag -f %s %s^{}"
+
+#: builtin/tag.c:226
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:267
+#: builtin/tag.c:278
 msgid "no tag message?"
 msgstr "无标签说明?"
 
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:274
+#: builtin/tag.c:285
 #, 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:385
+#: builtin/tag.c:396
 msgid "list tag names"
 msgstr "列出标签名称"
 
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:398
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:389
+#: builtin/tag.c:400
 msgid "delete tags"
 msgstr "删除标签"
 
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:390
+#: builtin/tag.c:401
 msgid "verify tags"
 msgstr "验证标签"
 
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:392
+#: builtin/tag.c:403
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:394
+#: builtin/tag.c:405
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:407
 msgid "tag message"
 msgstr "标签说明"
 
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:398
+#: builtin/tag.c:409
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:410
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:413
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:414
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:405 builtin/update-ref.c:369
+#: builtin/tag.c:415 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "创建引用日志"
 
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:417
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:408
+#: builtin/tag.c:418
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:409 builtin/tag.c:411
+#: builtin/tag.c:419 builtin/tag.c:421
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:410 builtin/tag.c:412
+#: builtin/tag.c:420 builtin/tag.c:422
 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:413
+#: builtin/tag.c:423
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:414
+#: builtin/tag.c:424
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:428
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:472
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:485
+#: builtin/tag.c:494
 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:487
+#: builtin/tag.c:496
 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:489
+#: builtin/tag.c:498
 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:491
+#: builtin/tag.c:500
 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:493
+#: builtin/tag.c:502
 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:504
+#: builtin/tag.c:513
 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:523
+#: builtin/tag.c:532
 msgid "too many params"
 msgstr "太多参数"
 
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:529
+#: builtin/tag.c:538
 #, 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:534
+#: builtin/tag.c:543
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:565
+#: builtin/tag.c:574
 #, 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"
@@ -18561,153 +19569,153 @@ msgstr " OK"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:962
+#: builtin/update-index.c:971
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:974
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:977
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:979
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:981
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:983
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:986
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:990
 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:985
+#: builtin/update-index.c:994
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:995
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1005
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1008
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1011
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:1004
+#: builtin/update-index.c:1014
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:1007
+#: builtin/update-index.c:1017
 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:1009
+#: builtin/update-index.c:1019
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1021
 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:1013
+#: builtin/update-index.c:1023
 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:1017
+#: builtin/update-index.c:1027
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1031
 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:1025
+#: builtin/update-index.c:1035
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1029
+#: builtin/update-index.c:1039
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1042
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1044
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1038
+#: builtin/update-index.c:1048
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1040
+#: builtin/update-index.c:1050
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1052
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1054
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1046
+#: builtin/update-index.c:1056
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1058
 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:1050
+#: builtin/update-index.c:1060
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1062
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1065
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1156
+#: builtin/update-index.c:1168
 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:1165
+#: builtin/update-index.c:1177
 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:1176
+#: builtin/update-index.c:1188
 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"
@@ -18715,11 +19723,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1180
+#: builtin/update-index.c:1192
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1200
 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"
@@ -18727,25 +19735,25 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1204
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1212
 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:1204
+#: builtin/update-index.c:1216
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1207
+#: builtin/update-index.c:1219
 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:1211
+#: builtin/update-index.c:1223
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -18789,6 +19797,10 @@ msgstr "从头开始更新文件信息"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
+#: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17
+msgid "quit after a single request/response exchange"
+msgstr "在一次单独的请求/响应之后退出"
+
 #: builtin/upload-pack.c:25
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
 #: builtin/upload-pack.c:25
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
@@ -18861,7 +19873,7 @@ 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:61 builtin/worktree.c:888
+#: builtin/worktree.c:61 builtin/worktree.c:891
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "删除 '%s' 失败"
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "删除 '%s' 失败"
@@ -18934,120 +19946,120 @@ msgstr ""
 "'%s' 是一个丢失但已经注册的工作区,使用\n"
 "'add -f' 覆盖,或 'prune' 或 'remove' 清除"
 
 "'%s' 是一个丢失但已经注册的工作区,使用\n"
 "'add -f' 覆盖,或 'prune' 或 'remove' 清除"
 
-#: builtin/worktree.c:310
+#: builtin/worktree.c:302
 #, 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:429 builtin/worktree.c:435
+#: builtin/worktree.c:432 builtin/worktree.c:438
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "准备工作区(新分支 '%s')"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:434
 #, 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:440
+#: builtin/worktree.c:443
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "准备工作区(检出 '%s')"
 
-#: builtin/worktree.c:446
+#: builtin/worktree.c:449
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:490
 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:490
+#: builtin/worktree.c:493
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:492
+#: builtin/worktree.c:495
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:494
+#: builtin/worktree.c:497
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:498
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:501
 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:501
+#: builtin/worktree.c:504
 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:509
+#: builtin/worktree.c:512
 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:570
+#: builtin/worktree.c:573
 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:670
+#: builtin/worktree.c:673
 msgid "reason for locking"
 msgstr "锁定原因"
 
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:682 builtin/worktree.c:715 builtin/worktree.c:789
-#: builtin/worktree.c:916
+#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
+#: builtin/worktree.c:919
 #, 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:684 builtin/worktree.c:717
+#: builtin/worktree.c:687 builtin/worktree.c:720
 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:689
+#: builtin/worktree.c:692
 #, 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:691
+#: builtin/worktree.c:694
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:719
+#: builtin/worktree.c:722
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:760
+#: builtin/worktree.c:763
 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:768
+#: builtin/worktree.c:771
 msgid "force move even if worktree is dirty or locked"
 msgstr "强制移动,即使工作区是脏的或已锁定"
 
 msgid "force move even if worktree is dirty or locked"
 msgstr "强制移动,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:791 builtin/worktree.c:918
+#: builtin/worktree.c:794 builtin/worktree.c:921
 #, 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:796
+#: builtin/worktree.c:799
 #, 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:802
+#: builtin/worktree.c:805
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
-#: builtin/worktree.c:810
+#: builtin/worktree.c:813
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -19056,7 +20068,7 @@ msgstr ""
 "无法移动一个锁定的工作区,锁定原因:%s\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
 "无法移动一个锁定的工作区,锁定原因:%s\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:812
+#: builtin/worktree.c:815
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -19064,36 +20076,36 @@ msgstr ""
 "无法移动一个锁定的工作区,\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
 "无法移动一个锁定的工作区,\n"
 "使用 'move -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:818
 #, 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:820
+#: builtin/worktree.c:823
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s' 失败"
 
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "移动 '%s' 到 '%s' 失败"
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:871
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "在 '%s' 中执行 'git status' 失败"
 
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "在 '%s' 中执行 'git status' 失败"
 
-#: builtin/worktree.c:872
+#: builtin/worktree.c:875
 #, 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:877
+#: builtin/worktree.c:880
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "在 '%s' 中执行 'git status' 失败,退出码 %d"
 
-#: builtin/worktree.c:900
+#: builtin/worktree.c:903
 msgid "force removal even if worktree is dirty or locked"
 msgstr "强制删除,即使工作区是脏的或已锁定"
 
 msgid "force removal even if worktree is dirty or locked"
 msgstr "强制删除,即使工作区是脏的或已锁定"
 
-#: builtin/worktree.c:923
+#: builtin/worktree.c:926
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -19102,7 +20114,7 @@ msgstr ""
 "无法删除一个锁定的工作区,锁定原因:%s\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
 "无法删除一个锁定的工作区,锁定原因:%s\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:925
+#: builtin/worktree.c:928
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -19110,7 +20122,7 @@ msgstr ""
 "无法删除一个锁定的工作区,\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
 "无法删除一个锁定的工作区,\n"
 "使用 'remove -f -f' 覆盖或先解锁"
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:931
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
@@ -19157,6 +20169,14 @@ msgstr "提交 %s 没有标记为可达"
 msgid "too many commits marked reachable"
 msgstr "太多提交标记为可达"
 
 msgid "too many commits marked reachable"
 msgstr "太多提交标记为可达"
 
+#: t/helper/test-serve-v2.c:7
+msgid "test-tool serve-v2 [<options>]"
+msgstr "test-tool serve-v2 [<选项>]"
+
+#: t/helper/test-serve-v2.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "对能力广告之后立即退出"
+
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
 #: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
@@ -19183,47 +20203,47 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: git.c:174
+#: git.c:185
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "没有为 --git-dir 提供目录\n"
 
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "没有为 --git-dir 提供目录\n"
 
-#: git.c:188
+#: git.c:199
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "没有为 --namespace 提供命名空间\n"
 
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "没有为 --namespace 提供命名空间\n"
 
-#: git.c:202
+#: git.c:213
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "没有为 --work-tree 提供目录\n"
 
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "没有为 --work-tree 提供目录\n"
 
-#: git.c:216
+#: git.c:227
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "没有为 --super-prefix 提供前缀\n"
 
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "没有为 --super-prefix 提供前缀\n"
 
-#: git.c:238
+#: git.c:249
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "应为 -c 提供一个配置字符串\n"
 
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "应为 -c 提供一个配置字符串\n"
 
-#: git.c:276
+#: git.c:287
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "没有为 -C 提供目录\n"
 
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "没有为 -C 提供目录\n"
 
-#: git.c:301
+#: git.c:313
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
-#: git.c:342
+#: git.c:359
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 #, c-format
 msgid "while expanding alias '%s': '%s'"
-msgstr "在扩展别名'%s' 时:'%s'"
+msgstr "在扩展别名 '%s' 时:'%s'"
 
 
-#: git.c:351
+#: git.c:368
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -19232,39 +20252,39 @@ msgstr ""
 "别名 '%s' 修改环境变量。您可以使用在别名中\n"
 "使用 '!git'"
 
 "别名 '%s' 修改环境变量。您可以使用在别名中\n"
 "使用 '!git'"
 
-#: git.c:359
+#: git.c:376
 #, c-format
 msgid "empty alias for %s"
 msgstr "%s 的空别名"
 
 #, c-format
 msgid "empty alias for %s"
 msgstr "%s 的空别名"
 
-#: git.c:362
+#: git.c:379
 #, c-format
 msgid "recursive alias: %s"
 #, c-format
 msgid "recursive alias: %s"
-msgstr "别名递归:%s"
+msgstr "递归的别名:%s"
 
 
-#: git.c:437
+#: git.c:459
 msgid "write failure on standard output"
 msgstr "在标准输出写入失败"
 
 msgid "write failure on standard output"
 msgstr "在标准输出写入失败"
 
-#: git.c:439
+#: git.c:461
 msgid "unknown write failure on standard output"
 msgstr "到标准输出的未知写入错误"
 
 msgid "unknown write failure on standard output"
 msgstr "到标准输出的未知写入错误"
 
-#: git.c:441
+#: git.c:463
 msgid "close failed on standard output"
 msgstr "标准输出关闭失败"
 
 msgid "close failed on standard output"
 msgstr "标准输出关闭失败"
 
-#: git.c:720
+#: git.c:797
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "检测到别名循环:'%s'的扩展未终止:%s"
 
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr "检测到别名循环:'%s'的扩展未终止:%s"
 
-#: git.c:770
+#: git.c:847
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "不能作为内置命令处理 %s"
 
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "不能作为内置命令处理 %s"
 
-#: git.c:783
+#: git.c:860
 #, c-format
 msgid ""
 "usage: %s\n"
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -19273,12 +20293,12 @@ msgstr ""
 "用法:%s\n"
 "\n"
 
 "用法:%s\n"
 "\n"
 
-#: git.c:803
+#: git.c:880
 #, 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:815
+#: git.c:892
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "运行命令 '%s' 失败:%s\n"
@@ -19319,7 +20339,7 @@ msgstr "无法设置 SSL 后端为 '%s':cURL: cURL 没有使用 SSL 后端构
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "无法将 SSL 后端设置为 '%s':已经设置"
 
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "无法将 SSL 后端设置为 '%s':已经设置"
 
-#: http.c:1959
+#: http.c:1965
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -19330,31 +20350,159 @@ msgstr ""
 "     请求:%s\n"
 "   重定向:%s"
 
 "     请求:%s\n"
 "   重定向:%s"
 
-#: remote-curl.c:455
+#: remote-curl.c:157
+#, c-format
+msgid "invalid quoting in push-option value: '%s'"
+msgstr "在 push-option 取值中无效的引号:'%s'"
+
+#: remote-curl.c:254
+#, c-format
+msgid "%sinfo/refs not valid: is this a git repository?"
+msgstr "%sinfo/refs 无效:这是一个 git 仓库么?"
+
+#: remote-curl.c:355
+msgid "invalid server response; expected service, got flush packet"
+msgstr "无效的服务端响应。预期服务,得到 flush 包"
+
+#: remote-curl.c:386
+#, c-format
+msgid "invalid server response; got '%s'"
+msgstr "无效的服务端响应,得到 '%s'"
+
+#: remote-curl.c:446
+#, c-format
+msgid "repository '%s' not found"
+msgstr "仓库 '%s' 未找到"
+
+#: remote-curl.c:450
+#, c-format
+msgid "Authentication failed for '%s'"
+msgstr "'%s' 鉴权失败"
+
+#: remote-curl.c:454
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr "无法访问 '%s':%s"
+
+#: remote-curl.c:460
 #, c-format
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
 #, c-format
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
-#: parse-options.h:154
+#: remote-curl.c:584
+msgid "shouldn't have EOF when not gentle on EOF"
+msgstr "当没有设置温和处理文件结束符(EOF)时,不应该有文件结束符"
+
+#: remote-curl.c:664
+msgid "unable to rewind rpc post data - try increasing http.postBuffer"
+msgstr "无法倒回 rpc post 数据 - 尝试增加 http.postBuffer"
+
+#: remote-curl.c:724
+#, c-format
+msgid "RPC failed; %s"
+msgstr "RPC 失败。%s"
+
+#: remote-curl.c:764
+msgid "cannot handle pushes this big"
+msgstr "不能处理这么大的推送"
+
+#: remote-curl.c:879
+#, c-format
+msgid "cannot deflate request; zlib deflate error %d"
+msgstr "不能压缩请求,zlib 压缩错误 %d"
+
+#: remote-curl.c:883
+#, c-format
+msgid "cannot deflate request; zlib end error %d"
+msgstr "不能压缩请求,zlib 结束错误 %d"
+
+#: remote-curl.c:1014
+msgid "dumb http transport does not support shallow capabilities"
+msgstr "哑 http 传输不支持 shalllow 能力"
+
+#: remote-curl.c:1028
+msgid "fetch failed."
+msgstr "获取失败。"
+
+#: remote-curl.c:1076
+msgid "cannot fetch by sha1 over smart http"
+msgstr "无法通过智能 HTTP 获取 sha1"
+
+#: remote-curl.c:1120 remote-curl.c:1126
+#, c-format
+msgid "protocol error: expected sha/ref, got '%s'"
+msgstr "协议错误:期望 sha/ref,却得到 '%s'"
+
+#: remote-curl.c:1138 remote-curl.c:1252
+#, c-format
+msgid "http transport does not support %s"
+msgstr "http 传输协议不支持 %s"
+
+#: remote-curl.c:1174
+msgid "git-http-push failed"
+msgstr "git-http-push 失败"
+
+#: remote-curl.c:1360
+msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
+msgstr "remote-curl:用法:git remote-curl <远程> [<url>]"
+
+#: remote-curl.c:1392
+msgid "remote-curl: error reading command stream from git"
+msgstr "remote-curl:错误读取来自 git 的命令流"
+
+#: remote-curl.c:1399
+msgid "remote-curl: fetch attempted without a local repo"
+msgstr "remote-curl:尝试没有本地仓库下获取"
+
+#: remote-curl.c:1439
+#, c-format
+msgid "remote-curl: unknown command '%s' from git"
+msgstr "remote-curl:未知的来自 git 的命令 '%s'"
+
+#: list-objects-filter-options.h:61
+msgid "args"
+msgstr "参数"
+
+#: list-objects-filter-options.h:62
+msgid "object filtering"
+msgstr "对象过滤"
+
+#: parse-options.h:170
 msgid "expiry-date"
 msgstr "到期时间"
 
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:169
+#: parse-options.h:184
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:259
+#: parse-options.h:304
 msgid "be more verbose"
 msgstr "更加详细"
 
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:261
+#: parse-options.h:306
 msgid "be more quiet"
 msgstr "更加安静"
 
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:267
+#: parse-options.h:312
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
+#: parse-options.h:331
+msgid "how to strip spaces and #comments from message"
+msgstr "设置如何删除提交说明里的空格和#注释"
+
+#: ref-filter.h:101
+msgid "key"
+msgstr "key"
+
+#: ref-filter.h:101
+msgid "field name to sort on"
+msgstr "排序的字段名"
+
+#: rerere.h:44
+msgid "update the index with reused conflict resolution if possible"
+msgstr "如果可能,重用冲突解决更新索引"
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "添加文件内容至索引"
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "添加文件内容至索引"
@@ -19561,7 +20709,7 @@ msgstr "清除不必要的文件和优化本地仓库"
 
 #: command-list.h:101
 msgid "Extract commit ID from an archive created using git-archive"
 
 #: command-list.h:101
 msgid "Extract commit ID from an archive created using git-archive"
-msgstr "从 git-archive 创建的归档文件中提取提交ID"
+msgstr "从 git-archive 创建的归档文件中提取提交 ID"
 
 #: command-list.h:102
 msgid "Print lines matching a pattern"
 
 #: command-list.h:102
 msgid "Print lines matching a pattern"
@@ -19573,7 +20721,7 @@ msgstr "一个便携的 Git 图形客户端"
 
 #: command-list.h:104
 msgid "Compute object ID and optionally creates a blob from a file"
 
 #: command-list.h:104
 msgid "Compute object ID and optionally creates a blob from a file"
-msgstr "从一个文件计算对象ID,并可以创建 blob 数据对象"
+msgstr "从一个文件计算对象 ID,并可以创建 blob 数据对象"
 
 #: command-list.h:105
 msgid "Display help information about Git"
 
 #: command-list.h:105
 msgid "Display help information about Git"
@@ -19608,7 +20756,7 @@ msgid "Instantly browse your working repository in gitweb"
 msgstr "在 gitweb 中即时浏览您的工作仓库"
 
 #: command-list.h:113
 msgstr "在 gitweb 中即时浏览您的工作仓库"
 
 #: command-list.h:113
-msgid "add or parse structured information in commit messages"
+msgid "Add or parse structured information in commit messages"
 msgstr "添加或解析提交说明中的结构化信息"
 
 #: command-list.h:114
 msgstr "添加或解析提交说明中的结构化信息"
 
 #: command-list.h:114
@@ -19714,7 +20862,7 @@ msgstr "帮助解析远程仓库访问参数的例程"
 
 #: command-list.h:139
 msgid "Compute unique ID for a patch"
 
 #: command-list.h:139
 msgid "Compute unique ID for a patch"
-msgstr "计算一个补丁的唯一ID"
+msgstr "计算一个补丁的唯一 ID"
 
 #: command-list.h:140
 msgid "Prune all unreachable objects from the object database"
 
 #: command-list.h:140
 msgid "Prune all unreachable objects from the object database"
@@ -19992,18 +21140,6 @@ msgstr "一个 Git 教程"
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
-#: list-objects-filter-options.h:63
-msgid "args"
-msgstr "参数"
-
-#: list-objects-filter-options.h:64
-msgid "object filtering"
-msgstr "对象过滤"
-
-#: rerere.h:44
-msgid "update the index with reused conflict resolution if possible"
-msgstr "如果可能,重用冲突解决更新索引"
-
 #: git-bisect.sh:54
 msgid "You need to start by \"git bisect start\""
 msgstr "您需要执行 \"git bisect start\" 来开始"
 #: git-bisect.sh:54
 msgid "You need to start by \"git bisect start\""
 msgstr "您需要执行 \"git bisect start\" 来开始"
@@ -20126,276 +21262,113 @@ msgstr "尝试和 $pretty_name 的简单合并"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-legacy-rebase.sh:445
-#, sh-format
-msgid "Could not move back to $head_name"
-msgstr "无法移回 $head_name"
-
-#: git-legacy-rebase.sh:471
-#, sh-format
-msgid ""
-"It seems that there is already a $state_dir_base directory, and\n"
-"I wonder if you are in the middle of another rebase.  If that is the\n"
-"case, please try\n"
-"\t$cmd_live_rebase\n"
-"If that is not the case, please\n"
-"\t$cmd_clear_stale_rebase\n"
-"and run me again.  I am stopping in case you still have something\n"
-"valuable there."
-msgstr ""
-"好像已有 $state_dir_base 目录,我怀疑您正处于另外一个变基操作\n"
-"过程中。 如果是这样,请执行\n"
-"\t$cmd_live_rebase\n"
-"如果不是这样,请执行\n"
-"\t$cmd_clear_stale_rebase\n"
-"然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
-
-#: git-legacy-rebase.sh:523
-msgid ""
-"fatal: cannot combine am options with either interactive or merge options"
-msgstr "致命错误:不能将 am 选项和交互或合并选项组合一起"
-
-#: git-legacy-rebase.sh:530
-msgid "fatal: cannot combine '--signoff' with '--preserve-merges'"
-msgstr "致命错误:不能将 '--signoff' 和 '--preserve-merges' 组合一起"
-
-#: git-legacy-rebase.sh:541
-msgid "fatal: cannot combine '--preserve-merges' with '--rebase-merges'"
-msgstr "致命错误:不能将 '--preserve-merges' 和 '--rebase-merges' 组合一起"
-
-#: git-legacy-rebase.sh:550
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr "致命错误:不能将 '--rebase-merges' 和 '--strategy-option' 组合一起"
-
-#: git-legacy-rebase.sh:552
-msgid "fatal: cannot combine '--rebase-merges' with '--strategy'"
-msgstr "致命错误:不能将 '--rebase-merges' 和 '--strategy' 组合一起"
-
-#: git-legacy-rebase.sh:578
-#, sh-format
-msgid "invalid upstream '$upstream_name'"
-msgstr "无效的上游 '$upstream_name'"
-
-#: git-legacy-rebase.sh:602
-#, sh-format
-msgid "$onto_name: there are more than one merge bases"
-msgstr "$onto_name: 有一个以上的合并基准"
-
-#: git-legacy-rebase.sh:605 git-legacy-rebase.sh:609
-#, sh-format
-msgid "$onto_name: there is no merge base"
-msgstr "$onto_name: 没有合并基准"
-
-#: git-legacy-rebase.sh:614
-#, sh-format
-msgid "Does not point to a valid commit: $onto_name"
-msgstr "没有指向一个有效的提交:$onto_name"
-
-#: git-legacy-rebase.sh:640
-#, sh-format
-msgid "fatal: no such branch/commit '$branch_name'"
-msgstr "致命错误:无此分支/提交 '$branch_name'"
-
-#: git-legacy-rebase.sh:678
-#, sh-format
-msgid "Created autostash: $stash_abbrev"
-msgstr "创建了 autostash: $stash_abbrev"
-
-#: git-legacy-rebase.sh:707
-#, sh-format
-msgid "Current branch $branch_name is up to date."
-msgstr "当前分支 $branch_name 是最新的。"
-
-#: git-legacy-rebase.sh:717
-#, sh-format
-msgid "Current branch $branch_name is up to date, rebase forced."
-msgstr "当前分支 $branch_name 是最新的,强制变基。"
-
-#: git-legacy-rebase.sh:731
-#, sh-format
-msgid "Changes to $onto:"
-msgstr "到 $onto 的变更:"
-
-#: git-legacy-rebase.sh:733
-#, sh-format
-msgid "Changes from $mb to $onto:"
-msgstr "从 $mb 到 $onto 的变更:"
-
-#: git-legacy-rebase.sh:743
-#, sh-format
-msgid "Fast-forwarded $branch_name to $onto_name."
-msgstr "快进 $branch_name 至 $onto_name。"
-
-#: git-legacy-rebase.sh:757
-msgid "First, rewinding head to replay your work on top of it..."
-msgstr "首先,回退分支以便在上面重放您的工作..."
-
-#: git-stash.sh:75
-msgid "git stash clear with parameters is unimplemented"
-msgstr "git stash clear 不支持参数"
-
-#: git-stash.sh:125
-msgid "You do not have the initial commit yet"
-msgstr "您尚未建立初始提交"
-
-#: git-stash.sh:140
-msgid "Cannot save the current index state"
-msgstr "无法保存当前索引状态"
-
-#: git-stash.sh:155
-msgid "Cannot save the untracked files"
-msgstr "无法保存未跟踪文件"
-
-#: git-stash.sh:175 git-stash.sh:188
-msgid "Cannot save the current worktree state"
-msgstr "无法保存当前工作区状态"
-
-#: git-stash.sh:192
-msgid "No changes selected"
-msgstr "没有选择变更"
-
-#: git-stash.sh:195
+#: git-legacy-stash.sh:220
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "无法删除临时索引(不应发生)"
 
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "无法删除临时索引(不应发生)"
 
-#: git-stash.sh:208
-msgid "Cannot record working tree state"
-msgstr "不能记录工作区状态"
-
-#: git-stash.sh:246
+#: git-legacy-stash.sh:271
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "无法用 $w_commit 更新 $ref_stash"
 
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "无法用 $w_commit 更新 $ref_stash"
 
-#: git-stash.sh:298
+#: git-legacy-stash.sh:323
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "错误:'stash push' 的未知选项:$option"
 
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "错误:'stash push' 的未知选项:$option"
 
-#: git-stash.sh:312
-msgid "Can't use --patch and --include-untracked or --all at the same time"
-msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
-
-#: git-stash.sh:320
-msgid "No local changes to save"
-msgstr "没有要保存的本地修改"
-
-#: git-stash.sh:325
-msgid "Cannot initialize stash"
-msgstr "无法初始化贮藏"
-
-#: git-stash.sh:329
-msgid "Cannot save the current status"
-msgstr "无法保存当前状态"
-
-#: git-stash.sh:330
+#: git-legacy-stash.sh:355
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "保存工作目录和索引状态 $stash_msg"
 
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "保存工作目录和索引状态 $stash_msg"
 
-#: git-stash.sh:359
-msgid "Cannot remove worktree changes"
-msgstr "无法删除工作区变更"
-
-#: git-stash.sh:507
+#: git-legacy-stash.sh:535
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-stash.sh:520
-msgid "No stash entries found."
-msgstr "未发现贮藏条目。"
-
-#: git-stash.sh:527
+#: git-legacy-stash.sh:555
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-stash.sh:542
+#: git-legacy-stash.sh:570
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-stash.sh:570
+#: git-legacy-stash.sh:598
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是贮藏式提交"
 
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是贮藏式提交"
 
-#: git-stash.sh:581
+#: git-legacy-stash.sh:609
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个贮藏引用"
 
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个贮藏引用"
 
-#: git-stash.sh:589
+#: git-legacy-stash.sh:617
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-stash.sh:593
+#: git-legacy-stash.sh:621
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程应用贮藏"
 
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程应用贮藏"
 
-#: git-stash.sh:601
+#: git-legacy-stash.sh:629
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-stash.sh:603
+#: git-legacy-stash.sh:631
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-stash.sh:612
+#: git-legacy-stash.sh:640
 msgid "Could not restore untracked files from stash entry"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
 msgid "Could not restore untracked files from stash entry"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: git-stash.sh:637
+#: git-legacy-stash.sh:665
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
-#: git-stash.sh:652
-msgid "Index was not unstashed."
-msgstr "索引未从贮藏中恢复。"
-
-#: git-stash.sh:666
-msgid "The stash entry is kept in case you need it again."
-msgstr "贮藏条目被保留以备您再次需要。"
-
-#: git-stash.sh:675
+#: git-legacy-stash.sh:703
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-stash.sh:676
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:无法丢弃贮藏条目"
 
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:无法丢弃贮藏条目"
 
-#: git-stash.sh:684
-msgid "No branch name specified"
-msgstr "未指定分支名"
-
-#: git-stash.sh:763
+#: git-legacy-stash.sh:791
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:198
+#: git-submodule.sh:200
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:208
+#: git-submodule.sh:210
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:227
+#: git-submodule.sh:229
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:230
+#: git-submodule.sh:232
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
-#: git-submodule.sh:236
+#: git-submodule.sh:239
+#, sh-format
+msgid "'$sm_path' does not have a commit checked out"
+msgstr "'$sm_path' 没有检出的提交"
+
+#: git-submodule.sh:245
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -20406,22 +21379,22 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:259
+#: git-submodule.sh:268
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:261
+#: git-submodule.sh:270
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:269
+#: git-submodule.sh:278
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:271
+#: git-submodule.sh:280
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -20436,49 +21409,51 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:286
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:289
+#: git-submodule.sh:298
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:294
+#: git-submodule.sh:303
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:312
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:563
+#: git-submodule.sh:573
 #, 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:573
+#: git-submodule.sh:583
 #, 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:578
+#: git-submodule.sh:588
 #, 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:596
+#: git-submodule.sh:606
 #, sh-format
 #, sh-format
-msgid "Unable to fetch in submodule path '$displaypath'"
-msgstr "无法在子模组路径 '$displaypath' 中获取"
+msgid ""
+"Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
+"$sha1:"
+msgstr "无法在子模组路径 '$displaypath' 中获取,尝试直接获取 $sha1:"
 
 
-#: git-submodule.sh:602
+#: git-submodule.sh:612
 #, 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. "
@@ -20486,74 +21461,74 @@ msgid ""
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:609
+#: git-submodule.sh:619
 #, 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:610
+#: git-submodule.sh:620
 #, 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:614
+#: git-submodule.sh:624
 #, 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:615
+#: git-submodule.sh:625
 #, 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:620
+#: git-submodule.sh:630
 #, 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:621
+#: git-submodule.sh:631
 #, 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:626
+#: git-submodule.sh:636
 #, 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:627
+#: git-submodule.sh:637
 #, 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:658
+#: git-submodule.sh:668
 #, 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:754
+#: git-submodule.sh:830
 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:806
+#: git-submodule.sh:882
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:826
+#: git-submodule.sh:902
 #, 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:829
+#: git-submodule.sh:905
 #, 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:832
+#: git-submodule.sh:908
 #, 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"
@@ -20864,55 +21839,55 @@ msgstr "不能对重写提交进行初始化"
 msgid "usage: $dashless $USAGE"
 msgstr "用法:$dashless $USAGE"
 
 msgid "usage: $dashless $USAGE"
 msgstr "用法:$dashless $USAGE"
 
-#: git-sh-setup.sh:190
+#: git-sh-setup.sh:191
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr "不能切换目录到 $cdup,工作区的顶级目录"
 
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr "不能切换目录到 $cdup,工作区的顶级目录"
 
-#: git-sh-setup.sh:199 git-sh-setup.sh:206
+#: git-sh-setup.sh:200 git-sh-setup.sh:207
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr "致命错误:$program_name 不能在没有工作区的情况下使用"
 
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr "致命错误:$program_name 不能在没有工作区的情况下使用"
 
-#: git-sh-setup.sh:220
+#: git-sh-setup.sh:221
 msgid "Cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
 msgid "Cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: git-sh-setup.sh:223
+#: git-sh-setup.sh:224
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr "不能重写分支:您有未暂存的变更。"
 
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr "不能重写分支:您有未暂存的变更。"
 
-#: git-sh-setup.sh:226
+#: git-sh-setup.sh:227
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr "无法通过变基方式拉取:您有未暂存的变更。"
 
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr "无法通过变基方式拉取:您有未暂存的变更。"
 
-#: git-sh-setup.sh:229
+#: git-sh-setup.sh:230
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "不能 $action:您有未暂存的变更。"
 
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "不能 $action:您有未暂存的变更。"
 
-#: git-sh-setup.sh:242
+#: git-sh-setup.sh:243
 msgid "Cannot rebase: Your index contains uncommitted changes."
 msgstr "不能变基:您的索引中包含未提交的变更。"
 
 msgid "Cannot rebase: Your index contains uncommitted changes."
 msgstr "不能变基:您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:245
+#: git-sh-setup.sh:246
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
 
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:248
+#: git-sh-setup.sh:249
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr "不能 $action:您的索引中包含未提交的变更。"
 
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr "不能 $action:您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:252
+#: git-sh-setup.sh:253
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "而且您的索引中包含未提交的变更。"
 
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "而且您的索引中包含未提交的变更。"
 
-#: git-sh-setup.sh:372
+#: git-sh-setup.sh:373
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr "您需要在工作区的顶级目录中运行这个命令。"
 
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr "您需要在工作区的顶级目录中运行这个命令。"
 
-#: git-sh-setup.sh:377
+#: git-sh-setup.sh:378
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
 
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
 
@@ -21453,7 +22428,7 @@ msgstr "'%s.final' 包含编辑的邮件。\n"
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases 和其它选项不兼容\n"
 
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases 和其它选项不兼容\n"
 
-#: git-send-email.perl:395 git-send-email.perl:650
+#: git-send-email.perl:395 git-send-email.perl:656
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "不能在仓库之外运行 git format-patch\n"
 
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "不能在仓库之外运行 git format-patch\n"
 
@@ -21463,37 +22438,37 @@ msgid ""
 "configuration option)\n"
 msgstr "`batch-size` 和 `relogin` 必须同时定义(通过命令行或者配置选项)\n"
 
 "configuration option)\n"
 msgstr "`batch-size` 和 `relogin` 必须同时定义(通过命令行或者配置选项)\n"
 
-#: git-send-email.perl:468
+#: git-send-email.perl:470
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "未知的 --suppress-cc 字段:'%s'\n"
 
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "未知的 --suppress-cc 字段:'%s'\n"
 
-#: git-send-email.perl:497
+#: git-send-email.perl:501
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "未知的 --confirm 设置:'%s'\n"
 
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "未知的 --confirm 设置:'%s'\n"
 
-#: git-send-email.perl:525
+#: git-send-email.perl:529
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
 
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
 
-#: git-send-email.perl:527
+#: git-send-email.perl:531
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "警告:不支持 `:include:`:%s\n"
 
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "警告:不支持 `:include:`:%s\n"
 
-#: git-send-email.perl:529
+#: git-send-email.perl:533
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
 
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
 
-#: git-send-email.perl:534
+#: git-send-email.perl:538
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "警告:不能识别的 sendmail 行:%s\n"
 
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "警告:不能识别的 sendmail 行:%s\n"
 
-#: git-send-email.perl:616
+#: git-send-email.perl:622
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -21508,12 +22483,12 @@ msgstr ""
 "    * 如果含义为一个文件,使用 \"./%s\",或者\n"
 "    * 如果含义为一个范围,使用 --format-patch 选项。\n"
 
 "    * 如果含义为一个文件,使用 \"./%s\",或者\n"
 "    * 如果含义为一个范围,使用 --format-patch 选项。\n"
 
-#: git-send-email.perl:637
+#: git-send-email.perl:643
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "无法打开目录 %s: %s"
 
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "无法打开目录 %s: %s"
 
-#: git-send-email.perl:661
+#: git-send-email.perl:667
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -21522,7 +22497,7 @@ msgstr ""
 "致命错误:%s:%s\n"
 "警告:补丁未能发送\n"
 
 "致命错误:%s:%s\n"
 "警告:补丁未能发送\n"
 
-#: git-send-email.perl:672
+#: git-send-email.perl:678
 msgid ""
 "\n"
 "No patch files specified!\n"
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -21532,17 +22507,17 @@ msgstr ""
 "未指定补丁文件!\n"
 "\n"
 
 "未指定补丁文件!\n"
 "\n"
 
-#: git-send-email.perl:685
+#: git-send-email.perl:691
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "在 %s 中没有标题行?"
 
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "在 %s 中没有标题行?"
 
-#: git-send-email.perl:695
+#: git-send-email.perl:701
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "为写入打开 %s 失败: %s"
 
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "为写入打开 %s 失败: %s"
 
-#: git-send-email.perl:706
+#: git-send-email.perl:712
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -21551,41 +22526,41 @@ msgid ""
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr ""
 "以 \"GIT:\" 开头的行将被删除。\n"
 "Clear the body content if you don't wish to send a summary.\n"
 msgstr ""
 "以 \"GIT:\" 开头的行将被删除。\n"
-"考虑包含一个整体的 diffstat 或者您正在写的补丁的目录。\n"
+"考虑包含一个整体的差异统计或者您正在写的补丁的目录。\n"
 "\n"
 "如果您不想发送摘要,清除内容。\n"
 
 "\n"
 "如果您不想发送摘要,清除内容。\n"
 
-#: git-send-email.perl:730
+#: git-send-email.perl:736
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "无法打开 %s: %s"
 
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "无法打开 %s: %s"
 
-#: git-send-email.perl:747
+#: git-send-email.perl:753
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "无法打开 %s.final: %s"
 
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "无法打开 %s.final: %s"
 
-#: git-send-email.perl:790
+#: git-send-email.perl:796
 msgid "Summary email is empty, skipping it\n"
 msgstr "摘要邮件为空,跳过\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
 msgid "Summary email is empty, skipping it\n"
 msgstr "摘要邮件为空,跳过\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:825
+#: git-send-email.perl:831
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "您确认要使用 <%s> [y/N]?"
 
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "您确认要使用 <%s> [y/N]?"
 
-#: git-send-email.perl:880
+#: git-send-email.perl:886
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "如下文件含 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n"
 
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
 msgstr "如下文件含 8bit 内容,但没有声明一个 Content-Transfer-Encoding。\n"
 
-#: git-send-email.perl:885
+#: git-send-email.perl:891
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
 
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
 
-#: git-send-email.perl:893
+#: git-send-email.perl:899
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -21597,20 +22572,20 @@ msgstr ""
 "\t%s\n"
 "包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
 
 "\t%s\n"
 "包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
 
-#: git-send-email.perl:912
+#: git-send-email.perl:918
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "邮件将要发送给谁?"
 
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "邮件将要发送给谁?"
 
-#: git-send-email.perl:930
+#: git-send-email.perl:936
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "致命错误:别名 '%s' 扩展为它自己\n"
 
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "致命错误:别名 '%s' 扩展为它自己\n"
 
-#: git-send-email.perl:942
+#: git-send-email.perl:948
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ?"
 
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID 被用作第一封邮件的 In-Reply-To ?"
 
-#: git-send-email.perl:1000 git-send-email.perl:1008
+#: git-send-email.perl:1006 git-send-email.perl:1014
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
@@ -21618,16 +22593,16 @@ msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1012
+#: git-send-email.perl:1018
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
-#: git-send-email.perl:1329
+#: git-send-email.perl:1335
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
-#: git-send-email.perl:1412
+#: git-send-email.perl:1418
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -21652,128 +22627,128 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1427
+#: git-send-email.perl:1433
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
-#: git-send-email.perl:1430
+#: git-send-email.perl:1436
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
-#: git-send-email.perl:1458
+#: git-send-email.perl:1464
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
-#: git-send-email.perl:1505
+#: git-send-email.perl:1511
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
-#: git-send-email.perl:1510 git-send-email.perl:1514
+#: git-send-email.perl:1516 git-send-email.perl:1520
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1523
+#: git-send-email.perl:1529
 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:1541
+#: git-send-email.perl:1547
 #, 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:1544
+#: git-send-email.perl:1550
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1544
+#: git-send-email.perl:1550
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1552
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1546
+#: git-send-email.perl:1552
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1558
+#: git-send-email.perl:1564
 msgid "Result: "
 msgstr "结果:"
 
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1561
+#: git-send-email.perl:1567
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1579
+#: git-send-email.perl:1585
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1626 git-send-email.perl:1646
+#: git-send-email.perl:1632 git-send-email.perl:1652
 #, 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:1632
+#: git-send-email.perl:1638
 #, 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:1685
+#: git-send-email.perl:1691
 #, 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:1720
+#: git-send-email.perl:1726
 #, 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:1831
+#: git-send-email.perl:1837
 #, 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:1838
+#: git-send-email.perl:1844
 #, 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:1842
+#: git-send-email.perl:1848
 #, 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:1872
+#: git-send-email.perl:1878
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1880
+#: git-send-email.perl:1886
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1921 git-send-email.perl:1973 git-send-email.perl:1983
+#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989
 #, 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:1924
+#: git-send-email.perl:1930
 #, 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:1941
+#: git-send-email.perl:1947
 #, 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:1945
+#: git-send-email.perl:1951
 #, 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]:"