Merge branch 'cc/sha1-file-name'
[gitweb.git] / po / zh_CN.po
index 7656b3ac507da32359b554aee95467a17246a52f..c3c24088c35d50063686e86651923be31c3d54bf 100644 (file)
@@ -3,6 +3,7 @@
 # Copyright (C) 2012,2013 Jiang Xin <worldhello.net AT gmail.com>
 # This file is distributed under the same license as the Git package.
 # Contributors:
+#      - Fangyi Zhou <fangyi.zhou AT yuriko.moe>
 #   - Jiang Xin <worldhello.net AT gmail.com>
 #   - Lian Cheng <rhythm.mail AT gmail.com>
 #   - Ray Chen <oldsharp AT gmail.com>
@@ -137,8 +138,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2017-10-17 09:44+0800\n"
-"PO-Revision-Date: 2017-12-02 17:15+0800\n"
+"POT-Creation-Date: 2018-01-07 07:50+0800\n"
+"PO-Revision-Date: 2018-01-09 09:53+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -147,37 +148,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: advice.c:58
+#: advice.c:62
 #, c-format
 msgid "hint: %.*s\n"
 msgstr "提示:%.*s\n"
 
-#: advice.c:86
+#: advice.c:90
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:88
+#: advice.c:92
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:90
+#: advice.c:94
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:92
+#: advice.c:96
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:94
+#: advice.c:98
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:96
+#: advice.c:100
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:104
+#: advice.c:108
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -185,23 +186,23 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:112
+#: advice.c:116
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:117 builtin/merge.c:1211
+#: advice.c:121 builtin/merge.c:1213
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:119
+#: advice.c:123
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:120
+#: advice.c:124
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:126
+#: advice.c:130
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -238,82 +239,82 @@ msgstr "未能识别的空白字符选项 '%s'"
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: apply.c:125
+#: apply.c:122
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject 和 --3way 不能同时使用。"
 
-#: apply.c:127
+#: apply.c:124
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached 和 --3way 不能同时使用。"
 
-#: apply.c:130
+#: apply.c:127
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
-#: apply.c:141
+#: apply.c:138
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
-#: apply.c:144
+#: apply.c:141
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
-#: apply.c:845
+#: apply.c:821
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: apply.c:854
+#: apply.c:830
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
-#: apply.c:928
+#: apply.c:904
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: apply.c:966
+#: apply.c:942
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
-#: apply.c:972
+#: apply.c:948
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: apply.c:973
+#: apply.c:949
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: apply.c:978
+#: apply.c:954
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: apply.c:1007
+#: apply.c:983
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "第 %d 行包含无效文件模式:%s"
 
-#: apply.c:1325
+#: apply.c:1301
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "不一致的文件头,%d 行和 %d 行"
 
-#: apply.c:1497
+#: apply.c:1473
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: apply.c:1566
+#: apply.c:1542
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: apply.c:1586
+#: apply.c:1562
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -324,82 +325,82 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1599
+#: apply.c:1575
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: apply.c:1787
+#: apply.c:1763
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: apply.c:1789
+#: apply.c:1765
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: apply.c:1823
+#: apply.c:1799
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: apply.c:1860
+#: apply.c:1836
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: apply.c:1862
+#: apply.c:1838
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: apply.c:1865
+#: apply.c:1841
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: apply.c:2012
+#: apply.c:1988
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: apply.c:2049
+#: apply.c:2025
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: apply.c:2209
+#: apply.c:2185
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: apply.c:2295
+#: apply.c:2271
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: apply.c:2299
+#: apply.c:2275
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: apply.c:2958
+#: apply.c:2934
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: apply.c:3077
+#: apply.c:3055
 #, 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:3089
+#: apply.c:3067
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: apply.c:3095
+#: apply.c:3073
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -408,439 +409,440 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: apply.c:3117
+#: apply.c:3095
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: apply.c:3125
+#: apply.c:3103
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁"
 
-#: apply.c:3171
+#: apply.c:3149
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁"
 
-#: apply.c:3181
+#: apply.c:3159
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。"
 
-#: apply.c:3189
+#: apply.c:3167
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "补丁应用到空文件 '%s',但其并非空文件"
 
-#: apply.c:3207
+#: apply.c:3185
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "无法读取 '%2$s' 必须的目标文件 %1$s"
 
-#: apply.c:3220
+#: apply.c:3198
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: apply.c:3226
+#: apply.c:3204
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: apply.c:3247
+#: apply.c:3225
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: apply.c:3369
+#: apply.c:3347
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3418 apply.c:3429 apply.c:3475 setup.c:277
+#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:277
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: apply.c:3426
+#: apply.c:3404
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: apply.c:3455 apply.c:3695
+#: apply.c:3433 apply.c:3673
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: apply.c:3538 apply.c:3709
+#: apply.c:3516 apply.c:3687
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: apply.c:3547 apply.c:3717
+#: apply.c:3525 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: apply.c:3582
+#: apply.c:3560
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: apply.c:3585
+#: apply.c:3563
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "回落到三方合并...\n"
 
-#: apply.c:3601 apply.c:3605
+#: apply.c:3579 apply.c:3583
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "无法读取 '%s' 的当前内容"
 
-#: apply.c:3617
+#: apply.c:3595
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "无法回落到三方合并...\n"
 
-#: apply.c:3631
+#: apply.c:3609
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: apply.c:3636
+#: apply.c:3614
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "成功应用补丁到 '%s'。\n"
 
-#: apply.c:3662
+#: apply.c:3640
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: apply.c:3734
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: apply.c:3736
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: apply.c:3886 apply.c:3888
+#: apply.c:3864 apply.c:3866
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: apply.c:3944
+#: apply.c:3922
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: apply.c:3947
+#: apply.c:3925
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: apply.c:3967
+#: apply.c:3945
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: apply.c:3972
+#: apply.c:3950
 #, 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:3992
+#: apply.c:3970
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: apply.c:3996
+#: apply.c:3974
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: apply.c:4011
+#: apply.c:3989
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: apply.c:4102
+#: apply.c:4080
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: apply.c:4109
+#: apply.c:4087
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "%s 的模式被改变,但它不在当前 HEAD 中"
 
-#: apply.c:4112
+#: apply.c:4090
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "sha1 信息缺失或无效(%s)。"
 
-#: apply.c:4117 builtin/checkout.c:235 builtin/reset.c:148
+#: apply.c:4095 builtin/checkout.c:236 builtin/reset.c:148
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: apply.c:4121
+#: apply.c:4099
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "不能在临时索引中添加 %s"
 
-#: apply.c:4131
+#: apply.c:4109
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "不能把临时索引写入到 %s"
 
-#: apply.c:4269
+#: apply.c:4247
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: apply.c:4304
+#: apply.c:4282
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: apply.c:4310
+#: apply.c:4288
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能对新建文件 '%s' 调用 stat"
 
-#: apply.c:4318
+#: apply.c:4296
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: apply.c:4324 apply.c:4468
+#: apply.c:4302 apply.c:4446
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: apply.c:4365
+#: apply.c:4343
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "无法写入 '%s'"
 
-#: apply.c:4369
+#: apply.c:4347
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: apply.c:4439
+#: apply.c:4417
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: apply.c:4537
+#: apply.c:4515
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: apply.c:4545
+#: apply.c:4523
 msgid "internal error"
 msgstr "内部错误"
 
-#: apply.c:4548
+#: apply.c:4526
 #, 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:4559
+#: apply.c:4537
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4567 builtin/fetch.c:760 builtin/fetch.c:1010
+#: apply.c:4545 builtin/fetch.c:761 builtin/fetch.c:1011
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: apply.c:4581
+#: apply.c:4559
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: apply.c:4585
+#: apply.c:4563
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: apply.c:4695
+#: apply.c:4673
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "略过补丁 '%s'。"
 
-#: apply.c:4703
+#: apply.c:4681
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: apply.c:4722
+#: apply.c:4700
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: apply.c:4859
+#: apply.c:4837
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "不能打开补丁 '%s':%s"
 
-#: apply.c:4886
+#: apply.c:4864
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: apply.c:4892 apply.c:4907
+#: apply.c:4870 apply.c:4885
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d 行新增了空白字符误用。"
 msgstr[1] "%d 行新增了空白字符误用。"
 
-#: apply.c:4900
+#: apply.c:4878
 #, 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:4916 builtin/add.c:515 builtin/mv.c:298 builtin/rm.c:390
+#: apply.c:4894 builtin/add.c:539 builtin/mv.c:298 builtin/rm.c:390
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: apply.c:4947 apply.c:4950 builtin/am.c:2256 builtin/am.c:2259
-#: builtin/clone.c:116 builtin/fetch.c:115 builtin/pull.c:187
-#: builtin/submodule--helper.c:301 builtin/submodule--helper.c:622
-#: builtin/submodule--helper.c:625 builtin/submodule--helper.c:992
-#: builtin/submodule--helper.c:995 builtin/submodule--helper.c:1212
+#: apply.c:4921 apply.c:4924 builtin/am.c:2220 builtin/am.c:2223
+#: builtin/clone.c:116 builtin/fetch.c:116 builtin/pull.c:193
+#: builtin/submodule--helper.c:369 builtin/submodule--helper.c:860
+#: builtin/submodule--helper.c:863 builtin/submodule--helper.c:1230
+#: builtin/submodule--helper.c:1233 builtin/submodule--helper.c:1450
 #: git-add--interactive.perl:197
 msgid "path"
 msgstr "路径"
 
-#: apply.c:4948
+#: apply.c:4922
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: apply.c:4951
+#: apply.c:4925
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: apply.c:4953 builtin/am.c:2265
+#: apply.c:4927 builtin/am.c:2229
 msgid "num"
 msgstr "数字"
 
-#: apply.c:4954
+#: apply.c:4928
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: apply.c:4957
+#: apply.c:4931
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: apply.c:4959
+#: apply.c:4933
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: apply.c:4963
+#: apply.c:4937
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: apply.c:4965
+#: apply.c:4939
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: apply.c:4967
+#: apply.c:4941
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: apply.c:4969
+#: apply.c:4943
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: apply.c:4971
+#: apply.c:4945
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: apply.c:4973
+#: apply.c:4947
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: apply.c:4975
+#: apply.c:4949
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: apply.c:4977
+#: apply.c:4951
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: apply.c:4979
+#: apply.c:4953
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: apply.c:4982 builtin/checkout-index.c:170 builtin/ls-files.c:513
+#: apply.c:4956 builtin/checkout-index.c:168 builtin/ls-files.c:515
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: apply.c:4984
+#: apply.c:4958
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: apply.c:4985 builtin/am.c:2244 builtin/interpret-trailers.c:95
+#: apply.c:4959 builtin/am.c:2208 builtin/interpret-trailers.c:95
 #: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
+#: builtin/pack-objects.c:3009
 msgid "action"
 msgstr "动作"
 
-#: apply.c:4986
+#: apply.c:4960
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: apply.c:4989 apply.c:4992
+#: apply.c:4963 apply.c:4966
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: apply.c:4995
+#: apply.c:4969
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: apply.c:4997
+#: apply.c:4971
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: apply.c:4999
+#: apply.c:4973
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: apply.c:5001
+#: apply.c:4975
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:5002 builtin/add.c:272 builtin/check-ignore.c:21
-#: builtin/commit.c:1347 builtin/count-objects.c:96 builtin/fsck.c:640
-#: builtin/log.c:1889 builtin/mv.c:123 builtin/read-tree.c:125
+#: apply.c:4976 builtin/add.c:292 builtin/check-ignore.c:21
+#: builtin/commit.c:1361 builtin/count-objects.c:96 builtin/fsck.c:640
+#: builtin/log.c:1896 builtin/mv.c:123 builtin/read-tree.c:125
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: apply.c:5004
+#: apply.c:4978
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: apply.c:5007
+#: apply.c:4981
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: apply.c:5009 builtin/am.c:2253
+#: apply.c:4983 builtin/am.c:2217
 msgid "root"
 msgstr "根目录"
 
-#: apply.c:5010
+#: apply.c:4984
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
@@ -862,7 +864,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:351 builtin/add.c:156 builtin/add.c:494 builtin/rm.c:299
+#: archive.c:351 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:299
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
@@ -875,7 +877,7 @@ msgstr "格式"
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:437 builtin/log.c:1452
+#: archive.c:437 builtin/log.c:1459
 msgid "prefix"
 msgstr "前缀"
 
@@ -883,9 +885,9 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:439 builtin/blame.c:693 builtin/blame.c:694 builtin/config.c:61
-#: builtin/fast-export.c:1005 builtin/fast-export.c:1007 builtin/grep.c:859
-#: builtin/hash-object.c:102 builtin/ls-files.c:547 builtin/ls-files.c:550
+#: archive.c:439 builtin/blame.c:693 builtin/blame.c:694 builtin/config.c:62
+#: builtin/fast-export.c:1005 builtin/fast-export.c:1007 builtin/grep.c:861
+#: builtin/hash-object.c:102 builtin/ls-files.c:551 builtin/ls-files.c:554
 #: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:120
 #: parse-options.h:153
 msgid "file"
@@ -920,7 +922,7 @@ msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
 #: archive.c:458 builtin/archive.c:90 builtin/clone.c:106 builtin/clone.c:109
-#: builtin/submodule--helper.c:634 builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:872 builtin/submodule--helper.c:1239
 msgid "repo"
 msgstr "仓库"
 
@@ -971,22 +973,22 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: bisect.c:447
+#: bisect.c:458
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "文件 '%s' 包含错误的引用格式:%s"
 
-#: bisect.c:655
+#: bisect.c:666
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
-#: bisect.c:708
+#: bisect.c:720
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
-#: bisect.c:732
+#: bisect.c:744
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -995,7 +997,7 @@ msgstr ""
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: bisect.c:737
+#: bisect.c:749
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1004,7 +1006,7 @@ msgstr ""
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: bisect.c:742
+#: bisect.c:754
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1013,7 +1015,7 @@ msgstr ""
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: bisect.c:750
+#: bisect.c:762
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1024,7 +1026,7 @@ msgstr ""
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
-#: bisect.c:763
+#: bisect.c:775
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1035,36 +1037,36 @@ msgstr ""
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
-#: bisect.c:798
+#: bisect.c:810
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "二分查找中:合并基线必须是经过测试的\n"
 
-#: bisect.c:850
+#: bisect.c:862
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:867 builtin/notes.c:175 builtin/tag.c:234
+#: bisect.c:879 builtin/notes.c:175 builtin/tag.c:234
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: bisect.c:918
+#: bisect.c:930
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:948
+#: bisect.c:960
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:968
+#: bisect.c:979
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
-#: bisect.c:976
+#: bisect.c:987
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1073,7 +1075,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:995
+#: bisect.c:1006
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1083,7 +1085,7 @@ msgstr[1] "(大概 %d 步)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1001
+#: bisect.c:1012
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
@@ -1102,9 +1104,9 @@ msgstr "不能将 --contents 和最终的提交对象名共用"
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:1797 bundle.c:169 ref-filter.c:1947 sequencer.c:1168
-#: sequencer.c:2351 builtin/commit.c:1065 builtin/log.c:357 builtin/log.c:911
-#: builtin/log.c:1361 builtin/log.c:1690 builtin/log.c:1938 builtin/merge.c:369
+#: blame.c:1797 bundle.c:169 ref-filter.c:1981 sequencer.c:1177
+#: sequencer.c:2370 builtin/commit.c:1066 builtin/log.c:364 builtin/log.c:918
+#: builtin/log.c:1368 builtin/log.c:1697 builtin/log.c:1945 builtin/merge.c:369
 #: builtin/shortlog.c:191
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
@@ -1190,31 +1192,31 @@ msgstr "无法写入上游分支配置"
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
-#: branch.c:185
+#: branch.c:189
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
-#: branch.c:190
+#: branch.c:208
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:197
+#: branch.c:213
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:217
+#: branch.c:233
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: branch.c:219
+#: branch.c:235
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:221
+#: branch.c:237
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1232,27 +1234,27 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:264
+#: branch.c:280
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:284
+#: branch.c:300
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:289
+#: branch.c:305
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:343
+#: branch.c:359
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
-#: branch.c:366
+#: branch.c:382
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
@@ -1267,9 +1269,8 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:88 sequencer.c:1346 sequencer.c:1793 sequencer.c:2500
-#: sequencer.c:2583 sequencer.c:2609 sequencer.c:2687 sequencer.c:2807
-#: sequencer.c:2949 builtin/commit.c:782
+#: bundle.c:88 sequencer.c:1360 sequencer.c:1807 sequencer.c:2637
+#: sequencer.c:2663 sequencer.c:2754 sequencer.c:2856 builtin/commit.c:782
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1313,7 +1314,7 @@ msgstr "rev-list 终止"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:453 builtin/log.c:174 builtin/log.c:1597 builtin/shortlog.c:296
+#: bundle.c:453 builtin/log.c:181 builtin/log.c:1604 builtin/shortlog.c:296
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -1336,8 +1337,8 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:41 sequencer.c:1600 builtin/am.c:421 builtin/am.c:465
-#: builtin/am.c:1467 builtin/am.c:2105
+#: commit.c:41 sequencer.c:1614 builtin/am.c:421 builtin/am.c:465
+#: builtin/am.c:1434 builtin/am.c:2069
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -1347,7 +1348,7 @@ msgstr "不能解析 %s"
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
-#: commit.c:1517
+#: commit.c:1524
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -1357,165 +1358,170 @@ msgstr ""
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
-#: compat/obstack.c:406 compat/obstack.c:408
+#: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:187
+#: config.c:186
 msgid "relative config include conditionals must come from files"
 msgstr "包含相对路径的条件引用必须来自于文件"
 
-#: config.c:721
+#: config.c:720
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:725
+#: config.c:724
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:729
+#: config.c:728
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:733
+#: config.c:732
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:737
+#: config.c:736
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:741
+#: config.c:740
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:869
+#: config.c:868
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:869
+#: config.c:868
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:875
+#: config.c:874
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: config.c:880
+#: config.c:879
 #, 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:883
+#: config.c:882
 #, 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:886
+#: config.c:885
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
-#: config.c:889
+#: config.c:888
 #, 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:892
+#: config.c:891
 #, 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:895
+#: config.c:894
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:990
+#: config.c:989
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:1085 config.c:1096
+#: config.c:998
+#, c-format
+msgid "'%s' for '%s' is not a valid timestamp"
+msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
+
+#: config.c:1094 config.c:1105
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:1213
+#: config.c:1222
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1372
+#: config.c:1378
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1568
+#: config.c:1574
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1900
+#: config.c:1906
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2087
+#: config.c:2093
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2130
+#: config.c:2136
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr "未知的 core.untrackedCache 取值 '%s',使用默认值 'keep'"
 
-#: config.c:2156
+#: config.c:2162
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2167
+#: config.c:2187
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2169
+#: config.c:2189
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2228
+#: config.c:2248
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2571 config.c:2789
+#: config.c:2591 config.c:2808
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2678
+#: config.c:2698
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2680 builtin/remote.c:776
+#: config.c:2700 builtin/remote.c:776
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: connect.c:50
+#: connect.c:52
 msgid "The remote end hung up upon initial contact"
 msgstr "远端在连接发起时即挂断"
 
-#: connect.c:52
+#: connect.c:54
 msgid ""
 "Could not read from remote repository.\n"
 "\n"
@@ -1643,7 +1649,7 @@ msgstr[1] "%<PRIuMAX> 年前"
 msgid "failed to read orderfile '%s'"
 msgstr "无法读取排序文件 '%s'"
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:535
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名探测"
 
@@ -1668,14 +1674,15 @@ msgstr "  未知的 dirstat 参数 '%s'\n"
 msgid ""
 "color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
 "'plain'"
-msgstr "代码移动的颜色设置必须是 'no'、'default'、'zebra'、'dimmed_zebra' 或 'plain'"
+msgstr ""
+"代码移动的颜色设置必须是 'no'、'default'、'zebra'、'dimmed_zebra' 或 'plain'"
 
 #: diff.c:341
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:398
+#: diff.c:401
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1684,20 +1691,20 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:3861
+#: diff.c:3799
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4189
+#: diff.c:4127
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:4279
+#: diff.c:4215
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4445
+#: diff.c:4381
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1706,48 +1713,53 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4459
+#: diff.c:4395
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5505
+#: diff.c:5446
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:5508
+#: diff.c:5449
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:5511
+#: diff.c:5452
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:1983
+#: dir.c:2100
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2102
+#: dir.c:2219
 msgid "Untracked cache is disabled on this system or location."
 msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
