Merge branch 'js/t3404-grammo-fix' into maint
[gitweb.git] / po / zh_CN.po
index a6b06f9d3999706d648b78f9bdb40696de2670d6..36db9fe01797ca758552306a62c82eefb93062ad 100644 (file)
@@ -135,8 +135,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-03-16 00:16+0800\n"
-"PO-Revision-Date: 2016-03-16 00:18+0800\n"
+"POT-Creation-Date: 2016-05-24 23:42+0800\n"
+"PO-Revision-Date: 2016-06-06 23:05+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -158,7 +158,7 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:101 builtin/merge.c:1226
+#: advice.c:101 builtin/merge.c:1238
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
@@ -201,7 +201,7 @@ msgstr "格式"
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:430 builtin/log.c:1232
+#: archive.c:430 builtin/log.c:1395
 msgid "prefix"
 msgstr "前缀"
 
@@ -209,9 +209,9 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
-#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2548
+#: builtin/blame.c:2549 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:722 builtin/hash-object.c:100
 #: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
 #: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
 msgid "file"
@@ -245,7 +245,8 @@ msgstr "压缩效果更好"
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:82
+#: builtin/submodule--helper.c:776
 msgid "repo"
 msgstr "仓库"
 
@@ -392,11 +393,16 @@ msgstr "歧义的对象名:'%s'。"
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:344
+#: branch.c:345
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
+#: branch.c:364
+#, c-format
+msgid "HEAD of working tree %s is not updated"
+msgstr "工作区 %s 的 HEAD 指向没有被更新"
+
 #: bundle.c:34
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
@@ -407,7 +413,7 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:87 builtin/commit.c:766
+#: bundle.c:87 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -416,10 +422,10 @@ msgstr "不能打开 '%s'"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "仓库中缺少这些必备的提交:"
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
-#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
-#: builtin/shortlog.c:170
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1073
+#: builtin/blame.c:2755 builtin/commit.c:1056 builtin/log.c:340
+#: builtin/log.c:863 builtin/log.c:1308 builtin/log.c:1633 builtin/log.c:1875
+#: builtin/merge.c:361 builtin/shortlog.c:170
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
@@ -458,21 +464,21 @@ msgstr "rev-list 终止"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
+#: bundle.c:443 builtin/log.c:163 builtin/log.c:1538 builtin/shortlog.c:273
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
-#: bundle.c:449
+#: bundle.c:451
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:459
+#: bundle.c:463
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:480
+#: bundle.c:491
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
@@ -481,8 +487,8 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
-#: builtin/am.c:2135
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1504
+#: builtin/am.c:2134
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -516,21 +522,21 @@ msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %3$s"
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:758 config.c:769
+#: config.c:761 config.c:772
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:891
+#: config.c:890
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1220
+#: config.c:1228
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1281
+#: config.c:1284
 msgid "unknown error occured while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
@@ -549,24 +555,27 @@ msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2226
+#: config.c:2224
 #, c-format
-msgid "Could not set '%s' to '%s'"
+msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
+#: config.c:2226
+#, c-format
+msgid "could not unset '%s'"
+msgstr "不能取消设置 '%s'"
+
 #: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
 
 #: connected.c:89
-#, c-format
-msgid "failed write to rev-list: %s"
-msgstr "无法写入 rev-list:%s"
+msgid "failed write to rev-list"
+msgstr "无法写入 rev-list"
 
-#: connected.c:97
-#, c-format
-msgid "failed to close rev-list's stdin: %s"
-msgstr "无法关闭 rev-list 的标准输入:%s"
+#: connected.c:96
+msgid "failed to close rev-list's stdin"
+msgstr "无法关闭 rev-list 的标准输入"
 
 #: date.c:95
 msgid "in the future"
@@ -641,28 +650,28 @@ msgstr[1] "%lu 年前"
 msgid "failed to read orderfile '%s'"
 msgstr "无法读取排序文件 '%s'"
 
-#: diffcore-rename.c:536
+#: diffcore-rename.c:538
 msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名检测"
 
 #  译者:注意保持前导空格
-#: diff.c:115
+#: diff.c:116
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
 #  译者:注意保持前导空格
-#: diff.c:120
+#: diff.c:121
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:215
+#: diff.c:225
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:267
+#: diff.c:277
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -671,16 +680,16 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:2997
+#: diff.c:3007
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:3393
+#: diff.c:3405
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 参数后只跟一个 pathspec"
 
-#: diff.c:3556
+#: diff.c:3568
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -689,20 +698,20 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:3570
+#: diff.c:3582
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: dir.c:2004
+#: dir.c:1823
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2123
+#: dir.c:1942
 msgid "Untracked cache is disabled on this system or location."
 msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
-#: gpg-interface.c:166 gpg-interface.c:237
+#: gpg-interface.c:166 gpg-interface.c:235
 msgid "could not run gpg."
 msgstr "不能执行 gpg。"
 
@@ -716,28 +725,28 @@ msgstr "gpg 无法为数据签名"
 
 #: gpg-interface.c:222
 #, c-format
-msgid "could not create temporary file '%s': %s"
-msgstr "不能创建临时文件 '%s':%s"
+msgid "could not create temporary file '%s'"
+msgstr "不能创建临时文件 '%s'"
 
-#: gpg-interface.c:225
+#: gpg-interface.c:224
 #, c-format
-msgid "failed writing detached signature to '%s': %s"
-msgstr "无法将分离式签名写入 '%s':%s"
+msgid "failed writing detached signature to '%s'"
+msgstr "无法将分离式签名写入 '%s'"
 
 #: grep.c:1718
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1735
+#: grep.c:1735 builtin/clone.c:382 builtin/diff.c:84 builtin/rm.c:155
 #, c-format
-msgid "'%s': %s"
-msgstr "'%s':%s"
+msgid "failed to stat '%s'"
+msgstr "无法枚举 '%s' 状态"
 
 #: grep.c:1746
 #, c-format
-msgid "'%s': short read %s"
-msgstr "'%s':读取不完整 %s"
+msgid "'%s': short read"
+msgstr "'%s':读取不完整"
 
 #: help.c:205
 #, c-format
@@ -803,12 +812,35 @@ msgstr[1] ""
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
+#: lockfile.c:152
+#, c-format
+msgid ""
+"Unable to create '%s.lock': %s.\n"
+"\n"
+"Another git process seems to be running in this repository, e.g.\n"
+"an editor opened by 'git commit'. Please make sure all processes\n"
+"are terminated then try again. If it still fails, a git process\n"
+"may have crashed in this repository earlier:\n"
+"remove the file manually to continue."
+msgstr ""
+"无法创建 '%s.lock':%s。\n"
+"\n"
+"似乎另外一个 git 进程在这个仓库中运行,例如:'git commit' 命令打\n"
+"开了一个编辑器。请确认所有进程都已经关闭然后重试。如果仍然报错,\n"
+"可能之前有一个 git 进程在这个仓库中异常退出:\n"
+"手动删除这个文件再继续。"
+
+#: lockfile.c:160
+#, c-format
+msgid "Unable to create '%s.lock': %s"
+msgstr "不能创建 '%s.lock':%s"
+
 #: merge.c:41
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:730
+#: merge.c:94 builtin/am.c:2007 builtin/am.c:2042 builtin/checkout.c:375
+#: builtin/checkout.c:586 builtin/clone.c:732
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
@@ -855,7 +887,7 @@ msgstr "不能读取对象 %s '%s'"
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:790 builtin/clone.c:374
+#: merge-recursive.c:790 builtin/clone.c:376
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
@@ -990,7 +1022,7 @@ msgstr "略过 %s(已经做过相同合并)"
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1650 git-submodule.sh:1048
+#: merge-recursive.c:1650 git-submodule.sh:941
 msgid "submodule"
 msgstr "子模组"
 
@@ -1017,50 +1049,50 @@ msgstr "目录/文件"
 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:1783
+#: merge-recursive.c:1781
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1800
+#: merge-recursive.c:1798
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "严重的合并错误,不应发生。"
 
-#: merge-recursive.c:1819
+#: merge-recursive.c:1817
 msgid "Already up-to-date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:1828
+#: merge-recursive.c:1826
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:1858
+#: merge-recursive.c:1856
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "未处理的路径??? %s"
 
-#: merge-recursive.c:1906
+#: merge-recursive.c:1904
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:1919
+#: merge-recursive.c:1917
 #, 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:1954
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2013
+#: merge-recursive.c:2011
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2024 builtin/merge.c:646
+#: merge-recursive.c:2022 builtin/merge.c:649 builtin/merge.c:831
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -1090,29 +1122,29 @@ msgstr "坏的 %s 值:'%s'"
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: parse-options.c:570
+#: parse-options.c:572
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:588
+#: parse-options.c:590
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:592
+#: parse-options.c:594
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:595
+#: parse-options.c:597
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:629
+#: parse-options.c:631
 msgid "-NUM"
 msgstr "-数字"
 
@@ -1121,7 +1153,7 @@ msgstr "-数字"
 msgid "malformed object name '%s'"
 msgstr "非法的对象名 '%s'"
 
-#: path.c:752
+#: path.c:796
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
@@ -1188,7 +1220,7 @@ msgstr ""
 "没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
 "添加 ':/' 或 '.' ?"
 
-#: pretty.c:969
+#: pretty.c:971
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
@@ -1214,23 +1246,23 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
-#: builtin/merge.c:984
+#: refs.c:543 builtin/merge.c:764 builtin/merge.c:883 builtin/merge.c:985
+#: builtin/merge.c:995
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs/files-backend.c:2374
+#: refs/files-backend.c:2243
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:2377
+#: refs/files-backend.c:2246
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
 
-#: refs/files-backend.c:2386
+#: refs/files-backend.c:2255
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
@@ -1369,93 +1401,93 @@ msgstr "格式:缺少 %%(end) 元素"
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: remote.c:745
+#: remote.c:746
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:749
+#: remote.c:750
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:753
+#: remote.c:754
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:761
+#: remote.c:762
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1677 remote.c:1720
+#: remote.c:1678 remote.c:1721
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1686
+#: remote.c:1687
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1689
+#: remote.c:1690
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1695
+#: remote.c:1696
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1710
+#: remote.c:1711
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1725
+#: remote.c:1726
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1736
+#: remote.c:1737
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1749
+#: remote.c:1750
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1771
+#: remote.c:1772
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2073
+#: remote.c:2074
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2077
+#: remote.c:2078
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2080
+#: remote.c:2081
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2084
+#: remote.c:2085
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:2090
+#: remote.c:2091
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2093
+#: remote.c:2094
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1464,11 +1496,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2101
+#: remote.c:2102
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2104
+#: remote.c:2105
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1484,20 +1516,20 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2114
+#: remote.c:2115
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: revision.c:2131
+#: revision.c:2142
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2134
+#: revision.c:2145
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2328
+#: revision.c:2339
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
@@ -1545,7 +1577,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:190 sequencer.c:833 sequencer.c:913
+#: sequencer.c:190 sequencer.c:833 sequencer.c:912
 #, c-format
 msgid "Could not write to %s"
 msgstr "不能写入 %s"
@@ -1703,12 +1735,12 @@ msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 msgid "Could not create sequencer directory %s"
 msgstr "不能创建序列目录 %s"
 
-#: sequencer.c:835 sequencer.c:917
+#: sequencer.c:835 sequencer.c:916
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "错误收尾 %s。"
 
-#: sequencer.c:854 sequencer.c:987
+#: sequencer.c:854 sequencer.c:986
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
@@ -1720,63 +1752,72 @@ msgstr "不能解析 HEAD"
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:878 builtin/apply.c:4287
+#: sequencer.c:878 builtin/fetch.c:610 builtin/fetch.c:851
 #, c-format
-msgid "cannot open %s: %s"
-msgstr "不能打开 %s:%s"
+msgid "cannot open %s"
+msgstr "不能打开 %s"
 
-#: sequencer.c:881
+#: sequencer.c:880
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "不能读取 %s:%s"
 
-#: sequencer.c:882
+#: sequencer.c:881
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:888
+#: sequencer.c:887
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:910
+#: sequencer.c:909
 #, c-format
 msgid "Could not format %s."
 msgstr "不能格式化 %s。"
 
-#: sequencer.c:1055
+#: sequencer.c:1054
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:1058
+#: sequencer.c:1057
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:1092
+#: sequencer.c:1091
 msgid "Can't revert as initial commit"
 msgstr "不能作为初始提交还原"
 
-#: sequencer.c:1093
+#: sequencer.c:1092
 msgid "Can't cherry-pick into empty head"
 msgstr "不能拣选到空分支"
 
-#: setup.c:246
+#: setup.c:248
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
+#: setup.c:468
+#, c-format
+msgid "Expected git repo version <= %d, found %d"
+msgstr "期望 git 仓库版本 <= %d,却得到 %d"
+
+#: setup.c:476
+msgid "unknown repository extensions found:"
+msgstr "发现未知的仓库扩展:"
+
 #: sha1_file.c:1080
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: sha1_file.c:2459
+#: sha1_file.c:2458
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: sha1_file.c:2463
+#: sha1_file.c:2462
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
@@ -1802,29 +1843,38 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:62 submodule.c:96
+#: submodule.c:64 submodule.c:98
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:66 submodule.c:100
+#: submodule.c:68 submodule.c:102
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:74
+#: submodule.c:76
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:107
+#: submodule.c:109
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:118
+#: submodule.c:120
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
+#: submodule.c:177
+msgid "negative values not allowed for submodule.fetchJobs"
+msgstr "submodule.fetchJobs 不允许为负值"
+
+#: submodule-config.c:355
+#, c-format
+msgid "invalid value for %s"
+msgstr "%s 的值无效"
+
 #: trailer.c:237
 #, c-format
 msgid "running trailer command '%s' failed"
@@ -1884,7 +1934,219 @@ msgstr "不能重命名临时文件为 %s"
 msgid "Could not read ref %s"
 msgstr "不能读取引用 %s"
 
