remote-hg: load all extensions
[gitweb.git] / po / zh_CN.po
index c48ae10d78595592fb6b44a2d5f338f588010423..ba757d9afd1bd6ddad7957b5a6374bc0636d6c37 100644 (file)
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-03-05 12:36+0800\n"
-"PO-Revision-Date: 2013-03-05 13:07+0800\n"
+"POT-Creation-Date: 2013-04-30 08:25+0800\n"
+"PO-Revision-Date: 2013-04-12 09:23+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/gotgit/git/>\n"
 "Language: zh_CN\n"
@@ -22,7 +22,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: advice.c:49
+#: advice.c:53
 #, c-format
 msgid "hint: %.*s\n"
 msgstr "提示:%.*s\n"
@@ -31,7 +31,7 @@ msgstr "提示:%.*s\n"
 #. * Message used both when 'git commit' fails and when
 #. * other commands doing a merge do.
 #.
-#: advice.c:79
+#: advice.c:83
 msgid ""
 "Fix them up in the work tree,\n"
 "and then use 'git add/rm <file>' as\n"
@@ -68,7 +68,7 @@ msgstr "格式"
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:324 builtin/log.c:1115
+#: archive.c:324 builtin/log.c:1126
 msgid "prefix"
 msgstr "前缀"
 
@@ -76,15 +76,15 @@ msgstr "前缀"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:326 builtin/archive.c:91 builtin/blame.c:2366
-#: builtin/blame.c:2367 builtin/config.c:55 builtin/fast-export.c:653
-#: builtin/fast-export.c:655 builtin/grep.c:715 builtin/hash-object.c:77
-#: builtin/ls-files.c:497 builtin/ls-files.c:500 builtin/notes.c:536
+#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2371
+#: builtin/blame.c:2372 builtin/config.c:55 builtin/fast-export.c:665
+#: builtin/fast-export.c:667 builtin/grep.c:715 builtin/hash-object.c:77
+#: builtin/ls-files.c:490 builtin/ls-files.c:493 builtin/notes.c:536
 #: builtin/notes.c:693 builtin/read-tree.c:107 parse-options.h:149
 msgid "file"
 msgstr "文件"
 
-#: archive.c:327 builtin/archive.c:92
+#: archive.c:327 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
@@ -112,19 +112,19 @@ msgstr "压缩效果更好"
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:345 builtin/archive.c:93 builtin/clone.c:85
+#: archive.c:345 builtin/archive.c:90 builtin/clone.c:86
 msgid "repo"
 msgstr "版本库"
 
-#: archive.c:346 builtin/archive.c:94
+#: archive.c:346 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程版本库(<版本库>)提取归档文件"
 
-#: archive.c:347 builtin/archive.c:95 builtin/notes.c:615
+#: archive.c:347 builtin/archive.c:92 builtin/notes.c:615
 msgid "command"
 msgstr "命令"
 
-#: archive.c:348 builtin/archive.c:96
+#: archive.c:348 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
@@ -136,6 +136,126 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
+#: branch.c:60
+#, c-format
+msgid "Not setting branch %s as its own upstream."
+msgstr "未设置分支 %s 作为它自己的上游。"
+
+#: branch.c:82
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+msgstr "分支 %1$s 设置为使用变基来跟踪来自 %3$s 的远程分支 %2$s。"
+
+#: branch.c:83
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s."
+msgstr "分支 %1$s 设置为跟踪来自 %3$s 的远程分支 %2$s。"
+
+#: branch.c:87
+#, c-format
+msgid "Branch %s set up to track local branch %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪本地分支 %s。"
+
+#: branch.c:88
+#, c-format
+msgid "Branch %s set up to track local branch %s."
+msgstr "分支 %s 设置为跟踪本地分支 %s。"
+
+#: branch.c:92
+#, c-format
+msgid "Branch %s set up to track remote ref %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪远程引用 %s。"
+
+#: branch.c:93
+#, c-format
+msgid "Branch %s set up to track remote ref %s."
+msgstr "分支 %s 设置为跟踪远程引用 %s。"
+
+#: branch.c:97
+#, c-format
+msgid "Branch %s set up to track local ref %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪本地引用 %s。"
+
+#: branch.c:98
+#, c-format
+msgid "Branch %s set up to track local ref %s."
+msgstr "分支 %s 设置为跟踪本地引用 %s。"
+
+#: branch.c:118
+#, c-format
+msgid "Tracking not set up: name too long: %s"
+msgstr "跟踪未设置:名字太长:%s"
+
+#: branch.c:137
+#, c-format
+msgid "Not tracking: ambiguous information for ref %s"
+msgstr "未跟踪:引用 %s 有歧义"
+
+#: branch.c:182
+#, c-format
+msgid "'%s' is not a valid branch name."
+msgstr "'%s' 不是一个有效的分支名称。"
+
+#: branch.c:187
+#, c-format
+msgid "A branch named '%s' already exists."
+msgstr "一个分支名 '%s' 已经存在。"
+
+#: branch.c:195
+msgid "Cannot force update the current branch."
+msgstr "无法强制更新当前分支。"
+
+#: branch.c:201
+#, c-format
+msgid "Cannot setup tracking information; starting point '%s' is not a branch."
+msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
+
+#: branch.c:203
+#, c-format
+msgid "the requested upstream branch '%s' does not exist"
+msgstr "请求的上游分支 '%s' 不存在"
+
+#: branch.c:205
+msgid ""
+"\n"
+"If you are planning on basing your work on an upstream\n"
+"branch that already exists at the remote, you may need to\n"
+"run \"git fetch\" to retrieve it.\n"
+"\n"
+"If you are planning to push out a new local branch that\n"
+"will track its remote counterpart, you may want to use\n"
+"\"git push -u\" to set the upstream config as you push."
+msgstr ""
+"\n"
+"如果您正计划基于远程一个现存的上游分支开始你的工作,\n"
+"您可能需要执行 \"git fetch\" 来获取分支。\n"
+"\n"
+"如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
+"您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
+
+#: branch.c:250
+#, c-format
+msgid "Not a valid object name: '%s'."
+msgstr "不是一个有效的对象名:'%s'。"
+
+#: branch.c:270
+#, c-format
+msgid "Ambiguous object name: '%s'."
+msgstr "歧义的对象名:'%s'。"
+
+#: branch.c:275
+#, c-format
+msgid "Not a valid branch point: '%s'."
+msgstr "无效的分支点:'%s'。"
+
+#: branch.c:281
+msgid "Failed to lock ref for update"
+msgstr "无法为更新锁定引用"
+
+#: branch.c:299
+msgid "Failed to write ref"
+msgstr "不能写引用"
+
 #: bundle.c:36
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
@@ -146,7 +266,7 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:89 builtin/commit.c:674
+#: bundle.c:89 builtin/commit.c:676
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -155,35 +275,35 @@ msgstr "不能打开 '%s'"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "版本库缺少这些必备的提交:"
 
-#: bundle.c:164 sequencer.c:566 sequencer.c:998 builtin/log.c:299
-#: builtin/log.c:751 builtin/log.c:1358 builtin/log.c:1574 builtin/merge.c:347
-#: builtin/shortlog.c:157
+#: bundle.c:164 sequencer.c:651 sequencer.c:1101 builtin/log.c:300
+#: builtin/log.c:770 builtin/log.c:1344 builtin/log.c:1570 builtin/merge.c:349
+#: builtin/shortlog.c:155
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
 #: bundle.c:186
 #, c-format
-msgid "The bundle contains %d ref"
-msgid_plural "The bundle contains %d refs"
-msgstr[0] "这个包中含有 %d 个引用"
-msgstr[1] "这个包中含有 %d 个引用"
+msgid "The bundle contains this ref:"
+msgid_plural "The bundle contains these %d refs:"
+msgstr[0] "这个包中含有这个引用:"
+msgstr[1] "这个包中含有 %d 个引用"
 
-#: bundle.c:192
+#: bundle.c:193
 msgid "The bundle records a complete history."
 msgstr "这个包记录一个完整历史。"
 
 #: bundle.c:195
 #, c-format
-msgid "The bundle requires this ref"
-msgid_plural "The bundle requires these %d refs"
-msgstr[0] "这个包需要这个引用"
-msgstr[1] "这个包需要 %d 个这些引用"
+msgid "The bundle requires this ref:"
+msgid_plural "The bundle requires these %d refs:"
+msgstr[0] "这个包需要这个引用"
+msgstr[1] "这个包需要 %d 个引用:"
 
 #: bundle.c:294
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:300 builtin/log.c:1254 builtin/shortlog.c:260
+#: bundle.c:300 builtin/log.c:1255 builtin/shortlog.c:258
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -335,7 +455,7 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:3468
+#: diff.c:3481
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -344,12 +464,12 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:3482
+#: diff.c:3495
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: gpg-interface.c:59 gpg-interface.c:127
+#: gpg-interface.c:59 gpg-interface.c:131
 msgid "could not run gpg."
 msgstr "不能执行 gpg。"
 
@@ -361,27 +481,27 @@ msgstr "gpg 没有接受数据"
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:112
+#: gpg-interface.c:115
 #, c-format
 msgid "could not create temporary file '%s': %s"
 msgstr "不能创建临时文件 '%s':%s"
 
-#: gpg-interface.c:115
+#: gpg-interface.c:118
 #, c-format
 msgid "failed writing detached signature to '%s': %s"
 msgstr "无法将分离式签名写入 '%s':%s"
 
-#: grep.c:1622
+#: grep.c:1623
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:1639
+#: grep.c:1640
 #, c-format
 msgid "'%s': %s"
 msgstr "'%s':%s"
 
-#: grep.c:1650
+#: grep.c:1651
 #, c-format
 msgid "'%s': short read %s"
 msgstr "'%s':读取不完整 %s"
@@ -449,8 +569,8 @@ msgstr[1] ""
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:110 builtin/checkout.c:333 builtin/checkout.c:534
-#: builtin/clone.c:586
+#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566
+#: builtin/clone.c:645
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
@@ -499,7 +619,7 @@ msgstr "不能读取对象 %s '%s'"
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据(blob)对象"
 
-#: merge-recursive.c:773 builtin/clone.c:302
+#: merge-recursive.c:773 builtin/clone.c:313
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
@@ -634,7 +754,7 @@ msgstr "略过 %s(已经做过相同合并)"
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1633 git-submodule.sh:942
+#: merge-recursive.c:1633 git-submodule.sh:1029
 msgid "submodule"
 msgstr "子模组"
 
@@ -704,10 +824,15 @@ msgstr "合并未返回提交"
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2009 builtin/merge.c:643
+#: merge-recursive.c:2009 builtin/merge.c:658
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
+#: object.c:195
+#, c-format
+msgid "unable to parse object: %s"
+msgstr "不能解析对象:%s"
+
 #: parse-options.c:489
 msgid "..."
 msgstr "..."
@@ -744,18 +869,18 @@ msgstr "路径 '%s' 属于模组 '%.*s'"
 msgid "'%s' is beyond a symbolic link"
 msgstr "'%s' 位于符号链接中"
 
-#: remote.c:1653
+#: remote.c:1781
 #, 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:1659
+#: remote.c:1787
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:1662
+#: remote.c:1790
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -764,11 +889,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1670
+#: remote.c:1798
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:1673
+#: remote.c:1801
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -784,23 +909,23 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:1683
+#: remote.c:1811
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: sequencer.c:123 builtin/merge.c:761 builtin/merge.c:874 builtin/merge.c:984
-#: builtin/merge.c:994
+#: sequencer.c:206 builtin/merge.c:776 builtin/merge.c:889 builtin/merge.c:999
+#: builtin/merge.c:1009
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "不能为写入打开 '%s'"
 
-#: sequencer.c:125 builtin/merge.c:333 builtin/merge.c:764 builtin/merge.c:986
-#: builtin/merge.c:999
+#: sequencer.c:208 builtin/merge.c:335 builtin/merge.c:779
+#: builtin/merge.c:1001 builtin/merge.c:1014
 #, c-format
 msgid "Could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:146
+#: sequencer.c:229
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -808,7 +933,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <paths>' 或 'git rm <paths>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:149
+#: sequencer.c:232
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -817,228 +942,238 @@ msgstr ""
 "冲突解决完毕后,用 'git add <paths>' 或 'git rm <paths>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:162 sequencer.c:774 sequencer.c:857
+#: sequencer.c:245 sequencer.c:859 sequencer.c:942
 #, c-format
 msgid "Could not write to %s"
 msgstr "不能写入 %s"
 
-#: sequencer.c:165
+#: sequencer.c:248
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "错误收尾 %s"
 
-#: sequencer.c:180
+#: sequencer.c:263
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "您的本地修改将被拣选操作覆盖。"
 
-#: sequencer.c:182
+#: sequencer.c:265
 msgid "Your local changes would be overwritten by revert."
 msgstr "您的本地修改将被还原操作覆盖。"
 
-#: sequencer.c:185
+#: sequencer.c:268
 msgid "Commit your changes or stash them to proceed."
 msgstr "提交您的修改或保存进度后再继续。"
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:236
+#: sequencer.c:319
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:267
+#: sequencer.c:350
 msgid "Could not resolve HEAD commit\n"
 msgstr "不能解析 HEAD 提交\n"
 
-#: sequencer.c:288
+#: sequencer.c:371
 msgid "Unable to update cache tree\n"
 msgstr "不能更新缓存\n"
 
-#: sequencer.c:333
+#: sequencer.c:416
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "不能解析提交 %s\n"
 
-#: sequencer.c:338
+#: sequencer.c:421
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "不能解析父提交 %s\n"
 
-#: sequencer.c:404
+#: sequencer.c:487
 msgid "Your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:423
+#: sequencer.c:506
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:431
+#: sequencer.c:514
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "提交 %s 没有父提交 %d"
 
-#: sequencer.c:435
+#: sequencer.c:518
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr "指定了主线但提交 %s 不是一个合并。"
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:448
+#: sequencer.c:531
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:452
+#: sequencer.c:535
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
-#: sequencer.c:536
+#: sequencer.c:621
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:537
+#: sequencer.c:622
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:569
+#: sequencer.c:654
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:577
+#: sequencer.c:662
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:582
+#: sequencer.c:667
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:640
+#: sequencer.c:725
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "无法 %s 在一个 %s 过程中"
 
-#: sequencer.c:662
+#: sequencer.c:747
 #, c-format
 msgid "Could not parse line %d."
 msgstr "不能解析第 %d 行。"
 