-#: dir.c:2885 dir.c:2890
+#: dir.c:3002 dir.c:3007
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:2915
+#: dir.c:3032
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
 
-#: entry.c:176
+#: editor.c:61
+#, c-format
+msgid "hint: Waiting for your editor to close the file...%c"
+msgstr "提示:等待您的编辑器关闭文件...%c"
+
+#: entry.c:177
 msgid "Filtering content"
 msgstr "过滤内容"
 
-#: entry.c:433
+#: entry.c:435
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "不能对文件 '%s' 调用 stat"
@@ -1818,7 +1830,7 @@ msgstr "无效提交 %s"
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:534 progress.c:242
+#: fetch-pack.c:534 progress.c:229
 msgid "done"
 msgstr "完成"
 
@@ -1832,104 +1844,104 @@ msgstr "得到 %s (%d) %s"
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:776
+#: fetch-pack.c:777
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:814
+#: fetch-pack.c:815
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:822
+#: fetch-pack.c:823
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:878
+#: fetch-pack.c:879
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:894
+#: fetch-pack.c:895
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:896
+#: fetch-pack.c:897
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:923
+#: fetch-pack.c:924
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
-#: fetch-pack.c:927
+#: fetch-pack.c:928
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
-#: fetch-pack.c:930
+#: fetch-pack.c:931
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
-#: fetch-pack.c:936
+#: fetch-pack.c:937
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
-#: fetch-pack.c:940
+#: fetch-pack.c:941
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
-#: fetch-pack.c:944
+#: fetch-pack.c:945
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
-#: fetch-pack.c:948
+#: fetch-pack.c:949
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "服务器支持 allow-tip-sha1-in-want"
 
-#: fetch-pack.c:952
+#: fetch-pack.c:953
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "服务器支持 allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:962
+#: fetch-pack.c:963
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:970
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:975
+#: fetch-pack.c:976
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:979
+#: fetch-pack.c:980
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:981
+#: fetch-pack.c:982
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:992
+#: fetch-pack.c:993
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1004
+#: fetch-pack.c:1005
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1166
+#: fetch-pack.c:1167
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1188
+#: fetch-pack.c:1189
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1191
+#: fetch-pack.c:1192
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
@@ -1952,17 +1964,17 @@ msgstr "无法将分离式签名写入 '%s'"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
-#: grep.c:1970
+#: grep.c:2017
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1987 builtin/clone.c:404 builtin/diff.c:81 builtin/rm.c:134
+#: grep.c:2034 builtin/clone.c:404 builtin/diff.c:81 builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "对 '%s' 调用 stat 失败"
 
-#: grep.c:1998
+#: grep.c:2045
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
@@ -2031,12 +2043,12 @@ msgstr[1] ""
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:456
+#: help.c:462
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:460
+#: help.c:466
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2108,6 +2120,15 @@ msgstr "姓名中仅包含禁用字符:%s"
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
+#: list-objects-filter-options.c:30
+msgid "multiple object filter types cannot be combined"
+msgstr "不能混用多种对象过滤类型"
+
+#: list-objects-filter-options.c:41 list-objects-filter-options.c:68
+#, c-format
+msgid "invalid filter-spec expression '%s'"
+msgstr "无效的 filter-spec 表达式 '%s'"
+
 #: lockfile.c:151
 #, c-format
 msgid ""
@@ -2131,12 +2152,12 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "不能创建 '%s.lock':%s"
 
-#: merge.c:41
+#: merge.c:74
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:96 builtin/am.c:1978 builtin/am.c:2013 builtin/checkout.c:380
-#: builtin/checkout.c:595 builtin/clone.c:754
+#: merge.c:128 builtin/am.c:1943 builtin/am.c:1977 builtin/checkout.c:379
+#: builtin/checkout.c:600 builtin/clone.c:754
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
@@ -2331,7 +2352,7 @@ msgstr "略过 %s(已经做过相同合并)"
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1775 git-submodule.sh:944
+#: merge-recursive.c:1775 git-submodule.sh:932
 msgid "submodule"
 msgstr "子模组"
 
@@ -2353,46 +2374,51 @@ msgstr "文件/目录"
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1908
+#: merge-recursive.c:1909
 #, 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:1917
+#: merge-recursive.c:1918
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1954
+#: merge-recursive.c:1958
+#, c-format
+msgid "Dirty index: cannot merge (dirty: %s)"
+msgstr "脏索引:不能合并(脏文件:%s)"
+
+#: merge-recursive.c:1962
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:1963
+#: merge-recursive.c:1971
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:2060
+#: merge-recursive.c:2068
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:2073
+#: merge-recursive.c:2081
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:2112
+#: merge-recursive.c:2120
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2175
+#: merge-recursive.c:2183
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2189 builtin/merge.c:655 builtin/merge.c:814
+#: merge-recursive.c:2197 builtin/merge.c:656 builtin/merge.c:815
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -2557,15 +2583,7 @@ msgstr "'%s'(助记符:'%c')"
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
 
-#: pathspec.c:571
-msgid ""
-"empty strings as pathspecs will be made invalid in upcoming releases. please "
-"use . instead if you meant to match all paths"
-msgstr ""
-"在下一个版本中,使用空字符串作为路径规格将被视作非法。如果要匹配所有路径,\n"
-"请代之以 ."
-
-#: pathspec.c:595
+#: pathspec.c:592
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "路径规格 '%s' 位于符号链接中"
@@ -2574,7 +2592,7 @@ msgstr "路径规格 '%s' 位于符号链接中"
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: read-cache.c:1443
+#: read-cache.c:1472
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2583,7 +2601,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1453
+#: read-cache.c:1482
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2592,52 +2610,52 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:2316 builtin/merge.c:1046
+#: read-cache.c:2370 sequencer.c:2731 wrapper.c:658 builtin/merge.c:1048
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:2394 sequencer.c:1355 sequencer.c:2077
+#: read-cache.c:2442 sequencer.c:1369 sequencer.c:2096
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:2407
+#: read-cache.c:2455
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:2419
+#: read-cache.c:2467
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: refs.c:638
+#: refs.c:706
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs.c:1792
+#: refs.c:1850
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
-#: refs/files-backend.c:1136
+#: refs/files-backend.c:1189
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1150 refs/packed-backend.c:1430
-#: refs/packed-backend.c:1440
+#: refs/files-backend.c:1203 refs/packed-backend.c:1524
+#: refs/packed-backend.c:1534
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1153 refs/packed-backend.c:1443
+#: refs/files-backend.c:1206 refs/packed-backend.c:1537
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
 
-#: ref-filter.c:35 wt-status.c:1811
+#: ref-filter.c:35 wt-status.c:1816
 msgid "gone"
 msgstr "丢失"
 
@@ -2656,157 +2674,157 @@ msgstr "落后 %d"
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
-#: ref-filter.c:105
+#: ref-filter.c:107
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
-#: ref-filter.c:107
+#: ref-filter.c:109
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
-#: ref-filter.c:127
+#: ref-filter.c:129
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "期望整数值 refname:lstrip=%s"
 
-#: ref-filter.c:131
+#: ref-filter.c:133
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "期望整数值 refname:rstrip=%s"
 
-#: ref-filter.c:133
+#: ref-filter.c:135
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
-#: ref-filter.c:173
+#: ref-filter.c:184
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:180
+#: ref-filter.c:191
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:198
+#: ref-filter.c:209
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
-#: ref-filter.c:221
+#: ref-filter.c:232
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "期望一个正数 contents:lines=%s"
 
-#: ref-filter.c:223
+#: ref-filter.c:234
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
-#: ref-filter.c:236
+#: ref-filter.c:247
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "期望一个正数 objectname:short=%s"
 
-#: ref-filter.c:240
+#: ref-filter.c:251
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: ref-filter.c:267
+#: ref-filter.c:278
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
-#: ref-filter.c:279
+#: ref-filter.c:290
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
-#: ref-filter.c:283
+#: ref-filter.c:294
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
-#: ref-filter.c:289
+#: ref-filter.c:300
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
-#: ref-filter.c:293
+#: ref-filter.c:304
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: ref-filter.c:308
+#: ref-filter.c:319
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
-#: ref-filter.c:398
+#: ref-filter.c:409
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "非法的字段名:%.*s"
 
-#: ref-filter.c:424
+#: ref-filter.c:435
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:536
+#: ref-filter.c:547
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:596
+#: ref-filter.c:607
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:598
+#: ref-filter.c:609
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "格式:%%(then) 元素用了多次"
 
-#: ref-filter.c:600
+#: ref-filter.c:611
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "格式:%%(then) 元素用在了 %%(else) 之后"
 
-#: ref-filter.c:626
+#: ref-filter.c:637
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:628
+#: ref-filter.c:639
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:630
+#: ref-filter.c:641
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "格式:%%(else) 元素用了多次"
 
-#: ref-filter.c:643
+#: ref-filter.c:654
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:698
+#: ref-filter.c:709
 #, c-format
 msgid "malformed format string %s"
 msgstr "非法的格式化字符串 %s"
 
-#: ref-filter.c:1283
+#: ref-filter.c:1313
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1286
+#: ref-filter.c:1316
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
@@ -2814,7 +2832,7 @@ msgstr "(非分支,二分查找开始于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1294
+#: ref-filter.c:1324
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
@@ -2822,137 +2840,137 @@ msgstr "(头指针分离于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1301
+#: ref-filter.c:1331
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: ref-filter.c:1305
+#: ref-filter.c:1335
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1454 ref-filter.c:1485
+#: ref-filter.c:1488 ref-filter.c:1519
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1457 ref-filter.c:1488
+#: ref-filter.c:1491 ref-filter.c:1522
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1788
+#: ref-filter.c:1822
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "非法的对象于 '%s'"
 
-#: ref-filter.c:1855
+#: ref-filter.c:1889
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:1860
+#: ref-filter.c:1894
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:2122
+#: ref-filter.c:2156
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2216
+#: ref-filter.c:2250
 #, c-format
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: remote.c:750
+#: remote.c:780
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:754
+#: remote.c:784
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:758
+#: remote.c:788
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:766
+#: remote.c:796
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1681 remote.c:1783
+#: remote.c:1711 remote.c:1813
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1690
+#: remote.c:1720
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1693
+#: remote.c:1723
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1699
+#: remote.c:1729
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1714
+#: remote.c:1744
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1726
+#: remote.c:1756
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1737
+#: remote.c:1767
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1750
+#: remote.c:1780
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1772
+#: remote.c:1802
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2076
+#: remote.c:2106
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2080
+#: remote.c:2110
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2083
+#: remote.c:2113
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2087
+#: remote.c:2117
 #, 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:2093
+#: remote.c:2123
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2096
+#: remote.c:2126
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -2961,11 +2979,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2104
+#: remote.c:2134
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2107
+#: remote.c:2137
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -2981,56 +2999,65 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2117
+#: remote.c:2147
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: revision.c:2256
+#: revision.c:2268
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2259
+#: revision.c:2271
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2453
+#: revision.c:2465
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:644
+#: run-command.c:645
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: send-pack.c:151
+#: run-command.c:1188
+#, c-format
+msgid ""
+"The '%s' hook was ignored because it's not set as executable.\n"
+"You can disable this warning with `git config advice.ignoredHook false`."
+msgstr ""
+"因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
+"配置 `git config advice.ignoredHook false` 来关闭这条警告。"
+
+#: send-pack.c:141
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "不能解析远程解包状态:%s"
 
-#: send-pack.c:153
+#: send-pack.c:143
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "远程解包失败:%s"
 
-#: send-pack.c:316
+#: send-pack.c:306
 msgid "failed to sign the push certificate"
 msgstr "无法为推送证书签名"
 
-#: send-pack.c:429
+#: send-pack.c:419
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:431
+#: send-pack.c:421
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
 msgstr "未发送推送证书,因为接收端不支持签名推送"
 
-#: send-pack.c:443
+#: send-pack.c:433
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: send-pack.c:448
+#: send-pack.c:438
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
@@ -3068,13 +3095,13 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:297 sequencer.c:1704
+#: sequencer.c:297 sequencer.c:1718
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:300 sequencer.c:1581 sequencer.c:1709 sequencer.c:1723
-#: sequencer.c:2733 sequencer.c:2749
+#: sequencer.c:300 sequencer.c:1595 sequencer.c:1723 sequencer.c:1737
+#: sequencer.c:2729 sequencer.c:2800 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
@@ -3084,13 +3111,13 @@ msgstr "不能写入 '%s'"
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:308 sequencer.c:1586 sequencer.c:1711
+#: sequencer.c:308 sequencer.c:1600 sequencer.c:1725
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "无法完成 '%s'。"
 
-#: sequencer.c:332 sequencer.c:819 sequencer.c:1607 builtin/am.c:259
-#: builtin/commit.c:754 builtin/merge.c:1044
+#: sequencer.c:332 sequencer.c:829 sequencer.c:1621 builtin/am.c:259
+#: builtin/commit.c:754 builtin/merge.c:1046
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
@@ -3112,20 +3139,20 @@ msgstr "%s:快进"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:474
+#: sequencer.c:477
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:493
-msgid "could not resolve HEAD commit\n"
-msgstr "不能解析 HEAD 提交\n"
+#: sequencer.c:496
+msgid "could not resolve HEAD commit"
+msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:513
-msgid "unable to update cache tree\n"
-msgstr "不能更新缓存树\n"
+#: sequencer.c:516
+msgid "unable to update cache tree"
+msgstr "不能更新缓存树"
 
-#: sequencer.c:597
+#: sequencer.c:600
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -3154,17 +3181,17 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:699
+#: sequencer.c:702
 #, c-format
-msgid "could not parse commit %s\n"
-msgstr "不能解析提交 %s\n"
+msgid "could not parse commit %s"
+msgstr "不能解析提交 %s"
 
-#: sequencer.c:704
+#: sequencer.c:707
 #, c-format
-msgid "could not parse parent commit %s\n"
-msgstr "不能解析父提交 %s\n"
+msgid "could not parse parent commit %s"
+msgstr "不能解析父提交 %s"
 
-#: sequencer.c:826
+#: sequencer.c:836
 #, c-format
 msgid ""
 "unexpected 1st line of squash message:\n"
@@ -3175,7 +3202,7 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:832
+#: sequencer.c:842
 #, c-format
 msgid ""
 "invalid 1st line of squash message:\n"
@@ -3186,231 +3213,241 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:838 sequencer.c:863
+#: sequencer.c:848 sequencer.c:873
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
-#: sequencer.c:847 sequencer.c:2681
+#: sequencer.c:857 sequencer.c:2748
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:849
+#: sequencer.c:859
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:851
+#: sequencer.c:861
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:857
+#: sequencer.c:867
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:866 git-rebase--interactive.sh:446
+#: sequencer.c:876 git-rebase--interactive.sh:446
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:874
+#: sequencer.c:884
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
-#: sequencer.c:881
+#: sequencer.c:891
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:886
+#: sequencer.c:896
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:891
+#: sequencer.c:901
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:957
+#: sequencer.c:967
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:975
+#: sequencer.c:986
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:983
+#: sequencer.c:994
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:987
+#: sequencer.c:998
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
-#: sequencer.c:993
+#: sequencer.c:1004
 #, 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:1014
+#: sequencer.c:1023
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:1077 sequencer.c:1853
+#: sequencer.c:1086 sequencer.c:1867
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:1128
+#: sequencer.c:1137
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1129
+#: sequencer.c:1138
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:1171
+#: sequencer.c:1180
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:1181
+#: sequencer.c:1190
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:1188
+#: sequencer.c:1196
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:1308
+#: sequencer.c:1270
+#, c-format
+msgid "%s does not accept arguments: '%s'"
+msgstr "%s 不接受参数:'%s'"
+
+#: sequencer.c:1279
+#, c-format
+msgid "missing arguments for %s"
+msgstr "缺少 %s 的参数"
+
+#: sequencer.c:1322
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:1316
+#: sequencer.c:1330
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:1349 sequencer.c:2503 sequencer.c:2588 sequencer.c:2614
-#: sequencer.c:2691 sequencer.c:2810 sequencer.c:2951
+#: sequencer.c:1363 sequencer.c:2525 sequencer.c:2560 sequencer.c:2642
+#: sequencer.c:2668 sequencer.c:2758 sequencer.c:2859
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:1361
+#: sequencer.c:1375
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:1363
+#: sequencer.c:1377
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:1368
+#: sequencer.c:1382
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:1379
+#: sequencer.c:1393
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:1381
+#: sequencer.c:1395
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:1448
+#: sequencer.c:1462
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:1451
+#: sequencer.c:1465
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:1517
+#: sequencer.c:1531
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "非法的选项清单:'%s'"
 
-#: sequencer.c:1555
+#: sequencer.c:1569
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:1556
+#: sequencer.c:1570
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1559
+#: sequencer.c:1573
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:1574
+#: sequencer.c:1588
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:1632 sequencer.c:2211
+#: sequencer.c:1646 sequencer.c:2230
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:1634
+#: sequencer.c:1648
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1636 sequencer.c:1671
+#: sequencer.c:1650 sequencer.c:1685
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:1657 builtin/grep.c:711
+#: sequencer.c:1671 builtin/grep.c:713
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:1659
+#: sequencer.c:1673
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:1660
+#: sequencer.c:1674
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:1666
+#: sequencer.c:1680
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:1677
+#: sequencer.c:1691
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:1818 sequencer.c:2109
+#: sequencer.c:1832 sequencer.c:2128
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1858 builtin/difftool.c:640
+#: sequencer.c:1872 builtin/difftool.c:639
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:1874
+#: sequencer.c:1891
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
-#: sequencer.c:1879
+#: sequencer.c:1896
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3425,11 +3462,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1885
+#: sequencer.c:1902
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:1891
+#: sequencer.c:1908
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3446,17 +3483,17 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1948
+#: sequencer.c:1967
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:1960
+#: sequencer.c:1979
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:1963 git-rebase.sh:175
+#: sequencer.c:1982 git-rebase.sh:175
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3467,57 +3504,57 @@ msgstr ""
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:2045
+#: sequencer.c:2064
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:2087
+#: sequencer.c:2106
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:2117
+#: sequencer.c:2136
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:2122 sequencer.c:2678
+#: sequencer.c:2141 sequencer.c:2745
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:2129
+#: sequencer.c:2148
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2136
+#: sequencer.c:2155
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:2220
+#: sequencer.c:2239
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:2225
+#: sequencer.c:2244
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: sequencer.c:2234
+#: sequencer.c:2253
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:2236
+#: sequencer.c:2255
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:2238
+#: sequencer.c:2257
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:2241
+#: sequencer.c:2260
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3526,49 +3563,44 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:2251
+#: sequencer.c:2270
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:2331
+#: sequencer.c:2350
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:2335
+#: sequencer.c:2354
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:2368
+#: sequencer.c:2387
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:2471
+#: sequencer.c:2492
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:2474
+#: sequencer.c:2495
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:2510
+#: sequencer.c:2529 sequencer.c:2564
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: sequencer.c:2516
-#, c-format
-msgid "unable to open '%s' for writing"
-msgstr "无法以写入方式打开 '%s'"
-
-#: sequencer.c:2561
+#: sequencer.c:2615
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
 
-#: sequencer.c:2641
+#: sequencer.c:2695
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -3577,7 +3609,7 @@ msgstr ""
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
-#: sequencer.c:2648
+#: sequencer.c:2702
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -3593,7 +3625,7 @@ msgstr ""
 "可选值有:ignore、warn、error。\n"
 "\n"
 
-#: sequencer.c:2660
+#: sequencer.c:2714
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
@@ -3603,31 +3635,21 @@ msgstr ""
 "您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n"
 "或者您可以用 'git rebase --abort' 终止变基。\n"
 
-#: sequencer.c:2708
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr "不能解析提交 '%s'"
-
-#: sequencer.c:2727 sequencer.c:2742 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:775
+#: sequencer.c:2727 sequencer.c:2794 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:779
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: sequencer.c:2756
+#: sequencer.c:2775
 #, c-format
-msgid "could not truncate '%s'"
-msgstr "无法截断 '%s'"
+msgid "could not parse commit '%s'"
+msgstr "不能解析提交 '%s'"
 