-#: unpack-trees.c:203
+#: unpack-trees.c:64
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by checkout:\n"
+"%%sPlease commit your changes or stash them before you can switch branches."
+msgstr ""
+"您对下列文件的本地修改将被检出操作覆盖:\n"
+"%%s请在切换分支前提交您的修改或者保存进度。"
+
+#: unpack-trees.c:66
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by checkout:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被检出操作覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:69
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"%%sPlease commit your changes or stash them before you can merge."
+msgstr ""
+"您对下列文件的本地修改将被合并操作覆盖:\n"
+"%%s请在合并前提交您的修改或者保存进度。"
+
+#: unpack-trees.c:71
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被合并操作覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:74
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by %s:\n"
+"%%sPlease commit your changes or stash them before you can %s."
+msgstr ""
+"您对下列文件的本地修改将被 %s 覆盖:\n"
+"%%s请在 %s 之前提交您的修改或者保存进度。"
+
+#: unpack-trees.c:76
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by %s:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被 %s 覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:81
+#, c-format
+msgid ""
+"Updating the following directories would lose untracked files in it:\n"
+"%s"
+msgstr ""
+"更新如下目录将会丢失其中未跟踪的文件:\n"
+"%s"
+
+#: unpack-trees.c:85
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by checkout:\n"
+"%%sPlease move or remove them before you can switch branches."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
+"%%s请在切换分支之前移动或删除。"
+
+#: unpack-trees.c:87
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by checkout:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
+"%%s"
+
+#: unpack-trees.c:90
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by merge:\n"
+"%%sPlease move or remove them before you can merge."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
+"%%s请在合并前移动或删除。"
+
+#: unpack-trees.c:92
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by merge:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
+"%%s"
+
+#: unpack-trees.c:95
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by %s:\n"
+"%%sPlease move or remove them before you can %s."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
+"%%s请在 %s 前移动或删除。"
+
+#: unpack-trees.c:97
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by %s:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
+"%%s"
+
+#: unpack-trees.c:102
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by "
+"checkout:\n"
+"%%sPlease move or remove them before you can switch branches."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
+"%%s请在切换分支前移动或删除。"
+
+#: unpack-trees.c:104
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by "
+"checkout:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:107
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by merge:\n"
+"%%sPlease move or remove them before you can merge."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
+"%%s请在合并前移动或删除。"
+
+#: unpack-trees.c:109
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by merge:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:112
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by %s:\n"
+"%%sPlease move or remove them before you can %s."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
+"%%s请在 %s 前移动或删除。"
+
+#: unpack-trees.c:114
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by %s:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:121
+#, c-format
+msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
+msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
+
+#: unpack-trees.c:124
+#, c-format
+msgid ""
+"Cannot update sparse checkout: the following entries are not up-to-date:\n"
+"%s"
+msgstr ""
+"无法更新稀疏检出:如下条目不是最新:\n"
+"%s"
+
+#: unpack-trees.c:126
+#, c-format
+msgid ""
+"The following Working tree files would be overwritten by sparse checkout "
+"update:\n"
+"%s"
+msgstr ""
+"工作区中下列文件将会因为稀疏检出而被覆盖:\n"
+"%s"
+
+#: unpack-trees.c:128
+#, c-format
+msgid ""
+"The following Working tree files would be removed by sparse checkout "
+"update:\n"
+"%s"
+msgstr ""
+"工作区中下列文件将会因为稀疏检出而被删除:\n"
+"%s"
+
+#: unpack-trees.c:205
+#, c-format
+msgid "Aborting\n"
+msgstr "终止中\n"
+
+#: unpack-trees.c:237
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -1922,205 +2184,201 @@ msgstr "无效的 '..' 路径片段"
 msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
-#: wrapper.c:224 wrapper.c:383
+#: wrapper.c:224 wrapper.c:383 builtin/am.c:779
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
-#: builtin/merge.c:1075 builtin/pull.c:387
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/am.c:772
+#: builtin/am.c:860 builtin/commit.c:1711 builtin/merge.c:1086
+#: builtin/pull.c:407
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
 
-#: wrapper.c:611
-#, c-format
-msgid "unable to access '%s': %s"
-msgstr "不能访问 '%s':%s"
-
-#: wrapper.c:632
+#: wrapper.c:594 wrapper.c:615
 #, c-format
 msgid "unable to access '%s'"
 msgstr "不能访问 '%s'"
 
-#: wrapper.c:640
+#: wrapper.c:623
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
-#: wrapper.c:667
+#: wrapper.c:650
 #, c-format
 msgid "could not open %s for writing"
 msgstr "不能写入 %s"
 
-#: wrapper.c:678 builtin/am.c:410
+#: wrapper.c:661 builtin/am.c:410
 #, c-format
 msgid "could not write to %s"
 msgstr "不能写入 %s"
 
-#: wrapper.c:684
+#: wrapper.c:667
 #, c-format
 msgid "could not close %s"
 msgstr "不能关闭 %s"
 
-#: wt-status.c:149
+#: wt-status.c:150
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:176 wt-status.c:203
+#: wt-status.c:177 wt-status.c:204
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:178 wt-status.c:205
+#: wt-status.c:179 wt-status.c:206
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:182
+#: wt-status.c:183
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:184 wt-status.c:188
+#: wt-status.c:185 wt-status.c:189
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:186
+#: wt-status.c:187
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:197 wt-status.c:880
+#: wt-status.c:198 wt-status.c:881
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:215 wt-status.c:889
+#: wt-status.c:216 wt-status.c:890
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:219
+#: wt-status.c:220
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:221
+#: wt-status.c:222
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:222
+#: wt-status.c:223
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:224
+#: wt-status.c:225
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:236
+#: wt-status.c:237
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
-#: wt-status.c:251
+#: wt-status.c:252
 msgid "both deleted:"
 msgstr "双方删除:"
 
-#: wt-status.c:253
+#: wt-status.c:254
 msgid "added by us:"
 msgstr "由我们添加:"
 
-#: wt-status.c:255
+#: wt-status.c:256
 msgid "deleted by them:"
 msgstr "由他们删除:"
 
-#: wt-status.c:257
+#: wt-status.c:258
 msgid "added by them:"
 msgstr "由他们添加:"
 
-#: wt-status.c:259
+#: wt-status.c:260
 msgid "deleted by us:"
 msgstr "由我们删除:"
 
-#: wt-status.c:261
+#: wt-status.c:262
 msgid "both added:"
 msgstr "双方添加:"
 
-#: wt-status.c:263
+#: wt-status.c:264
 msgid "both modified:"
 msgstr "双方修改:"
 
-#: wt-status.c:265
+#: wt-status.c:266
 #, c-format
 msgid "bug: unhandled unmerged status %x"
 msgstr "bug:无法处理的未合并状态 %x"
 
-#: wt-status.c:273
+#: wt-status.c:274
 msgid "new file:"
 msgstr "新文件:"
 
-#: wt-status.c:275
+#: wt-status.c:276
 msgid "copied:"
 msgstr "拷贝:"
 
-#: wt-status.c:277
+#: wt-status.c:278
 msgid "deleted:"
 msgstr "删除:"
 
-#: wt-status.c:279
+#: wt-status.c:280
 msgid "modified:"
 msgstr "修改:"
 
-#: wt-status.c:281
+#: wt-status.c:282
 msgid "renamed:"
 msgstr "重命名:"
 
-#: wt-status.c:283
+#: wt-status.c:284
 msgid "typechange:"
 msgstr "类型变更:"
 
-#: wt-status.c:285
+#: wt-status.c:286
 msgid "unknown:"
 msgstr "未知:"
 
-#: wt-status.c:287
+#: wt-status.c:288
 msgid "unmerged:"
 msgstr "未合并:"
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:369
+#: wt-status.c:370
 msgid "new commits, "
 msgstr "新提交, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:371
+#: wt-status.c:372
 msgid "modified content, "
 msgstr "修改的内容, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:373
+#: wt-status.c:374
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:390
+#: wt-status.c:391
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "bug:无法处理的差异状态 %c"
 
-#: wt-status.c:754
+#: wt-status.c:755
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:756
+#: wt-status.c:757
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:837
+#: wt-status.c:838
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -2128,44 +2386,44 @@ msgstr ""
 "不要改动上面的一行。\n"
 "下面的所有内容均将被删除。"
 
-#: wt-status.c:948
+#: wt-status.c:949
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:951
+#: wt-status.c:952
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
-#: wt-status.c:954
+#: wt-status.c:956
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:957
+#: wt-status.c:959
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:967
+#: wt-status.c:969
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:970
+#: wt-status.c:972
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:974
+#: wt-status.c:976
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:976
+#: wt-status.c:978
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:978
+#: wt-status.c:980
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
@@ -2319,43 +2577,43 @@ msgstr "您在执行二分查找操作。"
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1438
+#: wt-status.c:1460
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1444
+#: wt-status.c:1466
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1446
+#: wt-status.c:1468
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1451
+#: wt-status.c:1473
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1453
+#: wt-status.c:1475
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1456
+#: wt-status.c:1478
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1474
+#: wt-status.c:1496
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1488
+#: wt-status.c:1510
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1490
+#: wt-status.c:1512
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1494
+#: wt-status.c:1516
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -2365,88 +2623,88 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1500
+#: wt-status.c:1522
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1502
+#: wt-status.c:1524
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1508
+#: wt-status.c:1530
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1513
+#: wt-status.c:1535
 #, 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:1516
+#: wt-status.c:1538
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1519
+#: wt-status.c:1541
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1522
+#: wt-status.c:1544
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1525
+#: wt-status.c:1547
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1528 wt-status.c:1533
+#: wt-status.c:1550 wt-status.c:1555
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1531
+#: wt-status.c:1553
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1535
+#: wt-status.c:1557
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1642
+#: wt-status.c:1664
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
-#: wt-status.c:1646
+#: wt-status.c:1668
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1675
+#: wt-status.c:1697
 msgid "gone"
 msgstr "丢失"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1677 wt-status.c:1685
+#: wt-status.c:1699 wt-status.c:1707
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1680 wt-status.c:1683
+#: wt-status.c:1702 wt-status.c:1705
 msgid "ahead "
 msgstr "领先 "
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:413
+#: compat/precompose_utf8.c:57 builtin/clone.c:415
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
@@ -2460,7 +2718,7 @@ msgstr "git add [<选项>] [--] <路径规格>..."
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:70 builtin/commit.c:278
+#: builtin/add.c:70 builtin/commit.c:280
 msgid "updating files failed"
 msgstr "更新文件失败"
 
@@ -2473,7 +2731,7 @@ msgstr "删除 '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:194 builtin/rev-parse.c:797
+#: builtin/add.c:194 builtin/rev-parse.c:811
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
@@ -2509,14 +2767,14 @@ msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
 #: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
-#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/prune-packed.c:55 builtin/pull.c:197 builtin/push.c:511
+#: builtin/remote.c:1332 builtin/rm.c:268 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
-#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
+#: builtin/add.c:250 builtin/apply.c:4563 builtin/check-ignore.c:19
+#: builtin/commit.c:1333 builtin/count-objects.c:85 builtin/fsck.c:557
+#: builtin/log.c:1826 builtin/mv.c:110 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "冗长输出"
 
@@ -2524,7 +2782,7 @@ msgstr "冗长输出"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1154 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -2592,16 +2850,16 @@ msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
 #: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
-#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:35
+#: builtin/commit.c:339 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:240
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4661 builtin/mv.c:283 builtin/rm.c:430
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
+#: builtin/am.c:256 builtin/commit.c:749 builtin/merge.c:1089
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
@@ -2629,16 +2887,6 @@ msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 msgid "fseek failed"
 msgstr "fseek 失败"
 
-#: builtin/am.c:772 builtin/am.c:860
-#, c-format
-msgid "could not open '%s' for reading: %s"
-msgstr "无法打开 '%s' 进行读取:%s"
-
-#: builtin/am.c:779
-#, c-format
-msgid "could not open '%s' for writing: %s"
-msgstr "无法打开 '%s' 进行写入:%s"
-
 #: builtin/am.c:788
 #, c-format
 msgid "could not parse patch '%s'"
@@ -2648,73 +2896,73 @@ msgstr "无法解析补丁 '%s'"
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/am.c:901
+#: builtin/am.c:900
 msgid "invalid timestamp"
 msgstr "无效的时间戳"
 
-#: builtin/am.c:904 builtin/am.c:912
+#: builtin/am.c:903 builtin/am.c:911
 msgid "invalid Date line"
 msgstr "无效的日期行"
 
-#: builtin/am.c:909
+#: builtin/am.c:908
 msgid "invalid timezone offset"
 msgstr "无效的时区偏移值"
 
-#: builtin/am.c:996
+#: builtin/am.c:995
 msgid "Patch format detection failed."
 msgstr "补丁格式检测失败。"
 
-#: builtin/am.c:1001 builtin/clone.c:378
+#: builtin/am.c:1000 builtin/clone.c:380
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
 
-#: builtin/am.c:1005
+#: builtin/am.c:1004
 msgid "Failed to split patches."
 msgstr "无法拆分补丁。"
 
-#: builtin/am.c:1137 builtin/commit.c:363
+#: builtin/am.c:1136 builtin/commit.c:365
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
-#: builtin/am.c:1188
+#: builtin/am.c:1187
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/am.c:1189
+#: builtin/am.c:1188
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/am.c:1190
+#: builtin/am.c:1189
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/am.c:1328
+#: builtin/am.c:1327
 msgid "Patch is empty. Was it split wrong?"
 msgstr "补丁为空。是不是切分错误?"
 
-#: builtin/am.c:1402 builtin/log.c:1350
+#: builtin/am.c:1401 builtin/log.c:1516
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "包含无效的身份标识:%s"
 
-#: builtin/am.c:1429
+#: builtin/am.c:1428
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: builtin/am.c:1631
+#: builtin/am.c:1630
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/am.c:1633
+#: builtin/am.c:1632
 msgid "Using index info to reconstruct a base tree..."
 msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/am.c:1652
+#: builtin/am.c:1651
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -2722,37 +2970,37 @@ msgstr ""
 "您是否曾手动编辑过您的补丁?\n"
 "无法应用补丁到索引中的数据对象上。"
 
-#: builtin/am.c:1658
+#: builtin/am.c:1657
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/am.c:1673
+#: builtin/am.c:1672
 msgid "Failed to merge in the changes."
 msgstr "无法合并变更。"
 
-#: builtin/am.c:1697 builtin/merge.c:633
+#: builtin/am.c:1696 builtin/merge.c:636
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
-#: builtin/am.c:1704
+#: builtin/am.c:1703
 msgid "applying to an empty history"
 msgstr "正应用到一个空历史上"
 
-#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
-#: builtin/merge.c:855
+#: builtin/am.c:1716 builtin/commit.c:1775 builtin/merge.c:841
+#: builtin/merge.c:866
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: builtin/am.c:1749 builtin/am.c:1753
+#: builtin/am.c:1748 builtin/am.c:1752
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "无法继续:%s 不存在。"
 
-#: builtin/am.c:1769
+#: builtin/am.c:1768
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr "标准输入没有和终端关联,不能进行交互式操作。"
 
-#: builtin/am.c:1774
+#: builtin/am.c:1773
 msgid "Commit Body is:"
 msgstr "提交内容为:"
 
@@ -2761,35 +3009,35 @@ msgstr "提交内容为:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1784
+#: builtin/am.c:1783
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/am.c:1834
+#: builtin/am.c:1833
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/am.c:1869 builtin/am.c:1941
+#: builtin/am.c:1868 builtin/am.c:1940
 #, c-format
 msgid "Applying: %.*s"
 msgstr "应用:%.*s"
 
-#: builtin/am.c:1885
+#: builtin/am.c:1884
 msgid "No changes -- Patch already applied."
 msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/am.c:1893
+#: builtin/am.c:1892
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/am.c:1899
+#: builtin/am.c:1898
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr "失败的补丁文件副本位于:%s"
 
-#: builtin/am.c:1944
+#: builtin/am.c:1943
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -2799,7 +3047,7 @@ msgstr ""
 "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
 "您也许想要跳过这个补丁。"
 
-#: builtin/am.c:1951
+#: builtin/am.c:1950
 msgid ""
 "You still have unmerged paths in your index.\n"
 "Did you forget to use 'git add'?"
@@ -2807,168 +3055,170 @@ msgstr ""
 "您的索引中仍有未合并的路径。\n"
 "您是否忘了执行 'git add'?"
 
-#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
+#: builtin/am.c:2058 builtin/am.c:2062 builtin/am.c:2074 builtin/reset.c:308
 #: builtin/reset.c:316
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "不能解析对象 '%s'。"
 
-#: builtin/am.c:2111
+#: builtin/am.c:2110
 msgid "failed to clean index"
 msgstr "无法清空索引"
 
-#: builtin/am.c:2145
+#: builtin/am.c:2144
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
 msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/am.c:2206
+#: builtin/am.c:2205
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "无效的 --patch-format 值:%s"
 
-#: builtin/am.c:2239
+#: builtin/am.c:2238
 msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
 msgstr "git am [<选项>] [(<mbox>|<Maildir>)...]"
 
-#: builtin/am.c:2240
+#: builtin/am.c:2239
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2246
+#: builtin/am.c:2245
 msgid "run interactively"
 msgstr "以交互式方式运行"
 
