Merge branch 'rs/env-array-in-child-process'
[gitweb.git] / po / zh_CN.po
index 7cb670e3e4e3dcb8b63239844616b00a0975c25f..4b0e9eeaa687b2eca2d739c7e3e34c4e55b44749 100644 (file)
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2014-08-04 14:48+0800\n"
-"PO-Revision-Date: 2014-08-04 16:16+0800\n"
+"POT-Creation-Date: 2014-11-20 09:42+0800\n"
+"PO-Revision-Date: 2014-11-20 16:10+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/gotgit/git/>\n"
 "Language: zh_CN\n"
@@ -30,104 +30,103 @@ msgstr "提示:%.*s\n"
 #: advice.c:88
 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, or use\n"
-"'git commit -a'."
+"as appropriate to mark resolution and make a commit."
 msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <file>' 命令标记\n"
-"解决方案并提交,或者使用 'git commit -a'。"
+"解决方案并提交。"
 
-#: archive.c:10
+#: archive.c:11
 msgid "git archive [options] <tree-ish> [<path>...]"
 msgstr "git archive [选项] <树或提交> [<路径>...]"
 
-#: archive.c:11
+#: archive.c:12
 msgid "git archive --list"
 msgstr "git archive --list"
 
-#: archive.c:12
+#: archive.c:13
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]"
 msgstr ""
 "git archive --remote <版本库> [--exec <命令>] [选项] <树或提交> [<路径>...]"
 
-#: archive.c:13
+#: archive.c:14
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <版本库> [--exec <命令>] --list"
 
-#: archive.c:243 builtin/add.c:136 builtin/add.c:427 builtin/rm.c:328
+#: archive.c:334 builtin/add.c:137 builtin/add.c:427 builtin/rm.c:328
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规则 '%s' 未匹配任何文件"
 
-#: archive.c:328
+#: archive.c:419
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:328
+#: archive.c:419
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:329 builtin/log.c:1201
+#: archive.c:420 builtin/log.c:1204
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:330
+#: archive.c:421
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:331 builtin/archive.c:88 builtin/blame.c:2517
-#: builtin/blame.c:2518 builtin/config.c:57 builtin/fast-export.c:709
-#: builtin/fast-export.c:711 builtin/grep.c:712 builtin/hash-object.c:77
-#: builtin/ls-files.c:489 builtin/ls-files.c:492 builtin/notes.c:412
-#: builtin/notes.c:569 builtin/read-tree.c:108 parse-options.h:151
+#: archive.c:422 builtin/archive.c:88 builtin/blame.c:2517
+#: builtin/blame.c:2518 builtin/config.c:57 builtin/fast-export.c:986
+#: builtin/fast-export.c:988 builtin/grep.c:712 builtin/hash-object.c:101
+#: builtin/ls-files.c:489 builtin/ls-files.c:492 builtin/notes.c:411
+#: builtin/notes.c:568 builtin/read-tree.c:109 parse-options.h:151
 msgid "file"
 msgstr "文件"
 
-#: archive.c:332 builtin/archive.c:89
+#: archive.c:423 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:334
+#: archive.c:425
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:335
+#: archive.c:426
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:336
+#: archive.c:427
 msgid "store only"
 msgstr "只存储"
 
-#: archive.c:337
+#: archive.c:428
 msgid "compress faster"
 msgstr "压缩速度更快"
 
-#: archive.c:345
+#: archive.c:436
 msgid "compress better"
 msgstr "压缩效果更好"
 
-#: archive.c:348
+#: archive.c:439
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:350 builtin/archive.c:90 builtin/clone.c:84
+#: archive.c:441 builtin/archive.c:90 builtin/clone.c:85
 msgid "repo"
 msgstr "版本库"
 
-#: archive.c:351 builtin/archive.c:91
+#: archive.c:442 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程版本库(<版本库>)提取归档文件"
 
-#: archive.c:352 builtin/archive.c:92 builtin/notes.c:491
+#: archive.c:443 builtin/archive.c:92 builtin/notes.c:490
 msgid "command"
 msgstr "命令"
 
-#: archive.c:353 builtin/archive.c:93
+#: archive.c:444 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
-#: attr.c:259
+#: attr.c:258
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -185,31 +184,31 @@ msgstr "分支 %s 设置为跟踪本地引用 %s。"
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
-#: branch.c:178
+#: branch.c:162
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
-#: branch.c:183
+#: branch.c:167
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:191
+#: branch.c:175
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:211
+#: branch.c:195
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: branch.c:213
+#: branch.c:197
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:215
+#: branch.c:199
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -227,107 +226,105 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:260
+#: branch.c:243
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:280
+#: branch.c:263
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:285
+#: branch.c:268
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:291
-msgid "Failed to lock ref for update"
-msgstr "无法为更新锁定引用"
-
-#: branch.c:309
-msgid "Failed to write ref"
-msgstr "不能写引用"
-
-#: bundle.c:33
+#: bundle.c:34
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "'%s' 不像是一个 v2 版本的包文件"
 
-#: bundle.c:60
+#: bundle.c:61
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:86 builtin/commit.c:755
+#: bundle.c:87 builtin/commit.c:788
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
 
-#: bundle.c:138
+#: bundle.c:139
 msgid "Repository lacks these prerequisite commits:"
 msgstr "版本库缺少这些必备的提交:"
 
-#: bundle.c:162 sequencer.c:630 sequencer.c:1085 builtin/log.c:330
-#: builtin/log.c:821 builtin/log.c:1428 builtin/log.c:1665 builtin/merge.c:357
+#: bundle.c:163 sequencer.c:641 sequencer.c:1096 builtin/blame.c:2706
+#: builtin/branch.c:652 builtin/commit.c:1085 builtin/log.c:330
+#: builtin/log.c:823 builtin/log.c:1432 builtin/log.c:1669 builtin/merge.c:357
 #: builtin/shortlog.c:158
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: bundle.c:184
+#: bundle.c:185
 #, c-format
 msgid "The bundle contains this ref:"
 msgid_plural "The bundle contains these %d refs:"
 msgstr[0] "这个包中含有这个引用:"
 msgstr[1] "这个包中含有 %d 个引用:"
 
-#: bundle.c:191
+#: bundle.c:192
 msgid "The bundle records a complete history."
 msgstr "这个包记录一个完整历史。"
 
-#: bundle.c:193
+#: bundle.c:194
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
-#: bundle.c:289
+#: bundle.c:251
+msgid "Could not spawn pack-objects"
+msgstr "不能生成 pack-objects 进程"
+
+#: bundle.c:269
+msgid "pack-objects died"
+msgstr "pack-objects 终止"
+
+#: bundle.c:309
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:295 builtin/log.c:1339 builtin/shortlog.c:261
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr "未能识别的参数:%s"
-
-#: bundle.c:330
+#: bundle.c:358
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:375
+#: bundle.c:438 builtin/log.c:153 builtin/log.c:1342 builtin/shortlog.c:261
+#, c-format
+msgid "unrecognized argument: %s"
+msgstr "未能识别的参数:%s"
+
+#: bundle.c:444
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:390
-msgid "Could not spawn pack-objects"
-msgstr "不能生成 pack-objects 进程"
-
-#: bundle.c:408
-msgid "pack-objects died"
-msgstr "pack-objects 终止"
-
-#: bundle.c:411
+#: bundle.c:454
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:433
+#: bundle.c:475
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
+#: color.c:157
+#, c-format
+msgid "invalid color value: %.*s"
+msgstr "无效的颜色值:%.*s"
+
 #: commit.c:40
 #, c-format
 msgid "could not parse %s"
@@ -342,16 +339,69 @@ msgstr "%s %s 不是一个提交!"
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: connected.c:70
+#: config.c:469 config.c:471
+#, c-format
+msgid "bad config file line %d in %s"
+msgstr "配置文件 %2$s 出错于第 %1$d 行"
+
+#: config.c:587
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgstr "文件 %3$s 中配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %4$s"
+
+#: config.c:589
+#, c-format
+msgid "bad numeric config value '%s' for '%s': %s"
+msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %3$s"
+
+#: config.c:674
+#, c-format
+msgid "failed to expand user dir in: '%s'"
+msgstr "无法扩展 '%s' 中的用户目录"
+
+#: config.c:752 config.c:763
+#, c-format
+msgid "bad zlib compression level %d"
+msgstr "错误的 zlib 压缩级别 %d"
+
+#: config.c:885
+#, c-format
+msgid "invalid mode for object creation: %s"
+msgstr "无效的对象创建模式:%s"
+
+#: config.c:1201
+msgid "unable to parse command-line config"
+msgstr "无法解析命令行中的配置"
+
+#: config.c:1262
+msgid "unknown error occured while reading the configuration files"
+msgstr "在读取配置文件时遇到未知错误"
+
+#: config.c:1586
+#, c-format
+msgid "unable to parse '%s' from command-line config"
+msgstr "无法解析命令行配置中的 '%s'"
+
+#: config.c:1588
+#, c-format
+msgid "bad config variable '%s' in file '%s' at line %d"
+msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
+
+#: config.c:1647
+#, c-format
+msgid "%s has multiple values"
+msgstr "%s 有多个取值"
+
+#: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
-#: connected.c:90
+#: connected.c:89
 #, c-format
 msgid "failed write to rev-list: %s"
 msgstr "无法写入 rev-list:%s"
 
-#: connected.c:98
+#: connected.c:97
 #, c-format
 msgid "failed to close rev-list's stdin: %s"
 msgstr "无法关闭 rev-list 的标准输入:%s"
@@ -429,7 +479,7 @@ msgstr[1] "%lu 年前"
 msgid "failed to read orderfile '%s'"
 msgstr "无法读取排序文件 '%s'"
 
-#: diffcore-rename.c:514
+#: diffcore-rename.c:516
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名检测"
 
@@ -450,7 +500,7 @@ msgstr "  未知的 dirstat 参数 '%s'\n"
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:267
+#: diff.c:266
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -459,16 +509,16 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:2934
+#: diff.c:2957
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:3329
+#: diff.c:3352
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 参数后只跟一个 pathspec"
 
-#: diff.c:3492
+#: diff.c:3515
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -477,44 +527,44 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:3506
+#: diff.c:3529
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: gpg-interface.c:73 gpg-interface.c:145
+#: gpg-interface.c:129 gpg-interface.c:200
 msgid "could not run gpg."
 msgstr "不能执行 gpg。"
 
-#: gpg-interface.c:85
+#: gpg-interface.c:141
 msgid "gpg did not accept the data"
 msgstr "gpg 没有接受数据"
 
-#: gpg-interface.c:96
+#: gpg-interface.c:152
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:129
+#: gpg-interface.c:185
 #, c-format
 msgid "could not create temporary file '%s': %s"
 msgstr "不能创建临时文件 '%s':%s"
 
-#: gpg-interface.c:132
+#: gpg-interface.c:188
 #, c-format
 msgid "failed writing detached signature to '%s': %s"
 msgstr "无法将分离式签名写入 '%s':%s"
 
-#: grep.c:1703
+#: grep.c:1718
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1720
+#: grep.c:1735
 #, c-format
 msgid "'%s': %s"
 msgstr "'%s':%s"
 
-#: grep.c:1731
+#: grep.c:1746
 #, c-format
 msgid "'%s': short read %s"
 msgstr "'%s':读取不完整 %s"
@@ -583,87 +633,95 @@ msgstr[1] ""
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: merge.c:40
+#: lockfile.c:275
+msgid "BUG: reopen a lockfile that is still open"
+msgstr "BUG: 重新打开一个仍打开着的锁文件"
+
+#: lockfile.c:277
+msgid "BUG: reopen a lockfile that has been committed"
+msgstr "BUG: 重新打开一个已提交的锁文件"
+
+#: merge.c:41
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:93 builtin/checkout.c:356 builtin/checkout.c:556
-#: builtin/clone.c:661
+#: merge.c:94 builtin/checkout.c:356 builtin/checkout.c:562
+#: builtin/clone.c:659
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: merge-recursive.c:190
+#: merge-recursive.c:189
 #, c-format
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:210
+#: merge-recursive.c:209
 #, c-format
 msgid "addinfo_cache failed for path '%s'"
 msgstr "为路径 '%s' addinfo_cache 失败"
 
-#: merge-recursive.c:271
+#: merge-recursive.c:270
 msgid "error building trees"
 msgstr "无法创建树"
 
-#: merge-recursive.c:692
+#: merge-recursive.c:691
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "无法创建路径 '%s'%s"
 
-#: merge-recursive.c:703
+#: merge-recursive.c:702
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:717 merge-recursive.c:738
+#: merge-recursive.c:716 merge-recursive.c:737
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:728
+#: merge-recursive.c:727
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:768
+#: merge-recursive.c:767
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:770
+#: merge-recursive.c:769
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据(blob)对象"
 
-#: merge-recursive.c:793 builtin/clone.c:317
+#: merge-recursive.c:792 builtin/clone.c:318
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: merge-recursive.c:801
+#: merge-recursive.c:800
 #, c-format
 msgid "failed to symlink '%s'"
 msgstr "无法创建符号链接 '%s'"
 
-#: merge-recursive.c:804
+#: merge-recursive.c:803
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:942
+#: merge-recursive.c:941
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:946
+#: merge-recursive.c:945
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:962
+#: merge-recursive.c:961
 msgid "unsupported object type in the tree"
 msgstr "在树中有不支持的对象类型"
 
-#: merge-recursive.c:1037 merge-recursive.c:1051
+#: merge-recursive.c:1036 merge-recursive.c:1050
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -672,7 +730,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本被保留。"
 
-#: merge-recursive.c:1043 merge-recursive.c:1056
+#: merge-recursive.c:1042 merge-recursive.c:1055
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -681,20 +739,20 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本保留于 %8$s 中。"
 
-#: merge-recursive.c:1097
+#: merge-recursive.c:1096
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1097
+#: merge-recursive.c:1096
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1153
+#: merge-recursive.c:1152
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1174
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -703,144 +761,144 @@ msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1180
+#: merge-recursive.c:1179
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1234
+#: merge-recursive.c:1233
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:1264
+#: merge-recursive.c:1263
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
 
-#: merge-recursive.c:1463
+#: merge-recursive.c:1462
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1473
+#: merge-recursive.c:1472
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:1478 merge-recursive.c:1676
+#: merge-recursive.c:1477 merge-recursive.c:1675
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:1529
+#: merge-recursive.c:1528
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:1532
+#: merge-recursive.c:1531
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据(blob)对象"
 
-#: merge-recursive.c:1580
+#: merge-recursive.c:1579
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:1580
+#: merge-recursive.c:1579
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:1590
+#: merge-recursive.c:1589
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:1597
+#: merge-recursive.c:1596
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:1631
+#: merge-recursive.c:1630
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:1645
+#: merge-recursive.c:1644
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1649 git-submodule.sh:1150
+#: merge-recursive.c:1648 git-submodule.sh:1150
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:1650
+#: merge-recursive.c:1649
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:1740
+#: merge-recursive.c:1735
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:1765
+#: merge-recursive.c:1760
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:1771
+#: merge-recursive.c:1766
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1776
+#: merge-recursive.c:1771
 #, 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:1786
+#: merge-recursive.c:1781
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1803
+#: merge-recursive.c:1798
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "严重的合并错误,不应发生。"
 
-#: merge-recursive.c:1822
+#: merge-recursive.c:1817
 msgid "Already up-to-date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:1831
+#: merge-recursive.c:1826
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:1861
+#: merge-recursive.c:1856
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "未处理的路径??? %s"
 
-#: merge-recursive.c:1906
+#: merge-recursive.c:1901
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:1919
+#: merge-recursive.c:1914
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:1956
+#: merge-recursive.c:1951
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2013
+#: merge-recursive.c:2008
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2024 builtin/merge.c:666
+#: merge-recursive.c:2019 builtin/merge.c:666
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -865,34 +923,34 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object.c:234
+#: object.c:241
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: parse-options.c:534
+#: parse-options.c:546
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:552
+#: parse-options.c:564
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:556
+#: parse-options.c:568
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:559
+#: parse-options.c:571
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:593
+#: parse-options.c:605
 msgid "-NUM"
 msgstr "-数字"
 
@@ -958,11 +1016,15 @@ msgstr ""
 "没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
 "添加 ':/' 或 '.' ?"
 
+#: pretty.c:968
+msgid "unable to parse --pretty format"
+msgstr "不能解析 --pretty 格式"
+
 #: progress.c:225
 msgid "done"
 msgstr "完成"
 
-#: read-cache.c:1260
+#: read-cache.c:1261
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -971,7 +1033,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1270
+#: read-cache.c:1271
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -980,51 +1042,51 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: remote.c:753
+#: remote.c:782
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:757
+#: remote.c:786
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:761
+#: remote.c:790
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:769
+#: remote.c:798
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1943
+#: remote.c:1968
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:1947
+#: remote.c:1972
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:1950
+#: remote.c:1975
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:1954
+#: remote.c:1979
 #, 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:1960
+#: remote.c:1985
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:1963
+#: remote.c:1988
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1033,11 +1095,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1971
+#: remote.c:1996
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:1974
+#: remote.c:1999
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1053,32 +1115,40 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1984
+#: remote.c:2009
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: run-command.c:80
+#: run-command.c:87
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:82
+#: run-command.c:89
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "不能调用 dup2(%d,%d)"
 
-#: sequencer.c:171 builtin/merge.c:782 builtin/merge.c:893
-#: builtin/merge.c:1003 builtin/merge.c:1013
+#: send-pack.c:265
+msgid "failed to sign the push certificate"
+msgstr "无法为推送证书签名"
+
+#: send-pack.c:322
+msgid "the receiving end does not support --signed push"
+msgstr "接收端不支持签名推送"
+
+#: sequencer.c:172 builtin/merge.c:781 builtin/merge.c:892
+#: builtin/merge.c:1002 builtin/merge.c:1012
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "不能为写入打开 '%s'"
 