-#: sequencer.c:2848
+#: sequencer.c:2897
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
-#: sequencer.c:2953
-#, c-format
-msgid "could not finish '%s'"
-msgstr "无法结束 '%s'"
-
 #: setup.c:171
 #, c-format
 msgid ""
@@ -3659,34 +3681,34 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
-#: setup.c:499
+#: setup.c:501
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:507
+#: setup.c:509
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
-#: setup.c:806
+#: setup.c:811
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
-#: setup.c:808 builtin/index-pack.c:1653
+#: setup.c:813 builtin/index-pack.c:1653
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:1046
+#: setup.c:1052
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:1058 setup.c:1064
+#: setup.c:1064 setup.c:1070
 #, c-format
 msgid "Cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
-#: setup.c:1077
+#: setup.c:1083
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3695,7 +3717,7 @@ msgstr ""
 "不是一个 git 仓库(或者向上递归至挂载点 %s 的任何祖先目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1159
+#: setup.c:1167
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3704,41 +3726,41 @@ msgstr ""
 "参数 core.sharedRepository 的文件权限值有错(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: sha1_file.c:528
+#: sha1_file.c:598
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: sha1_file.c:554
+#: sha1_file.c:624
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: sha1_file.c:560
+#: sha1_file.c:630
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: sha1_file.c:566
+#: sha1_file.c:636
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: sha1_file.c:574
+#: sha1_file.c:644
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被嫁接"
 
-#: sha1_name.c:420
+#: sha1_name.c:422
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "短 SHA1 %s 存在歧义"
 
-#: sha1_name.c:431
+#: sha1_name.c:433
 msgid "The candidates are:"
 msgstr "候选者有:"
 
-#: sha1_name.c:590
+#: sha1_name.c:693
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -3759,86 +3781,86 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:93 submodule.c:127
+#: submodule.c:96 submodule.c:130
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:97 submodule.c:131
+#: submodule.c:100 submodule.c:134
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:105
+#: submodule.c:108
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:138
+#: submodule.c:141
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:149
+#: submodule.c:152
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:309
+#: submodule.c:312
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
-#: submodule.c:340
+#: submodule.c:343
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:799
+#: submodule.c:833
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1021 builtin/branch.c:641 builtin/submodule--helper.c:1149
+#: submodule.c:1065 builtin/branch.c:648 builtin/submodule--helper.c:1387
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1304
+#: submodule.c:1370
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为一个 git 仓库"
 
-#: submodule.c:1442
+#: submodule.c:1508
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
-#: submodule.c:1455
+#: submodule.c:1521
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
-#: submodule.c:1548
+#: submodule.c:1614
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1809
+#: submodule.c:1876
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:1821 submodule.c:1877
+#: submodule.c:1888 submodule.c:1944
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:1825 builtin/submodule--helper.c:671
-#: builtin/submodule--helper.c:681
+#: submodule.c:1892 builtin/submodule--helper.c:909
+#: builtin/submodule--helper.c:919
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: submodule.c:1828
+#: submodule.c:1895
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3849,20 +3871,20 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:1912
+#: submodule.c:1979
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:1956
+#: submodule.c:2023
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:1976
+#: submodule.c:2043
 msgid "BUG: returned path string doesn't match cwd?"
 msgstr "BUG:返回的路径和当前路径不匹配?"
 
-#: submodule.c:1995
+#: submodule.c:2062
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
@@ -3930,24 +3952,24 @@ msgstr "不能打开临时文件"
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
 
-#: transport.c:62
+#: transport.c:63
 #, c-format
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 
-#: transport.c:151
+#: transport.c:152
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:888
+#: transport.c:904
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:892
+#: transport.c:908
 #, c-format
 msgid ""
 "\n"
@@ -3974,11 +3996,11 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:900
+#: transport.c:916
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport-helper.c:1071
+#: transport-helper.c:1074
 #, c-format
 msgid "Could not read ref %s"
 msgstr "不能读取引用 %s"
@@ -3999,7 +4021,7 @@ msgstr "树对象条目中空的文件名"
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:106
+#: unpack-trees.c:107
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4008,7 +4030,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交或贮藏您的修改。"
 
-#: unpack-trees.c:108
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4017,7 +4039,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4026,7 +4048,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交或贮藏您的修改。"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4035,7 +4057,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4044,7 +4066,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交或贮藏您的修改。"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:119
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4053,7 +4075,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:123
+#: unpack-trees.c:124
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -4062,7 +4084,7 @@ msgstr ""
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
-#: unpack-trees.c:127
+#: unpack-trees.c:128
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4071,7 +4093,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:129
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4080,7 +4102,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:132
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4089,7 +4111,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4098,7 +4120,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4107,7 +4129,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:140
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4116,7 +4138,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:144
+#: unpack-trees.c:145
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4126,7 +4148,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:146
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4136,7 +4158,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:149
+#: unpack-trees.c:150
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4145,7 +4167,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:151
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4154,7 +4176,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:154
+#: unpack-trees.c:155
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4163,7 +4185,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:156
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4172,12 +4194,12 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:163
+#: unpack-trees.c:164
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:166
+#: unpack-trees.c:167
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -4186,7 +4208,7 @@ msgstr ""
 "无法更新稀疏检出:如下条目不是最新:\n"
 "%s"
 
-#: unpack-trees.c:168
+#: unpack-trees.c:169
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -4196,7 +4218,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所覆盖:\n"
 "%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:171
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -4206,7 +4228,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所删除:\n"
 "%s"
 
-#: unpack-trees.c:172
+#: unpack-trees.c:173
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -4215,12 +4237,12 @@ msgstr ""
 "无法更新子模组:\n"
 "%s"
 
-#: unpack-trees.c:249
+#: unpack-trees.c:250
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:331
+#: unpack-trees.c:332
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -4263,8 +4285,8 @@ msgstr "无法读取 '%s'"
 msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
-#: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:766
-#: builtin/am.c:858 builtin/merge.c:1041
+#: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:770
+#: builtin/am.c:862 builtin/merge.c:1043
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
@@ -4278,16 +4300,6 @@ msgstr "不能访问 '%s'"
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
-#: wrapper.c:656
-#, c-format
-msgid "could not write to %s"
-msgstr "不能写入 %s"
-
-#: wrapper.c:658
-#, c-format
-msgid "could not close %s"
-msgstr "不能关闭 %s"
-
 #: wt-status.c:150
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
@@ -4318,11 +4330,11 @@ msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:198 wt-status.c:979
+#: wt-status.c:198 wt-status.c:984
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:216 wt-status.c:988
+#: wt-status.c:216 wt-status.c:993
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
@@ -4428,22 +4440,22 @@ msgstr "修改的内容, "
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:819
+#: wt-status.c:824
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:851
+#: wt-status.c:856
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:853
+#: wt-status.c:858
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:935
+#: wt-status.c:940
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -4451,77 +4463,77 @@ msgstr ""
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1048
+#: wt-status.c:1053
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1051
+#: wt-status.c:1056
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1053
+#: wt-status.c:1058
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1058
+#: wt-status.c:1063
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1061
+#: wt-status.c:1066
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1071
+#: wt-status.c:1076
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1074
+#: wt-status.c:1079
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1078
+#: wt-status.c:1083
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1080
+#: wt-status.c:1085
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1082
+#: wt-status.c:1087
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1214
+#: wt-status.c:1219
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1216
+#: wt-status.c:1221
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1219
+#: wt-status.c:1224
 #, 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:1230
+#: wt-status.c:1235
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1235
+#: wt-status.c:1240
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1238
+#: wt-status.c:1243
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -4529,169 +4541,169 @@ msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1246
+#: wt-status.c:1251
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1259
+#: wt-status.c:1264
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1264
+#: wt-status.c:1269
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1278
+#: wt-status.c:1283
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1280
+#: wt-status.c:1285
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1282
+#: wt-status.c:1287
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1288
+#: wt-status.c:1293
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1292
+#: wt-status.c:1297
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1297
+#: wt-status.c:1302
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1300
+#: wt-status.c:1305
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1304
+#: wt-status.c:1309
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1309
+#: wt-status.c:1314
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1312
+#: wt-status.c:1317
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1314
+#: wt-status.c:1319
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1324
+#: wt-status.c:1329
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1329
+#: wt-status.c:1334
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1332
+#: wt-status.c:1337
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1334
+#: wt-status.c:1339
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1343
+#: wt-status.c:1348
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1348
+#: wt-status.c:1353
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1351
+#: wt-status.c:1356
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1353
+#: wt-status.c:1358
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1364
+#: wt-status.c:1369
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1368
+#: wt-status.c:1373
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1371
+#: wt-status.c:1376
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1568
+#: wt-status.c:1573
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1574
+#: wt-status.c:1579
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1576
+#: wt-status.c:1581
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1581
+#: wt-status.c:1586
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1583
+#: wt-status.c:1588
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1586
+#: wt-status.c:1591
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1606
+#: wt-status.c:1611
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1607
+#: wt-status.c:1612
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1621
+#: wt-status.c:1626
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1623
+#: wt-status.c:1628
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1627
+#: wt-status.c:1632
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4701,93 +4713,93 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1633
+#: wt-status.c:1638
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1635
+#: wt-status.c:1640
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1641
+#: wt-status.c:1646
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1646
+#: wt-status.c:1651
 #, 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:1649
+#: wt-status.c:1654
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1652
+#: wt-status.c:1657
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1655
+#: wt-status.c:1660
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1658
+#: wt-status.c:1663
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1661 wt-status.c:1666
+#: wt-status.c:1666 wt-status.c:1671
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1664
+#: wt-status.c:1669
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1668
+#: wt-status.c:1673
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1780
+#: wt-status.c:1785
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:1784
+#: wt-status.c:1789
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1813 wt-status.c:1821
+#: wt-status.c:1818 wt-status.c:1826
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1816 wt-status.c:1819
+#: wt-status.c:1821 wt-status.c:1824
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2311
+#: wt-status.c:2318
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2317
+#: wt-status.c:2324
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2319
+#: wt-status.c:2326
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
@@ -4801,122 +4813,126 @@ msgstr "无法删除 '%s'"
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<选项>] [--] <路径规格>..."
 
-#: builtin/add.c:82
+#: builtin/add.c:83
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:87 builtin/commit.c:291
+#: builtin/add.c:88 builtin/commit.c:291
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:97
+#: builtin/add.c:98
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:153
+#: builtin/add.c:173
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:213 builtin/rev-parse.c:888
+#: builtin/add.c:233 builtin/rev-parse.c:888
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:224
+#: builtin/add.c:244
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "无法打开 '%s' 进行写入。"
 
-#: builtin/add.c:228
+#: builtin/add.c:248
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:231
+#: builtin/add.c:251
 msgid "editing patch failed"
 msgstr "编辑补丁失败"
 
-#: builtin/add.c:234
+#: builtin/add.c:254
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: builtin/add.c:236
+#: builtin/add.c:256
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
-#: builtin/add.c:241
+#: builtin/add.c:261
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:251
+#: builtin/add.c:271
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:271 builtin/clean.c:910 builtin/fetch.c:132 builtin/mv.c:124
-#: builtin/prune-packed.c:55 builtin/pull.c:201 builtin/push.c:529
+#: builtin/add.c:291 builtin/clean.c:911 builtin/fetch.c:133 builtin/mv.c:124
+#: builtin/prune-packed.c:55 builtin/pull.c:207 builtin/push.c:541
 #: builtin/remote.c:1333 builtin/rm.c:242 builtin/send-pack.c:164
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:274
+#: builtin/add.c:294
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:275 builtin/checkout.c:1172 builtin/reset.c:310
+#: builtin/add.c:295 builtin/checkout.c:1137 builtin/reset.c:310
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:276
+#: builtin/add.c:296
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:277
+#: builtin/add.c:297
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:278
+#: builtin/add.c:298
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:279
+#: builtin/add.c:299
+msgid "renormalize EOL of tracked files (implies -u)"
+msgstr "对已跟踪文件(暗含 -u)重新归一换行符"
+
+#: builtin/add.c:300
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:280
+#: builtin/add.c:301
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:283
+#: builtin/add.c:304
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/add.c:285
+#: builtin/add.c:306
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:286
+#: builtin/add.c:307
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:287
+#: builtin/add.c:308
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:288 builtin/update-index.c:954
+#: builtin/add.c:309 builtin/update-index.c:964
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/add.c:288 builtin/update-index.c:955
+#: builtin/add.c:309 builtin/update-index.c:965
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:290
+#: builtin/add.c:311
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:305
+#: builtin/add.c:326
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -4945,47 +4961,47 @@ msgstr ""
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:333
+#: builtin/add.c:354
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:351
+#: builtin/add.c:372
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:359
+#: builtin/add.c:380
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:396
+#: builtin/add.c:417
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:403
+#: builtin/add.c:424
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:407
+#: builtin/add.c:428
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:422
+#: builtin/add.c:443
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:423
+#: builtin/add.c:444
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:428 builtin/check-ignore.c:176 builtin/checkout.c:282
-#: builtin/checkout.c:479 builtin/clean.c:957 builtin/commit.c:350
-#: builtin/mv.c:143 builtin/reset.c:249 builtin/rm.c:271
-#: builtin/submodule--helper.c:243
+#: builtin/add.c:449 builtin/check-ignore.c:176 builtin/checkout.c:281
+#: builtin/checkout.c:484 builtin/clean.c:958 builtin/commit.c:350
+#: builtin/diff-tree.c:114 builtin/mv.c:143 builtin/reset.c:249
+#: builtin/rm.c:271 builtin/submodule--helper.c:311
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
@@ -5012,82 +5028,82 @@ msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:786
+#: builtin/am.c:790
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "无法解析补丁 '%s'"
 
-#: builtin/am.c:851
+#: builtin/am.c:855
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/am.c:899
+#: builtin/am.c:903
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:904 builtin/am.c:916
+#: builtin/am.c:908 builtin/am.c:920
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:911
+#: builtin/am.c:915
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:1004
+#: builtin/am.c:1008
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:1009 builtin/clone.c:402
+#: builtin/am.c:1013 builtin/clone.c:402
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
 
-#: builtin/am.c:1013
+#: builtin/am.c:1017
 msgid "Failed to split patches."
 msgstr "无法拆分补丁。"
 
-#: builtin/am.c:1142 builtin/commit.c:376
+#: builtin/am.c:1146 builtin/commit.c:376
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1193
+#: builtin/am.c:1160
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/am.c:1194
+#: builtin/am.c:1161
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/am.c:1195
+#: builtin/am.c:1162
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/am.c:1302
+#: builtin/am.c:1269
 msgid "Patch is empty."
 msgstr "补丁为空。"
 
-#: builtin/am.c:1368
+#: builtin/am.c:1335
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "无效的身份标识:%.*s"
 
-#: builtin/am.c:1390
+#: builtin/am.c:1357
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: builtin/am.c:1584
+#: builtin/am.c:1550
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/am.c:1586
+#: builtin/am.c:1552
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1605
+#: builtin/am.c:1571
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -5095,37 +5111,37 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1611
+#: builtin/am.c:1577
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/am.c:1636
+#: builtin/am.c:1602
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1660 builtin/merge.c:641
+#: builtin/am.c:1626 builtin/merge.c:642
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
-#: builtin/am.c:1667
+#: builtin/am.c:1633
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1680 builtin/commit.c:1776 builtin/merge.c:824
-#: builtin/merge.c:849
+#: builtin/am.c:1646 builtin/commit.c:1798 builtin/merge.c:825
+#: builtin/merge.c:850
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: builtin/am.c:1713 builtin/am.c:1717
+#: builtin/am.c:1679 builtin/am.c:1683
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
-#: builtin/am.c:1733
+#: builtin/am.c:1699
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr "标准输入没有和终端关联,不能进行交互式操作。"
 
-#: builtin/am.c:1738
+#: builtin/am.c:1704
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -5134,35 +5150,35 @@ msgstr "提交内容为:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1748
+#: builtin/am.c:1714
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1798
+#: builtin/am.c:1764
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/am.c:1838 builtin/am.c:1910
+#: builtin/am.c:1804 builtin/am.c:1876
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1854
+#: builtin/am.c:1820
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1862
+#: builtin/am.c:1828
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1868
+#: builtin/am.c:1834
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr "失败的补丁文件副本位于:%s"
 
-#: builtin/am.c:1913
+#: builtin/am.c:1879
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -5172,7 +5188,7 @@ msgstr ""
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1920
+#: builtin/am.c:1886
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -5183,149 +5199,149 @@ msgstr ""
 "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n"
 "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。"
 
-#: builtin/am.c:2029 builtin/am.c:2033 builtin/am.c:2045 builtin/reset.c:332
+#: builtin/am.c:1993 builtin/am.c:1997 builtin/am.c:2009 builtin/reset.c:332
 #: builtin/reset.c:340
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:2081
+#: builtin/am.c:2045
 msgid "failed to clean index"
 msgstr "无法清空索引"
 
-#: builtin/am.c:2116
+#: builtin/am.c:2080
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2179
+#: builtin/am.c:2143
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
-#: builtin/am.c:2212
+#: builtin/am.c:2176
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2213
+#: builtin/am.c:2177
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2219
+#: builtin/am.c:2183
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2185
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2223
+#: builtin/am.c:2187
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2224 builtin/init-db.c:484 builtin/prune-packed.c:57
+#: builtin/am.c:2188 builtin/init-db.c:484 builtin/prune-packed.c:57
 #: builtin/repack.c:180
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2226
+#: builtin/am.c:2190
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2193
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2231
+#: builtin/am.c:2195
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2233
+#: builtin/am.c:2197
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2199
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2237
+#: builtin/am.c:2201
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2240
+#: builtin/am.c:2204
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2243
+#: builtin/am.c:2207
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2245 builtin/am.c:2248 builtin/am.c:2251 builtin/am.c:2254
-#: builtin/am.c:2257 builtin/am.c:2260 builtin/am.c:2263 builtin/am.c:2266
-#: builtin/am.c:2272
+#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
+#: builtin/am.c:2221 builtin/am.c:2224 builtin/am.c:2227 builtin/am.c:2230
+#: builtin/am.c:2236
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2262 builtin/fmt-merge-msg.c:664 builtin/fmt-merge-msg.c:667
-#: builtin/grep.c:843 builtin/merge.c:205 builtin/pull.c:142 builtin/pull.c:197
+#: builtin/am.c:2226 builtin/fmt-merge-msg.c:665 builtin/fmt-merge-msg.c:668
+#: builtin/grep.c:845 builtin/merge.c:205 builtin/pull.c:145 builtin/pull.c:203
 #: builtin/repack.c:189 builtin/repack.c:193 builtin/repack.c:195
 #: builtin/show-branch.c:631 builtin/show-ref.c:169 builtin/tag.c:377
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2268 builtin/branch.c:622 builtin/for-each-ref.c:38
+#: builtin/am.c:2232 builtin/branch.c:629 builtin/for-each-ref.c:38
 #: builtin/replace.c:444 builtin/tag.c:412 builtin/verify-tag.c:39
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2269
+#: builtin/am.c:2233
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2275
+#: builtin/am.c:2239
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2277
+#: builtin/am.c:2241
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2280
+#: builtin/am.c:2244
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2283
+#: builtin/am.c:2247
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2286
+#: builtin/am.c:2250
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
-#: builtin/am.c:2290
+#: builtin/am.c:2254
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2292
+#: builtin/am.c:2256
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2294 builtin/commit.c:1614 builtin/merge.c:236
-#: builtin/pull.c:172 builtin/revert.c:112 builtin/tag.c:392
+#: builtin/am.c:2258 builtin/commit.c:1636 builtin/merge.c:236
+#: builtin/pull.c:178 builtin/revert.c:112 builtin/tag.c:392
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2295
+#: builtin/am.c:2259
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2298
+#: builtin/am.c:2262
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2316
+#: builtin/am.c:2280
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -5333,16 +5349,16 @@ msgstr ""
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2323
+#: builtin/am.c:2287
 msgid "failed to read the index"
 msgstr "无法读取索引"
 
-#: builtin/am.c:2338
+#: builtin/am.c:2302
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2362
+#: builtin/am.c:2326
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -5351,7 +5367,7 @@ msgstr ""
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2368
+#: builtin/am.c:2332
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
@@ -5389,18 +5405,69 @@ msgstr "git archive:协议错误"
 msgid "git archive: expected a flush"
 msgstr "git archive:应有一个 flush 刷新"
 