-#: builtin/am.c:2248
+#: builtin/am.c:2247
 msgid "historical option -- no-op"
 msgstr "老的参数 —— 无作用"
 
-#: builtin/am.c:2250
+#: builtin/am.c:2249
 msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2250 builtin/init-db.c:478 builtin/prune-packed.c:57
 #: builtin/repack.c:171
 msgid "be quiet"
 msgstr "静默模式"
 
-#: builtin/am.c:2253
+#: builtin/am.c:2252
 msgid "add a Signed-off-by line to the commit message"
 msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
-#: builtin/am.c:2256
+#: builtin/am.c:2255
 msgid "recode into utf8 (default)"
 msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/am.c:2258
+#: builtin/am.c:2257
 msgid "pass -k flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/am.c:2260
+#: builtin/am.c:2259
 msgid "pass -b flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/am.c:2262
+#: builtin/am.c:2261
 msgid "pass -m flag to git-mailinfo"
 msgstr "向 git-mailinfo 传递 -m 参数"
 
-#: builtin/am.c:2264
+#: builtin/am.c:2263
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/am.c:2267
+#: builtin/am.c:2266
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2269
 msgid "strip everything before a scissors line"
 msgstr "丢弃裁切线前的所有内容"
 
-#: builtin/am.c:2271 builtin/apply.c:4544
+#: builtin/am.c:2270 builtin/apply.c:4546
 msgid "action"
 msgstr "动作"
 
-#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
-#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
-#: builtin/am.c:2299
+#: builtin/am.c:2271 builtin/am.c:2274 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292
+#: builtin/am.c:2298
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2280 builtin/apply.c:4568
+#: builtin/am.c:2279 builtin/apply.c:4570
 msgid "root"
 msgstr "根目录"
 
-#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
-#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
-#: builtin/pull.c:171 builtin/submodule--helper.c:72
-#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
+#: builtin/am.c:2282 builtin/am.c:2285 builtin/apply.c:4508
+#: builtin/apply.c:4511 builtin/clone.c:90 builtin/fetch.c:95
+#: builtin/pull.c:179 builtin/submodule--helper.c:277
+#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:485
+#: builtin/submodule--helper.c:488 builtin/submodule--helper.c:767
+#: builtin/submodule--helper.c:770
 msgid "path"
 msgstr "路径"
 
-#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
-#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/am.c:2288 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:706 builtin/merge.c:199 builtin/pull.c:134
+#: builtin/pull.c:193 builtin/repack.c:178 builtin/repack.c:182
 #: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
 #: parse-options.h:132 parse-options.h:134 parse-options.h:244
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2292 builtin/apply.c:4512
+#: builtin/am.c:2291 builtin/apply.c:4514
 msgid "num"
 msgstr "数字"
 
-#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2294 builtin/for-each-ref.c:37 builtin/replace.c:438
 #: builtin/tag.c:372
 msgid "format"
 msgstr "格式"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2295
 msgid "format the patch(es) are in"
 msgstr "补丁的格式"
 
-#: builtin/am.c:2302
+#: builtin/am.c:2301
 msgid "override error message when patch failure occurs"
 msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/am.c:2304
+#: builtin/am.c:2303
 msgid "continue applying patches after resolving a conflict"
 msgstr "冲突解决后继续应用补丁"
 
-#: builtin/am.c:2307
+#: builtin/am.c:2306
 msgid "synonyms for --continue"
 msgstr "和 --continue 同义"
 
-#: builtin/am.c:2310
+#: builtin/am.c:2309
 msgid "skip the current patch"
 msgstr "跳过当前补丁"
 
-#: builtin/am.c:2313
+#: builtin/am.c:2312
 msgid "restore the original branch and abort the patching operation."
 msgstr "恢复原始分支并终止打补丁操作。"
 
-#: builtin/am.c:2317
+#: builtin/am.c:2316
 msgid "lie about committer date"
 msgstr "将作者日期作为提交日期"
 
-#: builtin/am.c:2319
+#: builtin/am.c:2318
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2320 builtin/commit.c:1609 builtin/merge.c:228
+#: builtin/pull.c:164 builtin/revert.c:92 builtin/tag.c:355
 msgid "key-id"
 msgstr "key-id"
 
-#: builtin/am.c:2322
+#: builtin/am.c:2321
 msgid "GPG-sign commits"
 msgstr "使用 GPG 签名提交"
 
-#: builtin/am.c:2325
+#: builtin/am.c:2324
 msgid "(internal use for git-rebase)"
 msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/am.c:2340
+#: builtin/am.c:2339
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -2976,16 +3226,16 @@ msgstr ""
 "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
 "请不要再使用它了。"
 
-#: builtin/am.c:2347
+#: builtin/am.c:2346
 msgid "failed to read the index"
 msgstr "无法读取索引"
 
-#: builtin/am.c:2362
+#: builtin/am.c:2361
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/am.c:2386
+#: builtin/am.c:2385
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -2994,7 +3244,7 @@ msgstr ""
 "发现了错误的 %s 目录。\n"
 "使用 \"git am --abort\" 删除它。"
 
-#: builtin/am.c:2392
+#: builtin/am.c:2391
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "解决操作未进行,我们不会继续。"
 
@@ -3027,37 +3277,37 @@ msgstr "regexec 返回 %d,输入为:%s"
 msgid "unable to find filename in patch at line %d"
 msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: builtin/apply.c:940
+#: builtin/apply.c:937
 #, 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:944
+#: builtin/apply.c:942
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: builtin/apply.c:945
+#: builtin/apply.c:943
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: builtin/apply.c:952
+#: builtin/apply.c:949
 #, 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:1415
+#: builtin/apply.c:1406
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount:意外的行:%.*s"
 
-#: builtin/apply.c:1472
+#: builtin/apply.c:1463
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: builtin/apply.c:1489
+#: builtin/apply.c:1480
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -3068,77 +3318,77 @@ msgid_plural ""
 msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: builtin/apply.c:1655
+#: builtin/apply.c:1646
 msgid "new file depends on old contents"
 msgstr "新文件依赖旧内容"
 
-#: builtin/apply.c:1657
+#: builtin/apply.c:1648
 msgid "deleted file still has contents"
 msgstr "删除的文件仍有内容"
 
-#: builtin/apply.c:1683
+#: builtin/apply.c:1674
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "补丁在第 %d 行损坏"
 
-#: builtin/apply.c:1719
+#: builtin/apply.c:1710
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "新文件 %s 依赖旧内容"
 
-#: builtin/apply.c:1721
+#: builtin/apply.c:1712
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: builtin/apply.c:1724
+#: builtin/apply.c:1715
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: builtin/apply.c:1870
+#: builtin/apply.c:1861
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: builtin/apply.c:1899
+#: builtin/apply.c:1895
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: builtin/apply.c:2050
+#: builtin/apply.c:2048
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: builtin/apply.c:2140
+#: builtin/apply.c:2138
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/apply.c:2144
+#: builtin/apply.c:2142
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: builtin/apply.c:2777
+#: builtin/apply.c:2775
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: builtin/apply.c:2896
+#: builtin/apply.c:2894
 #, 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:2908
+#: builtin/apply.c:2906
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: builtin/apply.c:2914
+#: builtin/apply.c:2912
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -3147,319 +3397,329 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: builtin/apply.c:2934
+#: builtin/apply.c:2932
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: builtin/apply.c:3035
+#: builtin/apply.c:3033
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: builtin/apply.c:3041
+#: builtin/apply.c:3039
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: builtin/apply.c:3062
+#: builtin/apply.c:3060
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: builtin/apply.c:3186
+#: builtin/apply.c:3184
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287
+#: builtin/apply.c:3229 builtin/apply.c:3240 builtin/apply.c:3285
 #, c-format
 msgid "read of %s failed"
 msgstr "读取 %s 失败"
 
-#: builtin/apply.c:3239
+#: builtin/apply.c:3237
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: builtin/apply.c:3267 builtin/apply.c:3489
+#: builtin/apply.c:3265 builtin/apply.c:3487
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: builtin/apply.c:3348 builtin/apply.c:3503
+#: builtin/apply.c:3346 builtin/apply.c:3501
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517
+#: builtin/apply.c:3350 builtin/apply.c:3493 builtin/apply.c:3515
 #, c-format
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: builtin/apply.c:3357 builtin/apply.c:3511
+#: builtin/apply.c:3355 builtin/apply.c:3509
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: builtin/apply.c:3459
+#: builtin/apply.c:3457
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: builtin/apply.c:3528
+#: builtin/apply.c:3526
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: builtin/apply.c:3530
+#: builtin/apply.c:3528
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: builtin/apply.c:3689 builtin/apply.c:3691
+#: builtin/apply.c:3687 builtin/apply.c:3689
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: builtin/apply.c:3746
+#: builtin/apply.c:3744
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: builtin/apply.c:3749
+#: builtin/apply.c:3747
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: builtin/apply.c:3769
+#: builtin/apply.c:3767
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: builtin/apply.c:3774
+#: builtin/apply.c:3772
 #, 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:3794
+#: builtin/apply.c:3792
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: builtin/apply.c:3798
+#: builtin/apply.c:3796
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: builtin/apply.c:3812
+#: builtin/apply.c:3810
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135
+#: builtin/apply.c:3903 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: builtin/apply.c:4048
+#: builtin/apply.c:4046
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: builtin/apply.c:4077
+#: builtin/apply.c:4075
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: builtin/apply.c:4081
+#: builtin/apply.c:4079
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: builtin/apply.c:4086
+#: builtin/apply.c:4084
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: builtin/apply.c:4089 builtin/apply.c:4197
+#: builtin/apply.c:4087 builtin/apply.c:4195
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: builtin/apply.c:4122
+#: builtin/apply.c:4120
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: builtin/apply.c:4171
+#: builtin/apply.c:4169
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: builtin/apply.c:4258
+#: builtin/apply.c:4256
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: builtin/apply.c:4266
+#: builtin/apply.c:4264
 msgid "internal error"
 msgstr "内部错误"
 
-#: builtin/apply.c:4269
+#: builtin/apply.c:4267
 #, 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:4279
+#: builtin/apply.c:4277
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: builtin/apply.c:4300
+#: builtin/apply.c:4285
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "不能打开 %s:%s"
+
+#: builtin/apply.c:4298
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: builtin/apply.c:4303
+#: builtin/apply.c:4301
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: builtin/apply.c:4393
+#: builtin/apply.c:4387
+#, c-format
+msgid "Skipped patch '%s'."
+msgstr "略过补丁 '%s'。"
+
+#: builtin/apply.c:4395
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: builtin/apply.c:4404
+#: builtin/apply.c:4406
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: builtin/apply.c:4507
+#: builtin/apply.c:4509
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4510
+#: builtin/apply.c:4512
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4513
+#: builtin/apply.c:4515
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: builtin/apply.c:4516
+#: builtin/apply.c:4518
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: builtin/apply.c:4518
+#: builtin/apply.c:4520
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: builtin/apply.c:4522
+#: builtin/apply.c:4524
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: builtin/apply.c:4524
+#: builtin/apply.c:4526
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: builtin/apply.c:4526
+#: builtin/apply.c:4528
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: builtin/apply.c:4528
+#: builtin/apply.c:4530
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: builtin/apply.c:4530
+#: builtin/apply.c:4532
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: builtin/apply.c:4532
+#: builtin/apply.c:4534
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: builtin/apply.c:4534
+#: builtin/apply.c:4536
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: builtin/apply.c:4536
+#: builtin/apply.c:4538
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: builtin/apply.c:4538
+#: builtin/apply.c:4540
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
+#: builtin/apply.c:4543 builtin/checkout-index.c:169 builtin/ls-files.c:425
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: builtin/apply.c:4543
+#: builtin/apply.c:4545
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: builtin/apply.c:4545
+#: builtin/apply.c:4547
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: builtin/apply.c:4548 builtin/apply.c:4551
+#: builtin/apply.c:4550 builtin/apply.c:4553
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: builtin/apply.c:4554
+#: builtin/apply.c:4556
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: builtin/apply.c:4556
+#: builtin/apply.c:4558
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: builtin/apply.c:4558
+#: builtin/apply.c:4560
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: builtin/apply.c:4560
+#: builtin/apply.c:4562
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: builtin/apply.c:4563
+#: builtin/apply.c:4565
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: builtin/apply.c:4566
+#: builtin/apply.c:4568
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: builtin/apply.c:4569
+#: builtin/apply.c:4571
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: builtin/apply.c:4591
+#: builtin/apply.c:4593
 msgid "--3way outside a repository"
 msgstr "--3way 在一个仓库之外"
 
-#: builtin/apply.c:4599
+#: builtin/apply.c:4601
 msgid "--index outside a repository"
 msgstr "--index 在一个仓库之外"
 
-#: builtin/apply.c:4602
+#: builtin/apply.c:4604
 msgid "--cached outside a repository"
 msgstr "--cached 在一个仓库之外"
 
-#: builtin/apply.c:4621
+#: builtin/apply.c:4623
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "不能打开补丁 '%s'"
 
-#: builtin/apply.c:4635
+#: builtin/apply.c:4637
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: builtin/apply.c:4641 builtin/apply.c:4651
+#: builtin/apply.c:4643 builtin/apply.c:4653
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -3525,99 +3785,99 @@ msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/blame.c:2530
+#: builtin/blame.c:2531
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2531
+#: builtin/blame.c:2532
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:2532
+#: builtin/blame.c:2533
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:2533
+#: builtin/blame.c:2534
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2534
+#: builtin/blame.c:2535
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:2535
+#: builtin/blame.c:2536
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2536
+#: builtin/blame.c:2537
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:2537
+#: builtin/blame.c:2538
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:2538
+#: builtin/blame.c:2539
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2540
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2540
+#: builtin/blame.c:2541
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:2541
+#: builtin/blame.c:2542
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:2542
+#: builtin/blame.c:2543
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:2543
+#: builtin/blame.c:2544
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:2544
+#: builtin/blame.c:2545
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:2545
+#: builtin/blame.c:2546
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2546
+#: builtin/blame.c:2547
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2547
+#: builtin/blame.c:2548
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2548
+#: builtin/blame.c:2549
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:2549 builtin/blame.c:2550
+#: builtin/blame.c:2550 builtin/blame.c:2551
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2549
+#: builtin/blame.c:2550
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2550
+#: builtin/blame.c:2551
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2551
+#: builtin/blame.c:2552
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2551
+#: builtin/blame.c:2552
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
@@ -3627,32 +3887,32 @@ 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:2640
+#: builtin/blame.c:2641
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/branch.c:25
+#: builtin/branch.c:26
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:26
+#: builtin/branch.c:27
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr "git branch [<选项>] [-l] [-f] <分支名> [<起始点>]"
 
-#: builtin/branch.c:27
+#: builtin/branch.c:28
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<选项>] [-r] (-d | -D) <分支名>..."
 
-#: builtin/branch.c:28
+#: builtin/branch.c:29
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-m | -M) [<旧分支>] <新分支>"
 
-#: builtin/branch.c:29
+#: builtin/branch.c:30
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<选项>] [-r | -a] [--points-at]"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:142
+#: builtin/branch.c:143
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -3662,7 +3922,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:146
+#: builtin/branch.c:147
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -3671,12 +3931,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:160
+#: builtin/branch.c:161
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:164
+#: builtin/branch.c:165
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -3685,335 +3945,356 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:177
+#: builtin/branch.c:178
 msgid "Update of config-file failed"
 msgstr "无法更新 config 文件"
 
-#: builtin/branch.c:205
+#: builtin/branch.c:206
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:211
+#: builtin/branch.c:212
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:219
+#: builtin/branch.c:226
 #, c-format