-#: sequencer.c:173 builtin/merge.c:343 builtin/merge.c:785
-#: builtin/merge.c:1005 builtin/merge.c:1018
+#: sequencer.c:174 builtin/merge.c:343 builtin/merge.c:784
+#: builtin/merge.c:1004 builtin/merge.c:1017
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:194
+#: sequencer.c:195
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1086,7 +1156,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <paths>' 或 'git rm <paths>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:197
+#: sequencer.c:198
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1095,228 +1165,224 @@ msgstr ""
 "冲突解决完毕后,用 'git add <paths>' 或 'git rm <paths>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:210 sequencer.c:841 sequencer.c:924
+#: sequencer.c:211 sequencer.c:852 sequencer.c:935
 #, c-format
 msgid "Could not write to %s"
 msgstr "不能写入 %s"
 
-#: sequencer.c:213
+#: sequencer.c:214
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "错误收尾 %s"
 
-#: sequencer.c:228
+#: sequencer.c:229
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "您的本地修改将被拣选操作覆盖。"
 
-#: sequencer.c:230
+#: sequencer.c:231
 msgid "Your local changes would be overwritten by revert."
 msgstr "您的本地修改将被还原操作覆盖。"
 
-#: sequencer.c:233
+#: sequencer.c:234
 msgid "Commit your changes or stash them to proceed."
 msgstr "提交您的修改或保存进度后再继续。"
 
-#: sequencer.c:250
-msgid "Failed to lock HEAD during fast_forward_to"
-msgstr "在快进时无法为 HEAD 加锁"
-
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:293
+#: sequencer.c:304
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:324
+#: sequencer.c:335
 msgid "Could not resolve HEAD commit\n"
 msgstr "不能解析 HEAD 提交\n"
 
-#: sequencer.c:344
+#: sequencer.c:355
 msgid "Unable to update cache tree\n"
 msgstr "不能更新缓存\n"
 
-#: sequencer.c:391
+#: sequencer.c:402
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "不能解析提交 %s\n"
 
-#: sequencer.c:396
+#: sequencer.c:407
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "不能解析父提交 %s\n"
 
-#: sequencer.c:462
+#: sequencer.c:473
 msgid "Your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:481
+#: sequencer.c:492
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:489
+#: sequencer.c:500
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "提交 %s 没有父提交 %d"
 
-#: sequencer.c:493
+#: sequencer.c:504
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr "指定了主线但提交 %s 不是一个合并。"
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:506
+#: sequencer.c:517
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:510
+#: sequencer.c:521
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
-#: sequencer.c:596
+#: sequencer.c:607
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:597
+#: sequencer.c:608
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:633
+#: sequencer.c:644
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:641
+#: sequencer.c:652
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:645
+#: sequencer.c:656
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:705
+#: sequencer.c:716
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "无法 %s 在一个 %s 过程中"
 
-#: sequencer.c:727
+#: sequencer.c:738
 #, c-format
 msgid "Could not parse line %d."
 msgstr "不能解析第 %d 行。"
 
-#: sequencer.c:732
+#: sequencer.c:743
 msgid "No commits parsed."
 msgstr "没有提交被解析。"
 
-#: sequencer.c:745
+#: sequencer.c:756
 #, c-format
 msgid "Could not open %s"
 msgstr "不能打开 %s"
 
-#: sequencer.c:749
+#: sequencer.c:760
 #, c-format
 msgid "Could not read %s."
 msgstr "不能读取 %s。"
 
-#: sequencer.c:756
+#: sequencer.c:767
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "无用的指令表单:%s"
 
-#: sequencer.c:786
+#: sequencer.c:797
 #, c-format
 msgid "Invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:789
+#: sequencer.c:800
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:801
+#: sequencer.c:812
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "非法的选项表单:%s"
 
-#: sequencer.c:822
+#: sequencer.c:833
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:823
+#: sequencer.c:834
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:827
+#: sequencer.c:838
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "不能创建序列目录 %s"
 
-#: sequencer.c:843 sequencer.c:928
+#: sequencer.c:854 sequencer.c:939
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "错误收尾 %s。"
 
-#: sequencer.c:862 sequencer.c:998
+#: sequencer.c:873 sequencer.c:1009
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:864
+#: sequencer.c:875
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:866
+#: sequencer.c:877
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:888 builtin/apply.c:4062
+#: sequencer.c:899 builtin/apply.c:4128
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "不能打开 %s:%s"
 
-#: sequencer.c:891
+#: sequencer.c:902
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "不能读取 %s:%s"
 
-#: sequencer.c:892
+#: sequencer.c:903
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:898
+#: sequencer.c:909
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:921
+#: sequencer.c:932
 #, c-format
 msgid "Could not format %s."
 msgstr "不能格式化 %s。"
 
-#: sequencer.c:1066
+#: sequencer.c:1077
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:1069
+#: sequencer.c:1080
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:1103
+#: sequencer.c:1114
 msgid "Can't revert as initial commit"
 msgstr "不能作为初始提交还原"
 
-#: sequencer.c:1104
+#: sequencer.c:1115
 msgid "Can't cherry-pick into empty head"
 msgstr "不能拣选到空分支"
 
-#: sha1_name.c:439
+#: sha1_name.c:440
 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"
@@ -1337,21 +1403,21 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: sha1_name.c:1060
+#: sha1_name.c:1068
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: sha1_name.c:1063
+#: sha1_name.c:1071
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: sha1_name.c:1065
+#: sha1_name.c:1073
 #, c-format
 msgid "No upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: sha1_name.c:1069
+#: sha1_name.c:1077
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
@@ -1379,16 +1445,41 @@ msgstr "无法移除 %s 的 .gitmodules 条目"
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:1118 builtin/init-db.c:363
+#: submodule.c:1111 builtin/init-db.c:363
 #, c-format
 msgid "Could not create git link %s"
 msgstr "不能创建 git link %s"
 
-#: submodule.c:1129
+#: submodule.c:1122
 #, c-format
 msgid "Could not set core.worktree in %s"
 msgstr "不能在 %s 中设置 core.worktree"
 
+#: trailer.c:499 trailer.c:503 trailer.c:507 trailer.c:561 trailer.c:565
+#: trailer.c:569
+#, c-format
+msgid "unknown value '%s' for key '%s'"
+msgstr "键 '%2$s' 的未知取值 '%1$s'"
+
+#: trailer.c:551 trailer.c:556 builtin/remote.c:288
+#, c-format
+msgid "more than one %s"
+msgstr "多于一个 %s"
+
+#: trailer.c:589
+#, c-format
+msgid "empty trailer token in trailer '%.*s'"
+msgstr "签名 '%.*s' 的键为空"
+
+#: trailer.c:709
+#, c-format
+msgid "could not read input file '%s'"
+msgstr "不能读取输入文件 '%s'"
+
+#: trailer.c:712
+msgid "could not read from stdin"
+msgstr "不能自标准输入读取"
+
 #: unpack-trees.c:202
 msgid "Checking out files"
 msgstr "正在检出文件"
@@ -1422,25 +1513,29 @@ msgstr "无效的端口号"
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
-#: wrapper.c:460
+#: wrapper.c:509
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "不能访问 '%s':%s"
 
-#: wrapper.c:481
+#: wrapper.c:530
 #, c-format
 msgid "unable to access '%s'"
 msgstr "不能访问 '%s'"
 
-#: wrapper.c:492
+#: wrapper.c:541
 #, c-format
 msgid "unable to look up current user in the passwd file: %s"
 msgstr "无法在口令文件中查询到当前用户:%s"
 
-#: wrapper.c:493
+#: wrapper.c:542
 msgid "no such user"
 msgstr "无此用户"
 
+#: wrapper.c:550
+msgid "unable to get current working directory"
+msgstr "不能获取当前工作目录"
+
 #: wt-status.c:150
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
@@ -1591,15 +1686,15 @@ msgstr "未跟踪的内容, "
 msgid "bug: unhandled diff status %c"
 msgstr "bug:无法处理的差异状态 %c"
 
-#: wt-status.c:764
+#: wt-status.c:761
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:766
+#: wt-status.c:763
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:845
+#: wt-status.c:842
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -1607,198 +1702,198 @@ msgstr ""
 "不要改动上面的一行。\n"
 "下面的所有内容均将被删除。"
 
-#: wt-status.c:936
+#: wt-status.c:933
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:939
+#: wt-status.c:936
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
-#: wt-status.c:942
+#: wt-status.c:939
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:945
+#: wt-status.c:942
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:955
+#: wt-status.c:952
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:958
+#: wt-status.c:955
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:962
+#: wt-status.c:959
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:964
+#: wt-status.c:961
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:966
+#: wt-status.c:963
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1026 wt-status.c:1043
+#: wt-status.c:1023 wt-status.c:1040
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1031 wt-status.c:1048
+#: wt-status.c:1028 wt-status.c:1045
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1034
+#: wt-status.c:1031
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1036
+#: wt-status.c:1033
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1038
+#: wt-status.c:1035
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1051
+#: wt-status.c:1048
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1055
+#: wt-status.c:1052
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1060
+#: wt-status.c:1057
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1063
+#: wt-status.c:1060
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1067
+#: wt-status.c:1064
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1072
+#: wt-status.c:1069
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1075
+#: wt-status.c:1072
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1077
+#: wt-status.c:1074
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1087
+#: wt-status.c:1084
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1092
+#: wt-status.c:1089
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1095
+#: wt-status.c:1092
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1097
+#: wt-status.c:1094
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1106
+#: wt-status.c:1103
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1111
+#: wt-status.c:1108
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1114
+#: wt-status.c:1111
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1116
+#: wt-status.c:1113
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1127
+#: wt-status.c:1124
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1131
+#: wt-status.c:1128
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1134
+#: wt-status.c:1131
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1309
+#: wt-status.c:1306
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1316
+#: wt-status.c:1313
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1323
+#: wt-status.c:1320
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1325
+#: wt-status.c:1322
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1328
+#: wt-status.c:1325
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1345
+#: wt-status.c:1342
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1359
+#: wt-status.c:1356
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1361
+#: wt-status.c:1358
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1365
+#: wt-status.c:1362
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -1808,129 +1903,129 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1371
+#: wt-status.c:1368
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1373
+#: wt-status.c:1370
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1379
+#: wt-status.c:1376
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1384
+#: wt-status.c:1381
 #, 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:1387
+#: wt-status.c:1384
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1390
+#: wt-status.c:1387
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1393
+#: wt-status.c:1390
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1396
+#: wt-status.c:1393
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1399 wt-status.c:1404
+#: wt-status.c:1396 wt-status.c:1401
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1402
+#: wt-status.c:1399
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1406
+#: wt-status.c:1403
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1515
+#: wt-status.c:1512
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1521
+#: wt-status.c:1518
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
-#: wt-status.c:1553
+#: wt-status.c:1550
 msgid "gone"
 msgstr "丢失"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1555 wt-status.c:1563
+#: wt-status.c:1552 wt-status.c:1560
 msgid "behind "
 msgstr "落后 "
 
-#: compat/precompose_utf8.c:55 builtin/clone.c:356
+#: compat/precompose_utf8.c:55 builtin/clone.c:357
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
 
-#: builtin/add.c:21
+#: builtin/add.c:22
 msgid "git add [options] [--] <pathspec>..."
 msgstr "git add [选项] [--] <路径规则>..."
 
-#: builtin/add.c:64
+#: builtin/add.c:65
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:69 builtin/commit.c:261
+#: builtin/add.c:70 builtin/commit.c:275
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:79
+#: builtin/add.c:80
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:133
+#: builtin/add.c:134
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:193 builtin/rev-parse.c:781
+#: builtin/add.c:194 builtin/rev-parse.c:785
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:204
+#: builtin/add.c:205
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "不能打开 '%s' 以写入。"
 
-#: builtin/add.c:208
+#: builtin/add.c:209
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:213
+#: builtin/add.c:214
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能查看文件状态 '%s'"
 
-#: builtin/add.c:215
+#: builtin/add.c:216
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
@@ -1943,15 +2038,15 @@ msgstr "不能应用 '%s'"
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:248 builtin/clean.c:875 builtin/fetch.c:108 builtin/mv.c:70
-#: builtin/prune-packed.c:77 builtin/push.c:488 builtin/remote.c:1367
+#: builtin/add.c:248 builtin/clean.c:875 builtin/fetch.c:108 builtin/mv.c:110
+#: builtin/prune-packed.c:55 builtin/push.c:499 builtin/remote.c:1375
 #: builtin/rm.c:269
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:249 builtin/apply.c:4411 builtin/check-ignore.c:19
-#: builtin/commit.c:1328 builtin/count-objects.c:95 builtin/fsck.c:606
-#: builtin/log.c:1613 builtin/mv.c:69 builtin/read-tree.c:113
+#: builtin/add.c:249 builtin/apply.c:4415 builtin/check-ignore.c:19
+#: builtin/commit.c:1362 builtin/count-objects.c:63 builtin/fsck.c:608
+#: builtin/log.c:1617 builtin/mv.c:109 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "冗长输出"
 
@@ -1959,7 +2054,7 @@ msgstr "冗长输出"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:252 builtin/checkout.c:1102 builtin/reset.c:285
+#: builtin/add.c:252 builtin/checkout.c:1108 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -2031,74 +2126,74 @@ msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
 #: builtin/add.c:363 builtin/check-ignore.c:172 builtin/clean.c:919
-#: builtin/commit.c:319 builtin/mv.c:90 builtin/reset.c:234 builtin/rm.c:299
+#: builtin/commit.c:333 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:299
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: builtin/add.c:446 builtin/apply.c:4506 builtin/mv.c:280 builtin/rm.c:431
+#: builtin/add.c:446 builtin/apply.c:4510 builtin/mv.c:279 builtin/rm.c:431
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: builtin/apply.c:57
+#: builtin/apply.c:58
 msgid "git apply [options] [<patch>...]"
 msgstr "git apply [选项] [<补丁>...]"
 
-#: builtin/apply.c:110
+#: builtin/apply.c:111
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "未能识别的空白字符选项 '%s'"
 
-#: builtin/apply.c:125
+#: builtin/apply.c:126
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: builtin/apply.c:825
+#: builtin/apply.c:826
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr "无法准备时间戳正则表达式 %s"
 
-#: builtin/apply.c:834
+#: builtin/apply.c:835
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "regexec 返回 %d,输入为:%s"
 
-#: builtin/apply.c:915
+#: builtin/apply.c:916
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: builtin/apply.c:947
+#: builtin/apply.c:948
 #, 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"
 
-#: builtin/apply.c:951
+#: builtin/apply.c:952
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: builtin/apply.c:952
+#: builtin/apply.c:953
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: builtin/apply.c:959
+#: builtin/apply.c:960
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: builtin/apply.c:1422
+#: builtin/apply.c:1423
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: builtin/apply.c:1479
+#: builtin/apply.c:1480
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: builtin/apply.c:1496
+#: builtin/apply.c:1497
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -2109,77 +2204,77 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: builtin/apply.c:1656
+#: builtin/apply.c:1657
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: builtin/apply.c:1658
+#: builtin/apply.c:1659
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: builtin/apply.c:1684
+#: builtin/apply.c:1685
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: builtin/apply.c:1720
+#: builtin/apply.c:1721
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: builtin/apply.c:1722
+#: builtin/apply.c:1723
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: builtin/apply.c:1725
+#: builtin/apply.c:1726
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: builtin/apply.c:1871
+#: builtin/apply.c:1872
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: builtin/apply.c:1900
+#: builtin/apply.c:1901
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: builtin/apply.c:1986
+#: builtin/apply.c:2052
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: builtin/apply.c:2076
+#: builtin/apply.c:2142
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/apply.c:2080
+#: builtin/apply.c:2146
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: builtin/apply.c:2688
+#: builtin/apply.c:2754
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: builtin/apply.c:2806
+#: builtin/apply.c:2872
 #, 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 行)"
 
-#: builtin/apply.c:2818
+#: builtin/apply.c:2884
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: builtin/apply.c:2824
+#: builtin/apply.c:2890
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -2188,317 +2283,317 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: builtin/apply.c:2843
+#: builtin/apply.c:2909
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: builtin/apply.c:2944
+#: builtin/apply.c:3010
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: builtin/apply.c:2950
+#: builtin/apply.c:3016
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: builtin/apply.c:2971
+#: builtin/apply.c:3037
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: builtin/apply.c:3095
+#: builtin/apply.c:3161
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: builtin/apply.c:3140 builtin/apply.c:3149 builtin/apply.c:3194
+#: builtin/apply.c:3206 builtin/apply.c:3215 builtin/apply.c:3260
 #, c-format
 msgid "read of %s failed"
 msgstr "读取 %s 失败"
 
-#: builtin/apply.c:3174 builtin/apply.c:3396
+#: builtin/apply.c:3240 builtin/apply.c:3462
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: builtin/apply.c:3255 builtin/apply.c:3410
+#: builtin/apply.c:3321 builtin/apply.c:3476
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: builtin/apply.c:3259 builtin/apply.c:3402 builtin/apply.c:3424
+#: builtin/apply.c:3325 builtin/apply.c:3468 builtin/apply.c:3490
 #, c-format
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: builtin/apply.c:3264 builtin/apply.c:3418
+#: builtin/apply.c:3330 builtin/apply.c:3484
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: builtin/apply.c:3366
+#: builtin/apply.c:3432
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: builtin/apply.c:3435
+#: builtin/apply.c:3501
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: builtin/apply.c:3437
+#: builtin/apply.c:3503
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: builtin/apply.c:3538
+#: builtin/apply.c:3604
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: builtin/apply.c:3541
+#: builtin/apply.c:3607
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: builtin/apply.c:3561
+#: builtin/apply.c:3627
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: builtin/apply.c:3566
+#: builtin/apply.c:3632
 #, 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)不匹配"
 
-#: builtin/apply.c:3574
+#: builtin/apply.c:3640
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: builtin/apply.c:3587
+#: builtin/apply.c:3653
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:134
+#: builtin/apply.c:3746 builtin/checkout.c:213 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: builtin/apply.c:3823
+#: builtin/apply.c:3889
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: builtin/apply.c:3852
+#: builtin/apply.c:3918
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: builtin/apply.c:3856
+#: builtin/apply.c:3922
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: builtin/apply.c:3861
+#: builtin/apply.c:3927
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: builtin/apply.c:3864 builtin/apply.c:3972
+#: builtin/apply.c:3930 builtin/apply.c:4038
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: builtin/apply.c:3897
+#: builtin/apply.c:3963
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: builtin/apply.c:3946
+#: builtin/apply.c:4012
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: builtin/apply.c:4033
+#: builtin/apply.c:4099
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: builtin/apply.c:4041
+#: builtin/apply.c:4107
 msgid "internal error"
 msgstr "内部错误"
 