-#: sequencer.c:667
+#: sequencer.c:752
 msgid "No commits parsed."
 msgstr "没有提交被解析。"
 
-#: sequencer.c:680
+#: sequencer.c:765
 #, c-format
 msgid "Could not open %s"
 msgstr "不能打开 %s"
 
-#: sequencer.c:684
+#: sequencer.c:769
 #, c-format
 msgid "Could not read %s."
 msgstr "不能读取 %s。"
 
-#: sequencer.c:691
+#: sequencer.c:776
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "无用的指令表单:%s"
 
-#: sequencer.c:719
+#: sequencer.c:804
 #, c-format
 msgid "Invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:722
+#: sequencer.c:807
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:734
+#: sequencer.c:819
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "非法的选项表单:%s"
 
-#: sequencer.c:755
+#: sequencer.c:840
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:756
+#: sequencer.c:841
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:760
+#: sequencer.c:845
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "不能创建序列目录 %s"
 
-#: sequencer.c:776 sequencer.c:861
+#: sequencer.c:861 sequencer.c:946
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "错误收尾 %s。"
 
-#: sequencer.c:795 sequencer.c:929
+#: sequencer.c:880 sequencer.c:1014
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:797
+#: sequencer.c:882
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:799
+#: sequencer.c:884
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:821 builtin/apply.c:4056
+#: sequencer.c:906 builtin/apply.c:4060
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "不能打开 %s:%s"
 
-#: sequencer.c:824
+#: sequencer.c:909
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "不能读取 %s:%s"
 
-#: sequencer.c:825
+#: sequencer.c:910
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:831
+#: sequencer.c:916
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:854
+#: sequencer.c:939
 #, c-format
 msgid "Could not format %s."
 msgstr "不能格式化 %s。"
 
-#: sequencer.c:1016
+#: sequencer.c:1083
+#, c-format
+msgid "%s: can't cherry-pick a %s"
+msgstr "%s:不能拣选一个%s"
+
+#: sequencer.c:1085
+#, c-format
+msgid "%s: bad revision"
+msgstr "%s:错误的版本"
+
+#: sequencer.c:1119
 msgid "Can't revert as initial commit"
 msgstr "不能作为初始提交还原"
 
-#: sequencer.c:1017
+#: sequencer.c:1120
 msgid "Can't cherry-pick into empty head"
 msgstr "不能拣选到空分支"
 
-#: sha1_name.c:1044
+#: sha1_name.c:1036
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: sha1_name.c:1047
+#: sha1_name.c:1039
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: sha1_name.c:1049
+#: sha1_name.c:1041
 #, c-format
 msgid "No upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: sha1_name.c:1052
+#: sha1_name.c:1044
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
@@ -1175,291 +1310,328 @@ msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:303
+#: wt-status.c:306
 #, c-format
 msgid "new file:   %s"
 msgstr "新文件:    %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:306
+#: wt-status.c:309
 #, c-format
 msgid "copied:     %s -> %s"
 msgstr "拷贝:      %s -> %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:309
+#: wt-status.c:312
 #, c-format
 msgid "deleted:    %s"
 msgstr "删除:      %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:312
+#: wt-status.c:315
 #, c-format
 msgid "modified:   %s"
 msgstr "修改:      %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:315
+#: wt-status.c:318
 #, c-format
 msgid "renamed:    %s -> %s"
 msgstr "重命名:    %s -> %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:318
+#: wt-status.c:321
 #, c-format
 msgid "typechange: %s"
 msgstr "类型变更:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:321
+#: wt-status.c:324
 #, c-format
 msgid "unknown:    %s"
 msgstr "未知:      %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: wt-status.c:324
+#: wt-status.c:327
 #, c-format
 msgid "unmerged:   %s"
 msgstr "未合并:    %s"
 
-#: wt-status.c:327
+#: wt-status.c:330
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "bug:未处理的差异状态 %c"
 
-#: wt-status.c:789
+#: wt-status.c:803
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:792 wt-status.c:944
+#: wt-status.c:806 wt-status.c:958
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
-#: wt-status.c:795
+#: wt-status.c:809
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:798
+#: wt-status.c:812
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:808
+#: wt-status.c:822
 msgid "You are in the middle of an am session."
 msgstr "您正处于一个 am 过程中。"
 
-#: wt-status.c:811
+#: wt-status.c:825
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:815
+#: wt-status.c:829
 msgid "  (fix conflicts and then run \"git am --resolved\")"
 msgstr "  (解决冲突,然后运行 \"git am --resolved\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:817
+#: wt-status.c:831
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:819
+#: wt-status.c:833
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:879 wt-status.c:896
+#: wt-status.c:893 wt-status.c:910
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您正在将分支 '%s' 变基到 '%s'。"
 
-#: wt-status.c:884 wt-status.c:901
+#: wt-status.c:898 wt-status.c:915
 msgid "You are currently rebasing."
 msgstr "您正在变基。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:887
+#: wt-status.c:901
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:889
+#: wt-status.c:903
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:891
+#: wt-status.c:905
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:904
+#: wt-status.c:918
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:908
+#: wt-status.c:922
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您正在将分支 '%s' 变基到 '%s' 过程中拆分一个提交。"
 
-#: wt-status.c:913
+#: wt-status.c:927
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您正在变基过程中拆分一个提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:916
+#: wt-status.c:930
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:920
+#: wt-status.c:934
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您正在将分支 '%s' 变基到 '%s' 过程中编辑一个提交。"
 
-#: wt-status.c:925
+#: wt-status.c:939
 msgid "You are currently editing a commit during a rebase."
 msgstr "您正在变基过程中编辑一个提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:928
+#: wt-status.c:942
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:930
+#: wt-status.c:944
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:940
+#: wt-status.c:954
 msgid "You are currently cherry-picking."
 msgstr "您正在做拣选操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:947
+#: wt-status.c:961
 msgid "  (all conflicts fixed: run \"git commit\")"
 msgstr "  (解决所有冲突后,执行 \"git commit\")"
 
-#: wt-status.c:958
+#: wt-status.c:970
 #, c-format
-msgid "You are currently bisecting branch '%s'."
-msgstr "您正在分支 '%s' 中做二分查找。"
+msgid "You are currently reverting commit %s."
+msgstr "您正在反转提交 %s 。"
+
+#  译者:注意保持前导空格
+#: wt-status.c:975
+msgid "  (fix conflicts and run \"git revert --continue\")"
+msgstr "  (解决冲突并运行 \"git revert --continue\")"
+
+#  译者:注意保持前导空格
+#: wt-status.c:978
+msgid "  (all conflicts fixed: run \"git revert --continue\")"
+msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
+
+#  译者:注意保持前导空格
+#: wt-status.c:980
+msgid "  (use \"git revert --abort\" to cancel the revert operation)"
+msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:962
+#: wt-status.c:991
+#, c-format
+msgid "You are currently bisecting, started from branch '%s'."
+msgstr "您正在从分支 '%s' 开始做二分查找。"
+
+#: wt-status.c:995
 msgid "You are currently bisecting."
 msgstr "您正在做二分查找。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:965
+#: wt-status.c:998
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1064
+#: wt-status.c:1173
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1071
+#: wt-status.c:1184
+msgid "HEAD detached at "
+msgstr "头指针分离于 "
+
+#: wt-status.c:1186
+msgid "HEAD detached from "
+msgstr "头指针分离自 "
+
+#: wt-status.c:1189
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1083
+#: wt-status.c:1206
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1097
+#: wt-status.c:1220
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1099
+#: wt-status.c:1222
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1101
+#: wt-status.c:1226
+#, c-format
+msgid ""
+"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
+"may speed it up, but you have to be careful not to forget to add\n"
+"new files yourself (see 'git help status')."
+msgstr ""
+"耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
+"但您需要小心不要忘了添加新文件(参见 'git help status')。"
+
+#: wt-status.c:1232
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1103
+#: wt-status.c:1234
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1109
+#: wt-status.c:1240
 msgid "No changes"
 msgstr "没有修改"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1114
+#: wt-status.c:1245
 #, 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:1117
+#: wt-status.c:1248
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1120
+#: wt-status.c:1251
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1123
+#: wt-status.c:1254
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1126
+#: wt-status.c:1257
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1129 wt-status.c:1134
+#: wt-status.c:1260 wt-status.c:1265
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1132
+#: wt-status.c:1263
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1136
+#: wt-status.c:1267
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1244
+#: wt-status.c:1375
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1250
+#: wt-status.c:1381
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1265
+#: wt-status.c:1396
 msgid "behind "
 msgstr "落后 "
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1268 wt-status.c:1271
+#: wt-status.c:1399 wt-status.c:1402
 msgid "ahead "
 msgstr "领先 "
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1273
+#: wt-status.c:1404
 msgid ", behind "
 msgstr ",落后 "
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:341
+#: compat/precompose_utf8.c:58 builtin/clone.c:352
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
@@ -1468,193 +1640,225 @@ msgstr "无法删除 '%s'"
 msgid "git add [options] [--] <pathspec>..."
 msgstr "git add [选项] [--] <路径匹配>..."
 
-#: builtin/add.c:63
+#  译者:字符串首行行首要添加“warning: ”字串,故此首行要较其余行短
+#.
+#. * To be consistent with "git add -p" and most Git
+#. * commands, we should default to being tree-wide, but
+#. * this is not the original behavior and can't be
+#. * changed until users trained themselves not to type
+#. * "git add -u" or "git add -A". For now, we warn and
+#. * keep the old behavior. Later, the behavior can be changed
+#. * to tree-wide, keeping the warning for a while, and
+#. * eventually we can drop the warning.
+#.
+#: builtin/add.c:58
+#, c-format
+msgid ""
+"The behavior of 'git add %s (or %s)' with no path argument from a\n"
+"subdirectory of the tree will change in Git 2.0 and should not be used "
+"anymore.\n"
+"To add content for the whole tree, run:\n"
+"\n"
+"  git add %s :/\n"
+"  (or git add %s :/)\n"
+"\n"
+"To restrict the command to the current directory, run:\n"
+"\n"
+"  git add %s .\n"
+"  (or git add %s .)\n"
+"\n"
+"With the current Git version, the command is restricted to the current "
+"directory.\n"
+msgstr ""
+"在 Git 2.0 版本,位于一个子目录下不带任何路径参数地执行命令\n"
+"'git add %s (或 %s)' 的行为将被改变,不要再继续使用了。\n"
+"如果要添加整个目录树的内容,执行:\n"
+"\n"
+"  git add %s :/\n"
+"  (或 git add %s :/)\n"
+"\n"
+"如果要限制该命令只作用于当前目录,执行:\n"
+"\n"
+"  git add %s .\n"
+"  (或 git add %s .)\n"
+"\n"
+"对于当前版本的 Git,这条命令只作用于当前目录。\n"
+
+#: builtin/add.c:100
+#, c-format
+msgid ""
+"You ran 'git add' with neither '-A (--all)' or '--ignore-removal',\n"
+"whose behaviour will change in Git 2.0 with respect to paths you removed.\n"
+"Paths like '%s' that are\n"
+"removed from your working tree are ignored with this version of Git.\n"
+"\n"
+"* 'git add --ignore-removal <pathspec>', which is the current default,\n"
+"  ignores paths you removed from your working tree.\n"
+"\n"
+"* 'git add --all <pathspec>' will let you also record the removals.\n"
+"\n"
+"Run 'git status' to check the paths you removed from your working tree.\n"
+msgstr ""
+"您在运行 'git add' 时没有指定 '-A (--all)' 或 '--ignore-removal',\n"
+"针对其中本地移除路径的行为将在 Git 2.0 版本库发生变化。\n"
+"像本地工作区移除的路径 '%s'\n"
+"在此版本的 Git 中被忽略。\n"
+"\n"
+"* 'git add --ignore-removal <pathspec>',是当前版本的默认操作,\n"
+"  忽略您本地工作区中移除的文件。\n"
+"\n"
+"* 'git add --all <pathspec>' 将让您同时对删除操作进行记录。\n"
+"\n"
+"运行 'git status' 来检查您本地工作区中移除的路径。\n"
+
+#: builtin/add.c:144
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:68 builtin/commit.c:231
+#: builtin/add.c:149 builtin/commit.c:233
 msgid "updating files failed"
 msgstr "更新文件失败"
 
-#: builtin/add.c:78
+#: builtin/add.c:163
 #, c-format
 msgid "remove '%s'\n"
 msgstr "删除 '%s'\n"
 
-#: builtin/add.c:148
+#: builtin/add.c:253
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:151 builtin/add.c:460 builtin/rm.c:275
+#: builtin/add.c:256 builtin/add.c:572 builtin/rm.c:275
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径 '%s' 未匹配任何文件"
 
-#: builtin/add.c:234
+#: builtin/add.c:339
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
-#: builtin/add.c:244
+#: builtin/add.c:349
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "不能打开 '%s' 以写入。"
 
-#: builtin/add.c:248
+#: builtin/add.c:353
 msgid "Could not write patch"
 msgstr "不能生成补丁"
 
-#: builtin/add.c:253
+#: builtin/add.c:358
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "不能查看文件状态 '%s'"
 
-#: builtin/add.c:255
+#: builtin/add.c:360
 msgid "Empty patch. Aborted."
 msgstr "空补丁。异常终止。"
 
-#: builtin/add.c:261
+#: builtin/add.c:366
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:271
+#: builtin/add.c:376
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:277 builtin/clean.c:161 builtin/fetch.c:78 builtin/mv.c:63
+#: builtin/add.c:393 builtin/clean.c:161 builtin/fetch.c:78 builtin/mv.c:63
 #: builtin/prune-packed.c:76 builtin/push.c:425 builtin/remote.c:1253
 #: builtin/rm.c:206
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:278 builtin/apply.c:4405 builtin/check-ignore.c:19
-#: builtin/commit.c:1150 builtin/count-objects.c:82 builtin/fsck.c:613
-#: builtin/log.c:1522 builtin/mv.c:62 builtin/read-tree.c:112
+#: builtin/add.c:394 builtin/apply.c:4409 builtin/check-ignore.c:19
+#: builtin/commit.c:1152 builtin/count-objects.c:95 builtin/fsck.c:613
+#: builtin/log.c:1518 builtin/mv.c:62 builtin/read-tree.c:112
 msgid "be verbose"
 msgstr "冗长输出"
 