-msgid "Cannot delete the branch '%s' which you are currently on."
-msgstr "æ\97 æ³\95å\88 é\99¤æ\82¨å½\93å\89\8dæ\89\80å\9c¨ç\9a\84å\88\86æ\94¯ '%s'。"
+msgid "Cannot delete branch '%s' checked out at '%s'"
+msgstr "æ\97 æ³\95å\88 é\99¤æ£\80å\87ºäº\8e '%2$s' ç\9a\84å\88\86æ\94¯ '%1$s'。"
 
-#: builtin/branch.c:235
+#: builtin/branch.c:241
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "未能找到远程跟踪分支 '%s'。"
 
-#: builtin/branch.c:236
+#: builtin/branch.c:242
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:251
+#: builtin/branch.c:257
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "无法删除远程跟踪分支 '%s'"
 
-#: builtin/branch.c:252
+#: builtin/branch.c:258
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "无法删除分支 '%s'"
 
-#: builtin/branch.c:259
+#: builtin/branch.c:265
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:260
+#: builtin/branch.c:266
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:303
+#: builtin/branch.c:309
 #, c-format
 msgid "[%s: gone]"
 msgstr "[%s: 丢失]"
 
-#: builtin/branch.c:308
+#: builtin/branch.c:314
 #, c-format
 msgid "[%s]"
 msgstr "[%s]"
 
-#: builtin/branch.c:313
+#: builtin/branch.c:319
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s:落后 %d]"
 
-#: builtin/branch.c:315
+#: builtin/branch.c:321
 #, c-format
 msgid "[behind %d]"
 msgstr "[落后 %d]"
 
-#: builtin/branch.c:319
+#: builtin/branch.c:325
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s:领先 %d]"
 
-#: builtin/branch.c:321
+#: builtin/branch.c:327
 #, c-format
 msgid "[ahead %d]"
 msgstr "[领先 %d]"
 
-#: builtin/branch.c:324
+#: builtin/branch.c:330
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s:领先 %d,落后 %d]"
 
-#: builtin/branch.c:327
+#: builtin/branch.c:333
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[领先 %d,落后 %d]"
 
-#: builtin/branch.c:340
+#: builtin/branch.c:346
 msgid " **** invalid ref ****"
 msgstr " **** 无效引用 ****"
 
-#: builtin/branch.c:366
+#: builtin/branch.c:372
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: builtin/branch.c:369
+#: builtin/branch.c:375
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 
-#: builtin/branch.c:375
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached at " in wt-status.c
+#: builtin/branch.c:381
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
 
-#: builtin/branch.c:378
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached from " in wt-status.c
+#: builtin/branch.c:386
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: builtin/branch.c:382
+#: builtin/branch.c:390
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: builtin/branch.c:524
+#: builtin/branch.c:541
+#, c-format
+msgid "Branch %s is being rebased at %s"
+msgstr "分支 %s 正被变基到 %s"
+
+#: builtin/branch.c:545
+#, c-format
+msgid "Branch %s is being bisected at %s"
+msgstr "分支 %s 正被二分查找于 %s"
+
+#: builtin/branch.c:560
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:570
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:549
+#: builtin/branch.c:587
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:553
+#: builtin/branch.c:591
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:557
+#: builtin/branch.c:594
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:564
+#: builtin/branch.c:601
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新 config 文件失败"
 
-#: builtin/branch.c:586
-#, c-format
-msgid "could not write branch description template: %s"
-msgstr "不能写分支描述模版:%s"
+#: builtin/branch.c:623
+msgid "could not write branch description template"
+msgstr "不能写分支描述模版"
 
-#: builtin/branch.c:615
+#: builtin/branch.c:651
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:653
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:654
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:655
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:657
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:659
+msgid "upstream"
+msgstr "上游"
+
+#: builtin/branch.c:659
+msgid "change the upstream info"
+msgstr "改变上游信息"
+
+#: builtin/branch.c:661
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:662
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:628 builtin/branch.c:629
+#: builtin/branch.c:664 builtin/branch.c:665
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:668
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:669
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:635
+#: builtin/branch.c:671
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:636
+#: builtin/branch.c:672
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:673
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:674
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:675
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:676
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:678
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:679
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:680
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:681
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:682
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:684 builtin/for-each-ref.c:39 builtin/tag.c:367
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:401
 #: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
 #: builtin/tag.c:369
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:687
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:705
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:673 builtin/clone.c:705
+#: builtin/branch.c:709 builtin/clone.c:707
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:693
+#: builtin/branch.c:729
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:704 builtin/branch.c:746
+#: builtin/branch.c:740 builtin/branch.c:782
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:722
+#: builtin/branch.c:758
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:727
+#: builtin/branch.c:763
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:734
+#: builtin/branch.c:770
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:737
+#: builtin/branch.c:773
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:752
+#: builtin/branch.c:788
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:793
 msgid "too many branches to set new upstream"
 msgstr "为设置新上游提供了太多的分支名"
 
-#: builtin/branch.c:761
+#: builtin/branch.c:797
 #, 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:764 builtin/branch.c:786 builtin/branch.c:807
+#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:768
+#: builtin/branch.c:804
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:780
+#: builtin/branch.c:816
 msgid "too many branches to unset upstream"
 msgstr "为取消上游设置操作提供了太多的分支名"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:820
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:790
+#: builtin/branch.c:826
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:804
+#: builtin/branch.c:840
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "手工创建 'HEAD' 没有意义"
 
-#: builtin/branch.c:810
+#: builtin/branch.c:846
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:849
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -4021,7 +4302,7 @@ msgid ""
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:830
+#: builtin/branch.c:866
 #, c-format
 msgid ""
 "\n"
@@ -4032,16 +4313,6 @@ msgstr ""
 "如果你想用 '%s' 跟踪 '%s', 这么做:\n"
 "\n"
 
-#: builtin/branch.c:831
-#, c-format
-msgid "    git branch -d %s\n"
-msgstr "    git branch -d %s\n"
-
-#: builtin/branch.c:832
-#, c-format
-msgid "    git branch --set-upstream-to %s\n"
-msgstr "    git branch --set-upstream-to %s\n"
-
 #: builtin/bundle.c:51
 #, c-format
 msgid "%s is okay\n"
@@ -4139,7 +4410,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1135 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -4229,8 +4500,9 @@ msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
-#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
+#: builtin/submodule--helper.c:491 builtin/submodule--helper.c:494
+#: builtin/submodule--helper.c:497 builtin/submodule--helper.c:500
+#: builtin/submodule--helper.c:774
 msgid "string"
 msgstr "字符串"
 
@@ -4280,80 +4552,80 @@ msgstr "path '%s':无法合并"
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:251 builtin/checkout.c:254 builtin/checkout.c:257
-#: builtin/checkout.c:260
+#: builtin/checkout.c:250 builtin/checkout.c:253 builtin/checkout.c:256
+#: builtin/checkout.c:259
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:263 builtin/checkout.c:266
+#: builtin/checkout.c:262 builtin/checkout.c:265
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:269
+#: builtin/checkout.c:268
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:280 builtin/checkout.c:474
+#: builtin/checkout.c:279 builtin/checkout.c:473
 msgid "corrupt index file"
 msgstr "损坏的索引文件"
 
-#: builtin/checkout.c:340 builtin/checkout.c:347
+#: builtin/checkout.c:339 builtin/checkout.c:346
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:496
+#: builtin/checkout.c:495
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:623
+#: builtin/checkout.c:622
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:661
+#: builtin/checkout.c:660
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:665 builtin/clone.c:659
+#: builtin/checkout.c:664 builtin/clone.c:661
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:669
+#: builtin/checkout.c:668
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:672
+#: builtin/checkout.c:671
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:676
+#: builtin/checkout.c:675
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:678 builtin/checkout.c:1068
+#: builtin/checkout.c:677 builtin/checkout.c:1067
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:680
+#: builtin/checkout.c:679
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:732
+#: builtin/checkout.c:731
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:738
+#: builtin/checkout.c:737
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -4374,7 +4646,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:757
+#: builtin/checkout.c:756
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4401,150 +4673,150 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:793
+#: builtin/checkout.c:792
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:797
+#: builtin/checkout.c:796
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:824 builtin/checkout.c:1063
+#: builtin/checkout.c:823 builtin/checkout.c:1062
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:969
+#: builtin/checkout.c:968
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "只要一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1009 builtin/worktree.c:211
+#: builtin/checkout.c:1008 builtin/worktree.c:212
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1038
+#: builtin/checkout.c:1037
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1077
+#: builtin/checkout.c:1076
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1080 builtin/checkout.c:1084
+#: builtin/checkout.c:1079 builtin/checkout.c:1083
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
-#: builtin/checkout.c:1099
+#: builtin/checkout.c:1087 builtin/checkout.c:1090 builtin/checkout.c:1095
+#: builtin/checkout.c:1098
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1104
+#: builtin/checkout.c:1103
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
-#: builtin/worktree.c:320
+#: builtin/checkout.c:1136 builtin/checkout.c:1138 builtin/clone.c:88
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:323
+#: builtin/worktree.c:325
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1137
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1139
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1140
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1141
 msgid "detach the HEAD at named commit"
 msgstr "成为指向该提交的分离头指针"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1142
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1144
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1144
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1145
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1147
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1149
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1151
+#: builtin/checkout.c:1150
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1152 builtin/merge.c:227
+#: builtin/checkout.c:1151 builtin/merge.c:230
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
+#: builtin/checkout.c:1152 builtin/log.c:1432 parse-options.h:250
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1154
+#: builtin/checkout.c:1153
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1156
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1158
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1160
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
-#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
+#: builtin/checkout.c:1161 builtin/clone.c:60 builtin/fetch.c:116
+#: builtin/merge.c:227 builtin/pull.c:116 builtin/push.c:526
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1193
+#: builtin/checkout.c:1192
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1210
+#: builtin/checkout.c:1209
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1215
+#: builtin/checkout.c:1214
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1251
+#: builtin/checkout.c:1250
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1258
+#: builtin/checkout.c:1257
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4553,12 +4825,12 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1263
+#: builtin/checkout.c:1262
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1267
+#: builtin/checkout.c:1266
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -4709,8 +4981,8 @@ msgstr "交互式清除"
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
-#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:724
+#: builtin/ls-files.c:456 builtin/name-rev.c:314 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "模式"
 
@@ -4748,104 +5020,113 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:60
+#: builtin/clone.c:62
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
+#: builtin/clone.c:63 builtin/clone.c:65 builtin/init-db.c:473
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:65
+#: builtin/clone.c:67
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:67
+#: builtin/clone.c:69
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:69
+#: builtin/clone.c:71
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:71
+#: builtin/clone.c:73
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:73 builtin/clone.c:75
+#: builtin/clone.c:75 builtin/clone.c:77
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:76 builtin/init-db.c:466
+#: builtin/clone.c:79
+msgid "number of submodules cloned in parallel"
+msgstr "并发克隆的子模组的数量"
+
+#: builtin/clone.c:80 builtin/init-db.c:470
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:77 builtin/init-db.c:467
+#: builtin/clone.c:81 builtin/init-db.c:471
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:79 builtin/submodule--helper.c:173
+#: builtin/clone.c:83 builtin/submodule--helper.c:498
+#: builtin/submodule--helper.c:777
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:81
+#: builtin/clone.c:85
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:83
+#: builtin/clone.c:87
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:89
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:91
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
-#: builtin/pull.c:193
+#: builtin/clone.c:92 builtin/fetch.c:117 builtin/grep.c:667
+#: builtin/pull.c:201
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:93
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:95
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:92 builtin/init-db.c:475
+#: builtin/clone.c:97
+msgid "any cloned submodules will be shallow"
+msgstr "子模组将以浅下载模式克隆"
+
+#: builtin/clone.c:98 builtin/init-db.c:479
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:93 builtin/init-db.c:476
+#: builtin/clone.c:99 builtin/init-db.c:480
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:100
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:101
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+#: builtin/clone.c:102 builtin/fetch.c:131 builtin/push.c:536
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+#: builtin/clone.c:104 builtin/fetch.c:133 builtin/push.c:538
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:239
+#: builtin/clone.c:241
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -4853,57 +5134,52 @@ msgstr ""
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:305
+#: builtin/clone.c:307
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: builtin/clone.c:307
+#: builtin/clone.c:309
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: builtin/clone.c:312
+#: builtin/clone.c:314
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: builtin/clone.c:315
+#: builtin/clone.c:317
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "参考仓库 '%s' 已被嫁接"
 
-#: builtin/clone.c:380 builtin/diff.c:84
-#, c-format
-msgid "failed to stat '%s'"
-msgstr "无法枚举 '%s' 状态"
-
-#: builtin/clone.c:382
+#: builtin/clone.c:384
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:396
+#: builtin/clone.c:398
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "无法枚举 %s 状态\n"
 
-#: builtin/clone.c:418
+#: builtin/clone.c:420
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:422
+#: builtin/clone.c:424
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:447 builtin/clone.c:631
+#: builtin/clone.c:449 builtin/clone.c:633
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:459
+#: builtin/clone.c:461
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -4913,126 +5189,126 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:536
+#: builtin/clone.c:538
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:626
+#: builtin/clone.c:628
 #, c-format
 msgid "Checking connectivity... "
 msgstr "检查连接... "
 
-#: builtin/clone.c:629
+#: builtin/clone.c:631
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:647
+#: builtin/clone.c:649
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:696
+#: builtin/clone.c:698
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:727
+#: builtin/clone.c:729
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:753
+#: builtin/clone.c:767
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:816
+#: builtin/clone.c:830
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:818
+#: builtin/clone.c:832
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:850
+#: builtin/clone.c:864 builtin/receive-pack.c:1731
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:854
+#: builtin/clone.c:868
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:865
+#: builtin/clone.c:879
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:868
+#: builtin/clone.c:882
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:881
+#: builtin/clone.c:895
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:887 builtin/fetch.c:1174
+#: builtin/clone.c:901 builtin/fetch.c:1174
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:897
+#: builtin/clone.c:911
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:907
+#: builtin/clone.c:921
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
-#: builtin/worktree.c:219 builtin/worktree.c:246
+#: builtin/clone.c:936 builtin/clone.c:947 builtin/submodule--helper.c:547
+#: builtin/worktree.c:220 builtin/worktree.c:247
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:925
+#: builtin/clone.c:939
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:943
+#: builtin/clone.c:957
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:945
+#: builtin/clone.c:959
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:984
+#: builtin/clone.c:998
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆被忽略,改为 file:// 协议试试。"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:1001
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:992
+#: builtin/clone.c:1006
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:996
+#: builtin/clone.c:1010
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "不知道如何克隆 %s"
 
-#: builtin/clone.c:1045 builtin/clone.c:1053
+#: builtin/clone.c:1059 builtin/clone.c:1067
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1056
+#: builtin/clone.c:1070
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -5166,103 +5442,103 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:305
+#: builtin/commit.c:307
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:346
+#: builtin/commit.c:348
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:352
+#: builtin/commit.c:354
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:365
+#: builtin/commit.c:367
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:367
+#: builtin/commit.c:369
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463
+#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:465
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:445
+#: builtin/commit.c:447
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:447
+#: builtin/commit.c:449
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:456
+#: builtin/commit.c:458
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:475
+#: builtin/commit.c:477
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:580
+#: builtin/commit.c:582
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:584
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有非法的作者信息"
 
-#: builtin/commit.c:601
+#: builtin/commit.c:603
 msgid "malformed --author parameter"
 msgstr "非法的 --author 参数"
 
