Merge branch 'rs/strbuf-add-real-path' into maint
[gitweb.git] / po / zh_CN.po
index c38326c6f106f65b6abd9ab7ff47f12c6dd0b432..622b61c95a69db0332161ce235d5b7e379a12869 100644 (file)
@@ -135,8 +135,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-11-25 22:50+0800\n"
-"PO-Revision-Date: 2016-11-25 22:54+0800\n"
+"POT-Creation-Date: 2017-02-18 01:00+0800\n"
+"PO-Revision-Date: 2017-02-25 00:10+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -187,7 +187,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:114 builtin/merge.c:1181
+#: advice.c:114 builtin/merge.c:1206
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
@@ -360,34 +360,34 @@ msgstr "未能识别的二进制补丁位于第 %d 行"
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2274
+#: apply.c:2265
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2278
+#: apply.c:2269
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2931
+#: apply.c:2922
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3050
+#: apply.c:3041
 #, 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:3062
+#: apply.c:3053
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3068
+#: apply.c:3059
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -396,437 +396,438 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3090
+#: apply.c:3081
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3098
+#: apply.c:3089
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr "不能反向应用一个没有至 '%s' 的反向数据块的二进制补丁"
+msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3144
+#: apply.c:3135
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3154
+#: apply.c:3145
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
-msgstr "è¡¥ä¸\81å¼\95ç\94¨å\88° '%s' (%s),但是和当前内容不匹配。"
+msgstr "è¡¥ä¸\81åº\94ç\94¨å\88° '%s'ï¼\88%sï¼\89,但是和当前内容不匹配。"
 
-#: apply.c:3162
+#: apply.c:3153
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr "补丁应用到空文件 '%s',但是它并不空"
+msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3180
+#: apply.c:3171
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必须的目标文件 %1$s"
 
-#: apply.c:3193
+#: apply.c:3184
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3199
+#: apply.c:3190
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3220
+#: apply.c:3211
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3342
+#: apply.c:3333
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3398
+#: apply.c:3389
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3427 apply.c:3667
+#: apply.c:3418 apply.c:3658
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3510 apply.c:3681
+#: apply.c:3501 apply.c:3672
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3519 apply.c:3689
+#: apply.c:3510 apply.c:3680
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3554
+#: apply.c:3545
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: apply.c:3557
+#: apply.c:3548
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
-#: apply.c:3573 apply.c:3577
+#: apply.c:3564 apply.c:3568
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3589
+#: apply.c:3580
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
-#: apply.c:3603
+#: apply.c:3594
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3608
+#: apply.c:3599
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3634
+#: apply.c:3625
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3706
+#: apply.c:3697
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3708
+#: apply.c:3699
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3859 apply.c:3861
+#: apply.c:3850 apply.c:3852
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3917
+#: apply.c:3908
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3920
+#: apply.c:3911
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3940
+#: apply.c:3931
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:3945
+#: apply.c:3936
 #, 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:3965
+#: apply.c:3956
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:3969
+#: apply.c:3960
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:3984
+#: apply.c:3975
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: apply.c:4075
+#: apply.c:4066
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4082
+#: apply.c:4073
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
-msgstr "%s 的属性改变,但它不再当前 HEAD 中"
+msgstr "%s 的模式被改变,但它不在当前 HEAD 中"
 
-#: apply.c:4085
+#: apply.c:4076
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: apply.c:4094
+#: apply.c:4085
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4104
+#: apply.c:4095
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4242
+#: apply.c:4233
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4277
+#: apply.c:4268
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4283
+#: apply.c:4274
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: apply.c:4291
+#: apply.c:4282
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4297 apply.c:4441
+#: apply.c:4288 apply.c:4432
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4338
+#: apply.c:4329
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "无法写入 '%s'"
 
-#: apply.c:4342
+#: apply.c:4333
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4412
+#: apply.c:4403
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4510
+#: apply.c:4501
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4518
+#: apply.c:4509
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4521
+#: apply.c:4512
 #, 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:4532
+#: apply.c:4523
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
+#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4554
+#: apply.c:4545
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4558
+#: apply.c:4549
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4668
+#: apply.c:4659
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4676
+#: apply.c:4667
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4695
+#: apply.c:4686
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4833
+#: apply.c:4824
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4858
+#: apply.c:4849
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4864 apply.c:4879
+#: apply.c:4855 apply.c:4870
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行有空白字符误用。"
 msgstr[1] "%d 行有空白字符误用。"
 
-#: apply.c:4872
+#: apply.c:4863
 #, 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:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
 #: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
-#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
+#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
+#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: git-add--interactive.perl:239
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4920
+#: apply.c:4911
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4923
+#: apply.c:4914
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4925 builtin/am.c:2286
+#: apply.c:4916 builtin/am.c:2286
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4926
+#: apply.c:4917
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4929
+#: apply.c:4920
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4931
+#: apply.c:4922
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:4935
+#: apply.c:4926
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:4937
+#: apply.c:4928
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:4939
+#: apply.c:4930
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:4941
+#: apply.c:4932
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:4943
+#: apply.c:4934
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4945
+#: apply.c:4936
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4947
+#: apply.c:4938
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:4949
+#: apply.c:4940
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: apply.c:4951
+#: apply.c:4942
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4956
+#: apply.c:4947
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4957 builtin/am.c:2265
+#: apply.c:4948 builtin/am.c:2265
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4958
+#: apply.c:4949
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:4961 apply.c:4964
+#: apply.c:4952 apply.c:4955
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:4967
+#: apply.c:4958
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:4969
+#: apply.c:4960
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:4971
+#: apply.c:4962
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:4973
+#: apply.c:4964
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
-#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
-#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
+#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:4976
+#: apply.c:4967
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:4979
+#: apply.c:4970
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:4981 builtin/am.c:2274
+#: apply.c:4972 builtin/am.c:2274
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:4982
+#: apply.c:4973
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -848,7 +849,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -869,11 +870,11 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
-#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
-#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
-#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
+#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: parse-options.h:153
 msgid "file"
 msgstr "文件"
 
@@ -906,7 +907,7 @@ msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
 #: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
 msgid "repo"
 msgstr "仓库"
 
@@ -1002,7 +1003,7 @@ msgstr ""
 #: bisect.c:750
 #, c-format
 msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
+"Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
@@ -1031,7 +1032,7 @@ msgstr "二分查找中:合并基线必须是经过测试的\n"
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
@@ -1218,7 +1219,7 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1227,10 +1228,10 @@ msgstr "不能打开 '%s'"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
-#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
+#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
 #: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:356 builtin/shortlog.c:170
+#: builtin/merge.c:360 builtin/shortlog.c:177
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
@@ -1269,7 +1270,7 @@ msgstr "rev-list 终止"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -1287,13 +1288,13 @@ msgstr "不能创建 '%s'"
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
-#: color.c:290
+#: color.c:300
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
-#: builtin/am.c:2127
+#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -1309,138 +1310,148 @@ msgid ""
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
-"警告:提交说明不符合 UTF-8 字符。\n"
+"警告:提交说明不符合 UTF-8 字符编码。\n"
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
-"设置为您项目所用的字符。\n"
+"设置为您项目所用的字符编码。\n"
 
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:516
+#: config.c:518
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:520
+#: config.c:522
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:524
+#: config.c:526
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:528
+#: config.c:530
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:532
+#: config.c:534
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:536
+#: config.c:538
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:655
+#: config.c:657
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:655
+#: config.c:657
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:661
+#: config.c:663
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: config.c:666
+#: config.c:668
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:669
+#: config.c:671
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:672
+#: config.c:674
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
-#: config.c:675
+#: config.c:677
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:678
+#: config.c:680
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:681
+#: config.c:683
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:768
+#: config.c:770
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:852 config.c:863
+#: config.c:865 config.c:876
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:978
+#: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1312
+#: config.c:1149
+#, c-format
+msgid "bad pack compression level %d"
+msgstr "错误的打包压缩级别 %d"
+
+#: config.c:1339
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1362
+#: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:1716
+#: config.c:1743
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:1718
+#: config.c:1745
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:1777
+#: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2311
+#: config.c:2225 config.c:2450
+#, c-format
+msgid "fstat on %s failed"
+msgstr "在 %s 上执行 fstat 失败"
+
+#: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2313
+#: config.c:2345
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
 #: connect.c:49
 msgid "The remote end hung up upon initial contact"
-msgstr "远端在初始连接时即挂断"
+msgstr "远端在连接发起时即挂断"
 
 #: connect.c:51
 msgid ""
@@ -1453,7 +1464,7 @@ msgstr ""
 "\n"
 "请确认您有正确的访问权限并且仓库存在。"
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+#: connected.c:63 builtin/fsck.c:190 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
@@ -1591,12 +1602,12 @@ msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:283
+#: diff.c:281
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:346
+#: diff.c:344
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1605,20 +1616,20 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:3087
+#: diff.c:3085
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:3412
+#: diff.c:3411
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:3502
+#: diff.c:3501
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:3665
+#: diff.c:3664
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1627,33 +1638,38 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:3679
+#: diff.c:3678
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:4700
+#: diff.c:4696
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:4703
+#: diff.c:4699
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:4706
+#: diff.c:4702
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
-msgstr "您可能想要将您的 %s 变量至少设置为 %d 并重复此命令。"
+msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:1866
+#: dir.c:1862
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:1985
+#: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
+#: dir.c:2759
+#, c-format
+msgid "could not migrate git directory from '%s' to '%s'"
+msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
+
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack:应为 shallow 列表"
@@ -1732,7 +1748,7 @@ msgstr "标记 %s 为完成"
 #: fetch-pack.c:697
 #, c-format
 msgid "already have %s (%s)"
-msgstr "已经有 %s (%s)"
+msgstr "已经有 %s(%s)"
 
 #: fetch-pack.c:735
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
@@ -1834,35 +1850,40 @@ msgstr "不能创建临时文件"
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
 
-#: grep.c:1782
+#: graph.c:96
+#, c-format
+msgid "ignore invalid color '%.*s' in log.graphColors"
+msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
+
+#: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
+#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法枚举 '%s' 状态"
 
-#: grep.c:1810
+#: grep.c:1822
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
 
-#: help.c:203
+#: help.c:218
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:210
+#: help.c:225
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:241
+#: help.c:256
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:306
+#: help.c:321
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -1871,11 +1892,11 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:361
+#: help.c:376
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: help.c:383
+#: help.c:398
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -1884,17 +1905,17 @@ msgstr ""
 "警告:您运行一个不存在的 Git 命令 '%s'。继续执行假定您要运行的\n"
 "是 '%s'"
 
-#: help.c:388
+#: help.c:403
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "在 %0.1f 秒钟后自动运行..."
 
-#: help.c:395
+#: help.c:410
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:399 help.c:465
+#: help.c:414 help.c:480
 msgid ""
 "\n"
 "Did you mean this?"
@@ -1908,7 +1929,7 @@ msgstr[1] ""
 "\n"
 "您指的是这其中的某一个么?"
 
-#: help.c:461
+#: help.c:476
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
@@ -1974,69 +1995,69 @@ msgstr "无法写新的索引文件"
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:231
+#: merge-recursive.c:231 merge-recursive.c:239
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "为路径 '%s' addinfo_cache 失败"
 
-#: merge-recursive.c:301
+#: merge-recursive.c:303
 msgid "error building trees"
 msgstr "无法创建树"
 
-#: merge-recursive.c:720
+#: merge-recursive.c:727
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "无法创建路径 '%s'%s"
 
-#: merge-recursive.c:731
+#: merge-recursive.c:738
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
+#: merge-recursive.c:752 merge-recursive.c:771
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:754
+#: merge-recursive.c:761
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:796 builtin/cat-file.c:34
+#: merge-recursive.c:803 builtin/cat-file.c:34
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:805
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:822
+#: merge-recursive.c:829
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "无法打开 '%s':%s"
 
-#: merge-recursive.c:833
+#: merge-recursive.c:840
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "无法创建符号链接 '%s':%s"
 
-#: merge-recursive.c:838
+#: merge-recursive.c:845
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:978
+#: merge-recursive.c:985
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:982
+#: merge-recursive.c:989
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: merge-recursive.c:1088 merge-recursive.c:1102
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2045,7 +2066,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本被保留。"
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: merge-recursive.c:1094 merge-recursive.c:1107
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2054,20 +2075,20 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本保留于 %8$s 中。"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1143
+#: merge-recursive.c:1150
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1200
+#: merge-recursive.c:1207
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1225
+#: merge-recursive.c:1232
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2076,135 +2097,135 @@ msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1230
+#: merge-recursive.c:1237
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1292
+#: merge-recursive.c:1299
 #, 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:1325
+#: merge-recursive.c:1332
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
 
-#: merge-recursive.c:1531
+#: merge-recursive.c:1535
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1546
+#: merge-recursive.c:1550
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: merge-recursive.c:1557 merge-recursive.c:1771
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:1610
+#: merge-recursive.c:1614
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:1613
+#: merge-recursive.c:1617
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:1666
+#: merge-recursive.c:1670
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:1676
+#: merge-recursive.c:1680
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:1683
+#: merge-recursive.c:1687
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:1718
+#: merge-recursive.c:1723
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:1732
+#: merge-recursive.c:1737
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1736 git-submodule.sh:924
+#: merge-recursive.c:1741 git-submodule.sh:930
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1742
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1836
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:1857
+#: merge-recursive.c:1862
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:1863
+#: merge-recursive.c:1868
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1874
 #, 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:1877
+#: merge-recursive.c:1883
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1914
+#: merge-recursive.c:1920
 msgid "Already up-to-date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:1923
+#: merge-recursive.c:1929
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:2006
+#: merge-recursive.c:2012
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:2019
+#: merge-recursive.c:2025
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:2058
+#: merge-recursive.c:2064
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2121
+#: merge-recursive.c:2127
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -2215,8 +2236,8 @@ msgid ""
 "Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
 "commit/abort the previous merge before you start a new notes merge."
 msgstr ""
-"您尚未结束您前一次注释合并(存在 %s)。\n"
-"请您在开始一个新的注释合并之前,使用 'git notes merge --commit' 或者 'git "
+"您的前一次注释合并尚未结束(存在 %s)。\n"
+"在开始一个新的注释合并之前,请使用 'git notes merge --commit' 或者 'git "
 "notes merge --abort' 来提交/终止前一次合并。"
 
 #: notes-merge.c:280
@@ -2245,7 +2266,7 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object.c:242
+#: object.c:240
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
@@ -2286,69 +2307,74 @@ msgstr "非法的对象名 '%s'"
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
 
-#: pathspec.c:133
+#: pathspec.c:142
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
 
-#: pathspec.c:143
+#: pathspec.c:149
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
 msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
-#: pathspec.c:177
+#: pathspec.c:188
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "路径规格包含无效的神奇前缀"
 
-#: pathspec.c:183
+#: pathspec.c:201
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
-#: pathspec.c:187
+#: pathspec.c:206
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
 
-#: pathspec.c:205
+#: pathspec.c:238
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
-#: pathspec.c:230
+#: pathspec.c:293 pathspec.c:315
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
+
+#: pathspec.c:350
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s:'literal' 和 'glob' 不兼容"
 
-#: pathspec.c:241
+#: pathspec.c:363
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s:'%s' 在仓库之外"
 
-#: pathspec.c:291
+#: pathspec.c:451
 #, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
+msgid "'%s' (mnemonic: '%c')"
+msgstr "'%s'(助记符:'%c')"
 
-#: pathspec.c:353
+#: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
 
-#: pathspec.c:408
+#: pathspec.c:511
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
 msgstr ""
-"在即将到来的版本,不能再使用空字符串作为路径表达式。如果要匹配所有路径,\n"
+"在下一个版本中,使用空字符串作为路径规格将被视作非法。如果要匹配所有路径,\n"
 "请代之以 ."
 
-#: pathspec.c:440
+#: pathspec.c:535
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
 
-#: pathspec.c:449
+#: pathspec.c:544
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -2356,11 +2382,11 @@ msgstr ""
 "没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
 "添加 ':/' 或 '.' ?"
 
-#: pretty.c:971
+#: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: read-cache.c:1315
+#: read-cache.c:1307
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2369,7 +2395,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1325
+#: read-cache.c:1317
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2378,7 +2404,7 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: refs.c:576 builtin/merge.c:840
+#: refs.c:576 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
@@ -2398,227 +2424,232 @@ msgstr "无法删除引用:%s"
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: ref-filter.c:55
+#: ref-filter.c:56
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<color>)"
 
-#: ref-filter.c:57
+#: ref-filter.c:58
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
-#: ref-filter.c:71
+#: ref-filter.c:72
 #, c-format
 msgid "unrecognized format: %%(%s)"
 msgstr "未能识别的格式:%%(%s)"
 