-#: builtin/add.c:280
+#: builtin/add.c:396
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:281 builtin/checkout.c:1031 builtin/reset.c:258
+#: builtin/add.c:397 builtin/checkout.c:1063 builtin/reset.c:258
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:282
+#: builtin/add.c:398
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:283
+#: builtin/add.c:399
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:284
+#: builtin/add.c:400
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:285
+#: builtin/add.c:401
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:286
+#: builtin/add.c:402
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:287
+#. takes no arguments
+#: builtin/add.c:405
+msgid "ignore paths removed in the working tree (same as --no-all)"
+msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
+
+#: builtin/add.c:407
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:288
+#: builtin/add.c:408
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:289
+#: builtin/add.c:409
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:311
+#: builtin/add.c:431
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:312
+#: builtin/add.c:432
 msgid "no files added"
 msgstr "没有文件被添加"
 
-#: builtin/add.c:318
+#: builtin/add.c:438
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#  译者:字符串首行行首要添加“warning: ”字串,故此首行要较其余行短
-#.
-#. * To be consistent with "git add -p" and most Git
-#. * commands, we should default to being tree-wide, but
-#. * this is not the original behavior and can't be
-#. * changed until users trained themselves not to type
-#. * "git add -u" or "git add -A". For now, we warn and
-#. * keep the old behavior. Later, this warning can be
-#. * turned into a die(...), and eventually we may
-#. * reallow the command with a new behavior.
-#.
-#: builtin/add.c:335
-#, c-format
-msgid ""
-"The behavior of 'git add %s (or %s)' with no path argument from a\n"
-"subdirectory of the tree will change in Git 2.0 and should not be used "
-"anymore.\n"
-"To add content for the whole tree, run:\n"
-"\n"
-"  git add %s :/\n"
-"  (or git add %s :/)\n"
-"\n"
-"To restrict the command to the current directory, run:\n"
-"\n"
-"  git add %s .\n"
-"  (or git add %s .)\n"
-"\n"
-"With the current Git version, the command is restricted to the current "
-"directory."
-msgstr ""
-"在 Git 2.0 版本,将不再允许在一个子目录下不带任何路径参数地执行\n"
-"命令 'git add %s (或 %s)'。所以不要再继续使用了。\n"
-"如果要添加整个目录树的内容,执行:\n"
-"\n"
-"  git add %s :/\n"
-"  (或 git add %s :/)\n"
-"\n"
-"如果要限制该命令只作用于当前目录,执行:\n"
-"\n"
-"  git add %s .\n"
-"  (或 git add %s .)\n"
-"\n"
-"对于当前版本的 Git,这条命令只作用于当前目录。"
-
-#: builtin/add.c:381
+#: builtin/add.c:477
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:383
+#: builtin/add.c:495
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:414
+#: builtin/add.c:525
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:415
+#: builtin/add.c:526
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:421 builtin/check-ignore.c:67 builtin/clean.c:204
-#: builtin/commit.c:291 builtin/mv.c:82 builtin/rm.c:235
+#: builtin/add.c:532 builtin/check-ignore.c:66 builtin/clean.c:204
+#: builtin/commit.c:293 builtin/mv.c:82 builtin/rm.c:235
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: builtin/add.c:481 builtin/apply.c:4501 builtin/mv.c:229 builtin/rm.c:370
+#: builtin/add.c:604 builtin/apply.c:4505 builtin/mv.c:229 builtin/rm.c:370
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
@@ -1782,24 +1986,24 @@ msgstr "无法读取符号链接 %s"
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: builtin/apply.c:2684
+#: builtin/apply.c:2688
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: builtin/apply.c:2802
+#: builtin/apply.c:2806
 #, 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:2814
+#: builtin/apply.c:2818
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: builtin/apply.c:2820
+#: builtin/apply.c:2824
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1808,318 +2012,318 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: builtin/apply.c:2839
+#: builtin/apply.c:2843
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: builtin/apply.c:2942
+#: builtin/apply.c:2946
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: builtin/apply.c:2948
+#: builtin/apply.c:2952
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: builtin/apply.c:2969
+#: builtin/apply.c:2973
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: builtin/apply.c:3091
+#: builtin/apply.c:3095
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: builtin/apply.c:3136 builtin/apply.c:3145 builtin/apply.c:3189
+#: builtin/apply.c:3140 builtin/apply.c:3149 builtin/apply.c:3193
 #, c-format
 msgid "read of %s failed"
 msgstr "读取 %s 失败"
 
-#: builtin/apply.c:3169 builtin/apply.c:3391
+#: builtin/apply.c:3173 builtin/apply.c:3395
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: builtin/apply.c:3250 builtin/apply.c:3405
+#: builtin/apply.c:3254 builtin/apply.c:3409
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: builtin/apply.c:3254 builtin/apply.c:3397 builtin/apply.c:3419
+#: builtin/apply.c:3258 builtin/apply.c:3401 builtin/apply.c:3423
 #, c-format
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: builtin/apply.c:3259 builtin/apply.c:3413
+#: builtin/apply.c:3263 builtin/apply.c:3417
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: builtin/apply.c:3361
+#: builtin/apply.c:3365
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: builtin/apply.c:3430
+#: builtin/apply.c:3434
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: builtin/apply.c:3432
+#: builtin/apply.c:3436
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: builtin/apply.c:3533
+#: builtin/apply.c:3537
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: builtin/apply.c:3536
+#: builtin/apply.c:3540
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: builtin/apply.c:3556
+#: builtin/apply.c:3560
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: builtin/apply.c:3561
+#: builtin/apply.c:3565
 #, 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:3569
+#: builtin/apply.c:3573
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: builtin/apply.c:3582
+#: builtin/apply.c:3586
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: builtin/apply.c:3675 builtin/checkout.c:215 builtin/reset.c:124
+#: builtin/apply.c:3679 builtin/checkout.c:216 builtin/reset.c:124
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: builtin/apply.c:3818
+#: builtin/apply.c:3822
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: builtin/apply.c:3846
+#: builtin/apply.c:3850
 #, c-format
 msgid "corrupt patch for subproject %s"
 msgstr "子项目 %s 损坏的补丁"
 
-#: builtin/apply.c:3850
+#: builtin/apply.c:3854
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: builtin/apply.c:3855
+#: builtin/apply.c:3859
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: builtin/apply.c:3858 builtin/apply.c:3966
+#: builtin/apply.c:3862 builtin/apply.c:3970
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: builtin/apply.c:3891
+#: builtin/apply.c:3895
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: builtin/apply.c:3940
+#: builtin/apply.c:3944
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: builtin/apply.c:4027
+#: builtin/apply.c:4031
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: builtin/apply.c:4035
+#: builtin/apply.c:4039
 msgid "internal error"
 msgstr "内部错误"
 
 #. Say this even without --verbose
-#: builtin/apply.c:4038
+#: builtin/apply.c:4042
 #, 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:4048
+#: builtin/apply.c:4052
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: builtin/apply.c:4069
+#: builtin/apply.c:4073
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: builtin/apply.c:4072
+#: builtin/apply.c:4076
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: builtin/apply.c:4222
+#: builtin/apply.c:4226
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: builtin/apply.c:4233
+#: builtin/apply.c:4237
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: builtin/apply.c:4352 builtin/apply.c:4355 builtin/clone.c:91
+#: builtin/apply.c:4356 builtin/apply.c:4359 builtin/clone.c:92
 #: builtin/fetch.c:63
 msgid "path"
 msgstr "路径"
 
-#: builtin/apply.c:4353
+#: builtin/apply.c:4357
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4356
+#: builtin/apply.c:4360
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4358
+#: builtin/apply.c:4362
 msgid "num"
 msgstr "数字"
 
-#: builtin/apply.c:4359
+#: builtin/apply.c:4363
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: builtin/apply.c:4362
+#: builtin/apply.c:4366
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: builtin/apply.c:4364
+#: builtin/apply.c:4368
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: builtin/apply.c:4368
+#: builtin/apply.c:4372
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: builtin/apply.c:4370
+#: builtin/apply.c:4374
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: builtin/apply.c:4372
+#: builtin/apply.c:4376
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: builtin/apply.c:4374
+#: builtin/apply.c:4378
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: builtin/apply.c:4376
+#: builtin/apply.c:4380
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: builtin/apply.c:4378
+#: builtin/apply.c:4382
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: builtin/apply.c:4380
+#: builtin/apply.c:4384
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "如果一个补丁不能应用则尝试三路合并"
 
-#: builtin/apply.c:4382
+#: builtin/apply.c:4386
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: builtin/apply.c:4384 builtin/checkout-index.c:197 builtin/ls-files.c:463
+#: builtin/apply.c:4388 builtin/checkout-index.c:197 builtin/ls-files.c:456
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: builtin/apply.c:4387
+#: builtin/apply.c:4391
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: builtin/apply.c:4388
+#: builtin/apply.c:4392
 msgid "action"
 msgstr "动作"
 
-#: builtin/apply.c:4389
+#: builtin/apply.c:4393
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: builtin/apply.c:4392 builtin/apply.c:4395
+#: builtin/apply.c:4396 builtin/apply.c:4399
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: builtin/apply.c:4398
+#: builtin/apply.c:4402
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: builtin/apply.c:4400
+#: builtin/apply.c:4404
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: builtin/apply.c:4402
+#: builtin/apply.c:4406
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: builtin/apply.c:4404
+#: builtin/apply.c:4408
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: builtin/apply.c:4407
+#: builtin/apply.c:4411
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: builtin/apply.c:4410
+#: builtin/apply.c:4414
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: builtin/apply.c:4412
+#: builtin/apply.c:4416
 msgid "root"
 msgstr "根目录"
 
-#: builtin/apply.c:4413
+#: builtin/apply.c:4417
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: builtin/apply.c:4435
+#: builtin/apply.c:4439
 msgid "--3way outside a repository"
 msgstr "--3way 在一个版本库之外"
 
-#: builtin/apply.c:4443
+#: builtin/apply.c:4447
 msgid "--index outside a repository"
 msgstr "--index 在一个版本库之外"
 
-#: builtin/apply.c:4446
+#: builtin/apply.c:4450
 msgid "--cached outside a repository"
 msgstr "--cached 在一个版本库之外"
 
-#: builtin/apply.c:4462
+#: builtin/apply.c:4466
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "不能打开补丁 '%s'"
 
-#: builtin/apply.c:4476
+#: builtin/apply.c:4480
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: builtin/apply.c:4482 builtin/apply.c:4492
+#: builtin/apply.c:4486 builtin/apply.c:4496
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2143,21 +2347,21 @@ msgstr "git archive:未提供远程URL"
 msgid "git archive: expected ACK/NAK, got EOF"
 msgstr "git archive:应为ACK/NACK,却得到EOF"
 
-#: builtin/archive.c:63
+#: builtin/archive.c:61
 #, c-format
 msgid "git archive: NACK %s"
 msgstr "git archive:NACK %s"
 
-#: builtin/archive.c:65
+#: builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
 
-#: builtin/archive.c:66
+#: builtin/archive.c:64
 msgid "git archive: protocol error"
 msgstr "git archive:协议错误"
 
-#: builtin/archive.c:71
+#: builtin/archive.c:68
 msgid "git archive: expected a flush"
 msgstr "git archive:应为刷新"
 
@@ -2177,120 +2381,120 @@ msgstr "更新 BISECT_HEAD 而非检出当前提交"
 msgid "git blame [options] [rev-opts] [rev] [--] file"
 msgstr "git blame [选项] [版本选项] [版本] [--] 文件"
 
-#: builtin/blame.c:30 builtin/shortlog.c:15
+#: builtin/blame.c:30
 msgid "[rev-opts] are documented in git-rev-list(1)"
 msgstr "[版本选项] 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:2350
+#: builtin/blame.c:2355
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2351
+#: builtin/blame.c:2356
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:2352
+#: builtin/blame.c:2357
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:2353
+#: builtin/blame.c:2358
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2354
+#: builtin/blame.c:2359
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2355
+#: builtin/blame.c:2360
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:2356
+#: builtin/blame.c:2361
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:2357
+#: builtin/blame.c:2362
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2358
+#: builtin/blame.c:2363
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2359
+#: builtin/blame.c:2364
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:2360
+#: builtin/blame.c:2365
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:2361
+#: builtin/blame.c:2366
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的SHA1提交号(默认:关闭)"
 
-#: builtin/blame.c:2362
+#: builtin/blame.c:2367
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:2363
+#: builtin/blame.c:2368
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:2364
+#: builtin/blame.c:2369
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2365
+#: builtin/blame.c:2370
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2366
+#: builtin/blame.c:2371
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <file> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2367
+#: builtin/blame.c:2372
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <file> 的内容作为最终的图片"
 
-#: builtin/blame.c:2368 builtin/blame.c:2369
+#: builtin/blame.c:2373 builtin/blame.c:2374
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2368
+#: builtin/blame.c:2373
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2369
+#: builtin/blame.c:2374
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2370
+#: builtin/blame.c:2375
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2370
+#: builtin/blame.c:2375
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
-#: builtin/branch.c:23
+#: builtin/branch.c:24
 msgid "git branch [options] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [选项] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:24
+#: builtin/branch.c:25
 msgid "git branch [options] [-l] [-f] <branchname> [<start-point>]"
 msgstr "git branch [选项] [-l] [-f] <分支名> [<起始点>]"
 
-#: builtin/branch.c:25
+#: builtin/branch.c:26
 msgid "git branch [options] [-r] (-d | -D) <branchname>..."
 msgstr "git branch [选项] [-r] (-d | -D) <分支名>..."
 
-#: builtin/branch.c:26
+#: builtin/branch.c:27
 msgid "git branch [options] (-m | -M) [<oldbranch>] <newbranch>"
 msgstr "git branch [选项] (-m | -M) [<旧分支>] <新分支>"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:145
+#: builtin/branch.c:150
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -2300,7 +2504,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:149
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -2309,12 +2513,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:163
+#: builtin/branch.c:168
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:167
+#: builtin/branch.c:172
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -2323,285 +2527,327 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:180
+#: builtin/branch.c:185
 msgid "Update of config-file failed"
 msgstr "无法更新 config 文件"
 
-#: builtin/branch.c:208
+#: builtin/branch.c:213
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:214
+#: builtin/branch.c:219
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:222
+#: builtin/branch.c:227
 #, c-format
 msgid "Cannot delete the branch '%s' which you are currently on."
 msgstr "无法删除您当前所在的分支 '%s'。"
 