-#: builtin/commit.c:609
+#: builtin/commit.c:611
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: builtin/commit.c:653
+#: builtin/commit.c:655
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080
+#: builtin/commit.c:692 builtin/commit.c:725 builtin/commit.c:1091
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:702 builtin/shortlog.c:285
+#: builtin/commit.c:704 builtin/shortlog.c:285
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:704
+#: builtin/commit.c:706
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:708
+#: builtin/commit.c:710
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:730
-msgid "could not read MERGE_MSG"
-msgstr "不能读取 MERGE_MSG"
-
-#: builtin/commit.c:734
+#: builtin/commit.c:737 builtin/commit.c:745
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:785
+#: builtin/commit.c:742
+msgid "could not read MERGE_MSG"
+msgstr "不能读取 MERGE_MSG"
+
+#: builtin/commit.c:796
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:803
+#: builtin/commit.c:814
 #, c-format
 msgid ""
 "\n"
@@ -5276,7 +5552,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:808
+#: builtin/commit.c:819
 #, c-format
 msgid ""
 "\n"
@@ -5290,7 +5566,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:821
+#: builtin/commit.c:832
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -5299,7 +5575,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:828
+#: builtin/commit.c:839
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -5310,346 +5586,346 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:848
+#: builtin/commit.c:859
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:856
+#: builtin/commit.c:867
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:863
+#: builtin/commit.c:874
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:881
+#: builtin/commit.c:892
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:938
+#: builtin/commit.c:949
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:953 builtin/tag.c:266
+#: builtin/commit.c:964 builtin/tag.c:266
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1066
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 'Name <email>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1070 builtin/commit.c:1310
+#: builtin/commit.c:1081 builtin/commit.c:1321
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1107
+#: builtin/commit.c:1118
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1137
+#: builtin/commit.c:1148
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1146
+#: builtin/commit.c:1157
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1149
+#: builtin/commit.c:1160
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1151
+#: builtin/commit.c:1162
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1154
+#: builtin/commit.c:1165
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1164
+#: builtin/commit.c:1175
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1166
+#: builtin/commit.c:1177
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "选项 -m 不能和 -c/-C/-F/--fixup 同时使用。"
 
-#: builtin/commit.c:1174
+#: builtin/commit.c:1185
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1191
+#: builtin/commit.c:1202
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1193
+#: builtin/commit.c:1204
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1195
+#: builtin/commit.c:1206
 msgid "Clever... amending the last one with dirty index."
 msgstr "聪明... 用脏索引修补最后一个提交。"
 
-#: builtin/commit.c:1197
+#: builtin/commit.c:1208
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项,认为是 --only paths..."
 
-#: builtin/commit.c:1209 builtin/tag.c:475
+#: builtin/commit.c:1220 builtin/tag.c:474
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1214
+#: builtin/commit.c:1225
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1324 builtin/commit.c:1605
+#: builtin/commit.c:1335 builtin/commit.c:1621
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1326 builtin/commit.c:1607
+#: builtin/commit.c:1337 builtin/commit.c:1623
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
-#: builtin/worktree.c:430
+#: builtin/commit.c:1339 builtin/commit.c:1625 builtin/push.c:512
+#: builtin/worktree.c:437
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1331 builtin/commit.c:1611
+#: builtin/commit.c:1342 builtin/commit.c:1627
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1334 builtin/commit.c:1614
+#: builtin/commit.c:1345 builtin/commit.c:1630
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981
+#: builtin/commit.c:1347 builtin/commit.c:1633 builtin/fast-export.c:981
 #: builtin/fast-export.c:984 builtin/tag.c:353
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1337 builtin/commit.c:1617
+#: builtin/commit.c:1348 builtin/commit.c:1633
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1340
+#: builtin/commit.c:1351
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1341 parse-options.h:155
+#: builtin/commit.c:1352 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1342
+#: builtin/commit.c:1353
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1344
+#: builtin/commit.c:1355
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1430
+#: builtin/commit.c:1441
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1432
+#: builtin/commit.c:1443
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1477
+#: builtin/commit.c:1488
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1480
+#: builtin/commit.c:1491
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1575
+#: builtin/commit.c:1591
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1576
+#: builtin/commit.c:1592
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1578
+#: builtin/commit.c:1594
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1579 builtin/tag.c:351
+#: builtin/commit.c:1595 builtin/tag.c:351
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1596
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1596
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1581 builtin/gc.c:326
+#: builtin/commit.c:1597 builtin/gc.c:326
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1581
+#: builtin/commit.c:1597
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/commit.c:1598 builtin/merge.c:219 builtin/notes.c:395
 #: builtin/notes.c:558 builtin/tag.c:349
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1582
+#: builtin/commit.c:1598
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585
-#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79
+#: builtin/commit.c:1599 builtin/commit.c:1600 builtin/commit.c:1601
+#: builtin/commit.c:1602 parse-options.h:256 ref-filter.h:79
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1583
+#: builtin/commit.c:1599
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1584
+#: builtin/commit.c:1600
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1585
+#: builtin/commit.c:1601
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1586
+#: builtin/commit.c:1602
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1603
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
+#: builtin/commit.c:1604 builtin/log.c:1382 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1589
+#: builtin/commit.c:1605
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1606
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1591
+#: builtin/commit.c:1607
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1591 builtin/tag.c:354
+#: builtin/commit.c:1607 builtin/tag.c:354
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1608
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
+#: builtin/commit.c:1610 builtin/merge.c:229 builtin/pull.c:165
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1613
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1614
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1615
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1600
+#: builtin/commit.c:1616
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1617
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1618
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1619
 msgid "bypass pre-commit hook"
 msgstr "绕过 pre-commit 钩子"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1620
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1631
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1632
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1637
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1639
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1652
+#: builtin/commit.c:1668
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1698
+#: builtin/commit.c:1718
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1705
+#: builtin/commit.c:1725
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1724
+#: builtin/commit.c:1744
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1735
+#: builtin/commit.c:1755
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1740
+#: builtin/commit.c:1760
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1788
+#: builtin/commit.c:1808
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -5794,7 +6070,7 @@ msgstr "显示配置的来源(文件、标准输入、数据对象,或命令
 msgid "unable to parse default color value"
 msgstr "不能解析默认颜色值"
 
-#: builtin/config.c:469
+#: builtin/config.c:472
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -5809,7 +6085,7 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:611
+#: builtin/config.c:614
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
@@ -5845,7 +6121,7 @@ msgstr "附注标签 %s 没有嵌入名称"
 msgid "tag '%s' is really '%s' here"
 msgstr "标签 '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:250 builtin/log.c:459
+#: builtin/describe.c:250 builtin/log.c:465
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -5938,7 +6214,7 @@ msgstr "考虑最近 <n> 个标签(默认:10)"
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:410 builtin/name-rev.c:314
+#: builtin/describe.c:410 builtin/name-rev.c:321
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -5972,21 +6248,21 @@ msgstr "'%s':不是一个正规文件或符号链接"
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:358
+#: builtin/diff.c:360
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:401
+#: builtin/diff.c:403
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:410
+#: builtin/diff.c:412
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
-#: builtin/diff.c:417
+#: builtin/diff.c:419
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
@@ -6059,19 +6335,19 @@ msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:92 builtin/pull.c:166
+#: builtin/fetch.c:92 builtin/pull.c:174
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:94 builtin/pull.c:169
+#: builtin/fetch.c:94 builtin/pull.c:177
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:96 builtin/pull.c:172
+#: builtin/fetch.c:96 builtin/pull.c:180
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:97 builtin/pull.c:174
+#: builtin/fetch.c:97 builtin/pull.c:182
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
@@ -6079,7 +6355,7 @@ msgstr "强制覆盖本地分支"
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:101 builtin/pull.c:176
+#: builtin/fetch.c:101 builtin/pull.c:184
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
@@ -6091,20 +6367,20 @@ msgstr "不抓取任何标签(--no-tags)"
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:107 builtin/pull.c:179
+#: builtin/fetch.c:107 builtin/pull.c:187
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:108 builtin/pull.c:182
+#: builtin/fetch.c:108 builtin/pull.c:190
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:109 builtin/pull.c:183
+#: builtin/fetch.c:109 builtin/pull.c:191
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:113 builtin/pull.c:191
+#: builtin/fetch.c:113 builtin/pull.c:199
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
@@ -6112,15 +6388,15 @@ msgstr "保持下载包"
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:118 builtin/pull.c:194
+#: builtin/fetch.c:118 builtin/pull.c:202
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:120 builtin/pull.c:197
+#: builtin/fetch.c:120 builtin/pull.c:205
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:122 builtin/log.c:1236
+#: builtin/fetch.c:122 builtin/log.c:1399
 msgid "dir"
 msgstr "目录"
 
@@ -6132,15 +6408,15 @@ msgstr "在子模组路径输出的前面加上此目录"
 msgid "default mode for recursion"
 msgstr "递归的默认模式"
 
-#: builtin/fetch.c:128 builtin/pull.c:200
+#: builtin/fetch.c:128 builtin/pull.c:208
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:129 builtin/pull.c:202
+#: builtin/fetch.c:129 builtin/pull.c:210
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:130 builtin/pull.c:203
+#: builtin/fetch.c:130 builtin/pull.c:211
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
@@ -6199,11 +6475,6 @@ msgstr "强制更新"
 msgid "(non-fast-forward)"
 msgstr "(非快进式)"
 
-#: builtin/fetch.c:610 builtin/fetch.c:851
-#, c-format
-msgid "cannot open %s: %s\n"
-msgstr "无法打开 %s:%s\n"
-
 #: builtin/fetch.c:619
 #, c-format
 msgid "%s did not send all necessary objects\n"
@@ -6402,55 +6673,55 @@ msgstr "检查连接中"
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:553
+#: builtin/fsck.c:552
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:559
+#: builtin/fsck.c:558
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:560
+#: builtin/fsck.c:559
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:561
+#: builtin/fsck.c:560
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:562
+#: builtin/fsck.c:561
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:563
+#: builtin/fsck.c:562
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:563
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:565
+#: builtin/fsck.c:564
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:566
+#: builtin/fsck.c:565
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:567
+#: builtin/fsck.c:566
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:569
+#: builtin/fsck.c:568
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:570 builtin/prune.c:107
+#: builtin/fsck.c:569 builtin/prune.c:107
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:631
+#: builtin/fsck.c:630
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -6549,215 +6820,215 @@ msgstr "无法读取树(%s)"
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:558
+#: builtin/grep.c:560
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:575
+#: builtin/grep.c:577
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: builtin/grep.c:644
+#: builtin/grep.c:646
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:648
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:648
+#: builtin/grep.c:650
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:650
+#: builtin/grep.c:652
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:655
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:657
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:657
+#: builtin/grep.c:659
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:659
+#: builtin/grep.c:661
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:661
+#: builtin/grep.c:663
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:666
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:666
+#: builtin/grep.c:668
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:670
+#: builtin/grep.c:672
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:675
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:678
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:681
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:684
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:683
+#: builtin/grep.c:685
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:686
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:688
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:688
+#: builtin/grep.c:690
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:690
+#: builtin/grep.c:692
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:695
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:695
+#: builtin/grep.c:697
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:697
+#: builtin/grep.c:699
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:698
+#: builtin/grep.c:700
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:702
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:702
+#: builtin/grep.c:704
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:707
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:710
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:712
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:714
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:715
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:716
+#: builtin/grep.c:718
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:718
+#: builtin/grep.c:720
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:721
+#: builtin/grep.c:723
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:723
+#: builtin/grep.c:725
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:725
+#: builtin/grep.c:727
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:739
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:739
+#: builtin/grep.c:741
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:741
+#: builtin/grep.c:743
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:745
+#: builtin/grep.c:747
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:745
+#: builtin/grep.c:747
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:748
+#: builtin/grep.c:750
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:811
+#: builtin/grep.c:813
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:843 builtin/index-pack.c:1475
+#: builtin/grep.c:845 builtin/index-pack.c:1477
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:873
+#: builtin/grep.c:875
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:899
+#: builtin/grep.c:901
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:904
+#: builtin/grep.c:906
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:907
+#: builtin/grep.c:909
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:915
+#: builtin/grep.c:917
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -6846,8 +7117,8 @@ msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
 #: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
 #, c-format
-msgid "failed to exec '%s': %s"
-msgstr "无法执行 '%s':%s"
+msgid "failed to exec '%s'"
+msgstr "无法执行 '%s'"
 
 #: builtin/help.c:205
 #, c-format
@@ -7105,107 +7376,109 @@ msgstr "不可理喻"
 
 #: builtin/index-pack.c:1253
 #, c-format
-msgid "completed with %d local objects"
-msgstr "完成 %d 个本地对象"
+msgid "completed with %d local object"
+msgid_plural "completed with %d local objects"
+msgstr[0] "完成 %d 个本地对象"
+msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1263
+#: builtin/index-pack.c:1265
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1267
+#: builtin/index-pack.c:1269
 #, 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:1291
+#: builtin/index-pack.c:1293
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1367
+#: builtin/index-pack.c:1369
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1391
+#: builtin/index-pack.c:1393
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1404
+#: builtin/index-pack.c:1406
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1412
+#: builtin/index-pack.c:1414
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1425
+#: builtin/index-pack.c:1427
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1436
+#: builtin/index-pack.c:1438
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1469
+#: builtin/index-pack.c:1471
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
+#: builtin/index-pack.c:1481 builtin/index-pack.c:1678
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/index-pack.c:1538
+#: builtin/index-pack.c:1540
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1540
+#: builtin/index-pack.c:1542
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1587
+#: builtin/index-pack.c:1589
 #, 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:1594
+#: builtin/index-pack.c:1596
 #, 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:1624
+#: builtin/index-pack.c:1609
+#, c-format
+msgid "packfile name '%s' does not end with '.pack'"
+msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
+
+#: builtin/index-pack.c:1638
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
-#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
+#: builtin/index-pack.c:1690 builtin/index-pack.c:1693
+#: builtin/index-pack.c:1705 builtin/index-pack.c:1709
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1709
+#: builtin/index-pack.c:1723
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
-#, c-format
-msgid "packfile name '%s' does not end with '.pack'"
-msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
-
-#: builtin/index-pack.c:1730
+#: builtin/index-pack.c:1731
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
@@ -7244,27 +7517,27 @@ msgstr "不能拷贝 '%s' 至 '%s'"
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
-#: builtin/init-db.c:118
+#: builtin/init-db.c:120
 #, c-format
 msgid "templates not found %s"
 msgstr "模版未找到 %s"
 
-#: builtin/init-db.c:131
+#: builtin/init-db.c:135
 #, c-format
-msgid "not copying templates of a wrong format version %d from '%s'"
-msgstr "没有从 '%2$s' 复制带有错误版本 %1$d 的模版"
+msgid "not copying templates from '%s': %s"
+msgstr "没有从 '%s' 复制模版:%s"
 
-#: builtin/init-db.c:309 builtin/init-db.c:312
+#: builtin/init-db.c:312 builtin/init-db.c:315
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
-#: builtin/init-db.c:340
+#: builtin/init-db.c:344
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
-#: builtin/init-db.c:343
+#: builtin/init-db.c:347
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
@@ -7272,25 +7545,25 @@ msgstr "不能移动 %s 至 %s"
 #. TRANSLATORS: The first '%s' is either "Reinitialized
 #. existing" or "Initialized empty", the second " shared" or
 #. "", and the last '%s%s' is the verbatim directory name.
-#: builtin/init-db.c:399
+#: builtin/init-db.c:403
 #, c-format
 msgid "%s%s Git repository in %s%s\n"
 msgstr "%s%s Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:400
+#: builtin/init-db.c:404
 msgid "Reinitialized existing"
 msgstr "重新初始化现存的"
 
-#: builtin/init-db.c:400
+#: builtin/init-db.c:404
 msgid "Initialized empty"
 msgstr "初始化空的"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/init-db.c:401