-#: builtin/bisect--helper.c:7
+#: builtin/bisect--helper.c:12
 msgid "git bisect--helper --next-all [--no-checkout]"
 msgstr "git bisect--helper --next-all [--no-checkout]"
 
-#: builtin/bisect--helper.c:17
+#: builtin/bisect--helper.c:13
+msgid "git bisect--helper --write-terms <bad_term> <good_term>"
+msgstr "git bisect--helper --write-terms <坏-术语> <好-术语>"
+
+#: builtin/bisect--helper.c:14
+msgid "git bisect--helper --bisect-clean-state"
+msgstr "git bisect--helper --bisect-clean-state"
+
+#: builtin/bisect--helper.c:46
+#, c-format
+msgid "'%s' is not a valid term"
+msgstr "'%s' 不是一个有效的术语"
+
+#: builtin/bisect--helper.c:50
+#, c-format
+msgid "can't use the builtin command '%s' as a term"
+msgstr "不能使用内置命令 '%s' 作为术语"
+
+#: builtin/bisect--helper.c:60
+#, c-format
+msgid "can't change the meaning of the term '%s'"
+msgstr "不能修改术语 '%s' 的含义"
+
+#: builtin/bisect--helper.c:71
+msgid "please use two different terms"
+msgstr "请使用两个不同的术语"
+
+#: builtin/bisect--helper.c:78
+msgid "could not open the file BISECT_TERMS"
+msgstr "不能打开文件 BISECT_TERMS"
+
+#: builtin/bisect--helper.c:120
 msgid "perform 'git bisect next'"
 msgstr "执行 'git bisect next'"
 
-#: builtin/bisect--helper.c:19
+#: builtin/bisect--helper.c:122
+msgid "write the terms to .git/BISECT_TERMS"
+msgstr "将术语写入 .git/BISECT_TERMS"
+
+#: builtin/bisect--helper.c:124
+msgid "cleanup the bisection state"
+msgstr "清除二分查找状态"
+
+#: builtin/bisect--helper.c:126
+msgid "check for expected revs"
+msgstr "检查预期的版本"
+
+#: builtin/bisect--helper.c:128
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "更新 BISECT_HEAD 而非检出当前提交"
 
+#: builtin/bisect--helper.c:143
+msgid "--write-terms requires two arguments"
+msgstr "--write-terms 需要两个参数"
+
+#: builtin/bisect--helper.c:147
+msgid "--bisect-clean-state requires no arguments"
+msgstr "--bisect-clean-state 不需要参数"
+
 #: builtin/blame.c:27
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
@@ -5659,51 +5726,51 @@ msgstr "分支 %s 正被变基到 %s"
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:470
+#: builtin/branch.c:471
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:472
+#: builtin/branch.c:473
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:483
+#: builtin/branch.c:484
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:504
+#: builtin/branch.c:511
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:506
+#: builtin/branch.c:513
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:510
+#: builtin/branch.c:517
 #, c-format
-msgid "Copied a misnamed branch '%s' away"
-msgstr "已将错误命名的分支 '%s' 复制"
+msgid "Created a copy of a misnamed branch '%s'"
+msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
-#: builtin/branch.c:513
+#: builtin/branch.c:520
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
-#: builtin/branch.c:519
+#: builtin/branch.c:526
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:528
+#: builtin/branch.c:535
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
-#: builtin/branch.c:530
+#: builtin/branch.c:537
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
-#: builtin/branch.c:546
+#: builtin/branch.c:553
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5714,221 +5781,217 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:586
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:581
+#: builtin/branch.c:588
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:582
+#: builtin/branch.c:589
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:583
+#: builtin/branch.c:590
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:585
+#: builtin/branch.c:592
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:594
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:594
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:595
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:589
+#: builtin/branch.c:596
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:597
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:592 builtin/branch.c:594
+#: builtin/branch.c:599 builtin/branch.c:601
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:593 builtin/branch.c:595
+#: builtin/branch.c:600 builtin/branch.c:602
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:605
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:599
+#: builtin/branch.c:606
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:601
+#: builtin/branch.c:608
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:609
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:610
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:604
+#: builtin/branch.c:611
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:612
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:606
+#: builtin/branch.c:613
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:607
+#: builtin/branch.c:614
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:608
+#: builtin/branch.c:615
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:617
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:618
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:619
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:620
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:621
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:615 builtin/for-each-ref.c:40 builtin/tag.c:405
+#: builtin/branch.c:622 builtin/for-each-ref.c:40 builtin/tag.c:405
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:616 builtin/for-each-ref.c:41 builtin/tag.c:406
+#: builtin/branch.c:623 builtin/for-each-ref.c:41 builtin/tag.c:406
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:618 builtin/for-each-ref.c:43 builtin/notes.c:408
+#: builtin/branch.c:625 builtin/for-each-ref.c:43 builtin/notes.c:408
 #: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
 #: builtin/tag.c:408
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:626
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:621 builtin/for-each-ref.c:49 builtin/tag.c:415
+#: builtin/branch.c:628 builtin/for-each-ref.c:49 builtin/tag.c:415
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:622 builtin/for-each-ref.c:38 builtin/tag.c:413
+#: builtin/branch.c:629 builtin/for-each-ref.c:38 builtin/tag.c:413
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:645 builtin/clone.c:729
+#: builtin/branch.c:652 builtin/clone.c:730
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:675
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:680 builtin/branch.c:732 builtin/branch.c:741
+#: builtin/branch.c:690 builtin/branch.c:742 builtin/branch.c:751
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:708
+#: builtin/branch.c:718
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:713
+#: builtin/branch.c:723
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:720
+#: builtin/branch.c:730
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:733
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:738
+#: builtin/branch.c:748
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:747
+#: builtin/branch.c:757
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:752
+#: builtin/branch.c:762
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:756
+#: builtin/branch.c:766
 #, 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:759 builtin/branch.c:781 builtin/branch.c:800
+#: builtin/branch.c:769 builtin/branch.c:791 builtin/branch.c:807
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:773
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:775
+#: builtin/branch.c:785
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:789
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:795
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:797
-msgid "it does not make sense to create 'HEAD' manually"
-msgstr "手工创建 'HEAD' 没有意义"
-
-#: builtin/branch.c:803
+#: builtin/branch.c:810
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:806
+#: builtin/branch.c:813
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -5992,7 +6055,7 @@ msgstr "对于数据对象,对其内容做文本转换"
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
-#: builtin/cat-file.c:569 git-submodule.sh:943
+#: builtin/cat-file.c:569 git-submodule.sh:931
 msgid "blob"
 msgstr "数据对象"
 
@@ -6048,7 +6111,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:20 builtin/checkout.c:1153 builtin/gc.c:358
+#: builtin/check-ignore.c:20 builtin/checkout.c:1118 builtin/gc.c:358
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -6105,161 +6168,161 @@ msgstr "未指定联系地址"
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
 
-#: builtin/checkout-index.c:145
+#: builtin/checkout-index.c:143
 msgid "stage should be between 1 and 3 or all"
 msgstr "索引值应该取值 1 到 3 或者 all"
 
-#: builtin/checkout-index.c:161
+#: builtin/checkout-index.c:159
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
-#: builtin/checkout-index.c:162
+#: builtin/checkout-index.c:160
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
-#: builtin/checkout-index.c:164
+#: builtin/checkout-index.c:162
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
-#: builtin/checkout-index.c:166
+#: builtin/checkout-index.c:164
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
-#: builtin/checkout-index.c:168
+#: builtin/checkout-index.c:166
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
-#: builtin/checkout-index.c:172
+#: builtin/checkout-index.c:170
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
-#: builtin/checkout-index.c:174
+#: builtin/checkout-index.c:172
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
-#: builtin/checkout-index.c:175 builtin/column.c:31
-#: builtin/submodule--helper.c:628 builtin/submodule--helper.c:631
-#: builtin/submodule--helper.c:637 builtin/submodule--helper.c:999
-#: builtin/worktree.c:498
+#: builtin/checkout-index.c:173 builtin/column.c:31
+#: builtin/submodule--helper.c:866 builtin/submodule--helper.c:869
+#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1237
+#: builtin/worktree.c:552
 msgid "string"
 msgstr "字符串"
 
-#: builtin/checkout-index.c:176
+#: builtin/checkout-index.c:174
 msgid "when creating files, prepend <string>"
 msgstr "在创建文件时,在前面加上 <字符串>"
 
-#: builtin/checkout-index.c:178
+#: builtin/checkout-index.c:176
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:26
+#: builtin/checkout.c:27
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:27
+#: builtin/checkout.c:28
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:135 builtin/checkout.c:168
+#: builtin/checkout.c:136 builtin/checkout.c:169
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:137 builtin/checkout.c:170
+#: builtin/checkout.c:138 builtin/checkout.c:171
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:153
+#: builtin/checkout.c:154
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必须的版本"
 
-#: builtin/checkout.c:197
+#: builtin/checkout.c:198
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必须的版本"
 
-#: builtin/checkout.c:214
+#: builtin/checkout.c:215
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:231
+#: builtin/checkout.c:232
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:253 builtin/checkout.c:256 builtin/checkout.c:259
-#: builtin/checkout.c:262
+#: builtin/checkout.c:254 builtin/checkout.c:257 builtin/checkout.c:260
+#: builtin/checkout.c:263
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:265 builtin/checkout.c:268
+#: builtin/checkout.c:266 builtin/checkout.c:269
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:271
+#: builtin/checkout.c:272
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:342 builtin/checkout.c:349
+#: builtin/checkout.c:341 builtin/checkout.c:348
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:501
+#: builtin/checkout.c:506
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:632
+#: builtin/checkout.c:637
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:673
+#: builtin/checkout.c:678
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:677 builtin/clone.c:683
+#: builtin/checkout.c:682 builtin/clone.c:684
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:681
+#: builtin/checkout.c:686
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:684
+#: builtin/checkout.c:689
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:688
+#: builtin/checkout.c:693
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:690 builtin/checkout.c:1086
+#: builtin/checkout.c:695 builtin/checkout.c:1051
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:692
+#: builtin/checkout.c:697
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:743
+#: builtin/checkout.c:748
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:749
+#: builtin/checkout.c:754
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -6280,7 +6343,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:768
+#: builtin/checkout.c:773
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -6307,160 +6370,160 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:809
+#: builtin/checkout.c:814
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:813
+#: builtin/checkout.c:818
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:843 builtin/checkout.c:1081
+#: builtin/checkout.c:848 builtin/checkout.c:1046
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:987
+#: builtin/checkout.c:952
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1027 builtin/worktree.c:233
+#: builtin/checkout.c:992 builtin/worktree.c:247
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1056
+#: builtin/checkout.c:1021
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1095
+#: builtin/checkout.c:1060
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1098 builtin/checkout.c:1102
+#: builtin/checkout.c:1063 builtin/checkout.c:1067
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1106 builtin/checkout.c:1109 builtin/checkout.c:1114
-#: builtin/checkout.c:1117
+#: builtin/checkout.c:1071 builtin/checkout.c:1074 builtin/checkout.c:1079
+#: builtin/checkout.c:1082
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1087
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1154 builtin/checkout.c:1156 builtin/clone.c:114
-#: builtin/remote.c:166 builtin/remote.c:168 builtin/worktree.c:346
-#: builtin/worktree.c:348
+#: builtin/checkout.c:1119 builtin/checkout.c:1121 builtin/clone.c:114
+#: builtin/remote.c:166 builtin/remote.c:168 builtin/worktree.c:369
+#: builtin/worktree.c:371
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1120
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1122
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1123
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1159 builtin/worktree.c:350
+#: builtin/checkout.c:1124 builtin/worktree.c:373
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1125
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1127
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1162
+#: builtin/checkout.c:1127
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1128
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1165
+#: builtin/checkout.c:1130
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1167
+#: builtin/checkout.c:1132
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1168
+#: builtin/checkout.c:1133
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1169 builtin/merge.c:238
+#: builtin/checkout.c:1134 builtin/merge.c:238
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1170 builtin/log.c:1489 parse-options.h:251
+#: builtin/checkout.c:1135 builtin/log.c:1496 parse-options.h:251
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1171
+#: builtin/checkout.c:1136
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1174
+#: builtin/checkout.c:1139
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1176
+#: builtin/checkout.c:1141
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1178
+#: builtin/checkout.c:1143
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1182 builtin/clone.c:81 builtin/fetch.c:136
-#: builtin/merge.c:235 builtin/pull.c:120 builtin/push.c:544
+#: builtin/checkout.c:1147 builtin/clone.c:81 builtin/fetch.c:137
+#: builtin/merge.c:235 builtin/pull.c:123 builtin/push.c:556
 #: builtin/send-pack.c:173
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1212
+#: builtin/checkout.c:1177
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1229
+#: builtin/checkout.c:1194
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1234
+#: builtin/checkout.c:1199
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1270
+#: builtin/checkout.c:1235
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1277
+#: builtin/checkout.c:1242
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
-#: builtin/checkout.c:1281
+#: builtin/checkout.c:1246
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1285
+#: builtin/checkout.c:1250
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -6498,7 +6561,7 @@ msgstr "将忽略仓库 %s\n"
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: builtin/clean.c:301 git-add--interactive.perl:572
+#: builtin/clean.c:302 git-add--interactive.perl:572
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6511,7 +6574,7 @@ msgstr ""
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
-#: builtin/clean.c:305 git-add--interactive.perl:581
+#: builtin/clean.c:306 git-add--interactive.perl:581
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6532,38 +6595,38 @@ msgstr ""
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
-#: builtin/clean.c:521 git-add--interactive.perl:547
+#: builtin/clean.c:522 git-add--interactive.perl:547
 #: git-add--interactive.perl:552
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "嗯(%s)?\n"
 
-#: builtin/clean.c:663
+#: builtin/clean.c:664
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
-#: builtin/clean.c:700
+#: builtin/clean.c:701
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "警告:无法找到和 %s 匹配的条目"
 
-#: builtin/clean.c:721
+#: builtin/clean.c:722
 msgid "Select items to delete"
 msgstr "选择要删除的条目"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:762
+#: builtin/clean.c:763
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:787 git-add--interactive.perl:1616
+#: builtin/clean.c:788 git-add--interactive.perl:1616
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
 
-#: builtin/clean.c:795
+#: builtin/clean.c:796
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -6581,70 +6644,71 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:822 git-add--interactive.perl:1692
+#: builtin/clean.c:823 git-add--interactive.perl:1692
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:823 git-add--interactive.perl:1689
+#: builtin/clean.c:824 git-add--interactive.perl:1689
 msgid "What now"
 msgstr "请选择"
 
-#: builtin/clean.c:831
+#: builtin/clean.c:832
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "将删除如下条目:"
 msgstr[1] "将删除如下条目:"
 
-#: builtin/clean.c:847
+#: builtin/clean.c:848
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:910
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
-#: builtin/clean.c:911
+#: builtin/clean.c:912
 msgid "force"
 msgstr "强制"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
-#: builtin/clean.c:914
+#: builtin/clean.c:915
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:915 builtin/describe.c:463 builtin/describe.c:465
-#: builtin/grep.c:861 builtin/ls-files.c:544 builtin/name-rev.c:397
-#: builtin/name-rev.c:399 builtin/show-ref.c:176
+#: builtin/clean.c:916 builtin/describe.c:530 builtin/describe.c:532
+#: builtin/grep.c:863 builtin/log.c:155 builtin/log.c:157
+#: builtin/ls-files.c:548 builtin/name-rev.c:397 builtin/name-rev.c:399
+#: builtin/show-ref.c:176
 msgid "pattern"
 msgstr "模式"
 
-#: builtin/clean.c:916
+#: builtin/clean.c:917
 msgid "add <pattern> to ignore rules"
 msgstr "添加 <模式> 到忽略规则"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:918
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
-#: builtin/clean.c:919
+#: builtin/clean.c:920
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
-#: builtin/clean.c:937
+#: builtin/clean.c:938
 msgid "-x and -X cannot be used together"
 msgstr "-x 和 -X 不能同时使用"
 
-#: builtin/clean.c:941
+#: builtin/clean.c:942
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 "clean.requireForce 设置为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clean.c:944
+#: builtin/clean.c:945
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -6699,8 +6763,8 @@ msgstr "模板目录"
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:107 builtin/clone.c:109 builtin/submodule--helper.c:635
-#: builtin/submodule--helper.c:1002
+#: builtin/clone.c:107 builtin/clone.c:109 builtin/submodule--helper.c:873
+#: builtin/submodule--helper.c:1240
 msgid "reference repository"
 msgstr "参考仓库"
 
@@ -6724,8 +6788,8 @@ msgstr "检出 <分支> 而不是远程 HEAD"
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:118 builtin/fetch.c:137 builtin/grep.c:804
-#: builtin/pull.c:205
+#: builtin/clone.c:118 builtin/fetch.c:138 builtin/grep.c:806
+#: builtin/pull.c:211
 msgid "depth"
 msgstr "深度"
 
@@ -6733,7 +6797,7 @@ msgstr "深度"
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:120 builtin/fetch.c:139 builtin/pack-objects.c:2938
+#: builtin/clone.c:120 builtin/fetch.c:140 builtin/pack-objects.c:2991
 #: parse-options.h:142
 msgid "time"
 msgstr "时间"
@@ -6742,11 +6806,11 @@ msgstr "时间"
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:122 builtin/fetch.c:141
+#: builtin/clone.c:122 builtin/fetch.c:142
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:123 builtin/fetch.c:142
+#: builtin/clone.c:123 builtin/fetch.c:143
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
@@ -6778,11 +6842,13 @@ msgstr "key=value"
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:134 builtin/fetch.c:159 builtin/push.c:555
+#: builtin/clone.c:134 builtin/fetch.c:160 builtin/pull.c:224
+#: builtin/push.c:567
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:136 builtin/fetch.c:161 builtin/push.c:557
+#: builtin/clone.c:136 builtin/fetch.c:162 builtin/pull.c:227
+#: builtin/push.c:569
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
@@ -6824,12 +6890,12 @@ msgstr "无法创建链接 '%s'"
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:471
+#: builtin/clone.c:472
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:483
+#: builtin/clone.c:484
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -6839,21 +6905,21 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:560
+#: builtin/clone.c:561
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:655
+#: builtin/clone.c:656
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:671
+#: builtin/clone.c:672
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:720
+#: builtin/clone.c:721
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
@@ -6873,7 +6939,7 @@ msgstr "无法执行 repack 来清理"
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:894 builtin/receive-pack.c:1944
+#: builtin/clone.c:894 builtin/receive-pack.c:1945
 msgid "Too many arguments."
 msgstr "太多参数。"
 
@@ -6895,7 +6961,7 @@ msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:933 builtin/fetch.c:1360
+#: builtin/clone.c:933 builtin/fetch.c:1358
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
@@ -6911,7 +6977,7 @@ msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
 #: builtin/clone.c:968 builtin/clone.c:979 builtin/difftool.c:270
-#: builtin/worktree.c:240 builtin/worktree.c:270
+#: builtin/worktree.c:253 builtin/worktree.c:283
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
@@ -6957,17 +7023,12 @@ msgstr "源仓库是浅克隆,忽略 --local"
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1087
-#, c-format
-msgid "Don't know how to clone %s"
-msgstr "不知道如何克隆 %s"
-
-#: builtin/clone.c:1142 builtin/clone.c:1150
+#: builtin/clone.c:1139 builtin/clone.c:1147
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1153
+#: builtin/clone.c:1150
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -7161,7 +7222,7 @@ msgid ""
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:697 builtin/commit.c:730 builtin/commit.c:1100
+#: builtin/commit.c:697 builtin/commit.c:730 builtin/commit.c:1114
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
@@ -7261,326 +7322,341 @@ msgstr "%s提交者:%.*s <%.*s>"
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:958
+#: builtin/commit.c:959
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:972 builtin/tag.c:252
+#: builtin/commit.c:973 builtin/tag.c:252
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1075
+#: builtin/commit.c:1076
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1090 builtin/commit.c:1335
+#: builtin/commit.c:1090
+#, c-format
+msgid "Invalid ignored mode '%s'"
+msgstr "无效的忽略模式 '%s'"
+
+#: builtin/commit.c:1104 builtin/commit.c:1349
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1128
+#: builtin/commit.c:1142
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1172
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1167
+#: builtin/commit.c:1181
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1170
+#: builtin/commit.c:1184
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1172
+#: builtin/commit.c:1186
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1189
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1185
+#: builtin/commit.c:1199
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1187
+#: builtin/commit.c:1201
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "选项 -m 不能和 -c/-C/-F/--fixup 同时使用。"
 