-#: builtin/branch.c:235
+#: builtin/branch.c:240
 #, c-format
 msgid "remote branch '%s' not found."
 msgstr "远程分支 '%s' 未发现。"
 
-#: builtin/branch.c:236
+#: builtin/branch.c:241
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:250
+#: builtin/branch.c:255
 #, c-format
 msgid "Error deleting remote branch '%s'"
 msgstr "删除远程分支 '%s' 时出错"
 
-#: builtin/branch.c:251
+#: builtin/branch.c:256
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "删除分支 '%s' 时出错"
 
-#: builtin/branch.c:258
+#: builtin/branch.c:263
 #, c-format
 msgid "Deleted remote branch %s (was %s).\n"
 msgstr "已删除远程分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:259
+#: builtin/branch.c:264
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:361
+#: builtin/branch.c:366
 #, c-format
 msgid "branch '%s' does not point at a commit"
 msgstr "分支 '%s' 未指向一个提交"
 
-#: builtin/branch.c:433
+#: builtin/branch.c:453
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s:落后 %d]"
 
-#: builtin/branch.c:435
+#: builtin/branch.c:455
 #, c-format
 msgid "[behind %d]"
 msgstr "[落后 %d]"
 
-#: builtin/branch.c:439
+#: builtin/branch.c:459
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s:领先 %d]"
 
-#: builtin/branch.c:441
+#: builtin/branch.c:461
 #, c-format
 msgid "[ahead %d]"
 msgstr "[领先 %d]"
 
-#: builtin/branch.c:444
+#: builtin/branch.c:464
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s:领先 %d,落后 %d]"
 
-#: builtin/branch.c:447
+#: builtin/branch.c:467
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[领先 %d,落后 %d]"
 
-#: builtin/branch.c:469
+#: builtin/branch.c:490
 msgid " **** invalid ref ****"
 msgstr " **** 无效引用 ****"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:582
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(非分支,正变基 %s)"
+
+#: builtin/branch.c:585
+#, c-format
+msgid "(no branch, bisect started on %s)"
+msgstr "(非分支,二分查找开始于 %s)"
+
+#: builtin/branch.c:588
+#, c-format
+msgid "(detached from %s)"
+msgstr "(分离自 %s)"
+
+#: builtin/branch.c:591
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: builtin/branch.c:593
+#: builtin/branch.c:637
 #, c-format
 msgid "object '%s' does not point to a commit"
 msgstr "对象 '%s' 没有指向一个提交"
 
-#: builtin/branch.c:625
+#: builtin/branch.c:669
 msgid "some refs could not be read"
 msgstr "一些引用不能读取"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:682
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:692
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:707
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:711
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:715
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:722
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新 config 文件失败"
 
-#: builtin/branch.c:693
+#: builtin/branch.c:737
 #, c-format
 msgid "malformed object name %s"
 msgstr "非法的对象名 %s"
 
-#: builtin/branch.c:717
+#: builtin/branch.c:761
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "不能写分支描述模版:%s"
 
-#: builtin/branch.c:747
+#: builtin/branch.c:791
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:749
+#: builtin/branch.c:793
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:794
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:751
+#: builtin/branch.c:795
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:753
+#: builtin/branch.c:797
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:801
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:802
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:761 builtin/branch.c:767 builtin/branch.c:788
-#: builtin/branch.c:794 builtin/commit.c:1366 builtin/commit.c:1367
-#: builtin/commit.c:1368 builtin/commit.c:1369 builtin/tag.c:468
+#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832
+#: builtin/branch.c:838 builtin/commit.c:1368 builtin/commit.c:1369
+#: builtin/commit.c:1370 builtin/commit.c:1371 builtin/tag.c:468
 msgid "commit"
 msgstr "提交"
 
-#: builtin/branch.c:762 builtin/branch.c:768
+#: builtin/branch.c:806 builtin/branch.c:812
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:774
+#: builtin/branch.c:818
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:775
+#: builtin/branch.c:819
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:777
+#: builtin/branch.c:821
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:778
+#: builtin/branch.c:822
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:823
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:780
+#: builtin/branch.c:824
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:781
+#: builtin/branch.c:825
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:782
+#: builtin/branch.c:826
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:784
+#: builtin/branch.c:828
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:829
 msgid "force creation (when already exists)"
 msgstr "强制创建(当已经存在)"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:832
 msgid "print only not merged branches"
 msgstr "只打印没有合并的分支"
 
-#: builtin/branch.c:794
+#: builtin/branch.c:838
 msgid "print only merged branches"
 msgstr "只打印合并的分支"
 
-#: builtin/branch.c:798
+#: builtin/branch.c:842
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:811
+#: builtin/branch.c:855
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:816 builtin/clone.c:561
+#: builtin/branch.c:860 builtin/clone.c:619
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:839
+#: builtin/branch.c:883
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:889 builtin/branch.c:928
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:860
+#: builtin/branch.c:904
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:865
+#: builtin/branch.c:909
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:872
+#: builtin/branch.c:916
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:875
+#: builtin/branch.c:919
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:888
+#: builtin/branch.c:934
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:893
+#: builtin/branch.c:939
+msgid "too many branches to set new upstream"
+msgstr "为设置新上游提供了太多的分支名"
+
+#: builtin/branch.c:943
+#, 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:946 builtin/branch.c:968 builtin/branch.c:990
+#, c-format
+msgid "no such branch '%s'"
+msgstr "没有此分支 '%s'"
+
+#: builtin/branch.c:950
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:905
+#: builtin/branch.c:962
+msgid "too many branches to unset upstream"
+msgstr "为取消上游设置操作提供了太多的分支名"
+
+#: builtin/branch.c:966
+msgid "could not unset upstream of HEAD when it does not point to any branch."
+msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
+
+#: builtin/branch.c:972
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:920
+#: builtin/branch.c:987
+msgid "it does not make sense to create 'HEAD' manually"
+msgstr "手工创建 'HEAD' 没有意义"
+
+#: builtin/branch.c:993
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:923
+#: builtin/branch.c:996
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -2609,7 +2855,7 @@ msgid ""
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:940
+#: builtin/branch.c:1013
 #, c-format
 msgid ""
 "\n"
@@ -2620,12 +2866,12 @@ msgstr ""
 "如果你想用 '%s' 跟踪 '%s', 这么做:\n"
 "\n"
 
-#: builtin/branch.c:941
+#: builtin/branch.c:1014
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:942
+#: builtin/branch.c:1015
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -2643,43 +2889,43 @@ msgstr "需要一个版本库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个版本库来解包。"
 
-#: builtin/cat-file.c:247
+#: builtin/cat-file.c:176
 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>"
 msgstr "git cat-file (-t|-s|-e|-p|<类型>|--textconv) <对象>"
 
-#: builtin/cat-file.c:248
+#: builtin/cat-file.c:177
 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>"
 msgstr "git cat-file (--batch|--batch-check) < <对象列表>"
 
-#: builtin/cat-file.c:266
+#: builtin/cat-file.c:195
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:267
+#: builtin/cat-file.c:196
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:268
+#: builtin/cat-file.c:197
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:270
+#: builtin/cat-file.c:199
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:271
+#: builtin/cat-file.c:200
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:273
+#: builtin/cat-file.c:202
 msgid "for blob objects, run textconv on object's content"
 msgstr "对于数据(blob)对象,对其内容执行 textconv"
 
-#: builtin/cat-file.c:275
+#: builtin/cat-file.c:204
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:278
+#: builtin/cat-file.c:207
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
@@ -2707,27 +2953,27 @@ msgstr "从标准输入读出文件名"
 msgid "input paths are terminated by a null character"
 msgstr "输入路径以null字符终止"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1012 builtin/gc.c:177
+#: builtin/check-ignore.c:18 builtin/checkout.c:1044 builtin/gc.c:177
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
-#: builtin/check-ignore.c:151
+#: builtin/check-ignore.c:146
 msgid "cannot specify pathnames with --stdin"
 msgstr "不能同时提供路径及 --stdin 参数"
 
-#: builtin/check-ignore.c:154
+#: builtin/check-ignore.c:149
 msgid "-z only makes sense with --stdin"
 msgstr "-z 需要和 --stdin 参数共用才有意义"
 
-#: builtin/check-ignore.c:156
+#: builtin/check-ignore.c:151
 msgid "no path specified"
 msgstr "未指定路径"
 
-#: builtin/check-ignore.c:160
+#: builtin/check-ignore.c:155
 msgid "--quiet is only valid with a single pathname"
 msgstr "参数 --quiet 只在提供一个路径名时有效"
 
-#: builtin/check-ignore.c:162
+#: builtin/check-ignore.c:157
 msgid "cannot have both --quiet and --verbose"
 msgstr "不能同时提供 --quiet 和 --verbose 参数"
 
@@ -2783,107 +3029,107 @@ msgstr "git checkout [选项] <分支>"
 msgid "git checkout [options] [<branch>] -- <file>..."
 msgstr "git checkout [选项] [<分支>] -- <文件>..."
 
-#: builtin/checkout.c:116 builtin/checkout.c:149
+#: builtin/checkout.c:117 builtin/checkout.c:150
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "路径 '%s' 没有我们的版本"
 
-#: builtin/checkout.c:118 builtin/checkout.c:151
+#: builtin/checkout.c:119 builtin/checkout.c:152
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "路径 '%s' 没有他们的版本"
 
-#: builtin/checkout.c:134
+#: builtin/checkout.c:135
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "路径 '%s' 没有全部必须的版本"
 
-#: builtin/checkout.c:178
+#: builtin/checkout.c:179
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "路径 '%s' 没有必须的版本"
 
-#: builtin/checkout.c:195
+#: builtin/checkout.c:196
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "path '%s':无法合并"
 
-#: builtin/checkout.c:212
+#: builtin/checkout.c:213
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "无法为 '%s' 添加合并结果"
 
-#: builtin/checkout.c:236 builtin/checkout.c:239 builtin/checkout.c:242
-#: builtin/checkout.c:245
+#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243
+#: builtin/checkout.c:246
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "'%s' 不能在更新路径时使用"
 
-#: builtin/checkout.c:248 builtin/checkout.c:251
+#: builtin/checkout.c:249 builtin/checkout.c:252
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "'%s' 不能和 %s 同时使用"
 
-#: builtin/checkout.c:254
+#: builtin/checkout.c:255
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr "不能同时更新路径并切换到分支'%s'。"
 
-#: builtin/checkout.c:265 builtin/checkout.c:426
+#: builtin/checkout.c:266 builtin/checkout.c:458
 msgid "corrupt index file"
 msgstr "损坏的索引文件"
 
-#: builtin/checkout.c:295 builtin/checkout.c:302
+#: builtin/checkout.c:329 builtin/checkout.c:336
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:448
+#: builtin/checkout.c:480
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:569
+#: builtin/checkout.c:601
 #, c-format
 msgid "Can not do reflog for '%s'\n"
 msgstr "不能对 '%s' 执行 reflog 操作\n"
 
-#: builtin/checkout.c:602
+#: builtin/checkout.c:634
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:609
+#: builtin/checkout.c:641
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:612
+#: builtin/checkout.c:644
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:616
+#: builtin/checkout.c:648
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:618 builtin/checkout.c:955
+#: builtin/checkout.c:650 builtin/checkout.c:987
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:620
+#: builtin/checkout.c:652
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:676
+#: builtin/checkout.c:708
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
 #. The singular version
-#: builtin/checkout.c:682
+#: builtin/checkout.c:714
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -2904,7 +3150,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:700
+#: builtin/checkout.c:732
 #, c-format
 msgid ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
@@ -2919,132 +3165,136 @@ msgstr ""
 " git branch new_branch_name %s\n"
 "\n"
 
-#: builtin/checkout.c:730
+#: builtin/checkout.c:762
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:734
+#: builtin/checkout.c:766
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:761 builtin/checkout.c:950
+#: builtin/checkout.c:793 builtin/checkout.c:982
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
 #. case (1)
-#: builtin/checkout.c:886
+#: builtin/checkout.c:918
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
 #. case (1): want a tree
-#: builtin/checkout.c:925
+#: builtin/checkout.c:957
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:964
+#: builtin/checkout.c:996
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:967 builtin/checkout.c:971
+#: builtin/checkout.c:999 builtin/checkout.c:1003
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:975 builtin/checkout.c:978 builtin/checkout.c:983
-#: builtin/checkout.c:986
+#: builtin/checkout.c:1007 builtin/checkout.c:1010 builtin/checkout.c:1015
+#: builtin/checkout.c:1018
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:991
+#: builtin/checkout.c:1023
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1013 builtin/checkout.c:1015 builtin/clone.c:89
+#: builtin/checkout.c:1045 builtin/checkout.c:1047 builtin/clone.c:90
 #: builtin/remote.c:169 builtin/remote.c:171
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1014
+#: builtin/checkout.c:1046
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1016
+#: builtin/checkout.c:1048
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1049
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1018
+#: builtin/checkout.c:1050
 msgid "detach the HEAD at named commit"
 msgstr "成为指向该提交的分离头指针"
 
-#: builtin/checkout.c:1019
+#: builtin/checkout.c:1051
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1053
 msgid "new branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1021
+#: builtin/checkout.c:1053
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1022
+#: builtin/checkout.c:1054
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1024
+#: builtin/checkout.c:1056
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1026
+#: builtin/checkout.c:1058
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1027
+#: builtin/checkout.c:1059
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三路合并"
 
-#: builtin/checkout.c:1028 builtin/merge.c:215
+#: builtin/checkout.c:1060 builtin/merge.c:217
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1029 builtin/log.c:1147 parse-options.h:245
+#: builtin/checkout.c:1061 builtin/log.c:1158 parse-options.h:245
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1030
+#: builtin/checkout.c:1062
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1033
+#: builtin/checkout.c:1065
+msgid "do not limit pathspecs to sparse entries only"
+msgstr "对路径不做稀疏检出的限制"
+
+#: builtin/checkout.c:1067
 msgid "second guess 'git checkout no-such-branch'"
 msgstr "再者猜测'git checkout no-such-branch'"
 