+#: builtin/init-db.c:405
 msgid " shared"
 msgstr "共享"
 
-#: builtin/init-db.c:448
+#: builtin/init-db.c:452
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -7298,32 +7571,32 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:471
+#: builtin/init-db.c:475
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:472
+#: builtin/init-db.c:476
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
-#: builtin/init-db.c:506 builtin/init-db.c:511
+#: builtin/init-db.c:510 builtin/init-db.c:515
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:515
+#: builtin/init-db.c:519
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:536
+#: builtin/init-db.c:540
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
-#: builtin/init-db.c:564
+#: builtin/init-db.c:568
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
@@ -7369,273 +7642,319 @@ msgstr "git show [<选项>] <对象>..."
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:131
+#: builtin/log.c:137
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:132
+#: builtin/log.c:138
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:133
+#: builtin/log.c:139
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:134
+#: builtin/log.c:140
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:137
+#: builtin/log.c:143
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
-#: builtin/log.c:233
+#: builtin/log.c:239
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:465
+#: builtin/log.c:471
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:479 builtin/log.c:572
+#: builtin/log.c:485 builtin/log.c:578
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:596
+#: builtin/log.c:602
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:715
+#: builtin/log.c:722
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:801
+#: builtin/log.c:812
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:816
+#: builtin/log.c:827
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:830
+#: builtin/log.c:841
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:840
+#: builtin/log.c:851
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:946
+#: builtin/log.c:957
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:1025
+#: builtin/log.c:1036
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1053
+#: builtin/log.c:1064
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1098
+#: builtin/log.c:1109
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1214
+#: builtin/log.c:1216 builtin/log.c:1857 builtin/log.c:1859 builtin/log.c:1871
+#, c-format
+msgid "Unknown commit %s"
+msgstr "未知提交 %s"
+
+#: builtin/log.c:1226 builtin/notes.c:253 builtin/notes.c:304
+#: builtin/notes.c:306 builtin/notes.c:369 builtin/notes.c:424
+#: builtin/notes.c:510 builtin/notes.c:515 builtin/notes.c:593
+#: builtin/notes.c:656 builtin/notes.c:881 builtin/tag.c:455
+#, c-format
+msgid "Failed to resolve '%s' as a valid ref."
+msgstr "无法解析 '%s' 为一个有效引用。"
+
+#: builtin/log.c:1231
+msgid "Could not find exact merge base."
+msgstr "不能找到准确的合并基线。"
+
+#: builtin/log.c:1235
+msgid ""
+"Failed to get upstream, if you want to record base commit automatically,\n"
+"please use git branch --set-upstream-to to track a remote branch.\n"
+"Or you could specify base commit by --base=<base-commit-id> manually."
+msgstr ""
+"无法得到上游地址,如果你想自动记录基线提交,请使用命令\n"
+"git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
+"参数 --base=<base-commit-id> 手动指定一个基线提交。"
+
+#: builtin/log.c:1255
+msgid "Failed to find exact merge base"
+msgstr "无法找到准确的合并基线"
+
+#: builtin/log.c:1266
+msgid "base commit should be the ancestor of revision list"
+msgstr "基线提交应该是版本列表的祖先"
+
+#: builtin/log.c:1270
+msgid "base commit shouldn't be in revision list"
+msgstr "基线提交不应该出现在版本列表中"
+
+#: builtin/log.c:1319
+msgid "cannot get patch id"
+msgstr "无法得到补丁 id"
+
+#: builtin/log.c:1377
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1217
+#: builtin/log.c:1380
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1221
+#: builtin/log.c:1384
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1223
+#: builtin/log.c:1386
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1225
+#: builtin/log.c:1388
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1226
+#: builtin/log.c:1389
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1227
+#: builtin/log.c:1390
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1229
+#: builtin/log.c:1392
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1231
+#: builtin/log.c:1394
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1233
+#: builtin/log.c:1396
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1236
+#: builtin/log.c:1399
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1239
+#: builtin/log.c:1402
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1242
+#: builtin/log.c:1405
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1244
+#: builtin/log.c:1407
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1246
+#: builtin/log.c:1409
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1248
+#: builtin/log.c:1411
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1250
+#: builtin/log.c:1413
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1251
+#: builtin/log.c:1414
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1252
+#: builtin/log.c:1415
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1253 builtin/log.c:1255
+#: builtin/log.c:1416 builtin/log.c:1418
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1253
+#: builtin/log.c:1416
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1255
+#: builtin/log.c:1418
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1257
+#: builtin/log.c:1420
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1258
+#: builtin/log.c:1421
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1260
+#: builtin/log.c:1423
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1424
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1262 builtin/log.c:1265
+#: builtin/log.c:1425 builtin/log.c:1428
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1263
+#: builtin/log.c:1426
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1266
+#: builtin/log.c:1429
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1270
+#: builtin/log.c:1433
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1272
+#: builtin/log.c:1435
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1273
+#: builtin/log.c:1436
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1275
+#: builtin/log.c:1437
+msgid "base-commit"
+msgstr "基线提交"
+
+#: builtin/log.c:1438
+msgid "add prerequisite tree info to the patch series"
+msgstr "为补丁列表添加前置树信息"
+
+#: builtin/log.c:1440
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1276
+#: builtin/log.c:1441
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1365
+#: builtin/log.c:1531
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1367
+#: builtin/log.c:1533
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix 和 -k 互斥。"
 
-#: builtin/log.c:1375
+#: builtin/log.c:1541
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1377
+#: builtin/log.c:1543
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1379
+#: builtin/log.c:1545
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1407
+#: builtin/log.c:1573
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1409
+#: builtin/log.c:1575
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1506
+#: builtin/log.c:1672
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1569
+#: builtin/log.c:1743
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1617
+#: builtin/log.c:1792
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1671
+#: builtin/log.c:1846
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
-#, c-format
-msgid "Unknown commit %s"
-msgstr "未知提交 %s"
-
 #: builtin/ls-files.c:378
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
@@ -7826,171 +8145,175 @@ msgstr "git merge [<选项>] <说明> HEAD <提交>"
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:100
+#: builtin/merge.c:101
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:137
+#: builtin/merge.c:138
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:138
+#: builtin/merge.c:139
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:143
+#: builtin/merge.c:144
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:193 builtin/pull.c:123
+#: builtin/merge.c:194 builtin/pull.c:126
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:196 builtin/pull.c:126
+#: builtin/merge.c:197 builtin/pull.c:129
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:197 builtin/pull.c:129
+#: builtin/merge.c:198 builtin/pull.c:132
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:199 builtin/pull.c:132
+#: builtin/merge.c:200 builtin/pull.c:135
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:202 builtin/pull.c:135
+#: builtin/merge.c:203 builtin/pull.c:138
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:204 builtin/pull.c:138
+#: builtin/merge.c:205 builtin/pull.c:141
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:206 builtin/pull.c:141
+#: builtin/merge.c:207 builtin/pull.c:144
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:207
+#: builtin/merge.c:208
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:209 builtin/pull.c:147
+#: builtin/merge.c:210 builtin/pull.c:150
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:213
+#: builtin/merge.c:214
 msgid "Verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
+#: builtin/merge.c:215 builtin/notes.c:771 builtin/pull.c:157
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:215 builtin/pull.c:153
+#: builtin/merge.c:216 builtin/pull.c:158
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:216 builtin/pull.c:156
+#: builtin/merge.c:217 builtin/pull.c:161
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:217 builtin/pull.c:157
+#: builtin/merge.c:218 builtin/pull.c:162
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:219
+#: builtin/merge.c:220
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:223
+#: builtin/merge.c:224
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:251
+#: builtin/merge.c:226 builtin/pull.c:169
+msgid "allow merging unrelated histories"
+msgstr "允许合并不相关的历史"
+
+#: builtin/merge.c:254
 msgid "could not run stash."
 msgstr "不能进行进度保存。"
 
-#: builtin/merge.c:256
+#: builtin/merge.c:259
 msgid "stash failed"
 msgstr "进度保存失败"
 
-#: builtin/merge.c:261
+#: builtin/merge.c:264
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:280 builtin/merge.c:297
+#: builtin/merge.c:283 builtin/merge.c:300
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:327
+#: builtin/merge.c:330
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:340
+#: builtin/merge.c:343
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
-#: builtin/merge.c:989
+#: builtin/merge.c:347 builtin/merge.c:767 builtin/merge.c:987
+#: builtin/merge.c:1000
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: builtin/merge.c:372
+#: builtin/merge.c:375
 msgid "Writing SQUASH_MSG"
 msgstr "写入 SQUASH_MSG"
 
-#: builtin/merge.c:374
+#: builtin/merge.c:377
 msgid "Finishing SQUASH_MSG"
 msgstr "完成 SQUASH_MSG"
 
-#: builtin/merge.c:397
+#: builtin/merge.c:400
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:448
+#: builtin/merge.c:451
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:538
+#: builtin/merge.c:541
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:657
+#: builtin/merge.c:660
 msgid "Not handling anything other than two heads merge."
 msgstr "不能处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:671
+#: builtin/merge.c:674
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:684
+#: builtin/merge.c:687
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:773
+#: builtin/merge.c:776
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:782
+#: builtin/merge.c:785
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:788
+#: builtin/merge.c:791
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -8004,52 +8327,52 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:812
+#: builtin/merge.c:815
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:824
+#: builtin/merge.c:835
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:879
+#: builtin/merge.c:890
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:895
+#: builtin/merge.c:906
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:936
+#: builtin/merge.c:947
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:938
+#: builtin/merge.c:949
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:940
+#: builtin/merge.c:951
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:945
+#: builtin/merge.c:956
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1080
+#: builtin/merge.c:1091
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: builtin/merge.c:1207
+#: builtin/merge.c:1219
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1223
+#: builtin/merge.c:1235
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -8057,7 +8380,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1230
+#: builtin/merge.c:1242
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -8065,100 +8388,104 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1233
+#: builtin/merge.c:1245
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1242
+#: builtin/merge.c:1254
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1250
+#: builtin/merge.c:1262
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1279
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1269
+#: builtin/merge.c:1281
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1275
+#: builtin/merge.c:1286
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1277
+#: builtin/merge.c:1288
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1332
+#: builtin/merge.c:1344
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1335
+#: builtin/merge.c:1347
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1338
+#: builtin/merge.c:1350
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1341
+#: builtin/merge.c:1353
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1424
+#: builtin/merge.c:1415
+msgid "refusing to merge unrelated histories"
+msgstr "拒绝合并无关的历史"
+
+#: builtin/merge.c:1439
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1461
+#: builtin/merge.c:1476
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1468
+#: builtin/merge.c:1483
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1500
+#: builtin/merge.c:1515
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1523 builtin/merge.c:1602
+#: builtin/merge.c:1538 builtin/merge.c:1617
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1527
+#: builtin/merge.c:1542
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1593
+#: builtin/merge.c:1608
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1595
+#: builtin/merge.c:1610
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1604
+#: builtin/merge.c:1619
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1616
+#: builtin/merge.c:1631
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -8268,7 +8595,7 @@ msgstr "git mv [<选项>] <源>... <目标>"
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
-#: builtin/mv.c:72
+#: builtin/mv.c:72 builtin/rm.c:317
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或保存进度后再继续"
 
@@ -8346,48 +8673,48 @@ msgstr "%s,源=%s,目标=%s"
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
+#: builtin/mv.c:260 builtin/remote.c:714 builtin/repack.c:365
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:251
+#: builtin/name-rev.c:258
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:252
+#: builtin/name-rev.c:259
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:253
+#: builtin/name-rev.c:260
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
-#: builtin/name-rev.c:305
+#: builtin/name-rev.c:312
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:306
+#: builtin/name-rev.c:313
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:308
+#: builtin/name-rev.c:315
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:310
+#: builtin/name-rev.c:317
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:311
+#: builtin/name-rev.c:318
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:319
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:325
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
@@ -8532,24 +8859,16 @@ msgstr "不能写注解对象"
 msgid "The note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:232 builtin/tag.c:440
+#: builtin/notes.c:232 builtin/tag.c:439
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:234 builtin/tag.c:443
+#: builtin/notes.c:234 builtin/tag.c:442
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
-#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
-#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
-#: builtin/notes.c:880 builtin/tag.c:456
-#, c-format
-msgid "Failed to resolve '%s' as a valid ref."
-msgstr "无法解析 '%s' 为一个有效引用。"
-
 #: builtin/notes.c:256
 #, c-format
 msgid "Failed to read object '%s'."
@@ -8562,7 +8881,7 @@ msgstr "不能从非数据对象 '%s' 中读取注解数据"
 
 #: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
 #: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
-#: builtin/notes.c:945
+#: builtin/notes.c:946
 msgid "too many parameters"
 msgstr "参数太多"
 
@@ -8607,7 +8926,7 @@ msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
-#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:886
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
@@ -8645,63 +8964,63 @@ msgstr ""
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
-#: builtin/notes.c:767
+#: builtin/notes.c:768
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:769
+#: builtin/notes.c:770
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:771
+#: builtin/notes.c:772
 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:773
+#: builtin/notes.c:774
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:775
+#: builtin/notes.c:776
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:777
+#: builtin/notes.c:778
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:779
+#: builtin/notes.c:780
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:856
+#: builtin/notes.c:857
 #, c-format
 msgid "A notes merge into %s is already in-progress at %s"
 msgstr "一个到 %s 的注解合并已经在 %s 执行中"
 
-#: builtin/notes.c:883
+#: builtin/notes.c:884
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
-#: builtin/notes.c:895
+#: builtin/notes.c:896
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
-#: builtin/notes.c:898
+#: builtin/notes.c:899
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:979
+#: builtin/notes.c:980
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:980
+#: builtin/notes.c:981
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1015 builtin/remote.c:1626
+#: builtin/notes.c:1016 builtin/remote.c:1628
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
@@ -8721,165 +9040,169 @@ msgstr "git pack-objects [<选项>...] <base-name> [< <引用列表> | < <对象
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:772
+#: builtin/pack-objects.c:763
+msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
+msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
+
+#: builtin/pack-objects.c:776
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1012
+#: builtin/pack-objects.c:1017
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2172
+#: builtin/pack-objects.c:2177
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2558
+#: builtin/pack-objects.c:2563
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2562
+#: builtin/pack-objects.c:2567
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2592
+#: builtin/pack-objects.c:2597
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2594
+#: builtin/pack-objects.c:2599
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2596
+#: builtin/pack-objects.c:2601
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2599
+#: builtin/pack-objects.c:2604
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2600
+#: builtin/pack-objects.c:2605
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2601
+#: builtin/pack-objects.c:2606
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2609
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2611
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2608
+#: builtin/pack-objects.c:2613
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2615
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2612
+#: builtin/pack-objects.c:2617
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2619
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2621
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2623
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2625
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2627
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2629
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2631
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2633
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2631
+#: builtin/pack-objects.c:2636
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2639
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2637
+#: builtin/pack-objects.c:2642
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2640
+#: builtin/pack-objects.c:2645
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2642
+#: builtin/pack-objects.c:2647
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2649
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2645 parse-options.h:142
+#: builtin/pack-objects.c:2650 parse-options.h:142
 msgid "time"
 msgstr "时间"
 
-#: builtin/pack-objects.c:2646
+#: builtin/pack-objects.c:2651
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2649
+#: builtin/pack-objects.c:2654
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2651
+#: builtin/pack-objects.c:2656
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:2653
+#: builtin/pack-objects.c:2658
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2655
+#: builtin/pack-objects.c:2660
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2657
+#: builtin/pack-objects.c:2662
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2664
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2666
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2752
+#: builtin/pack-objects.c:2757
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -8907,15 +9230,15 @@ msgstr "正在删除重复对象"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
 