-#: ref-filter.c:77
+#: ref-filter.c:78
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:84
+#: ref-filter.c:85
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:101
+#: ref-filter.c:92
+#, c-format
+msgid "%%(trailers) does not take arguments"
+msgstr "%%(trailers) 不带参数"
+
+#: ref-filter.c:111
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "要为 contents:lines=%s 提供一个正数"
 
-#: ref-filter.c:103
+#: ref-filter.c:113
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
-#: ref-filter.c:113
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: ref-filter.c:135
+#: ref-filter.c:145
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<width>,<position>)"
 
-#: ref-filter.c:147
+#: ref-filter.c:157
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
-#: ref-filter.c:151
+#: ref-filter.c:161
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
-#: ref-filter.c:157
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
-#: ref-filter.c:161
+#: ref-filter.c:171
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: ref-filter.c:244
+#: ref-filter.c:255
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "非法的字段名:%.*s"
 
-#: ref-filter.c:270
+#: ref-filter.c:281
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:372
+#: ref-filter.c:383
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "malformed format string %s"
 msgstr "非法的格式化字符串 %s"
 
-#: ref-filter.c:878
+#: ref-filter.c:898
 msgid ":strip= requires a positive integer argument"
 msgstr ":strip= 需要一个正整型参数"
 
-#: ref-filter.c:883
+#: ref-filter.c:903
 #, c-format
 msgid "ref '%s' does not have %ld components to :strip"
 msgstr "引用 '%s' 未提供用于 :strip 的 %ld 个组件"
 
-#: ref-filter.c:1046
+#: ref-filter.c:1066
 #, c-format
 msgid "unknown %.*s format %s"
 msgstr "未知的 %.*s 格式 %s"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: ref-filter.c:1086 ref-filter.c:1117
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: ref-filter.c:1089 ref-filter.c:1120
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1311
+#: ref-filter.c:1343
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "非法的对象于 '%s'"
 
-#: ref-filter.c:1373
+#: ref-filter.c:1410
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:1378
+#: ref-filter.c:1415
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:1633
+#: ref-filter.c:1670
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:1687
+#: ref-filter.c:1734
 #, c-format
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: remote.c:746
+#: remote.c:754
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:750
+#: remote.c:758
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:754
+#: remote.c:762
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:762
+#: remote.c:770
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1685 remote.c:1787
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1686
+#: remote.c:1694
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1689
+#: remote.c:1697
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1695
+#: remote.c:1703
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1710
+#: remote.c:1718
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1725
+#: remote.c:1730
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1736
+#: remote.c:1741
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1749
+#: remote.c:1754
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1776
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2073
+#: remote.c:2081
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2077
+#: remote.c:2085
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2080
+#: remote.c:2088
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2084
+#: remote.c:2092
 #, 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:2090
+#: remote.c:2098
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2093
+#: remote.c:2101
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2627,11 +2658,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2101
+#: remote.c:2109
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2104
+#: remote.c:2112
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2647,7 +2678,7 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2114
+#: remote.c:2122
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
@@ -2664,11 +2695,11 @@ msgstr "您的当前分支 '%s' 尚无任何提交"
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:106
+#: run-command.c:125
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:108
+#: run-command.c:127
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "不能调用 dup2(%d,%d)"
@@ -2695,15 +2726,24 @@ msgstr "接收端不支持原子推送"
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:171
+#: sequencer.c:215
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:171
+#: sequencer.c:217
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:228
+#: sequencer.c:219
+msgid "rebase -i"
+msgstr "rebase -i"
+
+#: sequencer.c:221
+#, c-format
+msgid "Unknown action: %d"
+msgstr "未知动作:%d"
+
+#: sequencer.c:278
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -2711,7 +2751,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:231
+#: sequencer.c:281
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -2720,60 +2760,63 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:244 sequencer.c:1209
+#: sequencer.c:294 sequencer.c:1667
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
+#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:251
+#: sequencer.c:301
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
+#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "无法完成 '%s'。"
 
-#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1036
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:305
+#: sequencer.c:355
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:309
+#: sequencer.c:359
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或保存进度后再继续。"
 
-#: sequencer.c:324
+#: sequencer.c:388
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:399
+#. TRANSLATORS: %s will be "revert", "cherry-pick" or
+#. * "rebase -i".
+#.
+#: sequencer.c:470
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:418
+#: sequencer.c:489
 msgid "could not resolve HEAD commit\n"
 msgstr "不能解析 HEAD 提交\n"
 
-#: sequencer.c:438
+#: sequencer.c:509
 msgid "unable to update cache tree\n"
-msgstr "不能更新缓存\n"
+msgstr "不能更新缓存\n"
 
-#: sequencer.c:483
+#: sequencer.c:592
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -2789,11 +2832,12 @@ msgid ""
 "\n"
 "  git rebase --continue\n"
 msgstr ""
-"您已暂存了工作区的修改。如果这些修改要压缩到前一个提交,执行:\n"
+"您的工作区中存在已暂存的修改\n"
+"如果这些修改需要被并入前一个提交,执行:\n"
 "\n"
 "  git commit --amend %s\n"
 "\n"
-"如果这些变更要形成一个新提交,执行:\n"
+"如果这些修改要形成一个新提交,执行:\n"
 "\n"
 "  git commit %s\n"
 "\n"
@@ -2801,172 +2845,390 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:567
+#: sequencer.c:688
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "不能解析提交 %s\n"
 
-#: sequencer.c:572
+#: sequencer.c:693
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "不能解析父提交 %s\n"
 
-#: sequencer.c:656
+#: sequencer.c:815
+#, c-format
+msgid ""
+"unexpected 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"意外的压缩提交首行提交信息:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:821
+#, c-format
+msgid ""
+"invalid 1st line of squash message:\n"
+"\n"
+"\t%.*s"
+msgstr ""
+"压缩提交的首行提交信息无效:\n"
+"\n"
+"\t%.*s"
+
+#: sequencer.c:827 sequencer.c:852
+#, c-format
+msgid "This is a combination of %d commits."
+msgstr "这是一个 %d 个提交的组合。"
+
+#: sequencer.c:836
+msgid "need a HEAD to fixup"
+msgstr "需要一个 HEAD 来修复"
+
+#: sequencer.c:838
+msgid "could not read HEAD"
+msgstr "不能读取 HEAD"
+
+#: sequencer.c:840
+msgid "could not read HEAD's commit message"
+msgstr "不能读取 HEAD 的提交说明"
+
+#: sequencer.c:846
+#, c-format
+msgid "cannot write '%s'"
+msgstr "不能写 '%s'"
+
+#: sequencer.c:855 git-rebase--interactive.sh:445
+msgid "This is the 1st commit message:"
+msgstr "这是第一个提交说明:"
+
+#: sequencer.c:863
+#, c-format
+msgid "could not read commit message of %s"
+msgstr "不能读取 %s 的提交说明"
+
+#: sequencer.c:870
+#, c-format
+msgid "This is the commit message #%d:"
+msgstr "这是提交说明 #%d:"
+
+#: sequencer.c:875
+#, c-format
+msgid "The commit message #%d will be skipped:"
+msgstr "提交说明 #%d 将被跳过:"
+
+#: sequencer.c:880
+#, c-format
+msgid "unknown command: %d"
+msgstr "未知命令:%d"
+
+#: sequencer.c:946
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:675
+#: sequencer.c:964
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:683
+#: sequencer.c:972
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:687
+#: sequencer.c:976
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
+#: sequencer.c:982
+#, 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:700
+#: sequencer.c:1001
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:705
+#: sequencer.c:1063 sequencer.c:1812
 #, c-format
-msgid "cannot get commit message for %s"
-msgstr "ä¸\8dè\83½å¾\97å\88° %s ç\9a\84æ\8f\90交说æ\98\8e"
+msgid "could not rename '%s' to '%s'"
+msgstr "ä¸\8dè\83½å°\86 '%s' é\87\8då\91½å\90\8d为 '%s'"
 
-#: sequencer.c:797
+#: sequencer.c:1114
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:798
+#: sequencer.c:1115
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:833
+#: sequencer.c:1157
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:843
+#: sequencer.c:1167
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:850
+#: sequencer.c:1174
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:944
+#: sequencer.c:1294
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:950
-msgid "no commits parsed."
-msgstr "没有解析提交。"
+#: sequencer.c:1302
+#, c-format
+msgid "cannot '%s' without a previous commit"
+msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:966
+#: sequencer.c:1334
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:972
+#: sequencer.c:1341
+msgid "please fix this using 'git rebase --edit-todo'."
+msgstr "请用 'git rebase --edit-todo' 来修改。"
+
+#: sequencer.c:1343
 #, c-format
 msgid "unusable instruction sheet: '%s'"
-msgstr "无用的指令清单:'%s'"
+msgstr "不可用的指令清单:'%s'"
+
+#: sequencer.c:1348
+msgid "no commits parsed."
+msgstr "没有解析提交。"
 
-#: sequencer.c:983
+#: sequencer.c:1359
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:985
+#: sequencer.c:1361
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:1028
+#: sequencer.c:1424
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:1031
+#: sequencer.c:1427
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:1063
+#: sequencer.c:1484
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "非法的选项清单:'%s'"
 
-#: sequencer.c:1101
+#: sequencer.c:1522
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:1102
+#: sequencer.c:1523
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1106
+#: sequencer.c:1526
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:1120
+#: sequencer.c:1540
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:1151 sequencer.c:1289
+#: sequencer.c:1596 sequencer.c:2150
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:1153
+#: sequencer.c:1598
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1155 sequencer.c:1189
+#: sequencer.c:1600 sequencer.c:1634
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:1175 builtin/grep.c:578
+#: sequencer.c:1620 builtin/grep.c:904
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:1177
+#: sequencer.c:1622
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:1178
+#: sequencer.c:1623
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:1184
+#: sequencer.c:1629
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:1354
+#: sequencer.c:1640
+msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
+msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
+
+#: sequencer.c:1777 sequencer.c:2049
+msgid "cannot read HEAD"
+msgstr "不能读取 HEAD"
+
+#: sequencer.c:1817 builtin/difftool.c:574
+#, c-format
+msgid "could not copy '%s' to '%s'"
+msgstr "不能拷贝 '%s' 至 '%s'"
+
+#: sequencer.c:1833
+msgid "could not read index"
+msgstr "不能读取索引"
+
+#  译者:注意保持前导空格
+#: sequencer.c:1838
+#, c-format
+msgid ""
+"execution failed: %s\n"
+"%sYou can fix the problem, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"执行失败:%s\n"
+"%s您可以改正该问题,然后运行\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1844
+msgid "and made changes to the index and/or the working tree\n"
+msgstr "并且修改索引和/或工作区\n"
+
+#: sequencer.c:1850
+#, c-format
+msgid ""
+"execution succeeded: %s\n"
+"but left changes to the index and/or the working tree\n"
+"Commit or stash your changes, and then run\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+msgstr ""
+"执行成功:%s\n"
+"但是在索引和/或工作区中存在变更\n"
+"提交或暂存修改,然后运行\n"
+"\n"
+"  git rebase --continue\n"
+"\n"
+
+#: sequencer.c:1905 git-rebase.sh:168
+#, c-format
+msgid "Applied autostash."
+msgstr "成功应用 autostash。"
+
+#: sequencer.c:1917
+#, c-format
+msgid "cannot store %s"
+msgstr "不能存储 %s"
+
+#: sequencer.c:1919 git-rebase.sh:172
+#, c-format
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
+msgstr ""
+"应用 autostash 导致冲突。\n"
+"您的修改安全地保存在 stash 中。\n"
+"您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
+
+#: sequencer.c:2000
+#, c-format
+msgid "stopped at %s... %.*s"
+msgstr "停止在 %s... %.*s"
+
+#: sequencer.c:2027
+#, c-format
+msgid "unknown command %d"
+msgstr "未知命令 %d"
+
+#: sequencer.c:2057
+msgid "could not read orig-head"
+msgstr "不能读取 orig-head"
+
+#: sequencer.c:2061
+msgid "could not read 'onto'"
+msgstr "不能读取 'onto'"
+
+#: sequencer.c:2068
+#, c-format
+msgid "could not update %s"
+msgstr "不能更新 %s"
+
+#: sequencer.c:2075
+#, c-format
+msgid "could not update HEAD to %s"
+msgstr "不能更新 HEAD 为 %s"
+
+#: sequencer.c:2159
+msgid "cannot rebase: You have unstaged changes."
+msgstr "不能变基:您有未暂存的变更。"
+
+#: sequencer.c:2164
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "不能删除 CHERRY_PICK_HEAD"
+
+#: sequencer.c:2173
+msgid "cannot amend non-existing commit"
+msgstr "不能修补不存在的提交"
+
+#: sequencer.c:2175
+#, c-format
+msgid "invalid file: '%s'"
+msgstr "无效文件:'%s'"
+
+#: sequencer.c:2177
+#, c-format
+msgid "invalid contents: '%s'"
+msgstr "无效内容:'%s'"
+
+#: sequencer.c:2180
+msgid ""
+"\n"
+"You have uncommitted changes in your working tree. Please, commit them\n"
+"first and then run 'git rebase --continue' again."
+msgstr "\n您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
+
+#: sequencer.c:2190
+msgid "could not commit staged changes."
+msgstr "不能提交暂存的修改。"
+
+#: sequencer.c:2270
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:1358
+#: sequencer.c:2274
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:1391
+#: sequencer.c:2307
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
@@ -3001,29 +3263,29 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <command> [<revision>...] -- [<file>...]'"
 
-#: setup.c:468
+#: setup.c:470
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:476
+#: setup.c:478
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
-#: setup.c:762
+#: setup.c:768
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:845
+#: setup.c:852
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:920
+#: setup.c:927
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3032,12 +3294,12 @@ msgstr ""
 "不是一个 git 仓库(或者向上递归至挂载点 %s 的任何祖先目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:927
+#: setup.c:934
 #, c-format
 msgid "Cannot change to '%s/..'"
 msgstr "不能切换到 '%s/..'"
 
-#: setup.c:989
+#: setup.c:996
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3046,41 +3308,41 @@ msgstr ""
 "参数 core.sharedRepository 的文件权限值有错(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: sha1_file.c:473
+#: sha1_file.c:490
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: sha1_file.c:499
+#: sha1_file.c:516
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: sha1_file.c:505
+#: sha1_file.c:522
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: sha1_file.c:511
+#: sha1_file.c:528
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: sha1_file.c:519
+#: sha1_file.c:536
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被嫁接"
 
-#: sha1_file.c:1159
+#: sha1_file.c:1176
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: sha1_file.c:2592
+#: sha1_file.c:2637
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: sha1_file.c:2596
+#: sha1_file.c:2641
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
@@ -3088,7 +3350,7 @@ msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
 #: sha1_name.c:407
 #, c-format
 msgid "short SHA1 %s is ambiguous"
-msgstr "歧义的短 SHA1 %s"
+msgstr "短 SHA1 %s 存在歧义"
 
 #: sha1_name.c:418
 msgid "The candidates are:"
@@ -3115,88 +3377,131 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:65 submodule.c:99
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:69 submodule.c:103
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:76
+#: submodule.c:77
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:109
+#: submodule.c:110
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:120
+#: submodule.c:121
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:158
+#: submodule.c:159
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "submodule.fetchJobs 不允许为负值"
 
-#: submodule-config.c:358
+#: submodule.c:1184
+#, c-format
+msgid "could not start 'git status in submodule '%s'"
+msgstr "无法在子模组 '%s' 中启动 git status"
+
+#: submodule.c:1197
+#, c-format
+msgid "could not run 'git status in submodule '%s'"
+msgstr "无法在子模组 '%s' 中执行 git status"
+
+#: submodule.c:1398
+#, c-format
+msgid ""
+"relocate_gitdir for submodule '%s' with more than one worktree not supported"
+msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
+
+#: submodule.c:1410 submodule.c:1471
+#, c-format
+msgid "could not lookup name for submodule '%s'"
+msgstr "不能查询子模组 '%s' 的名称"
+
+#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
+#: builtin/submodule--helper.c:650
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "不能创建目录 '%s'"
+
+#: submodule.c:1420
+#, c-format
+msgid ""
+"Migrating git directory of '%s%s' from\n"
+"'%s' to\n"
+"'%s'\n"
+msgstr ""
+"将 '%s%s' 的 git 目录从\n"
+"'%s' 迁移至\n"
+"'%s'\n"
+
+#: submodule.c:1512
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "无法递归进子模组路径 '%s'"
+
+#: submodule-config.c:360
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
 