-#: builtin/commit.c:1195
+#: builtin/commit.c:1209
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1212
+#: builtin/commit.c:1226
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1214
+#: builtin/commit.c:1228
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1226 builtin/tag.c:535
+#: builtin/commit.c:1240 builtin/tag.c:535
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1231
+#: builtin/commit.c:1245
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1349 builtin/commit.c:1626
+#: builtin/commit.c:1363 builtin/commit.c:1648
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1351 builtin/commit.c:1628
+#: builtin/commit.c:1365 builtin/commit.c:1650
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1353
+#: builtin/commit.c:1367
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1355
+#: builtin/commit.c:1369
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1355 builtin/commit.c:1630 builtin/push.c:530
-#: builtin/worktree.c:469
+#: builtin/commit.c:1369 builtin/commit.c:1652 builtin/push.c:542
+#: builtin/worktree.c:523
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1358 builtin/commit.c:1632
+#: builtin/commit.c:1372 builtin/commit.c:1654
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1361 builtin/commit.c:1635
+#: builtin/commit.c:1375 builtin/commit.c:1657
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1363 builtin/commit.c:1638 builtin/fast-export.c:999
-#: builtin/fast-export.c:1002 builtin/tag.c:390
+#: builtin/commit.c:1377 builtin/commit.c:1381 builtin/commit.c:1660
+#: builtin/fast-export.c:999 builtin/fast-export.c:1002 builtin/tag.c:390
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1364 builtin/commit.c:1638
+#: builtin/commit.c:1378 builtin/commit.c:1660
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1367
-msgid "show ignored files"
-msgstr "显示忽略的文件"
+#: builtin/commit.c:1382
+msgid ""
+"show ignored files, optional modes: traditional, matching, no. (Default: "
+"traditional)"
+msgstr "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1368 parse-options.h:155
+#: builtin/commit.c:1384 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1369
+#: builtin/commit.c:1385
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1371
+#: builtin/commit.c:1387
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1449
+#: builtin/commit.c:1406
+msgid "Unsupported combination of ignored and untracked-files arguments"
+msgstr "不支持已忽略和未跟踪文件参数的组合"
+
+#: builtin/commit.c:1469
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1451
+#: builtin/commit.c:1471
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1516
+msgid "unable to resolve HEAD after creating commit"
+msgstr "创建提交后,不能解析 HEAD"
+
+#: builtin/commit.c:1518
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1499
+#: builtin/commit.c:1521
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1618
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1619
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1621
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1600 builtin/tag.c:388
+#: builtin/commit.c:1622 builtin/tag.c:388
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1623
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1623
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1602 builtin/gc.c:359
+#: builtin/commit.c:1624 builtin/gc.c:359
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1624
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1603 builtin/merge.c:225 builtin/notes.c:402
+#: builtin/commit.c:1625 builtin/merge.c:225 builtin/notes.c:402
 #: builtin/notes.c:565 builtin/tag.c:386
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1625
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1604 builtin/commit.c:1605 builtin/commit.c:1606
-#: builtin/commit.c:1607 parse-options.h:257 ref-filter.h:92
+#: builtin/commit.c:1626 builtin/commit.c:1627 builtin/commit.c:1628
+#: builtin/commit.c:1629 parse-options.h:257 ref-filter.h:92
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1626
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1605
+#: builtin/commit.c:1627
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1628
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1607
+#: builtin/commit.c:1629
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1608
+#: builtin/commit.c:1630
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1609 builtin/log.c:1436 builtin/merge.c:239
-#: builtin/revert.c:105
+#: builtin/commit.c:1631 builtin/log.c:1443 builtin/merge.c:239
+#: builtin/pull.c:149 builtin/revert.c:105
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1610
+#: builtin/commit.c:1632
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1633
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1612
+#: builtin/commit.c:1634
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1612 builtin/tag.c:391
+#: builtin/commit.c:1634 builtin/tag.c:391
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1635
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1615 builtin/merge.c:237 builtin/pull.c:173
+#: builtin/commit.c:1637 builtin/merge.c:237 builtin/pull.c:179
 #: builtin/revert.c:113
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1618
+#: builtin/commit.c:1640
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1619
+#: builtin/commit.c:1641
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1642
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1643
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1644
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1645
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1624
+#: builtin/commit.c:1646
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1647
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1636
+#: builtin/commit.c:1658
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1659
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1664
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1644
+#: builtin/commit.c:1666
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1674
+#: builtin/commit.c:1696
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1741
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1726
+#: builtin/commit.c:1748
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1745
+#: builtin/commit.c:1767
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1756
+#: builtin/commit.c:1778
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1761
+#: builtin/commit.c:1783
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1809
+#: builtin/commit.c:1831
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7593,139 +7669,143 @@ msgstr ""
 msgid "git config [<options>]"
 msgstr "git config [<选项>]"
 
-#: builtin/config.c:57
+#: builtin/config.c:58
 msgid "Config file location"
 msgstr "配置文件位置"
 
-#: builtin/config.c:58
+#: builtin/config.c:59
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
-#: builtin/config.c:59
+#: builtin/config.c:60
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
-#: builtin/config.c:60
+#: builtin/config.c:61
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
-#: builtin/config.c:61
+#: builtin/config.c:62
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
-#: builtin/config.c:62
+#: builtin/config.c:63
 msgid "blob-id"
 msgstr "数据对象 ID"
 
-#: builtin/config.c:62
+#: builtin/config.c:63
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
-#: builtin/config.c:63
+#: builtin/config.c:64
 msgid "Action"
 msgstr "操作"
 
-#: builtin/config.c:64
+#: builtin/config.c:65
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
-#: builtin/config.c:65
+#: builtin/config.c:66
 msgid "get all values: key [value-regex]"
 msgstr "获得所有的值:key [value-regex]"
 
-#: builtin/config.c:66
+#: builtin/config.c:67
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "根据正则表达式获得值:name-regex [value-regex]"
 
-#: builtin/config.c:67
+#: builtin/config.c:68
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "获得 URL 取值:section[.var] URL"
 
-#: builtin/config.c:68
+#: builtin/config.c:69
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "替换所有匹配的变量:name value [value_regex]"
 
-#: builtin/config.c:69
+#: builtin/config.c:70
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
-#: builtin/config.c:70
+#: builtin/config.c:71
 msgid "remove a variable: name [value-regex]"
 msgstr "删除一个变量:name [value-regex]"
 
-#: builtin/config.c:71
+#: builtin/config.c:72
 msgid "remove all matches: name [value-regex]"
 msgstr "删除所有匹配项:name [value-regex]"
 
-#: builtin/config.c:72
+#: builtin/config.c:73
 msgid "rename section: old-name new-name"
 msgstr "重命名小节:old-name new-name"
 
-#: builtin/config.c:73
+#: builtin/config.c:74
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
-#: builtin/config.c:74
+#: builtin/config.c:75
 msgid "list all"
 msgstr "列出所有"
 
-#: builtin/config.c:75
+#: builtin/config.c:76
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
-#: builtin/config.c:76
+#: builtin/config.c:77
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
-#: builtin/config.c:77
+#: builtin/config.c:78
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "获得颜色设置:配置 [stdout-is-tty]"
 
-#: builtin/config.c:78
+#: builtin/config.c:79
 msgid "Type"
 msgstr "类型"
 
-#: builtin/config.c:79
+#: builtin/config.c:80
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
-#: builtin/config.c:80
+#: builtin/config.c:81
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
-#: builtin/config.c:81
+#: builtin/config.c:82
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
-#: builtin/config.c:82
+#: builtin/config.c:83
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
-#: builtin/config.c:83
+#: builtin/config.c:84
+msgid "value is an expiry date"
+msgstr "值是一个到期日期"
+
+#: builtin/config.c:85
 msgid "Other"
 msgstr "其它"
 
-#: builtin/config.c:84
+#: builtin/config.c:86
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
-#: builtin/config.c:85
+#: builtin/config.c:87
 msgid "show variable names only"
 msgstr "只显示变量名"
 
-#: builtin/config.c:86
+#: builtin/config.c:88
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/config.c:87
+#: builtin/config.c:89
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)"
 
-#: builtin/config.c:327
+#: builtin/config.c:335
 msgid "unable to parse default color value"
 msgstr "不能解析默认颜色值"
 
-#: builtin/config.c:471
+#: builtin/config.c:479
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -7740,16 +7820,16 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:499
+#: builtin/config.c:507
 msgid "--local can only be used inside a git repository"
 msgstr "--local 只能在一个仓库内使用"
 
-#: builtin/config.c:624
+#: builtin/config.c:632
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/config.c:637
+#: builtin/config.c:645
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -7766,67 +7846,57 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
-#: builtin/describe.c:19
+#: builtin/describe.c:22
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<选项>] [<提交号>...]"
 
-#: builtin/describe.c:20
+#: builtin/describe.c:23
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<选项>] --dirty"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "head"
 msgstr "头"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "lightweight"
 msgstr "轻量级的"
 
-#: builtin/describe.c:54
+#: builtin/describe.c:57
 msgid "annotated"
 msgstr "附注的"
 
-#: builtin/describe.c:264
+#: builtin/describe.c:267
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "附注标签 %s 无效"
 
-#: builtin/describe.c:268
+#: builtin/describe.c:271
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "附注标签 %s 没有嵌入名称"
 
-#: builtin/describe.c:270
+#: builtin/describe.c:273
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "标签 '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:297 builtin/log.c:493
-#, c-format
-msgid "Not a valid object name %s"
-msgstr "不是一个有效的对象名 %s"
-
-#: builtin/describe.c:300
-#, c-format
-msgid "%s is not a valid '%s' object"
-msgstr "%s 不是一个有效的 '%s' 对象"
-
-#: builtin/describe.c:317
+#: builtin/describe.c:314
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "没有标签准确匹配 '%s'"
 
-#: builtin/describe.c:319
+#: builtin/describe.c:316
 #, c-format
-msgid "searching to describe %s\n"
-msgstr "æ\90\9cç´¢æ\8f\8fè¿° %s\n"
+msgid "No exact match on refs or tags, searching to describe\n"
+msgstr "没æ\9c\89精确å\8c¹é\85\8då\88°å¼\95ç\94¨æ\88\96æ \87ç­¾ï¼\8c继续æ\90\9cç´¢è¿\9bè¡\8cæ\8f\8fè¿°\n"
 
-#: builtin/describe.c:366
+#: builtin/describe.c:363
 #, c-format
 msgid "finished search at %s\n"
 msgstr "完成搜索 %s\n"
 
-#: builtin/describe.c:393
+#: builtin/describe.c:389
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -7835,7 +7905,7 @@ msgstr ""
 "没有附注标签能描述 '%s'。\n"
 "然而,存在未附注标签:尝试 --tags。"
 
-#: builtin/describe.c:397
+#: builtin/describe.c:393
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -7844,12 +7914,12 @@ msgstr ""
 "没有标签能描述 '%s'。\n"
 "尝试 --always,或者创建一些标签。"
 
-#: builtin/describe.c:427
+#: builtin/describe.c:423
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "已遍历 %lu 个提交\n"
 
-#: builtin/describe.c:430
+#: builtin/describe.c:426
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -7858,75 +7928,90 @@ msgstr ""
 "发现多于 %i 个标签,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
-#: builtin/describe.c:452
+#: builtin/describe.c:494
+#, c-format
+msgid "describe %s\n"
+msgstr "描述 %s\n"
+
+#: builtin/describe.c:497 builtin/log.c:500
+#, c-format
+msgid "Not a valid object name %s"
+msgstr "不是一个有效的对象名 %s"
+
+#: builtin/describe.c:505
+#, c-format
+msgid "%s is neither a commit nor blob"
+msgstr "%s 既不是提交也不是数据对象"
+
+#: builtin/describe.c:519
 msgid "find the tag that comes after the commit"
 msgstr "寻找该提交之后的标签"
 
-#: builtin/describe.c:453
+#: builtin/describe.c:520
 msgid "debug search strategy on stderr"
 msgstr "在标准错误上调试搜索策略"
 
-#: builtin/describe.c:454
+#: builtin/describe.c:521
 msgid "use any ref"
 msgstr "使用任意引用"
 
-#: builtin/describe.c:455
+#: builtin/describe.c:522
 msgid "use any tag, even unannotated"
 msgstr "使用任意标签,即使未附带注释"
 
-#: builtin/describe.c:456
+#: builtin/describe.c:523
 msgid "always use long format"
 msgstr "始终使用长提交号格式"
 
-#: builtin/describe.c:457
+#: builtin/describe.c:524
 msgid "only follow first parent"
 msgstr "只跟随第一个父提交"
 
-#: builtin/describe.c:460
+#: builtin/describe.c:527
 msgid "only output exact matches"
 msgstr "只输出精确匹配"
 
-#: builtin/describe.c:462
+#: builtin/describe.c:529
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "考虑最近 <n> 个标签(默认:10)"
 
-#: builtin/describe.c:464
+#: builtin/describe.c:531
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:466
+#: builtin/describe.c:533
 msgid "do not consider tags matching <pattern>"
 msgstr "不考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:468 builtin/name-rev.c:406
+#: builtin/describe.c:535 builtin/name-rev.c:406
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
-#: builtin/describe.c:469 builtin/describe.c:472
+#: builtin/describe.c:536 builtin/describe.c:539
 msgid "mark"
 msgstr "标记"
 
-#: builtin/describe.c:470
+#: builtin/describe.c:537
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "对于脏工作区,追加 <标记>(默认:\"-dirty\")"
 
-#: builtin/describe.c:473
+#: builtin/describe.c:540
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr "对于损坏的工作区,追加 <标记>(默认:\"-broken\")"
 
-#: builtin/describe.c:491
+#: builtin/describe.c:558
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long 与 --abbrev=0 不兼容"
 
-#: builtin/describe.c:520
+#: builtin/describe.c:587
 msgid "No names found, cannot describe anything."
 msgstr "没有发现名称,无法描述任何东西。"
 
-#: builtin/describe.c:563
+#: builtin/describe.c:637
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 与提交号不兼容"
 
-#: builtin/describe.c:565
+#: builtin/describe.c:639
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken 与提交号不兼容"
 
@@ -7935,26 +8020,26 @@ msgstr "--broken 与提交号不兼容"
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s':不是一个正规文件或符号链接"
 
-#: builtin/diff.c:235
+#: builtin/diff.c:234
 #, c-format
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:357
+#: builtin/diff.c:356
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:400
+#: builtin/diff.c:399
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:409
+#: builtin/diff.c:408
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
-#: builtin/diff.c:414
+#: builtin/diff.c:413
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
@@ -7991,71 +8076,71 @@ msgstr ""
 "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--"
 "cc')。"
 
-#: builtin/difftool.c:633
+#: builtin/difftool.c:632
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "两个文件都被修改:'%s' 和 '%s'。"
 
-#: builtin/difftool.c:635
+#: builtin/difftool.c:634
 msgid "working tree file has been left."
 msgstr "工作区文件被留了下来。"
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:645
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "临时文件存在于 '%s'。"
 
-#: builtin/difftool.c:647
+#: builtin/difftool.c:646
 msgid "you may want to cleanup or recover these."
 msgstr "您可能想要清理或者恢复它们。"
 
-#: builtin/difftool.c:696
+#: builtin/difftool.c:695
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "使用 `diff.guitool` 代替 `diff.tool`"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:697
 msgid "perform a full-directory diff"
 msgstr "执行一个全目录差异比较"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:699
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:706
 msgid "<tool>"
 msgstr "<工具>"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
-#: builtin/difftool.c:710
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
 
-#: builtin/difftool.c:713
+#: builtin/difftool.c:712
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:714
 msgid "<command>"
 msgstr "<命令>"
 
-#: builtin/difftool.c:716
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
-#: builtin/difftool.c:740
+#: builtin/difftool.c:739
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:747
+#: builtin/difftool.c:746
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
@@ -8111,184 +8196,184 @@ msgstr "对导出的引用应用引用规格"
 msgid "anonymize output"
 msgstr "匿名输出"
 
-#: builtin/fetch.c:23
+#: builtin/fetch.c:24
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/fetch.c:24
+#: builtin/fetch.c:25
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
-#: builtin/fetch.c:25
+#: builtin/fetch.c:26
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 
-#: builtin/fetch.c:26
+#: builtin/fetch.c:27
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:112 builtin/pull.c:182
+#: builtin/fetch.c:113 builtin/pull.c:188
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:114 builtin/pull.c:185
+#: builtin/fetch.c:115 builtin/pull.c:191
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:116 builtin/pull.c:188
+#: builtin/fetch.c:117 builtin/pull.c:194
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:117 builtin/pull.c:190
+#: builtin/fetch.c:118 builtin/pull.c:196
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:120
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:121 builtin/pull.c:192
+#: builtin/fetch.c:122 builtin/pull.c:198
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:124
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:125
+#: builtin/fetch.c:126
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:127 builtin/pull.c:195
+#: builtin/fetch.c:128 builtin/pull.c:201
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:128 builtin/fetch.c:151 builtin/pull.c:123
+#: builtin/fetch.c:129 builtin/fetch.c:152 builtin/pull.c:126
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:129
+#: builtin/fetch.c:130
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:133 builtin/pull.c:203
+#: builtin/fetch.c:134 builtin/pull.c:209
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:135
+#: builtin/fetch.c:136
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:138 builtin/fetch.c:144 builtin/pull.c:206
+#: builtin/fetch.c:139 builtin/fetch.c:145 builtin/pull.c:212
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:141
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:146 builtin/pull.c:209
+#: builtin/fetch.c:147 builtin/pull.c:215
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:148 builtin/log.c:1456
+#: builtin/fetch.c:149 builtin/log.c:1463
 msgid "dir"
 msgstr "目录"
 
-#: builtin/fetch.c:149
+#: builtin/fetch.c:150
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:153
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:156 builtin/pull.c:212
+#: builtin/fetch.c:157 builtin/pull.c:218
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:157 builtin/pull.c:214
+#: builtin/fetch.c:158 builtin/pull.c:220
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:158 builtin/pull.c:215
+#: builtin/fetch.c:159 builtin/pull.c:221
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:416
+#: builtin/fetch.c:417
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:534
+#: builtin/fetch.c:535
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:627
+#: builtin/fetch.c:628
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:631
+#: builtin/fetch.c:632
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:644 builtin/fetch.c:724
+#: builtin/fetch.c:645 builtin/fetch.c:725
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:645
+#: builtin/fetch.c:646
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:655
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:655 builtin/fetch.c:688 builtin/fetch.c:704
-#: builtin/fetch.c:719
+#: builtin/fetch.c:656 builtin/fetch.c:689 builtin/fetch.c:705
+#: builtin/fetch.c:720
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:674
+#: builtin/fetch.c:675
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:677
+#: builtin/fetch.c:678
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:680
+#: builtin/fetch.c:681
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:719
+#: builtin/fetch.c:720
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:724
+#: builtin/fetch.c:725
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:769
+#: builtin/fetch.c:770
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:789
+#: builtin/fetch.c:790
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:877 builtin/fetch.c:973
+#: builtin/fetch.c:878 builtin/fetch.c:974
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:889
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -8298,95 +8383,90 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:943
+#: builtin/fetch.c:944
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:944
+#: builtin/fetch.c:945
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:976
+#: builtin/fetch.c:977
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:977 builtin/remote.c:1024
+#: builtin/fetch.c:978 builtin/remote.c:1024
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1000
+#: builtin/fetch.c:1001
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:1019
+#: builtin/fetch.c:1020
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1022
+#: builtin/fetch.c:1023
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1098
-#, c-format
-msgid "Don't know how to fetch from %s"
-msgstr "不知道如何从 %s 获取"
-
-#: builtin/fetch.c:1258
+#: builtin/fetch.c:1256
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1260 builtin/remote.c:97
+#: builtin/fetch.c:1258 builtin/remote.c:97
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1278
+#: builtin/fetch.c:1276
 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:1301