-#: builtin/checkout.c:1057
+#: builtin/checkout.c:1091
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1074
+#: builtin/checkout.c:1108
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1081
+#: builtin/checkout.c:1115
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1116
+#: builtin/checkout.c:1150
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1123
+#: builtin/checkout.c:1157
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3053,12 +3303,12 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1128
+#: builtin/checkout.c:1162
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1132
+#: builtin/checkout.c:1166
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -3106,8 +3356,8 @@ msgstr "强制"
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:165 builtin/describe.c:413 builtin/grep.c:717
-#: builtin/ls-files.c:494 builtin/name-rev.c:231 builtin/show-ref.c:182
+#: builtin/clean.c:165 builtin/describe.c:412 builtin/grep.c:717
+#: builtin/ls-files.c:487 builtin/name-rev.c:231 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "模式"
 
@@ -3140,215 +3390,233 @@ msgid ""
 msgstr ""
 "clean.requireForce 默认为 true 且未提供 -n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clone.c:36
+#: builtin/clone.c:37
 msgid "git clone [options] [--] <repo> [<dir>]"
 msgstr "git clone [选项] [--] <版本库> [<路径>]"
 
-#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:212
+#: builtin/clone.c:65 builtin/fetch.c:82 builtin/merge.c:214
 #: builtin/push.c:436
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:488
+#: builtin/clone.c:68 builtin/clone.c:70 builtin/init-db.c:488
 msgid "create a bare repository"
 msgstr "创建一个裸版本库"
 
-#: builtin/clone.c:72
+#: builtin/clone.c:73
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像版本库(也是裸版本库)"
 
-#: builtin/clone.c:74
+#: builtin/clone.c:75
 msgid "to clone from a local repository"
 msgstr "从本地版本库克隆"
 
-#: builtin/clone.c:76
+#: builtin/clone.c:77
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:78
+#: builtin/clone.c:79
 msgid "setup as shared repository"
 msgstr "设置为共享版本库"
 
-#: builtin/clone.c:80 builtin/clone.c:82
+#: builtin/clone.c:81 builtin/clone.c:83
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:83 builtin/init-db.c:485
+#: builtin/clone.c:84 builtin/init-db.c:485
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:84 builtin/init-db.c:486
+#: builtin/clone.c:85 builtin/init-db.c:486
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:86
+#: builtin/clone.c:87
 msgid "reference repository"
 msgstr "引用版本库"
 
-#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:88 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:89
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用<名称>而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:91
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出<分支>而不是远程HEAD"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:662
+#: builtin/clone.c:94 builtin/fetch.c:83 builtin/grep.c:662
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:97 builtin/init-db.c:494
+#: builtin/clone.c:98 builtin/init-db.c:494
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:98 builtin/init-db.c:495
+#: builtin/clone.c:99 builtin/init-db.c:495
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:100
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:101
 msgid "set config inside the new repository"
 msgstr "在新版本库中设置配置信息"
 
-#: builtin/clone.c:243
+#: builtin/clone.c:254
 #, c-format
-msgid "reference repository '%s' is not a local directory."
-msgstr "å¼\95ç\94¨ç\89\88æ\9c¬åº\93 '%s' ä¸\8dæ\98¯ä¸\80个æ\9c¬å\9c°ç\9b®å½\95。"
+msgid "reference repository '%s' is not a local repository."
+msgstr "å¼\95ç\94¨ç\89\88æ\9c¬åº\93 '%s' ä¸\8dæ\98¯ä¸\80个æ\9c¬å\9c°ç\89\88æ\9c¬åº\93。"
 
-#: builtin/clone.c:306
+#: builtin/clone.c:317
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
 
-#: builtin/clone.c:308 builtin/diff.c:77
+#: builtin/clone.c:319 builtin/diff.c:77
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法枚举 '%s' 状态"
 
-#: builtin/clone.c:310
+#: builtin/clone.c:321
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:324
+#: builtin/clone.c:335
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "无法枚举 %s 状态\n"
 
-#: builtin/clone.c:346
+#: builtin/clone.c:357
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:350
+#: builtin/clone.c:361
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:373
+#: builtin/clone.c:384
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:443
+#: builtin/clone.c:397
+msgid ""
+"Clone succeeded, but checkout failed.\n"
+"You can inspect what was checked out with 'git status'\n"
+"and retry the checkout with 'git checkout -f HEAD'\n"
+msgstr ""
+"克隆成功,但是检出失败。\n"
+"您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
+"'git checkout -f HEAD' 重试\n"
+
+#: builtin/clone.c:476
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:552
+#: builtin/clone.c:550
+msgid "remote did not send all necessary objects"
+msgstr "远程没有发送所有必须的对象"
+
+#: builtin/clone.c:610
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:690
+#: builtin/clone.c:641
+msgid "unable to checkout working tree"
+msgstr "不能检出工作区"
+
+#: builtin/clone.c:749
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:694
+#: builtin/clone.c:753
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个版本库来克隆。"
 
-#: builtin/clone.c:705
+#: builtin/clone.c:764
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:708
+#: builtin/clone.c:767
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:721
+#: builtin/clone.c:780
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "版本库 '%s' 不存在"
 
-#: builtin/clone.c:726
+#: builtin/clone.c:785
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆被忽略,改为 file:// 协议试试。"
 
-#: builtin/clone.c:736
+#: builtin/clone.c:795
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:746
+#: builtin/clone.c:805
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:759 builtin/clone.c:771
+#: builtin/clone.c:818 builtin/clone.c:830
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:762
+#: builtin/clone.c:821
 #, c-format
 msgid "could not create work tree dir '%s'."
 msgstr "不能为 '%s' 创建工作区目录。"
 
-#: builtin/clone.c:781
+#: builtin/clone.c:840
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到裸版本库 '%s'...\n"
 
-#: builtin/clone.c:783
+#: builtin/clone.c:842
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:818
+#: builtin/clone.c:877
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "不知道如何克隆 %s"
 
-#: builtin/clone.c:867
+#: builtin/clone.c:926
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:874
+#: builtin/clone.c:933
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空版本库。"
 
@@ -3440,93 +3708,93 @@ msgstr ""
 "\n"
 "否则,请使用命令 'git reset'\n"
 
-#: builtin/commit.c:258
+#: builtin/commit.c:260
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:300
+#: builtin/commit.c:302
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:306
+#: builtin/commit.c:308
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:339 builtin/commit.c:360 builtin/commit.c:410
+#: builtin/commit.c:341 builtin/commit.c:362 builtin/commit.c:412
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:391
+#: builtin/commit.c:393
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:393
+#: builtin/commit.c:395
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:403
+#: builtin/commit.c:405
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:423
+#: builtin/commit.c:425
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:511 builtin/commit.c:517
+#: builtin/commit.c:513 builtin/commit.c:519
 #, c-format
 msgid "invalid commit: %s"
 msgstr "无效的提交:%s"
 
-#: builtin/commit.c:540
+#: builtin/commit.c:542
 msgid "malformed --author parameter"
 msgstr "非法的 --author 参数"
 
-#: builtin/commit.c:560
+#: builtin/commit.c:562
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "非法的身份字符串:'%s'"
 
-#: builtin/commit.c:598 builtin/commit.c:631 builtin/commit.c:954
+#: builtin/commit.c:600 builtin/commit.c:633 builtin/commit.c:956
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:610 builtin/shortlog.c:272
+#: builtin/commit.c:612 builtin/shortlog.c:270
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:612
+#: builtin/commit.c:614
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:616
+#: builtin/commit.c:618
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:622
+#: builtin/commit.c:624
 msgid "commit has empty message"
 msgstr "提交说明为空"
 
-#: builtin/commit.c:638
+#: builtin/commit.c:640
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:642
+#: builtin/commit.c:644
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:646
+#: builtin/commit.c:648
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/commit.c:707
+#: builtin/commit.c:709
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:718
+#: builtin/commit.c:720
 #, c-format
 msgid ""
 "\n"
@@ -3540,7 +3808,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:723
+#: builtin/commit.c:725
 #, c-format
 msgid ""
 "\n"
@@ -3554,7 +3822,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:735
+#: builtin/commit.c:737
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -3563,7 +3831,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:740
+#: builtin/commit.c:742
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -3574,355 +3842,355 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:753
+#: builtin/commit.c:755
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%s作者:     %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:760
+#: builtin/commit.c:762
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%s提交者:   %s"
 
-#: builtin/commit.c:780
+#: builtin/commit.c:782
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:817
+#: builtin/commit.c:819
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:832 builtin/tag.c:359
+#: builtin/commit.c:834 builtin/tag.c:359
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:929
+#: builtin/commit.c:931
 #, c-format
 msgid "No existing author found with '%s'"
 msgstr "没有找到匹配 '%s' 的作者"
 
-#: builtin/commit.c:944 builtin/commit.c:1138
+#: builtin/commit.c:946 builtin/commit.c:1140
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:974
+#: builtin/commit.c:976
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:985
+#: builtin/commit.c:987
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:988
+#: builtin/commit.c:990
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:990
+#: builtin/commit.c:992
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:993
+#: builtin/commit.c:995
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1003
+#: builtin/commit.c:1005
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1005
+#: builtin/commit.c:1007
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "选项 -m 不能和 -c/-C/-F/--fixup 同时使用。"
 
-#: builtin/commit.c:1013
+#: builtin/commit.c:1015
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1030
+#: builtin/commit.c:1032
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1032
+#: builtin/commit.c:1034
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1034
+#: builtin/commit.c:1036
 msgid "Clever... amending the last one with dirty index."
 msgstr "聪明... 在索引不干净下修补最后的提交。"
 
-#: builtin/commit.c:1036
+#: builtin/commit.c:1038
 msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项;认为是 --only paths..."
 
-#: builtin/commit.c:1046 builtin/tag.c:575
+#: builtin/commit.c:1048 builtin/tag.c:575
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1051
+#: builtin/commit.c:1053
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1057 builtin/commit.c:1192
+#: builtin/commit.c:1059 builtin/commit.c:1194
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1152 builtin/commit.c:1388
+#: builtin/commit.c:1154 builtin/commit.c:1390
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1154 builtin/commit.c:1390
+#: builtin/commit.c:1156 builtin/commit.c:1392
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1156 builtin/commit.c:1392 builtin/push.c:426
+#: builtin/commit.c:1158 builtin/commit.c:1394 builtin/push.c:426
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1159 builtin/commit.c:1394
+#: builtin/commit.c:1161 builtin/commit.c:1396
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1162 builtin/commit.c:1397
+#: builtin/commit.c:1164 builtin/commit.c:1399
 msgid "terminate entries with NUL"
 msgstr "条目以NUL字符结尾"
 
-#: builtin/commit.c:1164 builtin/commit.c:1400 builtin/fast-export.c:647
-#: builtin/fast-export.c:650 builtin/tag.c:459
+#: builtin/commit.c:1166 builtin/commit.c:1402 builtin/fast-export.c:659
+#: builtin/fast-export.c:662 builtin/tag.c:459
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1165 builtin/commit.c:1400
+#: builtin/commit.c:1167 builtin/commit.c:1402
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1168
+#: builtin/commit.c:1170
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1169 parse-options.h:151
+#: builtin/commit.c:1171 parse-options.h:151
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1170
+#: builtin/commit.c:1172
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1172
+#: builtin/commit.c:1174
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1246
+#: builtin/commit.c:1248
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1248
+#: builtin/commit.c:1250
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1289
+#: builtin/commit.c:1291
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1291
+#: builtin/commit.c:1293
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1358
+#: builtin/commit.c:1360
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1359
+#: builtin/commit.c:1361
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1361
+#: builtin/commit.c:1363
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1362 builtin/tag.c:457
+#: builtin/commit.c:1364 builtin/tag.c:457
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1365
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1365
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1364 builtin/gc.c:178
+#: builtin/commit.c:1366 builtin/gc.c:178
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1364
+#: builtin/commit.c:1366
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1365 builtin/merge.c:206 builtin/notes.c:533
+#: builtin/commit.c:1367 builtin/merge.c:208 builtin/notes.c:533
 #: builtin/notes.c:690 builtin/tag.c:455
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1365
+#: builtin/commit.c:1367
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1366
+#: builtin/commit.c:1368
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1367
+#: builtin/commit.c:1369
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1370
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1369
+#: builtin/commit.c:1371
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1370
+#: builtin/commit.c:1372
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1371 builtin/log.c:1102 builtin/revert.c:109
+#: builtin/commit.c:1373 builtin/log.c:1113 builtin/revert.c:109
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1372
+#: builtin/commit.c:1374
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1373
+#: builtin/commit.c:1375
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1374
+#: builtin/commit.c:1376
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1374 builtin/tag.c:460
+#: builtin/commit.c:1376 builtin/tag.c:460
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1375
+#: builtin/commit.c:1377
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1376 builtin/merge.c:213 builtin/tag.c:461
+#: builtin/commit.c:1378 builtin/merge.c:215 builtin/tag.c:461
 msgid "key id"
 msgstr "key id"
 
-#: builtin/commit.c:1377 builtin/merge.c:214
+#: builtin/commit.c:1379 builtin/merge.c:216
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
 #. end commit message options
-#: builtin/commit.c:1380
+#: builtin/commit.c:1382
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1381
+#: builtin/commit.c:1383
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1382
+#: builtin/commit.c:1384
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1383
+#: builtin/commit.c:1385
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1384
+#: builtin/commit.c:1386
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1385
+#: builtin/commit.c:1387
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1386
+#: builtin/commit.c:1388
 msgid "bypass pre-commit hook"
 msgstr "绕过 pre-commit 钩子"
 
-#: builtin/commit.c:1387
+#: builtin/commit.c:1389
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1398
+#: builtin/commit.c:1400
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1399
+#: builtin/commit.c:1401
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1404
+#: builtin/commit.c:1406
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1407
+#: builtin/commit.c:1409
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1441
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1477 builtin/merge.c:508
+#: builtin/commit.c:1479 builtin/merge.c:510
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "不能为读入打开 '%s'"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1486
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1491
+#: builtin/commit.c:1493
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1512
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1524
+#: builtin/commit.c:1526
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1529
+#: builtin/commit.c:1531
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1544 builtin/merge.c:832 builtin/merge.c:857
+#: builtin/commit.c:1546 builtin/merge.c:847 builtin/merge.c:872
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: builtin/commit.c:1565
+#: builtin/commit.c:1567
 msgid "cannot lock HEAD ref"
 msgstr "无法锁定 HEAD 引用"
 