-#: builtin/apply.c:4044
+#: builtin/apply.c:4110
 #, 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 个被拒绝..."
 
-#: builtin/apply.c:4054
+#: builtin/apply.c:4120
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: builtin/apply.c:4075
+#: builtin/apply.c:4141
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: builtin/apply.c:4078
+#: builtin/apply.c:4144
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: builtin/apply.c:4228
+#: builtin/apply.c:4234
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: builtin/apply.c:4239
+#: builtin/apply.c:4245
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: builtin/apply.c:4358 builtin/apply.c:4361 builtin/clone.c:90
+#: builtin/apply.c:4362 builtin/apply.c:4365 builtin/clone.c:91
 #: builtin/fetch.c:93
 msgid "path"
 msgstr "路径"
 
-#: builtin/apply.c:4359
+#: builtin/apply.c:4363
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4362
+#: builtin/apply.c:4366
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4364
+#: builtin/apply.c:4368
 msgid "num"
 msgstr "数字"
 
-#: builtin/apply.c:4365
+#: builtin/apply.c:4369
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: builtin/apply.c:4368
+#: builtin/apply.c:4372
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: builtin/apply.c:4370
+#: builtin/apply.c:4374
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: builtin/apply.c:4374
+#: builtin/apply.c:4378
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: builtin/apply.c:4376
+#: builtin/apply.c:4380
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: builtin/apply.c:4378
+#: builtin/apply.c:4382
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: builtin/apply.c:4380
+#: builtin/apply.c:4384
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: builtin/apply.c:4382
+#: builtin/apply.c:4386
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: builtin/apply.c:4384
+#: builtin/apply.c:4388
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: builtin/apply.c:4386
+#: builtin/apply.c:4390
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三路合并"
 
-#: builtin/apply.c:4388
+#: builtin/apply.c:4392
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: builtin/apply.c:4390 builtin/checkout-index.c:198 builtin/ls-files.c:455
+#: builtin/apply.c:4394 builtin/checkout-index.c:198 builtin/ls-files.c:455
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: builtin/apply.c:4393
+#: builtin/apply.c:4397
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: builtin/apply.c:4394
+#: builtin/apply.c:4398
 msgid "action"
 msgstr "动作"
 
-#: builtin/apply.c:4395
+#: builtin/apply.c:4399
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: builtin/apply.c:4398 builtin/apply.c:4401
+#: builtin/apply.c:4402 builtin/apply.c:4405
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: builtin/apply.c:4404
+#: builtin/apply.c:4408
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: builtin/apply.c:4406
+#: builtin/apply.c:4410
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: builtin/apply.c:4408
+#: builtin/apply.c:4412
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: builtin/apply.c:4410
+#: builtin/apply.c:4414
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: builtin/apply.c:4413
+#: builtin/apply.c:4417
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: builtin/apply.c:4416
+#: builtin/apply.c:4420
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: builtin/apply.c:4418
+#: builtin/apply.c:4422
 msgid "root"
 msgstr "根目录"
 
-#: builtin/apply.c:4419
+#: builtin/apply.c:4423
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: builtin/apply.c:4441
+#: builtin/apply.c:4445
 msgid "--3way outside a repository"
 msgstr "--3way 在一个版本库之外"
 
-#: builtin/apply.c:4449
+#: builtin/apply.c:4453
 msgid "--index outside a repository"
 msgstr "--index 在一个版本库之外"
 
-#: builtin/apply.c:4452
+#: builtin/apply.c:4456
 msgid "--cached outside a repository"
 msgstr "--cached 在一个版本库之外"
 
-#: builtin/apply.c:4468
+#: builtin/apply.c:4472
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "不能打开补丁 '%s'"
 
-#: builtin/apply.c:4482
+#: builtin/apply.c:4486
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: builtin/apply.c:4488 builtin/apply.c:4498
+#: builtin/apply.c:4492 builtin/apply.c:4502
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2658,7 +2753,7 @@ msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2599
+#: builtin/blame.c:2602
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
@@ -2679,7 +2774,7 @@ msgid "git branch [options] (-m | -M) [<oldbranch>] <newbranch>"
 msgstr "git branch [选项] (-m | -M) [<旧分支>] <新分支>"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:150
+#: builtin/branch.c:152
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -2689,7 +2784,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:154
+#: builtin/branch.c:156
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -2698,12 +2793,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:168
+#: builtin/branch.c:170
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:172
+#: builtin/branch.c:174
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -2712,338 +2807,338 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:185
+#: builtin/branch.c:187
 msgid "Update of config-file failed"
 msgstr "无法更新 config 文件"
 
-#: builtin/branch.c:213
+#: builtin/branch.c:215
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:219
+#: builtin/branch.c:221
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:227
+#: builtin/branch.c:229
 #, c-format
 msgid "Cannot delete the branch '%s' which you are currently on."
 msgstr "无法删除您当前所在的分支 '%s'。"
 
-#: builtin/branch.c:240
+#: builtin/branch.c:245
 #, c-format
 msgid "remote branch '%s' not found."
 msgstr "远程分支 '%s' 未发现。"
 
-#: builtin/branch.c:241
+#: builtin/branch.c:246
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:255
+#: builtin/branch.c:260
 #, c-format
 msgid "Error deleting remote branch '%s'"
 msgstr "删除远程分支 '%s' 时出错"
 
-#: builtin/branch.c:256
+#: builtin/branch.c:261
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "删除分支 '%s' 时出错"
 
-#: builtin/branch.c:263
+#: builtin/branch.c:268
 #, c-format
 msgid "Deleted remote branch %s (was %s).\n"
 msgstr "已删除远程分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:264
+#: builtin/branch.c:269
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:366
+#: builtin/branch.c:370
 #, c-format
 msgid "branch '%s' does not point at a commit"
 msgstr "分支 '%s' 未指向一个提交"
 
-#: builtin/branch.c:454
+#: builtin/branch.c:459
 #, c-format
 msgid "[%s: gone]"
 msgstr "[%s: 丢失]"
 
-#: builtin/branch.c:459
+#: builtin/branch.c:464
 #, c-format
 msgid "[%s]"
 msgstr "[%s]"
 
-#: builtin/branch.c:464
+#: builtin/branch.c:469
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s:落后 %d]"
 
-#: builtin/branch.c:466
+#: builtin/branch.c:471
 #, c-format
 msgid "[behind %d]"
 msgstr "[落后 %d]"
 
-#: builtin/branch.c:470
+#: builtin/branch.c:475
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s:领先 %d]"
 
-#: builtin/branch.c:472
+#: builtin/branch.c:477
 #, c-format
 msgid "[ahead %d]"
 msgstr "[领先 %d]"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:480
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s:领先 %d,落后 %d]"
 
-#: builtin/branch.c:478
+#: builtin/branch.c:483
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[领先 %d,落后 %d]"
 
-#: builtin/branch.c:502
+#: builtin/branch.c:496
 msgid " **** invalid ref ****"
 msgstr " **** 无效引用 ****"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:587
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:590
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:593
 #, c-format
 msgid "(detached from %s)"
 msgstr "(分离自 %s)"
 
-#: builtin/branch.c:603
+#: builtin/branch.c:596
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:643
 #, c-format
 msgid "object '%s' does not point to a commit"
 msgstr "对象 '%s' 没有指向一个提交"
 
-#: builtin/branch.c:681
+#: builtin/branch.c:691
 msgid "some refs could not be read"
 msgstr "一些引用不能读取"
 
-#: builtin/branch.c:694
+#: builtin/branch.c:704
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:704
+#: builtin/branch.c:714
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:719
+#: builtin/branch.c:729
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:733
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:727
+#: builtin/branch.c:737
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:734
+#: builtin/branch.c:744
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新 config 文件失败"
 
-#: builtin/branch.c:749
+#: builtin/branch.c:759
 #, c-format
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:783
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "不能写分支描述模版:%s"
 
-#: builtin/branch.c:803
+#: builtin/branch.c:813
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:805
+#: builtin/branch.c:815
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:806
+#: builtin/branch.c:816
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:807
+#: builtin/branch.c:817
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:809
+#: builtin/branch.c:819
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:823
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:814
+#: builtin/branch.c:824
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:817 builtin/branch.c:823 builtin/branch.c:844
-#: builtin/branch.c:850 builtin/commit.c:1573 builtin/commit.c:1574
-#: builtin/commit.c:1575 builtin/commit.c:1576 builtin/tag.c:615
-#: builtin/tag.c:621
+#: builtin/branch.c:827 builtin/branch.c:833 builtin/branch.c:854
+#: builtin/branch.c:860 builtin/commit.c:1622 builtin/commit.c:1623
+#: builtin/commit.c:1624 builtin/commit.c:1625 builtin/tag.c:616
+#: builtin/tag.c:622
 msgid "commit"
 msgstr "提交"
 
-#: builtin/branch.c:818 builtin/branch.c:824
+#: builtin/branch.c:828 builtin/branch.c:834
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:830
+#: builtin/branch.c:840
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:831
+#: builtin/branch.c:841
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:833
+#: builtin/branch.c:843
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:834
+#: builtin/branch.c:844
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:835
+#: builtin/branch.c:845
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:846
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:837
+#: builtin/branch.c:847
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:838
+#: builtin/branch.c:848
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:850
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:841
+#: builtin/branch.c:851
 msgid "force creation (when already exists)"
 msgstr "强制创建(当已经存在)"
 
-#: builtin/branch.c:844
+#: builtin/branch.c:854
 msgid "print only not merged branches"
 msgstr "只打印没有合并的分支"
 
-#: builtin/branch.c:850
+#: builtin/branch.c:860
 msgid "print only merged branches"
 msgstr "只打印合并的分支"
 
-#: builtin/branch.c:854
+#: builtin/branch.c:864
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:867
+#: builtin/branch.c:877
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:872 builtin/clone.c:636
+#: builtin/branch.c:881 builtin/clone.c:634
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:896
+#: builtin/branch.c:903
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:902 builtin/branch.c:941
+#: builtin/branch.c:909 builtin/branch.c:948
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:917
+#: builtin/branch.c:924
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:922
+#: builtin/branch.c:929
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:929
+#: builtin/branch.c:936
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:932
+#: builtin/branch.c:939
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:947
+#: builtin/branch.c:954
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:952
+#: builtin/branch.c:959
 msgid "too many branches to set new upstream"
 msgstr "为设置新上游提供了太多的分支名"
 
-#: builtin/branch.c:956
+#: builtin/branch.c:963
 #, 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:959 builtin/branch.c:981 builtin/branch.c:1002
+#: builtin/branch.c:966 builtin/branch.c:988 builtin/branch.c:1009
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:963
+#: builtin/branch.c:970
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:975
+#: builtin/branch.c:982
 msgid "too many branches to unset upstream"
 msgstr "为取消上游设置操作提供了太多的分支名"
 
-#: builtin/branch.c:979
+#: builtin/branch.c:986
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:985
+#: builtin/branch.c:992
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:999
+#: builtin/branch.c:1006
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "手工创建 'HEAD' 没有意义"
 
-#: builtin/branch.c:1005
+#: builtin/branch.c:1012
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:1008
+#: builtin/branch.c:1015
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3051,7 +3146,7 @@ msgid ""
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:1025
+#: builtin/branch.c:1032
 #, c-format
 msgid ""
 "\n"
@@ -3062,12 +3157,12 @@ msgstr ""
 "如果你想用 '%s' 跟踪 '%s', 这么做:\n"
 "\n"
 
-#: builtin/branch.c:1026
+#: builtin/branch.c:1033
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:1027
+#: builtin/branch.c:1034
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3085,43 +3180,43 @@ msgstr "需要一个版本库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个版本库来解包。"
 
-#: builtin/cat-file.c:331
+#: builtin/cat-file.c:332
 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>"
 msgstr "git cat-file (-t|-s|-e|-p|<类型>|--textconv) <对象>"
 
-#: builtin/cat-file.c:332
+#: builtin/cat-file.c:333
 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>"
 msgstr "git cat-file (--batch|--batch-check) < <对象列表>"
 
-#: builtin/cat-file.c:369
+#: builtin/cat-file.c:370
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:370
+#: builtin/cat-file.c:371
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:371
+#: builtin/cat-file.c:372
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:373
+#: builtin/cat-file.c:374
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:374
+#: builtin/cat-file.c:375
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:376
+#: builtin/cat-file.c:377
 msgid "for blob objects, run textconv on object's content"
 msgstr "对于数据(blob)对象,对其内容执行 textconv"
 
-#: builtin/cat-file.c:378
+#: builtin/cat-file.c:379
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:381
+#: builtin/cat-file.c:382
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
@@ -3141,7 +3236,7 @@ msgstr "报告设置在文件上的所有属性"
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:75
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:98
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
@@ -3149,7 +3244,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1083 builtin/gc.c:285
+#: builtin/check-ignore.c:18 builtin/checkout.c:1089 builtin/gc.c:274
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -3313,47 +3408,47 @@ msgstr "路径 '%s' 未合并"
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:591
+#: builtin/checkout.c:597
 #, c-format
 msgid "Can not do reflog for '%s'\n"
 msgstr "不能对 '%s' 执行 reflog 操作\n"
 
-#: builtin/checkout.c:629
+#: builtin/checkout.c:635
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:636
+#: builtin/checkout.c:642
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:639
+#: builtin/checkout.c:645
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:643
+#: builtin/checkout.c:649
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:645 builtin/checkout.c:1026
+#: builtin/checkout.c:651 builtin/checkout.c:1032
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:647
+#: builtin/checkout.c:653
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:699
+#: builtin/checkout.c:705
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:705
+#: builtin/checkout.c:711
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -3374,7 +3469,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:723
+#: builtin/checkout.c:729
 #, c-format
 msgid ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
@@ -3389,139 +3484,139 @@ msgstr ""
 " git branch new_branch_name %s\n"
 "\n"
 
-#: builtin/checkout.c:753
+#: builtin/checkout.c:759
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:757
+#: builtin/checkout.c:763
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:784 builtin/checkout.c:1021
+#: builtin/checkout.c:790 builtin/checkout.c:1027
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:928
+#: builtin/checkout.c:934
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "只要一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:967
+#: builtin/checkout.c:973
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:996
+#: builtin/checkout.c:1002
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1035
+#: builtin/checkout.c:1041
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1038 builtin/checkout.c:1042
+#: builtin/checkout.c:1044 builtin/checkout.c:1048
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1046 builtin/checkout.c:1049 builtin/checkout.c:1054
-#: builtin/checkout.c:1057
+#: builtin/checkout.c:1052 builtin/checkout.c:1055 builtin/checkout.c:1060
+#: builtin/checkout.c:1063
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1062
+#: builtin/checkout.c:1068
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1084 builtin/checkout.c:1086 builtin/clone.c:88
+#: builtin/checkout.c:1090 builtin/checkout.c:1092 builtin/clone.c:89
 #: builtin/remote.c:159 builtin/remote.c:161
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1085
+#: builtin/checkout.c:1091
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1087
+#: builtin/checkout.c:1093
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1088
+#: builtin/checkout.c:1094
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1089
+#: builtin/checkout.c:1095
 msgid "detach the HEAD at named commit"
 msgstr "成为指向该提交的分离头指针"
 
-#: builtin/checkout.c:1090
+#: builtin/checkout.c:1096
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1092
+#: builtin/checkout.c:1098
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1092
+#: builtin/checkout.c:1098
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1093
+#: builtin/checkout.c:1099
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1095
+#: builtin/checkout.c:1101
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1103
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1098
+#: builtin/checkout.c:1104
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三路合并"
 
-#: builtin/checkout.c:1099 builtin/merge.c:225
+#: builtin/checkout.c:1105 builtin/merge.c:226
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1100 builtin/log.c:1236 parse-options.h:245
+#: builtin/checkout.c:1106 builtin/log.c:1239 parse-options.h:245
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1101
+#: builtin/checkout.c:1107
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1104
+#: builtin/checkout.c:1110
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1106
+#: builtin/checkout.c:1112
 msgid "second guess 'git checkout no-such-branch'"
 msgstr "再者猜测'git checkout no-such-branch'"
 
-#: builtin/checkout.c:1129
+#: builtin/checkout.c:1135
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1152
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1157
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1190
+#: builtin/checkout.c:1194
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1201
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3530,12 +3625,12 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1202
+#: builtin/checkout.c:1206
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1206
+#: builtin/checkout.c:1210
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -3685,7 +3780,7 @@ msgstr "交互式清除"
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:880 builtin/describe.c:406 builtin/grep.c:714
+#: builtin/clean.c:880 builtin/describe.c:407 builtin/grep.c:714
 #: builtin/ls-files.c:486 builtin/name-rev.c:311 builtin/show-ref.c:185
 msgid "pattern"
 msgstr "模式"
@@ -3720,145 +3815,145 @@ msgid ""
 msgstr ""
 "clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clone.c:36
+#: builtin/clone.c:37
 msgid "git clone [options] [--] <repo> [<dir>]"
 msgstr "git clone [选项] [--] <版本库> [<路径>]"
 
-#: builtin/clone.c:64 builtin/fetch.c:112 builtin/merge.c:222
-#: builtin/push.c:503
+#: builtin/clone.c:65 builtin/fetch.c:112 builtin/merge.c:223
+#: builtin/push.c:514
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:486
+#: builtin/clone.c:68 builtin/clone.c:70 builtin/init-db.c:488
 msgid "create a bare repository"
-msgstr "创建一个版本库"
+msgstr "创建一个版本库"
 
-#: builtin/clone.c:71
+#: builtin/clone.c:72
 msgid "create a mirror repository (implies bare)"
-msgstr "创建一个镜像版本库(也是版本库)"
+msgstr "创建一个镜像版本库(也是版本库)"
 