-#: trailer.c:238
+#: trailer.c:240
 #, c-format
 msgid "running trailer command '%s' failed"
 msgstr "执行 trailer 命令 '%s' 失败"
 
-#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
-#: trailer.c:541
+#: trailer.c:473 trailer.c:477 trailer.c:481 trailer.c:535 trailer.c:539
+#: trailer.c:543
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#: trailer.c:525 trailer.c:530 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 
-#: trailer.c:672
+#: trailer.c:702
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "签名 '%.*s' 的键为空"
 
-#: trailer.c:695
+#: trailer.c:722
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "不能读取输入文件 '%s'"
 
-#: trailer.c:698
+#: trailer.c:725
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
-#: trailer.c:929 builtin/am.c:44
+#: trailer.c:949 builtin/am.c:44
 #, c-format
 msgid "could not stat %s"
 msgstr "不能获取 %s 的文件状态"
 
-#: trailer.c:931
+#: trailer.c:951
 #, c-format
 msgid "file %s is not a regular file"
 msgstr "文件 %s 不是一个正规文件"
 
-#: trailer.c:933
+#: trailer.c:953
 #, c-format
 msgid "file %s is not writable by user"
 msgstr "文件 %s 用户不可写"
 
-#: trailer.c:945
+#: trailer.c:965
 msgid "could not open temporary file"
 msgstr "不能打开临时文件"
 
-#: trailer.c:983
+#: trailer.c:1001
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
@@ -3211,14 +3516,14 @@ msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:817
+#: transport.c:885
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:821
+#: transport.c:889
 #, c-format
 msgid ""
 "\n"
@@ -3245,11 +3550,11 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:829
+#: transport.c:897
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport-helper.c:1075
+#: transport-helper.c:1082
 #, c-format
 msgid "Could not read ref %s"
 msgstr "不能读取引用 %s"
@@ -3260,7 +3565,7 @@ msgstr "太短的树对象"
 
 #: tree-walk.c:37
 msgid "malformed mode in tree entry"
-msgstr "树对象中的条目属性错误"
+msgstr "树对象中的条目模式错误"
 
 #: tree-walk.c:41
 msgid "empty filename in tree entry"
@@ -3270,7 +3575,7 @@ msgstr "树对象条目中空的文件名"
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:64
+#: unpack-trees.c:99
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3279,7 +3584,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:66
+#: unpack-trees.c:101
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3288,7 +3593,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:69
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3297,7 +3602,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:71
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3306,7 +3611,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:74
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3315,7 +3620,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交您的修改或者保存进度。"
 
-#: unpack-trees.c:76
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3324,16 +3629,16 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:81
+#: unpack-trees.c:116
 #, c-format
 msgid ""
-"Updating the following directories would lose untracked files in it:\n"
+"Updating the following directories would lose untracked files in them:\n"
 "%s"
 msgstr ""
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
-#: unpack-trees.c:85
+#: unpack-trees.c:120
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3342,7 +3647,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:87
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3351,7 +3656,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:90
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3360,7 +3665,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:92
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3369,7 +3674,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:95
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3378,7 +3683,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:97
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3387,7 +3692,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:102
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3397,7 +3702,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:104
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3407,7 +3712,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:107
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3416,7 +3721,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:109
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3425,7 +3730,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:112
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3434,7 +3739,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:114
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3443,12 +3748,12 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:156
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:124
+#: unpack-trees.c:159
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3457,7 +3762,7 @@ msgstr ""
 "无法更新稀疏检出:如下条目不是最新:\n"
 "%s"
 
-#: unpack-trees.c:126
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3467,7 +3772,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所覆盖:\n"
 "%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3477,12 +3782,12 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所删除:\n"
 "%s"
 
-#: unpack-trees.c:205
+#: unpack-trees.c:240
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:237
+#: unpack-trees.c:270
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -3531,7 +3836,7 @@ msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
@@ -3758,27 +4063,31 @@ msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1172
+#: wt-status.c:1176
+msgid "git-rebase-todo is missing."
+msgstr "git-rebase-todo 丢失。"
+
+#: wt-status.c:1178
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1175
+#: wt-status.c:1181
 #, 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:1186
+#: wt-status.c:1192
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1191
+#: wt-status.c:1197
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1194
+#: wt-status.c:1200
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -3786,165 +4095,165 @@ msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1202
+#: wt-status.c:1208
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1215
+#: wt-status.c:1221
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1220
+#: wt-status.c:1226
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1234
+#: wt-status.c:1240
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1236
+#: wt-status.c:1242
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1238
+#: wt-status.c:1244
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1244
+#: wt-status.c:1250
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1248
+#: wt-status.c:1254
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1253
+#: wt-status.c:1259
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1256
+#: wt-status.c:1262
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1260
+#: wt-status.c:1266
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1265
+#: wt-status.c:1271
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1268
+#: wt-status.c:1274
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1270
+#: wt-status.c:1276
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1280
+#: wt-status.c:1286
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1285
+#: wt-status.c:1291
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1288
+#: wt-status.c:1294
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1290
+#: wt-status.c:1296
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1299
+#: wt-status.c:1305
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1304
+#: wt-status.c:1310
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1307
+#: wt-status.c:1313
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1309
+#: wt-status.c:1315
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1320
+#: wt-status.c:1326
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1324
+#: wt-status.c:1330
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1327
+#: wt-status.c:1333
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1524
+#: wt-status.c:1530
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1530
+#: wt-status.c:1536
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1532
+#: wt-status.c:1538
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1537
+#: wt-status.c:1543
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1539
+#: wt-status.c:1545
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1542
+#: wt-status.c:1548
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1560
+#: wt-status.c:1566
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1574
+#: wt-status.c:1580
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1576
+#: wt-status.c:1582
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1580
+#: wt-status.c:1586
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -3954,98 +4263,98 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1586
+#: wt-status.c:1592
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1588
+#: wt-status.c:1594
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1594
+#: wt-status.c:1600
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1599
+#: wt-status.c:1605
 #, 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:1602
+#: wt-status.c:1608
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1605
+#: wt-status.c:1611
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1614
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1611
+#: wt-status.c:1617
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1614 wt-status.c:1619
+#: wt-status.c:1620 wt-status.c:1625
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1617
+#: wt-status.c:1623
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1621
+#: wt-status.c:1627
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1728
+#: wt-status.c:1734
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
-#: wt-status.c:1732
+#: wt-status.c:1738
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1761
+#: wt-status.c:1767
 msgid "gone"
 msgstr "丢失"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1763 wt-status.c:1771
+#: wt-status.c:1769 wt-status.c:1777
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1766 wt-status.c:1769
+#: wt-status.c:1772 wt-status.c:1775
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2270
+#: wt-status.c:2277
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2276
+#: wt-status.c:2283
 msgid "additionally, your index contains uncommitted changes."
-msgstr "而且您的索引中包含未提交的变更。"
+msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2278
+#: wt-status.c:2285
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
@@ -4077,7 +4386,7 @@ msgstr "删除 '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:840
+#: builtin/add.c:209 builtin/rev-parse.c:845
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
@@ -4112,9 +4421,9 @@ msgstr "不能应用 '%s'"
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
-#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
+#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "演习"
 
@@ -4122,7 +4431,7 @@ msgstr "演习"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -4204,7 +4513,7 @@ msgstr "也许您想要执行 'git add .'?\n"
 
 #: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
 #: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
 msgstr "索引文件损坏"
@@ -4323,7 +4632,7 @@ msgstr "回落到基础版本上打补丁及进行三方合并..."
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1686 builtin/merge.c:628
+#: builtin/am.c:1686 builtin/merge.c:632
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
@@ -4331,8 +4640,8 @@ msgstr "git write-tree 无法写入一树对象"
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
-#: builtin/merge.c:823
+#: builtin/am.c:1706 builtin/commit.c:1764 builtin/merge.c:802
+#: builtin/merge.c:827
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
@@ -4442,7 +4751,7 @@ msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
 #: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
-#: builtin/repack.c:172
+#: builtin/repack.c:178
 msgid "be quiet"
 msgstr "静默模式"
 
@@ -4485,15 +4794,15 @@ msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
-#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
+#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
 #: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
+#: builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format"
 msgstr "格式"
 
@@ -4529,8 +4838,8 @@ msgstr "将作者日期作为提交日期"
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
 msgid "key-id"
 msgstr "key-id"
 
@@ -4631,115 +4940,111 @@ msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:1781
+#: builtin/blame.c:1786
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/blame.c:2577
+#: builtin/blame.c:2582
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2578
+#: builtin/blame.c:2583
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:2579
+#: builtin/blame.c:2584
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:2580
+#: builtin/blame.c:2585
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2581
+#: builtin/blame.c:2586
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2587
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2583
+#: builtin/blame.c:2588
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:2584
+#: builtin/blame.c:2589
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:2585
+#: builtin/blame.c:2590
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2591
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2592
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:2588
+#: builtin/blame.c:2593
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2594
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2595
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:2591
+#: builtin/blame.c:2596
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:2592
+#: builtin/blame.c:2597
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2599
-msgid "Use an experimental indent-based heuristic to improve diffs"
-msgstr "使用一个试验性的基于缩进的启发式算法改进差异显示"
-
-#: builtin/blame.c:2600
-msgid "Use an experimental blank-line-based heuristic to improve diffs"
-msgstr "使用一个试验性的基于空行的启发式算法改进差异显示"
+#: builtin/blame.c:2604
+msgid "Use an experimental heuristic to improve diffs"
+msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:2602
+#: builtin/blame.c:2606
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2603
+#: builtin/blame.c:2607
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2608
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:2605 builtin/blame.c:2606
+#: builtin/blame.c:2609 builtin/blame.c:2610
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2605
+#: builtin/blame.c:2609
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2610
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2607
+#: builtin/blame.c:2611
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
-#: builtin/blame.c:2654
+#: builtin/blame.c:2658
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
@@ -4749,38 +5054,38 @@ msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2700
+#: builtin/blame.c:2706
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:2780
+#: builtin/blame.c:2786
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: builtin/blame.c:2800
+#: builtin/blame.c:2806
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: builtin/blame.c:2805
+#: builtin/blame.c:2811
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: builtin/blame.c:2832
+#: builtin/blame.c:2838
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
-#: builtin/blame.c:2843
+#: builtin/blame.c:2849
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: builtin/blame.c:2854
+#: builtin/blame.c:2860
 #, c-format
 msgid "cannot read blob %s for path %s"
-msgstr "不能为路径 %2$s 读取对象 %1$s"
+msgstr "不能为路径 %2$s 读取数据对象 %1$s"
 
-#: builtin/blame.c:2873
+#: builtin/blame.c:2879
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -4960,44 +5265,44 @@ msgstr "(头指针分离自 %s)"
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: builtin/branch.c:544
+#: builtin/branch.c:535
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:548
+#: builtin/branch.c:539
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:563
+#: builtin/branch.c:554
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:573
+#: builtin/branch.c:564
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:581
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:585
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:588
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:595
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新 config 文件失败"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:611
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5008,200 +5313,204 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:643
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:645
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:646
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:655
+#: builtin/branch.c:647
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:657
+#: builtin/branch.c:649
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:651
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:660
+#: builtin/branch.c:652
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:653
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:654
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:664 builtin/branch.c:665
+#: builtin/branch.c:656 builtin/branch.c:657
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:660
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:661
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:663
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:664
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:665
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:666
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:667
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:676
+#: builtin/branch.c:668
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:670
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:671
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:680
+#: builtin/branch.c:672
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:673
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:674
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:369
+#: builtin/tag.c:384
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:687
+#: builtin/branch.c:679
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:705
+#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+msgid "sorting and filtering are case insensitive"
+msgstr "排序和过滤属于大小写不敏感"
+
+#: builtin/branch.c:698
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:709 builtin/clone.c:706
+#: builtin/branch.c:702 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:729
+#: builtin/branch.c:724
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:740 builtin/branch.c:782
+#: builtin/branch.c:735 builtin/branch.c:787
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:763
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:768
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:770
+#: builtin/branch.c:775
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:778
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:793
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:798
 msgid "too many branches to set new upstream"
 msgstr "为设置新上游提供了太多的分支名"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:802
 #, 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:800 builtin/branch.c:822 builtin/branch.c:843
+#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:809
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:821
 msgid "too many branches to unset upstream"
 msgstr "为取消上游设置操作提供了太多的分支名"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:825
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:826
+#: builtin/branch.c:831
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:845
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "手工创建 'HEAD' 没有意义"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:851
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:849
+#: builtin/branch.c:854
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5209,7 +5518,7 @@ msgid ""
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:871
 #, c-format
 msgid ""
 "\n"
@@ -5277,7 +5586,7 @@ msgstr "对于数据对象,对其内容做文本转换"
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
-#: builtin/cat-file.c:561 git-submodule.sh:923
+#: builtin/cat-file.c:561 git-submodule.sh:929
 msgid "blob"
 msgstr "数据对象"
 
@@ -5333,7 +5642,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -5423,9 +5732,9 @@ msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
-#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
-#: builtin/worktree.c:469
+#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
+#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
+#: builtin/worktree.c:471
 msgid "string"
 msgstr "字符串"
 
@@ -5500,51 +5809,51 @@ msgstr "路径 '%s' 未合并"
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:624
+#: builtin/checkout.c:625
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:666
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:667 builtin/clone.c:660
+#: builtin/checkout.c:670 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:674
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:677
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:678
+#: builtin/checkout.c:681
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:680 builtin/checkout.c:1069
+#: builtin/checkout.c:683 builtin/checkout.c:1072
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:682
+#: builtin/checkout.c:685
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:733
+#: builtin/checkout.c:736
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:742
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5565,7 +5874,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5592,150 +5901,150 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:797
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:801
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1064
+#: builtin/checkout.c:828 builtin/checkout.c:1067
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:970
+#: builtin/checkout.c:973
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1010 builtin/worktree.c:214
+#: builtin/checkout.c:1013 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1039
+#: builtin/checkout.c:1042
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1078
+#: builtin/checkout.c:1081
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1081 builtin/checkout.c:1085
+#: builtin/checkout.c:1084 builtin/checkout.c:1088
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
-#: builtin/checkout.c:1100
+#: builtin/checkout.c:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
+#: builtin/checkout.c:1103
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1105
+#: builtin/checkout.c:1108
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
+#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1142
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1144
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1145
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1143 builtin/worktree.c:328
+#: builtin/checkout.c:1146 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1147
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1149
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1150
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1152
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1154
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1155
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1153 builtin/merge.c:231
+#: builtin/checkout.c:1156 builtin/merge.c:235
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1158
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1161
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1163
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1165
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
+#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1194
+#: builtin/checkout.c:1197
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1214
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1219
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1255
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1259
+#: builtin/checkout.c:1262
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5744,12 +6053,12 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1264
+#: builtin/checkout.c:1267
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1268
+#: builtin/checkout.c:1271
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5787,19 +6096,21 @@ msgstr "将忽略仓库 %s\n"
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: builtin/clean.c:291
+#: builtin/clean.c:291 git-add--interactive.perl:623
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
 "foo        - select item based on unique prefix\n"
-"           - (empty) select nothing"
+"           - (empty) select nothing\n"
 msgstr ""
 "帮助:\n"
 "1          - 通过编号选择一个选项\n"
-"foo        - 通过标题选择一个选项\n"
-"           - (空)什么也不选择"
+"foo        - 通过唯一前缀选择一个选项\n"
+"           - (空)什么也不选择\n"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:295 git-add--interactive.perl:632
+#, c-format
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -5808,21 +6119,22 @@ msgid ""
 "foo        - select item based on unique prefix\n"
 "-...       - unselect specified items\n"
 "*          - choose all items\n"
-"           - (empty) finish selecting"
+"           - (empty) finish selecting\n"
 msgstr ""
 "帮助:\n"
 "1          - 选择一个选项\n"
 "3-5        - 选择一个范围内的所有选项\n"
 "2-3,6-9    - 选择多个范围内的所有选项\n"
-"foo        - 通过标题选择一个选项\n"
+"foo        - 通过唯一前缀选择一个选项\n"
 "-...       - 反选特定的选项\n"
 "*          - 选择所有选项\n"
-"           - (空)结束选择"
+"           - (空)结束选择\n"
 
-#: builtin/clean.c:511
-#, c-format
-msgid "Huh (%s)?"
-msgstr "嗯(%s)?"
+#: builtin/clean.c:511 git-add--interactive.perl:598
+#: git-add--interactive.perl:603
+#, c-format, perl-format
+msgid "Huh (%s)?\n"
+msgstr "嗯(%s)?\n"
 
 #: builtin/clean.c:653
 #, c-format