-#: builtin/commit.c:1569
+#: builtin/commit.c:1571
 msgid "cannot update HEAD ref"
 msgstr "无法更新 HEAD 引用"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1582
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -4047,9 +4315,13 @@ msgstr "终止值是NUL字节"
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/count-objects.c:69
-msgid "git count-objects [-v]"
-msgstr "git count-objects [-v]"
+#: builtin/count-objects.c:82
+msgid "git count-objects [-v] [-H | --human-readable]"
+msgstr "git count-objects [-v] [-H | --human-readable]"
+
+#: builtin/count-objects.c:97
+msgid "print sizes in human readable format"
+msgstr "以用户可读的格式显示大小"
 
 #: builtin/describe.c:15
 msgid "git describe [options] <committish>*"
@@ -4059,47 +4331,47 @@ msgstr "git describe [选项] <提交号>*"
 msgid "git describe [options] --dirty"
 msgstr "git describe [选项] --dirty"
 
-#: builtin/describe.c:234
+#: builtin/describe.c:233
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "注释 tag %s 无效"
 
-#: builtin/describe.c:238
+#: builtin/describe.c:237
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "注释 tag %s 没有嵌入名称"
 
-#: builtin/describe.c:240
+#: builtin/describe.c:239
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "tag '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:267
+#: builtin/describe.c:266
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
 
-#: builtin/describe.c:270
+#: builtin/describe.c:269
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s 不是一个有效的 '%s' 对象"
 
-#: builtin/describe.c:287
+#: builtin/describe.c:286
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "没有 tag 准确匹配 '%s'"
 
-#: builtin/describe.c:289
+#: builtin/describe.c:288
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "搜索描述 %s\n"
 
-#: builtin/describe.c:329
+#: builtin/describe.c:328
 #, c-format
 msgid "finished search at %s\n"
 msgstr "完成搜索 %s\n"
 
-#: builtin/describe.c:353
+#: builtin/describe.c:352
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -4108,7 +4380,7 @@ msgstr ""
 "没有注释 tag 能描述 '%s'。\n"
 "然而,有非注释 tag:尝试 --tags。"
 
-#: builtin/describe.c:357
+#: builtin/describe.c:356
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -4117,12 +4389,12 @@ msgstr ""
 "没有注释 tag 能描述 '%s'。\n"
 "尝试 --always,或者创建一些 tag。"
 
-#: builtin/describe.c:378
+#: builtin/describe.c:377
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "已遍历 %lu 个提交\n"
 
-#: builtin/describe.c:381
+#: builtin/describe.c:380
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -4131,59 +4403,59 @@ msgstr ""
 "发现多于 %i 个 tag,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
-#: builtin/describe.c:403
+#: builtin/describe.c:402
 msgid "find the tag that comes after the commit"
 msgstr "寻找提交之后的 tag(用于描述提交)"
 
-#: builtin/describe.c:404
+#: builtin/describe.c:403
 msgid "debug search strategy on stderr"
 msgstr "在标准错误上调试搜索策略"
 
+#: builtin/describe.c:404
+msgid "use any ref"
+msgstr "使用任意引用"
+
 #: builtin/describe.c:405
-msgid "use any ref in .git/refs"
-msgstr "使用 .git/refs 里的任意引用"
+msgid "use any tag, even unannotated"
+msgstr "使用任意 tag,即使未带注解"
 
 #: builtin/describe.c:406
-msgid "use any tag in .git/refs/tags"
-msgstr "使用 .git/refs/tags 里的任意 tag"
-
-#: builtin/describe.c:407
 msgid "always use long format"
 msgstr "始终使用长提交号格式"
 
-#: builtin/describe.c:410
+#: builtin/describe.c:409
 msgid "only output exact matches"
 msgstr "只输出精确匹配"
 
-#: builtin/describe.c:412
+#: builtin/describe.c:411
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "考虑最近 <n> 个 tags(默认:10)"
 
-#: builtin/describe.c:414
+#: builtin/describe.c:413
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的 tags"
 
-#: builtin/describe.c:416 builtin/name-rev.c:238
+#: builtin/describe.c:415 builtin/name-rev.c:238
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
-#: builtin/describe.c:417
+#: builtin/describe.c:416
 msgid "mark"
 msgstr "标记"
 
-#: builtin/describe.c:418
+#: builtin/describe.c:417
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "若工作区脏(有变更)在结尾添加 <标记>(默认:\"-dirty\")"
 
-#: builtin/describe.c:436
+#: builtin/describe.c:435
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long 与 --abbrev=0 不兼容"
 
-#: builtin/describe.c:462
+#: builtin/describe.c:461
 msgid "No names found, cannot describe anything."
 msgstr "没有发现名称,无法描述任何东西。"
 
-#: builtin/describe.c:482
+#: builtin/describe.c:481
 msgid "--dirty is incompatible with committishes"
 msgstr "--dirty 不能与提交同时使用"
 
@@ -4225,39 +4497,39 @@ msgstr "提供了无法处理的对象 '%s'。"
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:646
+#: builtin/fast-export.c:658
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
-#: builtin/fast-export.c:648
+#: builtin/fast-export.c:660
 msgid "select handling of signed tags"
 msgstr "选择如何处理签名 tags"
 
-#: builtin/fast-export.c:651
+#: builtin/fast-export.c:663
 msgid "select handling of tags that tag filtered objects"
 msgstr "选择当 tag 指向被过滤时 tags 的处理方式"
 
-#: builtin/fast-export.c:654
+#: builtin/fast-export.c:666
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
-#: builtin/fast-export.c:656
+#: builtin/fast-export.c:668
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
-#: builtin/fast-export.c:658
+#: builtin/fast-export.c:670
 msgid "Fake a tagger when tags lack one"
 msgstr "当 tags 缺少标记者字段时,假装提供一个"
 
-#: builtin/fast-export.c:660
+#: builtin/fast-export.c:672
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
-#: builtin/fast-export.c:662
+#: builtin/fast-export.c:674
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
-#: builtin/fast-export.c:663
+#: builtin/fast-export.c:675
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
@@ -4334,7 +4606,7 @@ msgstr "深化浅克隆的历史"
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的版本库"
 
-#: builtin/fetch.c:88 builtin/log.c:1119
+#: builtin/fetch.c:88 builtin/log.c:1130
 msgid "dir"
 msgstr "目录"
 
@@ -4515,29 +4787,29 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 
-#: builtin/fmt-merge-msg.c:659 builtin/fmt-merge-msg.c:662 builtin/grep.c:701
-#: builtin/merge.c:188 builtin/show-branch.c:656 builtin/show-ref.c:175
+#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:701
+#: builtin/merge.c:188 builtin/show-branch.c:655 builtin/show-ref.c:175
 #: builtin/tag.c:446 parse-options.h:133 parse-options.h:239
 msgid "n"
 msgstr "n"
 
-#: builtin/fmt-merge-msg.c:660
+#: builtin/fmt-merge-msg.c:664
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:663
+#: builtin/fmt-merge-msg.c:667
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:666
+#: builtin/fmt-merge-msg.c:670
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:667
+#: builtin/fmt-merge-msg.c:671
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:668
+#: builtin/fmt-merge-msg.c:672
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -4872,28 +5144,23 @@ msgstr "显示用法"
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:825
-#, c-format
-msgid "bad object %s"
-msgstr "坏对象 %s"
-
-#: builtin/grep.c:868
+#: builtin/grep.c:866
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:891
+#: builtin/grep.c:889
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:894
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:899
+#: builtin/grep.c:897
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:907
+#: builtin/grep.c:905
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -4933,50 +5200,54 @@ msgstr "原样存储文件不使用过滤器"
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
-#: builtin/help.c:42
+#: builtin/help.c:43
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
-#: builtin/help.c:43
+#: builtin/help.c:44
+msgid "print list of useful guides"
+msgstr "显示有用的指南列表"
+
+#: builtin/help.c:45
 msgid "show man page"
 msgstr "显示 man 手册"
 
-#: builtin/help.c:44
+#: builtin/help.c:46
 msgid "show manual in web browser"
 msgstr "在 web 浏览器中显示手册"
 
-#: builtin/help.c:46
+#: builtin/help.c:48
 msgid "show info page"
 msgstr "显示 info 手册"
 
-#: builtin/help.c:52
-msgid "git help [--all] [--man|--web|--info] [command]"
-msgstr "git help [--all] [--man|--web|--info] [命令]"
+#: builtin/help.c:54
+msgid "git help [--all] [--guides] [--man|--web|--info] [command]"
+msgstr "git help [--all] [--guides] [--man|--web|--info] [命令]"
 
-#: builtin/help.c:64
+#: builtin/help.c:66
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:92
+#: builtin/help.c:94
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:105
+#: builtin/help.c:107
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:113
+#: builtin/help.c:115
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:131 builtin/help.c:159 builtin/help.c:168 builtin/help.c:176
+#: builtin/help.c:133 builtin/help.c:161 builtin/help.c:170 builtin/help.c:178
 #, c-format
 msgid "failed to exec '%s': %s"
 msgstr "无法执行 '%s':%s"
 
-#: builtin/help.c:216
+#: builtin/help.c:218
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -4985,7 +5256,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<tool>.cmd'。"
 
-#: builtin/help.c:228
+#: builtin/help.c:230
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -4994,303 +5265,335 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<tool>.path'。"
 
-#: builtin/help.c:349
+#: builtin/help.c:351
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:366
+#: builtin/help.c:368
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:374
+#: builtin/help.c:376
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:429 builtin/help.c:436
+#: builtin/help.c:422
+msgid "Defining attributes per path"
+msgstr "定义路径的属性"
+
+#: builtin/help.c:423
+msgid "A Git glossary"
+msgstr "Git 词汇表"
+
+#: builtin/help.c:424
+msgid "Specifies intentionally untracked files to ignore"
+msgstr "忽略指定的未跟踪文件"
+
+#: builtin/help.c:425
+msgid "Defining submodule properties"
+msgstr "定义子模组属性"
+
+#: builtin/help.c:426
+msgid "Specifying revisions and ranges for Git"
+msgstr "指定 Git 的版本和版本范围"
+
+#: builtin/help.c:427
+msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
+msgstr "一个 Git 教程(针对 1.5.1 或更新版本)"
+
+#: builtin/help.c:428
+msgid "An overview of recommended workflows with Git"
+msgstr "Git 推荐的工作流概览"
+
+#: builtin/help.c:440
+msgid "The common Git guides are:\n"
+msgstr "最常用的 Git 向导有:\n"
+
+#: builtin/help.c:462 builtin/help.c:478
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/help.c:452
+#: builtin/help.c:494
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' 是 `%s' 的别名"
 
-#: builtin/index-pack.c:170
+#: builtin/index-pack.c:182
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:190
+#: builtin/index-pack.c:202
 msgid "object of unexpected type"
 msgstr "意外的类型的对象"
 
-#: builtin/index-pack.c:227
+#: builtin/index-pack.c:239
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:237
+#: builtin/index-pack.c:249
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:238
+#: builtin/index-pack.c:250
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:250
+#: builtin/index-pack.c:262
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:257
+#: builtin/index-pack.c:269
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:273
+#: builtin/index-pack.c:285
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:278
+#: builtin/index-pack.c:290
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:292
+#: builtin/index-pack.c:304
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:294
+#: builtin/index-pack.c:306
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:312
+#: builtin/index-pack.c:324
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
 msgstr "包中有错误的对象位于 %lu:%s"
 
-#: builtin/index-pack.c:434
+#: builtin/index-pack.c:446
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:483
+#: builtin/index-pack.c:495
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:491
+#: builtin/index-pack.c:503
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:499
+#: builtin/index-pack.c:511
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:542
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:532
+#: builtin/index-pack.c:544
 #, c-format
 msgid "premature end of pack file, %lu byte missing"
 msgid_plural "premature end of pack file, %lu bytes missing"
 msgstr[0] "包文件过早结束,缺少 %lu 字节"
 msgstr[1] "包文件过早结束,缺少 %lu 字节"
 
-#: builtin/index-pack.c:558
+#: builtin/index-pack.c:570
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:649 builtin/index-pack.c:655 builtin/index-pack.c:678
-#: builtin/index-pack.c:712 builtin/index-pack.c:721
+#: builtin/index-pack.c:661 builtin/index-pack.c:667 builtin/index-pack.c:690
+#: builtin/index-pack.c:724 builtin/index-pack.c:733
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:652 builtin/pack-objects.c:170
+#: builtin/index-pack.c:664 builtin/pack-objects.c:170
 #: builtin/pack-objects.c:262
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:718
+#: builtin/index-pack.c:730
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:732
+#: builtin/index-pack.c:744
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据(blob)对象 %s"
 
-#: builtin/index-pack.c:747
+#: builtin/index-pack.c:759
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:749
+#: builtin/index-pack.c:761
 msgid "Error in object"
 msgstr "对象中出错"
 
-#: builtin/index-pack.c:751
+#: builtin/index-pack.c:763
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:821 builtin/index-pack.c:847
+#: builtin/index-pack.c:833 builtin/index-pack.c:863
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:986
+#: builtin/index-pack.c:1004
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:986
+#: builtin/index-pack.c:1004
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1012
+#: builtin/index-pack.c:1030
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1017
+#: builtin/index-pack.c:1035
 msgid "cannot fstat packfile"
 msgstr "不能枚举包文件状态"
 
-#: builtin/index-pack.c:1020
+#: builtin/index-pack.c:1038
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1031
+#: builtin/index-pack.c:1049
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1054
+#: builtin/index-pack.c:1072
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1064
+#: builtin/index-pack.c:1082
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1106
+#: builtin/index-pack.c:1124
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1112
+#: builtin/index-pack.c:1132
 #, c-format
 msgid "completed with %d local objects"
 msgstr "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1121
+#: builtin/index-pack.c:1142
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1146
 #, 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:1150
+#: builtin/index-pack.c:1171
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1229
+#: builtin/index-pack.c:1250
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1253
+#: builtin/index-pack.c:1274
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1266
+#: builtin/index-pack.c:1287
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1274
+#: builtin/index-pack.c:1295
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1287
+#: builtin/index-pack.c:1308
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1298
+#: builtin/index-pack.c:1319
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1331
+#: builtin/index-pack.c:1352
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1337
+#: builtin/index-pack.c:1358
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/index-pack.c:1341 builtin/index-pack.c:1514
+#: builtin/index-pack.c:1362 builtin/index-pack.c:1535
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/index-pack.c:1399
+#: builtin/index-pack.c:1420
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1401
+#: builtin/index-pack.c:1422
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1448
+#: builtin/index-pack.c:1469
 #, 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:1455
+#: builtin/index-pack.c:1476
 #, 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:1482