-#: builtin/clone.c:73
+#: builtin/clone.c:74
 msgid "to clone from a local repository"
 msgstr "从本地版本库克隆"
 
-#: builtin/clone.c:75
+#: builtin/clone.c:76
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:77
+#: builtin/clone.c:78
 msgid "setup as shared repository"
 msgstr "设置为共享版本库"
 
-#: builtin/clone.c:79 builtin/clone.c:81
+#: builtin/clone.c:80 builtin/clone.c:82
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:82 builtin/init-db.c:483
+#: builtin/clone.c:83 builtin/init-db.c:485
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:83 builtin/init-db.c:484
+#: builtin/clone.c:84 builtin/init-db.c:486
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:86
 msgid "reference repository"
 msgstr "参考版本库"
 
-#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:88
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用<名称>而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:90
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出<分支>而不是远程HEAD"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:92
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:92 builtin/fetch.c:113 builtin/grep.c:659
+#: builtin/clone.c:93 builtin/fetch.c:113 builtin/grep.c:659
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:94
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:96
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:96 builtin/init-db.c:492
+#: builtin/clone.c:97 builtin/init-db.c:494
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:97 builtin/init-db.c:493
+#: builtin/clone.c:98 builtin/init-db.c:495
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:99
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:100
 msgid "set config inside the new repository"
 msgstr "在新版本库中设置配置信息"
 
-#: builtin/clone.c:252
+#: builtin/clone.c:253
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考版本库 '%s' 不是一个本地版本库。"
 
-#: builtin/clone.c:256
+#: builtin/clone.c:257
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考版本库 '%s' 是一个浅克隆"
 
-#: builtin/clone.c:259
+#: builtin/clone.c:260
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考版本库 '%s' 已被嫁接"
 
-#: builtin/clone.c:321
+#: builtin/clone.c:322
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
 
-#: builtin/clone.c:323 builtin/diff.c:83
+#: builtin/clone.c:324 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法枚举 '%s' 状态"
 
-#: builtin/clone.c:325
+#: builtin/clone.c:326
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:339
+#: builtin/clone.c:340
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "无法枚举 %s 状态\n"
 
-#: builtin/clone.c:361
+#: builtin/clone.c:362
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:365
+#: builtin/clone.c:366
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:388 builtin/clone.c:565
+#: builtin/clone.c:389 builtin/clone.c:563
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
@@ -3873,108 +3968,108 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:480
+#: builtin/clone.c:478
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:560
+#: builtin/clone.c:558
 #, c-format
 msgid "Checking connectivity... "
 msgstr "检查连接... "
 
-#: builtin/clone.c:563
+#: builtin/clone.c:561
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:627
+#: builtin/clone.c:625
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:658
+#: builtin/clone.c:656
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:768
+#: builtin/clone.c:765
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:772
+#: builtin/clone.c:769
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个版本库来克隆。"
 
-#: builtin/clone.c:783
+#: builtin/clone.c:780
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:786
+#: builtin/clone.c:783
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:799
+#: builtin/clone.c:796
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "版本库 '%s' 不存在"
 
-#: builtin/clone.c:805 builtin/fetch.c:1143
+#: builtin/clone.c:802 builtin/fetch.c:1155
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:815
+#: builtin/clone.c:812
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:825
+#: builtin/clone.c:822
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:838 builtin/clone.c:850
+#: builtin/clone.c:835 builtin/clone.c:847
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:841
+#: builtin/clone.c:838
 #, c-format
 msgid "could not create work tree dir '%s'."
 msgstr "不能为 '%s' 创建工作区目录。"
 
-#: builtin/clone.c:860
+#: builtin/clone.c:857
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
-msgstr "克隆到版本库 '%s'...\n"
+msgstr "克隆到版本库 '%s'...\n"
 
-#: builtin/clone.c:862
+#: builtin/clone.c:859
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:898
+#: builtin/clone.c:895
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆被忽略,改为 file:// 协议试试。"
 
-#: builtin/clone.c:901
+#: builtin/clone.c:898
 msgid "source repository is shallow, ignoring --local"
 msgstr "源版本库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:906
+#: builtin/clone.c:903
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:910
+#: builtin/clone.c:907
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "不知道如何克隆 %s"
 
-#: builtin/clone.c:961 builtin/clone.c:969
+#: builtin/clone.c:958 builtin/clone.c:966
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:972
+#: builtin/clone.c:969
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空版本库。"
 
@@ -4010,15 +4105,39 @@ msgstr "两列之间的填充空间"
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
-#: builtin/commit.c:36
+#: builtin/commit.c:37
 msgid "git commit [options] [--] <pathspec>..."
 msgstr "git commit [选项] [--] <路径规则>..."
 
-#: builtin/commit.c:41
+#: builtin/commit.c:42
 msgid "git status [options] [--] <pathspec>..."
 msgstr "git status [选项] [--] <路径规则>..."
 
-#: builtin/commit.c:46
+#: builtin/commit.c:47
+msgid ""
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+msgstr ""
+"您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确\n"
+"与否。您可以对其进行设置以免再出现本提示信息。运行如下命令在编辑器\n"
+"中编辑您的配置文件:\n"
+"\n"
+"    git config --global --edit\n"
+"\n"
+"设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:\n"
+"\n"
+"    git commit --amend --reset-author\n"
+
+#: builtin/commit.c:60
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4032,7 +4151,7 @@ msgid ""
 "    git commit --amend --reset-author\n"
 msgstr ""
 "您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确\n"
-"与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息:\n"
+"与否。您可以对其进行设置以免再出现本提示信息:\n"
 "\n"
 "    git config --global user.name \"Your Name\"\n"
 "    git config --global user.email you@example.com\n"
@@ -4041,7 +4160,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:58
+#: builtin/commit.c:72
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -4050,7 +4169,7 @@ msgstr ""
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
-#: builtin/commit.c:63
+#: builtin/commit.c:77
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -4064,11 +4183,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:70
+#: builtin/commit.c:84
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "否则,请使用命令 'git reset'\n"
 
-#: builtin/commit.c:73
+#: builtin/commit.c:87
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -4084,100 +4203,117 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:288
+#: builtin/commit.c:302
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:328
+#: builtin/commit.c:342
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:334
+#: builtin/commit.c:348
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:366 builtin/commit.c:387 builtin/commit.c:435
+#: builtin/commit.c:359
+msgid "unable to write index file"
+msgstr "无法写入索引文件"
+
+#: builtin/commit.c:361
+msgid "unable to update temporary index"
+msgstr "无法更新临时索引"
+
+#: builtin/commit.c:363
+msgid "Failed to update main cache tree"
+msgstr "不能更新树的主缓存"
+
+#: builtin/commit.c:387 builtin/commit.c:412 builtin/commit.c:461
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:418
+#: builtin/commit.c:443
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:420
+#: builtin/commit.c:445
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:429
+#: builtin/commit.c:454
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:447
+#: builtin/commit.c:473
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:557 builtin/commit.c:563
+#: builtin/commit.c:592
+#, c-format
+msgid "commit '%s' lacks author header"
+msgstr "提交 '%s' 缺少作者信息"
+
+#: builtin/commit.c:594
 #, c-format
-msgid "invalid commit: %s"
-msgstr "æ\97 æ\95\88ç\9a\84æ\8f\90交ï¼\9a%s"
+msgid "commit '%s' has malformed author line"
+msgstr "æ\8f\90交 '%s' æ\9c\89é\9d\9eæ³\95ç\9a\84ä½\9cè\80\85ä¿¡æ\81¯"
 
-#: builtin/commit.c:585
+#: builtin/commit.c:613
 msgid "malformed --author parameter"
 msgstr "非法的 --author 参数"
 
-#: builtin/commit.c:592
+#: builtin/commit.c:621
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: builtin/commit.c:609
+#: builtin/commit.c:642
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "非法的身份字符串:'%s'"
 
-#: builtin/commit.c:642
+#: builtin/commit.c:675
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:679 builtin/commit.c:712 builtin/commit.c:1086
+#: builtin/commit.c:712 builtin/commit.c:745 builtin/commit.c:1120
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:691 builtin/shortlog.c:273
+#: builtin/commit.c:724 builtin/shortlog.c:273
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:693
+#: builtin/commit.c:726
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:697
+#: builtin/commit.c:730
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:719
+#: builtin/commit.c:752
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:723
+#: builtin/commit.c:756
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:727
+#: builtin/commit.c:760
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/commit.c:798
+#: builtin/commit.c:831
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:816
+#: builtin/commit.c:849
 #, c-format
 msgid ""
 "\n"
@@ -4191,7 +4327,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:821
+#: builtin/commit.c:854
 #, c-format
 msgid ""
 "\n"
@@ -4205,7 +4341,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:867
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4214,7 +4350,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:841
+#: builtin/commit.c:874
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4225,364 +4361,356 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:855
+#: builtin/commit.c:888
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:863
+#: builtin/commit.c:896
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:870
+#: builtin/commit.c:903
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:888
+#: builtin/commit.c:921
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:945
+#: builtin/commit.c:978
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:960 builtin/tag.c:495
+#: builtin/commit.c:993 builtin/tag.c:495
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1061
+#: builtin/commit.c:1095
 #, c-format
 msgid "No existing author found with '%s'"
 msgstr "没有找到匹配 '%s' 的作者"
 
-#: builtin/commit.c:1076 builtin/commit.c:1316
+#: builtin/commit.c:1110 builtin/commit.c:1350
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1113
+#: builtin/commit.c:1147
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1143
+#: builtin/commit.c:1177
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1152
+#: builtin/commit.c:1186
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1189
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1157
+#: builtin/commit.c:1191
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1194
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1170
+#: builtin/commit.c:1204
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1172
+#: builtin/commit.c:1206
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "选项 -m 不能和 -c/-C/-F/--fixup 同时使用。"
 
-#: builtin/commit.c:1180
+#: builtin/commit.c:1214
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1197
+#: builtin/commit.c:1231
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1199
+#: builtin/commit.c:1233
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1201
+#: builtin/commit.c:1235
 msgid "Clever... amending the last one with dirty index."
 msgstr "聪明... 在索引不干净下修补最后的提交。"
 
-#: builtin/commit.c:1203
+#: builtin/commit.c:1237
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项,认为是 --only paths..."
 
-#: builtin/commit.c:1215 builtin/tag.c:727
+#: builtin/commit.c:1249 builtin/tag.c:728
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1220
+#: builtin/commit.c:1254
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1330 builtin/commit.c:1595
+#: builtin/commit.c:1364 builtin/commit.c:1644
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1332 builtin/commit.c:1597
+#: builtin/commit.c:1366 builtin/commit.c:1646
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1334 builtin/commit.c:1599 builtin/push.c:489
+#: builtin/commit.c:1368 builtin/commit.c:1648 builtin/push.c:500
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1337 builtin/commit.c:1601
+#: builtin/commit.c:1371 builtin/commit.c:1650
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1340 builtin/commit.c:1604
+#: builtin/commit.c:1374 builtin/commit.c:1653
 msgid "terminate entries with NUL"
 msgstr "条目以NUL字符结尾"
 
-#: builtin/commit.c:1342 builtin/commit.c:1607 builtin/fast-export.c:703
-#: builtin/fast-export.c:706 builtin/tag.c:602
+#: builtin/commit.c:1376 builtin/commit.c:1656 builtin/fast-export.c:980
+#: builtin/fast-export.c:983 builtin/tag.c:603
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1343 builtin/commit.c:1607
+#: builtin/commit.c:1377 builtin/commit.c:1656
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1346
+#: builtin/commit.c:1380
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1347 parse-options.h:153
+#: builtin/commit.c:1381 parse-options.h:153
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1382
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1350
+#: builtin/commit.c:1384
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1419
+#: builtin/commit.c:1471
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1421
+#: builtin/commit.c:1473
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1469
+#: builtin/commit.c:1518
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1471
+#: builtin/commit.c:1521
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1565
+#: builtin/commit.c:1614
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1566
+#: builtin/commit.c:1615
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1568
+#: builtin/commit.c:1617
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1569 builtin/tag.c:600
+#: builtin/commit.c:1618 builtin/tag.c:601
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1570
+#: builtin/commit.c:1619
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1570
+#: builtin/commit.c:1619
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1571 builtin/gc.c:286
+#: builtin/commit.c:1620 builtin/gc.c:275
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1571
+#: builtin/commit.c:1620
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1572 builtin/merge.c:216 builtin/notes.c:409
-#: builtin/notes.c:566 builtin/tag.c:598
+#: builtin/commit.c:1621 builtin/merge.c:217 builtin/notes.c:408
+#: builtin/notes.c:565 builtin/tag.c:599
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1572
+#: builtin/commit.c:1621
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1622
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1574
+#: builtin/commit.c:1623
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1575
+#: builtin/commit.c:1624
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1576
+#: builtin/commit.c:1625
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1577
+#: builtin/commit.c:1626
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1578 builtin/log.c:1188 builtin/revert.c:86
+#: builtin/commit.c:1627 builtin/log.c:1191 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1579
+#: builtin/commit.c:1628
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1629
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1581
+#: builtin/commit.c:1630
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1581 builtin/tag.c:603
+#: builtin/commit.c:1630 builtin/tag.c:604
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1582
+#: builtin/commit.c:1631
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1583 builtin/merge.c:223 builtin/revert.c:92
-#: builtin/tag.c:604
+#: builtin/commit.c:1632 builtin/merge.c:224 builtin/revert.c:92
+#: builtin/tag.c:605
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/commit.c:1584 builtin/merge.c:224 builtin/revert.c:93
+#: builtin/commit.c:1633 builtin/merge.c:225 builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1636
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1637
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1589
+#: builtin/commit.c:1638
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1639
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1591
+#: builtin/commit.c:1640
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1641
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1642
 msgid "bypass pre-commit hook"
 msgstr "绕过 pre-commit 钩子"
 
-#: builtin/commit.c:1594
+#: builtin/commit.c:1643
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1605
+#: builtin/commit.c:1654
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1655
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1611
+#: builtin/commit.c:1660
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1662
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1641
+#: builtin/commit.c:1691
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1680 builtin/merge.c:518
+#: builtin/commit.c:1730 builtin/merge.c:518
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "不能为读入打开 '%s'"
 
-#: builtin/commit.c:1687
+#: builtin/commit.c:1737
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1694
+#: builtin/commit.c:1744
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1713
+#: builtin/commit.c:1763
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1724
+#: builtin/commit.c:1774
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1729
+#: builtin/commit.c:1779
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1744 builtin/merge.c:851 builtin/merge.c:876
+#: builtin/commit.c:1794 builtin/merge.c:850 builtin/merge.c:875
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: builtin/commit.c:1756
-msgid "cannot lock HEAD ref"
-msgstr "无法锁定 HEAD 引用"
-
-#: builtin/commit.c:1769
-msgid "cannot update HEAD ref"
-msgstr "无法更新 HEAD 引用"
-
-#: builtin/commit.c:1780
+#: builtin/commit.c:1827
 msgid ""
 "Repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full or quota is\n"
+"new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
 "版本库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
@@ -4716,63 +4844,87 @@ msgstr "终止值是NUL字节"
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/count-objects.c:82
+#: builtin/config.c:315
+msgid "unable to parse default color value"
+msgstr "不能解析缺省的颜色值"
+
+#: builtin/config.c:455
+#, c-format
+msgid ""
+"# This is Git's per-user configuration file.\n"
+"[core]\n"
+"# Please adapt and uncomment the following lines:\n"
+"#\tuser = %s\n"
+"#\temail = %s\n"
+msgstr ""
+"# This is Git's per-user configuration file.\n"
+"[core]\n"
+"# Please adapt and uncomment the following lines:\n"
+"#\tuser = %s\n"
+"#\temail = %s\n"
+
+#: builtin/config.c:590
+#, c-format
+msgid "cannot create configuration file %s"
+msgstr "不能创建配置文件 %s"
+
+#: builtin/count-objects.c:55
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:97
+#: builtin/count-objects.c:65
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
-#: builtin/describe.c:16
+#: builtin/describe.c:17
 msgid "git describe [options] <commit-ish>*"
 msgstr "git describe [选项] <提交号>*"
 
-#: builtin/describe.c:17
+#: builtin/describe.c:18
 msgid "git describe [options] --dirty"
 msgstr "git describe [选项] --dirty"
 
-#: builtin/describe.c:216
+#: builtin/describe.c:217
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "注释 tag %s 无效"
 
-#: builtin/describe.c:220
+#: builtin/describe.c:221
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "注释 tag %s 没有嵌入名称"
 
-#: builtin/describe.c:222
+#: builtin/describe.c:223
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "tag '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:249
+#: builtin/describe.c:250 builtin/log.c:452
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 
-#: builtin/describe.c:252
+#: builtin/describe.c:253
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: builtin/describe.c:269
+#: builtin/describe.c:270
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "没有 tag 准确匹配 '%s'"
 
-#: builtin/describe.c:271
+#: builtin/describe.c:272
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "搜索描述 %s\n"
 
-#: builtin/describe.c:318
+#: builtin/describe.c:319
 #, c-format
 msgid "finished search at %s\n"
 msgstr "完成搜索 %s\n"
 
-#: builtin/describe.c:345
+#: builtin/describe.c:346
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -4781,7 +4933,7 @@ msgstr ""
 "没有注释 tag 能描述 '%s'。\n"
 "然而,有非注释 tag:尝试 --tags。"
 
-#: builtin/describe.c:349
+#: builtin/describe.c:350
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -4790,12 +4942,12 @@ msgstr ""
 "没有注释 tag 能描述 '%s'。\n"
 "尝试 --always,或者创建一些 tag。"
 
-#: builtin/describe.c:370
+#: builtin/describe.c:371
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "已遍历 %lu 个提交\n"
 
-#: builtin/describe.c:373
+#: builtin/describe.c:374
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -4804,143 +4956,147 @@ msgstr ""
 "发现多于 %i 个 tag,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
-#: builtin/describe.c:395
+#: builtin/describe.c:396
 msgid "find the tag that comes after the commit"
 msgstr "寻找提交之后的 tag(用于描述提交)"
 