@@ -5844,9 +6156,10 @@ msgstr "选择要删除的条目"
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:777
-msgid "Bye."
-msgstr "再见。"
+#: builtin/clean.c:777 git-add--interactive.perl:1669
+#, c-format
+msgid "Bye.\n"
+msgstr "再见。\n"
 
 #: builtin/clean.c:785
 msgid ""
@@ -5866,11 +6179,11 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:812
+#: builtin/clean.c:812 git-add--interactive.perl:1745
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:813
+#: builtin/clean.c:813 git-add--interactive.perl:1742
 msgid "What now"
 msgstr "请选择"
 
@@ -5900,8 +6213,8 @@ msgstr "交互式清除"
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
-#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
+#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "模式"
 
@@ -5979,8 +6292,8 @@ msgstr "模板目录"
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
-#: builtin/submodule--helper.c:954
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:970
 msgid "reference repository"
 msgstr "参考仓库"
 
@@ -6004,7 +6317,7 @@ msgstr "检出 <分支> 而不是远程 HEAD"
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:999
 #: builtin/pull.c:202
 msgid "depth"
 msgstr "深度"
@@ -6013,7 +6326,7 @@ msgstr "深度"
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
 #: parse-options.h:142
 msgid "time"
 msgstr "时间"
@@ -6027,8 +6340,8 @@ msgid "revision"
 msgstr "版本"
 
 #: builtin/clone.c:102 builtin/fetch.c:125
-msgid "deepen history of shallow clone by excluding rev"
-msgstr "通过排除版本来深化浅克隆的历史"
+msgid "deepen history of shallow clone, excluding rev"
+msgstr "深化浅克隆的历史,除了特定版本"
 
 #: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
@@ -6054,11 +6367,11 @@ msgstr "key=value"
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
@@ -6171,7 +6484,7 @@ msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:905 builtin/fetch.c:1338
+#: builtin/clone.c:905 builtin/fetch.c:1335
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
@@ -6186,8 +6499,9 @@ msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
-#: builtin/worktree.c:222 builtin/worktree.c:249
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/difftool.c:252
+#: builtin/submodule--helper.c:659 builtin/worktree.c:222
+#: builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
@@ -6447,7 +6761,7 @@ msgstr "无法选择一个未被当前提交说明使用的注释字符"
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:295
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
@@ -6546,7 +6860,7 @@ msgstr "无法读取索引"
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:969 builtin/tag.c:266
+#: builtin/commit.c:968 builtin/tag.c:280
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
@@ -6556,7 +6870,7 @@ msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 'Name <email>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1086 builtin/commit.c:1327
+#: builtin/commit.c:1086 builtin/commit.c:1325
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
@@ -6606,265 +6920,261 @@ msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
 #: builtin/commit.c:1212
-msgid "Clever... amending the last one with dirty index."
-msgstr "聪明... 用脏索引修补最后一个提交。"
-
-#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项,认为是 --only paths..."
 
-#: builtin/commit.c:1226 builtin/tag.c:474
+#: builtin/commit.c:1224 builtin/tag.c:495
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1229
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1341 builtin/commit.c:1617
+#: builtin/commit.c:1339 builtin/commit.c:1612
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1343 builtin/commit.c:1619
+#: builtin/commit.c:1341 builtin/commit.c:1614
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1345
+#: builtin/commit.c:1343
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
-#: builtin/worktree.c:440
+#: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
+#: builtin/worktree.c:442
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1348 builtin/commit.c:1623
+#: builtin/commit.c:1346 builtin/commit.c:1618
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1351 builtin/commit.c:1626
+#: builtin/commit.c:1349 builtin/commit.c:1621
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:353
+#: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:368
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1354 builtin/commit.c:1629
+#: builtin/commit.c:1352 builtin/commit.c:1624
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1357
+#: builtin/commit.c:1355
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1358 parse-options.h:155
+#: builtin/commit.c:1356 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1357
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1359
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1435
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1437
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1482
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1487
+#: builtin/commit.c:1485
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1582
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1583
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1585
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1591 builtin/tag.c:351
+#: builtin/commit.c:1586 builtin/tag.c:366
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1593 builtin/gc.c:326
+#: builtin/commit.c:1588 builtin/gc.c:333
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:349
+#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:364
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1589
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
-#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
+#: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1591
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1603 builtin/tag.c:354
+#: builtin/commit.c:1598 builtin/tag.c:369
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
+#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1605
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1606
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1612
+#: builtin/commit.c:1607
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1608
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1627
+#: builtin/commit.c:1622
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1623
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1630
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1664
+#: builtin/commit.c:1659
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1712
+#: builtin/commit.c:1707
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1714
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1733
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1749
+#: builtin/commit.c:1744
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1754
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1802
+#: builtin/commit.c:1797
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7186,35 +7496,118 @@ msgstr "没有发现名称,无法描述任何东西。"
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 不能与提交同时使用"
 
-#: builtin/diff.c:86
+#: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s':不是一个正规文件或符号链接"
 
-#: builtin/diff.c:237
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:361
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:404
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:413
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
-#: builtin/diff.c:420
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
+#: builtin/difftool.c:28
+msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
+msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]"
+
+#: builtin/difftool.c:241
+#, c-format
+msgid "failed: %d"
+msgstr "失败:%d"
+
+#: builtin/difftool.c:342
+msgid ""
+"combined diff formats('-c' and '--cc') are not supported in\n"
+"directory diff mode('-d' and '--dir-diff')."
+msgstr "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--cc')。"
+
+#: builtin/difftool.c:567
+#, c-format
+msgid "both files modified: '%s' and '%s'."
+msgstr "两个文件都被修改:'%s' 和 '%s'。"
+
+#: builtin/difftool.c:569
+msgid "working tree file has been left."
+msgstr "工作区文件被留了下来。"
+
+#: builtin/difftool.c:580
+#, c-format
+msgid "temporary files exist in '%s'."
+msgstr "临时文件存在于 '%s'。"
+
+#: builtin/difftool.c:581
+msgid "you may want to cleanup or recover these."
+msgstr "您可能想要清理或者恢复它们。"
+
+#: builtin/difftool.c:626
+msgid "use `diff.guitool` instead of `diff.tool`"
+msgstr "使用 `diff.guitool` 代替 `diff.tool`"
+
+#: builtin/difftool.c:628
+msgid "perform a full-directory diff"
+msgstr "执行一个全目录差异比较"
+
+#: builtin/difftool.c:630
+msgid "do not prompt before launching a diff tool"
+msgstr "启动差异比较工具之前不提示"
+
+#: builtin/difftool.c:636
+msgid "use symlinks in dir-diff mode"
+msgstr "在 dir-diff 模式中使用符号链接"
+
+#: builtin/difftool.c:637
+msgid "<tool>"
+msgstr "<工具>"
+
+#: builtin/difftool.c:638
+msgid "use the specified diff tool"
+msgstr "使用指定的差异比较工具"
+
+#: builtin/difftool.c:640
+msgid "print a list of diff tools that may be used with `--tool`"
+msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
+
+#: builtin/difftool.c:643
+msgid ""
+"make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
+"code"
+msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
+
+#: builtin/difftool.c:645
+msgid "<command>"
+msgstr "<命令>"
+
+#: builtin/difftool.c:646
+msgid "specify a custom command for viewing diffs"
+msgstr "指定一个用于查看差异的自定义命令"
+
+#: builtin/difftool.c:670
+msgid "no <tool> given for --tool=<tool>"
+msgstr "没有为 --tool=<工具> 参数提供 <工具>"
+
+#: builtin/difftool.c:677
+msgid "no <cmd> given for --extcmd=<cmd>"
+msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
+
 #: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
@@ -7372,77 +7765,77 @@ msgstr "引用映射"
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:398
+#: builtin/fetch.c:395
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:511
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:607
+#: builtin/fetch.c:604
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:608
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:624 builtin/fetch.c:704
+#: builtin/fetch.c:621 builtin/fetch.c:701
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:625
+#: builtin/fetch.c:622
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:634
+#: builtin/fetch.c:631
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
-#: builtin/fetch.c:699
+#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
+#: builtin/fetch.c:696
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:651
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:654
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:657
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:699
+#: builtin/fetch.c:696
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:704
+#: builtin/fetch.c:701
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:749
+#: builtin/fetch.c:746
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:766
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:856 builtin/fetch.c:952
+#: builtin/fetch.c:853 builtin/fetch.c:949
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:867
+#: builtin/fetch.c:864
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7452,95 +7845,95 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:922
+#: builtin/fetch.c:919
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:923
+#: builtin/fetch.c:920
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:955
+#: builtin/fetch.c:952
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:956 builtin/remote.c:1020
+#: builtin/fetch.c:953 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:976
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:998
+#: builtin/fetch.c:995
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1001
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1077
+#: builtin/fetch.c:1074
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "不知道如何从 %s 获取"
 
-#: builtin/fetch.c:1237
+#: builtin/fetch.c:1234
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1239 builtin/remote.c:96
+#: builtin/fetch.c:1236 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1257
+#: builtin/fetch.c:1254
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。"
 
-#: builtin/fetch.c:1280
+#: builtin/fetch.c:1277
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1322
+#: builtin/fetch.c:1319
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1324
+#: builtin/fetch.c:1321
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1329
+#: builtin/fetch.c:1326
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1331
+#: builtin/fetch.c:1328
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1350
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1355
+#: builtin/fetch.c:1352
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1363
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1374
+#: builtin/fetch.c:1371
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
@@ -7605,7 +7998,7 @@ msgstr "引用占位符适用于 Tcl"
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:372
+#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
 msgid "format to use for the output"
 msgstr "输出格式"
 
@@ -7625,63 +8018,63 @@ msgstr "只打印没有合并的引用"
 msgid "print only refs which contain the commit"
 msgstr "只打印包含该提交的引用"
 
-#: builtin/fsck.c:519
+#: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:588
+#: builtin/fsck.c:646
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:594
+#: builtin/fsck.c:652
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:595
+#: builtin/fsck.c:653
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:596
+#: builtin/fsck.c:654
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:597
+#: builtin/fsck.c:655
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:598
+#: builtin/fsck.c:656
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:599
+#: builtin/fsck.c:657
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:600
+#: builtin/fsck.c:658
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:659
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:602
+#: builtin/fsck.c:660
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:604
+#: builtin/fsck.c:662
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:605 builtin/prune.c:107
+#: builtin/fsck.c:663 builtin/prune.c:107
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:606
+#: builtin/fsck.c:664
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:665
+#: builtin/fsck.c:725
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -7699,7 +8092,7 @@ msgstr "无效 %s:'%s'"
 msgid "insanely long object directory %.*s"
 msgstr "不正常的长对象目录 %.*s"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:297
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -7713,277 +8106,293 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:334
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:336
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:337
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:331
+#: builtin/gc.c:338
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:373
+#: builtin/gc.c:380
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行仓库打包以求最佳性能。\n"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:382
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包仓库以求最佳性能。\n"
 
-#: builtin/gc.c:376
+#: builtin/gc.c:383
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:397
+#: builtin/gc.c:404
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
-"已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX> (如果不是,使用 --force)"
+"已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX>(如果不是,使用 --force)"
 
-#: builtin/gc.c:441
+#: builtin/gc.c:448
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
 
-#: builtin/grep.c:23
+#: builtin/grep.c:25
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:219
+#: builtin/grep.c:232
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
-#: builtin/grep.c:277
+#: builtin/grep.c:290
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 
-#: builtin/grep.c:453 builtin/grep.c:488
+#: builtin/grep.c:763 builtin/grep.c:804
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:503
+#: builtin/grep.c:823
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:561
+#: builtin/grep.c:887
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:973
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:975
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:651
+#: builtin/grep.c:977
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:979
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:656
+#: builtin/grep.c:981
+msgid "recursivley search in each submodule"
+msgstr "在每一个子模组中递归搜索"
+
+#: builtin/grep.c:983
+msgid "basename"
+msgstr "基本名"
+
+#: builtin/grep.c:984
+msgid "prepend parent project's basename to output"
+msgstr "在输出中以父项目的基本名为前缀"
+
+#: builtin/grep.c:987
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:989
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:991
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:993
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:995
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:998
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:1000
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:1004
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:1007
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:1010
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:1013
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:1016
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:1017
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:1018
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:1020
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:1022
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:1024
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:1027
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:1029
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:1031
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:701
+#: builtin/grep.c:1032
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:1034
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:1036
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:1039
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:711
+#: builtin/grep.c:1042
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:1044
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:1046
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:1047
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:1050
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:1052
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:1055
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:1057
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:1059
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:1071
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:742
+#: builtin/grep.c:1073
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:744
+#: builtin/grep.c:1075
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:1079
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:751
+#: builtin/grep.c:1082
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:814
+#: builtin/grep.c:1146
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:846 builtin/index-pack.c:1480
+#: builtin/grep.c:1178 builtin/index-pack.c:1482
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:1215
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:1238
+msgid "option not supported with --recurse-submodules."
+msgstr "选项不支持和 --recurse-submodules 共用。"
+
+#: builtin/grep.c:1244
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:907
+#: builtin/grep.c:1249
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:1252
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:1260
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -8261,183 +8670,187 @@ msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
 #: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:811 builtin/index-pack.c:820
+#: builtin/index-pack.c:813 builtin/index-pack.c:822
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:166
-#: builtin/pack-objects.c:258
+#: builtin/index-pack.c:751 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:817
+#: builtin/index-pack.c:819
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:831
+#: builtin/index-pack.c:833
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:847
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:848
+#: builtin/index-pack.c:850
 msgid "Error in object"
 msgstr "对象中出错"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:852
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:922 builtin/index-pack.c:953
+#: builtin/index-pack.c:924 builtin/index-pack.c:955
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1123
+#: builtin/index-pack.c:1125
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1155
+#: builtin/index-pack.c:1157
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1162
 msgid "cannot fstat packfile"
 msgstr "不能枚举包文件状态"
 
-#: builtin/index-pack.c:1163
+#: builtin/index-pack.c:1165
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1176
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1197
+#: builtin/index-pack.c:1199
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1210
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1250
+#: builtin/index-pack.c:1252
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1256
+#: builtin/index-pack.c:1258
 #, 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:1268
+#: builtin/index-pack.c:1270
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1272
+#: builtin/index-pack.c:1274
 #, 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:1296
+#: builtin/index-pack.c:1298
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1372
+#: builtin/index-pack.c:1374
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1396
+#: builtin/index-pack.c:1398
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1409
+#: builtin/index-pack.c:1411
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1417
+#: builtin/index-pack.c:1419
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1432
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1441
+#: builtin/index-pack.c:1443
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1476
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/index-pack.c:1542
+#: builtin/index-pack.c:1544
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1546
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1591
+#: builtin/index-pack.c:1593
 #, 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:1598
+#: builtin/index-pack.c:1600
 #, 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:1611
+#: builtin/index-pack.c:1613
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1693 builtin/index-pack.c:1696
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
+#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1732
+#: builtin/index-pack.c:1734
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1740
+#: builtin/index-pack.c:1736
+msgid "--stdin requires a git repository"
+msgstr "--stdin 需要一个 git 仓库"
+
+#: builtin/index-pack.c:1744
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
@@ -8683,7 +9096,7 @@ msgstr "两个输出目录?"
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
@@ -8914,103 +9327,103 @@ msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:460
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:507
+#: builtin/ls-files.c:509
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:511
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:513
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:515
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:522
+#: builtin/ls-files.c:524
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:524
+#: builtin/ls-files.c:526
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:528
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:528
+#: builtin/ls-files.c:530
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:532
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:533
+#: builtin/ls-files.c:535
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:537
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:537
+#: builtin/ls-files.c:539
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:542
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:545
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:547
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:550
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:553
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:555
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:554
+#: builtin/ls-files.c:556
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:557
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:559
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -9064,35 +9477,35 @@ msgstr "除了显示指向的对象外,显示指向的引用名"
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "只显示树"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "条目以 NUL 字符终止"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "包括对象大小"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "只列出文件名"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
@@ -9108,161 +9521,169 @@ msgstr "git merge [<选项>] <说明> HEAD <提交>"
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:102
+#: builtin/merge.c:49
+msgid "git merge --continue"
+msgstr "git merge --continue"
+
+#: builtin/merge.c:104
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:140
+#: builtin/merge.c:142
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:195 builtin/pull.c:127
+#: builtin/merge.c:197 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:198 builtin/pull.c:130
+#: builtin/merge.c:200 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:199 builtin/pull.c:133
+#: builtin/merge.c:201 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:201 builtin/pull.c:136
+#: builtin/merge.c:203 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:204 builtin/pull.c:139
+#: builtin/merge.c:206 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:206 builtin/pull.c:142
+#: builtin/merge.c:208 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:208 builtin/pull.c:145
+#: builtin/merge.c:210 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:211
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:211 builtin/pull.c:151
+#: builtin/merge.c:213 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:215 builtin/pull.c:154
+#: builtin/merge.c:217 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
+#: builtin/merge.c:218 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:217 builtin/pull.c:159
+#: builtin/merge.c:219 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:218 builtin/pull.c:162
+#: builtin/merge.c:220 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:219 builtin/pull.c:163
+#: builtin/merge.c:221 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:223
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:225
+#: builtin/merge.c:227
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:227 builtin/pull.c:170
+#: builtin/merge.c:229
+msgid "continue the current in-progress merge"
+msgstr "继续当前正在进行的合并"
+
+#: builtin/merge.c:231 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:255
+#: builtin/merge.c:259
 msgid "could not run stash."
 msgstr "不能进行进度保存。"
 