-#: builtin/prune.c:105 builtin/worktree.c:124
+#: builtin/prune.c:105 builtin/worktree.c:125
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/prune.c:106 builtin/worktree.c:125
+#: builtin/prune.c:106 builtin/worktree.c:126
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:109 builtin/worktree.c:127
+#: builtin/prune.c:109 builtin/worktree.c:128
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
@@ -8927,65 +9250,69 @@ msgstr "不能在珍品仓库中执行清理操作"
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:117
+#: builtin/pull.c:120
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:120
+#: builtin/pull.c:123
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:144 builtin/revert.c:105
+#: builtin/pull.c:147 builtin/revert.c:105
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:150
+#: builtin/pull.c:153
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/pull.c:164
+#: builtin/pull.c:156
+msgid "automatically stash/stash pop before and after rebase"
+msgstr "自动在变基操作前后执行 stash/stash pop"
+
+#: builtin/pull.c:172
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:186
+#: builtin/pull.c:194
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:275
+#: builtin/pull.c:283
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:359
+#: builtin/pull.c:379
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr "无法通过变基方式拉取:您有未暂存的变更。"
 
-#: builtin/pull.c:365
+#: builtin/pull.c:385
 msgid "Additionally, your index contains uncommitted changes."
 msgstr "而且您的索引中包含未提交的变更。"
 
-#: builtin/pull.c:367
+#: builtin/pull.c:387
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
 
-#: builtin/pull.c:443
+#: builtin/pull.c:463
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:445
+#: builtin/pull.c:465
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:446
+#: builtin/pull.c:466
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:449
+#: builtin/pull.c:469
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -8995,38 +9322,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:454
+#: builtin/pull.c:474 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:456 builtin/pull.c:471
+#: builtin/pull.c:476 builtin/pull.c:491 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:458 builtin/pull.c:473
+#: builtin/pull.c:478 builtin/pull.c:493 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:459 builtin/pull.c:474
+#: builtin/pull.c:479 builtin/pull.c:494
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:469
+#: builtin/pull.c:481 builtin/pull.c:487 builtin/pull.c:496
+#: git-parse-remote.sh:64
+msgid "<remote>"
+msgstr "<远程>"
+
+#: builtin/pull.c:481 builtin/pull.c:496 builtin/pull.c:501
+#: git-parse-remote.sh:65
+msgid "<branch>"
+msgstr "<分支>"
+
+#: builtin/pull.c:489 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:478
-#, c-format
+#: builtin/pull.c:498 git-parse-remote.sh:95
 msgid ""
-"If you wish to set tracking information for this branch you can do so with:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
-msgstr ""
-"如果您想要为此分支创建跟踪信息,您可以执行:\n"
-"\n"
-"    git branch --set-upstream-to=%s/<branch> %s\n"
+"If you wish to set tracking information for this branch you can do so with:"
+msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
-#: builtin/pull.c:483
+#: builtin/pull.c:503
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -9035,11 +9366,15 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:841
+#: builtin/pull.c:864
+msgid "--[no-]autostash option is only valid with --rebase."
+msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
+
+#: builtin/pull.c:872
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:870
+#: builtin/pull.c:900
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -9049,7 +9384,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:875
+#: builtin/pull.c:905
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -9066,11 +9401,11 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:890
+#: builtin/pull.c:920
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:894
+#: builtin/pull.c:924
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
@@ -9420,6 +9755,18 @@ msgstr "跳过应用稀疏检出过滤器"
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
+#: builtin/receive-pack.c:25
+msgid "git receive-pack <git-dir>"
+msgstr "git receive-pack <git-dir>"
+
+#: builtin/receive-pack.c:1719
+msgid "quiet"
+msgstr "静默模式"
+
+#: builtin/receive-pack.c:1733
+msgid "You must specify a directory."
+msgstr "您必须指定一个目录。"
+
 #: builtin/reflog.c:423
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
@@ -9738,27 +10085,29 @@ msgstr "* 远程 %s"
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1148 builtin/remote.c:1299
+#: builtin/remote.c:1148 builtin/remote.c:1301
 msgid "(no URL)"
 msgstr "(无 URL)"
 
-#: builtin/remote.c:1157 builtin/remote.c:1159
+#. TRANSLATORS: the colon ':' should align with
+#. the one in "  Fetch URL: %s" translation
+#: builtin/remote.c:1159 builtin/remote.c:1161
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
+#: builtin/remote.c:1163 builtin/remote.c:1165 builtin/remote.c:1167
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
-#: builtin/remote.c:1167
+#: builtin/remote.c:1169
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1181
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -9766,151 +10115,151 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1182 builtin/remote.c:1209
+#: builtin/remote.c:1184 builtin/remote.c:1211
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1191
+#: builtin/remote.c:1193
 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:1199
+#: builtin/remote.c:1201
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1206
+#: builtin/remote.c:1208
 #, 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:1227
+#: builtin/remote.c:1229
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1229
+#: builtin/remote.c:1231
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1246
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1246
+#: builtin/remote.c:1248
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1256
+#: builtin/remote.c:1258
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1264
+#: builtin/remote.c:1266
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1266
+#: builtin/remote.c:1268
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1284
+#: builtin/remote.c:1286
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1285
+#: builtin/remote.c:1287
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1295
+#: builtin/remote.c:1297
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1296
+#: builtin/remote.c:1298
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1312
+#: builtin/remote.c:1314
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1315
+#: builtin/remote.c:1317
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1360
+#: builtin/remote.c:1362
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
+#: builtin/remote.c:1425 builtin/remote.c:1479 builtin/remote.c:1547
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1439
+#: builtin/remote.c:1441
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1446
+#: builtin/remote.c:1448
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1463
+#: builtin/remote.c:1465
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1465
+#: builtin/remote.c:1467
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1493
+#: builtin/remote.c:1495
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1519
+#: builtin/remote.c:1521
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1521
+#: builtin/remote.c:1523
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1523
+#: builtin/remote.c:1525
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1530
+#: builtin/remote.c:1532
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1571
+#: builtin/remote.c:1573
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1579
+#: builtin/remote.c:1581
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1581
+#: builtin/remote.c:1583
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1595
+#: builtin/remote.c:1597
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
@@ -10410,10 +10759,6 @@ msgstr "允许递归删除"
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
-#: builtin/rm.c:317
-msgid "Please, stage your changes to .gitmodules or stash them to proceed"
-msgstr "请将您的修改缓存到 .gitmodules 中或保存进度后再继续"
-
 #: builtin/rm.c:335
 #, c-format
 msgid "not removing '%s' recursively without -r"
@@ -10615,81 +10960,179 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
+#: builtin/submodule--helper.c:24
+#, c-format
+msgid "No such ref: %s"
+msgstr "没有这样的引用:%s"
+
+#: builtin/submodule--helper.c:31
+#, c-format
+msgid "Expecting a full ref name, got %s"
+msgstr "期望一个完整的引用名称,却得到 %s"
+
+#: builtin/submodule--helper.c:71
+#, c-format
+msgid "cannot strip one component off url '%s'"
+msgstr "无法从 url '%s' 剥离一个组件"
+
+#: builtin/submodule--helper.c:278 builtin/submodule--helper.c:405
+#: builtin/submodule--helper.c:486
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:78
+#: builtin/submodule--helper.c:283
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:108
+#: builtin/submodule--helper.c:326 builtin/submodule--helper.c:340
+#, c-format
+msgid "No url found for submodule path '%s' in .gitmodules"
+msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
+
+#: builtin/submodule--helper.c:366
+#, c-format
+msgid "Failed to register url for submodule path '%s'"
+msgstr "无法为子模组 '%s' 注册 url"
+
+#: builtin/submodule--helper.c:370
+#, c-format
+msgid "Submodule '%s' (%s) registered for path '%s'\n"
+msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
+
+#
+#: builtin/submodule--helper.c:380
+#, c-format
+msgid "warning: command update mode suggested for submodule '%s'\n"
+msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
+
+#: builtin/submodule--helper.c:387
+#, c-format
+msgid "Failed to register update mode for submodule path '%s'"
+msgstr "无法为子模组 '%s' 注册更新模式"
+
+#: builtin/submodule--helper.c:406
+msgid "Suppress output for initializing a submodule"
+msgstr "初始化子模组时抑制输出"
+
+#: builtin/submodule--helper.c:411
+msgid "git submodule--helper init [<path>]"
+msgstr "git submodule--helper init [<路径>]"
+
+#: builtin/submodule--helper.c:432
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:438
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:164
+#: builtin/submodule--helper.c:489
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:492
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:495
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:501
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:507
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
-msgstr ""
-"git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
-"[--name <名字>] [--url <地址>][--depth <深度>] [--] [<路径>...]"
+"<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
+msgstr "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] [--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
-#: builtin/submodule--helper.c:210
+#: builtin/submodule--helper.c:532 builtin/submodule--helper.c:538
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/submodule--helper.c:198
+#: builtin/submodule--helper.c:534
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:221
+#: builtin/submodule--helper.c:550
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "无法打开文件 '%s'"
 
-#: builtin/submodule--helper.c:226
+#: builtin/submodule--helper.c:555
 #, c-format
 msgid "could not close file %s"
 msgstr "无法关闭文件 %s"
 
-#: builtin/submodule--helper.c:241
+#: builtin/submodule--helper.c:562
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:267
-msgid "fatal: submodule--helper subcommand must be called with a subcommand"
-msgstr "严重错误:submodule-helper 子命令必须由另外的子命令调用"
+#: builtin/submodule--helper.c:609
+#, c-format
+msgid "Submodule path '%s' not initialized"
+msgstr "子模组 '%s' 尚未初始化"
+
+#: builtin/submodule--helper.c:613
+msgid "Maybe you want to use 'update --init'?"
+msgstr "也许您想要执行 'update --init'?"
+
+#: builtin/submodule--helper.c:639
+#, c-format
+msgid "Skipping unmerged submodule %s"
+msgstr "略过未合并的子模组 %s"
+
+#: builtin/submodule--helper.c:660
+#, c-format
+msgid "Skipping submodule '%s'"
+msgstr "略过子模组 '%s'"
+
+#: builtin/submodule--helper.c:768
+msgid "path into the working tree"
+msgstr "到工作区的路径"
+
+#: builtin/submodule--helper.c:771
+msgid "path into the working tree, across nested submodule boundaries"
+msgstr "工作区中的路径,递归嵌套子模组"
+
+#: builtin/submodule--helper.c:775
+msgid "rebase, merge, checkout or none"
+msgstr "rebase、merge、checkout 或 none"
+
+#: builtin/submodule--helper.c:779
+msgid "Create a shallow clone truncated to the specified number of revisions"
+msgstr "创建一个指定深度的浅克隆"
+
+#: builtin/submodule--helper.c:782
+msgid "parallel jobs"
+msgstr "并发任务"
+
+#: builtin/submodule--helper.c:783
+msgid "don't print cloning progress"
+msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:274
+#: builtin/submodule--helper.c:788
+msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
+
+#: builtin/submodule--helper.c:798
+msgid "bad value for update parameter"
+msgstr "update 参数取值错误"
+
+#: builtin/submodule--helper.c:855
+msgid "submodule--helper subcommand must be called with a subcommand"
+msgstr "submodule-helper 子命令必须由另外的子命令调用"
+
+#: builtin/submodule--helper.c:862
 #, c-format
-msgid "fatal: '%s' is not a valid submodule--helper subcommand"
-msgstr "严重错误:'%s' 不是一个有效的 submodule--helper 子命令"
+msgid "'%s' is not a valid submodule--helper subcommand"
+msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
 
 #: builtin/symbolic-ref.c:7
 msgid "git symbolic-ref [<options>] <name> [<ref>]"
@@ -10742,27 +11185,22 @@ msgstr ""
 msgid "git tag -v <tagname>..."
 msgstr "git tag -v <标签名>..."
 
-#: builtin/tag.c:80
+#: builtin/tag.c:81
 #, c-format
 msgid "tag name too long: %.*s..."
 msgstr "标签名称太长:%.*s..."
 
-#: builtin/tag.c:85
+#: builtin/tag.c:86
 #, c-format
 msgid "tag '%s' not found."
 msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:100
+#: builtin/tag.c:101
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:112
-#, c-format
-msgid "could not verify the tag '%s'"
-msgstr "不能校验该标签 '%s'"
-
-#: builtin/tag.c:122
+#: builtin/tag.c:117
 #, c-format
 msgid ""
 "\n"
@@ -10775,7 +11213,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:126
+#: builtin/tag.c:121
 #, c-format
 msgid ""
 "\n"
@@ -10906,21 +11344,21 @@ msgstr "选项 --merged 和 --no-merged 只能和 -l 共用"
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:452
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:459
+#: builtin/tag.c:458
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:464
+#: builtin/tag.c:463
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:489
+#: builtin/tag.c:491
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
@@ -11168,7 +11606,7 @@ msgstr "git verify-commit [-v | --verbose] <提交>..."
 msgid "print commit contents"
 msgstr "打印提交内容"
 
-#: builtin/verify-commit.c:73 builtin/verify-tag.c:84
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:35
 msgid "print raw gpg status output"
 msgstr "打印原始 gpg 状态输出"
 
@@ -11188,7 +11626,7 @@ msgstr "只显示统计"
 msgid "git verify-tag [-v | --verbose] <tag>..."
 msgstr "git verify-tag [-v | --verbose] <标签>..."
 
-#: builtin/verify-tag.c:83
+#: builtin/verify-tag.c:34
 msgid "print tag contents"
 msgstr "打印标签内容"
 
@@ -11204,68 +11642,72 @@ msgstr "git worktree prune [<选项>]"
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<选项>]"
 
-#: builtin/worktree.c:39
+#: builtin/worktree.c:40
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
-#: builtin/worktree.c:45
+#: builtin/worktree.c:46
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
-#: builtin/worktree.c:50
+#: builtin/worktree.c:51
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
-#: builtin/worktree.c:61
+#: builtin/worktree.c:62
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
-#: builtin/worktree.c:77
+#: builtin/worktree.c:78
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
-#: builtin/worktree.c:112
+#: builtin/worktree.c:113
 #, c-format
-msgid "failed to remove: %s"
-msgstr "无法删除:%s"
+msgid "failed to remove '%s'"
+msgstr "无法删除 '%s'"
 
-#: builtin/worktree.c:201
+#: builtin/worktree.c:202
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:233
+#: builtin/worktree.c:234
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:269
+#: builtin/worktree.c:270
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr "准备 %s (标识符 %s)"
 
-#: builtin/worktree.c:317
+#: builtin/worktree.c:322
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出分支 <branch> 即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:319
+#: builtin/worktree.c:324
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:321
+#: builtin/worktree.c:326
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:322
+#: builtin/worktree.c:327
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/worktree.c:329
+#: builtin/worktree.c:328
+msgid "populate the new working tree"
+msgstr "生成新的工作区"
+
+#: builtin/worktree.c:336
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
@@ -11285,7 +11727,7 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: credential-cache--daemon.c:262
+#: credential-cache--daemon.c:271
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
 
@@ -11299,7 +11741,7 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: http.c:321
+#: http.c:322
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
@@ -11427,7 +11869,7 @@ msgstr "更加安静"
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
-#: rerere.h:38
+#: rerere.h:40
 msgid "update the index with reused conflict resolution if possible"
 msgstr "如果可能,重用冲突解决更新索引"
 
@@ -11638,16 +12080,16 @@ msgstr ""
 "如果您想跳过此补丁,则执行 \"git rebase --skip\"。\n"
 "要恢复原分支并停止变基,执行 \"git rebase --abort\"。"
 