-#: builtin/describe.c:396
+#: builtin/describe.c:397
 msgid "debug search strategy on stderr"
 msgstr "在标准错误上调试搜索策略"
 
-#: builtin/describe.c:397
+#: builtin/describe.c:398
 msgid "use any ref"
 msgstr "使用任意引用"
 
-#: builtin/describe.c:398
+#: builtin/describe.c:399
 msgid "use any tag, even unannotated"
 msgstr "使用任意 tag,即使未带注解"
 
-#: builtin/describe.c:399
+#: builtin/describe.c:400
 msgid "always use long format"
 msgstr "始终使用长提交号格式"
 
-#: builtin/describe.c:400
+#: builtin/describe.c:401
 msgid "only follow first parent"
 msgstr "只跟随第一个父提交"
 
-#: builtin/describe.c:403
+#: builtin/describe.c:404
 msgid "only output exact matches"
 msgstr "只输出精确匹配"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:406
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "考虑最近 <n> 个 tags(默认:10)"
 
-#: builtin/describe.c:407
+#: builtin/describe.c:408
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的 tags"
 
-#: builtin/describe.c:409 builtin/name-rev.c:318
+#: builtin/describe.c:410 builtin/name-rev.c:318
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
-#: builtin/describe.c:410
+#: builtin/describe.c:411
 msgid "mark"
 msgstr "标记"
 
-#: builtin/describe.c:411
+#: builtin/describe.c:412
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "若工作区脏(有变更)在结尾添加 <标记>(默认:\"-dirty\")"
 
-#: builtin/describe.c:429
+#: builtin/describe.c:430
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long 与 --abbrev=0 不兼容"
 
-#: builtin/describe.c:455
+#: builtin/describe.c:456
 msgid "No names found, cannot describe anything."
 msgstr "没有发现名称,无法描述任何东西。"
 
-#: builtin/describe.c:475
+#: builtin/describe.c:476
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty 不能与提交同时使用"
 
-#: builtin/diff.c:85
+#: builtin/diff.c:86
 #, c-format
 msgid "'%s': not a regular file or symlink"
 msgstr "'%s':不是一个正规文件或符号链接"
 
-#: builtin/diff.c:236
+#: builtin/diff.c:237
 #, c-format
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:357
+#: builtin/diff.c:358
 msgid "Not a git repository"
 msgstr "不是一个 git 版本库"
 
-#: builtin/diff.c:400
+#: builtin/diff.c:401
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:409
+#: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据(blob)对象:'%s'"
 
-#: builtin/diff.c:416
+#: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
-#: builtin/fast-export.c:23
+#: builtin/fast-export.c:24
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:702
+#: builtin/fast-export.c:979
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
-#: builtin/fast-export.c:704
+#: builtin/fast-export.c:981
 msgid "select handling of signed tags"
 msgstr "选择如何处理签名 tags"
 
-#: builtin/fast-export.c:707
+#: builtin/fast-export.c:984
 msgid "select handling of tags that tag filtered objects"
 msgstr "选择当 tag 指向被过滤时 tags 的处理方式"
 
-#: builtin/fast-export.c:710
+#: builtin/fast-export.c:987
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
-#: builtin/fast-export.c:712
+#: builtin/fast-export.c:989
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
-#: builtin/fast-export.c:714
+#: builtin/fast-export.c:991
 msgid "Fake a tagger when tags lack one"
 msgstr "当 tags 缺少标记者字段时,假装提供一个"
 
-#: builtin/fast-export.c:716
+#: builtin/fast-export.c:993
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
-#: builtin/fast-export.c:718
+#: builtin/fast-export.c:995
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
-#: builtin/fast-export.c:719
+#: builtin/fast-export.c:996
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:720
+#: builtin/fast-export.c:997
 msgid "refspec"
 msgstr "引用表达式"
 
-#: builtin/fast-export.c:721
+#: builtin/fast-export.c:998
 msgid "Apply refspec to exported refs"
 msgstr "对导出的引用应用引用表达式"
 
+#: builtin/fast-export.c:999
+msgid "anonymize output"
+msgstr "匿名输出"
+
 #: builtin/fetch.c:20
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<版本库> [<引用规则>...]]"
@@ -5014,7 +5170,7 @@ msgstr "深化浅克隆的历史"
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的版本库"
 
-#: builtin/fetch.c:118 builtin/log.c:1205
+#: builtin/fetch.c:118 builtin/log.c:1208
 msgid "dir"
 msgstr "目录"
 
@@ -5042,78 +5198,78 @@ msgstr "指定获取操作的引用映射"
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:440
+#: builtin/fetch.c:454
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:445
+#: builtin/fetch.c:459
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:459
+#: builtin/fetch.c:473
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
 msgstr "! %-*s %-*s -> %s  (在当前分支下不能获取)"
 
-#: builtin/fetch.c:460 builtin/fetch.c:546
+#: builtin/fetch.c:474 builtin/fetch.c:560
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:471
+#: builtin/fetch.c:485
 msgid "[tag update]"
 msgstr "[tag更新]"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:473 builtin/fetch.c:508 builtin/fetch.c:526
+#: builtin/fetch.c:487 builtin/fetch.c:522 builtin/fetch.c:540
 msgid "  (unable to update local ref)"
 msgstr "  (不能更新本地引用)"
 
-#: builtin/fetch.c:491
+#: builtin/fetch.c:505
 msgid "[new tag]"
 msgstr "[新tag]"
 
-#: builtin/fetch.c:494
+#: builtin/fetch.c:508
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:497
+#: builtin/fetch.c:511
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:542
+#: builtin/fetch.c:556
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:542
+#: builtin/fetch.c:556
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:548
+#: builtin/fetch.c:562
 msgid "(non-fast-forward)"
 msgstr "(非快进式)"
 
-#: builtin/fetch.c:581 builtin/fetch.c:814
+#: builtin/fetch.c:595 builtin/fetch.c:828
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "无法打开 %s:%s\n"
 
-#: builtin/fetch.c:590
+#: builtin/fetch.c:604
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:622
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:696 builtin/fetch.c:779
+#: builtin/fetch.c:710 builtin/fetch.c:793
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:707
+#: builtin/fetch.c:721
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -5123,87 +5279,87 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:759
+#: builtin/fetch.c:773
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:760
+#: builtin/fetch.c:774
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:784
+#: builtin/fetch.c:798
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:785 builtin/remote.c:1059
+#: builtin/fetch.c:799 builtin/remote.c:1063
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:804
+#: builtin/fetch.c:818
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
-msgstr "拒绝获取到非版本库的当前分支 %s"
+msgstr "拒绝获取到非版本库的当前分支 %s"
 
-#: builtin/fetch.c:823
+#: builtin/fetch.c:837
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:826
+#: builtin/fetch.c:840
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:882
+#: builtin/fetch.c:896
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "不知道如何从 %s 获取"
 
-#: builtin/fetch.c:1044
+#: builtin/fetch.c:1058
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1046 builtin/remote.c:90
+#: builtin/fetch.c:1060 builtin/remote.c:90
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1064
+#: builtin/fetch.c:1078
 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:1087
+#: builtin/fetch.c:1101
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个 tag 名称。"
 
-#: builtin/fetch.c:1131
+#: builtin/fetch.c:1143
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1133
+#: builtin/fetch.c:1145
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的版本库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1156
+#: builtin/fetch.c:1168
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个版本库参数"
 
-#: builtin/fetch.c:1158
+#: builtin/fetch.c:1170
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规则没有任何意义"
 
-#: builtin/fetch.c:1169
+#: builtin/fetch.c:1181
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1177
+#: builtin/fetch.c:1189
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规则没有意义"
 
@@ -5213,8 +5369,8 @@ msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 
 #: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:698
-#: builtin/merge.c:196 builtin/repack.c:179 builtin/repack.c:183
-#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:589
+#: builtin/merge.c:197 builtin/repack.c:179 builtin/repack.c:183
+#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:590
 #: parse-options.h:132 parse-options.h:239
 msgid "n"
 msgstr "n"
@@ -5239,99 +5395,103 @@ msgstr "使用 <文本> 作为提交说明的开始"
 msgid "file to read from"
 msgstr "从文件中读取"
 
-#: builtin/for-each-ref.c:1051
+#: builtin/for-each-ref.c:676
+msgid "unable to parse format"
+msgstr "不能解析格式"
+
+#: builtin/for-each-ref.c:1057
 msgid "git for-each-ref [options] [<pattern>]"
 msgstr "git for-each-ref [选项] [<模式>]"
 
-#: builtin/for-each-ref.c:1066
+#: builtin/for-each-ref.c:1072
 msgid "quote placeholders suitably for shells"
 msgstr "引用占位符适用于 shells"
 
-#: builtin/for-each-ref.c:1068
+#: builtin/for-each-ref.c:1074
 msgid "quote placeholders suitably for perl"
 msgstr "引用占位符适用于 perl"
 
-#: builtin/for-each-ref.c:1070
+#: builtin/for-each-ref.c:1076
 msgid "quote placeholders suitably for python"
 msgstr "引用占位符适用于 python"
 
-#: builtin/for-each-ref.c:1072
+#: builtin/for-each-ref.c:1078
 msgid "quote placeholders suitably for tcl"
 msgstr "引用占位符适用于 tcl"
 
-#: builtin/for-each-ref.c:1075
+#: builtin/for-each-ref.c:1081
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:1076 builtin/replace.c:435
+#: builtin/for-each-ref.c:1082 builtin/replace.c:438
 msgid "format"
 msgstr "格式"
 
-#: builtin/for-each-ref.c:1076
+#: builtin/for-each-ref.c:1082
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/for-each-ref.c:1077
+#: builtin/for-each-ref.c:1083
 msgid "key"
 msgstr "key"
 
-#: builtin/for-each-ref.c:1078
+#: builtin/for-each-ref.c:1084
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/fsck.c:147 builtin/prune.c:172
+#: builtin/fsck.c:147 builtin/prune.c:136
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
-#: builtin/fsck.c:538
+#: builtin/fsck.c:540
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:601
+#: builtin/fsck.c:603
 msgid "git fsck [options] [<object>...]"
 msgstr "git fsck [选项] [<对象>...]"
 
-#: builtin/fsck.c:607
+#: builtin/fsck.c:609
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:608
+#: builtin/fsck.c:610
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:609
+#: builtin/fsck.c:611
 msgid "report tags"
 msgstr "报告 tags"
 
-#: builtin/fsck.c:610
+#: builtin/fsck.c:612
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:611
+#: builtin/fsck.c:613
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:612
+#: builtin/fsck.c:614
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:613
+#: builtin/fsck.c:615
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:614
+#: builtin/fsck.c:616
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:616
+#: builtin/fsck.c:618
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:617 builtin/prune.c:144
+#: builtin/fsck.c:619 builtin/prune.c:108
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:669
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -5339,55 +5499,55 @@ msgstr "检查对象中"
 msgid "git gc [options]"
 msgstr "git gc [选项]"
 
-#: builtin/gc.c:91
+#: builtin/gc.c:79
 #, c-format
-msgid "Invalid %s: '%s'"
-msgstr "无效的 %s:'%s'"
+msgid "Invalid gc.pruneexpire: '%s'"
+msgstr "无效的 gc.pruneexpire:'%s'"
 
-#: builtin/gc.c:118
+#: builtin/gc.c:107
 #, c-format
 msgid "insanely long object directory %.*s"
 msgstr "不正常的长对象目录 %.*s"
 
-#: builtin/gc.c:287
+#: builtin/gc.c:276
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:289
+#: builtin/gc.c:278
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:290
+#: builtin/gc.c:279
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:291
+#: builtin/gc.c:280
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:332
+#: builtin/gc.c:321
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行版本库打包以求最佳性能。\n"
 
-#: builtin/gc.c:334
+#: builtin/gc.c:323
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包版本库以求最佳性能。\n"
 
-#: builtin/gc.c:335
+#: builtin/gc.c:324
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:353
+#: builtin/gc.c:342
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 "已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX> (如果不是,使用 --force)"
 
-#: builtin/gc.c:375
+#: builtin/gc.c:364
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
@@ -5618,7 +5778,7 @@ msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
-#: builtin/hash-object.c:60
+#: builtin/hash-object.c:82
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin] [--] "
 "<file>..."
@@ -5626,31 +5786,36 @@ msgstr ""
 "git hash-object [-t <类型>] [-w] [--path=<文件>|--no-filters] [--stdin] [--] "
 "<文件>..."
 
-#: builtin/hash-object.c:61
+#: builtin/hash-object.c:83
 msgid "git hash-object  --stdin-paths < <list-of-paths>"
 msgstr "git hash-object  --stdin-paths < <路径列表>"
 
-#: builtin/hash-object.c:72 builtin/tag.c:609
+#: builtin/hash-object.c:94 builtin/tag.c:610
 msgid "type"
 msgstr "类型"
 
-#: builtin/hash-object.c:72
+#: builtin/hash-object.c:94
 msgid "object type"
 msgstr "对象类型"
 
-#: builtin/hash-object.c:73
+#: builtin/hash-object.c:95
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
-#: builtin/hash-object.c:74
+#: builtin/hash-object.c:97
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/hash-object.c:76
+#: builtin/hash-object.c:99
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
-#: builtin/hash-object.c:77
+#: builtin/hash-object.c:100
+msgid ""
+"just hash any random garbage to create corrupt objects for debugging Git"
+msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
+
+#: builtin/hash-object.c:101
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
@@ -5683,25 +5848,25 @@ msgstr "git help [--all] [--guides] [--man|--web|--info] [命令]"
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:92
+#: builtin/help.c:91
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:105
+#: builtin/help.c:104
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:113
+#: builtin/help.c:112
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:131 builtin/help.c:159 builtin/help.c:168 builtin/help.c:176
+#: builtin/help.c:130 builtin/help.c:158 builtin/help.c:167 builtin/help.c:175
 #, c-format
 msgid "failed to exec '%s': %s"
 msgstr "无法执行 '%s':%s"
 
-#: builtin/help.c:216
+#: builtin/help.c:215
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -5710,7 +5875,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<tool>.cmd'。"
 
-#: builtin/help.c:228
+#: builtin/help.c:227
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -5719,23 +5884,27 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<tool>.path'。"
 
-#: builtin/help.c:353
+#: builtin/help.c:352
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:370
+#: builtin/help.c:369
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:378
+#: builtin/help.c:377
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:424
+#: builtin/help.c:423
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
+#: builtin/help.c:424
+msgid "Everyday Git With 20 Commands Or So"
+msgstr "每一天 Git 常用的约 20 条命令"
+
 #: builtin/help.c:425
 msgid "A Git glossary"
 msgstr "Git 词汇表"
@@ -5774,291 +5943,291 @@ msgstr "用法:%s%s"
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' 是 `%s' 的别名"
 
-#: builtin/index-pack.c:145
+#: builtin/index-pack.c:150
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: builtin/index-pack.c:191
+#: builtin/index-pack.c:200
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:211
+#: builtin/index-pack.c:220
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取期望的对象 %s"
 
-#: builtin/index-pack.c:214
+#: builtin/index-pack.c:223
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:期待类型 %s,却是 %s"
 
-#: builtin/index-pack.c:256
+#: builtin/index-pack.c:265
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:266
+#: builtin/index-pack.c:275
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:276
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:279
+#: builtin/index-pack.c:288
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:286
+#: builtin/index-pack.c:295
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:302
+#: builtin/index-pack.c:311
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:307
+#: builtin/index-pack.c:316
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:321
+#: builtin/index-pack.c:330
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:323
+#: builtin/index-pack.c:332
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:341
+#: builtin/index-pack.c:350
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
 msgstr "包中有错误的对象位于 %lu:%s"
 
-#: builtin/index-pack.c:462
+#: builtin/index-pack.c:471
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:511
+#: builtin/index-pack.c:520
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:519
+#: builtin/index-pack.c:528
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:527
+#: builtin/index-pack.c:536
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:558
+#: builtin/index-pack.c:567
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:560
+#: builtin/index-pack.c:569
 #, c-format
 msgid "premature end of pack file, %lu byte missing"
 msgid_plural "premature end of pack file, %lu bytes missing"
 msgstr[0] "包文件过早结束,缺少 %lu 字节"
 msgstr[1] "包文件过早结束,缺少 %lu 字节"
 
-#: builtin/index-pack.c:586
+#: builtin/index-pack.c:595
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:677 builtin/index-pack.c:683 builtin/index-pack.c:706
-#: builtin/index-pack.c:740 builtin/index-pack.c:749
+#: builtin/index-pack.c:686 builtin/index-pack.c:692 builtin/index-pack.c:715
+#: builtin/index-pack.c:749 builtin/index-pack.c:758
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:680 builtin/pack-objects.c:162
-#: builtin/pack-objects.c:254
+#: builtin/index-pack.c:689 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:256
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:746
+#: builtin/index-pack.c:755
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:760
+#: builtin/index-pack.c:769
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据(blob)对象 %s"
 
-#: builtin/index-pack.c:774
+#: builtin/index-pack.c:783
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:777
+#: builtin/index-pack.c:787
 msgid "Error in object"
 msgstr "对象中出错"
 
-#: builtin/index-pack.c:779
+#: builtin/index-pack.c:789
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:851 builtin/index-pack.c:881
+#: builtin/index-pack.c:861 builtin/index-pack.c:890
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1022
+#: builtin/index-pack.c:1055
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1022
+#: builtin/index-pack.c:1055
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1048
+#: builtin/index-pack.c:1081
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1053
+#: builtin/index-pack.c:1086
 msgid "cannot fstat packfile"
 msgstr "不能枚举包文件状态"
 
-#: builtin/index-pack.c:1056
+#: builtin/index-pack.c:1089
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1067
+#: builtin/index-pack.c:1100
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1090
+#: builtin/index-pack.c:1123
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1100
+#: builtin/index-pack.c:1133
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1142
+#: builtin/index-pack.c:1175
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1150
+#: builtin/index-pack.c:1181
 #, c-format
 msgid "completed with %d local objects"
 msgstr "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1191
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1164
+#: builtin/index-pack.c:1195
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "包有 %d 个未解决的 delta"
 msgstr[1] "包有 %d 个未解决的 delta"
 