-#: builtin/merge.c:260
+#: builtin/merge.c:264
 msgid "stash failed"
 msgstr "进度保存失败"
 
-#: builtin/merge.c:265
+#: builtin/merge.c:269
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:284 builtin/merge.c:301
+#: builtin/merge.c:288 builtin/merge.c:305
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:331
+#: builtin/merge.c:335
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:342
+#: builtin/merge.c:346
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:392
+#: builtin/merge.c:396
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:443
+#: builtin/merge.c:447
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:533
+#: builtin/merge.c:537
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:652
+#: builtin/merge.c:656
 msgid "Not handling anything other than two heads merge."
-msgstr "不能处理两个头合并之外的任何操作。"
+msgstr "处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:666
+#: builtin/merge.c:670
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:681
+#: builtin/merge.c:685
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:733
+#: builtin/merge.c:737
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:742
+#: builtin/merge.c:746
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:748
+#: builtin/merge.c:752
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -9276,66 +9697,78 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:776
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:792
+#: builtin/merge.c:796
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:847
+#: builtin/merge.c:851
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:863
+#: builtin/merge.c:867
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:904
+#: builtin/merge.c:908
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:906
+#: builtin/merge.c:910
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:908
+#: builtin/merge.c:912
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:913
+#: builtin/merge.c:917
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:960
+#: builtin/merge.c:964
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1034
+#: builtin/merge.c:1038
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: builtin/merge.c:1061
+#: builtin/merge.c:1065
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1095
+#: builtin/merge.c:1099
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1162
+#: builtin/merge.c:1167
+msgid "--abort expects no arguments"
+msgstr "--abort 不带参数"
+
+#: builtin/merge.c:1171
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1178
+#: builtin/merge.c:1183
+msgid "--continue expects no arguments"
+msgstr "--continue 不带参数"
+
+#: builtin/merge.c:1187
+msgid "There is no merge in progress (MERGE_HEAD missing)."
+msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
+
+#: builtin/merge.c:1203
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9343,7 +9776,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1185
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9351,112 +9784,112 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1213
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1197
+#: builtin/merge.c:1222
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1205
+#: builtin/merge.c:1230
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1247
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1249
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1254
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1256
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1287
+#: builtin/merge.c:1312
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1290
+#: builtin/merge.c:1315
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1293
+#: builtin/merge.c:1318
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1296
+#: builtin/merge.c:1321
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1358
+#: builtin/merge.c:1383
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1367
+#: builtin/merge.c:1392
 msgid "Already up-to-date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1377
+#: builtin/merge.c:1402
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1418
+#: builtin/merge.c:1443
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1425
+#: builtin/merge.c:1450
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1475
 msgid "Already up-to-date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1456
+#: builtin/merge.c:1481
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1479 builtin/merge.c:1558
+#: builtin/merge.c:1504 builtin/merge.c:1583
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1508
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1549
+#: builtin/merge.c:1574
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1576
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1560
+#: builtin/merge.c:1585
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1572
+#: builtin/merge.c:1597
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -9588,94 +10021,94 @@ msgstr "允许丢失的对象"
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
-#: builtin/mv.c:15
+#: builtin/mv.c:16
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
 
-#: builtin/mv.c:70
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
-#: builtin/mv.c:72 builtin/rm.c:317
+#: builtin/mv.c:84 builtin/rm.c:290
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或保存进度后再继续"
 
-#: builtin/mv.c:90
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s 在索引中"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "强制移动/重命令,即使目标存在"
 
-#: builtin/mv.c:113
+#: builtin/mv.c:125
 msgid "skip move/rename errors"
 msgstr "跳过移动/重命名错误"
 
-#: builtin/mv.c:155
+#: builtin/mv.c:167
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "目标 '%s' 不是一个目录"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:178
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "检查 '%s' 到 '%s' 的重命名\n"
 
-#: builtin/mv.c:170
+#: builtin/mv.c:182
 msgid "bad source"
 msgstr "坏的源"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:185
 msgid "can not move directory into itself"
 msgstr "不能将目录移动到自身"
 
-#: builtin/mv.c:176
+#: builtin/mv.c:188
 msgid "cannot move directory over file"
 msgstr "不能将目录移动到文件"
 
-#: builtin/mv.c:185
+#: builtin/mv.c:197
 msgid "source directory is empty"
 msgstr "源目录为空"
 
-#: builtin/mv.c:210
+#: builtin/mv.c:222
 msgid "not under version control"
 msgstr "不在版本控制之下"
 
-#: builtin/mv.c:213
+#: builtin/mv.c:225
 msgid "destination exists"
 msgstr "目标已存在"
 
-#: builtin/mv.c:221
+#: builtin/mv.c:233
 #, c-format
 msgid "overwriting '%s'"
 msgstr "覆盖 '%s'"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:236
 msgid "Cannot overwrite"
 msgstr "不能覆盖"
 
-#: builtin/mv.c:227
+#: builtin/mv.c:239
 msgid "multiple sources for the same target"
 msgstr "同一目标具有多个源"
 
-#: builtin/mv.c:229
+#: builtin/mv.c:241
 msgid "destination directory does not exist"
 msgstr "目标目录不存在"
 
-#: builtin/mv.c:236
+#: builtin/mv.c:248
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s,源=%s,目标=%s"
 
-#: builtin/mv.c:257
+#: builtin/mv.c:269
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375
+#: builtin/mv.c:275 builtin/remote.c:710 builtin/repack.c:384
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -9860,12 +10293,12 @@ msgstr "不能写注解对象"
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:233 builtin/tag.c:439
+#: builtin/notes.c:233 builtin/tag.c:460
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:235 builtin/tag.c:442
+#: builtin/notes.c:235 builtin/tag.c:463
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -10133,174 +10566,174 @@ msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <base-name> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:768
+#: builtin/pack-objects.c:766
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:779
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1068
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2344
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2759
+#: builtin/pack-objects.c:2747
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2763
+#: builtin/pack-objects.c:2751
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2793
+#: builtin/pack-objects.c:2781
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2795
+#: builtin/pack-objects.c:2783
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2797
+#: builtin/pack-objects.c:2785
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2800
+#: builtin/pack-objects.c:2788
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2801
+#: builtin/pack-objects.c:2789
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2802
+#: builtin/pack-objects.c:2790
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2805
+#: builtin/pack-objects.c:2793
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2795
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2797
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2799
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2813
+#: builtin/pack-objects.c:2801
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2803
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2805
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2819
+#: builtin/pack-objects.c:2807
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2821
+#: builtin/pack-objects.c:2809
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2823
+#: builtin/pack-objects.c:2811
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2825
+#: builtin/pack-objects.c:2813
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2827
+#: builtin/pack-objects.c:2815
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2817
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2832
+#: builtin/pack-objects.c:2820
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2823
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2838
+#: builtin/pack-objects.c:2826
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2841
+#: builtin/pack-objects.c:2829
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2843
+#: builtin/pack-objects.c:2831
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2845
+#: builtin/pack-objects.c:2833
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2847
+#: builtin/pack-objects.c:2835
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2837
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2840
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2854
+#: builtin/pack-objects.c:2842
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:2856
+#: builtin/pack-objects.c:2844
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2846
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2860
+#: builtin/pack-objects.c:2848
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2862
+#: builtin/pack-objects.c:2850
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2852
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2993
+#: builtin/pack-objects.c:2979
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -10328,11 +10761,11 @@ msgstr "正在删除重复对象"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
 
-#: builtin/prune.c:106 builtin/worktree.c:128
+#: builtin/prune.c:106
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:109 builtin/worktree.c:130
+#: builtin/prune.c:109
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
@@ -10426,7 +10859,7 @@ msgstr "详见 git-pull(1)。"
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:455
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
@@ -10590,12 +11023,12 @@ msgstr ""
 "您正推送至远程 '%s'(其并非当前分支 '%s' 的上游),\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#: builtin/push.c:242
+#: builtin/push.c:245
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "您没有为推送指定任何引用规格,并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:249
+#: builtin/push.c:252
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -10606,7 +11039,7 @@ msgstr ""
 "再次推送前,先与远程变更合并(如 'git pull ...')。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:255
+#: builtin/push.c:258
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -10617,7 +11050,7 @@ msgstr ""
 "检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:261
+#: builtin/push.c:264
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -10630,11 +11063,11 @@ msgstr ""
 "(如 'git pull ...')。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:268
+#: builtin/push.c:271
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "更新被拒绝,因为该标签在远程已经存在。"
 
-#: builtin/push.c:271
+#: builtin/push.c:274
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -10643,22 +11076,22 @@ msgstr ""
 "如果不使用 '--force' 参数,您不能更新一个指向非提交对象的远程引用,\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:331
+#: builtin/push.c:334
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:338
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:366
+#: builtin/push.c:369
 #, c-format
 msgid "bad repository '%s'"
 msgstr "坏的仓库 '%s'"
 
-#: builtin/push.c:367
+#: builtin/push.c:370
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -10679,112 +11112,112 @@ msgstr ""
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:385
+#: builtin/push.c:388
 msgid "--all and --tags are incompatible"
 msgstr "--all 和 --tags 不兼容"
 
-#: builtin/push.c:386
+#: builtin/push.c:389
 msgid "--all can't be combined with refspecs"
 msgstr "--all 不能和引用规格同时使用"
 
-#: builtin/push.c:391
+#: builtin/push.c:394
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 和 --tags 不兼容"
 
-#: builtin/push.c:392
+#: builtin/push.c:395
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror 不能和引用规格同时使用"
 
-#: builtin/push.c:397
+#: builtin/push.c:400
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:515
+#: builtin/push.c:518
 msgid "repository"
 msgstr "仓库"
 
-#: builtin/push.c:516 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:517 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:519
+#: builtin/push.c:522
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:520
+#: builtin/push.c:523
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送标签(不能使用 --all or --mirror)"
 
-#: builtin/push.c:523 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:525 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:526 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:529
+#: builtin/push.c:532
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:531 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:532 builtin/push.c:533 builtin/send-pack.c:158
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:534
+#: builtin/push.c:537
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:537
+#: builtin/push.c:540
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:539
+#: builtin/push.c:542
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:540
+#: builtin/push.c:543
 msgid "push missing but relevant tags"
 msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:545 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/push.c:546
+#: builtin/push.c:549
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/push.c:560
+#: builtin/push.c:563
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:562
+#: builtin/push.c:565
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
-#: builtin/push.c:579
+#: builtin/push.c:584
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
@@ -10873,8 +11306,8 @@ msgid ""
 "with what you pushed, and will require 'git reset --hard' to match\n"
 "the work tree to HEAD.\n"
 "\n"
-"You can set 'receive.denyCurrentBranch' configuration variable to\n"
-"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"You can set the 'receive.denyCurrentBranch' configuration variable\n"
+"to 'ignore' or 'warn' in the remote repository to allow pushing into\n"
 "its current branch; however, this is not recommended unless you\n"
 "arranged to update its work tree to match what you pushed in some\n"
 "other way.\n"
@@ -10904,10 +11337,10 @@ msgid ""
 "To squelch this message, you can set it to 'refuse'."
 msgstr ""
 "默认禁止删除当前分支,因为下一次 'git clone' 将不会检出任何文件,\n"
-"导致混淆。\n"
+"导致困惑。\n"
 "\n"
 "您可以在远程仓库中设置 'receive.denyDeleteCurrent' 配置变量为\n"
-"'warn' 或 'ignore' 以允许删除当前分支,显示或者不显示警告。\n"
+"'warn'(显示警告信息)或 'ignore'(忽略警告信息)以允许删除当前分支。\n"
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
@@ -11435,83 +11868,91 @@ msgstr "未知子命令:%s"
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
 
-#: builtin/repack.c:160
+#: builtin/repack.c:22
+msgid ""
+"Incremental repacks are incompatible with bitmap indexes.  Use\n"
+"--no-write-bitmap-index or disable the pack.writebitmaps configuration."
+msgstr ""
+"增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
+"或禁用 pack.writebitmaps 配置。"
+
+#: builtin/repack.c:166
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:162
+#: builtin/repack.c:168
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:165
+#: builtin/repack.c:171
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:167
+#: builtin/repack.c:173
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:169
+#: builtin/repack.c:175
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:171
+#: builtin/repack.c:177
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:174
+#: builtin/repack.c:180
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:176
+#: builtin/repack.c:182
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:183
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:178
+#: builtin/repack.c:184
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:180
+#: builtin/repack.c:186
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:188
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:183 builtin/repack.c:187
+#: builtin/repack.c:189 builtin/repack.c:193
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:190
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:192
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:194
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:196
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:206
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:210
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:391 builtin/worktree.c:115
+#: builtin/repack.c:400 builtin/worktree.c:115
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "无法删除 '%s'"
@@ -11740,23 +12181,23 @@ msgstr "不能写入新的索引文件。"
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-parse.c:386
+#: builtin/rev-parse.c:391
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:396
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:393
+#: builtin/rev-parse.c:398
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:401
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:527
+#: builtin/rev-parse.c:532
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11855,25 +12296,7 @@ msgstr "拣选失败"
 msgid "git rm [<options>] [--] <file>..."
 msgstr "git rm [<选项>] [--] <文件>..."
 
-#: builtin/rm.c:65
-msgid ""
-"the following submodule (or one of its nested submodules)\n"
-"uses a .git directory:"
-msgid_plural ""
-"the following submodules (or one of their nested submodules)\n"
-"use a .git directory:"
-msgstr[0] "以下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
-msgstr[1] "以下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
-
-#: builtin/rm.c:71
-msgid ""
-"\n"
-"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr ""
-"\n"
-"(使用 'rm -rf' 命令如果您真的想删除它及其全部历史)"
-
-#: builtin/rm.c:230
+#: builtin/rm.c:205
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -11883,7 +12306,7 @@ msgid_plural ""
 msgstr[0] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样:"
 msgstr[1] "如下文件其暂存的内容和工作区及 HEAD 中的都不一样:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:210
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -11891,13 +12314,13 @@ msgstr ""
 "\n"
 "(使用 -f 强制删除)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:214
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "下列文件索引中有变更"
 msgstr[1] "下列文件索引中有变更"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:218 builtin/rm.c:227
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -11905,42 +12328,47 @@ msgstr ""
 "\n"
 "(使用 --cached 保留本地文件,或用 -f 强制删除)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:224
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "如下文件有本地修改:"
 msgstr[1] "如下文件有本地修改:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:242
 msgid "do not list removed files"
 msgstr "不列出删除的文件"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:243
 msgid "only remove from the index"
 msgstr "只从索引区删除"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:244
 msgid "override the up-to-date check"
 msgstr "忽略文件更新状态检查"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:245
 msgid "allow recursive removal"
 msgstr "允许递归删除"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:247
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
-#: builtin/rm.c:335
+#: builtin/rm.c:308
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "未提供 -r 选项不会递归删除 '%s'"
 
-#: builtin/rm.c:374
+#: builtin/rm.c:347
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
+#: builtin/rm.c:370
+#, c-format
+msgid "could not remove '%s'"
+msgstr "无法删除 '%s'"
+
 #: builtin/send-pack.c:18
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
@@ -11972,23 +12400,27 @@ msgstr "打印来自远程 helper 的状态"
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]"
 
-#: builtin/shortlog.c:242
+#: builtin/shortlog.c:249
+msgid "Group by committer rather than author"
+msgstr "按照提交者分组而不是作者"
+
+#: builtin/shortlog.c:251
 msgid "sort output according to the number of commits per author"
 msgstr "根据每个作者的提交数量排序"
 
-#: builtin/shortlog.c:244
+#: builtin/shortlog.c:253
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "隐藏提交说明,只提供提交数量"
 
-#: builtin/shortlog.c:246
+#: builtin/shortlog.c:255
 msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