+#: builtin/fetch.c:1299
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1344
+#: builtin/fetch.c:1342
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1346
+#: builtin/fetch.c:1344
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1351
+#: builtin/fetch.c:1349
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1353
+#: builtin/fetch.c:1351
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1366
+#: builtin/fetch.c:1364
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1368
+#: builtin/fetch.c:1366
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1379
+#: builtin/fetch.c:1377
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1387
+#: builtin/fetch.c:1385
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
@@ -8395,23 +8475,23 @@ msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <说明>] [--log[=<n>] | --no-log] [--file <文件>]"
 
-#: builtin/fmt-merge-msg.c:665
+#: builtin/fmt-merge-msg.c:666
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:668
+#: builtin/fmt-merge-msg.c:669
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:672
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:673
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:674
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -8629,242 +8709,242 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:293 builtin/index-pack.c:1495 builtin/index-pack.c:1693
+#: builtin/grep.c:293 builtin/index-pack.c:1495 builtin/index-pack.c:1688
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/grep.c:451 builtin/grep.c:571 builtin/grep.c:613
+#: builtin/grep.c:453 builtin/grep.c:573 builtin/grep.c:615
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:628
+#: builtin/grep.c:630
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:694
+#: builtin/grep.c:696
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:781
+#: builtin/grep.c:783
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:783
+#: builtin/grep.c:785
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:785
+#: builtin/grep.c:787
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:787
+#: builtin/grep.c:789
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:789
+#: builtin/grep.c:791
 msgid "recursively search in each submodule"
 msgstr "在每一个子模组中递归搜索"
 
-#: builtin/grep.c:792
+#: builtin/grep.c:794
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:794
+#: builtin/grep.c:796
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:796
+#: builtin/grep.c:798
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:798
+#: builtin/grep.c:800
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:800
+#: builtin/grep.c:802
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:803
+#: builtin/grep.c:805
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:805
+#: builtin/grep.c:807
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:809
+#: builtin/grep.c:811
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:812
+#: builtin/grep.c:814
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:817
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:818
+#: builtin/grep.c:820
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:823
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:824
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:823
+#: builtin/grep.c:825
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:825
+#: builtin/grep.c:827
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:827
+#: builtin/grep.c:829
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:829
+#: builtin/grep.c:831
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:834
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:834
+#: builtin/grep.c:836
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:836
+#: builtin/grep.c:838
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:839
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:839
+#: builtin/grep.c:841
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:847
+#: builtin/grep.c:849
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:851
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:851
+#: builtin/grep.c:853
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:854
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:857
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:857
+#: builtin/grep.c:859
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:862
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:864
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:866
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:876
+#: builtin/grep.c:878
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:878
+#: builtin/grep.c:880
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:880
+#: builtin/grep.c:882
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:884
+#: builtin/grep.c:886
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:884
+#: builtin/grep.c:886
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:950
+#: builtin/grep.c:952
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:982
+#: builtin/grep.c:984
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index 或 --untracked 不能和版本同时使用"
 
-#: builtin/grep.c:989
+#: builtin/grep.c:991
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1023 builtin/index-pack.c:1491
+#: builtin/grep.c:1026 builtin/index-pack.c:1491
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:1028
+#: builtin/grep.c:1031
 msgid "no threads support, ignoring --threads"
 msgstr "没有线程支持,忽略 --threads"
 
-#: builtin/grep.c:1052
+#: builtin/grep.c:1055
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:1075
+#: builtin/grep.c:1078
 msgid "option not supported with --recurse-submodules."
 msgstr "选项不支持和 --recurse-submodules 共用。"
 
-#: builtin/grep.c:1081
+#: builtin/grep.c:1084
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:1087
+#: builtin/grep.c:1090
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:1095
+#: builtin/grep.c:1098
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -9147,8 +9227,8 @@ msgstr "解压缩严重的不一致"
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:752 builtin/pack-objects.c:168
-#: builtin/pack-objects.c:262
+#: builtin/index-pack.c:752 builtin/pack-objects.c:179
+#: builtin/pack-objects.c:273
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
@@ -9308,21 +9388,21 @@ msgstr[1] "链长 = %d: %lu 对象"
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1705 builtin/index-pack.c:1708
-#: builtin/index-pack.c:1724 builtin/index-pack.c:1728
+#: builtin/index-pack.c:1700 builtin/index-pack.c:1703
+#: builtin/index-pack.c:1719 builtin/index-pack.c:1723
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1744
+#: builtin/index-pack.c:1739
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1746
+#: builtin/index-pack.c:1741
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
-#: builtin/index-pack.c:1754
+#: builtin/index-pack.c:1749
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
@@ -9517,99 +9597,107 @@ msgstr "git show [<选项>] <对象>..."
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:148
+#: builtin/log.c:151
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:149
+#: builtin/log.c:152
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:150
+#: builtin/log.c:153
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:151
+#: builtin/log.c:155
+msgid "only decorate refs that match <pattern>"
+msgstr "只修饰与 <模式> 匹配的引用"
+
+#: builtin/log.c:157
+msgid "do not decorate refs that match <pattern>"
+msgstr "不修饰和 <模式> 匹配的引用"
+
+#: builtin/log.c:158
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:154
+#: builtin/log.c:161
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
-#: builtin/log.c:250
+#: builtin/log.c:257
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:501
+#: builtin/log.c:508
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:516 builtin/log.c:610
+#: builtin/log.c:523 builtin/log.c:617
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:634
+#: builtin/log.c:641
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:755
+#: builtin/log.c:762
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:856
+#: builtin/log.c:863
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:872
+#: builtin/log.c:879
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:889
+#: builtin/log.c:896
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:899
+#: builtin/log.c:906
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:1005
+#: builtin/log.c:1012
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:1085
+#: builtin/log.c:1092
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1112
+#: builtin/log.c:1119
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1162
+#: builtin/log.c:1169
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1269 builtin/log.c:1920 builtin/log.c:1922 builtin/log.c:1934
+#: builtin/log.c:1276 builtin/log.c:1927 builtin/log.c:1929 builtin/log.c:1941
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1279 builtin/notes.c:887 builtin/tag.c:516
+#: builtin/log.c:1286 builtin/notes.c:887 builtin/tag.c:516
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/log.c:1284
+#: builtin/log.c:1291
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
-#: builtin/log.c:1288
+#: builtin/log.c:1295
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -9619,328 +9707,332 @@ msgstr ""
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<基线提交> 手动指定一个基线提交。"
 
-#: builtin/log.c:1308
+#: builtin/log.c:1315
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1319
+#: builtin/log.c:1326
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1323
+#: builtin/log.c:1330
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1372
+#: builtin/log.c:1379
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1431
+#: builtin/log.c:1438
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1434
+#: builtin/log.c:1441
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1438
+#: builtin/log.c:1445
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1440
+#: builtin/log.c:1447
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1442
+#: builtin/log.c:1449
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1443
+#: builtin/log.c:1450
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1444
+#: builtin/log.c:1451
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1446
+#: builtin/log.c:1453
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1448
+#: builtin/log.c:1455
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1457
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "使用 [RFC PATCH] 代替 [PATCH]"
 
-#: builtin/log.c:1453
+#: builtin/log.c:1460
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1456
+#: builtin/log.c:1463
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1459
+#: builtin/log.c:1466
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1462
+#: builtin/log.c:1469
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1464
+#: builtin/log.c:1471
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1466
+#: builtin/log.c:1473
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1468
+#: builtin/log.c:1475
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1470
+#: builtin/log.c:1477
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1471
+#: builtin/log.c:1478
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1479
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1473 builtin/log.c:1475
+#: builtin/log.c:1480 builtin/log.c:1482
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1473
+#: builtin/log.c:1480
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1475
+#: builtin/log.c:1482
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1477
+#: builtin/log.c:1484
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1478
+#: builtin/log.c:1485
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1480
+#: builtin/log.c:1487
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1481
+#: builtin/log.c:1488
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1482 builtin/log.c:1485
+#: builtin/log.c:1489 builtin/log.c:1492
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1490
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1486
+#: builtin/log.c:1493
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1490
+#: builtin/log.c:1497
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1492
+#: builtin/log.c:1499
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1493
+#: builtin/log.c:1500
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1494
+#: builtin/log.c:1501
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1495
+#: builtin/log.c:1502
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1497
+#: builtin/log.c:1504
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1498
+#: builtin/log.c:1505
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1500
+#: builtin/log.c:1507
 msgid "show progress while generating patches"
 msgstr "在生成补丁时显示进度"
 
-#: builtin/log.c:1575
+#: builtin/log.c:1582
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1597
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1599
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr "--subject-prefix/--rfc 和 -k 互斥。"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1607
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1609
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1604
+#: builtin/log.c:1611
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1634
+#: builtin/log.c:1641
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1636
+#: builtin/log.c:1643
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1729
+#: builtin/log.c:1736
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1761
+#: builtin/log.c:1768
 msgid "Generating patches"
 msgstr "生成补丁"
 
-#: builtin/log.c:1805
+#: builtin/log.c:1812
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1855
+#: builtin/log.c:1862
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1909
+#: builtin/log.c:1916
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:466
+#: builtin/ls-files.c:468
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:515
+#: builtin/ls-files.c:517
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:519
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:521
+msgid "use lowercase letters for 'fsmonitor clean' files"
+msgstr "使用小写字母表示 'fsmonitor clean' 文件"
+
+#: builtin/ls-files.c:523
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:521
+#: builtin/ls-files.c:525
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:523
+#: builtin/ls-files.c:527
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:525
+#: builtin/ls-files.c:529
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:527
+#: builtin/ls-files.c:531
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:534
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:536
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:538
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:540
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:542
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:541
+#: builtin/ls-files.c:545
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:543
+#: builtin/ls-files.c:547
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:549
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:548
+#: builtin/ls-files.c:552
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:551
+#: builtin/ls-files.c:555
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:553
+#: builtin/ls-files.c:557
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:556
+#: builtin/ls-files.c:560
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:559
+#: builtin/ls-files.c:563
 msgid "recurse through submodules"
 msgstr "在子模组中递归"
 
-#: builtin/ls-files.c:561
+#: builtin/ls-files.c:565
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:562
+#: builtin/ls-files.c:566
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:567
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:569
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -10062,31 +10154,31 @@ msgstr "可用的策略有:"
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:200 builtin/pull.c:134
+#: builtin/merge.c:200 builtin/pull.c:137
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:203 builtin/pull.c:137
+#: builtin/merge.c:203 builtin/pull.c:140
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:204 builtin/pull.c:140
+#: builtin/merge.c:204 builtin/pull.c:143
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:206 builtin/pull.c:143
+#: builtin/merge.c:206 builtin/pull.c:146
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:209 builtin/pull.c:146
+#: builtin/merge.c:209 builtin/pull.c:152
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:211 builtin/pull.c:149
+#: builtin/merge.c:211 builtin/pull.c:155
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:213 builtin/pull.c:152
+#: builtin/merge.c:213 builtin/pull.c:158
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
@@ -10094,28 +10186,28 @@ msgstr "在提交前编辑提交说明"
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:216 builtin/pull.c:158
+#: builtin/merge.c:216 builtin/pull.c:164
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:220 builtin/pull.c:161
+#: builtin/merge.c:220 builtin/pull.c:167
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:221 builtin/notes.c:777 builtin/pull.c:165
+#: builtin/merge.c:221 builtin/notes.c:777 builtin/pull.c:171
 #: builtin/revert.c:109
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:222 builtin/pull.c:166
+#: builtin/merge.c:222 builtin/pull.c:172
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:223 builtin/pull.c:169
+#: builtin/merge.c:223 builtin/pull.c:175
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:224 builtin/pull.c:170
+#: builtin/merge.c:224 builtin/pull.c:176
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
@@ -10131,7 +10223,7 @@ msgstr "放弃当前正在进行的合并"
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
-#: builtin/merge.c:234 builtin/pull.c:177
+#: builtin/merge.c:234 builtin/pull.c:183
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
@@ -10171,41 +10263,41 @@ msgstr "压缩提交 -- 未更新 HEAD\n"
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:456
+#: builtin/merge.c:455
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:546
+#: builtin/merge.c:545
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:666
+#: builtin/merge.c:667
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:680
+#: builtin/merge.c:681
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:695
+#: builtin/merge.c:696
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:747
+#: builtin/merge.c:748
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:756
+#: builtin/merge.c:757
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:762
+#: builtin/merge.c:763
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -10219,68 +10311,68 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:798
+#: builtin/merge.c:799
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:818
+#: builtin/merge.c:819
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:871
+#: builtin/merge.c:872
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:910
+#: builtin/merge.c:911
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:912
+#: builtin/merge.c:913
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:914
+#: builtin/merge.c:915
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:919
+#: builtin/merge.c:920
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:972
+#: builtin/merge.c:973
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1073
+#: builtin/merge.c:1075
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1107
+#: builtin/merge.c:1109
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1172
+#: builtin/merge.c:1174
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1176
+#: builtin/merge.c:1178
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1188
+#: builtin/merge.c:1190
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1192
+#: builtin/merge.c:1194
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1208
+#: builtin/merge.c:1210
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10288,7 +10380,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1215
+#: builtin/merge.c:1217
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10296,112 +10388,112 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1218
+#: builtin/merge.c:1220
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1227
+#: builtin/merge.c:1229
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1235
+#: builtin/merge.c:1237
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1252
+#: builtin/merge.c:1254
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1256
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1259
+#: builtin/merge.c:1261
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1261
+#: builtin/merge.c:1263
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1295
+#: builtin/merge.c:1297
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1298
+#: builtin/merge.c:1300
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1301
+#: builtin/merge.c:1303
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1304
+#: builtin/merge.c:1306
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1368
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1375
+#: builtin/merge.c:1377
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1385
+#: builtin/merge.c:1387
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1426
+#: builtin/merge.c:1428
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1433
+#: builtin/merge.c:1435
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1458
+#: builtin/merge.c:1460
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1464
+#: builtin/merge.c:1466
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1487 builtin/merge.c:1566
+#: builtin/merge.c:1489 builtin/merge.c:1568
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1491
+#: builtin/merge.c:1493
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1557
+#: builtin/merge.c:1559
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1559
+#: builtin/merge.c:1561
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1568
+#: builtin/merge.c:1570
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1580
+#: builtin/merge.c:1582
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -10426,23 +10518,23 @@ msgstr "git merge-base --is-ancestor <提交> <提交>"
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <引用> [<提交>]"
 
-#: builtin/merge-base.c:218
+#: builtin/merge-base.c:220
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
-#: builtin/merge-base.c:220
+#: builtin/merge-base.c:222
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:224
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
-#: builtin/merge-base.c:224
+#: builtin/merge-base.c:226
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
-#: builtin/merge-base.c:226
+#: builtin/merge-base.c:228
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
@@ -10719,8 +10811,8 @@ msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <注解引用>] remove [<对象>...]"
 
 #: builtin/notes.c:36
-msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
-msgstr "git notes [--ref <注解引用>] prune [-n | -v]"
+msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
+msgstr "git notes [--ref <注解引用>] prune [-n] [-v]"
 
 #: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] get-ref"
@@ -11052,7 +11144,7 @@ msgstr "尝试删除不存在的注解不是一个错误"
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:943 builtin/prune.c:105 builtin/worktree.c:146
+#: builtin/notes.c:943 builtin/prune.c:105 builtin/worktree.c:158
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
@@ -11073,184 +11165,192 @@ msgstr "从 <注解引用> 使用注解"
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:31
+#: builtin/pack-objects.c:33
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:32
+#: builtin/pack-objects.c:34
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:181 builtin/pack-objects.c:184
+#: builtin/pack-objects.c:192 builtin/pack-objects.c:195
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:788
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:790
+#: builtin/pack-objects.c:801
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1070
+#: builtin/pack-objects.c:1081
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2440
+#: builtin/pack-objects.c:2451
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2849
+#: builtin/pack-objects.c:2599
+msgid "invalid value for --missing"
+msgstr "选项 --missing 的值无效"
+
+#: builtin/pack-objects.c:2902
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2853
+#: builtin/pack-objects.c:2906
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2883
+#: builtin/pack-objects.c:2936
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2885
+#: builtin/pack-objects.c:2938
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2887
+#: builtin/pack-objects.c:2940
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2890
+#: builtin/pack-objects.c:2943
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2891
+#: builtin/pack-objects.c:2944
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2892
+#: builtin/pack-objects.c:2945
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2895
+#: builtin/pack-objects.c:2948
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2897
+#: builtin/pack-objects.c:2950
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2899
+#: builtin/pack-objects.c:2952
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2901
+#: builtin/pack-objects.c:2954
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2903
+#: builtin/pack-objects.c:2956
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2905
+#: builtin/pack-objects.c:2958
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2907
+#: builtin/pack-objects.c:2960
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2909
+#: builtin/pack-objects.c:2962
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2911
+#: builtin/pack-objects.c:2964
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2913
+#: builtin/pack-objects.c:2966
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2915
+#: builtin/pack-objects.c:2968
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2917
+#: builtin/pack-objects.c:2970
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2919
+#: builtin/pack-objects.c:2972
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2922
+#: builtin/pack-objects.c:2975
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2925
+#: builtin/pack-objects.c:2978
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2928
+#: builtin/pack-objects.c:2981
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2931
+#: builtin/pack-objects.c:2984
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2933
+#: builtin/pack-objects.c:2986
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2935
+#: builtin/pack-objects.c:2988
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2937
+#: builtin/pack-objects.c:2990
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:2939
+#: builtin/pack-objects.c:2992
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2942
+#: builtin/pack-objects.c:2995
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2944
+#: builtin/pack-objects.c:2997
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:2946
+#: builtin/pack-objects.c:2999
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2948
+#: builtin/pack-objects.c:3001
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2950
+#: builtin/pack-objects.c:3003
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2952
+#: builtin/pack-objects.c:3005
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2954
+#: builtin/pack-objects.c:3007
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:3081
+#: builtin/pack-objects.c:3010
+msgid "handling for missing objects"
+msgstr "处理丢失的对象"
+
+#: builtin/pack-objects.c:3144
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -11275,8 +11375,8 @@ msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
 
 #: builtin/prune.c:11
-msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
-msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
+msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<head>...]"
 
 #: builtin/prune.c:106
 msgid "report pruned objects"
@@ -11299,57 +11399,57 @@ msgstr "%s 的值无效:%s"
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:124
+#: builtin/pull.c:127
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
-#: builtin/pull.c:128
+#: builtin/pull.c:131
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:131
+#: builtin/pull.c:134
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:155 builtin/rebase--helper.c:21 builtin/revert.c:121
+#: builtin/pull.c:161 builtin/rebase--helper.c:23 builtin/revert.c:121
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:164
+#: builtin/pull.c:170
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/pull.c:180
+#: builtin/pull.c:186
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:198
+#: builtin/pull.c:204
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:287
+#: builtin/pull.c:299
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:403
+#: builtin/pull.c:415
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:405
+#: builtin/pull.c:417
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:406
+#: builtin/pull.c:418
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:409
+#: builtin/pull.c:421
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -11359,42 +11459,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:414 git-parse-remote.sh:73
+#: builtin/pull.c:426 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:416 builtin/pull.c:431 git-parse-remote.sh:79
+#: builtin/pull.c:428 builtin/pull.c:443 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:418 builtin/pull.c:433 git-parse-remote.sh:82
+#: builtin/pull.c:430 builtin/pull.c:445 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:419 builtin/pull.c:434
+#: builtin/pull.c:431 builtin/pull.c:446
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:421 builtin/pull.c:427 builtin/pull.c:436
+#: builtin/pull.c:433 builtin/pull.c:439 builtin/pull.c:448
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:421 builtin/pull.c:436 builtin/pull.c:441 git-rebase.sh:466
+#: builtin/pull.c:433 builtin/pull.c:448 builtin/pull.c:453 git-rebase.sh:466
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:429 git-parse-remote.sh:75
+#: builtin/pull.c:441 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:438 git-parse-remote.sh:95
+#: builtin/pull.c:450 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
-#: builtin/pull.c:443
+#: builtin/pull.c:455
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -11403,27 +11503,27 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:796
+#: builtin/pull.c:817
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:844
+#: builtin/pull.c:865
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
 
-#: builtin/pull.c:852
+#: builtin/pull.c:873
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:855
+#: builtin/pull.c:876
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:856
+#: builtin/pull.c:877
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:881
+#: builtin/pull.c:902
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -11433,7 +11533,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:886
+#: builtin/pull.c:907
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -11450,15 +11550,15 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:901
+#: builtin/pull.c:922
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:905
+#: builtin/pull.c:926
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:912
+#: builtin/pull.c:933
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
@@ -11466,15 +11566,15 @@ msgstr "本地子模组中有修改,无法变基"
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/push.c:90
+#: builtin/push.c:92
 msgid "tag shorthand without <tag>"
 msgstr "标签后面未提供 <标签> 参数"
 