-#: builtin/index-pack.c:1189
+#: builtin/index-pack.c:1220
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1268
+#: builtin/index-pack.c:1299
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1292
+#: builtin/index-pack.c:1323
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1305
+#: builtin/index-pack.c:1336
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1313
+#: builtin/index-pack.c:1344
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1326
+#: builtin/index-pack.c:1357
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1337
+#: builtin/index-pack.c:1368
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1370
+#: builtin/index-pack.c:1401
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1376
+#: builtin/index-pack.c:1407
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/index-pack.c:1380 builtin/index-pack.c:1559
+#: builtin/index-pack.c:1411 builtin/index-pack.c:1590
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/index-pack.c:1438
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1440
+#: builtin/index-pack.c:1471
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1487
+#: builtin/index-pack.c:1518
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
-#: builtin/index-pack.c:1494
+#: builtin/index-pack.c:1525
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1523
+#: builtin/index-pack.c:1554
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1571 builtin/index-pack.c:1574
-#: builtin/index-pack.c:1586 builtin/index-pack.c:1590
+#: builtin/index-pack.c:1602 builtin/index-pack.c:1605
+#: builtin/index-pack.c:1617 builtin/index-pack.c:1621
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1604
+#: builtin/index-pack.c:1635
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1608 builtin/index-pack.c:1617
+#: builtin/index-pack.c:1639 builtin/index-pack.c:1648
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1625
+#: builtin/index-pack.c:1656
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包名参数"
 
@@ -6168,11 +6337,7 @@ msgstr "初始化空的"
 msgid " shared"
 msgstr "共享"
 
-#: builtin/init-db.c:439
-msgid "cannot tell cwd"
-msgstr "无法获知当前路径"
-
-#: builtin/init-db.c:465
+#: builtin/init-db.c:467
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [directory]"
@@ -6180,29 +6345,29 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[目录]"
 
-#: builtin/init-db.c:488
+#: builtin/init-db.c:490
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:489
+#: builtin/init-db.c:491
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 版本库是多个用户之间共享的"
 
-#: builtin/init-db.c:491 builtin/prune-packed.c:79 builtin/repack.c:172
+#: builtin/init-db.c:493 builtin/prune-packed.c:57 builtin/repack.c:172
 msgid "be quiet"
 msgstr "保持安静"
 
-#: builtin/init-db.c:523 builtin/init-db.c:528
+#: builtin/init-db.c:525 builtin/init-db.c:530
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:532
+#: builtin/init-db.c:534
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:554
+#: builtin/init-db.c:555
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -6211,15 +6376,31 @@ msgstr ""
 "不允许 %s(或 --work-tree=<directory>)而没有指定 %s(或 --git-"
 "dir=<directory>)"
 
-#: builtin/init-db.c:578
-msgid "Cannot access current working directory"
-msgstr "不能访问当前工作目录"
-
-#: builtin/init-db.c:585
+#: builtin/init-db.c:583
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 
+#: builtin/interpret-trailers.c:15
+msgid ""
+"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
+"[<file>...]"
+msgstr ""
+"git interpret-trailers [--trim-empty] [(--trailer <键>[(=|:)<值>])...] [<文件"
+">...]"
+
+#: builtin/interpret-trailers.c:25
+msgid "trim empty trailers"
+msgstr "删除空签名"
+
+#: builtin/interpret-trailers.c:26
+msgid "trailer"
+msgstr "签名"
+
+#: builtin/interpret-trailers.c:27
+msgid "trailer(s) to add"
+msgstr "要添加的签名"
+
 #: builtin/log.c:41
 msgid "git log [<options>] [<revision range>] [[--] <path>...]\n"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]\n"
@@ -6228,6 +6409,11 @@ msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]\n"
 msgid "   or: git show [options] <object>..."
 msgstr "   或者:git show [选项] <对象>..."
 
+#: builtin/log.c:81
+#, c-format
+msgid "invalid --decorate option: %s"
+msgstr "无效的 --decorate 选项:%s"
+
 #: builtin/log.c:127
 msgid "suppress diff output"
 msgstr "不显示差异输出"
@@ -6244,245 +6430,254 @@ msgstr "使用邮件映射文件"
 msgid "decorate options"
 msgstr "修饰选项"
 
+#: builtin/log.c:133
+msgid "Process line range n,m in file, counting from 1"
+msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
+
 #: builtin/log.c:229
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:470 builtin/log.c:562
+#: builtin/log.c:458
+#, c-format
+msgid "git show %s: bad file"
+msgstr "git show %s: 损坏的文件"
+
+#: builtin/log.c:472 builtin/log.c:564
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:586
+#: builtin/log.c:588
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:687
+#: builtin/log.c:689
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:771
+#: builtin/log.c:773
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:787
+#: builtin/log.c:789
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:801
+#: builtin/log.c:803
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:809
+#: builtin/log.c:811
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:916
+#: builtin/log.c:919
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:995
+#: builtin/log.c:998
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1023
+#: builtin/log.c:1026
 msgid "git format-patch [options] [<since> | <revision range>]"
 msgstr "git format-patch [选项] [<从> | <修订集范围>]"
 
-#: builtin/log.c:1068
+#: builtin/log.c:1071
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1183
+#: builtin/log.c:1186
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1189
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1190
+#: builtin/log.c:1193
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1192
+#: builtin/log.c:1195
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1194
+#: builtin/log.c:1197
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1195
+#: builtin/log.c:1198
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1196
+#: builtin/log.c:1199
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1198
+#: builtin/log.c:1201
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1200
+#: builtin/log.c:1203
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1202
+#: builtin/log.c:1205
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1205
+#: builtin/log.c:1208
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <dir>"
 
-#: builtin/log.c:1208
+#: builtin/log.c:1211
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1211
+#: builtin/log.c:1214
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1213
+#: builtin/log.c:1216
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1215
+#: builtin/log.c:1218
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1217
+#: builtin/log.c:1220
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1218
+#: builtin/log.c:1221
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1219
+#: builtin/log.c:1222
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1220 builtin/log.c:1222
+#: builtin/log.c:1223 builtin/log.c:1225
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1220
+#: builtin/log.c:1223
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1225
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1224
+#: builtin/log.c:1227
 msgid "ident"
 msgstr "ident"
 
-#: builtin/log.c:1225
+#: builtin/log.c:1228
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "设置 From 地址为 <ident>(如若不提供,用提交者ID做为地址)"
 
-#: builtin/log.c:1227
+#: builtin/log.c:1230
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1228
+#: builtin/log.c:1231
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <message-id> 的回复"
 
-#: builtin/log.c:1229 builtin/log.c:1232
+#: builtin/log.c:1232 builtin/log.c:1235
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1230
+#: builtin/log.c:1233
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1233
+#: builtin/log.c:1236
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1237
+#: builtin/log.c:1240
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1239
+#: builtin/log.c:1242
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1240
+#: builtin/log.c:1243
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1242
+#: builtin/log.c:1245
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1243
+#: builtin/log.c:1246
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1317
+#: builtin/log.c:1320
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/log.c:1332
+#: builtin/log.c:1335
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1334
+#: builtin/log.c:1337
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix 和 -k 互斥。"
 
-#: builtin/log.c:1342
+#: builtin/log.c:1345
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1344
+#: builtin/log.c:1347
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1346
+#: builtin/log.c:1349
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1369
+#: builtin/log.c:1372
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1371
+#: builtin/log.c:1374
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1468
+#: builtin/log.c:1472
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1531
+#: builtin/log.c:1535
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1583
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1634
+#: builtin/log.c:1638
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <upstream>。\n"
 
-#: builtin/log.c:1647 builtin/log.c:1649 builtin/log.c:1661
+#: builtin/log.c:1651 builtin/log.c:1653 builtin/log.c:1665
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
@@ -6528,7 +6723,7 @@ msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
 #: builtin/ls-files.c:477
-msgid "show 'other' directories' name only"
+msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
 #: builtin/ls-files.c:480
@@ -6615,98 +6810,98 @@ msgstr "使用文件的全路径"
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
-#: builtin/merge.c:43
+#: builtin/merge.c:44
 msgid "git merge [options] [<commit>...]"
 msgstr "git merge [选项] [<提交>...]"
 
-#: builtin/merge.c:44
+#: builtin/merge.c:45
 msgid "git merge [options] <msg> HEAD <commit>"
 msgstr "git merge [选项] <说明> HEAD <提交>"
 
-#: builtin/merge.c:45
+#: builtin/merge.c:46
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:98
+#: builtin/merge.c:99
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:135
+#: builtin/merge.c:136
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:136
+#: builtin/merge.c:137
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:142
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:191
+#: builtin/merge.c:192
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:194
+#: builtin/merge.c:195
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:195
+#: builtin/merge.c:196
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:197
+#: builtin/merge.c:198
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:200
+#: builtin/merge.c:201
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:202
+#: builtin/merge.c:203
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:205
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:205
+#: builtin/merge.c:206
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:207
+#: builtin/merge.c:208
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:212
 msgid "Verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:212 builtin/notes.c:742 builtin/revert.c:89
+#: builtin/merge.c:213 builtin/notes.c:741 builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:213
+#: builtin/merge.c:214
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:214
+#: builtin/merge.c:215
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:215
+#: builtin/merge.c:216
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:217
+#: builtin/merge.c:218
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:221
+#: builtin/merge.c:222
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
@@ -6764,31 +6959,31 @@ msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
-#: builtin/merge.c:678
+#: builtin/merge.c:677
 msgid "Not handling anything other than two heads merge."
 msgstr "不能处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:692
+#: builtin/merge.c:691
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:705
+#: builtin/merge.c:704
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:794
+#: builtin/merge.c:793
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:803
+#: builtin/merge.c:802
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:809
+#: builtin/merge.c:808
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -6802,160 +6997,160 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:833
+#: builtin/merge.c:832
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:845
+#: builtin/merge.c:844
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:908
+#: builtin/merge.c:907
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:924
+#: builtin/merge.c:923
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:965
+#: builtin/merge.c:964
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:967
+#: builtin/merge.c:966
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程版本库。"
 
-#: builtin/merge.c:969
+#: builtin/merge.c:968
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:974
+#: builtin/merge.c:973
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1130
+#: builtin/merge.c:1129
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1146 git-pull.sh:31
+#: builtin/merge.c:1145
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1149 git-pull.sh:34
+#: builtin/merge.c:1148 git-pull.sh:34
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: builtin/merge.c:1153
+#: builtin/merge.c:1152
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
 msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1156
+#: builtin/merge.c:1155
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1165
+#: builtin/merge.c:1164
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1174
+#: builtin/merge.c:1173
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1206
+#: builtin/merge.c:1205
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1209
+#: builtin/merge.c:1208
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1211
+#: builtin/merge.c:1210
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1216
+#: builtin/merge.c:1215
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1266
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1270
+#: builtin/merge.c:1269
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1273
+#: builtin/merge.c:1272
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1276
+#: builtin/merge.c:1275
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1357
+#: builtin/merge.c:1356
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1396
+#: builtin/merge.c:1395
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1403
+#: builtin/merge.c:1402
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1435
+#: builtin/merge.c:1434
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1458 builtin/merge.c:1537
+#: builtin/merge.c:1457 builtin/merge.c:1536
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1462
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1528
+#: builtin/merge.c:1527
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1530
+#: builtin/merge.c:1529
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1539
+#: builtin/merge.c:1538
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1551
+#: builtin/merge.c:1550
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -7059,85 +7254,90 @@ msgstr "允许创建一个以上的树"
 msgid "git mv [options] <source>... <destination>"
 msgstr "git mv [选项] <源>... <目标>"
 
+#: builtin/mv.c:69
+#, c-format
+msgid "Directory %s is in index and no submodule?"
+msgstr "目录 %s 在索引中并且不是子模组?"
+
 #: builtin/mv.c:71
+msgid "Please stage your changes to .gitmodules or stash them to proceed"
+msgstr "请将您的修改缓存到 .gitmodules 中或保存进度后再继续"
+
+#: builtin/mv.c:89
+#, c-format
+msgid "%.*s is in index"
+msgstr "%.*s 在索引中"
+
+#: builtin/mv.c:111
 msgid "force move/rename even if target exists"
 msgstr "强制移动/重命令,即使目标存在"
 
-#: builtin/mv.c:72
+#: builtin/mv.c:112
 msgid "skip move/rename errors"
 msgstr "跳过移动/重命名错误"
 
-#: builtin/mv.c:122
+#: builtin/mv.c:151
+#, c-format
+msgid "destination '%s' is not a directory"
+msgstr "目标 '%s' 不是一个目录"
+
+#: builtin/mv.c:162
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "检查 '%s' 到 '%s' 的重命名\n"
 
-#: builtin/mv.c:126
+#: builtin/mv.c:166
 msgid "bad source"
 msgstr "坏的源"
 
-#: builtin/mv.c:129
+#: builtin/mv.c:169
 msgid "can not move directory into itself"
 msgstr "不能将目录移动到自身"
 
-#: builtin/mv.c:132
+#: builtin/mv.c:172
 msgid "cannot move directory over file"
 msgstr "不能将目录移动到文件"
 
-#: builtin/mv.c:138
-#, c-format
-msgid "Huh? Directory %s is in index and no submodule?"
-msgstr "嗯?目录 %s 在索引中并且不是子模组?"
-
-#: builtin/mv.c:140 builtin/rm.c:318
-msgid "Please, stage your changes to .gitmodules or stash them to proceed"
-msgstr "请将您的修改缓存到 .gitmodules 中或保存进度后再继续"
-
-#: builtin/mv.c:156
-#, c-format
-msgid "Huh? %.*s is in index?"
-msgstr "嗯?%.*s 在索引中?"
-
-#: builtin/mv.c:169
+#: builtin/mv.c:181
 msgid "source directory is empty"
 msgstr "源目录为空"
 
-#: builtin/mv.c:205
+#: builtin/mv.c:206
 msgid "not under version control"
 msgstr "不在版本控制之下"
 
-#: builtin/mv.c:208
+#: builtin/mv.c:209
 msgid "destination exists"
 msgstr "目标已存在"
 
-#: builtin/mv.c:216
+#: builtin/mv.c:217
 #, c-format
 msgid "overwriting '%s'"
 msgstr "覆盖 '%s'"
 
-#: builtin/mv.c:219
+#: builtin/mv.c:220
 msgid "Cannot overwrite"
 msgstr "不能覆盖"
 
-#: builtin/mv.c:222
+#: builtin/mv.c:223
 msgid "multiple sources for the same target"
 msgstr "同一目标具有多个源"
 
-#: builtin/mv.c:224
+#: builtin/mv.c:225
 msgid "destination directory does not exist"
 msgstr "目标目录不存在"
 
-#: builtin/mv.c:244
+#: builtin/mv.c:232
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s,源=%s,目标=%s"
 
-#: builtin/mv.c:254
+#: builtin/mv.c:253
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:257 builtin/remote.c:725 builtin/repack.c:358
+#: builtin/mv.c:256 builtin/remote.c:726 builtin/repack.c:358
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -7291,154 +7491,154 @@ msgstr "git notes prune [<选项>]"
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:137
+#: builtin/notes.c:136
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "不能为对象 '%s' 开始 'show'"
 
-#: builtin/notes.c:141
+#: builtin/notes.c:140
 msgid "could not read 'show' output"
 msgstr "不能读取 'show' 的输出"
 
-#: builtin/notes.c:149
+#: builtin/notes.c:148
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "无法为对象 '%s' 完成 'show'"
 
-#: builtin/notes.c:167 builtin/tag.c:477
+#: builtin/notes.c:166 builtin/tag.c:477
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: builtin/notes.c:186
+#: builtin/notes.c:185
 msgid "Please supply the note contents using either -m or -F option"
 msgstr "请通过 -m 或 -F 选项为注解提供内容"
 
-#: builtin/notes.c:207 builtin/notes.c:848
+#: builtin/notes.c:206 builtin/notes.c:847
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
 
-#: builtin/notes.c:212
+#: builtin/notes.c:211
 msgid "unable to write note object"
 msgstr "不能写注解对象"
 
-#: builtin/notes.c:214
+#: builtin/notes.c:213
 #, c-format
-msgid "The note contents has been left in %s"
-msgstr "注解内容被留在文件 %s 中"
+msgid "The note contents have been left in %s"
+msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:248 builtin/tag.c:692
+#: builtin/notes.c:247 builtin/tag.c:693
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:250 builtin/tag.c:695
+#: builtin/notes.c:249 builtin/tag.c:696
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
-#: builtin/notes.c:269 builtin/notes.c:320 builtin/notes.c:322
-#: builtin/notes.c:382 builtin/notes.c:436 builtin/notes.c:519
-#: builtin/notes.c:524 builtin/notes.c:599 builtin/notes.c:641
-#: builtin/notes.c:843 builtin/tag.c:708
+#: builtin/notes.c:268 builtin/notes.c:319 builtin/notes.c:321
+#: builtin/notes.c:381 builtin/notes.c:435 builtin/notes.c:518
+#: builtin/notes.c:523 builtin/notes.c:598 builtin/notes.c:640
+#: builtin/notes.c:842 builtin/tag.c:709
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/notes.c:272
+#: builtin/notes.c:271
 #, c-format
 msgid "Failed to read object '%s'."
 msgstr "无法读取对象 '%s'。"
 
-#: builtin/notes.c:276
+#: builtin/notes.c:275
 #, c-format
 msgid "Cannot read note data from non-blob object '%s'."
 msgstr "不能从非数据对象 '%s' 中读取注解数据"
 
-#: builtin/notes.c:316
+#: builtin/notes.c:315
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "非法的输入行:'%s'。"
 
-#: builtin/notes.c:331
+#: builtin/notes.c:330
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "无法从 '%s' 到 '%s' 拷贝注解"
 
-#: builtin/notes.c:375 builtin/notes.c:429 builtin/notes.c:502
-#: builtin/notes.c:514 builtin/notes.c:587 builtin/notes.c:634
-#: builtin/notes.c:908
+#: builtin/notes.c:374 builtin/notes.c:428 builtin/notes.c:501
+#: builtin/notes.c:513 builtin/notes.c:586 builtin/notes.c:633
+#: builtin/notes.c:907
 msgid "too many parameters"
 msgstr "参数太多"
 