-#: builtin/shortlog.c:247
+#: builtin/shortlog.c:256
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:248
+#: builtin/shortlog.c:257
 msgid "Linewrap output"
 msgstr "折行输出"
 
@@ -12124,7 +12556,7 @@ msgstr "'%s' 不是一个有效的引用。"
 #: builtin/show-branch.c:836
 #, c-format
 msgid "cannot find commit %s (%s)"
-msgstr "不能找到提交 %s (%s)"
+msgstr "不能找到提交 %s(%s)"
 
 #: builtin/show-ref.c:10
 msgid ""
@@ -12138,35 +12570,35 @@ msgstr ""
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<模式>]"
 
-#: builtin/show-ref.c:165
+#: builtin/show-ref.c:159
 msgid "only show tags (can be combined with heads)"
 msgstr "只显示标签(可以和头共用)"
 
-#: builtin/show-ref.c:166
+#: builtin/show-ref.c:160
 msgid "only show heads (can be combined with tags)"
 msgstr "只显示头(可以和标签共用)"
 
-#: builtin/show-ref.c:167
+#: builtin/show-ref.c:161
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
-#: builtin/show-ref.c:170 builtin/show-ref.c:172
+#: builtin/show-ref.c:164 builtin/show-ref.c:166
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "显示 HEAD 引用,即使被过滤掉"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:168
 msgid "dereference tags into object IDs"
 msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:170
 msgid "only show SHA1 hash using <n> digits"
 msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:174
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
 
-#: builtin/show-ref.c:182
+#: builtin/show-ref.c:176
 msgid "show refs from stdin that aren't in local repository"
 msgstr "显示从标准输入中读入的不在本地仓库中的引用"
 
@@ -12186,12 +12618,12 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -12201,8 +12633,7 @@ msgstr "期望一个完整的引用名称,却得到 %s"
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
-#: builtin/submodule--helper.c:590
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
@@ -12210,85 +12641,85 @@ msgstr "相对路径的替代锚记(anchor)"
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
+#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:369
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:377
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:383
+#: builtin/submodule--helper.c:387
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:390
+#: builtin/submodule--helper.c:394
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:410
 msgid "Suppress output for initializing a submodule"
 msgstr "初始化子模组时抑制输出"
 
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:435
+#: builtin/submodule--helper.c:436
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:441
+#: builtin/submodule--helper.c:442
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:564
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:571
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:593
+#: builtin/submodule--helper.c:595
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:598
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:599
+#: builtin/submodule--helper.c:601
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:605
+#: builtin/submodule--helper.c:607
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
 msgid "force cloning progress"
-msgstr "显示克隆进度"
+msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:613
+#: builtin/submodule--helper.c:615
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12296,108 +12727,116 @@ msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
-#, c-format
-msgid "could not create directory '%s'"
-msgstr "不能创建目录 '%s'"
-
-#: builtin/submodule--helper.c:644
+#: builtin/submodule--helper.c:646
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:662
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "无法打开文件 '%s'"
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "could not close file %s"
 msgstr "无法关闭文件 %s"
 
-#: builtin/submodule--helper.c:672
+#: builtin/submodule--helper.c:674
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:726
+#: builtin/submodule--helper.c:742
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:730
+#: builtin/submodule--helper.c:746
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:756
+#: builtin/submodule--helper.c:772
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:777
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:913
+#: builtin/submodule--helper.c:929
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:924
+#: builtin/submodule--helper.c:940
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:945
+#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:948
+#: builtin/submodule--helper.c:964
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:968
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:972
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:959
+#: builtin/submodule--helper.c:975
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:961
+#: builtin/submodule--helper.c:977
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:962
+#: builtin/submodule--helper.c:978
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:985
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:979
+#: builtin/submodule--helper.c:995
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:1066
 #, 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:1100
+#: builtin/submodule--helper.c:1106
+msgid "recurse into submodules"
+msgstr "在子模组中递归"
+
+#: builtin/submodule--helper.c:1112
+msgid "git submodule--helper embed-git-dir [<path>...]"
+msgstr "git submodule--helper embed-git-dir [<路径>...]"
+
+#: builtin/submodule--helper.c:1157
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "submodule-helper 子命令必须由另外的子命令调用"
 
-#: builtin/submodule--helper.c:1107
+#: builtin/submodule--helper.c:1164
+#, c-format
+msgid "%s doesn't support --super-prefix"
+msgstr "%s 不支持 --super-prefix"
+
+#: builtin/submodule--helper.c:1170
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -12450,25 +12889,25 @@ msgstr ""
 "\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
 #: builtin/tag.c:27
-msgid "git tag -v <tagname>..."
-msgstr "git tag -v <标签名>..."
+msgid "git tag -v [--format=<format>] <tagname>..."
+msgstr "git tag -v [--format=<格式>] <标签名>..."
 
-#: builtin/tag.c:81
+#: builtin/tag.c:82
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "标签名称太长:%.*s..."
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:101
+#: builtin/tag.c:102
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:117
+#: builtin/tag.c:131
 #, c-format
 msgid ""
 "\n"
@@ -12481,7 +12920,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:121
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -12495,138 +12934,138 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:199
+#: builtin/tag.c:213
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:201
+#: builtin/tag.c:215
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:240
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:239
+#: builtin/tag.c:253
 msgid "tag header too big."
 msgstr "标签头信息太大。"
 
-#: builtin/tag.c:275
+#: builtin/tag.c:289
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:281
+#: builtin/tag.c:295
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:339
+#: builtin/tag.c:354
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:341
+#: builtin/tag.c:356
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:358
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:344
+#: builtin/tag.c:359
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:346
+#: builtin/tag.c:361
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:348
+#: builtin/tag.c:363
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:350
+#: builtin/tag.c:365
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:352
+#: builtin/tag.c:367
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:371
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:357
+#: builtin/tag.c:372
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:358 builtin/update-ref.c:368
+#: builtin/tag.c:373 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:360
+#: builtin/tag.c:375
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:376
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:362 builtin/tag.c:363
+#: builtin/tag.c:377 builtin/tag.c:378
 msgid "print only tags that contain the commit"
 msgstr "只打印包含提交的标签"
 
-#: builtin/tag.c:364
+#: builtin/tag.c:379
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:380
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:370
+#: builtin/tag.c:385
 msgid "print only tags of the object"
 msgstr "只打印对象的标签"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:415
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:419
+#: builtin/tag.c:437
 msgid "-n option is only allowed with -l."
 msgstr "-n 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:421
+#: builtin/tag.c:439
 msgid "--contains option is only allowed with -l."
 msgstr "--contains 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:423
+#: builtin/tag.c:441
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:425
+#: builtin/tag.c:443
 msgid "--merged and --no-merged option are only allowed with -l"
 msgstr "选项 --merged 和 --no-merged 只能和 -l 共用"
 
-#: builtin/tag.c:433
+#: builtin/tag.c:454
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:452
+#: builtin/tag.c:473
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:479
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:463
+#: builtin/tag.c:484
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:491
+#: builtin/tag.c:512
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
@@ -12813,7 +13252,7 @@ msgstr "测试文件系统是否支持未跟踪文件缓存"
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1119
+#: builtin/update-index.c:1120
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -12821,11 +13260,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1123
+#: builtin/update-index.c:1124
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1132
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -12833,7 +13272,7 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1135
+#: builtin/update-index.c:1136
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
@@ -12882,7 +13321,7 @@ msgstr "git verify-commit [-v | --verbose] <提交>..."
 msgid "print commit contents"
 msgstr "打印提交内容"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "打印原始 gpg 状态输出"
 
@@ -12898,11 +13337,11 @@ msgstr "冗长输出"
 msgid "show statistics only"
 msgstr "只显示统计"
 
-#: builtin/verify-tag.c:17
-msgid "git verify-tag [-v | --verbose] <tag>..."
-msgstr "git verify-tag [-v | --verbose] <标签>..."
+#: builtin/verify-tag.c:18
+msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<格式>] <标签>..."
 
-#: builtin/verify-tag.c:34
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "打印标签内容"
 
@@ -12951,6 +13390,14 @@ msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
+#: builtin/worktree.c:128
+msgid "report pruned working trees"
+msgstr "报告清除的工作区"
+
+#: builtin/worktree.c:130
+msgid "expire working trees older than <time>"
+msgstr "将早于 <time> 的工作区过期"
+
 #: builtin/worktree.c:204
 #, c-format
 msgid "'%s' already exists"
@@ -12964,7 +13411,7 @@ msgstr "不能创建目录 '%s'"
 #: builtin/worktree.c:272
 #, c-format
 msgid "Preparing %s (identifier %s)"
-msgstr "准备 %s (标识符 %s)"
+msgstr "准备 %s(标识符 %s)"
 
 #: builtin/worktree.c:323
 msgid "checkout <branch> even if already checked out in other worktree"
@@ -12986,30 +13433,30 @@ msgstr "生成新的工作区"
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:470
+#: builtin/worktree.c:472
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:482 builtin/worktree.c:515
+#: builtin/worktree.c:484 builtin/worktree.c:517
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:486 builtin/worktree.c:519
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:491
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:493
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:519
+#: builtin/worktree.c:521
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
@@ -13034,19 +13481,19 @@ msgstr "只对调试有用"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
-#: upload-pack.c:1028
+#: upload-pack.c:1036
 msgid "quit after a single request/response exchange"
 msgstr "在一次单独的请求/响应(request/response)交换后退出"
 
-#: upload-pack.c:1030
+#: upload-pack.c:1038
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
 
-#: upload-pack.c:1032
+#: upload-pack.c:1040
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "不要尝试 <directory>/.git/ 如果 <directory> 不是一个 Git 目录"
 
-#: upload-pack.c:1034
+#: upload-pack.c:1042
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
@@ -13058,7 +13505,8 @@ msgid ""
 "\n"
 "\tchmod 0700 %s"
 msgstr ""
-"您 socket 目录权限过于放松,其他用户可能会读取您缓存的认证信息。考虑执行:\n"
+"您的 socket 目录权限过于宽松,其他用户可能会读取您缓存的认证信息。考虑执"
+"行:\n"
 "\n"
 "\tchmod 0700 %s"
 
@@ -13076,14 +13524,30 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: http.c:342
+#: http.c:344
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "当 cURL < 7.22.0 时,不支持委托控制"
 
-#: http.c:351
+#: http.c:353
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
+#: http.c:1713
+#, c-format
+msgid ""
+"unable to update url base from redirection:\n"
+"  asked for: %s\n"
+"   redirect: %s"
+msgstr ""
+"不能更新重定向的 url base:\n"
+"     请求:%s\n"
+"   重定向:%s"
+
+#: remote-curl.c:319
+#, c-format
+msgid "redirecting to %s"
+msgstr "重定向到 %s"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "开始一个工作区(参见:git help tutorial)"
@@ -13447,7 +13911,7 @@ msgstr "尝试和 $pretty_name 的简单合并"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-rebase.sh:56
+#: git-rebase.sh:57
 msgid ""
 "When you have resolved this problem, run \"git rebase --continue\".\n"
 "If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
@@ -13458,51 +13922,37 @@ msgstr ""
 "如果您想跳过此补丁,则执行 \"git rebase --skip\"。\n"
 "要恢复原分支并停止变基,执行 \"git rebase --abort\"。"
 
-#: git-rebase.sh:156 git-rebase.sh:395
+#: git-rebase.sh:157 git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:167
-msgid "Applied autostash."
-msgstr "成功应用 autostash。"
-
-#: git-rebase.sh:170
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
-#: git-rebase.sh:171
-msgid ""
-"Applying autostash resulted in conflicts.\n"
-"Your changes are safe in the stash.\n"
-"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
-msgstr ""
-"应用 autostash 导致冲突。\n"
-"您的修改安全地保存在 stash 中。\n"
-"您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
-
-#: git-rebase.sh:210
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
-#: git-rebase.sh:215
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "似乎正处于在 git-am 的执行过程中。无法变基。"
 
-#: git-rebase.sh:356
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:374
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -13510,7 +13960,7 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:418
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -13529,64 +13979,64 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:465
+#: git-rebase.sh:469
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "无效的上游 $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:493
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:496 git-rebase.sh:500
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:505
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:528
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "严重错误:无此分支:$branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:561
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:566
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:570
 msgid "Please commit or stash them."
 msgstr "请提交或为它们保存进度。"
 
-#: git-rebase.sh:586
+#: git-rebase.sh:590
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:590
+#: git-rebase.sh:594
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:601
+#: git-rebase.sh:605
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:614
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:624
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -13751,21 +14201,26 @@ msgstr "未指定分支名"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:184
+#: git-submodule.sh:181
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:194
+#: git-submodule.sh:191
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:211
+#: git-submodule.sh:210
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:215
+#: git-submodule.sh:213
+#, sh-format
+msgid "'$sm_path' already exists in the index and is not a submodule"
+msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
+
+#: git-submodule.sh:218
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -13776,22 +14231,22 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:233
+#: git-submodule.sh:236
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:235
+#: git-submodule.sh:238
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:243
+#: git-submodule.sh:246
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:245
+#: git-submodule.sh:248
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -13806,47 +14261,47 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:251
+#: git-submodule.sh:254
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:263
+#: git-submodule.sh:266
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:268
+#: git-submodule.sh:271
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:277
+#: git-submodule.sh:280
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:324
+#: git-submodule.sh:327
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "正在进入 '$displaypath'"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:347
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "停止于 '$displaypath';脚本返回非零值。"
 
-#: git-submodule.sh:415
+#: git-submodule.sh:418
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "pathspec 和 --all 不兼容"
 
-#: git-submodule.sh:420
+#: git-submodule.sh:423
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: git-submodule.sh:440
+#: git-submodule.sh:443
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -13855,56 +14310,56 @@ msgstr ""
 "子模组工作区 '$displaypath' 包含一个 .git 目录\n"
 "(如果您真的想删除它及其全部历史,使用 'rm -rf' 命令)"
 
-#: git-submodule.sh:448
+#: git-submodule.sh:451
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr "子模组工作区 '$displaypath' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:454
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "已清除目录 '$displaypath'"
 
-#: git-submodule.sh:452
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "无法移除子模组工作区 '$displaypath'"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:458
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "不能创建空的子模组目录 '$displaypath'"
 
-#: git-submodule.sh:464
+#: git-submodule.sh:467
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:623
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:632
+#: git-submodule.sh:638
 #, 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:650
+#: git-submodule.sh:656
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:662
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -13912,84 +14367,84 @@ msgid ""
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:663
+#: git-submodule.sh:669
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:670
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:686
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:687
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:712
+#: git-submodule.sh:718
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:820
+#: git-submodule.sh:826
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:872
+#: git-submodule.sh:878
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:892
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:895
+#: git-submodule.sh:901
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:898
+#: git-submodule.sh:904
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:1045
+#: git-submodule.sh:1051
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "无法递归进子模组路径 '$sm_path'"
 
-#: git-submodule.sh:1112
+#: git-submodule.sh:1118
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
@@ -13999,12 +14454,12 @@ msgstr "为 '$displaypath' 同步子模组 url"
 msgid "See git-${cmd}(1) for details."
 msgstr "详见 git-${cmd}(1)。"
 
-#: git-rebase--interactive.sh:131
+#: git-rebase--interactive.sh:140
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "变基中($new_count/$total)"
 
-#: git-rebase--interactive.sh:147
+#: git-rebase--interactive.sh:156
 msgid ""
 "\n"
 "Commands:\n"
@@ -14031,7 +14486,7 @@ msgstr ""
 "这些行可以被重新排序;它们会被从上至下地执行。\n"
 "\n"
 
-#: git-rebase--interactive.sh:162
+#: git-rebase--interactive.sh:171
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -14039,7 +14494,7 @@ msgstr ""
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: git-rebase--interactive.sh:166
+#: git-rebase--interactive.sh:175
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -14047,7 +14502,7 @@ msgstr ""
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
-#: git-rebase--interactive.sh:202
+#: git-rebase--interactive.sh:211
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -14066,87 +14521,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:227
+#: git-rebase--interactive.sh:236
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1:不是一个可以被拣选的提交"
 
-#: git-rebase--interactive.sh:266
+#: git-rebase--interactive.sh:275
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "无效的提交名:$sha1"
 
-#: git-rebase--interactive.sh:308
+#: git-rebase--interactive.sh:317
 msgid "Cannot write current commit's replacement sha1"
 msgstr "不能写入当前提交的替代 sha1"
 
-#: git-rebase--interactive.sh:360
+#: git-rebase--interactive.sh:369
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "快进到 $sha1"
 