-#: builtin/push.c:100
+#: builtin/push.c:102
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete 只接受简单的目标引用名"
 
-#: builtin/push.c:144
+#: builtin/push.c:146
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -11482,7 +11582,7 @@ msgstr ""
 "\n"
 "为了永久地选择任一选项,参见 'git help config' 中的 push.default。"
 
-#: builtin/push.c:147
+#: builtin/push.c:149
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -11506,7 +11606,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:162
+#: builtin/push.c:164
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -11520,7 +11620,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<远程分支名字>\n"
 
-#: builtin/push.c:176
+#: builtin/push.c:178
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -11533,12 +11633,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:184
+#: builtin/push.c:186
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "当前分支 %s 有多个上游分支,拒绝推送。"
 
-#: builtin/push.c:187
+#: builtin/push.c:189
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -11548,12 +11648,12 @@ msgstr ""
 "您正推送至远程 '%s'(其并非当前分支 '%s' 的上游),\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#: builtin/push.c:246
+#: builtin/push.c:248
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "您没有为推送指定任何引用规格,并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:253
+#: builtin/push.c:255
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -11564,7 +11664,7 @@ msgstr ""
 "再次推送前,先与远程变更合并(如 'git pull ...')。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:259
+#: builtin/push.c:261
 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"
@@ -11575,7 +11675,7 @@ msgstr ""
 "检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:265
+#: builtin/push.c:267
 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"
@@ -11588,11 +11688,11 @@ msgstr ""
 "(如 'git pull ...')。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:272
+#: builtin/push.c:274
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "更新被拒绝,因为该标签在远程已经存在。"
 
-#: builtin/push.c:275
+#: builtin/push.c:277
 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"
@@ -11601,22 +11701,22 @@ msgstr ""
 "如果不使用 '--force' 参数,您不能更新一个指向非提交对象的远程引用,\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:335
+#: builtin/push.c:337
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:339
+#: builtin/push.c:341
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:370
+#: builtin/push.c:372
 #, c-format
 msgid "bad repository '%s'"
 msgstr "坏的仓库 '%s'"
 
-#: builtin/push.c:371
+#: builtin/push.c:373
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -11637,112 +11737,112 @@ msgstr ""
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:389
+#: builtin/push.c:391
 msgid "--all and --tags are incompatible"
 msgstr "--all 和 --tags 不兼容"
 
-#: builtin/push.c:390
+#: builtin/push.c:392
 msgid "--all can't be combined with refspecs"
 msgstr "--all 不能和引用规格同时使用"
 
-#: builtin/push.c:395
+#: builtin/push.c:397
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 和 --tags 不兼容"
 
-#: builtin/push.c:396
+#: builtin/push.c:398
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror 不能和引用规格同时使用"
 
-#: builtin/push.c:401
+#: builtin/push.c:403
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:523
+#: builtin/push.c:535
 msgid "repository"
 msgstr "仓库"
 
-#: builtin/push.c:524 builtin/send-pack.c:163
+#: builtin/push.c:536 builtin/send-pack.c:163
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:525 builtin/send-pack.c:165
+#: builtin/push.c:537 builtin/send-pack.c:165
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:527
+#: builtin/push.c:539
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:528
+#: builtin/push.c:540
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送标签(不能使用 --all or --mirror)"
 
-#: builtin/push.c:531 builtin/send-pack.c:166
+#: builtin/push.c:543 builtin/send-pack.c:166
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:533 builtin/send-pack.c:180
+#: builtin/push.c:545 builtin/send-pack.c:180
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:534 builtin/send-pack.c:181
+#: builtin/push.c:546 builtin/send-pack.c:181
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:537
+#: builtin/push.c:549
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:539 builtin/send-pack.c:174
+#: builtin/push.c:551 builtin/send-pack.c:174
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:540 builtin/push.c:541 builtin/send-pack.c:160
+#: builtin/push.c:552 builtin/push.c:553 builtin/send-pack.c:160
 #: builtin/send-pack.c:161
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:542
+#: builtin/push.c:554
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:545
+#: builtin/push.c:557
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:547
+#: builtin/push.c:559
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:548
+#: builtin/push.c:560
 msgid "push missing but relevant tags"
 msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:551 builtin/send-pack.c:168
+#: builtin/push.c:563 builtin/send-pack.c:168
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:553 builtin/send-pack.c:175
+#: builtin/push.c:565 builtin/send-pack.c:175
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:554 builtin/send-pack.c:171
+#: builtin/push.c:566 builtin/send-pack.c:171
 msgid "server-specific"
 msgstr "server-specific"
 
-#: builtin/push.c:554 builtin/send-pack.c:172
+#: builtin/push.c:566 builtin/send-pack.c:172
 msgid "option to transmit"
 msgstr "传输选项"
 
-#: builtin/push.c:568
+#: builtin/push.c:583
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:570
+#: builtin/push.c:585
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
-#: builtin/push.c:589
+#: builtin/push.c:604
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
@@ -11824,47 +11924,51 @@ msgstr "调试 unpack-trees"
 msgid "git rebase--helper [<options>]"
 msgstr "git rebase--helper [<选项>]"
 
-#: builtin/rebase--helper.c:22
+#: builtin/rebase--helper.c:24
 msgid "keep empty commits"
 msgstr "保持空提交"
 
-#: builtin/rebase--helper.c:23
+#: builtin/rebase--helper.c:25
 msgid "continue rebase"
 msgstr "继续变基"
 
-#: builtin/rebase--helper.c:25
+#: builtin/rebase--helper.c:27
 msgid "abort rebase"
 msgstr "中止变基"
 
-#: builtin/rebase--helper.c:28
+#: builtin/rebase--helper.c:30
 msgid "make rebase script"
 msgstr "制作变基脚本"
 
-#: builtin/rebase--helper.c:30
-msgid "shorten SHA-1s in the todo list"
-msgstr "缩短待办列表中的哈希值"
-
 #: builtin/rebase--helper.c:32
-msgid "expand SHA-1s in the todo list"
-msgstr "扩展待办列表中的哈希值"
+msgid "shorten commit ids in the todo list"
+msgstr "缩短待办列表中的提交号"
 
 #: builtin/rebase--helper.c:34
+msgid "expand commit ids in the todo list"
+msgstr "扩展待办列表中的提交号"
+
+#: builtin/rebase--helper.c:36
 msgid "check the todo list"
 msgstr "检查待办列表"
 
-#: builtin/rebase--helper.c:36
+#: builtin/rebase--helper.c:38
 msgid "skip unnecessary picks"
 msgstr "跳过不必要的拣选"
 
-#: builtin/rebase--helper.c:38
+#: builtin/rebase--helper.c:40
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
-#: builtin/receive-pack.c:29
+#: builtin/rebase--helper.c:42
+msgid "insert exec commands in todo list"
+msgstr "在待办列表中插入 exec 执行命令"
+
+#: builtin/receive-pack.c:30
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
-#: builtin/receive-pack.c:839
+#: builtin/receive-pack.c:840
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -11890,7 +11994,7 @@ msgstr ""
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
-#: builtin/receive-pack.c:859
+#: builtin/receive-pack.c:860
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -11909,20 +12013,15 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:1932
+#: builtin/receive-pack.c:1933
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1946
+#: builtin/receive-pack.c:1947
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
-#: builtin/reflog.c:424
-#, c-format
-msgid "'%s' for '%s' is not a valid timestamp"
-msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
-
-#: builtin/reflog.c:541 builtin/reflog.c:546
+#: builtin/reflog.c:531 builtin/reflog.c:536
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' 不是一个有效的时间戳"
@@ -12523,7 +12622,7 @@ msgstr "不能删除珍品仓库中的打包文件"
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:406 builtin/worktree.c:134
+#: builtin/repack.c:406 builtin/worktree.c:146
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "无法删除 '%s'"
@@ -12748,10 +12847,23 @@ msgstr "不能重置索引文件至版本 '%s'。"
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:361
+#: builtin/rev-list.c:399
+msgid "object filtering requires --objects"
+msgstr "对象过滤需要 --objects"
+
+#: builtin/rev-list.c:402
+#, c-format
+msgid "invalid sparse value '%s'"
+msgstr "无效的稀疏值 '%s'"
+
+#: builtin/rev-list.c:442
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
+#: builtin/rev-list.c:445
+msgid "cannot combine --use-bitmap-index with object filtering"
+msgstr "不能将 --use-bitmap-index 和对象过滤组合使用"
+
 #: builtin/rev-parse.c:402
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
@@ -13193,115 +13305,143 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1094
+#: builtin/submodule--helper.c:34 builtin/submodule--helper.c:1332
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1103
+#: builtin/submodule--helper.c:41 builtin/submodule--helper.c:1341
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 
-#: builtin/submodule--helper.c:71
+#: builtin/submodule--helper.c:81
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:302 builtin/submodule--helper.c:623
+#: builtin/submodule--helper.c:370 builtin/submodule--helper.c:861
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:307
+#: builtin/submodule--helper.c:375
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:350 builtin/submodule--helper.c:374
+#: builtin/submodule--helper.c:426 builtin/submodule--helper.c:449
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:389
+#: builtin/submodule--helper.c:464
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:400
+#: builtin/submodule--helper.c:475
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:404
+#: builtin/submodule--helper.c:479
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:414
+#: builtin/submodule--helper.c:489
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:421
+#: builtin/submodule--helper.c:496
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:437
+#: builtin/submodule--helper.c:518
 msgid "Suppress output for initializing a submodule"
-msgstr "å\88\9då§\8bå\8c\96å­\90模ç»\84æ\97¶æ\8a\91å\88输出"
+msgstr "å\8f\96æ¶\88å­\90模ç»\84å\88\9då§\8bå\8c\96ç\9a\84输出"
 
-#: builtin/submodule--helper.c:442
+#: builtin/submodule--helper.c:523
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:470
-msgid "git submodule--helper name <path>"
-msgstr "git submodule--helper name <路径>"
-
-#: builtin/submodule--helper.c:475
+#: builtin/submodule--helper.c:591 builtin/submodule--helper.c:713
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:558 builtin/submodule--helper.c:561
+#: builtin/submodule--helper.c:626
+#, c-format
+msgid "could not resolve HEAD ref inside the submodule '%s'"
+msgstr "无法解析子模组 '%s' 的 HEAD 引用"
+
+#: builtin/submodule--helper.c:653
+#, c-format
+msgid "failed to recurse into submodule '%s'"
+msgstr "无法递归子模组 '%s'"
+
+#: builtin/submodule--helper.c:677
+msgid "Suppress submodule status output"
+msgstr "取消子模组状态输出"
+
+#: builtin/submodule--helper.c:678
+msgid ""
+"Use commit stored in the index instead of the one stored in the submodule "
+"HEAD"
+msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
+
+#: builtin/submodule--helper.c:679
+msgid "recurse into nested submodules"
+msgstr "在嵌套子模组中递归"
+
+#: builtin/submodule--helper.c:684
+msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
+msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
+
+#: builtin/submodule--helper.c:708
+msgid "git submodule--helper name <path>"
+msgstr "git submodule--helper name <路径>"
+
+#: builtin/submodule--helper.c:796 builtin/submodule--helper.c:799
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:597
+#: builtin/submodule--helper.c:835
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:604
+#: builtin/submodule--helper.c:842
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:626
+#: builtin/submodule--helper.c:864
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:867
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:632
+#: builtin/submodule--helper.c:870
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:638
+#: builtin/submodule--helper.c:876
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:641 builtin/submodule--helper.c:1012
+#: builtin/submodule--helper.c:879 builtin/submodule--helper.c:1250
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:646
+#: builtin/submodule--helper.c:884
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -13309,102 +13449,102 @@ msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:677
+#: builtin/submodule--helper.c:915
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:692
+#: builtin/submodule--helper.c:930
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:757
+#: builtin/submodule--helper.c:995
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:761
+#: builtin/submodule--helper.c:999
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:790
+#: builtin/submodule--helper.c:1028
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:819
+#: builtin/submodule--helper.c:1057
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:952
+#: builtin/submodule--helper.c:1190
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:963
+#: builtin/submodule--helper.c:1201
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:993 builtin/submodule--helper.c:1213
+#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1451
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:996
+#: builtin/submodule--helper.c:1234
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:1000
+#: builtin/submodule--helper.c:1238
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:1004
+#: builtin/submodule--helper.c:1242
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:1007
+#: builtin/submodule--helper.c:1245
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1009
+#: builtin/submodule--helper.c:1247
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:1010
+#: builtin/submodule--helper.c:1248
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1017
+#: builtin/submodule--helper.c:1255
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:1030
+#: builtin/submodule--helper.c:1268
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1098
+#: builtin/submodule--helper.c:1336
 #, 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:1214
+#: builtin/submodule--helper.c:1452
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:1220
+#: builtin/submodule--helper.c:1458
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<路径>...]"
 
-#: builtin/submodule--helper.c:1278
+#: builtin/submodule--helper.c:1517
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:1284
+#: builtin/submodule--helper.c:1523
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -13643,199 +13783,215 @@ msgstr "已更新标签 '%s'(曾为 %s)\n"
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
-#: builtin/update-index.c:80
+#: builtin/update-index.c:82
 #, c-format
 msgid "failed to create directory %s"
 msgstr "无法创建目录 %s"
 
-#: builtin/update-index.c:86
+#: builtin/update-index.c:88
 #, c-format
 msgid "failed to stat %s"
 msgstr "对 %s 调用 stat 失败"
 
-#: builtin/update-index.c:96
+#: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
 msgstr "无法创建文件 %s"
 
-#: builtin/update-index.c:104
+#: builtin/update-index.c:106
 #, c-format
 msgid "failed to delete file %s"
 msgstr "无法删除文件 %s"
 
-#: builtin/update-index.c:111 builtin/update-index.c:217
+#: builtin/update-index.c:113 builtin/update-index.c:219
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "无法删除目录 %s"
 
-#: builtin/update-index.c:136
+#: builtin/update-index.c:138
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "在 '%s' 中测试 mtime "
 
-#: builtin/update-index.c:150
+#: builtin/update-index.c:152
 msgid "directory stat info does not change after adding a new file"
 msgstr "添加一个新文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:163
+#: builtin/update-index.c:165
 msgid "directory stat info does not change after adding a new directory"
 msgstr "添加一个新目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:176
+#: builtin/update-index.c:178
 msgid "directory stat info changes after updating a file"
 msgstr "更新一个文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:187
+#: builtin/update-index.c:189
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr "在子目录中添加文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:198
+#: builtin/update-index.c:200
 msgid "directory stat info does not change after deleting a file"
 msgstr "删除一个文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:211
+#: builtin/update-index.c:213
 msgid "directory stat info does not change after deleting a directory"
 msgstr "删除一个目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:218
+#: builtin/update-index.c:220
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:571
+#: builtin/update-index.c:579
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:926
+#: builtin/update-index.c:936
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:929
+#: builtin/update-index.c:939
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:932
+#: builtin/update-index.c:942
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:934
+#: builtin/update-index.c:944
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:936
+#: builtin/update-index.c:946
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:948
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:941
+#: builtin/update-index.c:951
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:945
+#: builtin/update-index.c:955
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:949
+#: builtin/update-index.c:959
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:950
+#: builtin/update-index.c:960
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:959
+#: builtin/update-index.c:969
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:962
+#: builtin/update-index.c:972
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:975
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:968
+#: builtin/update-index.c:978
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:981
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:973
+#: builtin/update-index.c:983
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:985
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:987
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:991
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:995
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:999
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:1003
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1006
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1008
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1002
+#: builtin/update-index.c:1012
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1004
+#: builtin/update-index.c:1014
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:1016
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1018
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1010
+#: builtin/update-index.c:1020
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1107
+#: builtin/update-index.c:1022
+msgid "write out the index even if is not flagged as changed"
+msgstr "即使没有被标记为已更改,也要写出索引"
+
+#: builtin/update-index.c:1024
+msgid "enable or disable file system monitor"
+msgstr "启用或禁用文件系统监控"
+
+#: builtin/update-index.c:1026
+msgid "mark files as fsmonitor valid"
+msgstr "标记文件为 fsmonitor 有效"
+
+#: builtin/update-index.c:1029
+msgid "clear fsmonitor valid bit"
+msgstr "清除 fsmonitor 有效位"
+
+#: builtin/update-index.c:1127
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 "core.splitIndex 被设置为 false。如果您确实要启用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1116
+#: builtin/update-index.c:1136
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 "core.splitIndex 被设置为 true。如果您确实要禁用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1127
+#: builtin/update-index.c:1147
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13843,11 +13999,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1131
+#: builtin/update-index.c:1151
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1139
+#: builtin/update-index.c:1159
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13855,11 +14011,28 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1143
+#: builtin/update-index.c:1163
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
+#: builtin/update-index.c:1171
+msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
+msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置"
+
+#: builtin/update-index.c:1175
+msgid "fsmonitor enabled"
+msgstr "fsmonitor 被启用"
+
+#: builtin/update-index.c:1178
+msgid ""
+"core.fsmonitor is set; remove it if you really want to disable fsmonitor"
+msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除设置"
+
+#: builtin/update-index.c:1182
+msgid "fsmonitor disabled"
+msgstr "fsmonitor 被禁用"
+
 #: builtin/update-ref.c:10
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [<选项>] -d <引用名> [<旧值>]"
@@ -13928,129 +14101,141 @@ msgstr "git verify-tag [-v | --verbose] [--format=<格式>] <标签>..."
 msgid "print tag contents"
 msgstr "打印标签内容"
 
-#: builtin/worktree.c:16
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<branch>]"
 msgstr "git worktree add [<选项>] <路径> [<分支>]"
 
-#: builtin/worktree.c:17
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<选项>]"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<选项>] <路径>"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:20
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<选项>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:21
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
-#: builtin/worktree.c:46
+#: builtin/worktree.c:58
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
-#: builtin/worktree.c:52
+#: builtin/worktree.c:64
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
-#: builtin/worktree.c:57 builtin/worktree.c:66
+#: builtin/worktree.c:69 builtin/worktree.c:78
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
-#: builtin/worktree.c:76
+#: builtin/worktree.c:88
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr "删除工作树/%s:读取过短(期望 %<PRIuMAX> 字节,读取 %<PRIuMAX>)"
 
-#: builtin/worktree.c:84
+#: builtin/worktree.c:96
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
-#: builtin/worktree.c:100
+#: builtin/worktree.c:112
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
-#: builtin/worktree.c:147
+#: builtin/worktree.c:159
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
-#: builtin/worktree.c:149
+#: builtin/worktree.c:161
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
-#: builtin/worktree.c:223
+#: builtin/worktree.c:236
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:254
+#: builtin/worktree.c:267
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:293
+#: builtin/worktree.c:306
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr "准备 %s(标识符 %s)"
 
-#: builtin/worktree.c:345
+#: builtin/worktree.c:368
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:347
+#: builtin/worktree.c:370
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:349
+#: builtin/worktree.c:372
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:351
+#: builtin/worktree.c:374
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:352
+#: builtin/worktree.c:375
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:360
+#: builtin/worktree.c:377
+msgid "set up tracking mode (see git-branch(1))"
+msgstr "设置跟踪模式(参见 git-branch(1))"
+
+#: builtin/worktree.c:380
+msgid "try to match the new branch name with a remote-tracking branch"
+msgstr "尝试为新分支名匹配一个远程跟踪分支"
+
+#: builtin/worktree.c:388
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:499
+#: builtin/worktree.c:453
+msgid "--[no-]track can only be used if a new branch is created"
+msgstr "只能在创建新分支时使用选项 --[no-]track "
+
+#: builtin/worktree.c:553
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:511 builtin/worktree.c:544
+#: builtin/worktree.c:565 builtin/worktree.c:598
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:513 builtin/worktree.c:546
+#: builtin/worktree.c:567 builtin/worktree.c:600
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:518
+#: builtin/worktree.c:572
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:520
+#: builtin/worktree.c:574
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:548
+#: builtin/worktree.c:602
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
@@ -14071,23 +14256,23 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: upload-pack.c:23
+#: upload-pack.c:24
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
-#: upload-pack.c:1040
+#: upload-pack.c:1041
 msgid "quit after a single request/response exchange"
 msgstr "在一次单独的请求/响应(request/response)交换后退出"
 