-#: builtin/notes.c:388 builtin/notes.c:647
+#: builtin/notes.c:387 builtin/notes.c:646
 #, c-format
 msgid "No note found for object %s."
 msgstr "未发现对象 %s 的注解。"
 
-#: builtin/notes.c:410 builtin/notes.c:567
+#: builtin/notes.c:409 builtin/notes.c:566
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
-#: builtin/notes.c:413 builtin/notes.c:570
+#: builtin/notes.c:412 builtin/notes.c:569
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
-#: builtin/notes.c:415 builtin/notes.c:418 builtin/notes.c:572
-#: builtin/notes.c:575 builtin/tag.c:627
+#: builtin/notes.c:414 builtin/notes.c:417 builtin/notes.c:571
+#: builtin/notes.c:574 builtin/tag.c:628
 msgid "object"
 msgstr "对象"
 
-#: builtin/notes.c:416 builtin/notes.c:573
+#: builtin/notes.c:415 builtin/notes.c:572
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
-#: builtin/notes.c:419 builtin/notes.c:576
+#: builtin/notes.c:418 builtin/notes.c:575
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
-#: builtin/notes.c:421 builtin/notes.c:489
+#: builtin/notes.c:420 builtin/notes.c:488
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
-#: builtin/notes.c:455
+#: builtin/notes.c:454
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:460 builtin/notes.c:537
+#: builtin/notes.c:459 builtin/notes.c:536
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
-#: builtin/notes.c:490
+#: builtin/notes.c:489
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/notes.c:492
+#: builtin/notes.c:491
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
-#: builtin/notes.c:510
+#: builtin/notes.c:509
 msgid "too few parameters"
 msgstr "参数太少"
 
-#: builtin/notes.c:531
+#: builtin/notes.c:530
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能拷贝注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:543
+#: builtin/notes.c:542
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
 msgstr "源对象 %s 缺少注解。不能拷贝。"
 
-#: builtin/notes.c:592
+#: builtin/notes.c:591
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -7447,236 +7647,240 @@ msgstr ""
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
-#: builtin/notes.c:739
+#: builtin/notes.c:738
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:741
+#: builtin/notes.c:740
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:743
+#: builtin/notes.c:742
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr "使用指定的策略解决注解冲突 (manual/ours/theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:745
+#: builtin/notes.c:744
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:747
+#: builtin/notes.c:746
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:749
+#: builtin/notes.c:748
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:751
+#: builtin/notes.c:750
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:846
+#: builtin/notes.c:845
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
-#: builtin/notes.c:858
+#: builtin/notes.c:857
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
-#: builtin/notes.c:861
+#: builtin/notes.c:860
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:942
+#: builtin/notes.c:941
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:943
+#: builtin/notes.c:942
 msgid "use notes from <notes_ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:978 builtin/remote.c:1616
+#: builtin/notes.c:977 builtin/remote.c:1624
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:25
+#: builtin/pack-objects.c:28
 msgid "git pack-objects --stdout [options...] [< ref-list | < object-list]"
 msgstr "git pack-objects --stdout [选项...] [< 引用列表 | < 对象列表]"
 
-#: builtin/pack-objects.c:26
+#: builtin/pack-objects.c:29
 msgid "git pack-objects [options...] base-name [< ref-list | < object-list]"
 msgstr "git pack-objects [选项...] base-name [< 引用列表 | < 对象列表]"
 
-#: builtin/pack-objects.c:175 builtin/pack-objects.c:178
+#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:773
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1012
+#: builtin/pack-objects.c:1015
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2174
+#: builtin/pack-objects.c:2175
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2526
+#: builtin/pack-objects.c:2572
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2530
+#: builtin/pack-objects.c:2576
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2553
+#: builtin/pack-objects.c:2599
 #, c-format
 msgid "option %s does not accept negative form"
 msgstr "选项 %s 不接受否定格式"
 
-#: builtin/pack-objects.c:2557
+#: builtin/pack-objects.c:2603
 #, c-format
 msgid "unable to parse value '%s' for option %s"
 msgstr "不能解析选项 %1$s 的值 '%2$s'"
 
-#: builtin/pack-objects.c:2576
+#: builtin/pack-objects.c:2622
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2578
+#: builtin/pack-objects.c:2624
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2580
+#: builtin/pack-objects.c:2626
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2583
+#: builtin/pack-objects.c:2629
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2584
+#: builtin/pack-objects.c:2630
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2585
+#: builtin/pack-objects.c:2631
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2588
+#: builtin/pack-objects.c:2634
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2590
+#: builtin/pack-objects.c:2636
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从替代对象存储里借用对象"
 
-#: builtin/pack-objects.c:2592
+#: builtin/pack-objects.c:2638
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2594
+#: builtin/pack-objects.c:2640
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2596
+#: builtin/pack-objects.c:2642
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2598
+#: builtin/pack-objects.c:2644
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2600
+#: builtin/pack-objects.c:2646
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2648
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2650
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2652
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2608
+#: builtin/pack-objects.c:2654
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2656
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取修订号参数"
 
-#: builtin/pack-objects.c:2612
+#: builtin/pack-objects.c:2658
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2615
+#: builtin/pack-objects.c:2661
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2664
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2621
+#: builtin/pack-objects.c:2667
+msgid "include objects referred to by the index"
+msgstr "包括被索引引用到的对象"
+
+#: builtin/pack-objects.c:2670
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2623
+#: builtin/pack-objects.c:2672
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括引用了打包对象的 tag"
 
-#: builtin/pack-objects.c:2625
+#: builtin/pack-objects.c:2674
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2626 parse-options.h:140
+#: builtin/pack-objects.c:2675 parse-options.h:140
 msgid "time"
 msgstr "时间"
 
-#: builtin/pack-objects.c:2627
+#: builtin/pack-objects.c:2676
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2679
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2681
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2683
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2685
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2687
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2640
+#: builtin/pack-objects.c:2689
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2719
+#: builtin/pack-objects.c:2778
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -7696,7 +7900,7 @@ msgstr "清除松散的引用(默认)"
 msgid "git prune-packed [-n|--dry-run] [-q|--quiet]"
 msgstr "git prune-packed [-n|--dry-run] [-q|--quiet]"
 
-#: builtin/prune-packed.c:49
+#: builtin/prune-packed.c:40
 msgid "Removing duplicate objects"
 msgstr "正在删除重复对象"
 
@@ -7704,15 +7908,15 @@ msgstr "正在删除重复对象"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
 
-#: builtin/prune.c:142
+#: builtin/prune.c:106
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/prune.c:143
+#: builtin/prune.c:107
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:146
+#: builtin/prune.c:110
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
@@ -7955,79 +8159,79 @@ msgstr "--mirror 不能和引用规则同时使用"
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:482
+#: builtin/push.c:493
 msgid "repository"
 msgstr "版本库"
 
-#: builtin/push.c:483
+#: builtin/push.c:494
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:484
+#: builtin/push.c:495
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:486
+#: builtin/push.c:497
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:487
+#: builtin/push.c:498
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送 tags(不能使用 --all or --mirror)"
 
-#: builtin/push.c:490
+#: builtin/push.c:501
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:492
+#: builtin/push.c:503
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:493
+#: builtin/push.c:504
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:495
-msgid "check"
-msgstr "检查"
-
-#: builtin/push.c:496
+#: builtin/push.c:507
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:498
+#: builtin/push.c:509
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:499 builtin/push.c:500
+#: builtin/push.c:510 builtin/push.c:511
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:501
+#: builtin/push.c:512
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:504
+#: builtin/push.c:515
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:506
+#: builtin/push.c:517
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:507
+#: builtin/push.c:518
 msgid "push missing but relevant tags"
 msgstr "推送缺失的有关的 tags"
 
-#: builtin/push.c:517
+#: builtin/push.c:520
+msgid "GPG sign the push"
+msgstr "用 GPG 为推送签名"
+
+#: builtin/push.c:529
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:519
+#: builtin/push.c:531
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
-#: builtin/read-tree.c:36
+#: builtin/read-tree.c:37
 msgid ""
 "git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
@@ -8037,67 +8241,67 @@ msgstr ""
 "u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<文件>] (--empty | <树或提交1> [<树或提交2> [<树或提交3>]])"
 
-#: builtin/read-tree.c:109
+#: builtin/read-tree.c:110
 msgid "write resulting index to <file>"
 msgstr "将索引结果写入 <file>"
 
-#: builtin/read-tree.c:112
+#: builtin/read-tree.c:113
 msgid "only empty the index"
 msgstr "只是清空索引"
 
-#: builtin/read-tree.c:114
+#: builtin/read-tree.c:115
 msgid "Merging"
 msgstr "合并"
 
-#: builtin/read-tree.c:116
+#: builtin/read-tree.c:117
 msgid "perform a merge in addition to a read"
 msgstr "读取之余再执行一个合并"
 
-#: builtin/read-tree.c:118
+#: builtin/read-tree.c:119
 msgid "3-way merge if no file level merging required"
 msgstr "如果没有文件级合并需要,执行三路合并"
 
-#: builtin/read-tree.c:120
+#: builtin/read-tree.c:121
 msgid "3-way merge in presence of adds and removes"
 msgstr "存在添加和删除时,也执行三路合并"
 
-#: builtin/read-tree.c:122
+#: builtin/read-tree.c:123
 msgid "same as -m, but discard unmerged entries"
 msgstr "类似于 -m,但丢弃未合并的条目"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:124
 msgid "<subdirectory>/"
 msgstr "<子目录>/"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:125
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "读取树对象到索引的 <子目录>/ 下"
 
-#: builtin/read-tree.c:127
+#: builtin/read-tree.c:128
 msgid "update working tree with merge result"
 msgstr "用合并的结果更新工作区"
 
-#: builtin/read-tree.c:129
+#: builtin/read-tree.c:130
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:131
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "允许忽略文件中设定的文件可以被覆盖"
 
-#: builtin/read-tree.c:133
+#: builtin/read-tree.c:134
 msgid "don't check the working tree after merging"
 msgstr "合并后不检查工作区"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:135
 msgid "don't update the index or the work tree"
 msgstr "不更新索引区和工作区"
 
-#: builtin/read-tree.c:136
+#: builtin/read-tree.c:137
 msgid "skip applying sparse checkout filter"
 msgstr "跳过应用稀疏检出过滤器"
 
-#: builtin/read-tree.c:138
+#: builtin/read-tree.c:139
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
@@ -8246,12 +8450,12 @@ msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
-#: builtin/remote.c:185 builtin/remote.c:640
+#: builtin/remote.c:185 builtin/remote.c:641
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:189 builtin/remote.c:644
+#: builtin/remote.c:189 builtin/remote.c:645
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
@@ -8261,11 +8465,6 @@ msgstr "'%s' 不是一个有效的远程名称"
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
-#: builtin/remote.c:288
-#, c-format
-msgid "more than one %s"
-msgstr "多于一个 %s"
-
 #: builtin/remote.c:333
 #, c-format
 msgid "Could not get fetch map for refspec %s"
@@ -8279,27 +8478,27 @@ msgstr "(匹配)"
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:589 builtin/remote.c:595 builtin/remote.c:601
+#: builtin/remote.c:590 builtin/remote.c:596 builtin/remote.c:602
 #, c-format
 msgid "Could not append '%s' to '%s'"
 msgstr "不能添加 '%s' 至 '%s'"
 
-#: builtin/remote.c:633 builtin/remote.c:794 builtin/remote.c:894
+#: builtin/remote.c:634 builtin/remote.c:798 builtin/remote.c:898
 #, c-format
 msgid "No such remote: %s"
 msgstr "没有这样的远程:%s"
 
-#: builtin/remote.c:650
+#: builtin/remote.c:651
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
-#: builtin/remote.c:656 builtin/remote.c:846
+#: builtin/remote.c:657 builtin/remote.c:850
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
-#: builtin/remote.c:671
+#: builtin/remote.c:672
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -8310,32 +8509,32 @@ msgstr ""
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:677
+#: builtin/remote.c:678
 #, c-format
 msgid "Could not append '%s'"
 msgstr "不能追加 '%s'"
 
-#: builtin/remote.c:688
+#: builtin/remote.c:689
 #, c-format
 msgid "Could not set '%s'"
 msgstr "不能设置 '%s'"
 
-#: builtin/remote.c:710
+#: builtin/remote.c:711
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:744
+#: builtin/remote.c:745
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:765
+#: builtin/remote.c:769
 #, c-format
 msgid "Could not remove branch %s"
 msgstr "无法移除分支 %s"
 
-#: builtin/remote.c:832
+#: builtin/remote.c:836
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -8345,126 +8544,126 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:947
+#: builtin/remote.c:951
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:950
+#: builtin/remote.c:954
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:952
+#: builtin/remote.c:956
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:954
+#: builtin/remote.c:958
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:995
+#: builtin/remote.c:999
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:1002
+#: builtin/remote.c:1006
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:1005
+#: builtin/remote.c:1009
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:1006
+#: builtin/remote.c:1010
 msgid "    and with remote"
 msgstr "    且有远程"
 
-#: builtin/remote.c:1008
+#: builtin/remote.c:1012
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:1009
+#: builtin/remote.c:1013
 msgid "   and with remote"
 msgstr "   且有远程"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1059
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1058
+#: builtin/remote.c:1062
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1066
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1065
+#: builtin/remote.c:1069
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1068
+#: builtin/remote.c:1072
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1075
+#: builtin/remote.c:1079
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1078
+#: builtin/remote.c:1082
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1082
+#: builtin/remote.c:1086
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1085
+#: builtin/remote.c:1089
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1153
+#: builtin/remote.c:1157
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1180
+#: builtin/remote.c:1184
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1181
+#: builtin/remote.c:1185
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1182 builtin/remote.c:1329
+#: builtin/remote.c:1186 builtin/remote.c:1333
 msgid "(no URL)"
 msgstr "(无 URL)"
 
-#: builtin/remote.c:1191 builtin/remote.c:1193
+#: builtin/remote.c:1195 builtin/remote.c:1197
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1195 builtin/remote.c:1197 builtin/remote.c:1199
+#: builtin/remote.c:1199 builtin/remote.c:1201 builtin/remote.c:1203
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD分支:%s"
 
-#: builtin/remote.c:1201
+#: builtin/remote.c:1205
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1213
+#: builtin/remote.c:1217
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -8472,138 +8671,138 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1216 builtin/remote.c:1243
+#: builtin/remote.c:1220 builtin/remote.c:1247
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1225
+#: builtin/remote.c:1229
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  为 'git pull' 配置的本地分支:"
 msgstr[1] "  为 'git pull' 配置的本地分支:"
 
-#: builtin/remote.c:1233
+#: builtin/remote.c:1237
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1244
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  为 'git push' 配置的本地引用%s:"
 msgstr[1] "  为 'git push' 配置的本地引用%s:"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1265
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1263
+#: builtin/remote.c:1267
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1282
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1284
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1290
+#: builtin/remote.c:1294
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1302
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1304
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1318
+#: builtin/remote.c:1322
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1319
+#: builtin/remote.c:1323
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1325
+#: builtin/remote.c:1329
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1326
+#: builtin/remote.c:1330
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1349
+#: builtin/remote.c:1357
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1352
+#: builtin/remote.c:1360
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1397
+#: builtin/remote.c:1405
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1463 builtin/remote.c:1537
+#: builtin/remote.c:1471 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1483
+#: builtin/remote.c:1491
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1490
+#: builtin/remote.c:1498
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1512
+#: builtin/remote.c:1520
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1514
+#: builtin/remote.c:1522
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1516
+#: builtin/remote.c:1524
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1523
+#: builtin/remote.c:1531
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1563
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧URL匹配模版:%s"
 
-#: builtin/remote.c:1571
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此URL:%s"
 
-#: builtin/remote.c:1573
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送URL地址"
 
-#: builtin/remote.c:1587
+#: builtin/remote.c:1595
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
@@ -8700,67 +8899,67 @@ msgstr "git replace -d <对象>..."
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
-#: builtin/replace.c:322 builtin/replace.c:360 builtin/replace.c:388
+#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
-#: builtin/replace.c:352
+#: builtin/replace.c:355
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "提交 '%s' 中损坏的 mergetag"
 
-#: builtin/replace.c:354
+#: builtin/replace.c:357
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "提交 '%s' 中非法的 mergetag"
 
-#: builtin/replace.c:365
+#: builtin/replace.c:368
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr "原始提交 '%s' 包含已经丢弃的 mergetag '%s',使用 --edit 代替 --graft"
 
-#: builtin/replace.c:398
+#: builtin/replace.c:401
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "原始提交 '%s' 中包含一个 GPG 签名"
 
-#: builtin/replace.c:399
+#: builtin/replace.c:402
 msgid "the signature will be removed in the replacement commit!"
 msgstr "在替换的提交中签名将被移除!"
 
-#: builtin/replace.c:405
+#: builtin/replace.c:408
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
-#: builtin/replace.c:429
+#: builtin/replace.c:432
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
-#: builtin/replace.c:430
+#: builtin/replace.c:433
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
-#: builtin/replace.c:431
+#: builtin/replace.c:434
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
-#: builtin/replace.c:432
+#: builtin/replace.c:435
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
-#: builtin/replace.c:433
+#: builtin/replace.c:436
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
-#: builtin/replace.c:434
+#: builtin/replace.c:437
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
-#: builtin/replace.c:435
+#: builtin/replace.c:438
 msgid "use this format"
 msgstr "使用此格式"
 
@@ -8772,156 +8971,156 @@ msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]"
 msgid "register clean resolutions in index"
 msgstr "在索引中注册干净的解决方案"
 
-#: builtin/reset.c:25
+#: builtin/reset.c:26
 msgid ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]"
 
-#: builtin/reset.c:26
+#: builtin/reset.c:27
 msgid "git reset [-q] <tree-ish> [--] <paths>..."
 msgstr "git reset [-q] <树或提交> [--] <路径>..."
 