-#: git-rebase--interactive.sh:362
+#: git-rebase--interactive.sh:371
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "不能快进到 $sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:380
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "不能移动 HEAD 到 $first_parent"
 
-#: git-rebase--interactive.sh:376
+#: git-rebase--interactive.sh:385
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "拒绝压缩一个合并:$sha1"
 
-#: git-rebase--interactive.sh:390
+#: git-rebase--interactive.sh:399
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "无法重做合并 $sha1"
 
-#: git-rebase--interactive.sh:398
+#: git-rebase--interactive.sh:407
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "不能拣选 $sha1"
 
-#: git-rebase--interactive.sh:407
+#: git-rebase--interactive.sh:416
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "这是提交说明 #${n}:"
 
-#: git-rebase--interactive.sh:412
+#: git-rebase--interactive.sh:421
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "提交说明 #${n} 将被跳过:"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:432
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "这是一个 $count 个提交的组合。"
 msgstr[1] "这是一个 $count 个提交的组合。"
 
-#: git-rebase--interactive.sh:431
+#: git-rebase--interactive.sh:441
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "不能写入 $fixup_msg"
 
-#: git-rebase--interactive.sh:434
+#: git-rebase--interactive.sh:444
 msgid "This is a combination of 2 commits."
 msgstr "这是一个 2 个提交的组合。"
 
-#: git-rebase--interactive.sh:435
-msgid "This is the 1st commit message:"
-msgstr "这是第一个提交说明:"
-
-#: git-rebase--interactive.sh:475 git-rebase--interactive.sh:518
-#: git-rebase--interactive.sh:521
+#: git-rebase--interactive.sh:485 git-rebase--interactive.sh:528
+#: git-rebase--interactive.sh:531
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "不能应用 $sha1... $rest"
 
-#: git-rebase--interactive.sh:549
+#: git-rebase--interactive.sh:559
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -14159,32 +14610,32 @@ msgstr ""
 "这通常是因为空的提交说明,或者 pre-commit 钩子执行失败。如果是 pre-commit\n"
 "钩子执行失败,你可能需要在重写提交说明前解决这个问题。"
 
-#: git-rebase--interactive.sh:564
+#: git-rebase--interactive.sh:574
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "停止在 $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:579
+#: git-rebase--interactive.sh:589
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "没有父提交的情况下不能 '$squash_style'"
 
-#: git-rebase--interactive.sh:621
+#: git-rebase--interactive.sh:631
 #, sh-format
 msgid "Executing: $rest"
 msgstr "执行:$rest"
 
-#: git-rebase--interactive.sh:629
+#: git-rebase--interactive.sh:639
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "执行失败:$rest"
 
-#: git-rebase--interactive.sh:631
+#: git-rebase--interactive.sh:641
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
 #  译者:注意保持前导空格
-#: git-rebase--interactive.sh:633
+#: git-rebase--interactive.sh:643
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -14195,7 +14646,7 @@ msgstr ""
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:646
+#: git-rebase--interactive.sh:656
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -14209,25 +14660,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:657
+#: git-rebase--interactive.sh:667
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "未知命令:$command $sha1 $rest"
 
-#: git-rebase--interactive.sh:658
+#: git-rebase--interactive.sh:668
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "要修改请使用命令 'git rebase --edit-todo'。"
 
-#: git-rebase--interactive.sh:693
+#: git-rebase--interactive.sh:703
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
-#: git-rebase--interactive.sh:740
+#: git-rebase--interactive.sh:750
 msgid "Could not skip unnecessary pick commands"
 msgstr "不能跳过不必要的拣选命令"
 
-#: git-rebase--interactive.sh:898
+#: git-rebase--interactive.sh:908
 #, sh-format
 msgid ""
 "Warning: the SHA-1 is missing or isn't a commit in the following line:\n"
@@ -14236,7 +14687,7 @@ msgstr ""
 "警告:缺失 SHA-1 或者在下面一行中不是一个提交:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:931
+#: git-rebase--interactive.sh:941
 #, sh-format
 msgid ""
 "Warning: the command isn't recognized in the following line:\n"
@@ -14245,17 +14696,17 @@ msgstr ""
 "警告:下面一行中的命令未能被识别:\n"
 " - $line"
 
-#: git-rebase--interactive.sh:970
+#: git-rebase--interactive.sh:980
 msgid "could not detach HEAD"
 msgstr "不能检出为分离头指针"
 
-#: git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:1018
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
 "Dropped commits (newer to older):"
 msgstr "警告:一些提交可能被意外丢弃。丢弃的提交(从新到旧):"
 
-#: git-rebase--interactive.sh:1016
+#: git-rebase--interactive.sh:1026
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
 "\n"
@@ -14268,30 +14719,29 @@ msgstr ""
 "使用 'git config rebase.missingCommitsCheck' 来修改警告级别。\n"
 "可选值有:ignore、warn、error。"
 
-#: git-rebase--interactive.sh:1027
+#: git-rebase--interactive.sh:1037
 #, sh-format
 msgid ""
 "Unrecognized setting $check_level for option rebase.missingCommitsCheck. "
 "Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 $check_level 无法被识别。已忽略。"
 
-#: git-rebase--interactive.sh:1044
+#: git-rebase--interactive.sh:1054
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'."
 msgstr ""
-"您可以用命令 'git rebase --edit-todo' 修正然后执行命令 'git rebase --"
-"continue'。"
+"您可以用 'git rebase --edit-todo' 修正问题然后执行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:1045
+#: git-rebase--interactive.sh:1055
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "或者您可以使用 'git rebase --abort' 命令终止变基操作。"
 
-#: git-rebase--interactive.sh:1069
+#: git-rebase--interactive.sh:1079
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1074
+#: git-rebase--interactive.sh:1084
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14320,22 +14770,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1091
+#: git-rebase--interactive.sh:1101
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
-#: git-rebase--interactive.sh:1096
+#: git-rebase--interactive.sh:1106
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
+#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--interactive.sh:1129
+#: git-rebase--interactive.sh:1139
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14349,40 +14799,40 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
 msgid "Could not execute editor"
 msgstr "无法运行编辑器"
 
-#: git-rebase--interactive.sh:1150
+#: git-rebase--interactive.sh:1160
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "不能检出 $switch_to"
 
-#: git-rebase--interactive.sh:1155
+#: git-rebase--interactive.sh:1165
 msgid "No HEAD?"
 msgstr "没有 HEAD?"
 
-#: git-rebase--interactive.sh:1156
+#: git-rebase--interactive.sh:1166
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "不能创建临时 $state_dir"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1168
 msgid "Could not mark as interactive"
 msgstr "不能标记为交互式"
 
-#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
+#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
-#: git-rebase--interactive.sh:1273
+#: git-rebase--interactive.sh:1283
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
 msgstr[1] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
 
-#: git-rebase--interactive.sh:1278
+#: git-rebase--interactive.sh:1288
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -14392,7 +14842,7 @@ msgstr ""
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
-#: git-rebase--interactive.sh:1285
+#: git-rebase--interactive.sh:1295
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
@@ -14453,6 +14903,870 @@ msgstr "您需要在工作区的顶级目录中运行这个命令。"
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
 