+#: builtin/index-pack.c:1503
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1526 builtin/index-pack.c:1529
-#: builtin/index-pack.c:1541 builtin/index-pack.c:1545
+#: builtin/index-pack.c:1547 builtin/index-pack.c:1550
+#: builtin/index-pack.c:1562 builtin/index-pack.c:1566
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1559
+#: builtin/index-pack.c:1580
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1563 builtin/index-pack.c:1573
+#: builtin/index-pack.c:1584 builtin/index-pack.c:1594
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1582
+#: builtin/index-pack.c:1603
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包名参数"
 
@@ -5459,345 +5762,340 @@ msgstr "不能访问当前工作目录"
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 
-#: builtin/log.c:39
-msgid "git log [<options>] [<since>..<until>] [[--] <path>...]\n"
-msgstr "git log [<选项>] [<从>..<到>] [[--] <路径>...]\n"
-
 #: builtin/log.c:40
+msgid "git log [<options>] [<revision range>] [[--] <path>...]\n"
+msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]\n"
+
+#: builtin/log.c:41
 msgid "   or: git show [options] <object>..."
 msgstr "   或者:git show [选项] <对象>..."
 
-#: builtin/log.c:102
+#: builtin/log.c:103
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:103
+#: builtin/log.c:104
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:104
+#: builtin/log.c:105
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:105
+#: builtin/log.c:106
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:198
+#: builtin/log.c:199
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:419 builtin/log.c:511
+#: builtin/log.c:422 builtin/log.c:514
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:535
+#: builtin/log.c:538
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:627
+#: builtin/log.c:638
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:701
+#: builtin/log.c:720
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:717
+#: builtin/log.c:736
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:731
+#: builtin/log.c:750
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:739
+#: builtin/log.c:758
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:812
+#: builtin/log.c:860
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:885
+#: builtin/log.c:936
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:913
+#: builtin/log.c:964
 msgid "git format-patch [options] [<since> | <revision range>]"
 msgstr "git format-patch [选项] [<从> | <修订集范围>]"
 
-#: builtin/log.c:958
+#: builtin/log.c:1009
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1097
+#: builtin/log.c:1108
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1100
+#: builtin/log.c:1111
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1104
+#: builtin/log.c:1115
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1106
+#: builtin/log.c:1117
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1108
+#: builtin/log.c:1119
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1109
+#: builtin/log.c:1120
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1110
+#: builtin/log.c:1121
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1112
+#: builtin/log.c:1123
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1114
+#: builtin/log.c:1125
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1116
+#: builtin/log.c:1127
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1119
+#: builtin/log.c:1130
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <dir>"
 
-#: builtin/log.c:1122
+#: builtin/log.c:1133
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1125
+#: builtin/log.c:1136
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1127
+#: builtin/log.c:1138
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1129
+#: builtin/log.c:1140
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1131
+#: builtin/log.c:1142
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1132
+#: builtin/log.c:1143
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1133
+#: builtin/log.c:1144
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1134 builtin/log.c:1136
+#: builtin/log.c:1145 builtin/log.c:1147
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1134
+#: builtin/log.c:1145
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1136
+#: builtin/log.c:1147
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1138
+#: builtin/log.c:1149
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1139
+#: builtin/log.c:1150
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <message-id> 的回复"
 
-#: builtin/log.c:1140 builtin/log.c:1143
+#: builtin/log.c:1151 builtin/log.c:1154
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1141
+#: builtin/log.c:1152
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1144
+#: builtin/log.c:1155
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1148
+#: builtin/log.c:1159
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1150
+#: builtin/log.c:1161
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1151
+#: builtin/log.c:1162
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1153
+#: builtin/log.c:1164
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1202
-#, c-format
-msgid "bogus committer info %s"
-msgstr "虚假的提交者信息 %s"
-
-#: builtin/log.c:1247
+#: builtin/log.c:1248
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1249
+#: builtin/log.c:1250
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix 和 -k 互斥。"
 
-#: builtin/log.c:1257
+#: builtin/log.c:1258
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1259
+#: builtin/log.c:1260
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1262
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1284
+#: builtin/log.c:1285
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1286
+#: builtin/log.c:1287
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1439
+#: builtin/log.c:1435
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1488
+#: builtin/log.c:1484
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1543
+#: builtin/log.c:1539
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <upstream>。\n"
 
-#: builtin/log.c:1556 builtin/log.c:1558 builtin/log.c:1570
+#: builtin/log.c:1552 builtin/log.c:1554 builtin/log.c:1566
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/ls-files.c:409
+#: builtin/ls-files.c:402
 msgid "git ls-files [options] [<file>...]"
 msgstr "git ls-files [选项] [<文件>...]"
 
-#: builtin/ls-files.c:466
+#: builtin/ls-files.c:459
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:468
+#: builtin/ls-files.c:461
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:470
+#: builtin/ls-files.c:463
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:472
+#: builtin/ls-files.c:465
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:474
+#: builtin/ls-files.c:467
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:476
+#: builtin/ls-files.c:469
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:478
+#: builtin/ls-files.c:471
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:481
+#: builtin/ls-files.c:474
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:483
+#: builtin/ls-files.c:476
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:485
+#: builtin/ls-files.c:478
 msgid "show 'other' directories' name only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:488
+#: builtin/ls-files.c:481
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:491
+#: builtin/ls-files.c:484
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:493
+#: builtin/ls-files.c:486
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:495
+#: builtin/ls-files.c:488
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:498
+#: builtin/ls-files.c:491
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:501
+#: builtin/ls-files.c:494
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:503
+#: builtin/ls-files.c:496
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:506
+#: builtin/ls-files.c:499
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:502
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:510
+#: builtin/ls-files.c:503
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:511
+#: builtin/ls-files.c:504
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:513
+#: builtin/ls-files.c:506
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -5904,109 +6202,113 @@ msgstr "允许快进(默认)"
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:202 builtin/notes.c:866 builtin/revert.c:112
+#: builtin/merge.c:203
+msgid "Verify that the named commit has a valid GPG signature"
+msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
+
+#: builtin/merge.c:204 builtin/notes.c:866 builtin/revert.c:112
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:203
+#: builtin/merge.c:205
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:206
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:205
+#: builtin/merge.c:207
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:207
+#: builtin/merge.c:209
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:213
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:240
+#: builtin/merge.c:242
 msgid "could not run stash."
 msgstr "不能进行进度保存。"
 
-#: builtin/merge.c:245
+#: builtin/merge.c:247
 msgid "stash failed"
 msgstr "进度保存失败"
 
-#: builtin/merge.c:250
+#: builtin/merge.c:252
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:269 builtin/merge.c:286
+#: builtin/merge.c:271 builtin/merge.c:288
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:316
+#: builtin/merge.c:318
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:329
+#: builtin/merge.c:331
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:361
+#: builtin/merge.c:363
 msgid "Writing SQUASH_MSG"
 msgstr "写入 SQUASH_MSG"
 
-#: builtin/merge.c:363
+#: builtin/merge.c:365
 msgid "Finishing SQUASH_MSG"
 msgstr "完成 SQUASH_MSG"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:388
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:436
+#: builtin/merge.c:438
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:535
+#: builtin/merge.c:550
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:628
+#: builtin/merge.c:643
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入一树对象"
 
-#: builtin/merge.c:656
+#: builtin/merge.c:671
 msgid "Not handling anything other than two heads merge."
 msgstr "不能处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:670
+#: builtin/merge.c:685
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:684
+#: builtin/merge.c:699
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:773
+#: builtin/merge.c:788
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:782
+#: builtin/merge.c:797
 #, 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:803
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -6020,52 +6322,52 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:812
+#: builtin/merge.c:827
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:824
+#: builtin/merge.c:839
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:889
+#: builtin/merge.c:904
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:905
+#: builtin/merge.c:920
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:946
+#: builtin/merge.c:961
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:948
+#: builtin/merge.c:963
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程版本库。"
 
-#: builtin/merge.c:950
+#: builtin/merge.c:965
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:955
+#: builtin/merge.c:970
 #, c-format
 msgid "No remote tracking branch for %s from %s"
 msgstr "%s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1042 builtin/merge.c:1199
+#: builtin/merge.c:1057 builtin/merge.c:1214
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1110
+#: builtin/merge.c:1125
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1126 git-pull.sh:31
+#: builtin/merge.c:1141 git-pull.sh:31
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6073,11 +6375,11 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1129 git-pull.sh:34
+#: builtin/merge.c:1144 git-pull.sh:34
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: builtin/merge.c:1133
+#: builtin/merge.c:1148
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you can merge."
@@ -6085,79 +6387,100 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1136
+#: builtin/merge.c:1151
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1145
+#: builtin/merge.c:1160
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1150
+#: builtin/merge.c:1165
 msgid "You cannot combine --no-ff with --ff-only."
 msgstr "您不能将 --no-ff 与 --ff-only 同时使用。"
 
-#: builtin/merge.c:1157
+#: builtin/merge.c:1172
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1189
+#: builtin/merge.c:1204
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1192
+#: builtin/merge.c:1207
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1194
+#: builtin/merge.c:1209
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1310
+#: builtin/merge.c:1265
+#, c-format
+msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
+msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
+
+#: builtin/merge.c:1268
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
+msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
+
+#. 'N'
+#: builtin/merge.c:1271
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "提交 %s 没有一个 GPG 签名。"
+
+#: builtin/merge.c:1274
+#, c-format
+msgid "Commit %s has a good GPG signature by %s\n"
+msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
+
+#: builtin/merge.c:1358
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1349
+#: builtin/merge.c:1397
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1356
+#: builtin/merge.c:1404
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1388
+#: builtin/merge.c:1436
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1411 builtin/merge.c:1490
+#: builtin/merge.c:1459 builtin/merge.c:1538
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1415
+#: builtin/merge.c:1463
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1481
+#: builtin/merge.c:1529
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1483
+#: builtin/merge.c:1531
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1492
+#: builtin/merge.c:1540
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1504
+#: builtin/merge.c:1552
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -7172,11 +7495,15 @@ msgstr "清除本地删除的引用"
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:448
+#: builtin/push.c:440
+msgid "push missing but relevant tags"
+msgstr "推送缺失的有关的 tags"
+
+#: builtin/push.c:450
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:450
+#: builtin/push.c:452
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
@@ -7930,16 +8257,16 @@ msgstr ""
 "初次使用时执行 \"git rev-parse --parseopt -h\" 来获得更多信息。"
 
 #: builtin/revert.c:22
-msgid "git revert [options] <commit-ish>"
-msgstr "git revert [选项] <提交号>"
+msgid "git revert [options] <commit-ish>..."
+msgstr "git revert [选项] <提交号>..."
 
 #: builtin/revert.c:23
 msgid "git revert <subcommand>"
 msgstr "git revert <子命令>"
 
 #: builtin/revert.c:28
-msgid "git cherry-pick [options] <commit-ish>"
-msgstr "git cherry-pick [选项] <提交号>"
+msgid "git cherry-pick [options] <commit-ish>..."
+msgstr "git cherry-pick [选项] <提交号>..."
 
 #: builtin/revert.c:29
 msgid "git cherry-pick <subcommand>"
@@ -8089,31 +8416,31 @@ msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
 #: builtin/shortlog.c:13
-msgid "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>... ]"
-msgstr "git shortlog [-n] [-s] [-e] [-w] [版本选项] [--] [<提交号>... ]"
+msgid "git shortlog [<options>] [<revision range>] [[--] [<path>...]]"
+msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]"
 
-#: builtin/shortlog.c:133
+#: builtin/shortlog.c:131
 #, c-format
 msgid "Missing author: %s"
 msgstr "缺少作者:%s"
 
-#: builtin/shortlog.c:229
+#: builtin/shortlog.c:227
 msgid "sort output according to the number of commits per author"
 msgstr "根据每个作者的提交数量排序"
 
-#: builtin/shortlog.c:231
+#: builtin/shortlog.c:229
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "隐藏提交说明,只提供提交数量"
 
-#: builtin/shortlog.c:233
+#: builtin/shortlog.c:231
 msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:232
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:233
 msgid "Linewrap output"
 msgstr "折行输出"
 
@@ -8133,67 +8460,67 @@ msgstr ""
 msgid "git show-branch (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:650
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:652
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:658
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:660
+#: builtin/show-branch.c:659
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:661
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:664
+#: builtin/show-branch.c:663
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:666
+#: builtin/show-branch.c:665
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:667
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:669
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:672
+#: builtin/show-branch.c:671
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:673
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:676
+#: builtin/show-branch.c:675
 msgid "show commits where no parent comes before its children"
 msgstr "显示提交时以时间为序且父提交不能领先子提交"
 
-#: builtin/show-branch.c:678
+#: builtin/show-branch.c:677
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:679
+#: builtin/show-branch.c:678
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从 base 开始的 <n> 条最近的引用日志记录"
 
@@ -8650,8 +8977,13 @@ msgid "only useful for debugging"
 msgstr "只对调试有用"
 
 #: git.c:16
-msgid "See 'git help <command>' for more information on a specific command."
-msgstr "参见 'git help <command>' 以获得该特定命令的详细信息。"
+msgid ""
+"'git help -a' and 'git help -g' lists available subcommands and some\n"
+"concept guides. See 'git help <command>' or 'git help <concept>'\n"
+"to read about a specific subcommand or concept."
+msgstr ""
+"命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些指南。参见\n"
+"'git help <命令>' 或 'git help <指南>' 来查看给定的子命令帮助或指南。"
 
 #: parse-options.h:156
 msgid "no-op (backward compatibility)"
@@ -9010,16 +9342,16 @@ msgstr ""
 "然后需要提供我至少一个好版本和一个坏版本。\n"
 "(您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令来标识。)"
 
-#: git-bisect.sh:347 git-bisect.sh:474
+#: git-bisect.sh:363 git-bisect.sh:490
 msgid "We are not bisecting."
 msgstr "我们没有在二分查找。"
 
-#: git-bisect.sh:354
+#: git-bisect.sh:370
 #, sh-format
 msgid "'$invalid' is not a valid commit"
 msgstr "'$invalid' 不是一个有效的提交"
 
-#: git-bisect.sh:363
+#: git-bisect.sh:379
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
@@ -9028,25 +9360,25 @@ msgstr ""
 "不能检出原始 HEAD '$branch'。\n"
 "尝试 'git bisect reset <提交>'。"
 
-#: git-bisect.sh:390
+#: git-bisect.sh:406
 msgid "No logfile given"
 msgstr "未提供日志文件"
 