-#: upload-pack.c:1042
+#: upload-pack.c:1043
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
 
-#: upload-pack.c:1044
+#: upload-pack.c:1045
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "如果 <目录> 不是一个 Git 目录,不要尝试 <目录>/.git/"
 
-#: upload-pack.c:1046
+#: upload-pack.c:1047
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
@@ -14118,20 +14303,20 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: http.c:338
+#: http.c:339
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr "http.postbuffer 为负值,默认为 %d"
 
-#: http.c:359
+#: http.c:360
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "当 cURL < 7.22.0 时,不支持委托控制"
 
-#: http.c:368
+#: http.c:369
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
-#: http.c:1768
+#: http.c:1791
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -14147,6 +14332,14 @@ msgstr ""
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
 
+#: list-objects-filter-options.h:54
+msgid "args"
+msgstr "参数"
+
+#: list-objects-filter-options.h:55
+msgid "object filtering"
+msgstr "对象过滤"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "开始一个工作区(参见:git help tutorial)"
@@ -14320,27 +14513,27 @@ msgstr "坏的 HEAD - 奇怪的符号引用"
 msgid "Bad bisect_write argument: $state"
 msgstr "坏的 bisect_write 参数:$state"
 
-#: git-bisect.sh:262
+#: git-bisect.sh:246
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "坏的输入版本:$arg"
 
-#: git-bisect.sh:281
+#: git-bisect.sh:265
 #, sh-format
 msgid "Bad rev input: $bisected_head"
 msgstr "坏的输入版本:$bisected_head"
 
-#: git-bisect.sh:290
+#: git-bisect.sh:274
 #, sh-format
 msgid "Bad rev input: $rev"
 msgstr "坏的输入版本:$rev"
 
-#: git-bisect.sh:299
+#: git-bisect.sh:283
 #, sh-format
 msgid "'git bisect $TERM_BAD' can take only one argument."
 msgstr "'git bisect $TERM_BAD' 只能带一个参数。"
 
-#: git-bisect.sh:322
+#: git-bisect.sh:306
 #, sh-format
 msgid "Warning: bisecting only with a $TERM_BAD commit."
 msgstr "警告:在仅有一个坏($TERM_BAD)提交下进行二分查找。"
@@ -14349,11 +14542,11 @@ msgstr "警告:在仅有一个坏($TERM_BAD)提交下进行二分查找。
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:328
+#: git-bisect.sh:312
 msgid "Are you sure [Y/n]? "
 msgstr "您确认么[Y/n]? "
 
-#: git-bisect.sh:340
+#: git-bisect.sh:324
 #, sh-format
 msgid ""
 "You need to give me at least one $bad_syn and one $good_syn revision.\n"
@@ -14362,7 +14555,7 @@ msgstr ""
 "您需要给我至少一个好版本和一个坏版本。\n"
 "(为此您可以用 \"git bisect $bad_syn\" 和 \"git bisect $good_syn\" 命令。)"
 
-#: git-bisect.sh:343
+#: git-bisect.sh:327
 #, sh-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -14373,16 +14566,16 @@ msgstr ""
 "然后需要提供我至少一个好版本和一个坏版本。\n"
 "(为此您可以用 \"git bisect $bad_syn\" 和 \"git bisect $good_syn\" 命令。)"
 
-#: git-bisect.sh:414 git-bisect.sh:546
+#: git-bisect.sh:398 git-bisect.sh:512
 msgid "We are not bisecting."
 msgstr "我们没有在二分查找。"
 
-#: git-bisect.sh:421
+#: git-bisect.sh:405
 #, sh-format
 msgid "'$invalid' is not a valid commit"
 msgstr "'$invalid' 不是一个有效的提交"
 
-#: git-bisect.sh:430
+#: git-bisect.sh:414
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
@@ -14391,25 +14584,29 @@ msgstr ""
 "不能检出原始 HEAD '$branch'。\n"
 "尝试 'git bisect reset <提交>'。"
 
-#: git-bisect.sh:458
+#: git-bisect.sh:422
 msgid "No logfile given"
 msgstr "未提供日志文件"
 
-#: git-bisect.sh:459
+#: git-bisect.sh:423
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "不能读取 $file 来重放"
 
-#: git-bisect.sh:480
+#: git-bisect.sh:444
 msgid "?? what are you talking about?"
 msgstr "?? 您在说什么?"
 
-#: git-bisect.sh:492
+#: git-bisect.sh:453
+msgid "bisect run failed: no command provided."
+msgstr "二分查找运行失败:没有提供命令。"
+
+#: git-bisect.sh:458
 #, sh-format
 msgid "running $command"
 msgstr "运行 $command"
 
-#: git-bisect.sh:499
+#: git-bisect.sh:465
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -14418,11 +14615,11 @@ msgstr ""
 "二分查找运行失败:\n"
 "命令 '$command' 的退出码 $res 小于 0 或大于等于 128"
 
-#: git-bisect.sh:525
+#: git-bisect.sh:491
 msgid "bisect run cannot continue any more"
 msgstr "二分查找不能继续运行"
 
-#: git-bisect.sh:531
+#: git-bisect.sh:497
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -14431,39 +14628,20 @@ msgstr ""
 "二分查找运行失败:\n"
 "'bisect_state $state' 退出码为 $res"
 
-#: git-bisect.sh:538
+#: git-bisect.sh:504
 msgid "bisect run success"
 msgstr "二分查找运行成功"
 
-#: git-bisect.sh:565
-msgid "please use two different terms"
-msgstr "请使用两个不同的术语"
-
-#: git-bisect.sh:575
-#, sh-format
-msgid "'$term' is not a valid term"
-msgstr "'$term' 不是一个有效的名称"
-
-#: git-bisect.sh:578
-#, sh-format
-msgid "can't use the builtin command '$term' as a term"
-msgstr "不能使用内置命令 '$term' 作为术语"
-
-#: git-bisect.sh:587 git-bisect.sh:593
-#, sh-format
-msgid "can't change the meaning of term '$term'"
-msgstr "不能修改术语 '$term' 的含义"
-
-#: git-bisect.sh:606
+#: git-bisect.sh:533
 #, sh-format
 msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
 msgstr "无效的命令:您当前正处于一个 $TERM_BAD/$TERM_GOOD 二分查找。"
 
-#: git-bisect.sh:636
+#: git-bisect.sh:567
 msgid "no terms defined"
 msgstr "未定义术语"
 
-#: git-bisect.sh:653
+#: git-bisect.sh:584
 #, sh-format
 msgid ""
 "invalid argument $arg for 'git bisect terms'.\n"
@@ -14542,8 +14720,8 @@ msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
 #: git-rebase.sh:219
-msgid "It looks like git-am is in progress. Cannot rebase."
-msgstr "似乎正处于在 git-am 的执行过程中。无法变基。"
+msgid "It looks like 'git am' is in progress. Cannot rebase."
+msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
 #: git-rebase.sh:363
 msgid "No rebase in progress?"
@@ -14586,8 +14764,8 @@ msgstr ""
 
 #: git-rebase.sh:480
 #, sh-format
-msgid "invalid upstream $upstream_name"
-msgstr "无效的上游 $upstream_name"
+msgid "invalid upstream '$upstream_name'"
+msgstr "无效的上游 '$upstream_name'"
 
 #: git-rebase.sh:504
 #, sh-format
@@ -14604,44 +14782,54 @@ msgstr "$onto_name: 没有合并基准"
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:539
+#: git-rebase.sh:542
 #, sh-format
-msgid "fatal: no such branch: $branch_name"
-msgstr "严重错误:无此分支:$branch_name"
+msgid "fatal: no such branch/commit '$branch_name'"
+msgstr "严重错误:无此分支/提交 '$branch_name'"
 
-#: git-rebase.sh:572
+#: git-rebase.sh:575
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:577
+#: git-rebase.sh:580
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:581
+#: git-rebase.sh:584
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: git-rebase.sh:601
+#: git-rebase.sh:607
+#, sh-format
+msgid "HEAD is up to date."
+msgstr "HEAD 是最新的。"
+
+#: git-rebase.sh:609
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:605
+#: git-rebase.sh:617
+#, sh-format
+msgid "HEAD is up to date, rebase forced."
+msgstr "HEAD 是最新的,强制变基。"
+
+#: git-rebase.sh:619
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:616
+#: git-rebase.sh:631
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:625
+#: git-rebase.sh:640
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:635
+#: git-rebase.sh:650
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -14650,159 +14838,145 @@ msgstr "快进 $branch_name 至 $onto_name。"
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash clear 不支持参数"
 
-#: git-stash.sh:102
+#: git-stash.sh:108
 msgid "You do not have the initial commit yet"
 msgstr "您尚未建立初始提交"
 
-#: git-stash.sh:117
+#: git-stash.sh:123
 msgid "Cannot save the current index state"
 msgstr "无法保存当前索引状态"
 
-#: git-stash.sh:132
+#: git-stash.sh:138
 msgid "Cannot save the untracked files"
 msgstr "无法保存未跟踪文件"
 
-#: git-stash.sh:152 git-stash.sh:165
+#: git-stash.sh:158 git-stash.sh:171
 msgid "Cannot save the current worktree state"
 msgstr "无法保存当前工作区状态"
 
-#: git-stash.sh:169
+#: git-stash.sh:175
 msgid "No changes selected"
 msgstr "没有选择变更"
 
-#: git-stash.sh:172
+#: git-stash.sh:178
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "无法删除临时索引(不应发生)"
 
-#: git-stash.sh:185
+#: git-stash.sh:191
 msgid "Cannot record working tree state"
 msgstr "不能记录工作区状态"
 
-#: git-stash.sh:217
+#: git-stash.sh:229
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "无法用 $w_commit 更新 $ref_stash"
 
-#. TRANSLATORS: $option is an invalid option, like
-#. `--blah-blah'. The 7 spaces at the beginning of the
-#. second line correspond to "error: ". So you should line
-#. up the second line with however many characters the
-#. translation of "error: " takes in your language. E.g. in
-#. English this is:
-#.
-#. $ git stash save --blah-blah 2>&1 | head -n 2
-#. error: unknown option for 'stash save': --blah-blah
-#. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:273
+#: git-stash.sh:281
 #, sh-format
-msgid ""
-"error: unknown option for 'stash save': $option\n"
-"       To provide a message, use git stash save -- '$option'"
-msgstr ""
-"错误:'stash save' 的未知选项:$option\n"
-"      要提供一个描述信息,使用 git stash save -- '$option'"
+msgid "error: unknown option for 'stash push': $option"
+msgstr "错误:'stash push' 的未知选项:$option"
 
-#: git-stash.sh:288
+#: git-stash.sh:295
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
 
-#: git-stash.sh:296
+#: git-stash.sh:303
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
 
-#: git-stash.sh:301
+#: git-stash.sh:308
 msgid "Cannot initialize stash"
 msgstr "无法初始化贮藏"
 
-#: git-stash.sh:305
+#: git-stash.sh:312
 msgid "Cannot save the current status"
 msgstr "无法保存当前状态"
 
-#: git-stash.sh:306
+#: git-stash.sh:313
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "保存工作目录和索引状态 $stash_msg"
 
-#: git-stash.sh:334
+#: git-stash.sh:341
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: git-stash.sh:482
+#: git-stash.sh:489
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-stash.sh:495
+#: git-stash.sh:502
 msgid "No stash entries found."
 msgstr "未发现贮藏条目。"
 
-#: git-stash.sh:502
+#: git-stash.sh:509
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-stash.sh:517
+#: git-stash.sh:524
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-stash.sh:545
+#: git-stash.sh:552
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是贮藏式提交"
 
-#: git-stash.sh:556
+#: git-stash.sh:563
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个贮藏引用"
 
-#: git-stash.sh:564
+#: git-stash.sh:571
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-stash.sh:568
+#: git-stash.sh:575
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程应用贮藏"
 
-#: git-stash.sh:576
+#: git-stash.sh:583
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-stash.sh:578
+#: git-stash.sh:585
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-stash.sh:587
+#: git-stash.sh:594
 msgid "Could not restore untracked files from stash entry"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: git-stash.sh:612
+#: git-stash.sh:619
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
-#: git-stash.sh:627
+#: git-stash.sh:634
 msgid "Index was not unstashed."
 msgstr "索引未从贮藏中恢复。"
 
-#: git-stash.sh:641
+#: git-stash.sh:648
 msgid "The stash entry is kept in case you need it again."
 msgstr "贮藏条目被保留以备您再次需要。"
 
-#: git-stash.sh:650
+#: git-stash.sh:657
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-stash.sh:651
+#: git-stash.sh:658
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:无法丢弃贮藏条目"
 
-#: git-stash.sh:659
+#: git-stash.sh:666
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: git-stash.sh:738
+#: git-stash.sh:745
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
@@ -15017,39 +15191,34 @@ msgstr "子模组 '$displaypath':'$command $sha1'"
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:840
+#: git-submodule.sh:828
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:892
+#: git-submodule.sh:880
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:912
+#: git-submodule.sh:900
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:915
+#: git-submodule.sh:903
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:918
+#: git-submodule.sh:906
 #, 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:1064
-#, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr "无法递归进子模组路径 '$sm_path'"
-
-#: git-submodule.sh:1136
+#: git-submodule.sh:1077
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
@@ -15278,15 +15447,15 @@ msgstr "要修改请使用命令 'git rebase --edit-todo'。"
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
-#: git-rebase--interactive.sh:749
+#: git-rebase--interactive.sh:728
 msgid "could not detach HEAD"
 msgstr "不能检出为分离头指针"
 
-#: git-rebase--interactive.sh:784
+#: git-rebase--interactive.sh:763
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:789
+#: git-rebase--interactive.sh:768
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -15315,22 +15484,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:806
+#: git-rebase--interactive.sh:785
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
-#: git-rebase--interactive.sh:811
+#: git-rebase--interactive.sh:790
 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:816 git-rebase--interactive.sh:820
+#: git-rebase--interactive.sh:795 git-rebase--interactive.sh:799
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--interactive.sh:848
+#: git-rebase--interactive.sh:827
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -15344,40 +15513,44 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:856 git-rebase--interactive.sh:1015
+#: git-rebase--interactive.sh:835 git-rebase--interactive.sh:995
 msgid "Could not execute editor"
 msgstr "无法运行编辑器"
 
-#: git-rebase--interactive.sh:869
+#: git-rebase--interactive.sh:848
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "不能检出 $switch_to"
 
-#: git-rebase--interactive.sh:874
+#: git-rebase--interactive.sh:853
 msgid "No HEAD?"
 msgstr "没有 HEAD?"
 
-#: git-rebase--interactive.sh:875
+#: git-rebase--interactive.sh:854
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "不能创建临时 $state_dir"
 
-#: git-rebase--interactive.sh:877
+#: git-rebase--interactive.sh:856
 msgid "Could not mark as interactive"
 msgstr "不能标记为交互式"
 
-#: git-rebase--interactive.sh:887 git-rebase--interactive.sh:892
+#: git-rebase--interactive.sh:866 git-rebase--interactive.sh:871
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
-#: git-rebase--interactive.sh:993
+#: git-rebase--interactive.sh:897
+msgid "Could not generate todo list"
+msgstr "无法生成待办列表"
+
+#: git-rebase--interactive.sh:973
 #, 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:998
+#: git-rebase--interactive.sh:978
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -15387,7 +15560,7 @@ msgstr ""
 "然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
 
-#: git-rebase--interactive.sh:1005
+#: git-rebase--interactive.sh:985
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
@@ -16124,7 +16297,7 @@ msgstr "严重:别名 '%s' 扩展为它自己\n"
 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:927 git-send-email.perl:935
+#: git-send-email.perl:929 git-send-email.perl:937
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
@@ -16132,16 +16305,16 @@ msgstr "错误:不能从 %s 中提取一个有效的邮件地址\n"
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:939
+#: git-send-email.perl:941
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 
-#: git-send-email.perl:1260
+#: git-send-email.perl:1262
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
-#: git-send-email.perl:1335
+#: git-send-email.perl:1337
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -16166,128 +16339,179 @@ msgstr ""
 #. 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:1350
+#: git-send-email.perl:1352
 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:1353
+#: git-send-email.perl:1355
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
-#: git-send-email.perl:1379
+#: git-send-email.perl:1381
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
-#: git-send-email.perl:1426
+#: git-send-email.perl:1428
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
-#: git-send-email.perl:1431 git-send-email.perl:1435
+#: git-send-email.perl:1433 git-send-email.perl:1437
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1445
+#: git-send-email.perl:1447
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
 
-#: git-send-email.perl:1463
+#: git-send-email.perl:1465
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "无法发送 %s\n"
 
-#: git-send-email.perl:1466
+#: git-send-email.perl:1468
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1466
+#: git-send-email.perl:1468
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1468
+#: git-send-email.perl:1470
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1468
+#: git-send-email.perl:1470
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1480
+#: git-send-email.perl:1482
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1483
+#: git-send-email.perl:1485
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1496
+#: git-send-email.perl:1498
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1543 git-send-email.perl:1563
+#: git-send-email.perl:1545 git-send-email.perl:1565
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1549
+#: git-send-email.perl:1551
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1597
+#: git-send-email.perl:1599
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1622
+#: git-send-email.perl:1624
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) 添加 cc: %s 自行 '%s'\n"
 
-#: git-send-email.perl:1728
+#: git-send-email.perl:1730
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) 不能执行 '%s'"
 
-#: git-send-email.perl:1735
+#: git-send-email.perl:1737
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) 添加 %s: %s 自:'%s'\n"
 
-#: git-send-email.perl:1739
+#: git-send-email.perl:1741
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) 无法关闭管道至 '%s'"
 
-#: git-send-email.perl:1766
+#: git-send-email.perl:1768
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1774
+#: git-send-email.perl:1776
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1812 git-send-email.perl:1863 git-send-email.perl:1873
+#: git-send-email.perl:1814 git-send-email.perl:1865 git-send-email.perl:1875
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
-#: git-send-email.perl:1815
+#: git-send-email.perl:1817
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s:补丁包含一个超过 998 字符的行"
 
-#: git-send-email.perl:1831
+#: git-send-email.perl:1833
 #, 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:1835
+#: git-send-email.perl:1837
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
+
+#~ msgid ""
+#~ "empty strings as pathspecs will be made invalid in upcoming releases. "
+#~ "please use . instead if you meant to match all paths"
+#~ msgstr ""
+#~ "在下一个版本中,使用空字符串作为路径规格将被视作非法。如果要匹配所有路"
+#~ "径,\n"
+#~ "请代之以 ."
+
+#~ msgid "unable to open '%s' for writing"
+#~ msgstr "无法以写入方式打开 '%s'"
+
+#~ msgid "could not truncate '%s'"
+#~ msgstr "无法截断 '%s'"
+
+#~ msgid "could not finish '%s'"
+#~ msgstr "无法结束 '%s'"
+
+#~ msgid "could not close %s"
+#~ msgstr "不能关闭 %s"
+
+#~ msgid "Copied a misnamed branch '%s' away"
+#~ msgstr "已将错误命名的分支 '%s' 复制"
+
+#~ msgid "it does not make sense to create 'HEAD' manually"
+#~ msgstr "手工创建 'HEAD' 没有意义"
+
+#~ msgid "Don't know how to clone %s"
+#~ msgstr "不知道如何克隆 %s"
+
+#~ msgid "show ignored files"
+#~ msgstr "显示忽略的文件"
+
+#~ msgid "%s is not a valid '%s' object"
+#~ msgstr "%s 不是一个有效的 '%s' 对象"
+
+#~ msgid "Don't know how to fetch from %s"
+#~ msgstr "不知道如何从 %s 获取"
+
+#~ msgid "'$term' is not a valid term"
+#~ msgstr "'$term' 不是一个有效的名称"
+
+#~ msgid ""
+#~ "error: unknown option for 'stash save': $option\n"
+#~ "       To provide a message, use git stash save -- '$option'"
+#~ msgstr ""
+#~ "错误:'stash save' 的未知选项:$option\n"
+#~ "      要提供一个描述信息,使用 git stash save -- '$option'"
+
+#~ msgid "Failed to recurse into submodule path '$sm_path'"
+#~ msgstr "无法递归进子模组路径 '$sm_path'"