-#: builtin/reset.c:27
+#: builtin/reset.c:28
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
 msgstr "git reset --patch [<树或提交>] [--] [<路径>...]"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "mixed"
 msgstr "混杂"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "soft"
 msgstr "软性"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "hard"
 msgstr "硬性"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "merge"
 msgstr "合并"
 
-#: builtin/reset.c:33
+#: builtin/reset.c:34
 msgid "keep"
 msgstr "保持"
 
-#: builtin/reset.c:73
+#: builtin/reset.c:74
 msgid "You do not have a valid HEAD."
 msgstr "您没有一个有效的 HEAD。"
 
-#: builtin/reset.c:75
+#: builtin/reset.c:76
 msgid "Failed to find tree of HEAD."
 msgstr "无法找到 HEAD 指向的树。"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "无法找到 %s 指向的树。"
 
-#: builtin/reset.c:99
+#: builtin/reset.c:100
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD 现在位于 %s"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:182
+#: builtin/reset.c:183
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "在合并过程中不能做%s重置操作。"
 
-#: builtin/reset.c:275
+#: builtin/reset.c:276
 msgid "be quiet, only report errors"
 msgstr "安静模式,只报告错误"
 
-#: builtin/reset.c:277
+#: builtin/reset.c:278
 msgid "reset HEAD and index"
 msgstr "重置 HEAD 和索引"
 
-#: builtin/reset.c:278
+#: builtin/reset.c:279
 msgid "reset only HEAD"
 msgstr "只重置 HEAD"
 
-#: builtin/reset.c:280 builtin/reset.c:282
+#: builtin/reset.c:281 builtin/reset.c:283
 msgid "reset HEAD, index and working tree"
 msgstr "重置 HEAD、索引和工作区"
 
-#: builtin/reset.c:284
+#: builtin/reset.c:285
 msgid "reset HEAD but keep local changes"
 msgstr "重置 HEAD 但保存本地变更"
 
-#: builtin/reset.c:287
+#: builtin/reset.c:288
 msgid "record only the fact that removed paths will be added later"
 msgstr "将删除的路径标记为稍后添加"
 
-#: builtin/reset.c:304
+#: builtin/reset.c:305
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
-#: builtin/reset.c:307 builtin/reset.c:315
+#: builtin/reset.c:308 builtin/reset.c:316
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/reset.c:312
+#: builtin/reset.c:313
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "无法将 '%s' 解析为一个有效的树对象。"
 
-#: builtin/reset.c:321
+#: builtin/reset.c:322
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch 与 --{hard、mixed、soft} 选项不兼容"
 
-#: builtin/reset.c:330
+#: builtin/reset.c:331
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr "--mixed 带路径已弃用,而是用 'git reset -- <paths>'。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:332
+#: builtin/reset.c:333
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "不能带路径进行%s重置。"
 
 #  译者:汉字之间无空格,故删除%s前后空格
-#: builtin/reset.c:342
+#: builtin/reset.c:343
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
-msgstr "不能对版本库进行%s重置"
+msgstr "不能对版本库进行%s重置"
 
-#: builtin/reset.c:346
+#: builtin/reset.c:347
 msgid "-N can only be used with --mixed"
 msgstr "-N 只能和 --mixed 同时使用"
 
-#: builtin/reset.c:363
+#: builtin/reset.c:364
 msgid "Unstaged changes after reset:"
 msgstr "重置后撤出暂存区的变更:"
 
-#: builtin/reset.c:369
+#: builtin/reset.c:370
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "不能重置索引文件至版本 '%s'。"
 
-#: builtin/reset.c:373
+#: builtin/reset.c:374
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-parse.c:360
+#: builtin/rev-parse.c:361
 msgid "git rev-parse --parseopt [options] -- [<args>...]"
 msgstr "git rev-parse --parseopt [选项] -- [<参数>...]"
 
-#: builtin/rev-parse.c:365
+#: builtin/rev-parse.c:366
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:367
+#: builtin/rev-parse.c:368
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:370
+#: builtin/rev-parse.c:371
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:498
+#: builtin/rev-parse.c:499
 msgid ""
 "git rev-parse --parseopt [options] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -9033,10 +9232,10 @@ msgid ""
 "the following submodule (or one of its nested submodules)\n"
 "uses a .git directory:"
 msgid_plural ""
-"the following submodules (or one of its nested submodules)\n"
+"the following submodules (or one of their nested submodules)\n"
 "use a .git directory:"
-msgstr[0] "下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
-msgstr[1] "下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
+msgstr[0] "下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
+msgstr[1] "下子模组(或一个其嵌套子模组)使用了一个 .git 目录:"
 
 #: builtin/rm.c:71
 msgid ""
@@ -9104,6 +9303,10 @@ msgstr "允许递归删除"
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
+#: builtin/rm.c:318
+msgid "Please, stage your changes to .gitmodules or stash them to proceed"
+msgstr "请将您的修改缓存到 .gitmodules 中或保存进度后再继续"
+
 #: builtin/rm.c:336
 #, c-format
 msgid "not removing '%s' recursively without -r"
@@ -9287,11 +9490,11 @@ msgstr "删除符号引用"
 msgid "shorten ref output"
 msgstr "简短的引用输出"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:349
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason"
 msgstr "原因"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:349
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason of the update"
 msgstr "更新的原因"
 
@@ -9412,236 +9615,226 @@ msgstr "开关 'points-at' 需要一个对象"
 msgid "malformed object name '%s'"
 msgstr "非法的对象名 '%s'"
 
-#: builtin/tag.c:588
+#: builtin/tag.c:589
 msgid "list tag names"
 msgstr "列出tag名称"
 
-#: builtin/tag.c:590
+#: builtin/tag.c:591
 msgid "print <n> lines of each tag message"
 msgstr "每个 tag 信息打印 <n> 行"
 
-#: builtin/tag.c:592
+#: builtin/tag.c:593
 msgid "delete tags"
 msgstr "删除 tags"
 
-#: builtin/tag.c:593
+#: builtin/tag.c:594
 msgid "verify tags"
 msgstr "验证 tags"
 
-#: builtin/tag.c:595
+#: builtin/tag.c:596
 msgid "Tag creation options"
 msgstr "Tag 创建选项"
 
-#: builtin/tag.c:597
+#: builtin/tag.c:598
 msgid "annotated tag, needs a message"
 msgstr "注解 tag,需要一个说明"
 
-#: builtin/tag.c:599
+#: builtin/tag.c:600
 msgid "tag message"
 msgstr "tag 说明"
 
-#: builtin/tag.c:601
+#: builtin/tag.c:602
 msgid "annotated and GPG-signed tag"
 msgstr "注解并 GPG 签名的 tag"
 
-#: builtin/tag.c:605
+#: builtin/tag.c:606
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名 tag"
 
-#: builtin/tag.c:606
+#: builtin/tag.c:607
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的 tag"
 
-#: builtin/tag.c:607
+#: builtin/tag.c:608
 msgid "show tag list in columns"
 msgstr "以列的方式显示 tag"
 
-#: builtin/tag.c:609
+#: builtin/tag.c:610
 msgid "sort tags"
 msgstr "排序 tags"
 
-#: builtin/tag.c:613
+#: builtin/tag.c:614
 msgid "Tag listing options"
 msgstr "Tag 列表选项"
 
-#: builtin/tag.c:616 builtin/tag.c:622
+#: builtin/tag.c:617 builtin/tag.c:623
 msgid "print only tags that contain the commit"
 msgstr "只打印包含提交的tags"
 
-#: builtin/tag.c:628
+#: builtin/tag.c:629
 msgid "print only tags of the object"
 msgstr "只打印tags对象"
 
-#: builtin/tag.c:654
+#: builtin/tag.c:655
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:666
+#: builtin/tag.c:667
 msgid "--sort and -n are incompatible"
 msgstr "--sort 和 -n 不兼容"
 
-#: builtin/tag.c:673
+#: builtin/tag.c:674
 msgid "-n option is only allowed with -l."
 msgstr "-n 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:675
+#: builtin/tag.c:676
 msgid "--contains option is only allowed with -l."
 msgstr "--contains 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:677
+#: builtin/tag.c:678
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:685
+#: builtin/tag.c:686
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:705
+#: builtin/tag.c:706
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:711
+#: builtin/tag.c:712
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的tag名称。"
 
-#: builtin/tag.c:716
+#: builtin/tag.c:717
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "tag '%s' 已存在"
 
-#: builtin/tag.c:734
-#, c-format
-msgid "%s: cannot lock the ref"
-msgstr "%s:不能锁定引用"
-
-#: builtin/tag.c:736
-#, c-format
-msgid "%s: cannot update the ref"
-msgstr "%s:不能更新引用"
-
-#: builtin/tag.c:738
+#: builtin/tag.c:741
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新tag '%s'(曾为 %s)\n"
 
-#: builtin/unpack-objects.c:483
+#: builtin/unpack-objects.c:489
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
-#: builtin/update-index.c:402
+#: builtin/update-index.c:403
 msgid "git update-index [options] [--] [<file>...]"
 msgstr "git update-index [选项] [--] [<文件>...]"
 
-#: builtin/update-index.c:755
+#: builtin/update-index.c:756
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:758
+#: builtin/update-index.c:759
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:761
+#: builtin/update-index.c:762
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:763
+#: builtin/update-index.c:764
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:765
+#: builtin/update-index.c:766
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:767
+#: builtin/update-index.c:768
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:770
+#: builtin/update-index.c:771
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:774
+#: builtin/update-index.c:775
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:778
+#: builtin/update-index.c:779
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>,<object>,<path>"
 
-#: builtin/update-index.c:779
+#: builtin/update-index.c:780
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:783
+#: builtin/update-index.c:784
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:784
+#: builtin/update-index.c:785
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/update-index.c:788
+#: builtin/update-index.c:789
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:791
+#: builtin/update-index.c:792
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:794
+#: builtin/update-index.c:795
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:797
+#: builtin/update-index.c:798
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:800
+#: builtin/update-index.c:801
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:802
+#: builtin/update-index.c:803
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:804
+#: builtin/update-index.c:805
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:806
+#: builtin/update-index.c:807
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:810
+#: builtin/update-index.c:811
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:814
+#: builtin/update-index.c:815
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:818
+#: builtin/update-index.c:819
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:822
+#: builtin/update-index.c:823
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:825
+#: builtin/update-index.c:826
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:827
+#: builtin/update-index.c:828
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:831
+#: builtin/update-index.c:832
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:833
+#: builtin/update-index.c:834
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
@@ -9657,19 +9850,19 @@ msgstr "git update-ref [选项]    <引用名> <新值> [<旧值>]"
 msgid "git update-ref [options] --stdin [-z]"
 msgstr "git update-ref [选项] --stdin [-z]"
 
-#: builtin/update-ref.c:350
+#: builtin/update-ref.c:363
 msgid "delete the reference"
 msgstr "删除引用"
 
-#: builtin/update-ref.c:352
+#: builtin/update-ref.c:365
 msgid "update <refname> not the one it points to"
 msgstr "更新 <引用名> 本身而不是它指向的引用"
 
-#: builtin/update-ref.c:353
+#: builtin/update-ref.c:366
 msgid "stdin has NUL-terminated arguments"
 msgstr "标准输入有以 NUL 字符终止的参数"
 
-#: builtin/update-ref.c:354
+#: builtin/update-ref.c:367
 msgid "read updates from stdin"
 msgstr "从标准输入读取更新"
 
@@ -9689,15 +9882,15 @@ msgstr "git verify-commit [-v|--verbose] <提交>..."
 msgid "print commit contents"
 msgstr "打印提交内容"
 
-#: builtin/verify-pack.c:55
+#: builtin/verify-pack.c:54
 msgid "git verify-pack [-v|--verbose] [-s|--stat-only] <pack>..."
 msgstr "git verify-pack [-v|--verbose] [-s|--stat-only] <pack>..."
 
-#: builtin/verify-pack.c:65
+#: builtin/verify-pack.c:64
 msgid "verbose"
 msgstr "冗长输出"
 
-#: builtin/verify-pack.c:67
+#: builtin/verify-pack.c:66
 msgid "show statistics only"
 msgstr "只显示统计"
 
@@ -9725,34 +9918,19 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
+#: credential-cache--daemon.c:267
+msgid "print debugging messages to stderr"
+msgstr "调试信息输出到标准错误"
+
 #: git.c:17
 msgid ""
-"'git help -a' and 'git help -g' lists available subcommands and some\n"
+"'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
 "to read about a specific subcommand or concept."
 msgstr ""
-"命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些指南。参见\n"
-"'git help <命令>' 或 'git help <指南>' 来查看给定的子命令帮助或指南。"
-
-#: parse-options.h:143
-msgid "expiry-date"
-msgstr "逾期日期"
-
-#: parse-options.h:158
-msgid "no-op (backward compatibility)"
-msgstr "空操作(向后兼容)"
-
-#: parse-options.h:232
-msgid "be more verbose"
-msgstr "更加详细"
-
-#: parse-options.h:234
-msgid "be more quiet"
-msgstr "更加安静"
-
-#: parse-options.h:240
-msgid "use <n> digits to display SHA-1s"
-msgstr "用 <n> 位数字显示 SHA-1 哈希值"
+"命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些概念帮助。\n"
+"查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
+"帮助。"
 
 #: common-cmds.h:8
 msgid "Add file contents to the index"
@@ -9838,6 +10016,30 @@ msgstr "显示工作区状态"
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个GPG签名的 tag 对象"
 
+#: parse-options.h:143
+msgid "expiry-date"
+msgstr "到期时间"
+
+#: parse-options.h:158
+msgid "no-op (backward compatibility)"
+msgstr "空操作(向后兼容)"
+
+#: parse-options.h:232
+msgid "be more verbose"
+msgstr "更加详细"
+
+#: parse-options.h:234
+msgid "be more quiet"
+msgstr "更加安静"
+
+#: parse-options.h:240
+msgid "use <n> digits to display SHA-1s"
+msgstr "用 <n> 位数字显示 SHA-1 哈希值"
+
+#: rerere.h:27
+msgid "update the index with reused conflict resolution if possible"
+msgstr "如果可能,重用冲突解决更新索引"
+
 #: git-am.sh:52
 msgid "You need to set your committer info first"
 msgstr "您需要先设置你的提交者信息"
@@ -10086,21 +10288,21 @@ msgstr "您确认么[Y/n]? "
 
 #: git-bisect.sh:289
 msgid ""
-"You need to give me at least one good and one bad revisions.\n"
+"You need to give me at least one good and one bad revision.\n"
 "(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
 msgstr ""
 "您需要给我至少一个好版本和一个坏版本。\n"
-"(您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令来标识。)"
+"(为此您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令。)"
 
 #: git-bisect.sh:292
 msgid ""
 "You need to start by \"git bisect start\".\n"
-"You then need to give me at least one good and one bad revisions.\n"
+"You then need to give me at least one good and one bad revision.\n"
 "(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
 msgstr ""
 "您需要执行 \"git bisect start\" 来开始。\n"
 "然后需要提供我至少一个好版本和一个坏版本。\n"
-"(您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令来标识。)"
+"(为此您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令。)"
 
 #: git-bisect.sh:363 git-bisect.sh:490
 msgid "We are not bisecting."
@@ -10168,16 +10370,23 @@ msgstr "二分查找运行成功"
 msgid ""
 "Pull is not possible because you have unmerged files.\n"
 "Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution, or use 'git commit -a'."
+"as appropriate to mark resolution and make a commit."
 msgstr ""
 "Pull 不可用,因为您尚有未合并的文件。请先在工作区改正文件,\n"
-"然后酌情使用 'git add/rm <file>' 标记解决方案,\n"
-"或者使用 'git commit -a'。"
+"然后酌情使用 'git add/rm <file>' 标记解决方案,再做提交。"
 
 #: git-pull.sh:25
 msgid "Pull is not possible because you have unmerged files."
 msgstr "Pull 不可用,因为您尚有未合并的文件。"
 
+#: git-pull.sh:31
+msgid ""
+"You have not concluded your merge (MERGE_HEAD exists).\n"
+"Please, commit your changes before you can merge."
+msgstr ""
+"您尚未结束您的合并(存在 MERGE_HEAD)。\n"
+"请在合并前先提交您的修改。"
+
 #: git-pull.sh:245
 msgid "updating an unborn branch with changes added to the index"
 msgstr "更新尚未诞生的分支,变更添加至索引"
@@ -10427,8 +10636,8 @@ msgstr "指定了太多的版本:$REV"
 
 #: git-stash.sh:397
 #, sh-format
-msgid "$reference is not valid reference"
-msgstr "$reference 不是有效的引用"
+msgid "$reference is not valid reference"
+msgstr "$reference 不是一个有效的引用"
 
 #: git-stash.sh:425
 #, sh-format
@@ -10474,11 +10683,11 @@ msgstr "丢弃了 ${REV} ($s)"
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:不能丢弃进度条目"
 
-#: git-stash.sh:538
+#: git-stash.sh:539
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: git-stash.sh:610
+#: git-stash.sh:611
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
@@ -10765,6 +10974,36 @@ msgstr "无法递归进子模组路径 '$sm_path'"
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
 
+#~ msgid "Failed to lock ref for update"
+#~ msgstr "无法为更新锁定引用"
+
+#~ msgid "Failed to write ref"
+#~ msgstr "不能写引用"
+
+#~ msgid "Failed to lock HEAD during fast_forward_to"
+#~ msgstr "在快进时无法为 HEAD 加锁"
+
+#~ msgid "invalid commit: %s"
+#~ msgstr "无效的提交:%s"
+
+#~ msgid "cannot lock HEAD ref"
+#~ msgstr "无法锁定 HEAD 引用"
+
+#~ msgid "cannot update HEAD ref"
+#~ msgstr "无法更新 HEAD 引用"
+
+#~ msgid "Invalid %s: '%s'"
+#~ msgstr "无效的 %s:'%s'"
+
+#~ msgid "cannot tell cwd"
+#~ msgstr "无法获知当前路径"
+
+#~ msgid "%s: cannot lock the ref"
+#~ msgstr "%s:不能锁定引用"
+
+#~ msgid "%s: cannot update the ref"
+#~ msgstr "%s:不能更新引用"
+
 #~ msgid "commit has empty message"
 #~ msgstr "提交说明为空"