-#: git-bisect.sh:391
+#: git-bisect.sh:407
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "不能读取 $file 来重放"
 
-#: git-bisect.sh:408
+#: git-bisect.sh:424
 msgid "?? what are you talking about?"
 msgstr "?? 您在说什么?"
 
-#: git-bisect.sh:420
+#: git-bisect.sh:436
 #, sh-format
 msgid "running $command"
 msgstr "运行 $command"
 
-#: git-bisect.sh:427
+#: git-bisect.sh:443
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -9055,11 +9387,11 @@ msgstr ""
 "二分查找运行失败:\n"
 "命令 '$command' 的退出码 $res 小于 0 或大于等于 128"
 
-#: git-bisect.sh:453
+#: git-bisect.sh:469
 msgid "bisect run cannot continue any more"
 msgstr "二分查找不能继续运行"
 
-#: git-bisect.sh:459
+#: git-bisect.sh:475
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -9068,7 +9400,7 @@ msgstr ""
 "二分查找运行失败:\n"
 "'bisect_state $state' 退出码为 $res"
 
-#: git-bisect.sh:466
+#: git-bisect.sh:482
 msgid "bisect run success"
 msgstr "二分查找运行成功"
 
@@ -9086,7 +9418,7 @@ msgstr ""
 msgid "Pull is not possible because you have unmerged files."
 msgstr "Pull 不可用,因为您尚有未合并的文件。"
 
-#: git-pull.sh:197
+#: git-pull.sh:203
 msgid "updating an unborn branch with changes added to the index"
 msgstr "更新尚未诞生的分支,变更添加至索引"
 
@@ -9094,7 +9426,7 @@ msgstr "更新尚未诞生的分支,变更添加至索引"
 #. The working tree and the index file is still based on the
 #. $orig_head commit, but we are merging into $curr_head.
 #. First update the working tree to match $curr_head.
-#: git-pull.sh:229
+#: git-pull.sh:235
 #, sh-format
 msgid ""
 "Warning: fetch updated the current branch head.\n"
@@ -9104,11 +9436,11 @@ msgstr ""
 "警告:fetch 更新了当前的分支。您的工作区\n"
 "警告:从原提交 $orig_head 快进。"
 
-#: git-pull.sh:254
+#: git-pull.sh:260
 msgid "Cannot merge multiple branches into empty head"
 msgstr "无法将多个分支合并到空分支"
 
-#: git-pull.sh:258
+#: git-pull.sh:264
 msgid "Cannot rebase onto multiple branches"
 msgstr "无法变基到多个分支"
 
@@ -9362,37 +9694,37 @@ msgstr "未指定分支名"
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:90
+#: git-submodule.sh:91
 #, sh-format
 msgid "cannot strip one component off url '$remoteurl'"
 msgstr "无法从 url '$remoteurl' 剥离一个组件"
 
-#: git-submodule.sh:195
+#: git-submodule.sh:196
 #, sh-format
 msgid "No submodule mapping found in .gitmodules for path '$sm_path'"
 msgstr "未在 .gitmodules 中发现路径 '$sm_path' 的子模组映射"
 
-#: git-submodule.sh:238
+#: git-submodule.sh:239
 #, sh-format
 msgid "Clone of '$url' into submodule path '$sm_path' failed"
 msgstr "无法克隆 '$url' 到子模组路径 '$sm_path'"
 
-#: git-submodule.sh:250
+#: git-submodule.sh:251
 #, sh-format
 msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
 msgstr "Gitdir '$a' 在子模组路径 '$b' 之下或相反"
 
-#: git-submodule.sh:343
+#: git-submodule.sh:349
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "版本库URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:360
+#: git-submodule.sh:366
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:364
+#: git-submodule.sh:370
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -9403,189 +9735,278 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:382
+#: git-submodule.sh:388
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存版本库到索引"
 
-#: git-submodule.sh:384
+#: git-submodule.sh:390
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 版本库"
 
-#: git-submodule.sh:392
+#: git-submodule.sh:398
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程版本库:"
 
-#: git-submodule.sh:394
+#: git-submodule.sh:400
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from"
 msgstr "如果您想重用此本地 git 目录而不是重新克隆自"
 
-#: git-submodule.sh:396
+#: git-submodule.sh:402
 #, sh-format
 msgid ""
 "use the '--force' option. If the local git directory is not the correct repo"
 msgstr "使用 '--force' 参数。如果本地 git 目录不是正确的版本库"
 
-#: git-submodule.sh:397
+#: git-submodule.sh:403
 #, sh-format
 msgid ""
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr "或者您不确定其中含义使用 '--name' 参数选择另外一个名称。"
 
-#: git-submodule.sh:399
+#: git-submodule.sh:405
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:411
+#: git-submodule.sh:417
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:416
+#: git-submodule.sh:422
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:425
+#: git-submodule.sh:431
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:468
+#: git-submodule.sh:474
 #, sh-format
 msgid "Entering '$prefix$sm_path'"
 msgstr "正在进入 '$prefix$sm_path'"
 
-#: git-submodule.sh:482
+#: git-submodule.sh:488
 #, sh-format
 msgid "Stopping at '$sm_path'; script returned non-zero status."
 msgstr "停止于 '$sm_path',脚本返回非零值。"
 
-#: git-submodule.sh:526
+#: git-submodule.sh:532
 #, sh-format
 msgid "No url found for submodule path '$sm_path' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组路径 '$sm_path' 的 url"
 
-#: git-submodule.sh:535
+#: git-submodule.sh:541
 #, sh-format
 msgid "Failed to register url for submodule path '$sm_path'"
 msgstr "无法为子模组路径 '$sm_path' 注册 url"
 
-#: git-submodule.sh:537
+#: git-submodule.sh:543
 #, sh-format
 msgid "Submodule '$name' ($url) registered for path '$sm_path'"
 msgstr "子模组 '$name' ($url) 已为路径 '$sm_path' 注册"
 
-#: git-submodule.sh:545
+#: git-submodule.sh:551
 #, sh-format
 msgid "Failed to register update mode for submodule path '$sm_path'"
 msgstr "无法为子模组路径 '$sm_path' 注册更新模式"
 
-#: git-submodule.sh:649
+#: git-submodule.sh:588
+#, sh-format
+msgid "Use '.' if you really want to deinitialize all submodules"
+msgstr "使用 '.' 如果您真的想要对所有子模组取消初始化"
+
+#: git-submodule.sh:603
+#, sh-format
+msgid "Submodule work tree '$sm_path' contains a .git directory"
+msgstr "子模组工作区 '$sm_path' 包含一个 .git 目录"
+
+#: git-submodule.sh:604
+#, sh-format
+msgid ""
+"(use 'rm -rf' if you really want to remove it including all of its history)"
+msgstr "(使用 'rm -rf' 命令如果您真的想删除它及其全部历史)"
+
+#: git-submodule.sh:610
+#, sh-format
+msgid ""
+"Submodule work tree '$sm_path' contains local modifications; use '-f' to "
+"discard them"
+msgstr "子模组工作区 '$sm_path' 包含本地修改;使用 '-f' 丢弃它们"
+
+#: git-submodule.sh:613
+#, sh-format
+msgid "Cleared directory '$sm_path'"
+msgstr "已清除目录 '$sm_path'"
+
+#: git-submodule.sh:614
+#, sh-format
+msgid "Could not remove submodule work tree '$sm_path'"
+msgstr "无法移除子模组工作区 '$sm_path'"
+
+#: git-submodule.sh:617
+#, sh-format
+msgid "Could not create empty submodule directory '$sm_path'"
+msgstr "不能创建空的子模组目录 '$sm_path'"
+
+#: git-submodule.sh:626
+#, sh-format
+msgid "Submodule '$name' ($url) unregistered for path '$sm_path'"
+msgstr "子模组 '$name' ($url) 未对路径 '$sm_path' 注册"
+
+#: git-submodule.sh:731
 #, sh-format
 msgid ""
-"Submodule path '$sm_path' not initialized\n"
+"Submodule path '$prefix$sm_path' not initialized\n"
 "Maybe you want to use 'update --init'?"
 msgstr ""
-"子模组路径 '$sm_path' 没有初始化\n"
+"子模组路径 '$prefix$sm_path' 没有初始化\n"
 "也许您想用 'update --init'?"
 
-#: git-submodule.sh:662
+#: git-submodule.sh:744
 #, sh-format
-msgid "Unable to find current revision in submodule path '$sm_path'"
-msgstr "无法在子模组路径 '$sm_path' 中找到当前版本"
+msgid "Unable to find current revision in submodule path '$prefix$sm_path'"
+msgstr "无法在子模组路径 '$prefix$sm_path' 中找到当前版本"
 
-#: git-submodule.sh:671 git-submodule.sh:695
+#: git-submodule.sh:753
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:709
+#: git-submodule.sh:777
 #, sh-format
-msgid "Unable to rebase '$sha1' in submodule path '$sm_path'"
-msgstr "无法在子模组路径 '$sm_path' 中变基 '$sha1'"
+msgid "Unable to fetch in submodule path '$prefix$sm_path'"
+msgstr "无法在子模组路径 '$prefix$sm_path' 中获取"
 
-#: git-submodule.sh:710
+#: git-submodule.sh:791
 #, sh-format
-msgid "Submodule path '$sm_path': rebased into '$sha1'"
-msgstr "子模组路径 '$sm_path':变基至 '$sha1'"
+msgid "Unable to rebase '$sha1' in submodule path '$prefix$sm_path'"
+msgstr "无法在子模组路径 '$prefix$sm_path' 中变基 '$sha1'"
 
-#: git-submodule.sh:715
+#: git-submodule.sh:792
 #, sh-format
-msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
-msgstr "无法合并 '$sha1' 到子模组路径 '$sm_path' 中"
+msgid "Submodule path '$prefix$sm_path': rebased into '$sha1'"
+msgstr "子模组路径 '$prefix$sm_path':变基至 '$sha1'"
 
-#: git-submodule.sh:716
+#: git-submodule.sh:797
 #, sh-format
-msgid "Submodule path '$sm_path': merged in '$sha1'"
-msgstr "子模组路径 '$sm_path':已合并入 '$sha1'"
+msgid "Unable to merge '$sha1' in submodule path '$prefix$sm_path'"
+msgstr "无法合并 '$sha1' 到子模组路径 '$prefix$sm_path' 中"
 
-#: git-submodule.sh:721
+#: git-submodule.sh:798
 #, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$sm_path'"
-msgstr "无法在子模组路径 '$sm_path' 中检出 '$sha1'"
+msgid "Submodule path '$prefix$sm_path': merged in '$sha1'"
+msgstr "子模组路径 '$prefix$sm_path':已合并入 '$sha1'"
 
-#: git-submodule.sh:722
+#: git-submodule.sh:803
 #, sh-format
-msgid "Submodule path '$sm_path': checked out '$sha1'"
-msgstr "子模组路径 '$sm_path':检出 '$sha1'"
+msgid "Unable to checkout '$sha1' in submodule path '$prefix$sm_path'"
+msgstr "无法在子模组路径 '$prefix$sm_path' 中检出 '$sha1'"
 
-#: git-submodule.sh:744 git-submodule.sh:1066
+#: git-submodule.sh:804
 #, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr "无法递归进子模组路径 '$sm_path'"
+msgid "Submodule path '$prefix$sm_path': checked out '$sha1'"
+msgstr "子模组路径 '$prefix$sm_path':检出 '$sha1'"
 
-#: git-submodule.sh:852
+#: git-submodule.sh:831
+#, sh-format
+msgid "Failed to recurse into submodule path '$prefix$sm_path'"
+msgstr "无法递归进子模组路径 '$prefix$sm_path'"
+
+#: git-submodule.sh:939
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
 #. unexpected type
-#: git-submodule.sh:892
+#: git-submodule.sh:979
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:910
+#: git-submodule.sh:997
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_src"
 msgstr "  警告:$name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:913
+#: git-submodule.sh:1000
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_dst"
 msgstr "  警告:$name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:916
+#: git-submodule.sh:1003
 #, sh-format
 msgid "  Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:941
+#: git-submodule.sh:1028
 msgid "blob"
 msgstr "数据对象"
 
-#: git-submodule.sh:979
+#: git-submodule.sh:1066
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: git-submodule.sh:981
+#: git-submodule.sh:1068
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: git-submodule.sh:1129
+#: git-submodule.sh:1153
+#, sh-format
+msgid "Failed to recurse into submodule path '$sm_path'"
+msgstr "无法递归进子模组路径 '$sm_path'"
+
+#: git-submodule.sh:1216
 #, sh-format
 msgid "Synchronizing submodule url for '$prefix$sm_path'"
 msgstr "为 '$prefix$sm_path' 同步子模组 url"
 
+#~ msgid "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>... ]"
+#~ msgstr "git shortlog [-n] [-s] [-e] [-w] [版本选项] [--] [<提交号>... ]"
+
+#~ msgid "See 'git help <command>' for more information on a specific command."
+#~ msgstr "参见 'git help <command>' 以获得该特定命令的详细信息。"
+
+#~ msgid "BUG: impossible combination of %d and %p"
+#~ msgstr "BUG: 无法组合 %d 和 %p"
+
+#  译者:以下三条实际为一个段落
+#~ msgid "It took %.2f seconds to enumerate untracked files.  'status -uno'"
+#~ msgstr "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno'"
+
+#  译者:为对齐,下面两句内容有调整
+#~ msgid "may speed it up, but you have to be careful not to forget to add"
+#~ msgstr "也许能提高速度,但您需要小心不要忘了添加新文件"
+
+#~ msgid "new files yourself (see 'git help status')."
+#~ msgstr "(参见 'git help status')。"
+
+#, fuzzy
+#~ msgid "aaaSynchronizing submodule url for '$prefix$sm_path'"
+#~ msgstr "为 '$prefix$sm_path' 同步子模组 url"
+
+#~ msgid "use any ref in .git/refs"
+#~ msgstr "使用 .git/refs 里的任意引用"
+
+#~ msgid "use any tag in .git/refs/tags"
+#~ msgstr "使用 .git/refs/tags 里的任意 tag"
+
+#~ msgid "bad object %s"
+#~ msgstr "坏对象 %s"
+
+#~ msgid "bogus committer info %s"
+#~ msgstr "虚假的提交者信息 %s"
+
 #~ msgid "can't fdopen 'show' output fd"
 #~ msgstr "不能打开 'show' 输出文件句柄"