-#: git-rebase.sh:165
+#: git-rebase.sh:168
 msgid "Applied autostash."
 msgstr "成功应用 autostash。"
 
-#: git-rebase.sh:168
+#: git-rebase.sh:171
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
-#: git-rebase.sh:169
+#: git-rebase.sh:172
 msgid ""
 "Applying autostash resulted in conflicts.\n"
 "Your changes are safe in the stash.\n"
@@ -11657,31 +12099,27 @@ msgstr ""
 "您的修改安全地保存在 stash 中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: git-rebase.sh:208
+#: git-rebase.sh:211
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
-#: git-rebase.sh:213
+#: git-rebase.sh:216
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "似乎正处于在 git-am 的执行过程中。无法变基。"
 
-#: git-rebase.sh:354
-msgid "The --exec option must be used with the --interactive option"
-msgstr "选项 --exec 必须和选项 --interactive 同时使用"
-
-#: git-rebase.sh:359
+#: git-rebase.sh:357
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: git-rebase.sh:370
+#: git-rebase.sh:368
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:375
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:380
+#: git-rebase.sh:378
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -11689,12 +12127,12 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:398
+#: git-rebase.sh:396
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:417
+#: git-rebase.sh:415
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -11713,64 +12151,64 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:468
+#: git-rebase.sh:466
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "无效的上游 $upstream_name"
 
-#: git-rebase.sh:492
+#: git-rebase.sh:490
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:495 git-rebase.sh:499
+#: git-rebase.sh:493 git-rebase.sh:497
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:504
+#: git-rebase.sh:502
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:527
+#: git-rebase.sh:525
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "严重错误:无此分支:$branch_name"
 
-#: git-rebase.sh:560
+#: git-rebase.sh:558
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:565
+#: git-rebase.sh:563
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:569
+#: git-rebase.sh:567
 msgid "Please commit or stash them."
 msgstr "请提交或为它们保存进度。"
 
-#: git-rebase.sh:589
+#: git-rebase.sh:587
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:593
+#: git-rebase.sh:591
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:604
+#: git-rebase.sh:602
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:613
+#: git-rebase.sh:611
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:623
+#: git-rebase.sh:621
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -11914,26 +12352,21 @@ msgstr "未指定分支名"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:104
-#, sh-format
-msgid "cannot strip one component off url '$remoteurl'"
-msgstr "无法从 url '$remoteurl' 剥离一个组件"
-
-#: git-submodule.sh:281
+#: git-submodule.sh:219
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:291
+#: git-submodule.sh:229
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:308
+#: git-submodule.sh:246
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:250
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -11944,428 +12377,220 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:330
+#: git-submodule.sh:268
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:332
+#: git-submodule.sh:270
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:340
+#: git-submodule.sh:278
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:342
+#: git-submodule.sh:280
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from"
 msgstr "如果您想重用此本地 git 目录而不是重新克隆自"
 
-#: git-submodule.sh:344
+#: git-submodule.sh:282
 #, sh-format
 msgid ""
 "use the '--force' option. If the local git directory is not the correct repo"
 msgstr "使用 '--force' 参数。如果本地 git 目录不是正确的仓库"
 
-#: git-submodule.sh:345
+#: git-submodule.sh:283
 #, sh-format
 msgid ""
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr "或者您不确定其中含义使用 '--name' 参数选择另外一个名称。"
 
-#: git-submodule.sh:347
+#: git-submodule.sh:285
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:359
+#: git-submodule.sh:297
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:364
+#: git-submodule.sh:302
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:373
+#: git-submodule.sh:311
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:417
-#, sh-format
-msgid "Entering '$prefix$displaypath'"
-msgstr "正在进入 '$prefix$displaypath'"
-
-#: git-submodule.sh:437
+#: git-submodule.sh:355
 #, sh-format
-msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
-msgstr "停止于 '$prefix$displaypath',脚本返回非零值。"
+msgid "Entering '$displaypath'"
+msgstr "正在进入 '$displaypath'"
 
-#: git-submodule.sh:483
+#: git-submodule.sh:375
 #, sh-format
-msgid "No url found for submodule path '$displaypath' in .gitmodules"
-msgstr "å\9c¨ .gitmodules ä¸­æ\9cªæ\89¾å\88°å­\90模ç»\84è·¯å¾\84 '$displaypath' ç\9a\84 url"
+msgid "Stopping at '$displaypath'; script returned non-zero status."
+msgstr "å\81\9cæ­¢äº\8e '$displaypath'ï¼\9bè\84\9aæ\9c¬è¿\94å\9b\9eé\9d\9eé\9b¶å\80¼ã\80\82"
 
-#: git-submodule.sh:492
+#: git-submodule.sh:448
 #, sh-format
-msgid "Failed to register url for submodule path '$displaypath'"
-msgstr "无法为子模组路径 '$displaypath' 注册 url"
+msgid "pathspec and --all are incompatible"
+msgstr "pathspec 和 --all 不兼容"
 
-#: git-submodule.sh:494
+#: git-submodule.sh:453
 #, sh-format
-msgid "Submodule '$name' ($url) registered for path '$displaypath'"
-msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
-
-#: git-submodule.sh:511
-#, sh-format
-msgid "Failed to register update mode for submodule path '$displaypath'"
-msgstr "无法为子模组路径 '$displaypath' 注册更新模式"
-
-#: git-submodule.sh:549
-#, sh-format
-msgid "Use '.' if you really want to deinitialize all submodules"
-msgstr "使用 '.' 如果您真的想要对所有子模组取消初始化"
+msgid "Use '--all' if you really want to deinitialize all submodules"
+msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: git-submodule.sh:566
+#: git-submodule.sh:470
 #, sh-format
 msgid "Submodule work tree '$displaypath' contains a .git directory"
 msgstr "子模组工作区 '$displaypath' 包含一个 .git 目录"
 
-#: git-submodule.sh:567
+#: git-submodule.sh:471
 #, sh-format
 msgid ""
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr "(使用 'rm -rf' 命令如果您真的想删除它及其全部历史)"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:477
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr "子模组工作区 '$displaypath' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: git-submodule.sh:576
+#: git-submodule.sh:480
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "已清除目录 '$displaypath'"
 
-#: git-submodule.sh:577
+#: git-submodule.sh:481
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "无法移除子模组工作区 '$displaypath'"
 
-#: git-submodule.sh:580
+#: git-submodule.sh:484
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "不能创建空的子模组目录 '$displaypath'"
 
-#: git-submodule.sh:589
+#: git-submodule.sh:493
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:723
-#, sh-format
-msgid ""
-"Submodule path '$displaypath' not initialized\n"
-"Maybe you want to use 'update --init'?"
-msgstr ""
-"子模组路径 '$displaypath' 没有初始化\n"
-"也许您想用 'update --init'?"
-
-#: git-submodule.sh:736
+#: git-submodule.sh:635
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:745
+#: git-submodule.sh:644
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:768
+#: git-submodule.sh:667
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:788
+#: git-submodule.sh:680
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:789
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:793
+#: git-submodule.sh:685
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:794
+#: git-submodule.sh:686
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:799
+#: git-submodule.sh:691
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:800
+#: git-submodule.sh:692
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:805
+#: git-submodule.sh:697
 #, sh-format
-msgid ""
-"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
-msgstr "在子模组路径 '$prefix$sm_path' 中执行 '$command $sha1' 失败"
+msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
+msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:806
+#: git-submodule.sh:698
 #, sh-format
-msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
-msgstr "子模组路径 '$prefix$sm_path': '$command $sha1'"
+msgid "Submodule path '$displaypath': '$command $sha1'"
+msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:836
+#: git-submodule.sh:729
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:944
+#: git-submodule.sh:837
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:996
+#: git-submodule.sh:889
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1016
+#: git-submodule.sh:909
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1019
+#: git-submodule.sh:912
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1022
+#: git-submodule.sh:915
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:1047
+#: git-submodule.sh:940
 msgid "blob"
 msgstr "数据对象"
 
-#: git-submodule.sh:1165
+#: git-submodule.sh:1059
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "无法递归进子模组路径 '$sm_path'"
 
-#: git-submodule.sh:1229
+#: git-submodule.sh:1123
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
 
-#~ msgid "Forward-port local commits to the updated upstream head"
-#~ msgstr "本地提交转移至更新后的上游分支中"
-
-#~ msgid "unable to parse format"
-#~ msgstr "不能解析格式"
-
-#~ msgid "improper format entered align:%s"
-#~ msgstr "输入了不正确的格式 align:%s"
-
-#~ msgid "Could not set core.worktree in %s"
-#~ msgstr "不能在 %s 中设置 core.worktree"
-
-#  译者:字符串首行行首要添加“warning: ”字串,故此首行要较其余行短
-#~ msgid ""
-#~ "push.default is unset; its implicit value has changed in\n"
-#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-#~ "and maintain the traditional behavior, use:\n"
-#~ "\n"
-#~ "  git config --global push.default matching\n"
-#~ "\n"
-#~ "To squelch this message and adopt the new behavior now, use:\n"
-#~ "\n"
-#~ "  git config --global push.default simple\n"
-#~ "\n"
-#~ "When push.default is set to 'matching', git will push local branches\n"
-#~ "to the remote branches that already exist with the same name.\n"
-#~ "\n"
-#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-#~ "behavior, which only pushes the current branch to the corresponding\n"
-#~ "remote branch that 'git pull' uses to update the current branch.\n"
-#~ "\n"
-#~ "See 'git help config' and search for 'push.default' for further "
-#~ "information.\n"
-#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
-#~ msgstr ""
-#~ "push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching'\n"
-#~ "变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:\n"
-#~ "\n"
-#~ "  git config --global push.default matching\n"
-#~ "\n"
-#~ "若要不再显示本信息并从现在开始采用新的使用习惯,设置:\n"
-#~ "\n"
-#~ "  git config --global push.default simple\n"
-#~ "\n"
-#~ "当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有\n"
-#~ "本地分支。\n"
-#~ "\n"
-#~ "从 Git 2.0 开始,Git 默认采用更为保守的 'simple' 模式,只推送当前\n"
-#~ "分支到远程关联的同名分支,即 'git push' 推送当前分支。\n"
-#~ "\n"
-#~ "参见 'git help config' 并查找 'push.default' 以获取更多信息。\n"
-#~ "('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,\n"
-#~ "为保持兼容,请用 'current' 代替 'simple')"
-
-#~ msgid "Could not append '%s'"
-#~ msgstr "不能追加 '%s'"
-
-#~ msgid "Could not set '%s'"
-#~ msgstr "不能设置 '%s'"
-
-#  译者:可选值,不能翻译
-#~ msgid "check|on-demand|no"
-#~ msgstr "check|on-demand|no"
-
-#~ msgid "Missing author: %s"
-#~ msgstr "缺少作者:%s"
-
-#~ msgid "Testing "
-#~ msgstr "正在测试 "
-
-#~ msgid "unable to look up current user in the passwd file: %s"
-#~ msgstr "无法在口令文件中查询到当前用户:%s"
-
-#~ msgid "no such user"
-#~ msgstr "无此用户"
-
-#~ msgid "show usage"
-#~ msgstr "显示用法"
-
-#~ msgid "branch '%s' does not point at a commit"
-#~ msgstr "分支 '%s' 未指向一个提交"
-
-#~ msgid "object '%s' does not point to a commit"
-#~ msgstr "对象 '%s' 没有指向一个提交"
-
-#~ msgid "print only merged branches"
-#~ msgstr "只打印合并的分支"
-
-#~ msgid "--dissociate given, but there is no --reference"
-#~ msgstr "提供了参数 --dissociate,但未提供 --reference"
-
-#~ msgid "insanely long template name %s"
-#~ msgstr "太长的模版名 %s"
-
-#~ msgid "insanely long symlink %s"
-#~ msgstr "太长的符号链接 %s"
-
-#~ msgid "insanely long template path %s"
-#~ msgstr "太长的模版路径 %s"
-
-#~ msgid "insane git directory %s"
-#~ msgstr "不正常的 git 目录 %s"
-
-#~ msgid "unsupported sort specification '%s'"
-#~ msgstr "不支持的排序规格 '%s'"
-
-#~ msgid "unsupported sort specification '%s' in variable '%s'"
-#~ msgstr "不支持变量 '%2$s' 的排序规格 '%1$s'"
-
-#~ msgid "switch 'points-at' requires an object"
-#~ msgstr "开关 'points-at' 需要一个对象"
-
-#~ msgid "sort tags"
-#~ msgstr "排序标签"
-
-#~ msgid "--sort and -n are incompatible"
-#~ msgstr "--sort 和 -n 不兼容"
-
-#~ msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
-#~ msgstr "Gitdir '$a' 在子模组路径 '$b' 之下或相反"
-
-#~ msgid "false|true|preserve"
-#~ msgstr "false|true|preserve"
-
-#~ msgid "BUG: reopen a lockfile that is still open"
-#~ msgstr "BUG: 重新打开一个仍打开着的锁文件"
-
-#~ msgid "BUG: reopen a lockfile that has been committed"
-#~ msgstr "BUG: 重新打开一个已提交的锁文件"
-
-#~ msgid "option %s does not accept negative form"
-#~ msgstr "选项 %s 不接受否定格式"
-
-#~ msgid "unable to parse value '%s' for option %s"
-#~ msgstr "不能解析选项 %1$s 的值 '%2$s'"
-
-#~ msgid "-b and -B are mutually exclusive"
-#~ msgstr "-b 和 -B 互斥"
-
-#~ msgid "You need to set your committer info first"
-#~ msgstr "您需要先设置你的提交者信息"
-
-#~ msgid ""
-#~ "When you have resolved this problem, run \"$cmdline --continue\".\n"
-#~ "If you prefer to skip this patch, run \"$cmdline --skip\" instead.\n"
-#~ "To restore the original branch and stop patching, run \"$cmdline --abort"
-#~ "\"."
-#~ msgstr ""
-#~ "当您解决了此问题后,执行 \"$cmdline --continue\"。\n"
-#~ "如果您想跳过此补丁,则执行 \"$cmdline --skip\"。\n"
-#~ "要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
-
-#~ msgid "Patch format $patch_format is not supported."
-#~ msgstr "不支持 $patch_format 补丁格式。"
-
-#~ msgid "Please make up your mind. --skip or --abort?"
-#~ msgstr "请下决心。--skip 或是 --abort ?"
-
-#~ msgid ""
-#~ "Patch is empty.  Was it split wrong?\n"
-#~ "If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
-#~ "To restore the original branch and stop patching run \"$cmdline --abort\"."
-#~ msgstr ""
-#~ "补丁为空。是不是切分错误?\n"
-#~ "如果您想要跳过这个补丁,执行 \"$cmdline --skip\"。\n"
-#~ "要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
-
-#~ msgid "Patch does not have a valid e-mail address."
-#~ msgstr "补丁中没有一个有效的邮件地址。"
-
-#~ msgid "Applying: $FIRSTLINE"
-#~ msgstr "正应用:$FIRSTLINE"
-
-#~ msgid "Patch failed at $msgnum $FIRSTLINE"
-#~ msgstr "补丁失败于 $msgnum $FIRSTLINE"
-
-#~ 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 and make a commit."
-#~ msgstr ""
-#~ "Pull 不可用,因为您尚有未合并的文件。请先在工作区改正文件,\n"
-#~ "然后酌情使用 'git add/rm <文件>' 标记解决方案,再做提交。"
-
-#~ msgid "Pull is not possible because you have unmerged files."
-#~ msgstr "Pull 不可用,因为您尚有未合并的文件。"
+#: git-parse-remote.sh:89
+#, sh-format
+msgid "See git-${cmd}(1) for details."
+msgstr "详见 git-${cmd}(1)。"