+#. TRANSLATORS: you can adjust this to align "git add -i" status menu
+#: git-add--interactive.perl:238
+#, perl-format
+msgid "%12s %12s %s"
+msgstr "%12s %12s %s"
+
+#: git-add--interactive.perl:239
+msgid "staged"
+msgstr "缓存"
+
+#: git-add--interactive.perl:239
+msgid "unstaged"
+msgstr "未缓存"
+
+#: git-add--interactive.perl:297 git-add--interactive.perl:322
+msgid "binary"
+msgstr "二进制"
+
+#: git-add--interactive.perl:306 git-add--interactive.perl:360
+msgid "nothing"
+msgstr "无"
+
+#: git-add--interactive.perl:342 git-add--interactive.perl:357
+msgid "unchanged"
+msgstr "没有修改"
+
+#: git-add--interactive.perl:653
+#, perl-format
+msgid "added %d path\n"
+msgid_plural "added %d paths\n"
+msgstr[0] "增加了 %d 个路径\n"
+msgstr[1] "增加了 %d 个路径\n"
+
+#: git-add--interactive.perl:656
+#, perl-format
+msgid "updated %d path\n"
+msgid_plural "updated %d paths\n"
+msgstr[0] "更新了 %d 个路径\n"
+msgstr[1] "更新了 %d 个路径\n"
+
+#: git-add--interactive.perl:659
+#, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "还原了 %d 个路径\n"
+msgstr[1] "还原了 %d 个路径\n"
+
+#: git-add--interactive.perl:662
+#, perl-format
+msgid "touched %d path\n"
+msgid_plural "touched %d paths\n"
+msgstr[0] "触碰了 %d 个路径\n"
+msgstr[1] "触碰了 %d 个路径\n"
+
+#: git-add--interactive.perl:671
+msgid "Update"
+msgstr "更新"
+
+#: git-add--interactive.perl:683
+msgid "Revert"
+msgstr "还原"
+
+#: git-add--interactive.perl:706
+#, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "说明:%s 现已成为未跟踪的。\n"
+
+#: git-add--interactive.perl:717
+msgid "Add untracked"
+msgstr "添加未跟踪的"
+
+#: git-add--interactive.perl:723
+msgid "No untracked files.\n"
+msgstr "没有未跟踪的文件。\n"
+
+#: git-add--interactive.perl:1039
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for staging."
+msgstr "如果补丁能干净地应用,编辑块将立即标记为暂存。"
+
+#: git-add--interactive.perl:1042
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for stashing."
+msgstr "如果补丁能干净地应用,编辑块将立即标记为保存进度。"
+
+#: git-add--interactive.perl:1045
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for unstaging."
+msgstr "如果补丁能干净地应用,编辑块将立即标记为未暂存。"
+
+#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for applying."
+msgstr "如果补丁能干净地应用,编辑块将立即标记为应用。"
+
+#: git-add--interactive.perl:1051
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding"
+msgstr "如果补丁能干净地应用,编辑块将立即标记为丢弃"
+
+#: git-add--interactive.perl:1054
+msgid ""
+"If the patch applies cleanly, the edited hunk will immediately be\n"
+"marked for discarding."
+msgstr "如果补丁能干净地应用,编辑块将立即标记为丢弃。"
+
+#: git-add--interactive.perl:1067
+#, perl-format
+msgid "failed to open hunk edit file for writing: %s"
+msgstr "无法写入块编辑文件:%s"
+
+#: git-add--interactive.perl:1068
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
+
+#: git-add--interactive.perl:1074
+#, perl-format
+msgid ""
+"---\n"
+"To remove '%s' lines, make them ' ' lines (context).\n"
+"To remove '%s' lines, delete them.\n"
+"Lines starting with %s will be removed.\n"
+msgstr ""
+"---\n"
+"要删除 '%s' 开始的行,使其成为 ' ' 开始的行(上下文)。\n"
+"要删除 '%s' 开始的行,删除它们。\n"
+"以 %s 开始的行将被删除。\n"
+
+#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
+#: git-add--interactive.perl:1082
+msgid ""
+"If it does not apply cleanly, you will be given an opportunity to\n"
+"edit again.  If all lines of the hunk are removed, then the edit is\n"
+"aborted and the hunk is left unchanged.\n"
+msgstr ""
+"如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n"
+"此次编辑被终止,该块不会被修改。\n"
+
+#: git-add--interactive.perl:1096
+#, perl-format
+msgid "failed to open hunk edit file for reading: %s"
+msgstr "无法读取块编辑文件:%s"
+
+#. TRANSLATORS: do not translate [y/n]
+#. The program will only accept that input
+#. at this point.
+#. Consider translating (saying "no" discards!) as
+#. (saying "n" for "no" discards!) if the translation
+#. of the word "no" does not start with n.
+#: git-add--interactive.perl:1187
+msgid ""
+"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
+msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? "
+
+#: git-add--interactive.perl:1196
+msgid ""
+"y - stage this hunk\n"
+"n - do not stage this hunk\n"
+"q - quit; do not stage this hunk or any of the remaining ones\n"
+"a - stage this hunk and all later hunks in the file\n"
+"d - do not stage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 暂存该块\n"
+"n - 不要暂存该块\n"
+"q - 退出。不暂存该块及后面的全部块\n"
+"a - 暂存该块和本文件中后面的全部块\n"
+"d - 不暂存该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1202
+msgid ""
+"y - stash this hunk\n"
+"n - do not stash this hunk\n"
+"q - quit; do not stash this hunk or any of the remaining ones\n"
+"a - stash this hunk and all later hunks in the file\n"
+"d - do not stash this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 贮藏该块\n"
+"n - 不要贮藏该块\n"
+"q - 退出。不贮藏该块及后面的全部块\n"
+"a - 贮藏该块和本文件中后面的全部块\n"
+"d - 不贮藏该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1208
+msgid ""
+"y - unstage this hunk\n"
+"n - do not unstage this hunk\n"
+"q - quit; do not unstage this hunk or any of the remaining ones\n"
+"a - unstage this hunk and all later hunks in the file\n"
+"d - do not unstage this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 不暂存该块\n"
+"n - 不要不暂存该块\n"
+"q - 退出。不要不暂存该块及后面的全部块\n"
+"a - 不暂存该块和本文件中后面的全部块\n"
+"d - 不要不暂存该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1214
+msgid ""
+"y - apply this hunk to index\n"
+"n - do not apply this hunk to index\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引中应用该块\n"
+"n - 不要在索引中应用该块\n"
+"q - 退出。不要应用该块及后面的全部块\n"
+"a - 应用该块和本文件中后面的全部块\n"
+"d - 不要应用该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1220
+msgid ""
+"y - discard this hunk from worktree\n"
+"n - do not discard this hunk from worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在工作区中丢弃该块\n"
+"n - 不要在工作区中丢弃该块\n"
+"q - 退出。不要丢弃该块及后面的全部块\n"
+"a - 丢弃该块和本文件中后面的全部块\n"
+"d - 不要丢弃该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1226
+msgid ""
+"y - discard this hunk from index and worktree\n"
+"n - do not discard this hunk from index and worktree\n"
+"q - quit; do not discard this hunk or any of the remaining ones\n"
+"a - discard this hunk and all later hunks in the file\n"
+"d - do not discard this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引和工作区中丢弃该块\n"
+"n - 不要在索引和工作区中丢弃该块\n"
+"q - 退出。不要丢弃该块及后面的全部块\n"
+"a - 丢弃该块和本文件中后面的全部块\n"
+"d - 不要丢弃该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1232
+msgid ""
+"y - apply this hunk to index and worktree\n"
+"n - do not apply this hunk to index and worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - 在索引和工作区中应用该块\n"
+"n - 不要在索引和工作区中应用该块\n"
+"q - 退出。不要应用该块及后面的全部块\n"
+"a - 应用该块和本文件中后面的全部块\n"
+"d - 不要应用该块和本文件中后面的全部块"
+
+#: git-add--interactive.perl:1241
+msgid ""
+"g - select a hunk to go to\n"
+"/ - search for a hunk matching the given regex\n"
+"j - leave this hunk undecided, see next undecided hunk\n"
+"J - leave this hunk undecided, see next hunk\n"
+"k - leave this hunk undecided, see previous undecided hunk\n"
+"K - leave this hunk undecided, see previous hunk\n"
+"s - split the current hunk into smaller hunks\n"
+"e - manually edit the current hunk\n"
+"? - print help\n"
+msgstr ""
+"g - 选择跳转到一个块\n"
+"/ - 查找和给定正则表达式匹配的块\n"
+"j - 维持该块未决状态,查看下一个未决块\n"
+"J - 维持该块未决状态,查看下一个块\n"
+"k - 维持该块未决状态,查看上一个未决块\n"
+"K - 维持该块未决状态,查看上一个块\n"
+"s - 拆分当前块为更小的块\n"
+"e - 手动编辑当前块\n"
+"? - 显示帮助\n"
+
+#: git-add--interactive.perl:1272
+msgid "The selected hunks do not apply to the index!\n"
+msgstr "选中的块不能应用到索引!\n"
+
+#: git-add--interactive.perl:1273
+msgid "Apply them to the worktree anyway? "
+msgstr "无论如何都要应用到工作区么?"
+
+#: git-add--interactive.perl:1276
+msgid "Nothing was applied.\n"
+msgstr "未应用。\n"
+
+#: git-add--interactive.perl:1287
+#, perl-format
+msgid "ignoring unmerged: %s\n"
+msgstr "忽略未合入的:%s\n"
+
+#: git-add--interactive.perl:1296
+msgid "Only binary files changed.\n"
+msgstr "只有二进制文件被修改。\n"
+
+#: git-add--interactive.perl:1298
+msgid "No changes.\n"
+msgstr "没有修改。\n"
+
+#: git-add--interactive.perl:1306
+msgid "Patch update"
+msgstr "补丁更新"
+
+#: git-add--interactive.perl:1358
+#, perl-format
+msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "暂存状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1359
+#, perl-format
+msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "暂存状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1360
+#, perl-format
+msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "暂存该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1363
+#, perl-format
+msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1364
+#, perl-format
+msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1365
+#, perl-format
+msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "贮藏该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1368
+#, perl-format
+msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
+msgstr "未暂存状态修改 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1369
+#, perl-format
+msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
+msgstr "未暂存状态删除 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1370
+#, perl-format
+msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
+msgstr "不暂存该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1373
+#, perl-format
+msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引中的应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1374
+#, perl-format
+msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
+msgstr "从索引中删除应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1375
+#, perl-format
+msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
+msgstr "将此块应用到索引 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1378
+#, perl-format
+msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改工作区中的丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1379
+#, perl-format
+msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从工作区中删除丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1380
+#, perl-format
+msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从工作区中丢弃该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1383
+#, perl-format
+msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引和工作区中的丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1384
+#, perl-format
+msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中删除丢弃状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1385
+#, perl-format
+msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中丢弃该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1388
+#, perl-format
+msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "修改索引和工作区中的应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1389
+#, perl-format
+msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "从索引和工作区中删除应用状态 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1390
+#, perl-format
+msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
+msgstr "在索引和工作区中应用该块 [y,n,q,a,d,/%s,?]? "
+
+#: git-add--interactive.perl:1493
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "跳转到哪个块(<回车> 查看更多)? "
+
+#: git-add--interactive.perl:1495
+msgid "go to which hunk? "
+msgstr "跳转到哪个块?"
+
+#: git-add--interactive.perl:1504
+#, perl-format
+msgid "Invalid number: '%s'\n"
+msgstr "无效数字:'%s'\n"
+
+#: git-add--interactive.perl:1509
+#, perl-format
+msgid "Sorry, only %d hunk available.\n"
+msgid_plural "Sorry, only %d hunks available.\n"
+msgstr[0] "对不起,只有 %d 个可用块。\n"
+msgstr[1] "对不起,只有 %d 个可用块。\n"
+
+#: git-add--interactive.perl:1535
+msgid "search for regex? "
+msgstr "使用正则表达式搜索?"
+
+#: git-add--interactive.perl:1548
+#, perl-format
+msgid "Malformed search regexp %s: %s\n"
+msgstr "错误的正则表达式 %s:%s\n"
+
+#: git-add--interactive.perl:1558
+msgid "No hunk matches the given pattern\n"
+msgstr "没有和给定模式相匹配的快\n"
+
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+msgid "No previous hunk\n"
+msgstr "没有前一个块\n"
+
+#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+msgid "No next hunk\n"
+msgstr "没有下一个块\n"
+
+#: git-add--interactive.perl:1606
+#, perl-format
+msgid "Split into %d hunk.\n"
+msgid_plural "Split into %d hunks.\n"
+msgstr[0] "拆分为 %d 块。\n"
+msgstr[1] "拆分为 %d 块。\n"
+
+#: git-add--interactive.perl:1658
+msgid "Review diff"
+msgstr "检视 diff"
+
+#. TRANSLATORS: please do not translate the command names
+#. 'status', 'update', 'revert', etc.
+#: git-add--interactive.perl:1677
+msgid ""
+"status        - show paths with changes\n"
+"update        - add working tree state to the staged set of changes\n"
+"revert        - revert staged set of changes back to the HEAD version\n"
+"patch         - pick hunks and update selectively\n"
+"diff\t      - view diff between HEAD and index\n"
+"add untracked - add contents of untracked files to the staged set of "
+"changes\n"
+msgstr ""
+"status        - 显示含变更的路径\n"
+"update        - 添加工作区状态至暂存列表\n"
+"revert        - 还原修改的暂存集至 HEAD 版本\n"
+"patch         - 挑选块并且有选择地更新\n"
+"diff          - 显示 HEAD 和索引间差异\n"
+"add untracked - 添加未跟踪文件的内容至暂存列表\n"
+
+#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
+#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
+#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+msgid "missing --"
+msgstr "缺失 --"
+
+#: git-add--interactive.perl:1715
+#, perl-format
+msgid "unknown --patch mode: %s"
+msgstr "未知的 --patch 模式:%s"
+
+#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#, perl-format
+msgid "invalid argument %s, expecting --"
+msgstr "无效的参数 %s,期望是 --"
+
+#: git-send-email.perl:121
+msgid "local zone differs from GMT by a non-minute interval\n"
+msgstr "本地时间和 GMT 有不到一分钟间隔\n"
+
+#: git-send-email.perl:128 git-send-email.perl:134
+msgid "local time offset greater than or equal to 24 hours\n"
+msgstr "本地时间偏移量大于等于 24 小时\n"
+
+#: git-send-email.perl:202 git-send-email.perl:208
+msgid "the editor exited uncleanly, aborting everything"
+msgstr "编辑器非正常退出,终止所有操作"
+
+#: git-send-email.perl:282
+#, perl-format
+msgid ""
+"'%s' contains an intermediate version of the email you were composing.\n"
+msgstr "'%s' 包含您正在编写的一个中间版本的邮件。\n"
+
+#: git-send-email.perl:287
+#, perl-format
+msgid "'%s.final' contains the composed email.\n"
+msgstr "'%s.final' 包含编辑的邮件。\n"
+
+#: git-send-email.perl:305
+msgid "--dump-aliases incompatible with other options\n"
+msgstr "--dump-aliases 和其它选项不兼容\n"
+
+#: git-send-email.perl:368 git-send-email.perl:623
+msgid "Cannot run git format-patch from outside a repository\n"
+msgstr "不能在仓库之外运行 git format-patch\n"
+
+#: git-send-email.perl:437
+#, perl-format
+msgid "Unknown --suppress-cc field: '%s'\n"
+msgstr "未知的 --suppress-cc 字段:'%s'\n"
+
+#: git-send-email.perl:466
+#, perl-format
+msgid "Unknown --confirm setting: '%s'\n"
+msgstr "未知的 --confirm 设置:'%s'\n"
+
+#: git-send-email.perl:498
+#, perl-format
+msgid "warning: sendmail alias with quotes is not supported: %s\n"
+msgstr "警告:不支持带引号的 sendmail 别名:%s\n"
+
+#: git-send-email.perl:500
+#, perl-format
+msgid "warning: `:include:` not supported: %s\n"
+msgstr "警告:不支持 `:include:`:%s\n"
+
+#: git-send-email.perl:502
+#, perl-format
+msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
+msgstr "警告:不支持 `/file` 或 `|pipe` 重定向:%s\n"
+
+#: git-send-email.perl:507
+#, perl-format
+msgid "warning: sendmail line is not recognized: %s\n"
+msgstr "警告:不能识别的 sendmail 行:%s\n"
+
+#: git-send-email.perl:589
+#, perl-format
+msgid ""
+"File '%s' exists but it could also be the range of commits\n"
+"to produce patches for.  Please disambiguate by...\n"
+"\n"
+"    * Saying \"./%s\" if you mean a file; or\n"
+"    * Giving --format-patch option if you mean a range.\n"
+msgstr ""
+"存在文件 '%s' 但是它也可能是一个用于产生补丁列表的提交范围。请用如下方法消除歧义:\n"
+"\n"
+"    * 如果含义为一个文件,使用 \"./%s\",或者\n"
+"    * 如果含义为一个范围,使用 --format-patch 选项。\n"
+
+#: git-send-email.perl:610
+#, perl-format
+msgid "Failed to opendir %s: %s"
+msgstr "无法打开目录 %s: %s"
+
+#: git-send-email.perl:634
+#, perl-format
+msgid ""
+"fatal: %s: %s\n"
+"warning: no patches were sent\n"
+msgstr ""
+"严重:%s:%s\n"
+"警告:补丁未能发送\n"
+
+#: git-send-email.perl:645
+msgid ""
+"\n"
+"No patch files specified!\n"
+"\n"
+msgstr "\n未指定补丁文件!\n\n"
+
+#: git-send-email.perl:658
+#, perl-format
+msgid "No subject line in %s?"
+msgstr "在 %s 中没有标题行?"
+
+#: git-send-email.perl:668
+#, perl-format
+msgid "Failed to open for writing %s: %s"
+msgstr "无法写入 %s: %s"
+
+#: git-send-email.perl:678
+msgid ""
+"Lines beginning in \"GIT:\" will be removed.\n"
+"Consider including an overall diffstat or table of contents\n"
+"for the patch you are writing.\n"
+"\n"
+"Clear the body content if you don't wish to send a summary.\n"
+msgstr ""
+"以 \"GIT:\" 开头的行将被删除。\n"
+"考虑包含一个整体的 diffstat 或者您正在写的补丁的目录。\n"
+"\n"
+"如果您不想发送摘要,清除内容。\n"
+
+#: git-send-email.perl:701
+#, perl-format
+msgid "Failed to open %s.final: %s"
+msgstr "无法打开 %s.final: %s"
+
+#: git-send-email.perl:704
+#, perl-format
+msgid "Failed to open %s: %s"
+msgstr "无法打开 %s: %s"
+
+#: git-send-email.perl:739
+msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
+msgstr "To/Cc/Bcc 字段不解析,它们被忽略\n"
+
+#: git-send-email.perl:748
+msgid "Summary email is empty, skipping it\n"
+msgstr "摘要邮件为空,跳过\n"
+
+#. TRANSLATORS: please keep [y/N] as is.
+#: git-send-email.perl:780
+#, perl-format
+msgid "Are you sure you want to use <%s> [y/N]? "
+msgstr "您确认要使用 <%s> [y/N]?"
+
+#: git-send-email.perl:809
+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:814
+msgid "Which 8bit encoding should I declare [UTF-8]? "
+msgstr "要声明 8bit 为什么样的编码格式 [UTF-8]?"
+
+#: git-send-email.perl:822
+#, perl-format
+msgid ""
+"Refusing to send because the patch\n"
+"\t%s\n"
+"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
+"want to send.\n"
+msgstr ""
+"拒绝发送,因为补丁\n"
+"\t%s\n"
+"包含模版标题 '*** SUBJECT HERE ***'。如果确实想要发送,使用参数 --force。\n"
+
+#: git-send-email.perl:841
+msgid "To whom should the emails be sent (if anyone)?"
+msgstr "邮件将要发送给谁?"
+
+#: git-send-email.perl:859
+#, perl-format
+msgid "fatal: alias '%s' expands to itself\n"
+msgstr "严重:别名 '%s' 扩展为它自己\n"
+
+#: git-send-email.perl:871
+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:921 git-send-email.perl:929
+#, perl-format
+msgid "error: unable to extract a valid address from: %s\n"
+msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
+
+#. 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:933
+msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
+msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
+
+#: git-send-email.perl:1234
+#, perl-format
+msgid "CA path \"%s\" does not exist"
+msgstr "CA 路径 \"%s\" 不存在"
+
+#: git-send-email.perl:1309
+msgid ""
+"    The Cc list above has been expanded by additional\n"
+"    addresses found in the patch commit message. By default\n"
+"    send-email prompts before sending whenever this occurs.\n"
+"    This behavior is controlled by the sendemail.confirm\n"
+"    configuration setting.\n"
+"\n"
+"    For additional information, run 'git send-email --help'.\n"
+"    To retain the current behavior, but squelch this message,\n"
+"    run 'git config --global sendemail.confirm auto'.\n"
+"\n"
+msgstr ""
+"    以上的抄送列表(Cc)已经用补丁提交信息中发现的地址进行\n"
+"    了扩展。缺省 send-email 会给出提示。这个行为可以通过\n"
+"    sendemail.confirm 配置设置。\n"
+"\n"
+"    更多信息,执行 'git send-email --help'。\n"
+"    要保持当前行为,但不显示此信息,运行 'git config --global\n"
+"    sendemail.confirm auto'。\n"
+"\n"
+
+#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. translation. The program will only accept English input
+#. at this point.
+#: git-send-email.perl:1324
+msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
+msgstr "发送邮件?([y]es|[n]o|[q]uit|[a]ll):"
+
+#: git-send-email.perl:1327
+msgid "Send this email reply required"
+msgstr "发送要求的邮件回复"
+
+#: git-send-email.perl:1353
+msgid "The required SMTP server is not properly defined."
+msgstr "要求的 SMTP 服务器未被正确定义。"
+
+#: git-send-email.perl:1397
+#, perl-format
+msgid "Server does not support STARTTLS! %s"
+msgstr "服务器不支持 STARTTLS!%s"
+
+#: git-send-email.perl:1403
+msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
+msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
+
+#: git-send-email.perl:1421
+#, perl-format
+msgid "Failed to send %s\n"
+msgstr "无法发送 %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Dry-Sent %s\n"
+msgstr "演习发送 %s\n"
+
+#: git-send-email.perl:1424
+#, perl-format
+msgid "Sent %s\n"
+msgstr "正发送 %s\n"
+
+#: git-send-email.perl:1426
+msgid "Dry-OK. Log says:\n"
+msgstr "演习成功。日志说:\n"
+
+#: git-send-email.perl:1426
+msgid "OK. Log says:\n"
+msgstr "OK。日志说:\n"
+
+#: git-send-email.perl:1438
+msgid "Result: "
+msgstr "结果:"
+
+#: git-send-email.perl:1441
+msgid "Result: OK\n"
+msgstr "结果:OK\n"
+
+#: git-send-email.perl:1454
+#, perl-format
+msgid "can't open file %s"
+msgstr "无法打开文件 %s"
+
+#: git-send-email.perl:1501 git-send-email.perl:1521
+#, perl-format
+msgid "(mbox) Adding cc: %s from line '%s'\n"
+msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
+
+#: git-send-email.perl:1507
+#, perl-format
+msgid "(mbox) Adding to: %s from line '%s'\n"
+msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
+
+#: git-send-email.perl:1555
+#, perl-format
+msgid "(non-mbox) Adding cc: %s from line '%s'\n"
+msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
+
+#: git-send-email.perl:1578
+#, perl-format
+msgid "(body) Adding cc: %s from line '%s'\n"
+msgstr "(body) 添加 cc: %s 自行 '%s'\n"
+
+#: git-send-email.perl:1676
+#, perl-format
+msgid "(%s) Could not execute '%s'"
+msgstr "(%s) 不能执行 '%s'"
+
+#: git-send-email.perl:1683
+#, perl-format
+msgid "(%s) Adding %s: %s from: '%s'\n"
+msgstr "(%s) 添加 %s: %s 自:'%s'\n"
+
+#: git-send-email.perl:1687
+#, perl-format
+msgid "(%s) failed to close pipe to '%s'"
+msgstr "(%s) 无法关闭管道至 '%s'"
+
+#: git-send-email.perl:1714
+msgid "cannot send message as 7bit"
+msgstr "不能以 7bit 形式发送信息"
+
+#: git-send-email.perl:1722
+msgid "invalid transfer encoding"
+msgstr "无效的传送编码"
+
+#: git-send-email.perl:1741 git-send-email.perl:1792 git-send-email.perl:1802
+#, perl-format
+msgid "unable to open %s: %s\n"
+msgstr "不能打开 %s:%s\n"
+
+#: git-send-email.perl:1744
+#, perl-format
+msgid "%s: patch contains a line longer than 998 characters"
+msgstr "%s:补丁包含一个超过 998 字符的行"
+
+#: git-send-email.perl:1760
+#, 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:1764
+#, perl-format
+msgid "Do you really want to send %s? [y|N]: "
+msgstr "您真的要发送 %s?[y|N]:"
+
+#~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
+#~ msgstr "使用一个试验性的基于空行的启发式算法改进差异显示"
+
+#~ msgid "Clever... amending the last one with dirty index."
+#~ msgstr "聪明... 用脏索引修补最后一个提交。"
+
+#~ msgid ""
+#~ "the following submodule (or one of its nested submodules)\n"
+#~ "uses a .git directory:"
+#~ msgid_plural ""
+#~ "the following submodules (or one of their nested submodules)\n"
+#~ "use a .git directory:"
+#~ msgstr[0] "以下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
+#~ msgstr[1] "以下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
+
+#~ msgid ""
+#~ "\n"
+#~ "(use 'rm -rf' if you really want to remove it including all of its "
+#~ "history)"
+#~ msgstr ""
+#~ "\n"
+#~ "(使用 'rm -rf' 命令如果您真的想删除它及其全部历史)"
+
 #~ msgid "Could not write to %s"
 #~ msgstr "不能写入 %s"