tag: generate useful reflog message
[gitweb.git] / po / zh_CN.po
index dc312227e051e2ad919437f474f0b3de69f419e2..c38326c6f106f65b6abd9ab7ff47f12c6dd0b432 100644 (file)
@@ -135,8 +135,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2016-08-27 23:21+0800\n"
-"PO-Revision-Date: 2016-09-05 23:36+0800\n"
+"POT-Creation-Date: 2016-11-25 22:50+0800\n"
+"PO-Revision-Date: 2016-11-25 22:54+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -216,7 +216,8 @@ msgid ""
 msgstr ""
 "注意:正在检出 '%s'。\n"
 "\n"
-"您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以通过另外\n"
+"您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以通过另"
+"外\n"
 "的检出分支操作丢弃在这个状态下所做的任何提交。\n"
 "\n"
 "如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在检出命令添加\n"
@@ -225,3874 +226,4355 @@ msgstr ""
 "  git checkout -b <new-branch-name>\n"
 "\n"
 
-#: archive.c:12
-msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr "git archive [<选项>] <树或提交> [<路径>...]"
-
-#: archive.c:13
-msgid "git archive --list"
-msgstr "git archive --list"
-
-#: archive.c:14
-msgid ""
-"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
-msgstr ""
-"git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
-
-#: archive.c:15
-msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr "git archive --remote <仓库> [--exec <命令>] --list"
+#: apply.c:57
+#, c-format
+msgid "unrecognized whitespace option '%s'"
+msgstr "未能识别的空白字符选项 '%s'"
 
-#: archive.c:344 builtin/add.c:139 builtin/add.c:435 builtin/rm.c:327
+#: apply.c:73
 #, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr "路径规格 '%s' 未匹配任何文件"
+msgid "unrecognized whitespace ignore option '%s'"
+msgstr "未能识别的空白字符忽略选项 '%s'"
 
-#: archive.c:429
-msgid "fmt"
-msgstr "格式"
+#: apply.c:125
+msgid "--reject and --3way cannot be used together."
+msgstr "--reject 和 --3say 不能同时使用。"
 
-#: archive.c:429
-msgid "archive format"
-msgstr "归档格式"
+#: apply.c:127
+msgid "--cached and --3way cannot be used together."
+msgstr "--cached 和 --3way 不能同时使用。"
 
-#: archive.c:430 builtin/log.c:1422
-msgid "prefix"
-msgstr "前缀"
+#: apply.c:130
+msgid "--3way outside a repository"
+msgstr "--3way 在一个仓库之外"
 
-#: archive.c:431
-msgid "prepend prefix to each pathname in the archive"
-msgstr "为归档中每个路径名加上前缀"
+#: apply.c:141
+msgid "--index outside a repository"
+msgstr "--index 在一个仓库之外"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2553
-#: builtin/blame.c:2554 builtin/config.c:59 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:722 builtin/hash-object.c:100
-#: builtin/ls-files.c:460 builtin/ls-files.c:463 builtin/notes.c:399
-#: builtin/notes.c:562 builtin/read-tree.c:109 parse-options.h:153
-msgid "file"
-msgstr "文件"
+#: apply.c:144
+msgid "--cached outside a repository"
+msgstr "--cached 在一个仓库之外"
 
-#: archive.c:433 builtin/archive.c:89
-msgid "write the archive to this file"
-msgstr "归档写入此文件"
+#: apply.c:845
+#, c-format
+msgid "Cannot prepare timestamp regexp %s"
+msgstr "无法准备时间戳正则表达式 %s"
 
-#: archive.c:435
-msgid "read .gitattributes in working directory"
-msgstr "读取工作区中的 .gitattributes"
+#: apply.c:854
+#, c-format
+msgid "regexec returned %d for input: %s"
+msgstr "regexec 返回 %d,输入为:%s"
 
-#: archive.c:436
-msgid "report archived files on stderr"
-msgstr "在标准错误上报告归档文件"
+#: apply.c:938
+#, c-format
+msgid "unable to find filename in patch at line %d"
+msgstr "不能在补丁的第 %d 行找到文件名"
 
-#: archive.c:437
-msgid "store only"
-msgstr "只存储"
+#: apply.c:977
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
+msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
 
-#: archive.c:438
-msgid "compress faster"
-msgstr "压缩速度更快"
+#: apply.c:983
+#, c-format
+msgid "git apply: bad git-diff - inconsistent new filename on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
 
-#: archive.c:446
-msgid "compress better"
-msgstr "压缩效果更好"
+#: apply.c:984
+#, c-format
+msgid "git apply: bad git-diff - inconsistent old filename on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
 
-#: archive.c:449
-msgid "list supported archive formats"
-msgstr "列出支持的归档格式"
+#: apply.c:990
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:82
-#: builtin/submodule--helper.c:832
-msgid "repo"
-msgstr "仓库"
+#: apply.c:1488
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recount:意外的行:%.*s"
 
-#: archive.c:452 builtin/archive.c:91
-msgid "retrieve the archive from remote repository <repo>"
-msgstr "从远程仓库(<仓库>)提取归档文件"
+#: apply.c:1557
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "第 %d 行的补丁片段没有头信息:%.*s"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:483
-msgid "command"
-msgstr "命令"
+#: apply.c:1577
+#, c-format
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
+msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
+msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
 
-#: archive.c:454 builtin/archive.c:93
-msgid "path to the remote git-upload-archive command"
-msgstr "远程 git-upload-archive 命令的路径"
+#: apply.c:1589
+#, c-format
+msgid "git diff header lacks filename information (line %d)"
+msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)"
 
-#: archive.c:461
-msgid "Unexpected option --remote"
-msgstr "æ\9cªç\9f¥å\8f\82æ\95° --remote"
+#: apply.c:1759
+msgid "new file depends on old contents"
+msgstr "æ\96°æ\96\87件ä¾\9dèµ\96æ\97§å\86\85容"
 
-#: archive.c:463
-msgid "Option --exec can only be used together with --remote"
-msgstr "选项 --exec 只能和 --remote 同时使用"
+#: apply.c:1761
+msgid "deleted file still has contents"
+msgstr "删除的文件仍有内容"
 
-#: archive.c:465
-msgid "Unexpected option --output"
-msgstr "未知参数 --output"
+#: apply.c:1795
+#, c-format
+msgid "corrupt patch at line %d"
+msgstr "补丁在第 %d 行损坏"
 
-#: archive.c:487
+#: apply.c:1832
 #, c-format
-msgid "Unknown archive format '%s'"
-msgstr "æ\9cªç\9f¥å½\92档格å¼\8f '%s'"
+msgid "new file %s depends on old contents"
+msgstr "æ\96°æ\96\87件 %s ä¾\9dèµ\96æ\97§å\86\85容"
 
-#: archive.c:494
+#: apply.c:1834
 #, c-format
-msgid "Argument not supported for format '%s': -%d"
-msgstr "å\8f\82æ\95°ä¸\8dæ\94¯æ\8c\81此格å¼\8f '%s'ï¼\9a-%d"
+msgid "deleted file %s still has contents"
+msgstr "å\88 é\99¤ç\9a\84æ\96\87件 %s ä»\8dæ\9c\89å\86\85容"
 
-#: attr.c:263
-msgid ""
-"Negative patterns are ignored in git attributes\n"
-"Use '\\!' for literal leading exclamation."
-msgstr ""
-"负值模版在 git attributes 中被忽略\n"
-"当字符串确实要以感叹号开始时,使用 '\\!'。"
+#: apply.c:1837
+#, c-format
+msgid "** warning: file %s becomes empty but is not deleted"
+msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: bisect.c:441
+#: apply.c:1984
 #, c-format
-msgid "Could not open file '%s'"
-msgstr "ä¸\8dè\83½æ\89\93å¼\80æ\96\87件 '%s'"
+msgid "corrupt binary patch at line %d: %.*s"
+msgstr "äº\8cè¿\9bå\88¶è¡¥ä¸\81å\9c¨ç¬¬ %d è¡\8cæ\8d\9få\9d\8fï¼\9a%.*s"
 
-#: bisect.c:446
+#: apply.c:2021
 #, c-format
-msgid "Badly quoted content in file '%s': %s"
-msgstr "æ\96\87件 '%s' å\8c\85å\90«é\94\99误ç\9a\84å¼\95ç\94¨æ ¼å¼\8fï¼\9a%s"
+msgid "unrecognized binary patch at line %d"
+msgstr "æ\9cªè\83½è¯\86å\88«ç\9a\84äº\8cè¿\9bå\88¶è¡¥ä¸\81ä½\8däº\8e第 %d è¡\8c"
 
-#: bisect.c:655
+#: apply.c:2182
 #, c-format
-msgid "We cannot bisect more!\n"
-msgstr "我们无法进行更多的二分查找!\n"
+msgid "patch with only garbage at line %d"
+msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: bisect.c:708
+#: apply.c:2274
 #, c-format
-msgid "Not a valid commit name %s"
-msgstr "不是一个有效的提交名 %s"
+msgid "unable to read symlink %s"
+msgstr "无法读取符号链接 %s"
 
-#: bisect.c:732
+#: apply.c:2278
 #, c-format
-msgid ""
-"The merge base %s is bad.\n"
-"This means the bug has been fixed between %s and [%s].\n"
-msgstr ""
-"合并基线 %s 是坏的。\n"
-"这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
+msgid "unable to open or read %s"
+msgstr "不能打开或读取 %s"
 
-#: bisect.c:737
+#: apply.c:2931
 #, c-format
-msgid ""
-"The merge base %s is new.\n"
-"The property has changed between %s and [%s].\n"
-msgstr ""
-"合并基线 %s 是新的。\n"
-"介于 %s 和 [%s] 之间的属性已经被修改。\n"
+msgid "invalid start of line: '%c'"
+msgstr "无效的行首字符:'%c'"
 
-#: bisect.c:742
+#: apply.c:3050
 #, c-format
-msgid ""
-"The merge base %s is %s.\n"
-"This means the first '%s' commit is between %s and [%s].\n"
-msgstr ""
-"合并基线 %s 是 %s。\n"
-"这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
+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 行)"
 
-#: bisect.c:750
+#: apply.c:3062
 #, c-format
-msgid ""
-"Some %s revs are not ancestor of the %s rev.\n"
-"git bisect cannot work properly in this case.\n"
-"Maybe you mistook %s and %s revs?\n"
-msgstr ""
-"一些 %s 版本不是 %s 版本的祖先。\n"
-"这种情况下 git 二分查找无法正常工作。\n"
-"您可能弄错了 %s 和 %s 版本?\n"
+msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
+msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: bisect.c:763
+#: apply.c:3068
 #, c-format
 msgid ""
-"the merge base between %s and [%s] must be skipped.\n"
-"So we cannot be sure the first %s commit is between %s and %s.\n"
-"We continue anyway."
+"while searching for:\n"
+"%.*s"
 msgstr ""
-"介于 %s 和 [%s] 的合并基线一定被忽略了。\n"
-"所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
-"我们仍旧继续。"
+"当查询:\n"
+"%.*s"
 
-#: bisect.c:798
+#: apply.c:3090
 #, c-format
-msgid "Bisecting: a merge base must be tested\n"
-msgstr "二分查找中:合并基线必须是经过测试的\n"
+msgid "missing binary patch data for '%s'"
+msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: bisect.c:849
+#: apply.c:3098
 #, c-format
-msgid "a %s revision is needed"
-msgstr "需要一个 %s 版本"
+msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
+msgstr "不能反向应用一个没有至 '%s' 的反向数据块的二进制补丁"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
+#: apply.c:3144
 #, c-format
-msgid "could not create file '%s'"
-msgstr "ä¸\8dè\83½å\88\9b建æ\96\87件 '%s'"
+msgid "cannot apply binary patch to '%s' without full index line"
+msgstr "ä¸\8dè\83½å\9c¨ '%s' ä¸\8aåº\94ç\94¨æ²¡æ\9c\89å®\8cæ\95´ç´¢å¼\95è¡\8cç\9a\84äº\8cè¿\9bå\88¶è¡¥ä¸\81"
 
-#: bisect.c:917
+#: apply.c:3154
 #, c-format
-msgid "could not read file '%s'"
-msgstr "不能读取文件 '%s'"
+msgid ""
+"the patch applies to '%s' (%s), which does not match the current contents."
+msgstr "补丁引用到 '%s' (%s),但是和当前内容不匹配。"
 
-#: bisect.c:947
-msgid "reading bisect refs failed"
-msgstr "读取二分查找引用失败"
+#: apply.c:3162
+#, c-format
+msgid "the patch applies to an empty '%s' but it is not empty"
+msgstr "补丁应用到空文件 '%s',但是它并不空"
 
-#: bisect.c:967
+#: apply.c:3180
 #, c-format
-msgid "%s was both %s and %s\n"
-msgstr "%s 同时为 %s 和 %s\n"
+msgid "the necessary postimage %s for '%s' cannot be read"
+msgstr "无法读取 '%2$s' 必须的目标文件 %1$s"
 
-#: bisect.c:975
+#: apply.c:3193
 #, c-format
-msgid ""
-"No testable commit found.\n"
-"Maybe you started with bad path parameters?\n"
-msgstr ""
-"没有发现可测试的提交。\n"
-"可能您在运行时使用了错误的路径参数?\n"
+msgid "binary patch does not apply to '%s'"
+msgstr "二进制补丁未应用到 '%s'"
 
-#: bisect.c:994
+#: apply.c:3199
 #, c-format
-msgid "(roughly %d step)"
-msgid_plural "(roughly %d steps)"
-msgstr[0] "(大概 %d 步)"
-msgstr[1] "(大概 %d 步)"
+msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
+msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#. TRANSLATORS: the last %s will be replaced with
-#. "(roughly %d steps)" translation
-#: bisect.c:998
-#, c-format
-msgid "Bisecting: %d revision left to test after this %s\n"
-msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
-msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
-
-#: branch.c:53
+#: apply.c:3220
 #, c-format
-msgid ""
-"\n"
-"After fixing the error cause you may try to fix up\n"
-"the remote tracking information by invoking\n"
-"\"git branch --set-upstream-to=%s%s%s\"."
-msgstr ""
-"\n"
-"在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
-"\"git branch --set-upstream-to=%s%s%s\" 。"
+msgid "patch failed: %s:%ld"
+msgstr "打补丁失败:%s:%ld"
 
-#: branch.c:67
+#: apply.c:3342
 #, c-format
-msgid "Not setting branch %s as its own upstream."
-msgstr "未设置分支 %s 作为它自己的上游。"
+msgid "cannot checkout %s"
+msgstr "不能检出 %s"
 
-#: branch.c:93
+#: apply.c:3390 apply.c:3401 apply.c:3447 setup.c:248
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s by rebasing."
-msgstr "分支 %1$s 设置为使用变基来跟踪来自 %3$s 的远程分支 %2$s。"
+msgid "failed to read %s"
+msgstr "无法读取 %s"
 
-#: branch.c:94
+#: apply.c:3398
 #, c-format
-msgid "Branch %s set up to track remote branch %s from %s."
-msgstr "分支 %1$s 设置为跟踪来自 %3$s 的远程分支 %2$s。"
+msgid "reading from '%s' beyond a symbolic link"
+msgstr "读取位于符号链接中的 '%s'"
 
-#: branch.c:98
+#: apply.c:3427 apply.c:3667
 #, c-format
-msgid "Branch %s set up to track local branch %s by rebasing."
-msgstr "分支 %s 设置为使用变基来跟踪本地分支 %s。"
+msgid "path %s has been renamed/deleted"
+msgstr "路径 %s 已经被重命名/删除"
 
-#: branch.c:99
+#: apply.c:3510 apply.c:3681
 #, c-format
-msgid "Branch %s set up to track local branch %s."
-msgstr "分支 %s 设置为跟踪本地分支 %s。"
+msgid "%s: does not exist in index"
+msgstr "%s:不存在于索引中"
 
-#: branch.c:104
+#: apply.c:3519 apply.c:3689
 #, c-format
-msgid "Branch %s set up to track remote ref %s by rebasing."
-msgstr "分支 %s 设置为使用变基来跟踪远程引用 %s。"
+msgid "%s: does not match index"
+msgstr "%s:和索引不匹配"
 
-#: branch.c:105
-#, c-format
-msgid "Branch %s set up to track remote ref %s."
-msgstr "分支 %s 设置为跟踪远程引用 %s。"
+#: apply.c:3554
+msgid "repository lacks the necessary blob to fall back on 3-way merge."
+msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: branch.c:109
+#: apply.c:3557
 #, c-format
-msgid "Branch %s set up to track local ref %s by rebasing."
-msgstr "å\88\86æ\94¯ %s è®¾ç½®ä¸ºä½¿ç\94¨å\8f\98å\9fºæ\9d¥è·\9f踪æ\9c¬å\9c°å¼\95ç\94¨ %sã\80\82"
+msgid "Falling back to three-way merge...\n"
+msgstr "å\9b\9eè\90½å\88°ä¸\89æ\96¹å\90\88并...\n"
 
-#: branch.c:110
+#: apply.c:3573 apply.c:3577
 #, c-format
-msgid "Branch %s set up to track local ref %s."
-msgstr "分支 %s 设置为跟踪本地引用 %s。"
-
-#: branch.c:119
-msgid "Unable to write upstream branch configuration"
-msgstr "无法写入上游分支配置"
+msgid "cannot read the current contents of '%s'"
+msgstr "无法读取 '%s' 的当前内容"
 
-#: branch.c:156
+#: apply.c:3589
 #, c-format
-msgid "Not tracking: ambiguous information for ref %s"
-msgstr "æ\9cªè·\9f踪ï¼\9aå¼\95ç\94¨ %s æ\9c\89æ­§ä¹\89"
+msgid "Failed to fall back on three-way merge...\n"
+msgstr "æ\97 æ³\95å\9b\9eè\90½å\88°ä¸\89æ\96¹å\90\88并...\n"
 
-#: branch.c:185
+#: apply.c:3603
 #, c-format
-msgid "'%s' is not a valid branch name."
-msgstr "'%s' 不是一个有效的分支名称。"
+msgid "Applied patch to '%s' with conflicts.\n"
+msgstr "应用补丁到 '%s' 存在冲突。\n"
 
-#: branch.c:190
+#: apply.c:3608
 #, c-format
-msgid "A branch named '%s' already exists."
-msgstr "一个分支名 '%s' 已经存在。"
+msgid "Applied patch to '%s' cleanly.\n"
+msgstr "成功应用补丁到 '%s'。\n"
 
-#: branch.c:198
-msgid "Cannot force update the current branch."
-msgstr "无法强制更新当前分支。"
+#: apply.c:3634
+msgid "removal patch leaves file contents"
+msgstr "移除补丁仍留下了文件内容"
 
-#: branch.c:218
+#: apply.c:3706
 #, c-format
-msgid "Cannot setup tracking information; starting point '%s' is not a branch."
-msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
+msgid "%s: wrong type"
+msgstr "%s:错误类型"
 
-#: branch.c:220
+#: apply.c:3708
 #, c-format
-msgid "the requested upstream branch '%s' does not exist"
-msgstr "请求的上游分支 '%s' 不存在"
-
-#: branch.c:222
-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\" 推送分支并配置和上游的关联。"
+msgid "%s has type %o, expected %o"
+msgstr "%s 的类型是 %o,应为 %o"
 
-#: branch.c:266
+#: apply.c:3859 apply.c:3861
 #, c-format
-msgid "Not a valid object name: '%s'."
-msgstr "不是一个有效的对象名:'%s'。"
+msgid "invalid path '%s'"
+msgstr "无效路径 '%s'"
 
-#: branch.c:286
+#: apply.c:3917
 #, c-format
-msgid "Ambiguous object name: '%s'."
-msgstr "歧义的对象名:'%s'。"
+msgid "%s: already exists in index"
+msgstr "%s:已经存在于索引中"
 
-#: branch.c:291
+#: apply.c:3920
 #, c-format
-msgid "Not a valid branch point: '%s'."
-msgstr "无效的分支点:'%s'。"
+msgid "%s: already exists in working directory"
+msgstr "%s:已经存在于工作区中"
 
-#: branch.c:345
+#: apply.c:3940
 #, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr "'%s' 已经检出到 '%s'"
+msgid "new mode (%o) of %s does not match old mode (%o)"
+msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: branch.c:364
+#: apply.c:3945
 #, c-format
-msgid "HEAD of working tree %s is not updated"
-msgstr "工作区 %s 的 HEAD 指向没有被更新"
+msgid "new mode (%o) of %s does not match old mode (%o) of %s"
+msgstr "%2$s 的新模式(%1$o)和 %4$s 的旧模式(%3$o)不匹配"
 
-#: bundle.c:34
+#: apply.c:3965
 #, c-format
-msgid "'%s' does not look like a v2 bundle file"
-msgstr "'%s' 不像是一个 v2 版本的包文件"
+msgid "affected file '%s' is beyond a symbolic link"
+msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: bundle.c:61
+#: apply.c:3969
 #, c-format
-msgid "unrecognized header: %s%s (%d)"
-msgstr "未能识别的包头:%s%s (%d)"
+msgid "%s: patch does not apply"
+msgstr "%s:补丁未应用"
 
-#: bundle.c:87 builtin/commit.c:778
+#: apply.c:3984
 #, c-format
-msgid "could not open '%s'"
-msgstr "不能打开 '%s'"
-
-#: bundle.c:139
-msgid "Repository lacks these prerequisite commits:"
-msgstr "仓库中缺少这些必备的提交:"
+msgid "Checking patch %s..."
+msgstr "检查补丁 %s..."
 
-#: bundle.c:163 ref-filter.c:1462 sequencer.c:630 sequencer.c:1085
-#: builtin/blame.c:2763 builtin/commit.c:1057 builtin/log.c:348
-#: builtin/log.c:890 builtin/log.c:1336 builtin/log.c:1659 builtin/log.c:1901
-#: builtin/merge.c:356 builtin/shortlog.c:170
-msgid "revision walk setup failed"
-msgstr "版本遍历设置失败"
+#: apply.c:4075
+#, c-format
+msgid "sha1 information is lacking or useless for submodule %s"
+msgstr "子模组 %s 的 sha1 信息缺失或无效"
 
-#: bundle.c:185
+#: apply.c:4082
 #, c-format
-msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %d refs:"
-msgstr[0] "这个包中含有这个引用:"
-msgstr[1] "这个包中含有 %d 个引用:"
+msgid "mode change for %s, which is not in current HEAD"
+msgstr "%s 的属性改变,但它不再当前 HEAD 中"
 
-#: bundle.c:192
-msgid "The bundle records a complete history."
-msgstr "这个包记录一个完整历史。"
+#: apply.c:4085
+#, c-format
+msgid "sha1 information is lacking or useless (%s)."
+msgstr "sha1 信息缺失或无效(%s)。"
 
-#: bundle.c:194
+#: apply.c:4090 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
-msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %d refs:"
-msgstr[0] "这个包需要这个引用:"
-msgstr[1] "这个包需要 %d 个引用:"
+msgid "make_cache_entry failed for path '%s'"
+msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: bundle.c:253
-msgid "Could not spawn pack-objects"
-msgstr "不能生成 pack-objects 进程"
+#: apply.c:4094
+#, c-format
+msgid "could not add %s to temporary index"
+msgstr "不能在临时索引中添加 %s"
 
-#: bundle.c:264
-msgid "pack-objects died"
-msgstr "pack-objects 终止"
+#: apply.c:4104
+#, c-format
+msgid "could not write temporary index to %s"
+msgstr "不能把临时索引写入到 %s"
 
-#: bundle.c:304
-msgid "rev-list died"
-msgstr "rev-list 终止"
+#: apply.c:4242
+#, c-format
+msgid "unable to remove %s from index"
+msgstr "不能从索引中移除 %s"
 
-#: bundle.c:353
+#: apply.c:4277
 #, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr "å¼\95ç\94¨ '%s' è¢« rev-list é\80\89项æ\8e\92é\99¤"
+msgid "corrupt patch for submodule %s"
+msgstr "å­\90模ç»\84 %s æ\8d\9få\9d\8fç\9a\84è¡¥ä¸\81"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1565 builtin/shortlog.c:273
+#: apply.c:4283
 #, c-format
-msgid "unrecognized argument: %s"
-msgstr "未能识别的参数:%s"
+msgid "unable to stat newly created file '%s'"
+msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: bundle.c:451
-msgid "Refusing to create empty bundle."
-msgstr "不能创建空包。"
+#: apply.c:4291
+#, c-format
+msgid "unable to create backing store for newly created file %s"
+msgstr "不能为新建文件 %s 创建后端存储"
 
-#: bundle.c:463
+#: apply.c:4297 apply.c:4441
 #, c-format
-msgid "cannot create '%s'"
-msgstr "不能创建 '%s'"
+msgid "unable to add cache entry for %s"
+msgstr "无法为 %s 添加缓存条目"
 
-#: bundle.c:491
-msgid "index-pack died"
-msgstr "index-pack 终止"
+#: apply.c:4338
+#, c-format
+msgid "failed to write to '%s'"
+msgstr "无法写入 '%s'"
 
-#: color.c:290
+#: apply.c:4342
 #, c-format
-msgid "invalid color value: %.*s"
-msgstr "无效的颜色值:%.*s"
+msgid "closing file '%s'"
+msgstr "关闭文件 '%s'"
 
-#: commit.c:40 builtin/am.c:433 builtin/am.c:469 builtin/am.c:1505
-#: builtin/am.c:2119
+#: apply.c:4412
 #, c-format
-msgid "could not parse %s"
-msgstr "不能解析 %s"
+msgid "unable to write file '%s' mode %o"
+msgstr "不能写文件 '%s' 权限 %o"
 
-#: commit.c:42
+#: apply.c:4510
 #, c-format
-msgid "%s %s is not a commit!"
-msgstr "%s %s 不是一个提交!"
+msgid "Applied patch %s cleanly."
+msgstr "成功应用补丁 %s。"
 
-#: compat/obstack.c:406 compat/obstack.c:408
-msgid "memory exhausted"
-msgstr "内存耗尽"
+#: apply.c:4518
+msgid "internal error"
+msgstr "内部错误"
 
-#: config.c:516
+#: apply.c:4521
 #, c-format
-msgid "bad config line %d in blob %s"
-msgstr "数据对象 %2$s 中错误的配置行 %1$d"
+msgid "Applying patch %%s with %d reject..."
+msgid_plural "Applying patch %%s with %d rejects..."
+msgstr[0] "应用 %%s 个补丁,其中 %d 个被拒绝..."
+msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 
-#: config.c:520
+#: apply.c:4532
 #, c-format
-msgid "bad config line %d in file %s"
-msgstr "æ\96\87件 %2$s ä¸­é\94\99误ç\9a\84é\85\8dç½®è¡\8c %1$d"
+msgid "truncating .rej filename to %.*s.rej"
+msgstr "æ\88ªç\9f­ .rej æ\96\87件å\90\8d为 %.*s.rej"
 
-#: config.c:524
+#: apply.c:4540 builtin/fetch.c:740 builtin/fetch.c:989
 #, c-format
-msgid "bad config line %d in standard input"
-msgstr "标准输入中错误的配置行 %d"
+msgid "cannot open %s"
+msgstr "不能打开 %s"
 
-#: config.c:528
+#: apply.c:4554
 #, c-format
-msgid "bad config line %d in submodule-blob %s"
-msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
+msgid "Hunk #%d applied cleanly."
+msgstr "第 #%d 个片段成功应用。"
 
-#: config.c:532
+#: apply.c:4558
 #, c-format
-msgid "bad config line %d in command line %s"
-msgstr "命令行 %2$s 中错误的配置行 %1$d"
+msgid "Rejected hunk #%d."
+msgstr "拒绝第 #%d 个片段。"
 
-#: config.c:536
+#: apply.c:4668
 #, c-format
-msgid "bad config line %d in %s"
-msgstr "在 %2$s 中错误的配置行 %1$d"
+msgid "Skipped patch '%s'."
+msgstr "略过补丁 '%s'。"
 
-#: config.c:655
-msgid "out of range"
-msgstr "超出范围"
+#: apply.c:4676
+msgid "unrecognized input"
+msgstr "未能识别的输入"
 
-#: config.c:655
-msgid "invalid unit"
-msgstr "æ\97 æ\95\88ç\9a\84å\8d\95ä½\8d"
+#: apply.c:4695
+msgid "unable to read index file"
+msgstr "æ\97 æ³\95读å\8f\96ç´¢å¼\95æ\96\87件"
 
-#: config.c:661
+#: apply.c:4833
 #, c-format
-msgid "bad numeric config value '%s' for '%s': %s"
-msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
+msgid "can't open patch '%s': %s"
+msgstr "不能打开补丁 '%s':%s"
 
-#: config.c:666
+#: apply.c:4858
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
-msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
+msgid "squelched %d whitespace error"
+msgid_plural "squelched %d whitespace errors"
+msgstr[0] "抑制下仍有 %d 个空白字符误用"
+msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: config.c:669
+#: apply.c:4864 apply.c:4879
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in file %s: %s"
-msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
+msgid "%d line adds whitespace errors."
+msgid_plural "%d lines add whitespace errors."
+msgstr[0] "%d 行有空白字符误用。"
+msgstr[1] "%d 行有空白字符误用。"
 
-#: config.c:672
+#: apply.c:4872
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in standard input: %s"
-msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
+msgid "%d line applied after fixing whitespace errors."
+msgid_plural "%d lines applied after fixing whitespace errors."
+msgstr[0] "修复空白错误后,应用了 %d 行。"
+msgstr[1] "修复空白错误后,应用了 %d 行。"
 
-#: config.c:675
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
-msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
+#: apply.c:4888 builtin/add.c:463 builtin/mv.c:286 builtin/rm.c:431
+msgid "Unable to write new index file"
+msgstr "无法写入新索引文件"
 
-#: config.c:678
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
+#: apply.c:4919 apply.c:4922 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
+#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:407
+#: builtin/submodule--helper.c:589 builtin/submodule--helper.c:592
+#: builtin/submodule--helper.c:944 builtin/submodule--helper.c:947
+msgid "path"
+msgstr "路径"
 
-#: config.c:681
-#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
+#: apply.c:4920
+msgid "don't apply changes matching the given path"
+msgstr "不要应用与给出路径向匹配的变更"
 
-#: config.c:768
-#, c-format
-msgid "failed to expand user dir in: '%s'"
-msgstr "无法扩展 '%s' 中的用户目录"
+#: apply.c:4923
+msgid "apply changes matching the given path"
+msgstr "应用与给出路径向匹配的变更"
 
-#: config.c:849 config.c:860
-#, c-format
-msgid "bad zlib compression level %d"
-msgstr "错误的 zlib 压缩级别 %d"
+#: apply.c:4925 builtin/am.c:2286
+msgid "num"
+msgstr "数字"
 
-#: config.c:978
-#, c-format
-msgid "invalid mode for object creation: %s"
-msgstr "无效的对象创建模式:%s"
+#: apply.c:4926
+msgid "remove <num> leading slashes from traditional diff paths"
+msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: config.c:1312
-msgid "unable to parse command-line config"
-msgstr "无法解析命令行中的配置"
+#: apply.c:4929
+msgid "ignore additions made by the patch"
+msgstr "忽略补丁中的添加的文件"
 
-#: config.c:1362
-msgid "unknown error occurred while reading the configuration files"
-msgstr "在读取配置文件时遇到未知错误"
+#: apply.c:4931
+msgid "instead of applying the patch, output diffstat for the input"
+msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: config.c:1716
-#, c-format
-msgid "unable to parse '%s' from command-line config"
-msgstr "无法解析命令行配置中的 '%s'"
+#: apply.c:4935
+msgid "show number of added and deleted lines in decimal notation"
+msgstr "以十进制数显示添加和删除的行数"
 
-#: config.c:1718
-#, c-format
-msgid "bad config variable '%s' in file '%s' at line %d"
-msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
+#: apply.c:4937
+msgid "instead of applying the patch, output a summary for the input"
+msgstr "不应用补丁,而是显示输入的概要"
 
-#: config.c:1777
-#, c-format
-msgid "%s has multiple values"
-msgstr "%s 有多个取值"
+#: apply.c:4939
+msgid "instead of applying the patch, see if the patch is applicable"
+msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: config.c:2311
-#, c-format
-msgid "could not set '%s' to '%s'"
-msgstr "不能设置 '%s' 为 '%s'"
+#: apply.c:4941
+msgid "make sure the patch is applicable to the current index"
+msgstr "确认补丁可以应用到当前索引"
 
-#: config.c:2313
-#, c-format
-msgid "could not unset '%s'"
-msgstr "不能取消设置 '%s'"
+#: apply.c:4943
+msgid "apply a patch without touching the working tree"
+msgstr "应用补丁而不修改工作区"
 
-#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
-msgid "Checking connectivity"
-msgstr "æ£\80æ\9f¥è¿\9eæ\8e¥ä¸­"
+#: apply.c:4945
+msgid "accept a patch that touches outside the working area"
+msgstr "æ\8e¥å\8f\97ä¿®æ\94¹å·¥ä½\9cå\8cºä¹\8bå¤\96æ\96\87件ç\9a\84è¡¥ä¸\81"
 
-#: connected.c:74
-msgid "Could not run 'git rev-list'"
-msgstr "不能执行 'git rev-list'"
+#: apply.c:4947
+msgid "also apply the patch (use with --stat/--summary/--check)"
+msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: connected.c:94
-msgid "failed write to rev-list"
-msgstr "无法写入 rev-list"
+#: apply.c:4949
+msgid "attempt three-way merge if a patch does not apply"
+msgstr "如果一个补丁不能应用则尝试三方合并"
 
-#: connected.c:101
-msgid "failed to close rev-list's stdin"
-msgstr "无法关闭 rev-list 的标准输入"
+#: apply.c:4951
+msgid "build a temporary index based on embedded index information"
+msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: date.c:97
-msgid "in the future"
-msgstr "在将来"
+#: apply.c:4954 builtin/checkout-index.c:169 builtin/ls-files.c:505
+msgid "paths are separated with NUL character"
+msgstr "路径以 NUL 字符分隔"
 
-#: date.c:103
-#, c-format
-msgid "%lu second ago"
-msgid_plural "%lu seconds ago"
-msgstr[0] "%lu 秒钟前"
-msgstr[1] "%lu 秒钟前"
+#: apply.c:4956
+msgid "ensure at least <n> lines of context match"
+msgstr "确保至少匹配 <n> 行上下文"
 
-#: date.c:110
-#, c-format
-msgid "%lu minute ago"
-msgid_plural "%lu minutes ago"
-msgstr[0] "%lu 分钟前"
-msgstr[1] "%lu 分钟前"
+#: apply.c:4957 builtin/am.c:2265
+msgid "action"
+msgstr "动作"
 
-#: date.c:117
-#, c-format
-msgid "%lu hour ago"
-msgid_plural "%lu hours ago"
-msgstr[0] "%lu 小时前"
-msgstr[1] "%lu 小时前"
+#: apply.c:4958
+msgid "detect new or modified lines that have whitespace errors"
+msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: date.c:124
-#, c-format
-msgid "%lu day ago"
-msgid_plural "%lu days ago"
-msgstr[0] "%lu 天前"
-msgstr[1] "%lu 天前"
+#: apply.c:4961 apply.c:4964
+msgid "ignore changes in whitespace when finding context"
+msgstr "查找上下文时忽略空白字符的变更"
 
-#: date.c:130
-#, c-format
-msgid "%lu week ago"
-msgid_plural "%lu weeks ago"
-msgstr[0] "%lu 周前"
-msgstr[1] "%lu 周前"
+#: apply.c:4967
+msgid "apply the patch in reverse"
+msgstr "反向应用补丁"
 
-#: date.c:137
-#, c-format
-msgid "%lu month ago"
-msgid_plural "%lu months ago"
-msgstr[0] "%lu 个月前"
-msgstr[1] "%lu 个月前"
+#: apply.c:4969
+msgid "don't expect at least one line of context"
+msgstr "无需至少一行上下文"
 
-#: date.c:148
-#, c-format
-msgid "%lu year"
-msgid_plural "%lu years"
-msgstr[0] "%lu 年"
-msgstr[1] "%lu 年"
+#: apply.c:4971
+msgid "leave the rejected hunks in corresponding *.rej files"
+msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#. TRANSLATORS: "%s" is "<n> years"
-#: date.c:151
-#, c-format
-msgid "%s, %lu month ago"
-msgid_plural "%s, %lu months ago"
-msgstr[0] "%s %lu 个月前"
-msgstr[1] "%s %lu 个月前"
+#: apply.c:4973
+msgid "allow overlapping hunks"
+msgstr "允许重叠的补丁片段"
 
-#: date.c:156 date.c:161
-#, c-format
-msgid "%lu year ago"
-msgid_plural "%lu years ago"
-msgstr[0] "%lu 年前"
-msgstr[1] "%lu 年前"
+#: apply.c:4974 builtin/add.c:267 builtin/check-ignore.c:19
+#: builtin/commit.c:1339 builtin/count-objects.c:94 builtin/fsck.c:593
+#: builtin/log.c:1860 builtin/mv.c:110 builtin/read-tree.c:114
+msgid "be verbose"
+msgstr "冗长输出"
 
-#: diffcore-order.c:24
-#, c-format
-msgid "failed to read orderfile '%s'"
-msgstr "无法读取排序文件 '%s'"
+#: apply.c:4976
+msgid "tolerate incorrectly detected missing new-line at the end of file"
+msgstr "允许不正确的文件末尾换行符"
 
-#: diffcore-rename.c:540
-msgid "Performing inexact rename detection"
-msgstr "正在进行非精确的重命名检测"
+#: apply.c:4979
+msgid "do not trust the line counts in the hunk headers"
+msgstr "不信任补丁片段的头信息中的行号"
 
-#  译者:注意保持前导空格
-#: diff.c:116
-#, c-format
-msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
-msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
+#: apply.c:4981 builtin/am.c:2274
+msgid "root"
+msgstr "根目录"
 
-#  译者:注意保持前导空格
-#: diff.c:121
-#, c-format
-msgid "  Unknown dirstat parameter '%s'\n"
-msgstr "  未知的 dirstat 参数 '%s'\n"
+#: apply.c:4982
+msgid "prepend <root> to all filenames"
+msgstr "为所有文件名前添加 <根目录>"
 
-#: diff.c:225
-#, c-format
-msgid "Unknown value for 'diff.submodule' config variable: '%s'"
-msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
+#: archive.c:12
+msgid "git archive [<options>] <tree-ish> [<path>...]"
+msgstr "git archive [<选项>] <树或提交> [<路径>...]"
 
-#: diff.c:277
-#, c-format
+#: archive.c:13
+msgid "git archive --list"
+msgstr "git archive --list"
+
+#: archive.c:14
 msgid ""
-"Found errors in 'diff.dirstat' config variable:\n"
-"%s"
+"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
-"发现配置变量 'diff.dirstat' 中的错误:\n"
-"%s"
-
-#: diff.c:3017
-#, c-format
-msgid "external diff died, stopping at %s"
-msgstr "外部 diff 退出,停止在 %s"
+"git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
 
-#: diff.c:3415
-msgid "--follow requires exactly one pathspec"
-msgstr "--follow 明确要求只跟一个路径规格"
+#: archive.c:15
+msgid "git archive --remote <repo> [--exec <cmd>] --list"
+msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: diff.c:3578
+#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:327
 #, c-format
-msgid ""
-"Failed to parse --dirstat/-X option parameter:\n"
-"%s"
-msgstr ""
-"无法解析 --dirstat/-X 选项的参数:\n"
-"%s"
+msgid "pathspec '%s' did not match any files"
+msgstr "路径规格 '%s' 未匹配任何文件"
 
-#: diff.c:3592
-#, c-format
-msgid "Failed to parse --submodule option parameter: '%s'"
-msgstr "无法解析 --submodule 选项的参数:'%s'"
+#: archive.c:429
+msgid "fmt"
+msgstr "格式"
 
-#: dir.c:1823
-msgid "failed to get kernel name and information"
-msgstr "无法获得内核名称和信息"
+#: archive.c:429
+msgid "archive format"
+msgstr "归档格式"
 
-#: dir.c:1942
-msgid "Untracked cache is disabled on this system or location."
-msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
+#: archive.c:430 builtin/log.c:1429
+msgid "prefix"
+msgstr "前缀"
 
-#: gpg-interface.c:178
-msgid "gpg failed to sign the data"
-msgstr "gpg 无法为数据签名"
+#: archive.c:431
+msgid "prepend prefix to each pathname in the archive"
+msgstr "为归档中每个路径名加上前缀"
 
-#: gpg-interface.c:208
-msgid "could not create temporary file"
-msgstr "不能创建临时文件"
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2603
+#: builtin/blame.c:2604 builtin/config.c:59 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:723 builtin/hash-object.c:101
+#: builtin/ls-files.c:539 builtin/ls-files.c:542 builtin/notes.c:401
+#: builtin/notes.c:564 builtin/read-tree.c:109 parse-options.h:153
+msgid "file"
+msgstr "文件"
 
-#: gpg-interface.c:210
-#, c-format
-msgid "failed writing detached signature to '%s'"
-msgstr "无法将分离式签名写入 '%s'"
+#: archive.c:433 builtin/archive.c:89
+msgid "write the archive to this file"
+msgstr "归档写入此文件"
 
-#: grep.c:1792
-#, c-format
-msgid "'%s': unable to read %s"
-msgstr "'%s':无法读取 %s"
+#: archive.c:435
+msgid "read .gitattributes in working directory"
+msgstr "读取工作区中的 .gitattributes"
 
-#: grep.c:1809 builtin/clone.c:382 builtin/diff.c:84 builtin/rm.c:155
-#, c-format
-msgid "failed to stat '%s'"
-msgstr "无法枚举 '%s' 状态"
+#: archive.c:436
+msgid "report archived files on stderr"
+msgstr "在标准错误上报告归档文件"
 
-#: grep.c:1820
-#, c-format
-msgid "'%s': short read"
-msgstr "'%s':读取不完整"
+#: archive.c:437
+msgid "store only"
+msgstr "只存储"
 
-#: help.c:205
-#, c-format
-msgid "available git commands in '%s'"
-msgstr "在 '%s' 下可用的 git 命令"
+#: archive.c:438
+msgid "compress faster"
+msgstr "压缩速度更快"
 
-#: help.c:212
-msgid "git commands available from elsewhere on your $PATH"
-msgstr "å\9c¨ $PATH è·¯å¾\84中ç\9a\84å\85¶ä»\96å\9c°æ\96¹å\8f¯ç\94¨ç\9a\84 git å\91½ä»¤"
+#: archive.c:446
+msgid "compress better"
+msgstr "å\8e\8b缩æ\95\88æ\9e\9cæ\9b´å¥½"
 
-#: help.c:244
-msgid "These are common Git commands used in various situations:"
-msgstr "这些是各种场合常见的 Git 命令:"
+#: archive.c:449
+msgid "list supported archive formats"
+msgstr "列出支持的归档格式"
 
-#: help.c:309
-#, c-format
-msgid ""
-"'%s' appears to be a git command, but we were not\n"
-"able to execute it. Maybe git-%s is broken?"
-msgstr ""
-"'%s' 像是一个 git 命令,但却无法运行。\n"
-"可能是 git-%s 受损?"
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
+#: builtin/submodule--helper.c:601 builtin/submodule--helper.c:953
+msgid "repo"
+msgstr "仓库"
 
-#: help.c:366
-msgid "Uh oh. Your system reports no Git commands at all."
-msgstr "唉呀,您的系统中未发现 Git 命令。"
+#: archive.c:452 builtin/archive.c:91
+msgid "retrieve the archive from remote repository <repo>"
+msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: help.c:388
-#, c-format
-msgid ""
-"WARNING: You called a Git command named '%s', which does not exist.\n"
-"Continuing under the assumption that you meant '%s'"
-msgstr ""
-"警告:您运行一个不存在的 Git 命令 '%s'。继续执行假定您要运行的\n"
-"是 '%s'"
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:485
+msgid "command"
+msgstr "命令"
 
-#: help.c:393
-#, c-format
-msgid "in %0.1f seconds automatically..."
-msgstr "在 %0.1f 秒钟后自动运行..."
+#: archive.c:454 builtin/archive.c:93
+msgid "path to the remote git-upload-archive command"
+msgstr "远程 git-upload-archive 命令的路径"
 
-#: help.c:400
-#, c-format
-msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
+#: archive.c:461
+msgid "Unexpected option --remote"
+msgstr "未知参数 --remote"
 
-#: help.c:404 help.c:470
-msgid ""
-"\n"
-"Did you mean this?"
-msgid_plural ""
-"\n"
-"Did you mean one of these?"
-msgstr[0] ""
-"\n"
-"您指的是这个么?"
-msgstr[1] ""
-"\n"
-"您指的是这其中的某一个么?"
+#: archive.c:463
+msgid "Option --exec can only be used together with --remote"
+msgstr "选项 --exec 只能和 --remote 同时使用"
+
+#: archive.c:465
+msgid "Unexpected option --output"
+msgstr "未知参数 --output"
 
-#: help.c:466
+#: archive.c:487
 #, c-format
-msgid "%s: %s - %s"
-msgstr "%s:%s - %s"
+msgid "Unknown archive format '%s'"
+msgstr "未知归档格式 '%s'"
 
-#: lockfile.c:152
+#: archive.c:494
 #, c-format
+msgid "Argument not supported for format '%s': -%d"
+msgstr "参数不支持此格式 '%s':-%d"
+
+#: attr.c:263
 msgid ""
-"Unable to create '%s.lock': %s.\n"
-"\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
+"Negative patterns are ignored in git attributes\n"
+"Use '\\!' for literal leading exclamation."
 msgstr ""
-"无法创建 '%s.lock':%s。\n"
-"\n"
-"似乎另外一个 git 进程在这个仓库中运行,例如:'git commit' 命令打\n"
-"开了一个编辑器。请确认所有进程都已经关闭然后重试。如果仍然报错,\n"
-"可能之前有一个 git 进程在这个仓库中异常退出:\n"
-"手动删除这个文件再继续。"
+"负值模版在 git attributes 中被忽略\n"
+"当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: lockfile.c:160
+#: bisect.c:441
 #, c-format
-msgid "Unable to create '%s.lock': %s"
-msgstr "不能创建 '%s.lock':%s"
-
-#: merge.c:41
-msgid "failed to read the cache"
-msgstr "无法读取缓存"
-
-#: merge.c:94 builtin/am.c:1992 builtin/am.c:2027 builtin/checkout.c:375
-#: builtin/checkout.c:589 builtin/clone.c:732
-msgid "unable to write new index file"
-msgstr "无法写新的索引文件"
-
-#: merge-recursive.c:209
-msgid "(bad commit)\n"
-msgstr "(坏提交)\n"
+msgid "Could not open file '%s'"
+msgstr "不能打开文件 '%s'"
 
-#: merge-recursive.c:231
+#: bisect.c:446
 #, c-format
-msgid "addinfo_cache failed for path '%s'"
-msgstr "为路径 '%s' addinfo_cache 失败"
+msgid "Badly quoted content in file '%s': %s"
+msgstr "文件 '%s' 包含错误的引用格式:%s"
 
-#: merge-recursive.c:301
-msgid "error building trees"
-msgstr "无法创建树"
+#: bisect.c:655
+#, c-format
+msgid "We cannot bisect more!\n"
+msgstr "我们无法进行更多的二分查找!\n"
 
-#: merge-recursive.c:720
+#: bisect.c:708
 #, c-format
-msgid "failed to create path '%s'%s"
-msgstr "无法创建路径 '%s'%s"
+msgid "Not a valid commit name %s"
+msgstr "不是一个有效的提交名 %s"
 
-#: merge-recursive.c:731
+#: bisect.c:732
 #, c-format
-msgid "Removing %s to make room for subdirectory\n"
-msgstr "删除 %s 以便为子目录留出空间\n"
+msgid ""
+"The merge base %s is bad.\n"
+"This means the bug has been fixed between %s and [%s].\n"
+msgstr ""
+"合并基线 %s 是坏的。\n"
+"这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: merge-recursive.c:745 merge-recursive.c:764
-msgid ": perhaps a D/F conflict?"
-msgstr ":可能是一个目录/文件冲突?"
+#: bisect.c:737
+#, c-format
+msgid ""
+"The merge base %s is new.\n"
+"The property has changed between %s and [%s].\n"
+msgstr ""
+"合并基线 %s 是新的。\n"
+"介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: merge-recursive.c:754
+#: bisect.c:742
 #, c-format
-msgid "refusing to lose untracked file at '%s'"
-msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
+msgid ""
+"The merge base %s is %s.\n"
+"This means the first '%s' commit is between %s and [%s].\n"
+msgstr ""
+"合并基线 %s 是 %s。\n"
+"这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: merge-recursive.c:796
+#: bisect.c:750
 #, c-format
-msgid "cannot read object %s '%s'"
-msgstr "不能读取对象 %s '%s'"
+msgid ""
+"Some %s revs are not ancestor of the %s rev.\n"
+"git bisect cannot work properly in this case.\n"
+"Maybe you mistook %s and %s revs?\n"
+msgstr ""
+"一些 %s 版本不是 %s 版本的祖先。\n"
+"这种情况下 git 二分查找无法正常工作。\n"
+"您可能弄错了 %s 和 %s 版本?\n"
 
-#: merge-recursive.c:798
+#: bisect.c:763
 #, c-format
-msgid "blob expected for %s '%s'"
-msgstr "%s '%s' 应为数据对象"
+msgid ""
+"the merge base between %s and [%s] must be skipped.\n"
+"So we cannot be sure the first %s commit is between %s and %s.\n"
+"We continue anyway."
+msgstr ""
+"介于 %s 和 [%s] 的合并基线一定被忽略了。\n"
+"所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
+"我们仍旧继续。"
 
-#: merge-recursive.c:822
+#: bisect.c:798
 #, c-format
-msgid "failed to open '%s': %s"
-msgstr "无法打开 '%s':%s"
+msgid "Bisecting: a merge base must be tested\n"
+msgstr "二分查找中:合并基线必须是经过测试的\n"
 
-#: merge-recursive.c:833
+#: bisect.c:849
 #, c-format
-msgid "failed to symlink '%s': %s"
-msgstr "无法创建符号链接 '%s':%s"
+msgid "a %s revision is needed"
+msgstr "需要一个 %s 版本"
 
-#: merge-recursive.c:838
+#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248
 #, c-format
-msgid "do not know what to do with %06o %s '%s'"
-msgstr "不知道如何处理 %06o %s '%s'"
+msgid "could not create file '%s'"
+msgstr "不能创建文件 '%s'"
 
-#: merge-recursive.c:978
-msgid "Failed to execute internal merge"
-msgstr "无法执行内部合并"
-
-#: merge-recursive.c:982
+#: bisect.c:917
 #, c-format
-msgid "Unable to add %s to database"
-msgstr "不能添加 %s 至对象库"
+msgid "could not read file '%s'"
+msgstr "不能读取文件 '%s'"
 
-#: merge-recursive.c:1081 merge-recursive.c:1095
+#: bisect.c:947
+msgid "reading bisect refs failed"
+msgstr "读取二分查找引用失败"
+
+#: bisect.c:967
 #, c-format
-msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree."
-msgstr ""
-"冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
-"的版本被保留。"
+msgid "%s was both %s and %s\n"
+msgstr "%s 同时为 %s 和 %s\n"
 
-#: merge-recursive.c:1087 merge-recursive.c:1100
+#: bisect.c:975
 #, c-format
 msgid ""
-"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
-"in tree at %s."
+"No testable commit found.\n"
+"Maybe you started with bad path parameters?\n"
 msgstr ""
-"冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
-"的版本保留于 %8$s 中。"
-
-#: merge-recursive.c:1143
-msgid "rename"
-msgstr "重命名"
+"没有发现可测试的提交。\n"
+"可能您在运行时使用了错误的路径参数?\n"
 
-#: merge-recursive.c:1143
-msgid "renamed"
-msgstr "重命名"
+#: bisect.c:994
+#, c-format
+msgid "(roughly %d step)"
+msgid_plural "(roughly %d steps)"
+msgstr[0] "(大概 %d 步)"
+msgstr[1] "(大概 %d 步)"
 
-#: merge-recursive.c:1200
+#. TRANSLATORS: the last %s will be replaced with
+#. "(roughly %d steps)" translation
+#: bisect.c:998
 #, c-format
-msgid "%s is a directory in %s adding as %s instead"
-msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
+msgid "Bisecting: %d revision left to test after this %s\n"
+msgid_plural "Bisecting: %d revisions left to test after this %s\n"
+msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
+msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n"
 
-#: merge-recursive.c:1225
+#: branch.c:53
 #, c-format
 msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
 msgstr ""
-"冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
-"\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
-
-#: merge-recursive.c:1230
-msgid " (left unresolved)"
-msgstr "(留下未解决)"
+"\n"
+"在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
+"\"git branch --set-upstream-to=%s%s%s\" 。"
 
-#: merge-recursive.c:1292
+#: branch.c:67
 #, c-format
-msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
-msgstr ""
-"冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
-"%5$s"
+msgid "Not setting branch %s as its own upstream."
+msgstr "未设置分支 %s 作为它自己的上游。"
 
-#: merge-recursive.c:1325
+#: branch.c:93
 #, c-format
-msgid "Renaming %s to %s and %s to %s instead"
-msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
+msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+msgstr "分支 %1$s 设置为使用变基来跟踪来自 %3$s 的远程分支 %2$s。"
 
-#: merge-recursive.c:1531
+#: branch.c:94
 #, c-format
-msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
-msgstr "å\86²çª\81ï¼\88é\87\8då\91½å\90\8d/æ·»å\8a ï¼\89ï¼\9aå\9c¨ %3$s ä¸­é\87\8då\91½å\90\8d %1$s->%2$sã\80\82å\9c¨ %5$s ä¸­æ·»å\8a  %4$s"
+msgid "Branch %s set up to track remote branch %s from %s."
+msgstr "å\88\86æ\94¯ %1$s è®¾ç½®ä¸ºè·\9f踪æ\9d¥è\87ª %3$s ç\9a\84è¿\9cç¨\8bå\88\86æ\94¯ %2$sã\80\82"
 
-#: merge-recursive.c:1546
+#: branch.c:98
 #, c-format
-msgid "Adding merged %s"
-msgstr "添加合并后的 %s"
+msgid "Branch %s set up to track local branch %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪本地分支 %s。"
 
-#: merge-recursive.c:1553 merge-recursive.c:1766
+#: branch.c:99
 #, c-format
-msgid "Adding as %s instead"
-msgstr "而是以 %s 为名添加"
+msgid "Branch %s set up to track local branch %s."
+msgstr "分支 %s 设置为跟踪本地分支 %s。"
 
-#: merge-recursive.c:1610
+#: branch.c:104
 #, c-format
-msgid "cannot read object %s"
-msgstr "不能读取对象 %s"
+msgid "Branch %s set up to track remote ref %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪远程引用 %s。"
 
-#: merge-recursive.c:1613
+#: branch.c:105
 #, c-format
-msgid "object %s is not a blob"
-msgstr "对象 %s ä¸\8dæ\98¯ä¸\80个æ\95°æ\8d®å¯¹è±¡"
+msgid "Branch %s set up to track remote ref %s."
+msgstr "å\88\86æ\94¯ %s è®¾ç½®ä¸ºè·\9f踪è¿\9cç¨\8bå¼\95ç\94¨ %sã\80\82"
 
-#: merge-recursive.c:1666
-msgid "modify"
-msgstr "修改"
+#: branch.c:109
+#, c-format
+msgid "Branch %s set up to track local ref %s by rebasing."
+msgstr "分支 %s 设置为使用变基来跟踪本地引用 %s。"
 
-#: merge-recursive.c:1666
-msgid "modified"
-msgstr "修改"
+#: branch.c:110
+#, c-format
+msgid "Branch %s set up to track local ref %s."
+msgstr "分支 %s 设置为跟踪本地引用 %s。"
 
-#: merge-recursive.c:1676
-msgid "content"
-msgstr "内容"
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "无法写入上游分支配置"
 
-#: merge-recursive.c:1683
-msgid "add/add"
-msgstr "添加/添加"
+#: branch.c:156
+#, c-format
+msgid "Not tracking: ambiguous information for ref %s"
+msgstr "未跟踪:引用 %s 有歧义"
 
-#: merge-recursive.c:1718
+#: branch.c:185
 #, c-format
-msgid "Skipped %s (merged same as existing)"
-msgstr "略过 %s(已经做过相同合并)"
+msgid "'%s' is not a valid branch name."
+msgstr "'%s' 不是一个有效的分支名称。"
 
-#: merge-recursive.c:1732
+#: branch.c:190
 #, c-format
-msgid "Auto-merging %s"
-msgstr "自动合并 %s"
+msgid "A branch named '%s' already exists."
+msgstr "一个分支名 '%s' 已经存在。"
 
-#: merge-recursive.c:1736 git-submodule.sh:919
-msgid "submodule"
-msgstr "子模组"
+#: branch.c:198
+msgid "Cannot force update the current branch."
+msgstr "无法强制更新当前分支。"
 
-#: merge-recursive.c:1737
+#: branch.c:218
 #, c-format
-msgid "CONFLICT (%s): Merge conflict in %s"
-msgstr "冲突(%s):合并冲突于 %s"
+msgid "Cannot setup tracking information; starting point '%s' is not a branch."
+msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: merge-recursive.c:1831
+#: branch.c:220
 #, c-format
-msgid "Removing %s"
-msgstr "删除 %s"
-
-#: merge-recursive.c:1857
-msgid "file/directory"
-msgstr "文件/目录"
+msgid "the requested upstream branch '%s' does not exist"
+msgstr "请求的上游分支 '%s' 不存在"
 
-#: merge-recursive.c:1863
-msgid "directory/file"
-msgstr "目录/文件"
+#: branch.c:222
+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\" 推送分支并配置和上游的关联。"
 
-#: merge-recursive.c:1868
+#: branch.c:265
 #, c-format
-msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
-msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
+msgid "Not a valid object name: '%s'."
+msgstr "不是一个有效的对象名:'%s'。"
 
-#: merge-recursive.c:1877
+#: branch.c:285
 #, c-format
-msgid "Adding %s"
-msgstr "æ·»å\8a  %s"
+msgid "Ambiguous object name: '%s'."
+msgstr "æ­§ä¹\89ç\9a\84对象å\90\8dï¼\9a'%s'ã\80\82"
 
-#: merge-recursive.c:1914
-msgid "Already up-to-date!"
-msgstr "已经是最新的!"
+#: branch.c:290
+#, c-format
+msgid "Not a valid branch point: '%s'."
+msgstr "无效的分支点:'%s'。"
 
-#: merge-recursive.c:1923
+#: branch.c:344
 #, c-format
-msgid "merging of trees %s and %s failed"
-msgstr "无法合并树 %s 和 %s"
+msgid "'%s' is already checked out at '%s'"
+msgstr "'%s' 已经检出到 '%s'"
 
-#: merge-recursive.c:2006
-msgid "Merging:"
-msgstr "合并:"
+#: branch.c:363
+#, c-format
+msgid "HEAD of working tree %s is not updated"
+msgstr "工作区 %s 的 HEAD 指向没有被更新"
 
-#: merge-recursive.c:2019
+#: bundle.c:34
 #, c-format
-msgid "found %u common ancestor:"
-msgid_plural "found %u common ancestors:"
-msgstr[0] "发现 %u 个共同祖先:"
-msgstr[1] "发现 %u 个共同祖先:"
+msgid "'%s' does not look like a v2 bundle file"
+msgstr "'%s' 不像是一个 v2 版本的包文件"
 
-#: merge-recursive.c:2058
-msgid "merge returned no commit"
-msgstr "合并未返回提交"
+#: bundle.c:61
+#, c-format
+msgid "unrecognized header: %s%s (%d)"
+msgstr "未能识别的包头:%s%s (%d)"
 
-#: merge-recursive.c:2121
+#: bundle.c:87 sequencer.c:963 builtin/commit.c:777
 #, c-format
-msgid "Could not parse object '%s'"
-msgstr "不能解析对象 '%s'"
+msgid "could not open '%s'"
+msgstr "不能打开 '%s'"
 
-#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
-msgid "Unable to write index."
-msgstr "ä¸\8dè\83½å\86\99å\85¥ç´¢å¼\95ã\80\82"
+#: bundle.c:139
+msgid "Repository lacks these prerequisite commits:"
+msgstr "ä»\93åº\93中缺å°\91è¿\99äº\9bå¿\85å¤\87ç\9a\84æ\8f\90交ï¼\9a"
 
-#: notes-utils.c:41
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr "不能提交未初始化/未引用的注解树"
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:830 sequencer.c:1374
+#: builtin/blame.c:2814 builtin/commit.c:1061 builtin/log.c:348
+#: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
+#: builtin/merge.c:356 builtin/shortlog.c:170
+msgid "revision walk setup failed"
+msgstr "版本遍历设置失败"
 
-#: notes-utils.c:100
+#: bundle.c:185
 #, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr "坏的 notes.rewriteMode 值:'%s'"
+msgid "The bundle contains this ref:"
+msgid_plural "The bundle contains these %d refs:"
+msgstr[0] "这个包中含有这个引用:"
+msgstr[1] "这个包中含有 %d 个引用:"
 
-#: notes-utils.c:110
-#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
-msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
+#: bundle.c:192
+msgid "The bundle records a complete history."
+msgstr "这个包记录一个完整历史。"
 
-#. TRANSLATORS: The first %s is the name of the
-#. environment variable, the second %s is its value
-#: notes-utils.c:137
+#: bundle.c:194
 #, c-format
-msgid "Bad %s value: '%s'"
-msgstr "坏的 %s 值:'%s'"
+msgid "The bundle requires this ref:"
+msgid_plural "The bundle requires these %d refs:"
+msgstr[0] "这个包需要这个引用:"
+msgstr[1] "这个包需要 %d 个引用:"
 
-#: object.c:242
-#, c-format
-msgid "unable to parse object: %s"
-msgstr "不能解析对象:%s"
+#: bundle.c:253
+msgid "Could not spawn pack-objects"
+msgstr "不能生成 pack-objects 进程"
 
-#: parse-options.c:572
-msgid "..."
-msgstr "..."
+#: bundle.c:264
+msgid "pack-objects died"
+msgstr "pack-objects 终止"
 
-#: parse-options.c:590
+#: bundle.c:304
+msgid "rev-list died"
+msgstr "rev-list 终止"
+
+#: bundle.c:353
 #, c-format
-msgid "usage: %s"
-msgstr "用法:%s"
+msgid "ref '%s' is excluded by the rev-list options"
+msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#. TRANSLATORS: the colon here should align with the
-#. one in "usage: %s" translation
-#: parse-options.c:594
+#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:273
 #, c-format
-msgid "   or: %s"
-msgstr "  或:%s"
+msgid "unrecognized argument: %s"
+msgstr "未能识别的参数:%s"
 
-#  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:597
+#: bundle.c:451
+msgid "Refusing to create empty bundle."
+msgstr "不能创建空包。"
+
+#: bundle.c:463
 #, c-format
-msgid "    %s"
-msgstr "    %s"
+msgid "cannot create '%s'"
+msgstr "不能创建 '%s'"
 
-#: parse-options.c:631
-msgid "-NUM"
-msgstr "-数字"
+#: bundle.c:491
+msgid "index-pack died"
+msgstr "index-pack 终止"
 
-#: parse-options-cb.c:108
+#: color.c:290
 #, c-format
-msgid "malformed object name '%s'"
-msgstr "非法的对象名 '%s'"
+msgid "invalid color value: %.*s"
+msgstr "无效的颜色值:%.*s"
 
-#: path.c:798
+#: commit.c:40 builtin/am.c:421 builtin/am.c:457 builtin/am.c:1493
+#: builtin/am.c:2127
 #, c-format
-msgid "Could not make %s writable by group"
-msgstr "ä¸\8dè\83½è®¾ç½® %s ä¸ºç»\84å\8f¯å\86\99"
+msgid "could not parse %s"
+msgstr "ä¸\8dè\83½è§£æ\9e\90 %s"
 
-#: pathspec.c:133
-msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
+#: commit.c:42
+#, c-format
+msgid "%s %s is not a commit!"
+msgstr "%s %s 不是一个提交!"
 
-#: pathspec.c:143
+#: commit.c:1514
 msgid ""
-"global 'literal' pathspec setting is incompatible with all other global "
-"pathspec settings"
-msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
-
-#: pathspec.c:177
-msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr "路径规格包含无效的神奇前缀"
-
-#: pathspec.c:183
-#, c-format
-msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
+"Warning: commit message did not conform to UTF-8.\n"
+"You may want to amend it after fixing the message, or set the config\n"
+"variable i18n.commitencoding to the encoding your project uses.\n"
+msgstr ""
+"警告:提交说明不符合 UTF-8 字符集。\n"
+"您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
+"设置为您项目所用的字符集。\n"
 
-#: pathspec.c:187
-#, c-format
-msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
+#: compat/obstack.c:406 compat/obstack.c:408
+msgid "memory exhausted"
+msgstr "内存耗尽"
 
-#: pathspec.c:205
+#: config.c:516
 #, c-format
-msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
+msgid "bad config line %d in blob %s"
+msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: pathspec.c:230
+#: config.c:520
 #, c-format
-msgid "%s: 'literal' and 'glob' are incompatible"
-msgstr "%s:'literal' 和 'glob' 不兼容"
+msgid "bad config line %d in file %s"
+msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: pathspec.c:241
+#: config.c:524
 #, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s:'%s' 在仓库之外"
+msgid "bad config line %d in standard input"
+msgstr "标准输入中错误的配置行 %d"
 
-#: pathspec.c:291
+#: config.c:528
 #, c-format
-msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
+msgid "bad config line %d in submodule-blob %s"
+msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: pathspec.c:353
+#: config.c:532
 #, c-format
-msgid "%s: pathspec magic not supported by this command: %s"
-msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
+msgid "bad config line %d in command line %s"
+msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: pathspec.c:433
+#: config.c:536
 #, c-format
-msgid "pathspec '%s' is beyond a symbolic link"
-msgstr "路径规格 '%s' 位于符号链接中"
-
-#: pathspec.c:442
-msgid ""
-"There is nothing to exclude from by :(exclude) patterns.\n"
-"Perhaps you forgot to add either ':/' or '.' ?"
-msgstr ""
-"没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
-"添加 ':/' 或 '.' ?"
+msgid "bad config line %d in %s"
+msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: pretty.c:973
-msgid "unable to parse --pretty format"
-msgstr "不能解析 --pretty 格式"
+#: config.c:655
+msgid "out of range"
+msgstr "超出范围"
 
-#: progress.c:235
-msgid "done"
-msgstr "完成"
+#: config.c:655
+msgid "invalid unit"
+msgstr "无效的单位"
 
-#: read-cache.c:1281
+#: config.c:661
 #, c-format
-msgid ""
-"index.version set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-"设置了 index.version,但是取值无效。\n"
-"使用版本 %i"
+msgid "bad numeric config value '%s' for '%s': %s"
+msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: read-cache.c:1291
+#: config.c:666
 #, c-format
-msgid ""
-"GIT_INDEX_VERSION set, but the value is invalid.\n"
-"Using version %i"
-msgstr ""
-"设置了 GIT_INDEX_VERSION,但是取值无效。\n"
-"使用版本 %i"
+msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
+msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: refs.c:551 builtin/merge.c:840
+#: config.c:669
 #, c-format
-msgid "Could not open '%s' for writing"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s' è¿\9bè¡\8cå\86\99å\85¥"
+msgid "bad numeric config value '%s' for '%s' in file %s: %s"
+msgstr "æ\96\87件 %3$s ä¸­é\85\8dç½®å\8f\98é\87\8f '%2$s' é\94\99误ç\9a\84å\8f\96å\80¼ '%1$s'ï¼\9a%4$s"
 
-#: refs/files-backend.c:2534
+#: config.c:672
 #, c-format
-msgid "could not delete reference %s: %s"
-msgstr "æ\97 æ³\95å\88 é\99¤å¼\95ç\94¨ %sï¼\9a%s"
+msgid "bad numeric config value '%s' for '%s' in standard input: %s"
+msgstr "æ \87å\87\86è¾\93å\85¥ä¸­é\85\8dç½®å\8f\98é\87\8f '%2$s' é\94\99误ç\9a\84å\8f\96å\80¼ '%1$s'ï¼\9a%3$s"
 
-#: refs/files-backend.c:2537
+#: config.c:675
 #, c-format
-msgid "could not delete references: %s"
-msgstr "无法删除引用:%s"
+msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
+msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: refs/files-backend.c:2546
+#: config.c:678
 #, c-format
-msgid "could not remove reference %s"
-msgstr "无法删除引用 %s"
+msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
+msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: ref-filter.c:55
+#: config.c:681
 #, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "期望的格式:%%(color:<color>)"
+msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: ref-filter.c:57
+#: config.c:768
 #, c-format
-msgid "unrecognized color: %%(color:%s)"
-msgstr "æ\9cªè\83½è¯\86å\88«ç\9a\84é¢\9cè\89²ï¼\9a%%(color:%s)"
+msgid "failed to expand user dir in: '%s'"
+msgstr "æ\97 æ³\95æ\89©å±\95 '%s' ä¸­ç\9a\84ç\94¨æ\88·ç\9b®å½\95"
 
-#: ref-filter.c:71
+#: config.c:852 config.c:863
 #, c-format
-msgid "unrecognized format: %%(%s)"
-msgstr "未能识别的格式:%%(%s)"
+msgid "bad zlib compression level %d"
+msgstr "错误的 zlib 压缩级别 %d"
 
-#: ref-filter.c:77
+#: config.c:978
 #, c-format
-msgid "%%(body) does not take arguments"
-msgstr "%%(body) 不带参数"
+msgid "invalid mode for object creation: %s"
+msgstr "无效的对象创建模式:%s"
 
-#: ref-filter.c:84
-#, c-format
-msgid "%%(subject) does not take arguments"
-msgstr "%%(subject) 不带参数"
+#: config.c:1312
+msgid "unable to parse command-line config"
+msgstr "无法解析命令行中的配置"
 
-#: ref-filter.c:101
-#, c-format
-msgid "positive value expected contents:lines=%s"
-msgstr "要为 contents:lines=%s 提供一个正数"
+#: config.c:1362
+msgid "unknown error occurred while reading the configuration files"
+msgstr "在读取配置文件时遇到未知错误"
 
-#: ref-filter.c:103
+#: config.c:1716
 #, c-format
-msgid "unrecognized %%(contents) argument: %s"
-msgstr "æ\9cªè\83½è¯\86å\88«ç\9a\84 %%(contents) å\8f\82æ\95°ï¼\9a%s"
+msgid "unable to parse '%s' from command-line config"
+msgstr "æ\97 æ³\95解æ\9e\90å\91½ä»¤è¡\8cé\85\8d置中ç\9a\84 '%s'"
 
-#: ref-filter.c:113
+#: config.c:1718
 #, c-format
-msgid "unrecognized %%(objectname) argument: %s"
-msgstr "未能识别的 %%(objectname) 参数:%s"
+msgid "bad config variable '%s' in file '%s' at line %d"
+msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: ref-filter.c:135
+#: config.c:1777
 #, c-format
-msgid "expected format: %%(align:<width>,<position>)"
-msgstr "期望的格式:%%(align:<width>,<position>)"
+msgid "%s has multiple values"
+msgstr "%s 有多个取值"
 
-#: ref-filter.c:147
+#: config.c:2311
 #, c-format
-msgid "unrecognized position:%s"
-msgstr "未能识别的位置:%s"
+msgid "could not set '%s' to '%s'"
+msgstr "不能设置 '%s' 为 '%s'"
 
-#: ref-filter.c:151
+#: config.c:2313
 #, c-format
-msgid "unrecognized width:%s"
-msgstr "未能识别的宽度:%s"
+msgid "could not unset '%s'"
+msgstr "不能取消设置 '%s'"
 
-#: ref-filter.c:157
+#: connect.c:49
+msgid "The remote end hung up upon initial contact"
+msgstr "远端在初始连接时即挂断"
+
+#: connect.c:51
+msgid ""
+"Could not read from remote repository.\n"
+"\n"
+"Please make sure you have the correct access rights\n"
+"and the repository exists."
+msgstr ""
+"无法读取远程仓库。\n"
+"\n"
+"请确认您有正确的访问权限并且仓库存在。"
+
+#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140
+msgid "Checking connectivity"
+msgstr "检查连接中"
+
+#: connected.c:75
+msgid "Could not run 'git rev-list'"
+msgstr "不能执行 'git rev-list'"
+
+#: connected.c:95
+msgid "failed write to rev-list"
+msgstr "无法写入 rev-list"
+
+#: connected.c:102
+msgid "failed to close rev-list's stdin"
+msgstr "无法关闭 rev-list 的标准输入"
+
+#: convert.c:201
 #, c-format
-msgid "unrecognized %%(align) argument: %s"
-msgstr "未能识别的 %%(align) 参数:%s"
+msgid ""
+"CRLF will be replaced by LF in %s.\n"
+"The file will have its original line endings in your working directory."
+msgstr ""
+"文件 %s 中的 CRLF 将被 LF 替换。\n"
+"在工作区中该文件仍保持原有的换行符。"
 
-#: ref-filter.c:161
+#: convert.c:205
 #, c-format
-msgid "positive width expected with the %%(align) atom"
-msgstr "元素 %%(align) 需要一个正数的宽度"
+msgid "CRLF would be replaced by LF in %s."
+msgstr "文件 %s 中的 CRLF 将被 LF 替换。"
 
-#: ref-filter.c:244
+#: convert.c:211
 #, c-format
-msgid "malformed field name: %.*s"
-msgstr "非法的字段名:%.*s"
+msgid ""
+"LF will be replaced by CRLF in %s.\n"
+"The file will have its original line endings in your working directory."
+msgstr ""
+"文件 %s 中的 LF 将被 CRLF 替换。\n"
+"在工作区中该文件仍保持原有的换行符。"
 
-#: ref-filter.c:270
+#: convert.c:215
 #, c-format
-msgid "unknown field name: %.*s"
-msgstr "æ\9cªç\9f¥ç\9a\84å­\97段å\90\8dï¼\9a%.*s"
+msgid "LF would be replaced by CRLF in %s"
+msgstr "æ\96\87件 %s ä¸­ç\9a\84 LF å°\86被 CRLF æ\9b¿æ\8d¢"
 
-#: ref-filter.c:372
+#: date.c:97
+msgid "in the future"
+msgstr "在将来"
+
+#: date.c:103
 #, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
+msgid "%lu second ago"
+msgid_plural "%lu seconds ago"
+msgstr[0] "%lu 秒钟前"
+msgstr[1] "%lu 秒钟前"
 
-#: ref-filter.c:424
+#: date.c:110
 #, c-format
-msgid "malformed format string %s"
-msgstr "非法的格式化字符串 %s"
+msgid "%lu minute ago"
+msgid_plural "%lu minutes ago"
+msgstr[0] "%lu 分钟前"
+msgstr[1] "%lu 分钟前"
 
-#: ref-filter.c:878
-msgid ":strip= requires a positive integer argument"
-msgstr ":strip= 需要一个正整型参数"
+#: date.c:117
+#, c-format
+msgid "%lu hour ago"
+msgid_plural "%lu hours ago"
+msgstr[0] "%lu 小时前"
+msgstr[1] "%lu 小时前"
 
-#: ref-filter.c:883
+#: date.c:124
 #, c-format
-msgid "ref '%s' does not have %ld components to :strip"
-msgstr "引用 '%s' 未提供用于 :strip 的 %ld 个组件"
+msgid "%lu day ago"
+msgid_plural "%lu days ago"
+msgstr[0] "%lu 天前"
+msgstr[1] "%lu 天前"
 
-#: ref-filter.c:1046
+#: date.c:130
 #, c-format
-msgid "unknown %.*s format %s"
-msgstr "未知的 %.*s 格式 %s"
+msgid "%lu week ago"
+msgid_plural "%lu weeks ago"
+msgstr[0] "%lu 周前"
+msgstr[1] "%lu 周前"
 
-#: ref-filter.c:1066 ref-filter.c:1097
+#: date.c:137
 #, c-format
-msgid "missing object %s for %s"
-msgstr "缺失 %2$s 的对象 %1$s"
+msgid "%lu month ago"
+msgid_plural "%lu months ago"
+msgstr[0] "%lu 个月前"
+msgstr[1] "%lu 个月前"
 
-#: ref-filter.c:1069 ref-filter.c:1100
+#: date.c:148
 #, c-format
-msgid "parse_object_buffer failed on %s for %s"
-msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
+msgid "%lu year"
+msgid_plural "%lu years"
+msgstr[0] "%lu 年"
+msgstr[1] "%lu 年"
 
-#: ref-filter.c:1311
+#. TRANSLATORS: "%s" is "<n> years"
+#: date.c:151
 #, c-format
-msgid "malformed object at '%s'"
-msgstr "非法的对象于 '%s'"
+msgid "%s, %lu month ago"
+msgid_plural "%s, %lu months ago"
+msgstr[0] "%s %lu 个月前"
+msgstr[1] "%s %lu 个月前"
 
-#: ref-filter.c:1373
+#: date.c:156 date.c:161
 #, c-format
-msgid "ignoring ref with broken name %s"
-msgstr "忽略带有错误名称 %s 的引用"
+msgid "%lu year ago"
+msgid_plural "%lu years ago"
+msgstr[0] "%lu 年前"
+msgstr[1] "%lu 年前"
 
-#: ref-filter.c:1378
+#: diffcore-order.c:24
 #, c-format
-msgid "ignoring broken ref %s"
-msgstr "忽略损坏的引用 %s"
+msgid "failed to read orderfile '%s'"
+msgstr "无法读取排序文件 '%s'"
+
+#: diffcore-rename.c:536
+msgid "Performing inexact rename detection"
+msgstr "正在进行非精确的重命名检测"
 
-#: ref-filter.c:1651
+#: diff.c:62
 #, c-format
-msgid "format: %%(end) atom missing"
-msgstr "格式:缺少 %%(end) 元素"
+msgid "option '%s' requires a value"
+msgstr "选项 '%s'  需要一个值"
 
-#: ref-filter.c:1705
+#  译者:注意保持前导空格
+#: diff.c:124
 #, c-format
-msgid "malformed object name %s"
-msgstr "非法的对象名 %s"
+msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
+msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
-#: remote.c:746
+#  译者:注意保持前导空格
+#: diff.c:129
 #, c-format
-msgid "Cannot fetch both %s and %s to %s"
-msgstr "不能同时获取 %s 和 %s 至 %s"
+msgid "  Unknown dirstat parameter '%s'\n"
+msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: remote.c:750
+#: diff.c:283
 #, c-format
-msgid "%s usually tracks %s, not %s"
-msgstr "%s 通常跟踪 %s,而非 %s"
+msgid "Unknown value for 'diff.submodule' config variable: '%s'"
+msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: remote.c:754
+#: diff.c:346
 #, c-format
-msgid "%s tracks both %s and %s"
-msgstr "%s 同时跟踪 %s 和 %s"
+msgid ""
+"Found errors in 'diff.dirstat' config variable:\n"
+"%s"
+msgstr ""
+"发现配置变量 'diff.dirstat' 中的错误:\n"
+"%s"
 
-#: remote.c:762
-msgid "Internal error"
-msgstr "内部错误"
+#: diff.c:3087
+#, c-format
+msgid "external diff died, stopping at %s"
+msgstr "外部 diff 退出,停止在 %s"
 
-#: remote.c:1677 remote.c:1720
-msgid "HEAD does not point to a branch"
-msgstr "HEAD 没有指向一个分支"
+#: diff.c:3412
+msgid "--name-only, --name-status, --check and -s are mutually exclusive"
+msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: remote.c:1686
+#: diff.c:3502
+msgid "--follow requires exactly one pathspec"
+msgstr "--follow 明确要求只跟一个路径规格"
+
+#: diff.c:3665
 #, c-format
-msgid "no such branch: '%s'"
-msgstr "没有此分支:'%s'"
+msgid ""
+"Failed to parse --dirstat/-X option parameter:\n"
+"%s"
+msgstr ""
+"无法解析 --dirstat/-X 选项的参数:\n"
+"%s"
 
-#: remote.c:1689
+#: diff.c:3679
 #, c-format
-msgid "no upstream configured for branch '%s'"
-msgstr "尚未给分支 '%s' 设置上游"
+msgid "Failed to parse --submodule option parameter: '%s'"
+msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: remote.c:1695
+#: diff.c:4700
+msgid "inexact rename detection was skipped due to too many files."
+msgstr "因为文件太多,略过不严格的重命名检查。"
+
+#: diff.c:4703
+msgid "only found copies from modified paths due to too many files."
+msgstr "因为文件太多,只在修改的路径中查找拷贝。"
+
+#: diff.c:4706
 #, c-format
-msgid "upstream branch '%s' not stored as a remote-tracking branch"
-msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
+msgid ""
+"you may want to set your %s variable to at least %d and retry the command."
+msgstr "您可能想要将您的 %s 变量至少设置为 %d 并重复此命令。"
 
-#: remote.c:1710
+#: dir.c:1866
+msgid "failed to get kernel name and information"
+msgstr "无法获得内核名称和信息"
+
+#: dir.c:1985
+msgid "Untracked cache is disabled on this system or location."
+msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
+
+#: fetch-pack.c:213
+msgid "git fetch-pack: expected shallow list"
+msgstr "git fetch-pack:应为 shallow 列表"
+
+#: fetch-pack.c:225
+msgid "git fetch-pack: expected ACK/NAK, got EOF"
+msgstr "git fetch-pack:应为 ACK/NAK,却得到 EOF"
+
+#: fetch-pack.c:243
 #, c-format
-msgid "push destination '%s' on remote '%s' has no local tracking branch"
-msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
+msgid "git fetch-pack: expected ACK/NAK, got '%s'"
+msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
-#: remote.c:1725
+#: fetch-pack.c:295
+msgid "--stateless-rpc requires multi_ack_detailed"
+msgstr "--stateless-rpc 需要 multi_ack_detailed"
+
+#: fetch-pack.c:381
 #, c-format
-msgid "branch '%s' has no remote for pushing"
-msgstr "分支 '%s' 没有设置要推送的远程服务器"
+msgid "invalid shallow line: %s"
+msgstr "无效的 shallow 信息:%s"
 
-#: remote.c:1736
+#: fetch-pack.c:387
 #, c-format
-msgid "push refspecs for '%s' do not include '%s'"
-msgstr "向 '%s' 推送引用规格未包含 '%s'"
+msgid "invalid unshallow line: %s"
+msgstr "无效的 unshallow 信息:%s"
 
-#: remote.c:1749
-msgid "push has no destination (push.default is 'nothing')"
-msgstr "推送无目标(push.default 是 'nothing')"
+#: fetch-pack.c:389
+#, c-format
+msgid "object not found: %s"
+msgstr "对象未找到:%s"
 
-#: remote.c:1771
-msgid "cannot resolve 'simple' push to a single destination"
-msgstr "无法解析 'simple' 推送至一个单独的目标"
+#: fetch-pack.c:392
+#, c-format
+msgid "error in object: %s"
+msgstr "对象中出错:%s"
 
-#: remote.c:2073
+#: fetch-pack.c:394
 #, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr "æ\82¨ç\9a\84å\88\86æ\94¯å\9fºäº\8e '%s'ï¼\8cä½\86æ­¤ä¸\8a游å\88\86æ\94¯å·²ç»\8fä¸\8då­\98å\9c¨ã\80\82\n"
+msgid "no shallow found: %s"
+msgstr "æ\9cªå\8f\91ç\8e° shallowï¼\9a%s"
 
-#: remote.c:2077
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
+#: fetch-pack.c:397
+#, c-format
+msgid "expected shallow/unshallow, got %s"
+msgstr "应为 shallow/unshallow,却得到 %s"
 
-#: remote.c:2080
+#: fetch-pack.c:436
 #, c-format
-msgid "Your branch is up-to-date with '%s'.\n"
-msgstr "您的分支与上游分支 '%s' 一致。\n"
+msgid "got %s %d %s"
+msgstr "得到 %s %d %s"
 
-#: remote.c:2084
+#: fetch-pack.c:450
 #, 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"
+msgid "invalid commit %s"
+msgstr "无效提交 %s"
 
-#: remote.c:2090
-msgid "  (use \"git push\" to publish your local commits)\n"
-msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
+#: fetch-pack.c:483
+msgid "giving up"
+msgstr "放弃"
 
-#: remote.c:2093
+#: fetch-pack.c:493 progress.c:235
+msgid "done"
+msgstr "完成"
+
+#: fetch-pack.c:505
 #, c-format
-msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural ""
-"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
-msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
-msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
+msgid "got %s (%d) %s"
+msgstr "得到 %s (%d) %s"
 
-#  译者:注意保持前导空格
-#: remote.c:2101
-msgid "  (use \"git pull\" to update your local branch)\n"
-msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
+#: fetch-pack.c:551
+#, c-format
+msgid "Marking %s as complete"
+msgstr "标记 %s 为完成"
 
-#: remote.c:2104
+#: fetch-pack.c:697
 #, c-format
-msgid ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commit each, respectively.\n"
-msgid_plural ""
-"Your branch and '%s' have diverged,\n"
-"and have %d and %d different commits each, respectively.\n"
-msgstr[0] ""
-"您的分支和 '%s' 出现了偏离,\n"
-"并且分别有 %d 和 %d 处不同的提交。\n"
-msgstr[1] ""
-"您的分支和 '%s' 出现了偏离,\n"
-"并且分别有 %d 和 %d 处不同的提交。\n"
+msgid "already have %s (%s)"
+msgstr "已经有 %s (%s)"
 
-#  译者:注意保持前导空格
-#: remote.c:2114
-msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
-msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
+#: fetch-pack.c:735
+msgid "fetch-pack: unable to fork off sideband demultiplexer"
+msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: revision.c:2132
-msgid "your current branch appears to be broken"
-msgstr "您的当前分支好像被损坏"
+#: fetch-pack.c:743
+msgid "protocol error: bad pack header"
+msgstr "协议错误:坏的包头"
 
-#: revision.c:2135
+#: fetch-pack.c:799
 #, c-format
-msgid "your current branch '%s' does not have any commits yet"
-msgstr "您的当前分支 '%s' 尚无任何提交"
+msgid "fetch-pack: unable to fork off %s"
+msgstr "fetch-pack:无法派生进程 %s"
 
-#: revision.c:2329
-msgid "--first-parent is incompatible with --bisect"
-msgstr "--first-parent 与 --bisect 不兼容"
+#: fetch-pack.c:815
+#, c-format
+msgid "%s failed"
+msgstr "%s 失败"
 
-#: run-command.c:92
-msgid "open /dev/null failed"
-msgstr "不能打开 /dev/null"
+#: fetch-pack.c:817
+msgid "error in sideband demultiplexer"
+msgstr "sideband 多路输出出错"
 
-#: run-command.c:94
-#, c-format
-msgid "dup2(%d,%d) failed"
-msgstr "不能调用 dup2(%d,%d)"
+#: fetch-pack.c:844
+msgid "Server does not support shallow clients"
+msgstr "服务器不支持 shalllow 客户端"
 
-#: send-pack.c:298
-msgid "failed to sign the push certificate"
-msgstr "æ\97 æ³\95为æ\8e¨é\80\81è¯\81书签å\90\8d"
+#: fetch-pack.c:848
+msgid "Server supports multi_ack_detailed"
+msgstr "æ\9c\8då\8a¡å\99¨æ\94¯æ\8c\81 multi_ack_detailed"
 
-#: send-pack.c:411
-msgid "the receiving end does not support --signed push"
-msgstr "æ\8e¥æ\94¶ç«¯ä¸\8dæ\94¯æ\8c\81ç­¾å\90\8dæ\8e¨é\80\81"
+#: fetch-pack.c:851
+msgid "Server supports no-done"
+msgstr "æ\9c\8då\8a¡å\99¨æ\94¯æ\8c\81 no-done"
 
-#: send-pack.c:413
-msgid ""
-"not sending a push certificate since the receiving end does not support --"
-"signed push"
-msgstr "未发送推送证书,因为接收端不支持签名推送"
+#: fetch-pack.c:857
+msgid "Server supports multi_ack"
+msgstr "服务器支持 multi_ack"
 
-#: send-pack.c:425
-msgid "the receiving end does not support --atomic push"
-msgstr "æ\8e¥æ\94¶ç«¯ä¸\8dæ\94¯æ\8c\81å\8e\9få­\90æ\8e¨é\80\81"
+#: fetch-pack.c:861
+msgid "Server supports side-band-64k"
+msgstr "æ\9c\8då\8a¡å\99¨æ\94¯æ\8c\81 side-band-64k"
 
-#: send-pack.c:430
-msgid "the receiving end does not support push options"
-msgstr "æ\8e¥æ\94¶ç«¯ä¸\8dæ\94¯æ\8c\81æ\8e¨é\80\81é\80\89项"
+#: fetch-pack.c:865
+msgid "Server supports side-band"
+msgstr "æ\9c\8då\8a¡å\99¨æ\94¯æ\8c\81 side-band"
 
-#: sequencer.c:174
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'"
-msgstr ""
-"冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
-"命令标记修正后的文件"
+#: fetch-pack.c:869
+msgid "Server supports allow-tip-sha1-in-want"
+msgstr "服务器支持 allow-tip-sha1-in-want"
 
-#: sequencer.c:177
-msgid ""
-"after resolving the conflicts, mark the corrected paths\n"
-"with 'git add <paths>' or 'git rm <paths>'\n"
-"and commit the result with 'git commit'"
-msgstr ""
-"冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
-"对修正后的文件做标记,然后用 'git commit' 提交"
+#: fetch-pack.c:873
+msgid "Server supports allow-reachable-sha1-in-want"
+msgstr "服务器支持 allow-reachable-sha1-in-want"
 
-#: sequencer.c:190 sequencer.c:841 sequencer.c:924
-#, c-format
-msgid "Could not write to %s"
-msgstr "不能写入 %s"
+#: fetch-pack.c:883
+msgid "Server supports ofs-delta"
+msgstr "服务器支持 ofs-delta"
 
-#: sequencer.c:193 sequencer.c:843 sequencer.c:928
+#: fetch-pack.c:890
 #, c-format
-msgid "Error wrapping up %s."
-msgstr "错误收尾 %s。"
+msgid "Server version is %.*s"
+msgstr "服务器版本 %.*s"
 
-#: sequencer.c:208
-msgid "Your local changes would be overwritten by cherry-pick."
-msgstr "æ\82¨ç\9a\84æ\9c¬å\9c°ä¿®æ\94¹å°\86被æ\8b£é\80\89æ\93\8dä½\9cè¦\86ç\9b\96ã\80\82"
+#: fetch-pack.c:896
+msgid "Server does not support --shallow-since"
+msgstr "æ\9c\8då\8a¡å\99¨ä¸\8dæ\94¯æ\8c\81 --shallow-since"
 
-#: sequencer.c:210
-msgid "Your local changes would be overwritten by revert."
-msgstr "æ\82¨ç\9a\84æ\9c¬å\9c°ä¿®æ\94¹å°\86被è¿\98å\8e\9fæ\93\8dä½\9cè¦\86ç\9b\96ã\80\82"
+#: fetch-pack.c:900
+msgid "Server does not support --shallow-exclude"
+msgstr "æ\9c\8då\8a¡å\99¨ä¸\8dæ\94¯æ\8c\81 --shallow-exclude"
 
-#: sequencer.c:213
-msgid "Commit your changes or stash them to proceed."
-msgstr "æ\8f\90交æ\82¨ç\9a\84ä¿®æ\94¹æ\88\96ä¿\9då­\98è¿\9b度å\90\8eå\86\8d继续ã\80\82"
+#: fetch-pack.c:902
+msgid "Server does not support --deepen"
+msgstr "æ\9c\8då\8a¡å\99¨ä¸\8dæ\94¯æ\8c\81 --deepen"
 
-#: sequencer.c:228
-#, c-format
-msgid "%s: fast-forward"
-msgstr "%s:快进"
+#: fetch-pack.c:913
+msgid "no common commits"
+msgstr "没有共同的提交"
 
-#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:303
-#, c-format
-msgid "%s: Unable to write new index file"
-msgstr "%s:无法写入新索引文件"
+#: fetch-pack.c:925
+msgid "git fetch-pack: fetch failed."
+msgstr "git fetch-pack:获取失败。"
 
-#: sequencer.c:321
-msgid "Could not resolve HEAD commit\n"
-msgstr "不能解析 HEAD 提交\n"
+#: fetch-pack.c:1087
+msgid "no matching remote head"
+msgstr "没有匹配的远程分支"
 
-#: sequencer.c:341
-msgid "Unable to update cache tree\n"
-msgstr "不能更新缓存\n"
+#: gpg-interface.c:185
+msgid "gpg failed to sign the data"
+msgstr "gpg 无法为数据签名"
 
-#: sequencer.c:393
-#, c-format
-msgid "Could not parse commit %s\n"
-msgstr "不能解析提交 %s\n"
+#: gpg-interface.c:215
+msgid "could not create temporary file"
+msgstr "不能创建临时文件"
 
-#: sequencer.c:398
+#: gpg-interface.c:217
 #, c-format
-msgid "Could not parse parent commit %s\n"
-msgstr "不能解析父提交 %s\n"
-
-#: sequencer.c:463
-msgid "Your index file is unmerged."
-msgstr "您的索引文件未完成合并。"
+msgid "failed writing detached signature to '%s'"
+msgstr "无法将分离式签名写入 '%s'"
 
-#: sequencer.c:482
+#: grep.c:1782
 #, c-format
-msgid "Commit %s is a merge but no -m option was given."
-msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
+msgid "'%s': unable to read %s"
+msgstr "'%s':无法读取 %s"
 
-#: sequencer.c:490
+#: grep.c:1799 builtin/clone.c:381 builtin/diff.c:84 builtin/rm.c:155
 #, c-format
-msgid "Commit %s does not have parent %d"
-msgstr "æ\8f\90交 %s æ²¡æ\9c\89ç\88¶æ\8f\90交 %d"
+msgid "failed to stat '%s'"
+msgstr "æ\97 æ³\95æ\9e\9a举 '%s' ç\8a¶æ\80\81"
 
-#: sequencer.c:494
+#: grep.c:1810
 #, c-format
-msgid "Mainline was specified but commit %s is not a merge."
-msgstr "指定了主线但提交 %s 不是一个合并。"
+msgid "'%s': short read"
+msgstr "'%s':读取不完整"
 
-#. TRANSLATORS: The first %s will be "revert" or
-#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:507
+#: help.c:203
 #, c-format
-msgid "%s: cannot parse parent commit %s"
-msgstr "%s:不能解析父提交 %s"
+msgid "available git commands in '%s'"
+msgstr "在 '%s' 下可用的 git 命令"
 
-#: sequencer.c:511
-#, c-format
-msgid "Cannot get commit message for %s"
-msgstr "不能得到 %s 的提交说明"
+#: help.c:210
+msgid "git commands available from elsewhere on your $PATH"
+msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: sequencer.c:597
-#, c-format
-msgid "could not revert %s... %s"
-msgstr "不能还原 %s... %s"
+#: help.c:241
+msgid "These are common Git commands used in various situations:"
+msgstr "这些是各种场合常见的 Git 命令:"
 
-#: sequencer.c:598
+#: help.c:306
 #, c-format
-msgid "could not apply %s... %s"
-msgstr "不能应用 %s... %s"
+msgid ""
+"'%s' appears to be a git command, but we were not\n"
+"able to execute it. Maybe git-%s is broken?"
+msgstr ""
+"'%s' 像是一个 git 命令,但却无法运行。\n"
+"可能是 git-%s 受损?"
 
-#: sequencer.c:633
-msgid "empty commit set passed"
-msgstr "提供了空的提交集"
+#: help.c:361
+msgid "Uh oh. Your system reports no Git commands at all."
+msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: sequencer.c:641
+#: help.c:383
 #, c-format
-msgid "git %s: failed to read the index"
-msgstr "git %s:无法读取索引"
+msgid ""
+"WARNING: You called a Git command named '%s', which does not exist.\n"
+"Continuing under the assumption that you meant '%s'"
+msgstr ""
+"警告:您运行一个不存在的 Git 命令 '%s'。继续执行假定您要运行的\n"
+"是 '%s'"
 
-#: sequencer.c:645
+#: help.c:388
 #, c-format
-msgid "git %s: failed to refresh the index"
-msgstr "git %s:无法刷新索引"
-
-#: sequencer.c:705
-msgid "Cannot revert during another revert."
-msgstr "不能在回退中执行另一回退。"
-
-#: sequencer.c:706
-msgid "Cannot revert during a cherry-pick."
-msgstr "不能在拣选中执行回退。"
+msgid "in %0.1f seconds automatically..."
+msgstr "在 %0.1f 秒钟后自动运行..."
 
-#: sequencer.c:709
-msgid "Cannot cherry-pick during a revert."
-msgstr "不能在回退中执行拣选。"
+#: help.c:395
+#, c-format
+msgid "git: '%s' is not a git command. See 'git --help'."
+msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: sequencer.c:710
-msgid "Cannot cherry-pick during another cherry-pick."
-msgstr "不能在拣选过程中执行另一拣选。"
+#: help.c:399 help.c:465
+msgid ""
+"\n"
+"Did you mean this?"
+msgid_plural ""
+"\n"
+"Did you mean one of these?"
+msgstr[0] ""
+"\n"
+"您指的是这个么?"
+msgstr[1] ""
+"\n"
+"您指的是这其中的某一个么?"
 
-#: sequencer.c:732
+#: help.c:461
 #, c-format
-msgid "Could not parse line %d."
-msgstr "不能解析第 %d 行。"
+msgid "%s: %s - %s"
+msgstr "%s:%s - %s"
 
-#: sequencer.c:737
-msgid "No commits parsed."
-msgstr "没有提交被解析。"
+#: ident.c:334
+msgid ""
+"\n"
+"*** Please tell me who you are.\n"
+"\n"
+"Run\n"
+"\n"
+"  git config --global user.email \"you@example.com\"\n"
+"  git config --global user.name \"Your Name\"\n"
+"\n"
+"to set your account's default identity.\n"
+"Omit --global to set the identity only in this repository.\n"
+"\n"
+msgstr ""
+"\n"
+"*** 请告诉我你是谁。\n"
+"\n"
+"运行\n"
+"\n"
+"  git config --global user.email \"you@example.com\"\n"
+"  git config --global user.name \"Your Name\"\n"
+"\n"
+"来设置您账号的缺省身份标识。\n"
+"如果仅在本仓库设置身份标识,则省略 --global 参数。\n"
 
-#: sequencer.c:749
+#: lockfile.c:152
 #, c-format
-msgid "Could not open %s"
-msgstr "不能打开 %s"
+msgid ""
+"Unable to create '%s.lock': %s.\n"
+"\n"
+"Another git process seems to be running in this repository, e.g.\n"
+"an editor opened by 'git commit'. Please make sure all processes\n"
+"are terminated then try again. If it still fails, a git process\n"
+"may have crashed in this repository earlier:\n"
+"remove the file manually to continue."
+msgstr ""
+"无法创建 '%s.lock':%s。\n"
+"\n"
+"似乎另外一个 git 进程在这个仓库中运行,例如:'git commit' 命令打\n"
+"开了一个编辑器。请确认所有进程都已经关闭然后重试。如果仍然报错,\n"
+"可能之前有一个 git 进程在这个仓库中异常退出:\n"
+"手动删除这个文件再继续。"
 
-#: sequencer.c:753
+#: lockfile.c:160
 #, c-format
-msgid "Could not read %s."
-msgstr "不能读取 %s。"
+msgid "Unable to create '%s.lock': %s"
+msgstr "不能创建 '%s.lock':%s"
 
-#: sequencer.c:760
-#, c-format
-msgid "Unusable instruction sheet: %s"
-msgstr "无用的指令表单:%s"
+#: merge.c:41
+msgid "failed to read the cache"
+msgstr "无法读取缓存"
 
-#: sequencer.c:790
-#, c-format
-msgid "Invalid key: %s"
-msgstr "æ\97 æ\95\88é\94®å\90\8dï¼\9a%s"
+#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
+#: builtin/checkout.c:588 builtin/clone.c:731
+msgid "unable to write new index file"
+msgstr "æ\97 æ³\95å\86\99æ\96°ç\9a\84ç´¢å¼\95æ\96\87件"
 
-#: sequencer.c:793 builtin/pull.c:50 builtin/pull.c:52
-#, c-format
-msgid "Invalid value for %s: %s"
-msgstr "%s 的值无效:%s"
+#: merge-recursive.c:209
+msgid "(bad commit)\n"
+msgstr "(坏提交)\n"
 
-#: sequencer.c:803
+#: merge-recursive.c:231
 #, c-format
-msgid "Malformed options sheet: %s"
-msgstr "非法的选项表单:%s"
-
-#: sequencer.c:822
-msgid "a cherry-pick or revert is already in progress"
-msgstr "一个拣选或还原操作已在进行"
+msgid "addinfo_cache failed for path '%s'"
+msgstr "为路径 '%s' addinfo_cache 失败"
 
-#: sequencer.c:823
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
+#: merge-recursive.c:301
+msgid "error building trees"
+msgstr "无法创建树"
 
-#: sequencer.c:827
+#: merge-recursive.c:720
 #, c-format
-msgid "Could not create sequencer directory %s"
-msgstr "不能创建序列目录 %s"
-
-#: sequencer.c:862 sequencer.c:998
-msgid "no cherry-pick or revert in progress"
-msgstr "拣选或还原操作并未进行"
+msgid "failed to create path '%s'%s"
+msgstr "无法创建路径 '%s'%s"
 
-#: sequencer.c:864
-msgid "cannot resolve HEAD"
-msgstr "不能解析 HEAD"
+#: merge-recursive.c:731
+#, c-format
+msgid "Removing %s to make room for subdirectory\n"
+msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: sequencer.c:866 sequencer.c:900
-msgid "cannot abort from a branch yet to be born"
-msgstr "不能从尚未建立的分支终止"
+#: merge-recursive.c:745 merge-recursive.c:764
+msgid ": perhaps a D/F conflict?"
+msgstr ":可能是一个目录/文件冲突?"
 
-#: sequencer.c:886 builtin/fetch.c:724 builtin/fetch.c:970
+#: merge-recursive.c:754
 #, c-format
-msgid "cannot open %s"
-msgstr "不能打开 %s"
+msgid "refusing to lose untracked file at '%s'"
+msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: sequencer.c:888
+#: merge-recursive.c:796 builtin/cat-file.c:34
 #, c-format
-msgid "cannot read %s: %s"
-msgstr "不能读取 %s:%s"
-
-#: sequencer.c:889
-msgid "unexpected end of file"
-msgstr "意外的文件结束"
+msgid "cannot read object %s '%s'"
+msgstr "不能读取对象 %s '%s'"
 
-#: sequencer.c:895
+#: merge-recursive.c:798
 #, c-format
-msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
+msgid "blob expected for %s '%s'"
+msgstr "%s '%s' 应为数据对象"
 
-#: sequencer.c:921
+#: merge-recursive.c:822
 #, c-format
-msgid "Could not format %s."
-msgstr "不能格式化 %s。"
+msgid "failed to open '%s': %s"
+msgstr "无法打开 '%s':%s"
 
-#: sequencer.c:1066
+#: merge-recursive.c:833
 #, c-format
-msgid "%s: can't cherry-pick a %s"
-msgstr "%s:不能拣选一个%s"
+msgid "failed to symlink '%s': %s"
+msgstr "无法创建符号链接 '%s':%s"
 
-#: sequencer.c:1069
+#: merge-recursive.c:838
 #, c-format
-msgid "%s: bad revision"
-msgstr "%s:错误的版本"
+msgid "do not know what to do with %06o %s '%s'"
+msgstr "不知道如何处理 %06o %s '%s'"
 
-#: sequencer.c:1102
-msgid "Can't revert as initial commit"
-msgstr "不能作为初始提交还原"
+#: merge-recursive.c:978
+msgid "Failed to execute internal merge"
+msgstr "无法执行内部合并"
 
-#: setup.c:160
+#: merge-recursive.c:982
 #, c-format
-msgid ""
-"%s: no such path in the working tree.\n"
-"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
-msgstr ""
-"%s:工作区中无此路径。\n"
-"使用命令 'git <command> -- <path>...' 来指定本地不存在的路径。"
+msgid "Unable to add %s to database"
+msgstr "不能添加 %s 至对象库"
 
-#: setup.c:173
+#: merge-recursive.c:1081 merge-recursive.c:1095
 #, c-format
 msgid ""
-"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree."
 msgstr ""
-"有歧义的参数 '%s':未知的版本或路径不存在于工作区中。\n"
-"使用 '--' 来分隔版本和路径,例如:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
+"冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
+"的版本被保留。"
 
-#: setup.c:223
+#: merge-recursive.c:1087 merge-recursive.c:1100
 #, c-format
 msgid ""
-"ambiguous argument '%s': both revision and filename\n"
-"Use '--' to separate paths from revisions, like this:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree at %s."
 msgstr ""
-"有歧义的参数 '%s':可同时是版本和文件\n"
-"使用 '--' 来分隔版本和路径,例如:\n"
-"'git <command> [<revision>...] -- [<file>...]'"
-
-#: setup.c:248 builtin/apply.c:3362 builtin/apply.c:3373 builtin/apply.c:3419
-#, c-format
-msgid "failed to read %s"
-msgstr "无法读取 %s"
+"冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
+"的版本保留于 %8$s 中。"
 
-#: setup.c:468
-#, c-format
-msgid "Expected git repo version <= %d, found %d"
-msgstr "期望 git 仓库版本 <= %d,却得到 %d"
+#: merge-recursive.c:1143
+msgid "rename"
+msgstr "重命名"
 
-#: setup.c:476
-msgid "unknown repository extensions found:"
-msgstr "发现未知的仓库扩展:"
+#: merge-recursive.c:1143
+msgid "renamed"
+msgstr "重命名"
 
-#: setup.c:762
+#: merge-recursive.c:1200
 #, c-format
-msgid "Not a git repository (or any of the parent directories): %s"
-msgstr "不是一个 git 仓库(或者任何父目录):%s"
-
-#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
-msgid "Cannot come back to cwd"
-msgstr "无法返回当前工作目录"
-
-#: setup.c:845
-msgid "Unable to read current working directory"
-msgstr "不能读取当前工作目录"
+msgid "%s is a directory in %s adding as %s instead"
+msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: setup.c:920
+#: merge-recursive.c:1225
 #, c-format
 msgid ""
-"Not a git repository (or any parent up to mount point %s)\n"
-"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
+"\"->\"%s\" in \"%s\"%s"
 msgstr ""
-"不是一个 git 仓库(或者向上递归至挂载点 %s 的任何祖先目录)\n"
-"停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
+"冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
+"\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: setup.c:927
-#, c-format
-msgid "Cannot change to '%s/..'"
-msgstr "不能切换到 '%s/..'"
+#: merge-recursive.c:1230
+msgid " (left unresolved)"
+msgstr "(留下未解决)"
 
-#: setup.c:989
+#: merge-recursive.c:1292
 #, c-format
-msgid ""
-"Problem with core.sharedRepository filemode value (0%.3o).\n"
-"The owner of files must always have read and write permissions."
+msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
-"参数 core.sharedRepository 的文件权限值有错(0%.3o)。\n"
-"文件属主必须始终拥有读写权限。"
-
-#: sha1_file.c:1046
-msgid "offset before end of packfile (broken .idx?)"
-msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
+"冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
+"%5$s"
 
-#: sha1_file.c:2434
+#: merge-recursive.c:1325
 #, c-format
-msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
+msgid "Renaming %s to %s and %s to %s instead"
+msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
 
-#: sha1_file.c:2438
+#: merge-recursive.c:1531
 #, c-format
-msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
-
-#: sha1_name.c:462
-msgid ""
-"Git normally never creates a ref that ends with 40 hex characters\n"
-"because it will be ignored when you just specify 40-hex. These refs\n"
-"may be created by mistake. For example,\n"
-"\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
-"\n"
-"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
-"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
-msgstr ""
-"Git 通常不会创建一个以40位十六进制字符命名的引用,因为当你提供40位\n"
-"十六进制字符时将被忽略。不过这些引用也可能被错误地创建。例如:\n"
-"\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
-"\n"
-"当 \"$br\" 空白时一个40位十六进制的引用将被创建。请检查这些引用,\n"
-"可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
-"命令关闭本消息通知。"
+msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
+msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: submodule.c:64 submodule.c:98
-msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
-msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
+#: merge-recursive.c:1546
+#, c-format
+msgid "Adding merged %s"
+msgstr "添加合并后的 %s"
 
-#: submodule.c:68 submodule.c:102
+#: merge-recursive.c:1553 merge-recursive.c:1766
 #, c-format
-msgid "Could not find section in .gitmodules where path=%s"
-msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
+msgid "Adding as %s instead"
+msgstr "而是以 %s 为名添加"
 
-#: submodule.c:76
+#: merge-recursive.c:1610
 #, c-format
-msgid "Could not update .gitmodules entry %s"
-msgstr "不能更新 .gitmodules 条目 %s"
+msgid "cannot read object %s"
+msgstr "不能读取对象 %s"
 
-#: submodule.c:109
+#: merge-recursive.c:1613
 #, c-format
-msgid "Could not remove .gitmodules entry for %s"
-msgstr "无法移除 %s 的 .gitmodules 条目"
+msgid "object %s is not a blob"
+msgstr "对象 %s 不是一个数据对象"
 
-#: submodule.c:120
-msgid "staging updated .gitmodules failed"
-msgstr "将更新后 .gitmodules 添加暂存区失败"
+#: merge-recursive.c:1666
+msgid "modify"
+msgstr "修改"
 
-#: submodule.c:177
-msgid "negative values not allowed for submodule.fetchJobs"
-msgstr "submodule.fetchJobs 不允许为负值"
+#: merge-recursive.c:1666
+msgid "modified"
+msgstr "修改"
 
-#: submodule-config.c:358
+#: merge-recursive.c:1676
+msgid "content"
+msgstr "内容"
+
+#: merge-recursive.c:1683
+msgid "add/add"
+msgstr "添加/添加"
+
+#: merge-recursive.c:1718
 #, c-format
-msgid "invalid value for %s"
-msgstr "%s 的值无效"
+msgid "Skipped %s (merged same as existing)"
+msgstr "略过 %s(已经做过相同合并)"
 
-#: trailer.c:237
+#: merge-recursive.c:1732
 #, c-format
-msgid "running trailer command '%s' failed"
-msgstr "执行 trailer 命令 '%s' 失败"
+msgid "Auto-merging %s"
+msgstr "自动合并 %s"
 
-#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
-#: trailer.c:562
+#: merge-recursive.c:1736 git-submodule.sh:924
+msgid "submodule"
+msgstr "子模组"
+
+#: merge-recursive.c:1737
 #, c-format
-msgid "unknown value '%s' for key '%s'"
-msgstr "键 '%2$s' 的未知取值 '%1$s'"
+msgid "CONFLICT (%s): Merge conflict in %s"
+msgstr "冲突(%s):合并冲突于 %s"
 
-#: trailer.c:544 trailer.c:549 builtin/remote.c:289
+#: merge-recursive.c:1831
 #, c-format
-msgid "more than one %s"
-msgstr "多于一个 %s"
+msgid "Removing %s"
+msgstr "删除 %s"
+
+#: merge-recursive.c:1857
+msgid "file/directory"
+msgstr "文件/目录"
+
+#: merge-recursive.c:1863
+msgid "directory/file"
+msgstr "目录/文件"
 
-#: trailer.c:582
+#: merge-recursive.c:1868
 #, c-format
-msgid "empty trailer token in trailer '%.*s'"
-msgstr "签名 '%.*s' 的键为空"
+msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
+msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
 
-#: trailer.c:702
+#: merge-recursive.c:1877
 #, c-format
-msgid "could not read input file '%s'"
-msgstr "不能读取输入文件 '%s'"
+msgid "Adding %s"
+msgstr "添加 %s"
 
-#: trailer.c:705
-msgid "could not read from stdin"
-msgstr "不能自标准输入读取"
+#: merge-recursive.c:1914
+msgid "Already up-to-date!"
+msgstr "已经是最新的!"
 
-#: trailer.c:857 builtin/am.c:42
+#: merge-recursive.c:1923
 #, c-format
-msgid "could not stat %s"
-msgstr "不能获取 %s 的文件状态"
+msgid "merging of trees %s and %s failed"
+msgstr "无法合并树 %s 和 %s"
 
-#: trailer.c:859
-#, c-format
-msgid "file %s is not a regular file"
-msgstr "文件 %s 不是一个正规文件"
+#: merge-recursive.c:2006
+msgid "Merging:"
+msgstr "合并:"
 
-#: trailer.c:861
+#: merge-recursive.c:2019
 #, c-format
-msgid "file %s is not writable by user"
-msgstr "文件 %s 用户不可写"
+msgid "found %u common ancestor:"
+msgid_plural "found %u common ancestors:"
+msgstr[0] "发现 %u 个共同祖先:"
+msgstr[1] "发现 %u 个共同祖先:"
 
-#: trailer.c:873
-msgid "could not open temporary file"
-msgstr "不能打开临时文件"
+#: merge-recursive.c:2058
+msgid "merge returned no commit"
+msgstr "合并未返回提交"
 
-#: trailer.c:912
+#: merge-recursive.c:2121
 #, c-format
-msgid "could not rename temporary file to %s"
-msgstr "不能重命名临时文件为 %s"
+msgid "Could not parse object '%s'"
+msgstr "不能解析对象 '%s'"
 
-#: transport.c:62
+#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788
+msgid "Unable to write index."
+msgstr "不能写入索引。"
+
+#: notes-merge.c:273
 #, c-format
-msgid "Would set upstream of '%s' to '%s' of '%s'\n"
-msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
+msgid ""
+"You have not concluded your previous notes merge (%s exists).\n"
+"Please, use 'git notes merge --commit' or 'git notes merge --abort' to "
+"commit/abort the previous merge before you start a new notes merge."
+msgstr ""
+"您尚未结束您前一次注释合并(存在 %s)。\n"
+"请您在开始一个新的注释合并之前,使用 'git notes merge --commit' 或者 'git "
+"notes merge --abort' 来提交/终止前一次合并。"
 
-#: transport.c:151
+#: notes-merge.c:280
 #, c-format
-msgid "transport: invalid depth option '%s'"
-msgstr "传输:无效的深度选项 '%s'"
+msgid "You have not concluded your notes merge (%s exists)."
+msgstr "您尚未结束注释合并(存在 %s)。"
+
+#: notes-utils.c:41
+msgid "Cannot commit uninitialized/unreferenced notes tree"
+msgstr "不能提交未初始化/未引用的注解树"
 
-#: transport.c:771
+#: notes-utils.c:100
 #, c-format
-msgid ""
-"The following submodule paths contain changes that can\n"
-"not be found on any remote:\n"
-msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
+msgid "Bad notes.rewriteMode value: '%s'"
+msgstr "坏的 notes.rewriteMode 值:'%s'"
 
-#: transport.c:775
+#: notes-utils.c:110
 #, c-format
-msgid ""
-"\n"
-"Please try\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"or cd to the path and use\n"
-"\n"
-"\tgit push\n"
-"\n"
-"to push them to a remote.\n"
-"\n"
-msgstr ""
-"\n"
-"请尝试\n"
-"\n"
-"\tgit push --recurse-submodules=on-demand\n"
-"\n"
-"或者进入到子目录执行\n"
-"\n"
-"\tgit push\n"
-"\n"
-"以推送至远程。\n"
-"\n"
-
-#: transport.c:783
-msgid "Aborting."
-msgstr "正在终止。"
+msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
+msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 
-#: transport-helper.c:1041
+#. TRANSLATORS: The first %s is the name of the
+#. environment variable, the second %s is its value
+#: notes-utils.c:137
 #, c-format
-msgid "Could not read ref %s"
-msgstr "不能读取引用 %s"
+msgid "Bad %s value: '%s'"
+msgstr "坏的 %s 值:'%s'"
 
-#: unpack-trees.c:64
+#: object.c:242
 #, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%sPlease commit your changes or stash them before you switch branches."
-msgstr ""
-"您对下列文件的本地修改将被检出操作覆盖:\n"
-"%%s请在切换分支前提交您的修改或者保存进度。"
+msgid "unable to parse object: %s"
+msgstr "不能解析对象:%s"
 
-#: unpack-trees.c:66
+#: parse-options.c:572
+msgid "..."
+msgstr "..."
+
+#: parse-options.c:590
 #, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by checkout:\n"
-"%%s"
-msgstr ""
-"您对下列文件的本地修改将被检出操作覆盖:\n"
-"%%s"
+msgid "usage: %s"
+msgstr "用法:%s"
 
-#: unpack-trees.c:69
+#. TRANSLATORS: the colon here should align with the
+#. one in "usage: %s" translation
+#: parse-options.c:594
 #, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%sPlease commit your changes or stash them before you merge."
-msgstr ""
-"您对下列文件的本地修改将被合并操作覆盖:\n"
-"%%s请在合并前提交您的修改或者保存进度。"
+msgid "   or: %s"
+msgstr "  或:%s"
 
-#: unpack-trees.c:71
+#  译者:为保证在输出中对齐,注意调整句中空格!
+#: parse-options.c:597
 #, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-"您对下列文件的本地修改将被合并操作覆盖:\n"
-"%%s"
+msgid "    %s"
+msgstr "    %s"
 
-#: unpack-trees.c:74
+#: parse-options.c:631
+msgid "-NUM"
+msgstr "-数字"
+
+#: parse-options-cb.c:108
 #, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%sPlease commit your changes or stash them before you %s."
-msgstr ""
-"您对下列文件的本地修改将被 %s 覆盖:\n"
-"%%s请在 %s 之前提交您的修改或者保存进度。"
+msgid "malformed object name '%s'"
+msgstr "非法的对象名 '%s'"
 
-#: unpack-trees.c:76
+#: path.c:826
 #, c-format
+msgid "Could not make %s writable by group"
+msgstr "不能设置 %s 为组可写"
+
+#: pathspec.c:133
+msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
+msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容"
+
+#: pathspec.c:143
 msgid ""
-"Your local changes to the following files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-"您对下列文件的本地修改将被 %s 覆盖:\n"
-"%%s"
+"global 'literal' pathspec setting is incompatible with all other global "
+"pathspec settings"
+msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
-#: unpack-trees.c:81
+#: pathspec.c:177
+msgid "invalid parameter for pathspec magic 'prefix'"
+msgstr "路径规格包含无效的神奇前缀"
+
+#: pathspec.c:183
 #, c-format
-msgid ""
-"Updating the following directories would lose untracked files in it:\n"
-"%s"
-msgstr ""
-"更新如下目录将会丢失其中未跟踪的文件:\n"
-"%s"
+msgid "Invalid pathspec magic '%.*s' in '%s'"
+msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
-#: unpack-trees.c:85
+#: pathspec.c:187
 #, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%sPlease move or remove them before you switch branches."
-msgstr ""
-"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
-"%%s请在切换分支之前移动或删除。"
+msgid "Missing ')' at the end of pathspec magic in '%s'"
+msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'"
 
-#: unpack-trees.c:87
+#: pathspec.c:205
 #, c-format
-msgid ""
-"The following untracked working tree files would be removed by checkout:\n"
-"%%s"
-msgstr ""
-"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
-"%%s"
+msgid "Unimplemented pathspec magic '%c' in '%s'"
+msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
-#: unpack-trees.c:90
+#: pathspec.c:230
 #, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%sPlease move or remove them before you merge."
-msgstr ""
-"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
-"%%s请在合并前移动或删除。"
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s:'literal' 和 'glob' 不兼容"
 
-#: unpack-trees.c:92
+#: pathspec.c:241
 #, c-format
-msgid ""
-"The following untracked working tree files would be removed by merge:\n"
-"%%s"
-msgstr ""
-"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
-"%%s"
+msgid "%s: '%s' is outside repository"
+msgstr "%s:'%s' 在仓库之外"
 
-#: unpack-trees.c:95
+#: pathspec.c:291
 #, c-format
-msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-"工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
-"%%s请在 %s 前移动或删除。"
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: unpack-trees.c:97
+#: pathspec.c:353
 #, c-format
+msgid "%s: pathspec magic not supported by this command: %s"
+msgstr "%s:路径规格神奇前缀不被此命令支持:%s"
+
+#: pathspec.c:408
 msgid ""
-"The following untracked working tree files would be removed by %s:\n"
-"%%s"
+"empty strings as pathspecs will be made invalid in upcoming releases. please "
+"use . instead if you meant to match all paths"
 msgstr ""
-"å·¥ä½\9cå\8cºä¸­ä¸\8bå\88\97æ\9cªè·\9f踪ç\9a\84æ\96\87件å°\86ä¼\9aå\9b ä¸º %s æ\93\8dä½\9cè\80\8c被å\88 é\99¤ï¼\9a\n"
-"%%s"
+"å\9c¨å\8d³å°\86å\88°æ\9d¥ç\9a\84ç\89\88æ\9c¬ï¼\8cä¸\8dè\83½å\86\8d使ç\94¨ç©ºå­\97符串ä½\9c为路å¾\84表达å¼\8fã\80\82å¦\82æ\9e\9cè¦\81å\8c¹é\85\8dæ\89\80æ\9c\89è·¯å¾\84ï¼\8c\n"
+"请代之以 ."
 
-#: unpack-trees.c:102
+#: pathspec.c:440
 #, c-format
+msgid "pathspec '%s' is beyond a symbolic link"
+msgstr "路径规格 '%s' 位于符号链接中"
+
+#: pathspec.c:449
 msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%sPlease move or remove them before you switch branches."
+"There is nothing to exclude from by :(exclude) patterns.\n"
+"Perhaps you forgot to add either ':/' or '.' ?"
 msgstr ""
-"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
-"%%s请在切换分支前移动或删除。"
+"没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
+"添加 ':/' 或 '.' ?"
 
-#: unpack-trees.c:104
+#: pretty.c:971
+msgid "unable to parse --pretty format"
+msgstr "不能解析 --pretty 格式"
+
+#: read-cache.c:1315
 #, c-format
 msgid ""
-"The following untracked working tree files would be overwritten by "
-"checkout:\n"
-"%%s"
+"index.version set, but the value is invalid.\n"
+"Using version %i"
 msgstr ""
-"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
-"%%s"
+"设置了 index.version,但是取值无效。\n"
+"使用版本 %i"
 
-#: unpack-trees.c:107
+#: read-cache.c:1325
 #, c-format
 msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%sPlease move or remove them before you merge."
+"GIT_INDEX_VERSION set, but the value is invalid.\n"
+"Using version %i"
 msgstr ""
-"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
-"%%s请在合并前移动或删除。"
+"设置了 GIT_INDEX_VERSION,但是取值无效。\n"
+"使用版本 %i"
 
-#: unpack-trees.c:109
+#: refs.c:576 builtin/merge.c:840
 #, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by merge:\n"
-"%%s"
-msgstr ""
-"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
-"%%s"
+msgid "Could not open '%s' for writing"
+msgstr "无法打开 '%s' 进行写入"
 
-#: unpack-trees.c:112
+#: refs/files-backend.c:2481
 #, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%sPlease move or remove them before you %s."
-msgstr ""
-"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
-"%%s请在 %s 前移动或删除。"
+msgid "could not delete reference %s: %s"
+msgstr "无法删除引用 %s:%s"
 
-#: unpack-trees.c:114
+#: refs/files-backend.c:2484
 #, c-format
-msgid ""
-"The following untracked working tree files would be overwritten by %s:\n"
-"%%s"
-msgstr ""
-"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
-"%%s"
+msgid "could not delete references: %s"
+msgstr "无法删除引用:%s"
 
-#: unpack-trees.c:121
+#: refs/files-backend.c:2493
 #, c-format
-msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
-msgstr "æ\9d¡ç\9b® '%s' å\92\8c '%s' é\87\8då\8f ã\80\82æ\97 æ³\95å\90\88并ã\80\82"
+msgid "could not remove reference %s"
+msgstr "æ\97 æ³\95å\88 é\99¤å¼\95ç\94¨ %s"
 
-#: unpack-trees.c:124
+#: ref-filter.c:55
 #, c-format
-msgid ""
-"Cannot update sparse checkout: the following entries are not up-to-date:\n"
-"%s"
-msgstr ""
-"无法更新稀疏检出:如下条目不是最新:\n"
-"%s"
+msgid "expected format: %%(color:<color>)"
+msgstr "期望的格式:%%(color:<color>)"
 
-#: unpack-trees.c:126
+#: ref-filter.c:57
 #, c-format
-msgid ""
-"The following Working tree files would be overwritten by sparse checkout "
-"update:\n"
-"%s"
-msgstr ""
-"工作区中下列文件将会因为稀疏检出而被覆盖:\n"
-"%s"
+msgid "unrecognized color: %%(color:%s)"
+msgstr "未能识别的颜色:%%(color:%s)"
 
-#: unpack-trees.c:128
+#: ref-filter.c:71
 #, c-format
-msgid ""
-"The following Working tree files would be removed by sparse checkout "
-"update:\n"
-"%s"
-msgstr ""
-"工作区中下列文件将会因为稀疏检出而被删除:\n"
-"%s"
+msgid "unrecognized format: %%(%s)"
+msgstr "未能识别的格式:%%(%s)"
 
-#: unpack-trees.c:205
+#: ref-filter.c:77
 #, c-format
-msgid "Aborting\n"
-msgstr "终止中\n"
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) 不带参数"
 
-#: unpack-trees.c:237
-msgid "Checking out files"
-msgstr "正在检出文件"
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) 不带参数"
 
-#: urlmatch.c:120
-msgid "invalid URL scheme name or missing '://' suffix"
-msgstr "无效的 URL 方案名称或丢失 '://' 后缀"
+#: ref-filter.c:101
+#, c-format
+msgid "positive value expected contents:lines=%s"
+msgstr "要为 contents:lines=%s 提供一个正数"
 
-#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#: ref-filter.c:103
 #, c-format
-msgid "invalid %XX escape sequence"
-msgstr "æ\97 æ\95\88ç\9a\84 %XX è½¬ä¹\89åº\8få\88\97"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "æ\9cªè\83½è¯\86å\88«ç\9a\84 %%(contents) å\8f\82æ\95°ï¼\9a%s"
 
-#: urlmatch.c:172
-msgid "missing host and scheme is not 'file:'"
-msgstr "缺失主机名且 URL 方案不是 'file:'"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: urlmatch.c:189
-msgid "a 'file:' URL may not have a port number"
-msgstr "一个 'file:' URL 不应该包含端口号"
+#: ref-filter.c:135
+#, c-format
+msgid "expected format: %%(align:<width>,<position>)"
+msgstr "期望的格式:%%(align:<width>,<position>)"
 
-#: urlmatch.c:199
-msgid "invalid characters in host name"
-msgstr "主机名中包含无效的字符"
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "未能识别的位置:%s"
 
-#: urlmatch.c:244 urlmatch.c:255
-msgid "invalid port number"
-msgstr "无效的端口号"
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "未能识别的宽度:%s"
 
-#: urlmatch.c:322
-msgid "invalid '..' path segment"
-msgstr "无效的 '..' 路径片段"
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "未能识别的 %%(align) 参数:%s"
 
-#: worktree.c:282
+#: ref-filter.c:161
 #, c-format
-msgid "failed to read '%s'"
-msgstr "无法读取 '%s'"
+msgid "positive width expected with the %%(align) atom"
+msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: wrapper.c:222 wrapper.c:392
+#: ref-filter.c:244
 #, c-format
-msgid "could not open '%s' for reading and writing"
-msgstr "无法打开 '%s' 进行读写"
+msgid "malformed field name: %.*s"
+msgstr "非法的字段名:%.*s"
 
-#: wrapper.c:224 wrapper.c:394 builtin/am.c:778
+#: ref-filter.c:270
 #, c-format
-msgid "could not open '%s' for writing"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s' è¿\9bè¡\8cå\86\99å\85¥"
+msgid "unknown field name: %.*s"
+msgstr "æ\9cªç\9f¥ç\9a\84å­\97段å\90\8dï¼\9a%.*s"
 
-#: wrapper.c:226 wrapper.c:396 builtin/am.c:324 builtin/am.c:771
-#: builtin/am.c:859 builtin/commit.c:1712 builtin/merge.c:1029
-#: builtin/pull.c:407
+#: ref-filter.c:372
 #, c-format
-msgid "could not open '%s' for reading"
-msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s' è¿\9bè¡\8c读å\8f\96"
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "æ ¼å¼\8fï¼\9a使ç\94¨äº\86 %%(end) å\85\83ç´ å\8d´æ²¡æ\9c\89å®\83ç\9a\84对åº\94å\85\83ç´ "
 
-#: wrapper.c:605 wrapper.c:626
+#: ref-filter.c:424
 #, c-format
-msgid "unable to access '%s'"
-msgstr "不能访问 '%s'"
+msgid "malformed format string %s"
+msgstr "非法的格式化字符串 %s"
 
-#: wrapper.c:634
-msgid "unable to get current working directory"
-msgstr "不能获取当前工作目录"
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= 需要一个正整型参数"
 
-#: wrapper.c:658
+#: ref-filter.c:883
 #, c-format
-msgid "could not write to %s"
-msgstr "不能写入 %s"
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "引用 '%s' 未提供用于 :strip 的 %ld 个组件"
 
-#: wrapper.c:660
+#: ref-filter.c:1046
 #, c-format
-msgid "could not close %s"
-msgstr "不能关闭 %s"
+msgid "unknown %.*s format %s"
+msgstr "未知的 %.*s 格式 %s"
 
-#: wt-status.c:150
-msgid "Unmerged paths:"
-msgstr "未合并的路径:"
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "缺失 %2$s 的对象 %1$s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:177 wt-status.c:204
+#: ref-filter.c:1069 ref-filter.c:1100
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:179 wt-status.c:206
-msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
+#: ref-filter.c:1311
+#, c-format
+msgid "malformed object at '%s'"
+msgstr "非法的对象于 '%s'"
 
-#  译者:注意保持前导空格
-#: wt-status.c:183
-msgid "  (use \"git add <file>...\" to mark resolution)"
-msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "忽略带有错误名称 %s 的引用"
 
-#  译者:注意保持前导空格
-#: wt-status.c:185 wt-status.c:189
-msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "忽略损坏的引用 %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:187
-msgid "  (use \"git rm <file>...\" to mark resolution)"
-msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
+#: ref-filter.c:1633
+#, c-format
+msgid "format: %%(end) atom missing"
+msgstr "格式:缺少 %%(end) 元素"
 
-#: wt-status.c:198 wt-status.c:882
-msgid "Changes to be committed:"
-msgstr "要提交的变更:"
+#: ref-filter.c:1687
+#, c-format
+msgid "malformed object name %s"
+msgstr "非法的对象名 %s"
 
-#: wt-status.c:216 wt-status.c:891
-msgid "Changes not staged for commit:"
-msgstr "尚未暂存以备提交的变更:"
+#: remote.c:746
+#, c-format
+msgid "Cannot fetch both %s and %s to %s"
+msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:220
-msgid "  (use \"git add <file>...\" to update what will be committed)"
-msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
+#: remote.c:750
+#, c-format
+msgid "%s usually tracks %s, not %s"
+msgstr "%s 通常跟踪 %s,而非 %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:222
-msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
+#: remote.c:754
+#, c-format
+msgid "%s tracks both %s and %s"
+msgstr "%s 同时跟踪 %s 和 %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:223
-msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
-msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
+#: remote.c:762
+msgid "Internal error"
+msgstr "内部错误"
 
-#  译者:注意保持前导空格
-#: wt-status.c:225
-msgid "  (commit or discard the untracked or modified content in submodules)"
-msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
+#: remote.c:1677 remote.c:1720
+msgid "HEAD does not point to a branch"
+msgstr "HEAD 没有指向一个分支"
 
-#  译者:注意保持前导空格
-#: wt-status.c:237
+#: remote.c:1686
 #, c-format
-msgid "  (use \"git %s <file>...\" to include in what will be committed)"
-msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
-
-#: wt-status.c:252
-msgid "both deleted:"
-msgstr "双方删除:"
+msgid "no such branch: '%s'"
+msgstr "没有此分支:'%s'"
 
-#: wt-status.c:254
-msgid "added by us:"
-msgstr "由我们添加:"
+#: remote.c:1689
+#, c-format
+msgid "no upstream configured for branch '%s'"
+msgstr "尚未给分支 '%s' 设置上游"
 
-#: wt-status.c:256
-msgid "deleted by them:"
-msgstr "由他们删除:"
+#: remote.c:1695
+#, c-format
+msgid "upstream branch '%s' not stored as a remote-tracking branch"
+msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: wt-status.c:258
-msgid "added by them:"
-msgstr "由他们添加:"
+#: remote.c:1710
+#, c-format
+msgid "push destination '%s' on remote '%s' has no local tracking branch"
+msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: wt-status.c:260
-msgid "deleted by us:"
-msgstr "由我们删除:"
+#: remote.c:1725
+#, c-format
+msgid "branch '%s' has no remote for pushing"
+msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: wt-status.c:262
-msgid "both added:"
-msgstr "双方添加:"
+#: remote.c:1736
+#, c-format
+msgid "push refspecs for '%s' do not include '%s'"
+msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: wt-status.c:264
-msgid "both modified:"
-msgstr "双方修改:"
+#: remote.c:1749
+msgid "push has no destination (push.default is 'nothing')"
+msgstr "推送无目标(push.default 是 'nothing')"
 
-#: wt-status.c:274
-msgid "new file:"
-msgstr "新文件:"
-
-#: wt-status.c:276
-msgid "copied:"
-msgstr "拷贝:"
+#: remote.c:1771
+msgid "cannot resolve 'simple' push to a single destination"
+msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: wt-status.c:278
-msgid "deleted:"
-msgstr "删除:"
+#: remote.c:2073
+#, c-format
+msgid "Your branch is based on '%s', but the upstream is gone.\n"
+msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: wt-status.c:280
-msgid "modified:"
-msgstr "修改:"
+#: remote.c:2077
+msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: wt-status.c:282
-msgid "renamed:"
-msgstr "重命名:"
+#: remote.c:2080
+#, c-format
+msgid "Your branch is up-to-date with '%s'.\n"
+msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: wt-status.c:284
-msgid "typechange:"
-msgstr "类型变更:"
+#: remote.c:2084
+#, 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"
 
-#: wt-status.c:286
-msgid "unknown:"
-msgstr "未知:"
+#: remote.c:2090
+msgid "  (use \"git push\" to publish your local commits)\n"
+msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: wt-status.c:288
-msgid "unmerged:"
-msgstr "未合并:"
+#: remote.c:2093
+#, c-format
+msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
+msgid_plural ""
+"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
+msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
+msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
-#  è¯\91è\80\85ï¼\9aæ\9c«å°¾ä¸¤ä¸ªå­\97è\8a\82å\8f¯è\83½è¢«å\88 å\87\8fï¼\8cå¦\82æ\9e\9cç¿»è¯\91为中æ\96\87æ \87ç\82¹ä¼\9aå\87ºç\8e°å\8d\8a个æ±\89å­\97
-#: wt-status.c:370
-msgid "new commits, "
-msgstr "新提交, "
+#  è¯\91è\80\85ï¼\9a注æ\84\8fä¿\9dæ\8c\81å\89\8d导空格
+#: remote.c:2101
+msgid "  (use \"git pull\" to update your local branch)\n"
+msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:372
-msgid "modified content, "
-msgstr "修改的内容, "
+#: remote.c:2104
+#, c-format
+msgid ""
+"Your branch and '%s' have diverged,\n"
+"and have %d and %d different commit each, respectively.\n"
+msgid_plural ""
+"Your branch and '%s' have diverged,\n"
+"and have %d and %d different commits each, respectively.\n"
+msgstr[0] ""
+"您的分支和 '%s' 出现了偏离,\n"
+"并且分别有 %d 和 %d 处不同的提交。\n"
+msgstr[1] ""
+"您的分支和 '%s' 出现了偏离,\n"
+"并且分别有 %d 和 %d 处不同的提交。\n"
 
-#  è¯\91è\80\85ï¼\9aæ\9c«å°¾ä¸¤ä¸ªå­\97è\8a\82å\8f¯è\83½è¢«å\88 å\87\8fï¼\8cå¦\82æ\9e\9cç¿»è¯\91为中æ\96\87æ \87ç\82¹ä¼\9aå\87ºç\8e°å\8d\8a个æ±\89å­\97
-#: wt-status.c:374
-msgid "untracked content, "
-msgstr "未跟踪的内容, "
+#  è¯\91è\80\85ï¼\9a注æ\84\8fä¿\9dæ\8c\81å\89\8d导空格
+#: remote.c:2114
+msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
+msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: wt-status.c:756
-msgid "Submodules changed but not updated:"
-msgstr "子模组已修改但尚未更新:"
+#: revision.c:2158
+msgid "your current branch appears to be broken"
+msgstr "您的当前分支好像被损坏"
 
-#: wt-status.c:758
-msgid "Submodule changes to be committed:"
-msgstr "要提交的子模组变更:"
+#: revision.c:2161
+#, c-format
+msgid "your current branch '%s' does not have any commits yet"
+msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: wt-status.c:839
-msgid ""
-"Do not touch the line above.\n"
-"Everything below will be removed."
-msgstr ""
-"不要改动上面的一行。\n"
-"下面的所有内容均将被删除。"
+#: revision.c:2355
+msgid "--first-parent is incompatible with --bisect"
+msgstr "--first-parent 与 --bisect 不兼容"
 
-#: wt-status.c:950
-msgid "You have unmerged paths."
-msgstr "您有尚未合并的路径。"
+#: run-command.c:106
+msgid "open /dev/null failed"
+msgstr "不能打开 /dev/null"
 
-#  译者:注意保持前导空格
-#: wt-status.c:953
-msgid "  (fix conflicts and run \"git commit\")"
-msgstr "  (解决冲突并运行 \"git commit\")"
+#: run-command.c:108
+#, c-format
+msgid "dup2(%d,%d) failed"
+msgstr "不能调用 dup2(%d,%d)"
 
-#  译者:注意保持前导空格
-#: wt-status.c:955
-msgid "  (use \"git merge --abort\" to abort the merge)"
-msgstr "  (使用 \"git merge --abort\" 终止合并)"
+#: send-pack.c:297
+msgid "failed to sign the push certificate"
+msgstr "无法为推送证书签名"
 
-#: wt-status.c:960
-msgid "All conflicts fixed but you are still merging."
-msgstr "æ\89\80æ\9c\89å\86²çª\81已解å\86³ä½\86æ\82¨ä»\8då¤\84äº\8eå\90\88并中ã\80\82"
+#: send-pack.c:410
+msgid "the receiving end does not support --signed push"
+msgstr "æ\8e¥æ\94¶ç«¯ä¸\8dæ\94¯æ\8c\81ç­¾å\90\8dæ\8e¨é\80\81"
 
-#  译者:注意保持前导空格
-#: wt-status.c:963
-msgid "  (use \"git commit\" to conclude merge)"
-msgstr "  (使用 \"git commit\" 结束合并)"
+#: send-pack.c:412
+msgid ""
+"not sending a push certificate since the receiving end does not support --"
+"signed push"
+msgstr "未发送推送证书,因为接收端不支持签名推送"
 
-#: wt-status.c:973
-msgid "You are in the middle of an am session."
-msgstr "æ\82¨æ­£å¤\84äº\8e am æ\93\8dä½\9cè¿\87ç¨\8b中ã\80\82"
+#: send-pack.c:424
+msgid "the receiving end does not support --atomic push"
+msgstr "æ\8e¥æ\94¶ç«¯ä¸\8dæ\94¯æ\8c\81å\8e\9få­\90æ\8e¨é\80\81"
 
-#: wt-status.c:976
-msgid "The current patch is empty."
-msgstr "当前的补丁为空。"
+#: send-pack.c:429
+msgid "the receiving end does not support push options"
+msgstr "接收端不支持推送选项"
 
-#  译者:注意保持前导空格
-#: wt-status.c:980
-msgid "  (fix conflicts and then run \"git am --continue\")"
-msgstr "  (解决冲突,然后运行 \"git am --continue\")"
+#: sequencer.c:171
+msgid "revert"
+msgstr "还原"
 
-#  译者:注意保持前导空格
-#: wt-status.c:982
-msgid "  (use \"git am --skip\" to skip this patch)"
-msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
+#: sequencer.c:171
+msgid "cherry-pick"
+msgstr "拣选"
 
-#  译者:注意保持前导空格
-#: wt-status.c:984
-msgid "  (use \"git am --abort\" to restore the original branch)"
-msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
+#: sequencer.c:228
+msgid ""
+"after resolving the conflicts, mark the corrected paths\n"
+"with 'git add <paths>' or 'git rm <paths>'"
+msgstr ""
+"冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
+"命令标记修正后的文件"
 
-#: wt-status.c:1109
-msgid "No commands done."
-msgstr "没有命令被执行。"
+#: sequencer.c:231
+msgid ""
+"after resolving the conflicts, mark the corrected paths\n"
+"with 'git add <paths>' or 'git rm <paths>'\n"
+"and commit the result with 'git commit'"
+msgstr ""
+"冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
+"对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: wt-status.c:1112
+#: sequencer.c:244 sequencer.c:1209
 #, c-format
-msgid "Last command done (%d command done):"
-msgid_plural "Last commands done (%d commands done):"
-msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
-msgstr[1] "最后的命令已完成(%d 条命令被执行):"
+msgid "could not lock '%s'"
+msgstr "不能锁定 '%s'"
 
-#: wt-status.c:1123
+#: sequencer.c:247 sequencer.c:1125 sequencer.c:1214
 #, c-format
-msgid "  (see more in file %s)"
-msgstr "  (更多参见文件 %s)"
+msgid "could not write to '%s'"
+msgstr "不能写入 '%s'"
 
-#: wt-status.c:1128
-msgid "No commands remaining."
-msgstr "未剩下任何命令。"
+#: sequencer.c:251
+#, c-format
+msgid "could not write eol to '%s'"
+msgstr "不能将换行符写入 '%s'"
 
-#: wt-status.c:1131
+#: sequencer.c:255 sequencer.c:1130 sequencer.c:1216
 #, c-format
-msgid "Next command to do (%d remaining command):"
-msgid_plural "Next commands to do (%d remaining commands):"
-msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
-msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
+msgid "failed to finalize '%s'."
+msgstr "无法完成 '%s'。"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1139
-msgid "  (use \"git rebase --edit-todo\" to view and edit)"
-msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
+#: sequencer.c:279 builtin/am.c:259 builtin/commit.c:749 builtin/merge.c:1032
+#, c-format
+msgid "could not read '%s'"
+msgstr "不能读取 '%s'"
 
-#: wt-status.c:1152
+#: sequencer.c:305
 #, c-format
-msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
+msgid "your local changes would be overwritten by %s."
+msgstr "您的本地修改将被%s覆盖。"
 
-#: wt-status.c:1157
-msgid "You are currently rebasing."
-msgstr "æ\82¨å\9c¨æ\89§è¡\8cå\8f\98å\9fºæ\93\8dä½\9c。"
+#: sequencer.c:309
+msgid "commit your changes or stash them to proceed."
+msgstr "æ\8f\90交æ\82¨ç\9a\84ä¿®æ\94¹æ\88\96ä¿\9då­\98è¿\9b度å\90\8eå\86\8d继续。"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1171
-msgid "  (fix conflicts and then run \"git rebase --continue\")"
-msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
+#: sequencer.c:324
+#, c-format
+msgid "%s: fast-forward"
+msgstr "%s:快进"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1173
-msgid "  (use \"git rebase --skip\" to skip this patch)"
-msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
+#. TRANSLATORS: %s will be "revert" or "cherry-pick"
+#: sequencer.c:399
+#, c-format
+msgid "%s: Unable to write new index file"
+msgstr "%s:无法写入新索引文件"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1175
-msgid "  (use \"git rebase --abort\" to check out the original branch)"
-msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
+#: sequencer.c:418
+msgid "could not resolve HEAD commit\n"
+msgstr "不能解析 HEAD 提交\n"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1181
-msgid "  (all conflicts fixed: run \"git rebase --continue\")"
-msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
+#: sequencer.c:438
+msgid "unable to update cache tree\n"
+msgstr "不能更新缓存\n"
 
-#: wt-status.c:1185
+#: sequencer.c:483
 #, c-format
 msgid ""
-"You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
-
-#: wt-status.c:1190
-msgid "You are currently splitting a commit during a rebase."
-msgstr "您在执行变基操作时拆分提交。"
-
-#  译者:注意保持前导空格
-#: wt-status.c:1193
-msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
-msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
+"you have staged changes in your working tree\n"
+"If these changes are meant to be squashed into the previous commit, run:\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"If they are meant to go into a new commit, run:\n"
+"\n"
+"  git commit %s\n"
+"\n"
+"In both cases, once you're done, continue with:\n"
+"\n"
+"  git rebase --continue\n"
+msgstr ""
+"您已暂存了工作区的修改。如果这些修改要压缩到前一个提交,执行:\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"如果这些变更要形成一个新提交,执行:\n"
+"\n"
+"  git commit %s\n"
+"\n"
+"无论哪种情况,当您完成提交,继续执行:\n"
+"\n"
+"  git rebase --continue\n"
 
-#: wt-status.c:1197
+#: sequencer.c:567
 #, c-format
-msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
+msgid "could not parse commit %s\n"
+msgstr "不能解析提交 %s\n"
 
-#: wt-status.c:1202
-msgid "You are currently editing a commit during a rebase."
-msgstr "您在执行变基操作时编辑提交。"
+#: sequencer.c:572
+#, c-format
+msgid "could not parse parent commit %s\n"
+msgstr "不能解析父提交 %s\n"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1205
-msgid "  (use \"git commit --amend\" to amend the current commit)"
-msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
+#: sequencer.c:656
+msgid "your index file is unmerged."
+msgstr "您的索引文件未完成合并。"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1207
-msgid ""
-"  (use \"git rebase --continue\" once you are satisfied with your changes)"
-msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
+#: sequencer.c:675
+#, c-format
+msgid "commit %s is a merge but no -m option was given."
+msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: wt-status.c:1217
+#: sequencer.c:683
 #, c-format
-msgid "You are currently cherry-picking commit %s."
-msgstr "æ\82¨å\9c¨æ\89§è¡\8cæ\8b£é\80\89æ\8f\90交 %s ç\9a\84æ\93\8dä½\9cã\80\82"
+msgid "commit %s does not have parent %d"
+msgstr "æ\8f\90交 %s æ²¡æ\9c\89第 %d ä¸ªç\88¶æ\8f\90交"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1222
-msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
-msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
+#: sequencer.c:687
+#, c-format
+msgid "mainline was specified but commit %s is not a merge."
+msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1225
-msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
-msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
+#. TRANSLATORS: The first %s will be a "todo" command like
+#. "revert" or "pick", the second %s a SHA1.
+#: sequencer.c:700
+#, c-format
+msgid "%s: cannot parse parent commit %s"
+msgstr "%s:不能解析父提交 %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1227
-msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
-msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
+#: sequencer.c:705
+#, c-format
+msgid "cannot get commit message for %s"
+msgstr "不能得到 %s 的提交说明"
 
-#: wt-status.c:1236
+#: sequencer.c:797
 #, c-format
-msgid "You are currently reverting commit %s."
-msgstr "您在执行反转提交 %s 的操作。"
+msgid "could not revert %s... %s"
+msgstr "不能还原 %s... %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1241
-msgid "  (fix conflicts and run \"git revert --continue\")"
-msgstr "  (解决冲突并运行 \"git revert --continue\")"
+#: sequencer.c:798
+#, c-format
+msgid "could not apply %s... %s"
+msgstr "不能应用 %s... %s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1244
-msgid "  (all conflicts fixed: run \"git revert --continue\")"
-msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
+#: sequencer.c:833
+msgid "empty commit set passed"
+msgstr "提供了空的提交集"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1246
-msgid "  (use \"git revert --abort\" to cancel the revert operation)"
-msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
+#: sequencer.c:843
+#, c-format
+msgid "git %s: failed to read the index"
+msgstr "git %s:无法读取索引"
 
-#: wt-status.c:1257
+#: sequencer.c:850
 #, c-format
-msgid "You are currently bisecting, started from branch '%s'."
-msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
+msgid "git %s: failed to refresh the index"
+msgstr "git %s:无法刷新索引"
 
-#: wt-status.c:1261
-msgid "You are currently bisecting."
-msgstr "您在执行二分查找操作。"
+#: sequencer.c:944
+#, c-format
+msgid "invalid line %d: %.*s"
+msgstr "无效行 %d:%.*s"
 
-#  译者:注意保持前导空格
-#: wt-status.c:1264
-msgid "  (use \"git bisect reset\" to get back to the original branch)"
-msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
+#: sequencer.c:950
+msgid "no commits parsed."
+msgstr "没有解析提交。"
+
+#: sequencer.c:966
+#, c-format
+msgid "could not read '%s'."
+msgstr "不能读取 '%s'。"
+
+#: sequencer.c:972
+#, c-format
+msgid "unusable instruction sheet: '%s'"
+msgstr "无用的指令清单:'%s'"
+
+#: sequencer.c:983
+msgid "cannot cherry-pick during a revert."
+msgstr "不能在回退中执行拣选。"
+
+#: sequencer.c:985
+msgid "cannot revert during a cherry-pick."
+msgstr "不能在拣选中执行回退。"
+
+#: sequencer.c:1028
+#, c-format
+msgid "invalid key: %s"
+msgstr "无效键名:%s"
+
+#: sequencer.c:1031
+#, c-format
+msgid "invalid value for %s: %s"
+msgstr "%s 的值无效:%s"
+
+#: sequencer.c:1063
+#, c-format
+msgid "malformed options sheet: '%s'"
+msgstr "非法的选项清单:'%s'"
+
+#: sequencer.c:1101
+msgid "a cherry-pick or revert is already in progress"
+msgstr "一个拣选或还原操作已在进行"
+
+#: sequencer.c:1102
+msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
+msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
+
+#: sequencer.c:1106
+#, c-format
+msgid "could not create sequencer directory '%s'"
+msgstr "不能创建序列目录 '%s'"
+
+#: sequencer.c:1120
+msgid "could not lock HEAD"
+msgstr "不能锁定 HEAD"
+
+#: sequencer.c:1151 sequencer.c:1289
+msgid "no cherry-pick or revert in progress"
+msgstr "拣选或还原操作并未进行"
+
+#: sequencer.c:1153
+msgid "cannot resolve HEAD"
+msgstr "不能解析 HEAD"
+
+#: sequencer.c:1155 sequencer.c:1189
+msgid "cannot abort from a branch yet to be born"
+msgstr "不能从尚未建立的分支终止"
+
+#: sequencer.c:1175 builtin/grep.c:578
+#, c-format
+msgid "cannot open '%s'"
+msgstr "不能打开 '%s'"
+
+#: sequencer.c:1177
+#, c-format
+msgid "cannot read '%s': %s"
+msgstr "不能读取 '%s':%s"
+
+#: sequencer.c:1178
+msgid "unexpected end of file"
+msgstr "意外的文件结束"
+
+#: sequencer.c:1184
+#, c-format
+msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
+msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
+
+#: sequencer.c:1354
+#, c-format
+msgid "%s: can't cherry-pick a %s"
+msgstr "%s:不能拣选一个%s"
+
+#: sequencer.c:1358
+#, c-format
+msgid "%s: bad revision"
+msgstr "%s:错误的版本"
+
+#: sequencer.c:1391
+msgid "can't revert as initial commit"
+msgstr "不能作为初始提交回退"
+
+#: setup.c:160
+#, c-format
+msgid ""
+"%s: no such path in the working tree.\n"
+"Use 'git <command> -- <path>...' to specify paths that do not exist locally."
+msgstr ""
+"%s:工作区中无此路径。\n"
+"使用命令 'git <command> -- <path>...' 来指定本地不存在的路径。"
+
+#: setup.c:173
+#, c-format
+msgid ""
+"ambiguous argument '%s': unknown revision or path not in the working tree.\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"有歧义的参数 '%s':未知的版本或路径不存在于工作区中。\n"
+"使用 '--' 来分隔版本和路径,例如:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+
+#: setup.c:223
+#, c-format
+msgid ""
+"ambiguous argument '%s': both revision and filename\n"
+"Use '--' to separate paths from revisions, like this:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+msgstr ""
+"有歧义的参数 '%s':可同时是版本和文件\n"
+"使用 '--' 来分隔版本和路径,例如:\n"
+"'git <command> [<revision>...] -- [<file>...]'"
+
+#: setup.c:468
+#, c-format
+msgid "Expected git repo version <= %d, found %d"
+msgstr "期望 git 仓库版本 <= %d,却得到 %d"
+
+#: setup.c:476
+msgid "unknown repository extensions found:"
+msgstr "发现未知的仓库扩展:"
+
+#: setup.c:762
+#, c-format
+msgid "Not a git repository (or any of the parent directories): %s"
+msgstr "不是一个 git 仓库(或者任何父目录):%s"
+
+#: setup.c:764 setup.c:915 builtin/index-pack.c:1641
+msgid "Cannot come back to cwd"
+msgstr "无法返回当前工作目录"
+
+#: setup.c:845
+msgid "Unable to read current working directory"
+msgstr "不能读取当前工作目录"
+
+#: setup.c:920
+#, c-format
+msgid ""
+"Not a git repository (or any parent up to mount point %s)\n"
+"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."
+msgstr ""
+"不是一个 git 仓库(或者向上递归至挂载点 %s 的任何祖先目录)\n"
+"停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
+
+#: setup.c:927
+#, c-format
+msgid "Cannot change to '%s/..'"
+msgstr "不能切换到 '%s/..'"
+
+#: setup.c:989
+#, c-format
+msgid ""
+"Problem with core.sharedRepository filemode value (0%.3o).\n"
+"The owner of files must always have read and write permissions."
+msgstr ""
+"参数 core.sharedRepository 的文件权限值有错(0%.3o)。\n"
+"文件属主必须始终拥有读写权限。"
+
+#: sha1_file.c:473
+#, c-format
+msgid "path '%s' does not exist"
+msgstr "路径 '%s' 不存在"
+
+#: sha1_file.c:499
+#, c-format
+msgid "reference repository '%s' as a linked checkout is not supported yet."
+msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
+
+#: sha1_file.c:505
+#, c-format
+msgid "reference repository '%s' is not a local repository."
+msgstr "参考仓库 '%s' 不是一个本地仓库。"
+
+#: sha1_file.c:511
+#, c-format
+msgid "reference repository '%s' is shallow"
+msgstr "参考仓库 '%s' 是一个浅克隆"
+
+#: sha1_file.c:519
+#, c-format
+msgid "reference repository '%s' is grafted"
+msgstr "参考仓库 '%s' 已被嫁接"
+
+#: sha1_file.c:1159
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
+
+#: sha1_file.c:2592
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
+
+#: sha1_file.c:2596
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
+
+#: sha1_name.c:407
+#, c-format
+msgid "short SHA1 %s is ambiguous"
+msgstr "歧义的短 SHA1 %s"
+
+#: sha1_name.c:418
+msgid "The candidates are:"
+msgstr "候选者有:"
+
+#: sha1_name.c:578
+msgid ""
+"Git normally never creates a ref that ends with 40 hex characters\n"
+"because it will be ignored when you just specify 40-hex. These refs\n"
+"may be created by mistake. For example,\n"
+"\n"
+"  git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
+"examine these refs and maybe delete them. Turn this message off by\n"
+"running \"git config advice.objectNameWarning false\""
+msgstr ""
+"Git 通常不会创建一个以40位十六进制字符命名的引用,因为当你提供40位\n"
+"十六进制字符时将被忽略。不过这些引用也可能被错误地创建。例如:\n"
+"\n"
+"  git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"当 \"$br\" 空白时一个40位十六进制的引用将被创建。请检查这些引用,\n"
+"可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
+"命令关闭本消息通知。"
+
+#: submodule.c:64 submodule.c:98
+msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
+msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
+
+#: submodule.c:68 submodule.c:102
+#, c-format
+msgid "Could not find section in .gitmodules where path=%s"
+msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
+
+#: submodule.c:76
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "不能更新 .gitmodules 条目 %s"
+
+#: submodule.c:109
+#, c-format
+msgid "Could not remove .gitmodules entry for %s"
+msgstr "无法移除 %s 的 .gitmodules 条目"
+
+#: submodule.c:120
+msgid "staging updated .gitmodules failed"
+msgstr "将更新后 .gitmodules 添加暂存区失败"
+
+#: submodule.c:158
+msgid "negative values not allowed for submodule.fetchJobs"
+msgstr "submodule.fetchJobs 不允许为负值"
+
+#: submodule-config.c:358
+#, c-format
+msgid "invalid value for %s"
+msgstr "%s 的值无效"
+
+#: trailer.c:238
+#, c-format
+msgid "running trailer command '%s' failed"
+msgstr "执行 trailer 命令 '%s' 失败"
+
+#: trailer.c:471 trailer.c:475 trailer.c:479 trailer.c:533 trailer.c:537
+#: trailer.c:541
+#, c-format
+msgid "unknown value '%s' for key '%s'"
+msgstr "键 '%2$s' 的未知取值 '%1$s'"
+
+#: trailer.c:523 trailer.c:528 builtin/remote.c:289
+#, c-format
+msgid "more than one %s"
+msgstr "多于一个 %s"
+
+#: trailer.c:672
+#, c-format
+msgid "empty trailer token in trailer '%.*s'"
+msgstr "签名 '%.*s' 的键为空"
+
+#: trailer.c:695
+#, c-format
+msgid "could not read input file '%s'"
+msgstr "不能读取输入文件 '%s'"
+
+#: trailer.c:698
+msgid "could not read from stdin"
+msgstr "不能自标准输入读取"
+
+#: trailer.c:929 builtin/am.c:44
+#, c-format
+msgid "could not stat %s"
+msgstr "不能获取 %s 的文件状态"
+
+#: trailer.c:931
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "文件 %s 不是一个正规文件"
+
+#: trailer.c:933
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "文件 %s 用户不可写"
+
+#: trailer.c:945
+msgid "could not open temporary file"
+msgstr "不能打开临时文件"
+
+#: trailer.c:983
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "不能重命名临时文件为 %s"
+
+#: transport.c:62
+#, c-format
+msgid "Would set upstream of '%s' to '%s' of '%s'\n"
+msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
+
+#: transport.c:151
+#, c-format
+msgid "transport: invalid depth option '%s'"
+msgstr "传输:无效的深度选项 '%s'"
+
+#: transport.c:817
+#, c-format
+msgid ""
+"The following submodule paths contain changes that can\n"
+"not be found on any remote:\n"
+msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
+
+#: transport.c:821
+#, c-format
+msgid ""
+"\n"
+"Please try\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"or cd to the path and use\n"
+"\n"
+"\tgit push\n"
+"\n"
+"to push them to a remote.\n"
+"\n"
+msgstr ""
+"\n"
+"请尝试\n"
+"\n"
+"\tgit push --recurse-submodules=on-demand\n"
+"\n"
+"或者进入到子目录执行\n"
+"\n"
+"\tgit push\n"
+"\n"
+"以推送至远程。\n"
+"\n"
+
+#: transport.c:829
+msgid "Aborting."
+msgstr "正在终止。"
+
+#: transport-helper.c:1075
+#, c-format
+msgid "Could not read ref %s"
+msgstr "不能读取引用 %s"
+
+#: tree-walk.c:31
+msgid "too-short tree object"
+msgstr "太短的树对象"
+
+#: tree-walk.c:37
+msgid "malformed mode in tree entry"
+msgstr "树对象中的条目属性错误"
+
+#: tree-walk.c:41
+msgid "empty filename in tree entry"
+msgstr "树对象条目中空的文件名"
+
+#: tree-walk.c:113
+msgid "too-short tree file"
+msgstr "太短的树文件"
+
+#: unpack-trees.c:64
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by checkout:\n"
+"%%sPlease commit your changes or stash them before you switch branches."
+msgstr ""
+"您对下列文件的本地修改将被检出操作覆盖:\n"
+"%%s请在切换分支前提交您的修改或者保存进度。"
+
+#: unpack-trees.c:66
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by checkout:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被检出操作覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:69
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"%%sPlease commit your changes or stash them before you merge."
+msgstr ""
+"您对下列文件的本地修改将被合并操作覆盖:\n"
+"%%s请在合并前提交您的修改或者保存进度。"
+
+#: unpack-trees.c:71
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被合并操作覆盖:\n"
+"%%s"
+
+#: unpack-trees.c:74
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by %s:\n"
+"%%sPlease commit your changes or stash them before you %s."
+msgstr ""
+"您对下列文件的本地修改将被 %s 覆盖:\n"
+"%%s请在 %s 之前提交您的修改或者保存进度。"
 
-#: wt-status.c:1464
-msgid "On branch "
-msgstr "位于分支 "
+#: unpack-trees.c:76
+#, c-format
+msgid ""
+"Your local changes to the following files would be overwritten by %s:\n"
+"%%s"
+msgstr ""
+"您对下列文件的本地修改将被 %s 覆盖:\n"
+"%%s"
 
-#: wt-status.c:1470
-msgid "interactive rebase in progress; onto "
-msgstr "交互式变基操作正在进行中;至 "
+#: unpack-trees.c:81
+#, c-format
+msgid ""
+"Updating the following directories would lose untracked files in it:\n"
+"%s"
+msgstr ""
+"更新如下目录将会丢失其中未跟踪的文件:\n"
+"%s"
 
-#: wt-status.c:1472
-msgid "rebase in progress; onto "
-msgstr "变基操作正在进行中;至 "
+#: unpack-trees.c:85
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by checkout:\n"
+"%%sPlease move or remove them before you switch branches."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
+"%%s请在切换分支之前移动或删除。"
 
-#: wt-status.c:1477
-msgid "HEAD detached at "
-msgstr "头指针分离于 "
+#: unpack-trees.c:87
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by checkout:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
+"%%s"
 
-#: wt-status.c:1479
-msgid "HEAD detached from "
-msgstr "头指针分离自 "
+#: unpack-trees.c:90
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by merge:\n"
+"%%sPlease move or remove them before you merge."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
+"%%s请在合并前移动或删除。"
 
-#: wt-status.c:1482
-msgid "Not currently on any branch."
-msgstr "当前不在任何分支上。"
+#: unpack-trees.c:92
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by merge:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
+"%%s"
 
-#: wt-status.c:1500
-msgid "Initial commit"
-msgstr "初始提交"
+#: unpack-trees.c:95
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by %s:\n"
+"%%sPlease move or remove them before you %s."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
+"%%s请在 %s 前移动或删除。"
 
-#: wt-status.c:1514
-msgid "Untracked files"
-msgstr "未跟踪的文件"
+#: unpack-trees.c:97
+#, c-format
+msgid ""
+"The following untracked working tree files would be removed by %s:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
+"%%s"
 
-#: wt-status.c:1516
-msgid "Ignored files"
-msgstr "忽略的文件"
+#: unpack-trees.c:102
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by "
+"checkout:\n"
+"%%sPlease move or remove them before you switch branches."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
+"%%s请在切换分支前移动或删除。"
 
-#: wt-status.c:1520
+#: unpack-trees.c:104
 #, 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')."
+"The following untracked working tree files would be overwritten by "
+"checkout:\n"
+"%%s"
 msgstr ""
-"耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
-"但您需要小心不要忘了添加新文件(参见 'git help status')。"
+"工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
+"%%s"
 
-#: wt-status.c:1526
+#: unpack-trees.c:107
 #, c-format
-msgid "Untracked files not listed%s"
-msgstr "未跟踪的文件没有列出%s"
+msgid ""
+"The following untracked working tree files would be overwritten by merge:\n"
+"%%sPlease move or remove them before you merge."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
+"%%s请在合并前移动或删除。"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1528
-msgid " (use -u option to show untracked files)"
-msgstr "(使用 -u 参数显示未跟踪的文件)"
+#: unpack-trees.c:109
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by merge:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
+"%%s"
 
-#: wt-status.c:1534
-msgid "No changes"
-msgstr "没有修改"
+#: unpack-trees.c:112
+#, c-format
+msgid ""
+"The following untracked working tree files would be overwritten by %s:\n"
+"%%sPlease move or remove them before you %s."
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
+"%%s请在 %s 前移动或删除。"
 
-#: wt-status.c:1539
+#: unpack-trees.c:114
 #, c-format
-msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
-msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
+msgid ""
+"The following untracked working tree files would be overwritten by %s:\n"
+"%%s"
+msgstr ""
+"工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
+"%%s"
 
-#: wt-status.c:1542
+#: unpack-trees.c:121
 #, c-format
-msgid "no changes added to commit\n"
-msgstr "修改尚未加入提交\n"
+msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
+msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: wt-status.c:1545
+#: unpack-trees.c:124
 #, c-format
 msgid ""
-"nothing added to commit but untracked files present (use \"git add\" to "
-"track)\n"
-msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
+"Cannot update sparse checkout: the following entries are not up-to-date:\n"
+"%s"
+msgstr ""
+"无法更新稀疏检出:如下条目不是最新:\n"
+"%s"
 
-#: wt-status.c:1548
+#: unpack-trees.c:126
 #, c-format
-msgid "nothing added to commit but untracked files present\n"
-msgstr "提交为空,但是存在尚未跟踪的文件\n"
+msgid ""
+"The following working tree files would be overwritten by sparse checkout "
+"update:\n"
+"%s"
+msgstr ""
+"工作区中下列文件将被稀疏检出更新所覆盖:\n"
+"%s"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1551
+#: unpack-trees.c:128
 #, c-format
-msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
-msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
+msgid ""
+"The following working tree files would be removed by sparse checkout "
+"update:\n"
+"%s"
+msgstr ""
+"工作区中下列文件将被稀疏检出更新所删除:\n"
+"%s"
 
-#: wt-status.c:1554 wt-status.c:1559
+#: unpack-trees.c:205
 #, c-format
-msgid "nothing to commit\n"
-msgstr "无文件要提交\n"
+msgid "Aborting\n"
+msgstr "终止中\n"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1557
-#, c-format
-msgid "nothing to commit (use -u to show untracked files)\n"
-msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
+#: unpack-trees.c:237
+msgid "Checking out files"
+msgstr "正在检出文件"
 
-#  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1561
+#: urlmatch.c:120
+msgid "invalid URL scheme name or missing '://' suffix"
+msgstr "无效的 URL 方案名称或丢失 '://' 后缀"
+
+#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
 #, c-format
-msgid "nothing to commit, working tree clean\n"
-msgstr "æ\97 æ\96\87件è¦\81æ\8f\90交ï¼\8cå¹²å\87\80ç\9a\84å·¥ä½\9cå\8cº\n"
+msgid "invalid %XX escape sequence"
+msgstr "æ\97 æ\95\88ç\9a\84 %XX è½¬ä¹\89åº\8få\88\97"
 
-#  译者:注意保持句尾空格
-#: wt-status.c:1668
-msgid "Initial commit on "
-msgstr "初始提交于 "
+#: urlmatch.c:172
+msgid "missing host and scheme is not 'file:'"
+msgstr "缺失主机名且 URL 方案不是 'file:'"
 
-#: wt-status.c:1672
-msgid "HEAD (no branch)"
-msgstr "HEAD(非分支)"
+#: urlmatch.c:189
+msgid "a 'file:' URL may not have a port number"
+msgstr "一个 'file:' URL 不应该包含端口号"
 
-#: wt-status.c:1701
-msgid "gone"
-msgstr "丢失"
+#: urlmatch.c:199
+msgid "invalid characters in host name"
+msgstr "主æ\9cºå\90\8d中å\8c\85å\90«æ\97 æ\95\88ç\9a\84å­\97符"
 
-#  译者:注意保持句尾空格
-#: wt-status.c:1703 wt-status.c:1711
-msgid "behind "
-msgstr "落后 "
+#: urlmatch.c:244 urlmatch.c:255
+msgid "invalid port number"
+msgstr "无效的端口号"
 
-#: wt-status.c:1706 wt-status.c:1709
-msgid "ahead "
-msgstr "领先 "
+#: urlmatch.c:322
+msgid "invalid '..' path segment"
+msgstr "无效的 '..' 路径片段"
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:415
+#: worktree.c:282
 #, c-format
-msgid "failed to unlink '%s'"
-msgstr "无法删除 '%s'"
-
-#: builtin/add.c:22
-msgid "git add [<options>] [--] <pathspec>..."
-msgstr "git add [<选项>] [--] <路径规格>..."
+msgid "failed to read '%s'"
+msgstr "无法读取 '%s'"
 
-#: builtin/add.c:65
+#: wrapper.c:222 wrapper.c:392
 #, c-format
-msgid "unexpected diff status %c"
-msgstr "æ\84\8få¤\96ç\9a\84å·®å¼\82ç\8a¶æ\80\81 %c"
+msgid "could not open '%s' for reading and writing"
+msgstr "æ\97 æ³\95æ\89\93å¼\80 '%s' è¿\9bè¡\8c读å\86\99"
 
-#: builtin/add.c:71 builtin/commit.c:281
-msgid "updating files failed"
-msgstr "更新文件失败"
+#: wrapper.c:224 wrapper.c:394 builtin/am.c:766
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr "无法打开 '%s' 进行写入"
 
-#: builtin/add.c:81
+#: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
+#: builtin/am.c:847 builtin/commit.c:1705 builtin/merge.c:1029
+#: builtin/pull.c:341
 #, c-format
-msgid "remove '%s'\n"
-msgstr "删除 '%s'\n"
+msgid "could not open '%s' for reading"
+msgstr "无法打开 '%s' 进行读取"
 
-#: builtin/add.c:136
-msgid "Unstaged changes after refreshing the index:"
-msgstr "刷新索引之后尚未被暂存的变更:"
+#: wrapper.c:605 wrapper.c:626
+#, c-format
+msgid "unable to access '%s'"
+msgstr "不能访问 '%s'"
 
-#: builtin/add.c:196 builtin/rev-parse.c:811
-msgid "Could not read the index"
-msgstr "ä¸\8dè\83½è¯»å\8f\96ç´¢å¼\95"
+#: wrapper.c:634
+msgid "unable to get current working directory"
+msgstr "ä¸\8dè\83½è\8e·å\8f\96å½\93å\89\8då·¥ä½\9cç\9b®å½\95"
 
-#: builtin/add.c:207
+#: wrapper.c:658
 #, c-format
-msgid "Could not open '%s' for writing."
-msgstr "无法打开 '%s' 进行写入。"
+msgid "could not write to %s"
+msgstr "不能写入 %s"
 
-#: builtin/add.c:211
-msgid "Could not write patch"
-msgstr "不能生成补丁"
+#: wrapper.c:660
+#, c-format
+msgid "could not close %s"
+msgstr "不能关闭 %s"
 
-#: builtin/add.c:214
-msgid "editing patch failed"
-msgstr "编辑补丁失败"
+#: wt-status.c:151
+msgid "Unmerged paths:"
+msgstr "未合并的路径:"
 
-#: builtin/add.c:217
+#  译者:注意保持前导空格
+#: wt-status.c:178 wt-status.c:205
 #, c-format
-msgid "Could not stat '%s'"
-msgstr "不能查看文件状态 '%s'"
+msgid "  (use \"git reset %s <file>...\" to unstage)"
+msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
-#: builtin/add.c:219
-msgid "Empty patch. Aborted."
-msgstr "空补丁。异常终止。"
+#  译者:注意保持前导空格
+#: wt-status.c:180 wt-status.c:207
+msgid "  (use \"git rm --cached <file>...\" to unstage)"
+msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
-#: builtin/add.c:224
-#, c-format
-msgid "Could not apply '%s'"
-msgstr "不能应用 '%s'"
+#  译者:注意保持前导空格
+#: wt-status.c:184
+msgid "  (use \"git add <file>...\" to mark resolution)"
+msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
-#: builtin/add.c:234
-msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
+#  译者:注意保持前导空格
+#: wt-status.c:186 wt-status.c:190
+msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
+msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
-#: builtin/add.c:253 builtin/clean.c:870 builtin/fetch.c:113 builtin/mv.c:111
-#: builtin/prune-packed.c:55 builtin/pull.c:197 builtin/push.c:521
-#: builtin/remote.c:1327 builtin/rm.c:268 builtin/send-pack.c:162
-msgid "dry run"
-msgstr "演习"
+#  译者:注意保持前导空格
+#: wt-status.c:188
+msgid "  (use \"git rm <file>...\" to mark resolution)"
+msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: builtin/add.c:254 builtin/apply.c:4854 builtin/check-ignore.c:19
-#: builtin/commit.c:1334 builtin/count-objects.c:85 builtin/fsck.c:593
-#: builtin/log.c:1852 builtin/mv.c:110 builtin/read-tree.c:114
-msgid "be verbose"
-msgstr "冗长输出"
+#: wt-status.c:199 wt-status.c:945
+msgid "Changes to be committed:"
+msgstr "要提交的变更:"
 
-#: builtin/add.c:256
-msgid "interactive picking"
-msgstr "交互式拣选"
+#: wt-status.c:217 wt-status.c:954
+msgid "Changes not staged for commit:"
+msgstr "尚未暂存以备提交的变更:"
 
-#: builtin/add.c:257 builtin/checkout.c:1157 builtin/reset.c:286
-msgid "select hunks interactively"
-msgstr "交互式挑选数据块"
+#  译者:注意保持前导空格
+#: wt-status.c:221
+msgid "  (use \"git add <file>...\" to update what will be committed)"
+msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
-#: builtin/add.c:258
-msgid "edit current diff and apply"
-msgstr "编辑当前差异并应用"
+#  译者:注意保持前导空格
+#: wt-status.c:223
+msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
+msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
-#: builtin/add.c:259
-msgid "allow adding otherwise ignored files"
-msgstr "允许添加忽略的文件"
+#  译者:注意保持前导空格
+#: wt-status.c:224
+msgid ""
+"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
-#: builtin/add.c:260
-msgid "update tracked files"
-msgstr "更新已跟踪的文件"
+#  译者:注意保持前导空格
+#: wt-status.c:226
+msgid "  (commit or discard the untracked or modified content in submodules)"
+msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
-#: builtin/add.c:261
-msgid "record only the fact that the path will be added later"
-msgstr "只记录,该路径稍后再添加"
+#  译者:注意保持前导空格
+#: wt-status.c:238
+#, c-format
+msgid "  (use \"git %s <file>...\" to include in what will be committed)"
+msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
-#: builtin/add.c:262
-msgid "add changes from all tracked and untracked files"
-msgstr "添加所有改变的已跟踪文件和未跟踪文件"
+#: wt-status.c:253
+msgid "both deleted:"
+msgstr "双方删除:"
 
-#: builtin/add.c:265
-msgid "ignore paths removed in the working tree (same as --no-all)"
-msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
+#: wt-status.c:255
+msgid "added by us:"
+msgstr "由我们添加:"
 
-#: builtin/add.c:267
-msgid "don't add, only refresh the index"
-msgstr "不添加,只刷新索引"
+#: wt-status.c:257
+msgid "deleted by them:"
+msgstr "由他们删除:"
 
-#: builtin/add.c:268
-msgid "just skip files which cannot be added because of errors"
-msgstr "跳过因出错不能添加的文件"
+#: wt-status.c:259
+msgid "added by them:"
+msgstr "由他们添加:"
 
-#: builtin/add.c:269
-msgid "check if - even missing - files are ignored in dry run"
-msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
+#: wt-status.c:261
+msgid "deleted by us:"
+msgstr "由我们删除:"
 
-#: builtin/add.c:270 builtin/update-index.c:958
-msgid "(+/-)x"
-msgstr "(+/-)x"
+#: wt-status.c:263
+msgid "both added:"
+msgstr "双方添加:"
 
-#: builtin/add.c:270 builtin/update-index.c:959
-msgid "override the executable bit of the listed files"
-msgstr "覆盖列表里文件的可执行位"
+#: wt-status.c:265
+msgid "both modified:"
+msgstr "双方修改:"
 
-#: builtin/add.c:292
-#, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr "使用 -f 参数如果您确实要添加它们。\n"
+#: wt-status.c:275
+msgid "new file:"
+msgstr "新文件:"
 
-#: builtin/add.c:300
-msgid "adding files failed"
-msgstr "æ·»å\8a æ\96\87件失败"
+#: wt-status.c:277
+msgid "copied:"
+msgstr "æ\8b·è´\9dï¼\9a"
 
-#: builtin/add.c:336
-msgid "-A and -u are mutually incompatible"
-msgstr "-A 和 -u 选项互斥"
+#: wt-status.c:279
+msgid "deleted:"
+msgstr "删除:"
 
-#: builtin/add.c:343
-msgid "Option --ignore-missing can only be used together with --dry-run"
-msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
+#: wt-status.c:281
+msgid "modified:"
+msgstr "修改:"
 
-#: builtin/add.c:352
-#, c-format
-msgid "--chmod param '%s' must be either -x or +x"
-msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
+#: wt-status.c:283
+msgid "renamed:"
+msgstr "重命名:"
 
-#: builtin/add.c:367
-#, c-format
-msgid "Nothing specified, nothing added.\n"
-msgstr "没有指定文件,也没有文件被添加。\n"
+#: wt-status.c:285
+msgid "typechange:"
+msgstr "类型变更:"
 
-#: builtin/add.c:368
-#, c-format
-msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "也许您想要执行 'git add .'?\n"
+#: wt-status.c:287
+msgid "unknown:"
+msgstr "未知:"
 
-#: builtin/add.c:373 builtin/check-ignore.c:172 builtin/checkout.c:279
-#: builtin/checkout.c:473 builtin/clean.c:914 builtin/commit.c:340
-#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:240
-msgid "index file corrupt"
-msgstr "索引文件损坏"
+#: wt-status.c:289
+msgid "unmerged:"
+msgstr "未合并:"
 
-#: builtin/add.c:454 builtin/apply.c:4784 builtin/mv.c:286 builtin/rm.c:431
-msgid "Unable to write new index file"
-msgstr "无法写入新索引文件"
+#  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
+#: wt-status.c:371
+msgid "new commits, "
+msgstr "新提交, "
 
-#: builtin/am.c:257 builtin/commit.c:750 builtin/merge.c:1032
-#, c-format
-msgid "could not read '%s'"
-msgstr "ä¸\8dè\83½è¯»å\8f\96 '%s'"
+#  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
+#: wt-status.c:373
+msgid "modified content, "
+msgstr "ä¿®æ\94¹ç\9a\84å\86\85容, "
 
-#: builtin/am.c:426
-msgid "could not parse author script"
-msgstr "不能解析作者脚本"
+#  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
+#: wt-status.c:375
+msgid "untracked content, "
+msgstr "未跟踪的内容, "
 
-#: builtin/am.c:503
-#, c-format
-msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr "'%s' 被 applypatch-msg 钩子删除"
+#: wt-status.c:818
+msgid "Submodules changed but not updated:"
+msgstr "子模组已修改但尚未更新:"
 
-#: builtin/am.c:544 builtin/notes.c:301
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr "非法的输入行:'%s'。"
+#: wt-status.c:820
+msgid "Submodule changes to be committed:"
+msgstr "要提交的子模组变更:"
 
-#: builtin/am.c:581 builtin/notes.c:316
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
+#: wt-status.c:901
+msgid ""
+"Do not touch the line above.\n"
+"Everything below will be removed."
+msgstr ""
+"不要改动上面的一行。\n"
+"下面的所有内容均将被删除。"
 
-#: builtin/am.c:607
-msgid "fseek failed"
-msgstr "fseek 失败"
+#: wt-status.c:1013
+msgid "You have unmerged paths."
+msgstr "您有尚未合并的路径。"
 
-#: builtin/am.c:787
-#, c-format
-msgid "could not parse patch '%s'"
-msgstr "无法解析补丁 '%s'"
+#  译者:注意保持前导空格
+#: wt-status.c:1016
+msgid "  (fix conflicts and run \"git commit\")"
+msgstr "  (解决冲突并运行 \"git commit\")"
 
-#: builtin/am.c:852
-msgid "Only one StGIT patch series can be applied at once"
-msgstr "一次只能有一个 StGIT 补丁队列被应用"
+#  译者:注意保持前导空格
+#: wt-status.c:1018
+msgid "  (use \"git merge --abort\" to abort the merge)"
+msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: builtin/am.c:899
-msgid "invalid timestamp"
-msgstr "æ\97 æ\95\88ç\9a\84æ\97¶é\97´æ\88³"
+#: wt-status.c:1023
+msgid "All conflicts fixed but you are still merging."
+msgstr "æ\89\80æ\9c\89å\86²çª\81已解å\86³ä½\86æ\82¨ä»\8då¤\84äº\8eå\90\88并中ã\80\82"
 
-#: builtin/am.c:902 builtin/am.c:910
-msgid "invalid Date line"
-msgstr "无效的日期行"
+#  译者:注意保持前导空格
+#: wt-status.c:1026
+msgid "  (use \"git commit\" to conclude merge)"
+msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: builtin/am.c:907
-msgid "invalid timezone offset"
-msgstr "æ\97 æ\95\88ç\9a\84æ\97¶å\8cºå\81\8f移å\80¼"
+#: wt-status.c:1036
+msgid "You are in the middle of an am session."
+msgstr "æ\82¨æ­£å¤\84äº\8e am æ\93\8dä½\9cè¿\87ç¨\8b中ã\80\82"
 
-#: builtin/am.c:996
-msgid "Patch format detection failed."
-msgstr "补丁格式检测失败。"
+#: wt-status.c:1039
+msgid "The current patch is empty."
+msgstr "当前的补丁为空。"
 
-#: builtin/am.c:1001 builtin/clone.c:380
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr "无法创建目录 '%s'"
+#  译者:注意保持前导空格
+#: wt-status.c:1043
+msgid "  (fix conflicts and then run \"git am --continue\")"
+msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
-#: builtin/am.c:1005
-msgid "Failed to split patches."
-msgstr "无法拆分补丁。"
+#  译者:注意保持前导空格
+#: wt-status.c:1045
+msgid "  (use \"git am --skip\" to skip this patch)"
+msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
-#: builtin/am.c:1137 builtin/commit.c:366
-msgid "unable to write index file"
-msgstr "无法写入索引文件"
+#  译者:注意保持前导空格
+#: wt-status.c:1047
+msgid "  (use \"git am --abort\" to restore the original branch)"
+msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: builtin/am.c:1188
-#, c-format
-msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr "当您解决这一问题,执行 \"%s --continue\"。"
+#: wt-status.c:1172
+msgid "No commands done."
+msgstr "没有命令被执行。"
 
-#: builtin/am.c:1189
+#: wt-status.c:1175
 #, c-format
-msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
+msgid "Last command done (%d command done):"
+msgid_plural "Last commands done (%d commands done):"
+msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
+msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
-#: builtin/am.c:1190
+#: wt-status.c:1186
 #, c-format
-msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
+msgid "  (see more in file %s)"
+msgstr "  (更多参见文件 %s)"
 
-#: builtin/am.c:1328
-msgid "Patch is empty. Was it split wrong?"
-msgstr "补丁为空。是不是切分错误?"
+#: wt-status.c:1191
+msgid "No commands remaining."
+msgstr "未剩下任何命令。"
 
-#: builtin/am.c:1402 builtin/log.c:1543
+#: wt-status.c:1194
 #, c-format
-msgid "invalid ident line: %s"
-msgstr "包含无效的身份标识:%s"
+msgid "Next command to do (%d remaining command):"
+msgid_plural "Next commands to do (%d remaining commands):"
+msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
+msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
+
+#  译者:注意保持前导空格
+#: wt-status.c:1202
+msgid "  (use \"git rebase --edit-todo\" to view and edit)"
+msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: builtin/am.c:1429
+#: wt-status.c:1215
 #, c-format
-msgid "unable to parse commit %s"
-msgstr "不能解析提交 %s"
+msgid "You are currently rebasing branch '%s' on '%s'."
+msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: builtin/am.c:1602
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr "仓库缺乏必要的数据对象以进行三方合并。"
+#: wt-status.c:1220
+msgid "You are currently rebasing."
+msgstr "您在执行变基操作。"
 
-#: builtin/am.c:1604
-msgid "Using index info to reconstruct a base tree..."
-msgstr "使用索引来重建一个(三方合并的)基础目录树..."
+#  译者:注意保持前导空格
+#: wt-status.c:1234
+msgid "  (fix conflicts and then run \"git rebase --continue\")"
+msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
-#: builtin/am.c:1623
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-"您是否曾手动编辑过您的补丁?\n"
-"无法应用补丁到索引中的数据对象上。"
+#  译者:注意保持前导空格
+#: wt-status.c:1236
+msgid "  (use \"git rebase --skip\" to skip this patch)"
+msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
-#: builtin/am.c:1629
-msgid "Falling back to patching base and 3-way merge..."
-msgstr "回落到基础版本上打补丁及进行三方合并..."
+#  译者:注意保持前导空格
+#: wt-status.c:1238
+msgid "  (use \"git rebase --abort\" to check out the original branch)"
+msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
-#: builtin/am.c:1654
-msgid "Failed to merge in the changes."
-msgstr "无法合并变更。"
+#  译者:注意保持前导空格
+#: wt-status.c:1244
+msgid "  (all conflicts fixed: run \"git rebase --continue\")"
+msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: builtin/am.c:1679 builtin/merge.c:628
-msgid "git write-tree failed to write a tree"
-msgstr "git write-tree 无法写入一树对象"
+#: wt-status.c:1248
+#, c-format
+msgid ""
+"You are currently splitting a commit while rebasing branch '%s' on '%s'."
+msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: builtin/am.c:1686
-msgid "applying to an empty history"
-msgstr "æ­£åº\94ç\94¨å\88°ä¸\80个空å\8e\86å\8f²ä¸\8a"
+#: wt-status.c:1253
+msgid "You are currently splitting a commit during a rebase."
+msgstr "æ\82¨å\9c¨æ\89§è¡\8cå\8f\98å\9fºæ\93\8dä½\9cæ\97¶æ\8b\86å\88\86æ\8f\90交ã\80\82"
 
-#: builtin/am.c:1699 builtin/commit.c:1776 builtin/merge.c:798
-#: builtin/merge.c:823
-msgid "failed to write commit object"
-msgstr "无法写提交对象"
+#  译者:注意保持前导空格
+#: wt-status.c:1256
+msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
+msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: builtin/am.c:1731 builtin/am.c:1735
+#: wt-status.c:1260
 #, c-format
-msgid "cannot resume: %s does not exist."
-msgstr "æ\97 æ³\95继续ï¼\9a%s ä¸\8då­\98å\9c¨。"
+msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
+msgstr "æ\82¨å\9c¨æ\89§è¡\8cå°\86å\88\86æ\94¯ '%s' å\8f\98å\9fºå\88° '%s' ç\9a\84æ\93\8dä½\9cæ\97¶ç¼\96è¾\91æ\8f\90交。"
 
-#: builtin/am.c:1751
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr "æ \87å\87\86è¾\93å\85¥æ²¡æ\9c\89å\92\8cç»\88端å\85³è\81\94ï¼\8cä¸\8dè\83½è¿\9bè¡\8c交äº\92å¼\8fæ\93\8dä½\9c。"
+#: wt-status.c:1265
+msgid "You are currently editing a commit during a rebase."
+msgstr "æ\82¨å\9c¨æ\89§è¡\8cå\8f\98å\9fºæ\93\8dä½\9cæ\97¶ç¼\96è¾\91æ\8f\90交。"
 
-#: builtin/am.c:1756
-msgid "Commit Body is:"
-msgstr "提交内容为:"
+#  译者:注意保持前导空格
+#: wt-status.c:1268
+msgid "  (use \"git commit --amend\" to amend the current commit)"
+msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
-#  译者:注意保持句尾空格
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#.
-#: builtin/am.c:1766
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
+#  译者:注意保持前导空格
+#: wt-status.c:1270
+msgid ""
+"  (use \"git rebase --continue\" once you are satisfied with your changes)"
+msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: builtin/am.c:1816
+#: wt-status.c:1280
 #, c-format
-msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr "脏索引:不能应用补丁(脏文件:%s)"
+msgid "You are currently cherry-picking commit %s."
+msgstr "您在执行拣选提交 %s 的操作。"
 
-#: builtin/am.c:1853 builtin/am.c:1925
-#, c-format
-msgid "Applying: %.*s"
-msgstr "应用:%.*s"
+#  译者:注意保持前导空格
+#: wt-status.c:1285
+msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
+msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
-#: builtin/am.c:1869
-msgid "No changes -- Patch already applied."
-msgstr "没有变更 —— 补丁已经应用过。"
+#  译者:注意保持前导空格
+#: wt-status.c:1288
+msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
+msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
-#: builtin/am.c:1877
-#, c-format
-msgid "Patch failed at %s %.*s"
-msgstr "打补丁失败于 %s %.*s"
+#  译者:注意保持前导空格
+#: wt-status.c:1290
+msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
+msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: builtin/am.c:1883
+#: wt-status.c:1299
 #, c-format
-msgid "The copy of the patch that failed is found in: %s"
-msgstr "失败的补丁文件副本位于:%s"
-
-#: builtin/am.c:1928
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-"没有变更 —— 您是不是忘了执行 'git add'?\n"
-"如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
-"您也许想要跳过这个补丁。"
-
-#: builtin/am.c:1935
-msgid ""
-"You still have unmerged paths in your index.\n"
-"Did you forget to use 'git add'?"
-msgstr ""
-"您的索引中仍有未合并的路径。\n"
-"您是否忘了执行 'git add'?"
+msgid "You are currently reverting commit %s."
+msgstr "您在执行反转提交 %s 的操作。"
 
-#: builtin/am.c:2043 builtin/am.c:2047 builtin/am.c:2059 builtin/reset.c:308
-#: builtin/reset.c:316
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr "不能解析对象 '%s'。"
+#  译者:注意保持前导空格
+#: wt-status.c:1304
+msgid "  (fix conflicts and run \"git revert --continue\")"
+msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
-#: builtin/am.c:2095
-msgid "failed to clean index"
-msgstr "无法清空索引"
+#  译者:注意保持前导空格
+#: wt-status.c:1307
+msgid "  (all conflicts fixed: run \"git revert --continue\")"
+msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
-#: builtin/am.c:2129
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
+#  译者:注意保持前导空格
+#: wt-status.c:1309
+msgid "  (use \"git revert --abort\" to cancel the revert operation)"
+msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: builtin/am.c:2192
+#: wt-status.c:1320
 #, c-format
-msgid "Invalid value for --patch-format: %s"
-msgstr "æ\97 æ\95\88ç\9a\84 --patch-format å\80¼ï¼\9a%s"
+msgid "You are currently bisecting, started from branch '%s'."
+msgstr "æ\82¨å\9c¨æ\89§è¡\8cä»\8eå\88\86æ\94¯ '%s' å¼\80å§\8bç\9a\84äº\8cå\88\86æ\9f¥æ\89¾æ\93\8dä½\9cã\80\82"
 
-#: builtin/am.c:2225
-msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
-msgstr "git am [<选项>] [(<mbox>|<Maildir>)...]"
+#: wt-status.c:1324
+msgid "You are currently bisecting."
+msgstr "您在执行二分查找操作。"
 
-#: builtin/am.c:2226
-msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr "git am [<选项>] (--continue | --skip | --abort)"
+#  译者:注意保持前导空格
+#: wt-status.c:1327
+msgid "  (use \"git bisect reset\" to get back to the original branch)"
+msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: builtin/am.c:2232
-msgid "run interactively"
-msgstr "以交äº\92å¼\8fæ\96¹å¼\8fè¿\90è¡\8c"
+#: wt-status.c:1524
+msgid "On branch "
+msgstr "ä½\8däº\8eå\88\86æ\94¯ "
 
-#: builtin/am.c:2234
-msgid "historical option -- no-op"
-msgstr "老的参数 —— 无作用"
+#: wt-status.c:1530
+msgid "interactive rebase in progress; onto "
+msgstr "交互式变基操作正在进行中;至 "
 
-#: builtin/am.c:2236
-msgid "allow fall back on 3way merging if needed"
-msgstr "å¦\82æ\9e\9cå¿\85è¦\81ï¼\8cå\85\81许使ç\94¨ä¸\89æ\96¹å\90\88并ã\80\82"
+#: wt-status.c:1532
+msgid "rebase in progress; onto "
+msgstr "å\8f\98å\9fºæ\93\8dä½\9cæ­£å\9c¨è¿\9bè¡\8c中ï¼\9bè\87³ "
 
-#: builtin/am.c:2237 builtin/init-db.c:481 builtin/prune-packed.c:57
-#: builtin/repack.c:172
-msgid "be quiet"
-msgstr "静默模式"
+#: wt-status.c:1537
+msgid "HEAD detached at "
+msgstr "头指针分离于 "
 
-#: builtin/am.c:2239
-msgid "add a Signed-off-by line to the commit message"
-msgstr "å\9c¨æ\8f\90交说æ\98\8e中添å\8a ä¸\80个 Signed-off-by ç­¾å\90\8d"
+#: wt-status.c:1539
+msgid "HEAD detached from "
+msgstr "头æ\8c\87é\92\88å\88\86离è\87ª "
 
-#: builtin/am.c:2242
-msgid "recode into utf8 (default)"
-msgstr "使用 utf8 字符集(默认)"
+#: wt-status.c:1542
+msgid "Not currently on any branch."
+msgstr "当前不在任何分支上。"
 
-#: builtin/am.c:2244
-msgid "pass -k flag to git-mailinfo"
-msgstr "å\90\91 git-mailinfo ä¼ é\80\92 -k å\8f\82æ\95°"
+#: wt-status.c:1560
+msgid "Initial commit"
+msgstr "å\88\9då§\8bæ\8f\90交"
 
-#: builtin/am.c:2246
-msgid "pass -b flag to git-mailinfo"
-msgstr "向 git-mailinfo 传递 -b 参数"
+#: wt-status.c:1574
+msgid "Untracked files"
+msgstr "未跟踪的文件"
 
-#: builtin/am.c:2248
-msgid "pass -m flag to git-mailinfo"
-msgstr "å\90\91 git-mailinfo ä¼ é\80\92 -m å\8f\82æ\95°"
+#: wt-status.c:1576
+msgid "Ignored files"
+msgstr "忽ç\95¥ç\9a\84æ\96\87件"
 
-#: builtin/am.c:2250
-msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
+#: wt-status.c:1580
+#, 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')。"
 
-#: builtin/am.c:2253
-msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
+#: wt-status.c:1586
+#, c-format
+msgid "Untracked files not listed%s"
+msgstr "未跟踪的文件没有列出%s"
 
-#: builtin/am.c:2256
-msgid "strip everything before a scissors line"
-msgstr "丢弃裁切线前的所有内容"
+#  译者:中文字符串拼接,可删除前导空格
+#: wt-status.c:1588
+msgid " (use -u option to show untracked files)"
+msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: builtin/am.c:2257 builtin/apply.c:4837
-msgid "action"
-msgstr "动作"
+#: wt-status.c:1594
+msgid "No changes"
+msgstr "没有修改"
 
-#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267
-#: builtin/am.c:2270 builtin/am.c:2273 builtin/am.c:2276 builtin/am.c:2279
-#: builtin/am.c:2285
-msgid "pass it through git-apply"
-msgstr "传递给 git-apply"
+#: wt-status.c:1599
+#, c-format
+msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
+msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: builtin/am.c:2266 builtin/apply.c:4861
-msgid "root"
-msgstr "根目录"
+#: wt-status.c:1602
+#, c-format
+msgid "no changes added to commit\n"
+msgstr "修改尚未加入提交\n"
 
-#: builtin/am.c:2269 builtin/am.c:2272 builtin/apply.c:4799
-#: builtin/apply.c:4802 builtin/clone.c:90 builtin/fetch.c:96
-#: builtin/pull.c:179 builtin/submodule--helper.c:277
-#: builtin/submodule--helper.c:402 builtin/submodule--helper.c:482
-#: builtin/submodule--helper.c:485 builtin/submodule--helper.c:823
-#: builtin/submodule--helper.c:826
-msgid "path"
-msgstr "路径"
+#: wt-status.c:1605
+#, c-format
+msgid ""
+"nothing added to commit but untracked files present (use \"git add\" to "
+"track)\n"
+msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: builtin/am.c:2275 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:706 builtin/merge.c:200 builtin/pull.c:134
-#: builtin/pull.c:193 builtin/repack.c:181 builtin/repack.c:185
-#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
-#: parse-options.h:132 parse-options.h:134 parse-options.h:244
-msgid "n"
-msgstr "n"
+#: wt-status.c:1608
+#, c-format
+msgid "nothing added to commit but untracked files present\n"
+msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
-#: builtin/am.c:2278 builtin/apply.c:4805
-msgid "num"
-msgstr "数字"
+#  译者:中文字符串拼接,可删除前导空格
+#: wt-status.c:1611
+#, c-format
+msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
+msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: builtin/am.c:2281 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:372
-msgid "format"
-msgstr "格式"
+#: wt-status.c:1614 wt-status.c:1619
+#, c-format
+msgid "nothing to commit\n"
+msgstr "无文件要提交\n"
+
+#  译者:中文字符串拼接,可删除前导空格
+#: wt-status.c:1617
+#, c-format
+msgid "nothing to commit (use -u to show untracked files)\n"
+msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
-#: builtin/am.c:2282
-msgid "format the patch(es) are in"
-msgstr "补丁的格式"
+#  译者:中文字符串拼接,可删除前导空格
+#: wt-status.c:1621
+#, c-format
+msgid "nothing to commit, working tree clean\n"
+msgstr "无文件要提交,干净的工作区\n"
 
-#: builtin/am.c:2288
-msgid "override error message when patch failure occurs"
-msgstr "打补丁失败时显示的错误信息"
+#  译者:注意保持句尾空格
+#: wt-status.c:1728
+msgid "Initial commit on "
+msgstr "初始提交于 "
 
-#: builtin/am.c:2290
-msgid "continue applying patches after resolving a conflict"
-msgstr "冲突解决后继续应用补丁"
+#: wt-status.c:1732
+msgid "HEAD (no branch)"
+msgstr "HEAD(非分支)"
 
-#: builtin/am.c:2293
-msgid "synonyms for --continue"
-msgstr "和 --continue 同义"
+#: wt-status.c:1761
+msgid "gone"
+msgstr "丢失"
 
-#: builtin/am.c:2296
-msgid "skip the current patch"
-msgstr "跳过当前补丁"
+#  译者:注意保持句尾空格
+#: wt-status.c:1763 wt-status.c:1771
+msgid "behind "
+msgstr "落后 "
 
-#: builtin/am.c:2299
-msgid "restore the original branch and abort the patching operation."
-msgstr "恢复原始分支并终止打补丁操作。"
+#: wt-status.c:1766 wt-status.c:1769
+msgid "ahead "
+msgstr "领先 "
 
-#: builtin/am.c:2303
-msgid "lie about committer date"
-msgstr "将作者日期作为提交日期"
+#. TRANSLATORS: the action is e.g. "pull with rebase"
+#: wt-status.c:2270
+#, c-format
+msgid "cannot %s: You have unstaged changes."
+msgstr "不能%s:您有未暂存的变更。"
 
-#: builtin/am.c:2305
-msgid "use current timestamp for author date"
-msgstr "用当前时间作为作者日期"
+#: wt-status.c:2276
+msgid "additionally, your index contains uncommitted changes."
+msgstr "而且您的索引中包含未提交的变更。"
 
-#: builtin/am.c:2307 builtin/commit.c:1610 builtin/merge.c:229
-#: builtin/pull.c:164 builtin/revert.c:92 builtin/tag.c:355
-msgid "key-id"
-msgstr "key-id"
+#: wt-status.c:2278
+#, c-format
+msgid "cannot %s: Your index contains uncommitted changes."
+msgstr "不能%s:您的索引中包含未提交的变更。"
 
-#: builtin/am.c:2308
-msgid "GPG-sign commits"
-msgstr "使用 GPG 签名提交"
+#: compat/precompose_utf8.c:57 builtin/clone.c:414
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "无法删除 '%s'"
 
-#: builtin/am.c:2311
-msgid "(internal use for git-rebase)"
-msgstr "(内部使用,用于 git-rebase)"
+#: builtin/add.c:22
+msgid "git add [<options>] [--] <pathspec>..."
+msgstr "git add [<选项>] [--] <路径规格>..."
 
-#: builtin/am.c:2326
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-"参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
-"请不要再使用它了。"
+#: builtin/add.c:80
+#, c-format
+msgid "unexpected diff status %c"
+msgstr "意外的差异状态 %c"
 
-#: builtin/am.c:2333
-msgid "failed to read the index"
-msgstr "æ\97 æ³\95读å\8f\96ç´¢å¼\95"
+#: builtin/add.c:85 builtin/commit.c:291
+msgid "updating files failed"
+msgstr "æ\9b´æ\96°æ\96\87件失败"
 
-#: builtin/am.c:2348
+#: builtin/add.c:95
 #, c-format
-msgid "previous rebase directory %s still exists but mbox given."
-msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
+msgid "remove '%s'\n"
+msgstr "删除 '%s'\n"
+
+#: builtin/add.c:149
+msgid "Unstaged changes after refreshing the index:"
+msgstr "刷新索引之后尚未被暂存的变更:"
+
+#: builtin/add.c:209 builtin/rev-parse.c:840
+msgid "Could not read the index"
+msgstr "不能读取索引"
 
-#: builtin/am.c:2372
+#: builtin/add.c:220
 #, c-format
-msgid ""
-"Stray %s directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-"发现了错误的 %s 目录。\n"
-"使用 \"git am --abort\" 删除它。"
+msgid "Could not open '%s' for writing."
+msgstr "无法打开 '%s' 进行写入。"
 
-#: builtin/am.c:2378
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr "解决操作未进行,我们不会继续。"
+#: builtin/add.c:224
+msgid "Could not write patch"
+msgstr "不能生成补丁"
 
-#: builtin/apply.c:122
-msgid "git apply [<options>] [<patch>...]"
-msgstr "git apply [<选项>] [<补丁>...]"
+#: builtin/add.c:227
+msgid "editing patch failed"
+msgstr "编辑补丁失败"
 
-#: builtin/apply.c:153
+#: builtin/add.c:230
 #, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr "未能识别的空白字符选项 '%s'"
+msgid "Could not stat '%s'"
+msgstr "不能查看文件状态 '%s'"
 
-#: builtin/apply.c:169
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr "未能识别的空白字符忽略选项 '%s'"
+#: builtin/add.c:232
+msgid "Empty patch. Aborted."
+msgstr "空补丁。异常终止。"
 
-#: builtin/apply.c:854
+#: builtin/add.c:237
 #, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr "无法准备时间戳正则表达式 %s"
+msgid "Could not apply '%s'"
+msgstr "不能应用 '%s'"
 
-#: builtin/apply.c:863
-#, c-format
-msgid "regexec returned %d for input: %s"
-msgstr "regexec 返回 %d,输入为:%s"
+#: builtin/add.c:247
+msgid "The following paths are ignored by one of your .gitignore files:\n"
+msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/apply.c:947
-#, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr "不能在补丁的第 %d 行找到文件名"
+#: builtin/add.c:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:521
+#: builtin/remote.c:1326 builtin/rm.c:268 builtin/send-pack.c:162
+msgid "dry run"
+msgstr "演习"
 
-#: builtin/apply.c:984
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
+#: builtin/add.c:269
+msgid "interactive picking"
+msgstr "交互式拣选"
 
-#: builtin/apply.c:989
-#, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
+#: builtin/add.c:270 builtin/checkout.c:1156 builtin/reset.c:286
+msgid "select hunks interactively"
+msgstr "交互式挑选数据块"
 
-#: builtin/apply.c:990
-#, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
+#: builtin/add.c:271
+msgid "edit current diff and apply"
+msgstr "编辑当前差异并应用"
 
-#: builtin/apply.c:995
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
+#: builtin/add.c:272
+msgid "allow adding otherwise ignored files"
+msgstr "允许添加忽略的文件"
 
-#: builtin/apply.c:1489
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recount:意外的行:%.*s"
+#: builtin/add.c:273
+msgid "update tracked files"
+msgstr "更新已跟踪的文件"
 
-#: builtin/apply.c:1550
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "第 %d 行的补丁片段没有头信息:%.*s"
+#: builtin/add.c:274
+msgid "record only the fact that the path will be added later"
+msgstr "只记录,该路径稍后再添加"
 
-#: builtin/apply.c:1567
-#, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
-msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
+#: builtin/add.c:275
+msgid "add changes from all tracked and untracked files"
+msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/apply.c:1743
-msgid "new file depends on old contents"
-msgstr "新文件依赖旧内容"
+#: builtin/add.c:278
+msgid "ignore paths removed in the working tree (same as --no-all)"
+msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/apply.c:1745
-msgid "deleted file still has contents"
-msgstr "删除的文件仍有内容"
+#: builtin/add.c:280
+msgid "don't add, only refresh the index"
+msgstr "不添加,只刷新索引"
 
-#: builtin/apply.c:1774
-#, c-format
-msgid "corrupt patch at line %d"
-msgstr "补丁在第 %d 行损坏"
+#: builtin/add.c:281
+msgid "just skip files which cannot be added because of errors"
+msgstr "跳过因出错不能添加的文件"
 
-#: builtin/apply.c:1810
-#, c-format
-msgid "new file %s depends on old contents"
-msgstr "新文件 %s 依赖旧内容"
+#: builtin/add.c:282
+msgid "check if - even missing - files are ignored in dry run"
+msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/apply.c:1812
-#, c-format
-msgid "deleted file %s still has contents"
-msgstr "删除的文件 %s 仍有内容"
+#: builtin/add.c:283 builtin/update-index.c:947
+msgid "(+/-)x"
+msgstr "(+/-)x"
 
-#: builtin/apply.c:1815
-#, c-format
-msgid "** warning: file %s becomes empty but is not deleted"
-msgstr "** 警告:文件 %s 成为空文件但并未删除"
+#: builtin/add.c:283 builtin/update-index.c:948
+msgid "override the executable bit of the listed files"
+msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/apply.c:1962
+#: builtin/add.c:305
 #, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr "äº\8cè¿\9bå\88¶è¡¥ä¸\81å\9c¨ç¬¬ %d è¡\8cæ\8d\9få\9d\8fï¼\9a%.*s"
+msgid "Use -f if you really want to add them.\n"
+msgstr "使ç\94¨ -f å\8f\82æ\95°å¦\82æ\9e\9cæ\82¨ç¡®å®\9eè¦\81æ·»å\8a å®\83们ã\80\82\n"
 
-#: builtin/apply.c:1999
-#, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr "未能识别的二进制补丁位于第 %d 行"
+#: builtin/add.c:312
+msgid "adding files failed"
+msgstr "添加文件失败"
 
-#: builtin/apply.c:2154
-#, c-format
-msgid "patch with only garbage at line %d"
-msgstr "补丁文件的第 %d 行只有垃圾数据"
+#: builtin/add.c:348
+msgid "-A and -u are mutually incompatible"
+msgstr "-A 和 -u 选项互斥"
 
-#: builtin/apply.c:2244
-#, c-format
-msgid "unable to read symlink %s"
-msgstr "无法读取符号链接 %s"
+#: builtin/add.c:355
+msgid "Option --ignore-missing can only be used together with --dry-run"
+msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/apply.c:2248
+#: builtin/add.c:359
 #, c-format
-msgid "unable to open or read %s"
-msgstr "不能打开或读取 %s"
+msgid "--chmod param '%s' must be either -x or +x"
+msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/apply.c:2901
+#: builtin/add.c:374
 #, c-format
-msgid "invalid start of line: '%c'"
-msgstr "æ\97 æ\95\88ç\9a\84è¡\8cé¦\96å­\97符ï¼\9a'%c'"
+msgid "Nothing specified, nothing added.\n"
+msgstr "没æ\9c\89æ\8c\87å®\9aæ\96\87件ï¼\8cä¹\9f没æ\9c\89æ\96\87件被添å\8a ã\80\82\n"
 
-#: builtin/apply.c:3020
+#: builtin/add.c:375
 #, 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 行)"
+msgid "Maybe you wanted to say 'git add .'?\n"
+msgstr "也许您想要执行 'git add .'?\n"
+
+#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
+#: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
+#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:244
+msgid "index file corrupt"
+msgstr "索引文件损坏"
+
+#: builtin/am.c:414
+msgid "could not parse author script"
+msgstr "不能解析作者脚本"
 
-#: builtin/apply.c:3032
+#: builtin/am.c:491
 #, c-format
-msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
+msgid "'%s' was deleted by the applypatch-msg hook"
+msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/apply.c:3038
+#: builtin/am.c:532
 #, c-format
-msgid ""
-"while searching for:\n"
-"%.*s"
-msgstr ""
-"当查询:\n"
-"%.*s"
+msgid "Malformed input line: '%s'."
+msgstr "非法的输入行:'%s'。"
 
-#: builtin/apply.c:3060
+#: builtin/am.c:569
 #, c-format
-msgid "missing binary patch data for '%s'"
-msgstr "缺失 '%s' 的二进制补丁数据"
+msgid "Failed to copy notes from '%s' to '%s'"
+msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
 
-#: builtin/apply.c:3163
+#: builtin/am.c:595
+msgid "fseek failed"
+msgstr "fseek 失败"
+
+#: builtin/am.c:775
 #, c-format
-msgid "binary patch does not apply to '%s'"
-msgstr "二进制补丁未应用到 '%s'"
+msgid "could not parse patch '%s'"
+msgstr "无法解析补丁 '%s'"
+
+#: builtin/am.c:840
+msgid "Only one StGIT patch series can be applied at once"
+msgstr "一次只能有一个 StGIT 补丁队列被应用"
+
+#: builtin/am.c:887
+msgid "invalid timestamp"
+msgstr "无效的时间戳"
+
+#: builtin/am.c:890 builtin/am.c:898
+msgid "invalid Date line"
+msgstr "无效的日期行"
 
-#: builtin/apply.c:3169
-#, c-format
-msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
+#: builtin/am.c:895
+msgid "invalid timezone offset"
+msgstr "无效的时区偏移值"
 
-#: builtin/apply.c:3190
-#, c-format
-msgid "patch failed: %s:%ld"
-msgstr "打补丁失败:%s:%ld"
+#: builtin/am.c:984
+msgid "Patch format detection failed."
+msgstr "补丁格式检测失败。"
 
-#: builtin/apply.c:3314
+#: builtin/am.c:989 builtin/clone.c:379
 #, c-format
-msgid "cannot checkout %s"
-msgstr "不能检出 %s"
+msgid "failed to create directory '%s'"
+msgstr "无法创建目录 '%s'"
 
-#: builtin/apply.c:3370
-#, c-format
-msgid "reading from '%s' beyond a symbolic link"
-msgstr "读取位于符号链接中的 '%s'"
+#: builtin/am.c:993
+msgid "Failed to split patches."
+msgstr "无法拆分补丁。"
 
-#: builtin/apply.c:3399 builtin/apply.c:3630
-#, c-format
-msgid "path %s has been renamed/deleted"
-msgstr "路径 %s 已经被重命名/删除"
+#: builtin/am.c:1125 builtin/commit.c:376
+msgid "unable to write index file"
+msgstr "无法写入索引文件"
 
-#: builtin/apply.c:3482 builtin/apply.c:3644
+#: builtin/am.c:1176
 #, c-format
-msgid "%s: does not exist in index"
-msgstr "%s:不存在于索引中"
+msgid "When you have resolved this problem, run \"%s --continue\"."
+msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/apply.c:3486 builtin/apply.c:3636 builtin/apply.c:3658
+#: builtin/am.c:1177
 #, c-format
-msgid "%s: %s"
-msgstr "%s:%s"
+msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
+msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/apply.c:3491 builtin/apply.c:3652
+#: builtin/am.c:1178
 #, c-format
-msgid "%s: does not match index"
-msgstr "%s:和索引不匹配"
+msgid "To restore the original branch and stop patching, run \"%s --abort\"."
+msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
 
-#: builtin/apply.c:3597
-msgid "removal patch leaves file contents"
-msgstr "移除补丁仍留下了文件内容"
+#: builtin/am.c:1316
+msgid "Patch is empty. Was it split wrong?"
+msgstr "补丁为空。是不是切分错误?"
 
-#: builtin/apply.c:3669
+#: builtin/am.c:1390 builtin/log.c:1550
 #, c-format
-msgid "%s: wrong type"
-msgstr "%s:错误类型"
+msgid "invalid ident line: %s"
+msgstr "包含无效的身份标识:%s"
 
-#: builtin/apply.c:3671
+#: builtin/am.c:1417
 #, c-format
-msgid "%s has type %o, expected %o"
-msgstr "%s 的类型是 %o,应为 %o"
+msgid "unable to parse commit %s"
+msgstr "不能解析提交 %s"
 
-#: builtin/apply.c:3822 builtin/apply.c:3824
-#, c-format
-msgid "invalid path '%s'"
-msgstr "无效路径 '%s'"
+#: builtin/am.c:1610
+msgid "Repository lacks necessary blobs to fall back on 3-way merge."
+msgstr "仓库缺乏必要的数据对象以进行三方合并。"
 
-#: builtin/apply.c:3879
-#, c-format
-msgid "%s: already exists in index"
-msgstr "%s:已经存在于索引中"
+#: builtin/am.c:1612
+msgid "Using index info to reconstruct a base tree..."
+msgstr "使用索引来重建一个(三方合并的)基础目录树..."
 
-#: builtin/apply.c:3882
-#, c-format
-msgid "%s: already exists in working directory"
-msgstr "%s:已经存在于工作区中"
+#: builtin/am.c:1631
+msgid ""
+"Did you hand edit your patch?\n"
+"It does not apply to blobs recorded in its index."
+msgstr ""
+"您是否曾手动编辑过您的补丁?\n"
+"无法应用补丁到索引中的数据对象上。"
 
-#: builtin/apply.c:3902
-#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
+#: builtin/am.c:1637
+msgid "Falling back to patching base and 3-way merge..."
+msgstr "回落到基础版本上打补丁及进行三方合并..."
 
-#: builtin/apply.c:3907
-#, 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/am.c:1662
+msgid "Failed to merge in the changes."
+msgstr "无法合并变更。"
 
-#: builtin/apply.c:3927
-#, c-format
-msgid "affected file '%s' is beyond a symbolic link"
-msgstr "受影响的文件 '%s' 位于符号链接中"
+#: builtin/am.c:1686 builtin/merge.c:628
+msgid "git write-tree failed to write a tree"
+msgstr "git write-tree 无法写入一树对象"
 
-#: builtin/apply.c:3931
-#, c-format
-msgid "%s: patch does not apply"
-msgstr "%s:补丁未应用"
+#: builtin/am.c:1693
+msgid "applying to an empty history"
+msgstr "正应用到一个空历史上"
 
-#: builtin/apply.c:3945
-#, c-format
-msgid "Checking patch %s..."
-msgstr "æ£\80æ\9f¥è¡¥ä¸\81 %s..."
+#: builtin/am.c:1706 builtin/commit.c:1769 builtin/merge.c:798
+#: builtin/merge.c:823
+msgid "failed to write commit object"
+msgstr "æ\97 æ³\95å\86\99æ\8f\90交对象"
 
-#: builtin/apply.c:4038 builtin/checkout.c:233 builtin/reset.c:135
+#: builtin/am.c:1739 builtin/am.c:1743
 #, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
+msgid "cannot resume: %s does not exist."
+msgstr "无法继续:%s 不存在。"
 
-#: builtin/apply.c:4182
-#, c-format
-msgid "unable to remove %s from index"
-msgstr "不能从索引中移除 %s"
+#: builtin/am.c:1759
+msgid "cannot be interactive without stdin connected to a terminal."
+msgstr "标准输入没有和终端关联,不能进行交互式操作。"
 
-#: builtin/apply.c:4215
-#, c-format
-msgid "corrupt patch for submodule %s"
-msgstr "子模组 %s 损坏的补丁"
+#: builtin/am.c:1764
+msgid "Commit Body is:"
+msgstr "提交内容为:"
 
-#: builtin/apply.c:4219
-#, c-format
-msgid "unable to stat newly created file '%s'"
-msgstr "不能枚举新建文件 '%s' 的状态"
+#  译者:注意保持句尾空格
+#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
+#. in your translation. The program will only accept English
+#. input at this point.
+#.
+#: builtin/am.c:1774
+msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
+msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
 
-#: builtin/apply.c:4224
+#: builtin/am.c:1824
 #, c-format
-msgid "unable to create backing store for newly created file %s"
-msgstr "不能为新建文件 %s 创建后端存储"
+msgid "Dirty index: cannot apply patches (dirty: %s)"
+msgstr "脏索引:不能应用补丁(脏文件:%s)"
 
-#: builtin/apply.c:4227 builtin/apply.c:4340
+#: builtin/am.c:1861 builtin/am.c:1933
 #, c-format
-msgid "unable to add cache entry for %s"
-msgstr "无法为 %s 添加缓存条目"
+msgid "Applying: %.*s"
+msgstr "应用:%.*s"
 
-#: builtin/apply.c:4260
-#, c-format
-msgid "closing file '%s'"
-msgstr "关闭文件 '%s'"
+#: builtin/am.c:1877
+msgid "No changes -- Patch already applied."
+msgstr "没有变更 —— 补丁已经应用过。"
 
-#: builtin/apply.c:4313
+#: builtin/am.c:1885
 #, c-format
-msgid "unable to write file '%s' mode %o"
-msgstr "不能写文件 '%s' 权限 %o"
+msgid "Patch failed at %s %.*s"
+msgstr "打补丁失败于 %s %.*s"
 
-#: builtin/apply.c:4403
+#: builtin/am.c:1891
 #, c-format
-msgid "Applied patch %s cleanly."
-msgstr "成功应用补丁 %s。"
+msgid "The copy of the patch that failed is found in: %s"
+msgstr "失败的补丁文件副本位于:%s"
 
-#: builtin/apply.c:4411
-msgid "internal error"
-msgstr "内部错误"
+#: builtin/am.c:1936
+msgid ""
+"No changes - did you forget to use 'git add'?\n"
+"If there is nothing left to stage, chances are that something else\n"
+"already introduced the same changes; you might want to skip this patch."
+msgstr ""
+"没有变更 —— 您是不是忘了执行 'git add'?\n"
+"如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
+"您也许想要跳过这个补丁。"
 
-#: builtin/apply.c:4414
-#, 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/am.c:1943
+msgid ""
+"You still have unmerged paths in your index.\n"
+"Did you forget to use 'git add'?"
+msgstr ""
+"您的索引中仍有未合并的路径。\n"
+"您是否忘了执行 'git add'?"
 
-#: builtin/apply.c:4424
+#: builtin/am.c:2051 builtin/am.c:2055 builtin/am.c:2067 builtin/reset.c:308
+#: builtin/reset.c:316
 #, c-format
-msgid "truncating .rej filename to %.*s.rej"
-msgstr "截短 .rej 文件名为 %.*s.rej"
+msgid "Could not parse object '%s'."
+msgstr "不能解析对象 '%s'。"
 
-#: builtin/apply.c:4432
-#, c-format
-msgid "cannot open %s: %s"
-msgstr "不能打开 %s:%s"
+#: builtin/am.c:2103
+msgid "failed to clean index"
+msgstr "无法清空索引"
 
-#: builtin/apply.c:4445
-#, c-format
-msgid "Hunk #%d applied cleanly."
-msgstr "第 #%d 个片段成功应用。"
+#: builtin/am.c:2137
+msgid ""
+"You seem to have moved HEAD since the last 'am' failure.\n"
+"Not rewinding to ORIG_HEAD"
+msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
 
-#: builtin/apply.c:4448
+#: builtin/am.c:2200
 #, c-format
-msgid "Rejected hunk #%d."
-msgstr "æ\8b\92ç»\9d第 #%d ä¸ªç\89\87段ã\80\82"
+msgid "Invalid value for --patch-format: %s"
+msgstr "æ\97 æ\95\88ç\9a\84 --patch-format å\80¼ï¼\9a%s"
 
-#: builtin/apply.c:4537
-#, c-format
-msgid "Skipped patch '%s'."
-msgstr "略过补丁 '%s'。"
+#: builtin/am.c:2233
+msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
+msgstr "git am [<选项>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/apply.c:4545
-msgid "unrecognized input"
-msgstr "未能识别的输入"
+#: builtin/am.c:2234
+msgid "git am [<options>] (--continue | --skip | --abort)"
+msgstr "git am [<选项>] (--continue | --skip | --abort)"
 
-#: builtin/apply.c:4556
-msgid "unable to read index file"
-msgstr "无法读取索引文件"
+#: builtin/am.c:2240
+msgid "run interactively"
+msgstr "以交互式方式运行"
 
-#: builtin/apply.c:4701
-msgid "--3way outside a repository"
-msgstr "--3way 在一个仓库之外"
+#: builtin/am.c:2242
+msgid "historical option -- no-op"
+msgstr "老的参数 —— 无作用"
 
-#: builtin/apply.c:4709
-msgid "--index outside a repository"
-msgstr "--index 在一个仓库之外"
+#: builtin/am.c:2244
+msgid "allow fall back on 3way merging if needed"
+msgstr "如果必要,允许使用三方合并。"
 
-#: builtin/apply.c:4712
-msgid "--cached outside a repository"
-msgstr "--cached 在一个仓库之外"
+#: builtin/am.c:2245 builtin/init-db.c:483 builtin/prune-packed.c:57
+#: builtin/repack.c:172
+msgid "be quiet"
+msgstr "静默模式"
 
-#: builtin/apply.c:4745
-#, c-format
-msgid "can't open patch '%s'"
-msgstr "不能打开补丁 '%s'"
+#: builtin/am.c:2247
+msgid "add a Signed-off-by line to the commit message"
+msgstr "在提交说明中添加一个 Signed-off-by 签名"
 
-#: builtin/apply.c:4760
-#, c-format
-msgid "squelched %d whitespace error"
-msgid_plural "squelched %d whitespace errors"
-msgstr[0] "抑制下仍有 %d 个空白字符误用"
-msgstr[1] "抑制下仍有 %d 个空白字符误用"
+#: builtin/am.c:2250
+msgid "recode into utf8 (default)"
+msgstr "使用 utf8 字符集(默认)"
 
-#: builtin/apply.c:4766 builtin/apply.c:4776
-#, c-format
-msgid "%d line adds whitespace errors."
-msgid_plural "%d lines add whitespace errors."
-msgstr[0] "%d 行有空白字符误用。"
-msgstr[1] "%d 行有空白字符误用。"
+#: builtin/am.c:2252
+msgid "pass -k flag to git-mailinfo"
+msgstr "向 git-mailinfo 传递 -k 参数"
 
-#: builtin/apply.c:4800
-msgid "don't apply changes matching the given path"
-msgstr "不要应用与给出路径向匹配的变更"
+#: builtin/am.c:2254
+msgid "pass -b flag to git-mailinfo"
+msgstr "向 git-mailinfo 传递 -b 参数"
 
-#: builtin/apply.c:4803
-msgid "apply changes matching the given path"
-msgstr "åº\94ç\94¨ä¸\8eç»\99å\87ºè·¯å¾\84å\90\91å\8c¹é\85\8dç\9a\84å\8f\98æ\9b´"
+#: builtin/am.c:2256
+msgid "pass -m flag to git-mailinfo"
+msgstr "å\90\91 git-mailinfo ä¼ é\80\92 -m å\8f\82æ\95°"
 
-#: builtin/apply.c:4806
-msgid "remove <num> leading slashes from traditional diff paths"
-msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
+#: builtin/am.c:2258
+msgid "pass --keep-cr flag to git-mailsplit for mbox format"
+msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
 
-#: builtin/apply.c:4809
-msgid "ignore additions made by the patch"
-msgstr "忽略补丁中的添加的文件"
+#: builtin/am.c:2261
+msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
+msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
 
-#: builtin/apply.c:4811
-msgid "instead of applying the patch, output diffstat for the input"
-msgstr "ä¸\8dåº\94ç\94¨è¡¥ä¸\81ï¼\8cè\80\8cæ\98¯æ\98¾ç¤ºè¾\93å\85¥ç\9a\84å·®å¼\82ç»\9f计ï¼\88diffstatï¼\89"
+#: builtin/am.c:2264
+msgid "strip everything before a scissors line"
+msgstr "丢å¼\83è£\81å\88\87线å\89\8dç\9a\84æ\89\80æ\9c\89å\86\85容"
 
-#: builtin/apply.c:4815
-msgid "show number of added and deleted lines in decimal notation"
-msgstr "以十进制数显示添加和删除的行数"
+#: builtin/am.c:2266 builtin/am.c:2269 builtin/am.c:2272 builtin/am.c:2275
+#: builtin/am.c:2278 builtin/am.c:2281 builtin/am.c:2284 builtin/am.c:2287
+#: builtin/am.c:2293
+msgid "pass it through git-apply"
+msgstr "传递给 git-apply"
 
-#: builtin/apply.c:4817
-msgid "instead of applying the patch, output a summary for the input"
-msgstr "不应用补丁,而是显示输入的概要"
+#: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
+#: builtin/grep.c:707 builtin/merge.c:200 builtin/pull.c:135
+#: builtin/pull.c:194 builtin/repack.c:181 builtin/repack.c:185
+#: builtin/show-branch.c:644 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:245
+msgid "n"
+msgstr "n"
 
-#: builtin/apply.c:4819
-msgid "instead of applying the patch, see if the patch is applicable"
-msgstr "不应用补丁,而是查看补丁是否可应用"
+#: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/tag.c:372
+msgid "format"
+msgstr "格式"
 
-#: builtin/apply.c:4821
-msgid "make sure the patch is applicable to the current index"
-msgstr "确认补丁可以应用到当前索引"
+#: builtin/am.c:2290
+msgid "format the patch(es) are in"
+msgstr "补丁的格式"
 
-#: builtin/apply.c:4823
-msgid "apply a patch without touching the working tree"
-msgstr "应用补丁而不修改工作区"
+#: builtin/am.c:2296
+msgid "override error message when patch failure occurs"
+msgstr "打补丁失败时显示的错误信息"
 
-#: builtin/apply.c:4825
-msgid "accept a patch that touches outside the working area"
-msgstr "接受修改工作区之外文件的补丁"
+#: builtin/am.c:2298
+msgid "continue applying patches after resolving a conflict"
+msgstr "冲突解决后继续应用补丁"
 
-#: builtin/apply.c:4827
-msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "è¿\98åº\94ç\94¨æ­¤è¡¥ä¸\81ï¼\88ä¸\8e --stat/--summary/--check é\80\89项å\90\8cæ\97¶ä½¿ç\94¨ï¼\89"
+#: builtin/am.c:2301
+msgid "synonyms for --continue"
+msgstr "å\92\8c --continue å\90\8cä¹\89"
 
-#: builtin/apply.c:4829
-msgid "attempt three-way merge if a patch does not apply"
-msgstr "如果一个补丁不能应用则尝试三方合并"
+#: builtin/am.c:2304
+msgid "skip the current patch"
+msgstr "跳过当前补丁"
 
-#: builtin/apply.c:4831
-msgid "build a temporary index based on embedded index information"
-msgstr "创建一个临时索引基于嵌入的索引信息"
+#: builtin/am.c:2307
+msgid "restore the original branch and abort the patching operation."
+msgstr "恢复原始分支并终止打补丁操作。"
 
-#: builtin/apply.c:4834 builtin/checkout-index.c:169 builtin/ls-files.c:426
-msgid "paths are separated with NUL character"
-msgstr "路径以 NUL 字符分隔"
+#: builtin/am.c:2311
+msgid "lie about committer date"
+msgstr "将作者日期作为提交日期"
 
-#: builtin/apply.c:4836
-msgid "ensure at least <n> lines of context match"
-msgstr "ç¡®ä¿\9dè\87³å°\91å\8c¹é\85\8d <n> è¡\8cä¸\8aä¸\8bæ\96\87"
+#: builtin/am.c:2313
+msgid "use current timestamp for author date"
+msgstr "ç\94¨å½\93å\89\8dæ\97¶é\97´ä½\9c为ä½\9cè\80\85æ\97¥æ\9c\9f"
 
-#: builtin/apply.c:4838
-msgid "detect new or modified lines that have whitespace errors"
-msgstr "检查新增和修改的行中间的空白字符滥用"
+#: builtin/am.c:2315 builtin/commit.c:1605 builtin/merge.c:229
+#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:355
+msgid "key-id"
+msgstr "key-id"
 
-#: builtin/apply.c:4841 builtin/apply.c:4844
-msgid "ignore changes in whitespace when finding context"
-msgstr "查找上下文时忽略空白字符的变更"
+#: builtin/am.c:2316
+msgid "GPG-sign commits"
+msgstr "使用 GPG 签名提交"
 
-#: builtin/apply.c:4847
-msgid "apply the patch in reverse"
-msgstr "反向应用补丁"
+#: builtin/am.c:2319
+msgid "(internal use for git-rebase)"
+msgstr "(内部使用,用于 git-rebase)"
 
-#: builtin/apply.c:4849
-msgid "don't expect at least one line of context"
-msgstr "无需至少一行上下文"
+#: builtin/am.c:2334
+msgid ""
+"The -b/--binary option has been a no-op for long time, and\n"
+"it will be removed. Please do not use it anymore."
+msgstr ""
+"参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
+"请不要再使用它了。"
 
-#: builtin/apply.c:4851
-msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
+#: builtin/am.c:2341
+msgid "failed to read the index"
+msgstr "无法读取索引"
 
-#: builtin/apply.c:4853
-msgid "allow overlapping hunks"
-msgstr "允许重叠的补丁片段"
+#: builtin/am.c:2356
+#, c-format
+msgid "previous rebase directory %s still exists but mbox given."
+msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
 
-#: builtin/apply.c:4856
-msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr "允许不正确的文件末尾换行符"
+#: builtin/am.c:2380
+#, c-format
+msgid ""
+"Stray %s directory found.\n"
+"Use \"git am --abort\" to remove it."
+msgstr ""
+"发现了错误的 %s 目录。\n"
+"使用 \"git am --abort\" 删除它。"
 
-#: builtin/apply.c:4859
-msgid "do not trust the line counts in the hunk headers"
-msgstr "不信任补丁片段的头信息中的行号"
+#: builtin/am.c:2386
+msgid "Resolve operation not in progress, we are not resuming."
+msgstr "解决操作未进行,我们不会继续。"
 
-#: builtin/apply.c:4862
-msgid "prepend <root> to all filenames"
-msgstr "为所有文件名前添加 <根目录>"
+#: builtin/apply.c:8
+msgid "git apply [<options>] [<patch>...]"
+msgstr "git apply [<选项>] [<补丁>...]"
 
 #: builtin/archive.c:17
 #, c-format
@@ -4127,7 +4609,7 @@ msgstr "git archive:协议错误"
 
 #: builtin/archive.c:68
 msgid "git archive: expected a flush"
-msgstr "git archive:应刷新"
+msgstr "git archive:应有一个 flush 刷新"
 
 #: builtin/bisect--helper.c:7
 msgid "git bisect--helper --next-all [--no-checkout]"
@@ -4153,112 +4635,158 @@ msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
-#: builtin/blame.c:2536
+#: builtin/blame.c:2577
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2537
+#: builtin/blame.c:2578
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:2538
+#: builtin/blame.c:2579
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2580
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2540
+#: builtin/blame.c:2581
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:2541
+#: builtin/blame.c:2582
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2542
+#: builtin/blame.c:2583
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:2543
+#: builtin/blame.c:2584
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:2544
+#: builtin/blame.c:2585
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2545
+#: builtin/blame.c:2586
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2546
+#: builtin/blame.c:2587
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:2547
+#: builtin/blame.c:2588
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:2548
+#: builtin/blame.c:2589
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:2549
+#: builtin/blame.c:2590
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:2550
+#: builtin/blame.c:2591
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:2551
+#: builtin/blame.c:2592
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2552
+#: builtin/blame.c:2599
+msgid "Use an experimental indent-based heuristic to improve diffs"
+msgstr "使用一个试验性的基于缩进的启发式算法改进差异显示"
+
+#: builtin/blame.c:2600
+msgid "Use an experimental blank-line-based heuristic to improve diffs"
+msgstr "使用一个试验性的基于空行的启发式算法改进差异显示"
+
+#: builtin/blame.c:2602
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2553
+#: builtin/blame.c:2603
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2554
+#: builtin/blame.c:2604
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:2555 builtin/blame.c:2556
+#: builtin/blame.c:2605 builtin/blame.c:2606
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2555
+#: builtin/blame.c:2605
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2556
+#: builtin/blame.c:2606
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2557
+#: builtin/blame.c:2607
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2557
+#: builtin/blame.c:2607
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
+#: builtin/blame.c:2654
+msgid "--progress can't be used with --incremental or porcelain formats"
+msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
+
 #. TRANSLATORS: This string is used to tell us the maximum
 #. display width for a relative timestamp in "git blame"
 #. output.  For C locale, "4 years, 11 months ago", which
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2649
+#: builtin/blame.c:2700
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
+#: builtin/blame.c:2780
+msgid "--contents and --reverse do not blend well."
+msgstr "--contents 和 --reverse 不能混用。"
+
+#: builtin/blame.c:2800
+msgid "cannot use --contents with final commit object name"
+msgstr "不能将 --contents 和最终的提交对象名共用"
+
+#: builtin/blame.c:2805
+msgid "--reverse and --first-parent together require specified latest commit"
+msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
+
+#: builtin/blame.c:2832
+msgid ""
+"--reverse --first-parent together require range along first-parent chain"
+msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
+
+#: builtin/blame.c:2843
+#, c-format
+msgid "no such path %s in %s"
+msgstr "在 %2$s 中无此路径 %1$s"
+
+#: builtin/blame.c:2854
+#, c-format
+msgid "cannot read blob %s for path %s"
+msgstr "不能为路径 %2$s 读取对象 %1$s"
+
+#: builtin/blame.c:2873
+#, c-format
+msgid "file %s has only %lu line"
+msgid_plural "file %s has only %lu lines"
+msgstr[0] "文件 %s 只有 %lu 行"
+msgstr[1] "文件 %s 只有 %lu 行"
+
 #: builtin/branch.c:26
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged | --no-merged]"
@@ -4508,6 +5036,10 @@ msgstr "上游"
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
+#: builtin/branch.c:660
+msgid "Unset the upstream info"
+msgstr "取消上游信息的设置"
+
 #: builtin/branch.c:661
 msgid "use colored output"
 msgstr "使用彩色输出"
@@ -4580,8 +5112,8 @@ msgstr "key"
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:402
-#: builtin/notes.c:405 builtin/notes.c:565 builtin/notes.c:568
+#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
 #: builtin/tag.c:369
 msgid "object"
 msgstr "对象"
@@ -4594,7 +5126,7 @@ msgstr "只打印指向该对象的分支"
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:709 builtin/clone.c:707
+#: builtin/branch.c:709 builtin/clone.c:706
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
@@ -4701,63 +5233,79 @@ msgstr "需要一个仓库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
-#: builtin/cat-file.c:443
+#: builtin/cat-file.c:513
 msgid ""
-"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
-"<type>|--textconv) <object>"
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
+"p | <type> | --textconv | --filters) [--path=<path>] <object>"
 msgstr ""
-"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|<类型"
-">|--textconv) <对象>"
+"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
+"p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
 
-#: builtin/cat-file.c:444
-msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]"
-msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]"
+#: builtin/cat-file.c:514
+msgid ""
+"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
+"filters]"
+msgstr ""
+"git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
+"filters]"
 
-#: builtin/cat-file.c:481
+#: builtin/cat-file.c:551
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:482
+#: builtin/cat-file.c:552
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:483
+#: builtin/cat-file.c:553
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:485
+#: builtin/cat-file.c:555
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:486
+#: builtin/cat-file.c:556
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:488
+#: builtin/cat-file.c:558
 msgid "for blob objects, run textconv on object's content"
-msgstr "对于数据对象,对其内容执行 textconv"
+msgstr "对于数据对象,对其内容做文本转换"
+
+#: builtin/cat-file.c:560
+msgid "for blob objects, run filters on object's content"
+msgstr "对于数据对象,对其内容做过滤"
+
+#: builtin/cat-file.c:561 git-submodule.sh:923
+msgid "blob"
+msgstr "数据对象"
+
+#: builtin/cat-file.c:562
+msgid "use a specific path for --textconv/--filters"
+msgstr "对于 --textconv/--filters 使用一个特定的路径"
 
-#: builtin/cat-file.c:490
+#: builtin/cat-file.c:564
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "允许 -s 和 -t 对损坏的对象生效"
 
-#: builtin/cat-file.c:491
+#: builtin/cat-file.c:565
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
-#: builtin/cat-file.c:493
+#: builtin/cat-file.c:567
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:496
+#: builtin/cat-file.c:570
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
-#: builtin/cat-file.c:499
+#: builtin/cat-file.c:573
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
 
-#: builtin/cat-file.c:501
+#: builtin/cat-file.c:575
 msgid "show all objects with --batch or --batch-check"
 msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
 
@@ -4777,7 +5325,7 @@ msgstr "报告设置在文件上的所有属性"
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:98
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
@@ -4785,7 +5333,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1138 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1137 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -4875,9 +5423,9 @@ msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:488 builtin/submodule--helper.c:491
-#: builtin/submodule--helper.c:494 builtin/submodule--helper.c:497
-#: builtin/submodule--helper.c:830 builtin/worktree.c:469
+#: builtin/submodule--helper.c:595 builtin/submodule--helper.c:598
+#: builtin/submodule--helper.c:604 builtin/submodule--helper.c:951
+#: builtin/worktree.c:469
 msgid "string"
 msgstr "字符串"
 
@@ -4948,55 +5496,55 @@ msgstr "不能同时更新路径并切换到分支'%s'。"
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:495
+#: builtin/checkout.c:494
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:625
+#: builtin/checkout.c:624
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:664
+#: builtin/checkout.c:663
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:668 builtin/clone.c:661
+#: builtin/checkout.c:667 builtin/clone.c:660
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:672
+#: builtin/checkout.c:671
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:675
+#: builtin/checkout.c:674
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:678
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:681 builtin/checkout.c:1070
+#: builtin/checkout.c:680 builtin/checkout.c:1069
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:683
+#: builtin/checkout.c:682
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:734
+#: builtin/checkout.c:733
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:740
+#: builtin/checkout.c:739
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5017,7 +5565,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:759
+#: builtin/checkout.c:758
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5044,150 +5592,150 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:795
+#: builtin/checkout.c:794
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:799
+#: builtin/checkout.c:798
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:826 builtin/checkout.c:1065
+#: builtin/checkout.c:825 builtin/checkout.c:1064
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:971
+#: builtin/checkout.c:970
 #, c-format
 msgid "only one reference expected, %d given."
-msgstr "å\8fªè¦\81一个引用,却给出了 %d 个"
+msgstr "åº\94å\8fªæ\9c\89一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1011 builtin/worktree.c:214
+#: builtin/checkout.c:1010 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1040
+#: builtin/checkout.c:1039
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1079
+#: builtin/checkout.c:1078
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1082 builtin/checkout.c:1086
+#: builtin/checkout.c:1081 builtin/checkout.c:1085
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1090 builtin/checkout.c:1093 builtin/checkout.c:1098
-#: builtin/checkout.c:1101
+#: builtin/checkout.c:1089 builtin/checkout.c:1092 builtin/checkout.c:1097
+#: builtin/checkout.c:1100
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1106
+#: builtin/checkout.c:1105
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1139 builtin/checkout.c:1141 builtin/clone.c:88
+#: builtin/checkout.c:1138 builtin/checkout.c:1140 builtin/clone.c:93
 #: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
 #: builtin/worktree.c:326
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1139
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1141
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1142
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1144 builtin/worktree.c:328
+#: builtin/checkout.c:1143 builtin/worktree.c:328
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1144
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1146
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1146
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1147
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1149
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1151
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1153
+#: builtin/checkout.c:1152
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1154 builtin/merge.c:231
+#: builtin/checkout.c:1153 builtin/merge.c:231
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1155 builtin/log.c:1459 parse-options.h:250
+#: builtin/checkout.c:1154 builtin/log.c:1466 parse-options.h:251
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1156
+#: builtin/checkout.c:1155
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1158
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1160
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1162
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1164 builtin/clone.c:60 builtin/fetch.c:117
-#: builtin/merge.c:228 builtin/pull.c:116 builtin/push.c:536
+#: builtin/checkout.c:1163 builtin/clone.c:63 builtin/fetch.c:119
+#: builtin/merge.c:228 builtin/pull.c:117 builtin/push.c:536
 #: builtin/send-pack.c:168
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1195
+#: builtin/checkout.c:1194
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1212
+#: builtin/checkout.c:1211
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1217
+#: builtin/checkout.c:1216
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1253
+#: builtin/checkout.c:1252
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1260
+#: builtin/checkout.c:1259
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -5196,12 +5744,12 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1264
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1269
+#: builtin/checkout.c:1268
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -5352,8 +5900,8 @@ msgstr "交互式清除"
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:724
-#: builtin/ls-files.c:457 builtin/name-rev.c:314 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:725
+#: builtin/ls-files.c:536 builtin/name-rev.c:313 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "模式"
 
@@ -5391,113 +5939,130 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:62
+#: builtin/clone.c:65
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:63 builtin/clone.c:65 builtin/init-db.c:476
+#: builtin/clone.c:66 builtin/clone.c:68 builtin/init-db.c:478
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:67
+#: builtin/clone.c:70
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:69
+#: builtin/clone.c:72
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:71
+#: builtin/clone.c:74
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:73
+#: builtin/clone.c:76
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:75 builtin/clone.c:77
+#: builtin/clone.c:78 builtin/clone.c:80
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:79
+#: builtin/clone.c:82
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:80 builtin/init-db.c:473
+#: builtin/clone.c:83 builtin/init-db.c:475
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:81 builtin/init-db.c:474
+#: builtin/clone.c:84 builtin/init-db.c:476
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:83 builtin/submodule--helper.c:495
-#: builtin/submodule--helper.c:833
+#: builtin/clone.c:86 builtin/clone.c:88 builtin/submodule--helper.c:602
+#: builtin/submodule--helper.c:954
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:90
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:91 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:92
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:89
+#: builtin/clone.c:94
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:91
+#: builtin/clone.c:96
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:92 builtin/fetch.c:118 builtin/grep.c:667
-#: builtin/pull.c:201
+#: builtin/clone.c:97 builtin/fetch.c:120 builtin/grep.c:668
+#: builtin/pull.c:202
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:98
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:99 builtin/fetch.c:122 builtin/pack-objects.c:2848
+#: parse-options.h:142
+msgid "time"
+msgstr "时间"
+
+#: builtin/clone.c:100
+msgid "create a shallow clone since a specific time"
+msgstr "从一个特定时间创建一个浅克隆"
+
+#: builtin/clone.c:101 builtin/fetch.c:124
+msgid "revision"
+msgstr "版本"
+
+#: builtin/clone.c:102 builtin/fetch.c:125
+msgid "deepen history of shallow clone by excluding rev"
+msgstr "通过排除版本来深化浅克隆的历史"
+
+#: builtin/clone.c:104
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:106
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:98 builtin/init-db.c:482
+#: builtin/clone.c:107 builtin/init-db.c:484
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:99 builtin/init-db.c:483
+#: builtin/clone.c:108 builtin/init-db.c:485
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:109
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:101
+#: builtin/clone.c:110
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:102 builtin/fetch.c:132 builtin/push.c:547
+#: builtin/clone.c:111 builtin/fetch.c:140 builtin/push.c:547
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:104 builtin/fetch.c:134 builtin/push.c:549
+#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:549
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:241
+#: builtin/clone.c:250
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -5505,57 +6070,42 @@ msgstr ""
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:307
-#, c-format
-msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
-
-#: builtin/clone.c:309
-#, c-format
-msgid "reference repository '%s' is not a local repository."
-msgstr "参考仓库 '%s' 不是一个本地仓库。"
-
-#: builtin/clone.c:314
-#, c-format
-msgid "reference repository '%s' is shallow"
-msgstr "参考仓库 '%s' 是一个浅克隆"
-
-#: builtin/clone.c:317
+#: builtin/clone.c:303
 #, c-format
-msgid "reference repository '%s' is grafted"
-msgstr "参考仓库 '%s' 已被嫁接"
+msgid "info: Could not add alternate for '%s': %s\n"
+msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:376
+#: builtin/clone.c:375
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: builtin/clone.c:384
+#: builtin/clone.c:383
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:398
+#: builtin/clone.c:397
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "无法枚举 %s 状态\n"
 
-#: builtin/clone.c:420
+#: builtin/clone.c:419
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:424
+#: builtin/clone.c:423
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:449
+#: builtin/clone.c:448
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:461
+#: builtin/clone.c:460
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -5565,121 +6115,135 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:538
+#: builtin/clone.c:537
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:633
+#: builtin/clone.c:632
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:649
+#: builtin/clone.c:648
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:698
+#: builtin/clone.c:697
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:729
+#: builtin/clone.c:728
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:766
+#: builtin/clone.c:768
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:829
+#: builtin/clone.c:831
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:831
+#: builtin/clone.c:833
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:863 builtin/receive-pack.c:1855
+#: builtin/clone.c:866 builtin/receive-pack.c:1895
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:867
+#: builtin/clone.c:870
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:878
+#: builtin/clone.c:883
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:881
+#: builtin/clone.c:886
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:894
+#: builtin/clone.c:899
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:900 builtin/fetch.c:1293
+#: builtin/clone.c:905 builtin/fetch.c:1338
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:910
+#: builtin/clone.c:915
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:920
+#: builtin/clone.c:925
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:935 builtin/clone.c:946 builtin/submodule--helper.c:544
+#: builtin/clone.c:940 builtin/clone.c:951 builtin/submodule--helper.c:657
 #: builtin/worktree.c:222 builtin/worktree.c:249
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:938
+#: builtin/clone.c:943
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:956
+#: builtin/clone.c:955
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:958
+#: builtin/clone.c:957
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:997
+#: builtin/clone.c:963
+msgid ""
+"clone --recursive is not compatible with both --reference and --reference-if-"
+"able"
+msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容"
+
+#: builtin/clone.c:1019
 msgid "--depth is ignored in local clones; use file:// instead."
-msgstr "--depth 在本地克隆被忽略,改为 file:// 协议试试。"
+msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。"
+
+#: builtin/clone.c:1021
+msgid "--shallow-since is ignored in local clones; use file:// instead."
+msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。"
 
-#: builtin/clone.c:1000
+#: builtin/clone.c:1023
+msgid "--shallow-exclude is ignored in local clones; use file:// instead."
+msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。"
+
+#: builtin/clone.c:1026
 msgid "source repository is shallow, ignoring --local"
 msgstr "源仓库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:1005
+#: builtin/clone.c:1031
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:1009
+#: builtin/clone.c:1035
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "不知道如何克隆 %s"
 
-#: builtin/clone.c:1058 builtin/clone.c:1066
+#: builtin/clone.c:1090 builtin/clone.c:1098
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:1069
+#: builtin/clone.c:1101
 msgid "You appear to have cloned an empty repository."
 msgstr "您似乎克隆了一个空仓库。"
 
@@ -5813,103 +6377,103 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:308
+#: builtin/commit.c:318
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:349
+#: builtin/commit.c:359
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:355
+#: builtin/commit.c:365
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:368
+#: builtin/commit.c:378
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:370
+#: builtin/commit.c:380
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:394 builtin/commit.c:417 builtin/commit.c:466
+#: builtin/commit.c:404 builtin/commit.c:427 builtin/commit.c:476
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:448
+#: builtin/commit.c:458
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:450
+#: builtin/commit.c:460
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:459
+#: builtin/commit.c:469
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:478
+#: builtin/commit.c:488
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:583
+#: builtin/commit.c:582
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:585
+#: builtin/commit.c:584
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "提交 '%s' 有非法的作者信息"
 
-#: builtin/commit.c:604
+#: builtin/commit.c:603
 msgid "malformed --author parameter"
 msgstr "非法的 --author 参数"
 
-#: builtin/commit.c:612
+#: builtin/commit.c:611
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
 
-#: builtin/commit.c:656
+#: builtin/commit.c:655
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:693 builtin/commit.c:726 builtin/commit.c:1092
+#: builtin/commit.c:692 builtin/commit.c:725 builtin/commit.c:1096
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:705 builtin/shortlog.c:286
+#: builtin/commit.c:704 builtin/shortlog.c:286
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:707
+#: builtin/commit.c:706
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:711
+#: builtin/commit.c:710
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:738 builtin/commit.c:746
+#: builtin/commit.c:737 builtin/commit.c:745
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:743
+#: builtin/commit.c:742
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:797
+#: builtin/commit.c:796
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:815
+#: builtin/commit.c:814
 #, c-format
 msgid ""
 "\n"
@@ -5923,7 +6487,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:820
+#: builtin/commit.c:819
 #, c-format
 msgid ""
 "\n"
@@ -5937,7 +6501,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:833
+#: builtin/commit.c:832
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -5946,7 +6510,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:840
+#: builtin/commit.c:839
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -5957,346 +6521,350 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:860
+#: builtin/commit.c:859
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:868
+#: builtin/commit.c:867
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:875
+#: builtin/commit.c:874
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:893
+#: builtin/commit.c:892
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:950
+#: builtin/commit.c:954
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:965 builtin/tag.c:266
+#: builtin/commit.c:969 builtin/tag.c:266
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:1067
+#: builtin/commit.c:1071
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 'Name <email>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1082 builtin/commit.c:1322
+#: builtin/commit.c:1086 builtin/commit.c:1327
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1119
+#: builtin/commit.c:1124
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1149
+#: builtin/commit.c:1154
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1163
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1161
+#: builtin/commit.c:1166
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1168
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1166
+#: builtin/commit.c:1171
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1176
+#: builtin/commit.c:1181
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1178
+#: builtin/commit.c:1183
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "选项 -m 不能和 -c/-C/-F/--fixup 同时使用。"
 
-#: builtin/commit.c:1186
+#: builtin/commit.c:1191
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1203
+#: builtin/commit.c:1208
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1205
+#: builtin/commit.c:1210
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1207
+#: builtin/commit.c:1212
 msgid "Clever... amending the last one with dirty index."
 msgstr "聪明... 用脏索引修补最后一个提交。"
 
-#: builtin/commit.c:1209
+#: builtin/commit.c:1214
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项,认为是 --only paths..."
 
-#: builtin/commit.c:1221 builtin/tag.c:474
+#: builtin/commit.c:1226 builtin/tag.c:474
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1226
+#: builtin/commit.c:1231
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1336 builtin/commit.c:1622
+#: builtin/commit.c:1341 builtin/commit.c:1617
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1338 builtin/commit.c:1624
+#: builtin/commit.c:1343 builtin/commit.c:1619
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1340 builtin/commit.c:1626 builtin/push.c:522
+#: builtin/commit.c:1345
+msgid "version"
+msgstr "版本"
+
+#: builtin/commit.c:1345 builtin/commit.c:1621 builtin/push.c:522
 #: builtin/worktree.c:440
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1343 builtin/commit.c:1628
+#: builtin/commit.c:1348 builtin/commit.c:1623
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1346 builtin/commit.c:1631
+#: builtin/commit.c:1351 builtin/commit.c:1626
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1348 builtin/commit.c:1634 builtin/fast-export.c:981
+#: builtin/commit.c:1353 builtin/commit.c:1629 builtin/fast-export.c:981
 #: builtin/fast-export.c:984 builtin/tag.c:353
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1349 builtin/commit.c:1634
+#: builtin/commit.c:1354 builtin/commit.c:1629
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1352
+#: builtin/commit.c:1357
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1353 parse-options.h:155
+#: builtin/commit.c:1358 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1354
+#: builtin/commit.c:1359
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1356
+#: builtin/commit.c:1361
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1442
+#: builtin/commit.c:1437
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: builtin/commit.c:1444
+#: builtin/commit.c:1439
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: builtin/commit.c:1489
+#: builtin/commit.c:1484
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/commit.c:1492
+#: builtin/commit.c:1487
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1587
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1593
+#: builtin/commit.c:1588
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1590
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1596 builtin/tag.c:351
+#: builtin/commit.c:1591 builtin/tag.c:351
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1592
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1598 builtin/gc.c:326
+#: builtin/commit.c:1593 builtin/gc.c:326
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1593
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1599 builtin/merge.c:220 builtin/notes.c:396
-#: builtin/notes.c:559 builtin/tag.c:349
+#: builtin/commit.c:1594 builtin/merge.c:220 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:349
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1594
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1600 builtin/commit.c:1601 builtin/commit.c:1602
-#: builtin/commit.c:1603 parse-options.h:256 ref-filter.h:79
+#: builtin/commit.c:1595 builtin/commit.c:1596 builtin/commit.c:1597
+#: builtin/commit.c:1598 parse-options.h:257 ref-filter.h:79
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1600
+#: builtin/commit.c:1595
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1596
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1597
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1598
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1604
+#: builtin/commit.c:1599
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1605 builtin/log.c:1409 builtin/revert.c:86
+#: builtin/commit.c:1600 builtin/log.c:1413 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1606
+#: builtin/commit.c:1601
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1607
+#: builtin/commit.c:1602
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1608
+#: builtin/commit.c:1603
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1608 builtin/tag.c:354
+#: builtin/commit.c:1603 builtin/tag.c:354
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1609
+#: builtin/commit.c:1604
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1611 builtin/merge.c:230 builtin/pull.c:165
+#: builtin/commit.c:1606 builtin/merge.c:230 builtin/pull.c:166
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1609
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1615
+#: builtin/commit.c:1610
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1611
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1617
+#: builtin/commit.c:1612
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1618
+#: builtin/commit.c:1613
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1619
+#: builtin/commit.c:1614
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1615
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1616
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1632
+#: builtin/commit.c:1627
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1628
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1638
+#: builtin/commit.c:1633
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1640
+#: builtin/commit.c:1635
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1669
+#: builtin/commit.c:1664
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1719
+#: builtin/commit.c:1712
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1726
+#: builtin/commit.c:1719
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1745
+#: builtin/commit.c:1738
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1756
+#: builtin/commit.c:1749
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1761
+#: builtin/commit.c:1754
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1809
+#: builtin/commit.c:1802
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -6461,11 +7029,20 @@ msgstr ""
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/count-objects.c:77
+#: builtin/config.c:625
+#, c-format
+msgid ""
+"cannot overwrite multiple values with a single value\n"
+"       Use a regexp, --add or --replace-all to change %s."
+msgstr ""
+"无法用一个值覆盖多个值\n"
+"       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
+
+#: builtin/count-objects.c:86
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:87
+#: builtin/count-objects.c:96
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
@@ -6585,7 +7162,7 @@ msgstr "考虑最近 <n> 个标签(默认:10)"
 msgid "only consider tags matching <pattern>"
 msgstr "只考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:410 builtin/name-rev.c:321
+#: builtin/describe.c:410 builtin/name-rev.c:320
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -6619,21 +7196,21 @@ msgstr "'%s':不是一个正规文件或符号链接"
 msgid "invalid option: %s"
 msgstr "无效选项:%s"
 
-#: builtin/diff.c:360
+#: builtin/diff.c:361
 msgid "Not a git repository"
 msgstr "不是一个 git 仓库"
 
-#: builtin/diff.c:403
+#: builtin/diff.c:404
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "提供了无效对象 '%s'。"
 
-#: builtin/diff.c:412
+#: builtin/diff.c:413
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "提供了超过两个数据对象:'%s'"
 
-#: builtin/diff.c:419
+#: builtin/diff.c:420
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
@@ -6706,162 +7283,166 @@ msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:93 builtin/pull.c:174
+#: builtin/fetch.c:95 builtin/pull.c:175
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:95 builtin/pull.c:177
+#: builtin/fetch.c:97 builtin/pull.c:178
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:97 builtin/pull.c:180
+#: builtin/fetch.c:99 builtin/pull.c:181
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:98 builtin/pull.c:182
+#: builtin/fetch.c:100 builtin/pull.c:183
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/fetch.c:100
+#: builtin/fetch.c:102
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:102 builtin/pull.c:184
+#: builtin/fetch.c:104 builtin/pull.c:185
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:104
+#: builtin/fetch.c:106
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:106
+#: builtin/fetch.c:108
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:108 builtin/pull.c:187
+#: builtin/fetch.c:110 builtin/pull.c:188
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:109 builtin/pull.c:190
+#: builtin/fetch.c:111 builtin/pull.c:191
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:110 builtin/pull.c:191
+#: builtin/fetch.c:112 builtin/pull.c:192
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:114 builtin/pull.c:199
+#: builtin/fetch.c:116 builtin/pull.c:200
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:116
+#: builtin/fetch.c:118
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:119 builtin/pull.c:202
+#: builtin/fetch.c:121 builtin/fetch.c:127 builtin/pull.c:203
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:121 builtin/pull.c:205
+#: builtin/fetch.c:123
+msgid "deepen history of shallow repository based on time"
+msgstr "基于时间来深化浅克隆的历史"
+
+#: builtin/fetch.c:129 builtin/pull.c:206
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:123 builtin/log.c:1426
+#: builtin/fetch.c:131 builtin/log.c:1433
 msgid "dir"
 msgstr "目录"
 
-#: builtin/fetch.c:124
+#: builtin/fetch.c:132
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:127
+#: builtin/fetch.c:135
 msgid "default mode for recursion"
 msgstr "递归的默认模式"
 
-#: builtin/fetch.c:129 builtin/pull.c:208
+#: builtin/fetch.c:137 builtin/pull.c:209
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:130 builtin/pull.c:210
+#: builtin/fetch.c:138 builtin/pull.c:211
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:131 builtin/pull.c:211
+#: builtin/fetch.c:139 builtin/pull.c:212
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:387
+#: builtin/fetch.c:398
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:503
+#: builtin/fetch.c:514
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:592
+#: builtin/fetch.c:607
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:596
+#: builtin/fetch.c:611
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:609 builtin/fetch.c:689
+#: builtin/fetch.c:624 builtin/fetch.c:704
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:610
+#: builtin/fetch.c:625
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:619
+#: builtin/fetch.c:634
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:620 builtin/fetch.c:653 builtin/fetch.c:669
-#: builtin/fetch.c:684
+#: builtin/fetch.c:635 builtin/fetch.c:668 builtin/fetch.c:684
+#: builtin/fetch.c:699
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:639
+#: builtin/fetch.c:654
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:642
+#: builtin/fetch.c:657
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:645
+#: builtin/fetch.c:660
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:684
+#: builtin/fetch.c:699
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:689
+#: builtin/fetch.c:704
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:749
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:753
+#: builtin/fetch.c:769
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:839 builtin/fetch.c:934
+#: builtin/fetch.c:856 builtin/fetch.c:952
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:850
+#: builtin/fetch.c:867
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -6871,87 +7452,95 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:904
+#: builtin/fetch.c:922
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:905
+#: builtin/fetch.c:923
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:937
+#: builtin/fetch.c:955
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:938 builtin/remote.c:1020
+#: builtin/fetch.c:956 builtin/remote.c:1020
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:960
+#: builtin/fetch.c:979
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:979
+#: builtin/fetch.c:998
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:982
+#: builtin/fetch.c:1001
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1039
+#: builtin/fetch.c:1077
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "不知道如何从 %s 获取"
 
-#: builtin/fetch.c:1199
+#: builtin/fetch.c:1237
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1201 builtin/remote.c:96
+#: builtin/fetch.c:1239 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1219
+#: builtin/fetch.c:1257
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
 msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。"
 
-#: builtin/fetch.c:1242
+#: builtin/fetch.c:1280
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1284
+#: builtin/fetch.c:1322
+msgid "Negative depth in --deepen is not supported"
+msgstr "--deepen 不支持负数深度"
+
+#: builtin/fetch.c:1324
+msgid "--deepen and --depth are mutually exclusive"
+msgstr "--deepen 和 --depth 是互斥的"
+
+#: builtin/fetch.c:1329
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1286
+#: builtin/fetch.c:1331
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1306
+#: builtin/fetch.c:1353
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1308
+#: builtin/fetch.c:1355
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1319
+#: builtin/fetch.c:1366
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1327
+#: builtin/fetch.c:1374
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
@@ -6960,23 +7549,23 @@ msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <说明>] [--log[=<n>] | --no-log] [--file <文件>]"
 
-#: builtin/fmt-merge-msg.c:667
+#: builtin/fmt-merge-msg.c:663
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:666
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:669
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:670
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:671
 msgid "file to read from"
 msgstr "从文件中读取"
 
@@ -7092,7 +7681,7 @@ msgstr "显示进度"
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:671
+#: builtin/fsck.c:665
 msgid "Checking objects"
 msgstr "检查对象中"
 
@@ -7181,225 +7770,220 @@ msgstr "grep:无法创建线程:%s"
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 
-#: builtin/grep.c:452 builtin/grep.c:487
+#: builtin/grep.c:453 builtin/grep.c:488
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:502
+#: builtin/grep.c:503
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:560
+#: builtin/grep.c:561
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:577
-#, c-format
-msgid "cannot open '%s'"
-msgstr "不能打开 '%s'"
-
-#: builtin/grep.c:646
+#: builtin/grep.c:647
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:649
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:650
+#: builtin/grep.c:651
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:652
+#: builtin/grep.c:653
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:656
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:657
+#: builtin/grep.c:658
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:659
+#: builtin/grep.c:660
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:661
+#: builtin/grep.c:662
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:663
+#: builtin/grep.c:664
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:666
+#: builtin/grep.c:667
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:668
+#: builtin/grep.c:669
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:673
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:675
+#: builtin/grep.c:676
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:678
+#: builtin/grep.c:679
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:681
+#: builtin/grep.c:682
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:685
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:685
+#: builtin/grep.c:686
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:687
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:688
+#: builtin/grep.c:689
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:690
+#: builtin/grep.c:691
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:692
+#: builtin/grep.c:693
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:695
+#: builtin/grep.c:696
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:697
+#: builtin/grep.c:698
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:699
+#: builtin/grep.c:700
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:701
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:702
+#: builtin/grep.c:703
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:704
+#: builtin/grep.c:705
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:707
+#: builtin/grep.c:708
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:711
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:713
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:714
+#: builtin/grep.c:715
 msgid "use <n> worker threads"
 msgstr "使用 <n> 个工作线程"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:716
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:718
+#: builtin/grep.c:719
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:720
+#: builtin/grep.c:721
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:723
+#: builtin/grep.c:724
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:725
+#: builtin/grep.c:726
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:727
+#: builtin/grep.c:728
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:739
+#: builtin/grep.c:740
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:741
+#: builtin/grep.c:742
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:743
+#: builtin/grep.c:744
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:747
+#: builtin/grep.c:748
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:747
+#: builtin/grep.c:748
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:750
+#: builtin/grep.c:751
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:814
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:845 builtin/index-pack.c:1479
+#: builtin/grep.c:846 builtin/index-pack.c:1480
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:876
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:901
+#: builtin/grep.c:902
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:906
+#: builtin/grep.c:907
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:909
+#: builtin/grep.c:910
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:917
+#: builtin/grep.c:918
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
@@ -7415,83 +7999,87 @@ msgstr ""
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "type"
 msgstr "类型"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "object type"
 msgstr "对象类型"
 
-#: builtin/hash-object.c:94
+#: builtin/hash-object.c:95
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
 
-#: builtin/hash-object.c:100
+#: builtin/hash-object.c:101
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
-#: builtin/help.c:41
+#: builtin/help.c:42
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
-#: builtin/help.c:42
+#: builtin/help.c:43
+msgid "exclude guides"
+msgstr "排除向导"
+
+#: builtin/help.c:44
 msgid "print list of useful guides"
 msgstr "显示有用的指南列表"
 
-#: builtin/help.c:43
+#: 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
+#: 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:91
+#: builtin/help.c:93
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:104
+#: builtin/help.c:106
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:112
+#: builtin/help.c:114
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
+#: builtin/help.c:132 builtin/help.c:153 builtin/help.c:162 builtin/help.c:170
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "无法执行 '%s'"
 
-#: builtin/help.c:205
+#: builtin/help.c:207
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -7500,7 +8088,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:217
+#: builtin/help.c:219
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -7509,299 +8097,303 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:334
+#: builtin/help.c:336
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:351
+#: builtin/help.c:353
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:359
+#: builtin/help.c:361
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:401
+#: builtin/help.c:403
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: builtin/help.c:402
+#: builtin/help.c:404
 msgid "Everyday Git With 20 Commands Or So"
 msgstr "每一天 Git 常用的约 20 条命令"
 
-#: builtin/help.c:403
+#: builtin/help.c:405
 msgid "A Git glossary"
 msgstr "Git 词汇表"
 
-#: builtin/help.c:404
+#: builtin/help.c:406
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: builtin/help.c:405
+#: builtin/help.c:407
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: builtin/help.c:406
+#: builtin/help.c:408
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: builtin/help.c:407
+#: builtin/help.c:409
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
 msgstr "一个 Git 教程(针对 1.5.1 或更新版本)"
 
-#: builtin/help.c:408
+#: builtin/help.c:410
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
-#: builtin/help.c:420
+#: builtin/help.c:422
 msgid "The common Git guides are:\n"
 msgstr "最常用的 Git 向导有:\n"
 
-#: builtin/help.c:441 builtin/help.c:458
-#, c-format
-msgid "usage: %s%s"
-msgstr "用法:%s%s"
-
-#: builtin/help.c:474
+#: builtin/help.c:440
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' 是 `%s' 的别名"
 
-#: builtin/index-pack.c:153
+#: builtin/help.c:462 builtin/help.c:479
+#, c-format
+msgid "usage: %s%s"
+msgstr "用法:%s%s"
+
+#: builtin/index-pack.c:154
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: builtin/index-pack.c:203
+#: builtin/index-pack.c:204
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:223
+#: builtin/index-pack.c:224
 #, c-format
 msgid "did not receive expected object %s"
-msgstr "未能获取期望的对象 %s"
+msgstr "未能获取预期的对象 %s"
 
-#: builtin/index-pack.c:226
+#: builtin/index-pack.c:227
 #, c-format
 msgid "object %s: expected type %s, found %s"
-msgstr "对象 %s:期待类型 %s,却是 %s"
+msgstr "对象 %s:应为类型 %s,却是 %s"
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:269
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:278
+#: builtin/index-pack.c:279
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:279
+#: builtin/index-pack.c:280
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:291
+#: builtin/index-pack.c:292
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:298
+#: builtin/index-pack.c:299
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:314
+#: builtin/index-pack.c:302 builtin/unpack-objects.c:92
+msgid "pack exceeds maximum allowed size"
+msgstr "包超过了最大允许值"
+
+#: builtin/index-pack.c:317
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:319
+#: builtin/index-pack.c:322
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:333
+#: builtin/index-pack.c:336
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:335
+#: builtin/index-pack.c:338
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:353
+#: builtin/index-pack.c:356
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:475
+#: builtin/index-pack.c:478
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:524
+#: builtin/index-pack.c:527
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:532
+#: builtin/index-pack.c:535
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:540
+#: builtin/index-pack.c:543
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:571
+#: builtin/index-pack.c:574
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:573
+#: builtin/index-pack.c:576
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 msgstr[1] "包文件过早结束,缺少 %<PRIuMAX> 字节"
 
-#: builtin/index-pack.c:599
+#: builtin/index-pack.c:602
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:745 builtin/index-pack.c:751 builtin/index-pack.c:774
-#: builtin/index-pack.c:808 builtin/index-pack.c:817
+#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
+#: builtin/index-pack.c:811 builtin/index-pack.c:820
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:748 builtin/pack-objects.c:164
-#: builtin/pack-objects.c:256
+#: builtin/index-pack.c:751 builtin/pack-objects.c:166
+#: builtin/pack-objects.c:258
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:814
+#: builtin/index-pack.c:817
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:828
+#: builtin/index-pack.c:831
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:842
+#: builtin/index-pack.c:845
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:845
+#: builtin/index-pack.c:848
 msgid "Error in object"
 msgstr "对象中出错"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:850
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:919 builtin/index-pack.c:950
+#: builtin/index-pack.c:922 builtin/index-pack.c:953
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1120
+#: builtin/index-pack.c:1123
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1120
+#: builtin/index-pack.c:1123
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1152
+#: builtin/index-pack.c:1155
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "cannot fstat packfile"
 msgstr "不能枚举包文件状态"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1163
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1171
+#: builtin/index-pack.c:1174
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1196
+#: builtin/index-pack.c:1197
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1207
+#: builtin/index-pack.c:1208
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1249
+#: builtin/index-pack.c:1250
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1255
+#: builtin/index-pack.c:1256
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "完成 %d 个本地对象"
 msgstr[1] "完成 %d 个本地对象"
 
-#: builtin/index-pack.c:1267
+#: builtin/index-pack.c:1268
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1271
+#: builtin/index-pack.c:1272
 #, 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:1295
+#: builtin/index-pack.c:1296
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1371
+#: builtin/index-pack.c:1372
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1395
+#: builtin/index-pack.c:1396
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1408
+#: builtin/index-pack.c:1409
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "无法写保留文件 '%s'"
 
-#: builtin/index-pack.c:1416
+#: builtin/index-pack.c:1417
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "无法关闭保留文件 '%s'"
 
-#: builtin/index-pack.c:1429
+#: builtin/index-pack.c:1430
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1440
+#: builtin/index-pack.c:1441
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1474
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1483 builtin/index-pack.c:1681
+#: builtin/index-pack.c:1484 builtin/index-pack.c:1681
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
@@ -7841,95 +8433,95 @@ msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1730
+#: builtin/index-pack.c:1732
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1738
+#: builtin/index-pack.c:1740
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/init-db.c:55
+#: builtin/init-db.c:54
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "不能枚举 '%s' 状态"
 
-#: builtin/init-db.c:61
+#: builtin/init-db.c:60
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "不能枚举模版 '%s' 状态"
 
-#: builtin/init-db.c:66
+#: builtin/init-db.c:65
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: builtin/init-db.c:77
+#: builtin/init-db.c:76
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "不能读取链接 '%s'"
 
-#: builtin/init-db.c:79
+#: builtin/init-db.c:78
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "不能自 '%s' 到 '%s' 创建符号链接"
 
-#: builtin/init-db.c:85
+#: builtin/init-db.c:84
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:88
 #, c-format
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
-#: builtin/init-db.c:120
+#: builtin/init-db.c:119
 #, c-format
 msgid "templates not found %s"
 msgstr "模版未找到 %s"
 
-#: builtin/init-db.c:135
+#: builtin/init-db.c:134
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "没有从 '%s' 复制模版:%s"
 
-#: builtin/init-db.c:312 builtin/init-db.c:315
-#, c-format
-msgid "%s already exists"
-msgstr "%s 已经存在"
-
-#: builtin/init-db.c:344
+#: builtin/init-db.c:327
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
-#: builtin/init-db.c:347
+#: builtin/init-db.c:330
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
 
-#: builtin/init-db.c:402
+#: builtin/init-db.c:347 builtin/init-db.c:350
+#, c-format
+msgid "%s already exists"
+msgstr "%s 已经存在"
+
+#: builtin/init-db.c:403
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "重新初始化已存在的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:403
+#: builtin/init-db.c:404
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "重新初始化已存在的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:407
+#: builtin/init-db.c:408
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "已初始化空的共享 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:408
+#: builtin/init-db.c:409
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "已初始化空的 Git 仓库于 %s%s\n"
 
-#: builtin/init-db.c:455
+#: builtin/init-db.c:457
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -7937,32 +8529,32 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:478
+#: builtin/init-db.c:480
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:479
+#: builtin/init-db.c:481
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
-#: builtin/init-db.c:513 builtin/init-db.c:518
+#: builtin/init-db.c:515 builtin/init-db.c:520
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:522
+#: builtin/init-db.c:524
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:543
+#: builtin/init-db.c:545
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
-#: builtin/init-db.c:571
+#: builtin/init-db.c:573
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
@@ -8073,37 +8665,34 @@ msgstr "不是一个范围。"
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:1064
+#: builtin/log.c:1063
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1092
+#: builtin/log.c:1091
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1137
+#: builtin/log.c:1141
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1244 builtin/log.c:1883 builtin/log.c:1885 builtin/log.c:1897
+#: builtin/log.c:1248 builtin/log.c:1891 builtin/log.c:1893 builtin/log.c:1905
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1254 builtin/notes.c:254 builtin/notes.c:305
-#: builtin/notes.c:307 builtin/notes.c:370 builtin/notes.c:425
-#: builtin/notes.c:511 builtin/notes.c:516 builtin/notes.c:594
-#: builtin/notes.c:657 builtin/notes.c:882 builtin/tag.c:455
+#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:455
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/log.c:1259
+#: builtin/log.c:1263
 msgid "Could not find exact merge base."
 msgstr "不能找到准确的合并基线。"
 
-#: builtin/log.c:1263
+#: builtin/log.c:1267
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -8113,307 +8702,315 @@ msgstr ""
 "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n"
 "参数 --base=<base-commit-id> 手动指定一个基线提交。"
 
-#: builtin/log.c:1283
+#: builtin/log.c:1287
 msgid "Failed to find exact merge base"
 msgstr "无法找到准确的合并基线"
 
-#: builtin/log.c:1294
+#: builtin/log.c:1298
 msgid "base commit should be the ancestor of revision list"
 msgstr "基线提交应该是版本列表的祖先"
 
-#: builtin/log.c:1298
+#: builtin/log.c:1302
 msgid "base commit shouldn't be in revision list"
 msgstr "基线提交不应该出现在版本列表中"
 
-#: builtin/log.c:1347
+#: builtin/log.c:1351
 msgid "cannot get patch id"
 msgstr "无法得到补丁 id"
 
-#: builtin/log.c:1404
+#: builtin/log.c:1408
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1407
+#: builtin/log.c:1411
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1411
+#: builtin/log.c:1415
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1413
+#: builtin/log.c:1417
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1415
+#: builtin/log.c:1419
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1416
+#: builtin/log.c:1420
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1417
+#: builtin/log.c:1421
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1419
+#: builtin/log.c:1423
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1421
+#: builtin/log.c:1425
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1423
+#: builtin/log.c:1427
+msgid "Use [RFC PATCH] instead of [PATCH]"
+msgstr "使用 [RFC PATCH] 代替 [PATCH]"
+
+#: builtin/log.c:1430
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1426
+#: builtin/log.c:1433
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1429
+#: builtin/log.c:1436
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1432
+#: builtin/log.c:1439
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1434
+#: builtin/log.c:1441
 msgid "output all-zero hash in From header"
 msgstr "在 From 头信息中输出全为零的哈希值"
 
-#: builtin/log.c:1436
+#: builtin/log.c:1443
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1438
+#: builtin/log.c:1445
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1440
+#: builtin/log.c:1447
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1441
+#: builtin/log.c:1448
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1442
+#: builtin/log.c:1449
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1443 builtin/log.c:1445
+#: builtin/log.c:1450 builtin/log.c:1452
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1443
+#: builtin/log.c:1450
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1445
+#: builtin/log.c:1452
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1447
+#: builtin/log.c:1454
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1448
+#: builtin/log.c:1455
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1457
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1451
+#: builtin/log.c:1458
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1452 builtin/log.c:1455
+#: builtin/log.c:1459 builtin/log.c:1462
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1453
+#: builtin/log.c:1460
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1456
+#: builtin/log.c:1463
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1460
+#: builtin/log.c:1467
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1462
+#: builtin/log.c:1469
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1470
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1464
+#: builtin/log.c:1471
 msgid "base-commit"
 msgstr "基线提交"
 
-#: builtin/log.c:1465
+#: builtin/log.c:1472
 msgid "add prerequisite tree info to the patch series"
 msgstr "为补丁列表添加前置树信息"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1474
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1468
+#: builtin/log.c:1475
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1558
+#: builtin/log.c:1565
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1560
-msgid "--subject-prefix and -k are mutually exclusive."
-msgstr "--subject-prefix 和 -k 互斥。"
+#: builtin/log.c:1567
+msgid "--subject-prefix/--rfc and -k are mutually exclusive."
+msgstr "--subject-prefix/--rfc 和 -k 互斥。"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1575
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1577
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1579
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1602
+#: builtin/log.c:1609
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1604
+#: builtin/log.c:1611
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1698
+#: builtin/log.c:1705
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1769
+#: builtin/log.c:1777
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1818
+#: builtin/log.c:1826
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1872
+#: builtin/log.c:1880
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/ls-files.c:379
+#: builtin/ls-files.c:458
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:428
+#: builtin/ls-files.c:507
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:509
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:511
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:513
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:436
+#: builtin/ls-files.c:515
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:438
+#: builtin/ls-files.c:517
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:519
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:443
+#: builtin/ls-files.c:522
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:445
+#: builtin/ls-files.c:524
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:526
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:449
+#: builtin/ls-files.c:528
 msgid "show line endings of files"
 msgstr "显示文件换行符格式"
 
-#: builtin/ls-files.c:451
+#: builtin/ls-files.c:530
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:454
+#: builtin/ls-files.c:533
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:456
+#: builtin/ls-files.c:535
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:537
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:461
+#: builtin/ls-files.c:540
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:464
+#: builtin/ls-files.c:543
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:466
+#: builtin/ls-files.c:545
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:469
+#: builtin/ls-files.c:548
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:472
+#: builtin/ls-files.c:551
+msgid "recurse through submodules"
+msgstr "在子模组中递归"
+
+#: builtin/ls-files.c:553
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:473
+#: builtin/ls-files.c:554
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:474
+#: builtin/ls-files.c:555
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:476
+#: builtin/ls-files.c:557
 msgid "show debugging data"
 msgstr "显示调试数据"
 
@@ -8530,31 +9127,31 @@ msgstr "可用的策略有:"
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:195 builtin/pull.c:126
+#: builtin/merge.c:195 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:198 builtin/pull.c:129
+#: builtin/merge.c:198 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:199 builtin/pull.c:132
+#: builtin/merge.c:199 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:201 builtin/pull.c:135
+#: builtin/merge.c:201 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:204 builtin/pull.c:138
+#: builtin/merge.c:204 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:206 builtin/pull.c:141
+#: builtin/merge.c:206 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:208 builtin/pull.c:144
+#: builtin/merge.c:208 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
@@ -8562,28 +9159,28 @@ msgstr "在提交前编辑提交说明"
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:211 builtin/pull.c:150
+#: builtin/merge.c:211 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:215 builtin/pull.c:153
+#: builtin/merge.c:215 builtin/pull.c:154
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:216 builtin/notes.c:772 builtin/pull.c:157
+#: builtin/merge.c:216 builtin/notes.c:774 builtin/pull.c:158
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:217 builtin/pull.c:158
+#: builtin/merge.c:217 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:218 builtin/pull.c:161
+#: builtin/merge.c:218 builtin/pull.c:162
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:219 builtin/pull.c:162
+#: builtin/merge.c:219 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
@@ -8595,7 +9192,7 @@ msgstr "合并的提交说明(针对非快进式合并)"
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:227 builtin/pull.c:169
+#: builtin/merge.c:227 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
@@ -8811,55 +9408,55 @@ msgstr "拒绝合并无关的历史"
 msgid "Already up-to-date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1382
+#: builtin/merge.c:1377
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1419
+#: builtin/merge.c:1418
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1426
+#: builtin/merge.c:1425
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1451
+#: builtin/merge.c:1450
 msgid "Already up-to-date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1457
+#: builtin/merge.c:1456
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1480 builtin/merge.c:1559
+#: builtin/merge.c:1479 builtin/merge.c:1558
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1484
+#: builtin/merge.c:1483
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1550
+#: builtin/merge.c:1549
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1552
+#: builtin/merge.c:1551
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1561
+#: builtin/merge.c:1560
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1573
+#: builtin/merge.c:1572
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -8884,23 +9481,23 @@ msgstr "git merge-base --is-ancestor <提交> <提交>"
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <引用> [<提交>]"
 
-#: builtin/merge-base.c:214
+#: builtin/merge-base.c:217
 msgid "output all common ancestors"
 msgstr "输出所有共同的祖先"
 
-#: builtin/merge-base.c:216
+#: builtin/merge-base.c:219
 msgid "find ancestors for a single n-way merge"
 msgstr "查找一个多路合并的祖先提交"
 
-#: builtin/merge-base.c:218
+#: builtin/merge-base.c:221
 msgid "list revs not reachable from others"
 msgstr "显示不能被其他访问到的版本"
 
-#: builtin/merge-base.c:220
+#: builtin/merge-base.c:223
 msgid "is the first one ancestor of the other?"
 msgstr "第一个是其他的祖先提交么?"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:225
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "根据 <引用> 的引用日志查找 <提交> 的派生处"
 
@@ -8944,6 +9541,37 @@ msgstr "不要警告冲突"
 msgid "set labels for file1/orig-file/file2"
 msgstr "为 文件1/初始文件/文件2 设置标签"
 
+#: builtin/merge-recursive.c:45
+#, c-format
+msgid "unknown option %s"
+msgstr "未知选项 %s"
+
+#: builtin/merge-recursive.c:51
+#, c-format
+msgid "could not parse object '%s'"
+msgstr "不能解析对象 '%s'"
+
+#: builtin/merge-recursive.c:55
+#, c-format
+msgid "cannot handle more than %d base. Ignoring %s."
+msgid_plural "cannot handle more than %d bases. Ignoring %s."
+msgstr[0] "无法处理 %d 条以上的基线。忽略 %s。"
+msgstr[1] "无法处理 %d 条以上的基线。忽略 %s。"
+
+#: builtin/merge-recursive.c:63
+msgid "not handling anything other than two heads merge."
+msgstr "不能处理两个头合并之外的任何操作。"
+
+#: builtin/merge-recursive.c:69 builtin/merge-recursive.c:71
+#, c-format
+msgid "could not resolve ref '%s'"
+msgstr "无法解析引用 '%s'"
+
+#: builtin/merge-recursive.c:77
+#, c-format
+msgid "Merging %s with %s\n"
+msgstr "合并 %s 和 %s\n"
+
 #: builtin/mktree.c:65
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
@@ -9052,43 +9680,43 @@ msgstr "重命名 %s 至 %s\n"
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:258
+#: builtin/name-rev.c:257
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:259
+#: builtin/name-rev.c:258
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:260
+#: builtin/name-rev.c:259
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:311
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:313
+#: builtin/name-rev.c:312
 msgid "only use tags to name the commits"
 msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:315
+#: builtin/name-rev.c:314
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:317
+#: builtin/name-rev.c:316
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:317
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:319
+#: builtin/name-rev.c:318
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:325
+#: builtin/name-rev.c:324
 msgid "dereference tags in the input (internal use)"
 msgstr "反向解析输入中的标签(内部使用)"
 
@@ -9220,7 +9848,7 @@ msgid "failed to finish 'show' for object '%s'"
 msgstr "无法为对象 '%s' 完成 'show'"
 
 #: builtin/notes.c:194
-msgid "Please supply the note contents using either -m or -F option"
+msgid "please supply the note contents using either -m or -F option"
 msgstr "请通过 -m 或 -F 选项为注解提供内容"
 
 #: builtin/notes.c:203
@@ -9229,7 +9857,7 @@ msgstr "不能写注解对象"
 
 #: builtin/notes.c:205
 #, c-format
-msgid "The note contents have been left in %s"
+msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
 #: builtin/notes.c:233 builtin/tag.c:439
@@ -9242,93 +9870,117 @@ msgstr "不能读取 '%s'"
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
+#: builtin/notes.c:254 builtin/notes.c:305 builtin/notes.c:307
+#: builtin/notes.c:372 builtin/notes.c:427 builtin/notes.c:513
+#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:659
+#, c-format
+msgid "failed to resolve '%s' as a valid ref."
+msgstr "无法解析 '%s' 为一个有效引用。"
+
 #: builtin/notes.c:257
 #, c-format
-msgid "Failed to read object '%s'."
+msgid "failed to read object '%s'."
 msgstr "无法读取对象 '%s'。"
 
 #: builtin/notes.c:261
 #, c-format
-msgid "Cannot read note data from non-blob object '%s'."
-msgstr "不能从非数据对象 '%s' 中读取注解数据"
+msgid "cannot read note data from non-blob object '%s'."
+msgstr "不能从非数据对象 '%s' 中读取注解数据。"
+
+#: builtin/notes.c:301
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "非法的输入行:'%s'。"
+
+#: builtin/notes.c:316
+#, c-format
+msgid "failed to copy notes from '%s' to '%s'"
+msgstr "从 '%s' 拷贝注解到 '%s' 时失败"
+
+#. TRANSLATORS: the first %s will be replaced by a
+#. git notes command: 'add', 'merge', 'remove', etc.
+#: builtin/notes.c:345
+#, c-format
+msgid "refusing to %s notes in %s (outside of refs/notes/)"
+msgstr "拒绝向 %2$s(在 refs/notes/ 之外)%1$s注解"
 
-#: builtin/notes.c:363 builtin/notes.c:418 builtin/notes.c:494
-#: builtin/notes.c:506 builtin/notes.c:582 builtin/notes.c:650
-#: builtin/notes.c:800 builtin/notes.c:947 builtin/notes.c:968
+#: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
+#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:652
+#: builtin/notes.c:802 builtin/notes.c:949 builtin/notes.c:970
 msgid "too many parameters"
 msgstr "参数太多"
 
-#: builtin/notes.c:376 builtin/notes.c:663
+#: builtin/notes.c:378 builtin/notes.c:665
 #, c-format
-msgid "No note found for object %s."
+msgid "no note found for object %s."
 msgstr "未发现对象 %s 的注解。"
 
-#: builtin/notes.c:397 builtin/notes.c:560
+#: builtin/notes.c:399 builtin/notes.c:562
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
-#: builtin/notes.c:400 builtin/notes.c:563
+#: builtin/notes.c:402 builtin/notes.c:565
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
-#: builtin/notes.c:403 builtin/notes.c:566
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
-#: builtin/notes.c:406 builtin/notes.c:569
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
-#: builtin/notes.c:409 builtin/notes.c:572
+#: builtin/notes.c:411 builtin/notes.c:574
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
-#: builtin/notes.c:410 builtin/notes.c:481
+#: builtin/notes.c:412 builtin/notes.c:483
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
-#: builtin/notes.c:435
+#: builtin/notes.c:437
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:450 builtin/notes.c:529
+#: builtin/notes.c:452 builtin/notes.c:531
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
-#: builtin/notes.c:461 builtin/notes.c:622 builtin/notes.c:887
+#: builtin/notes.c:463 builtin/notes.c:624 builtin/notes.c:889
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
 
-#: builtin/notes.c:482
+#: builtin/notes.c:484
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/notes.c:484
+#: builtin/notes.c:486
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
-#: builtin/notes.c:502
+#: builtin/notes.c:504
 msgid "too few parameters"
 msgstr "参数太少"
 
-#: builtin/notes.c:523
+#: builtin/notes.c:525
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能拷贝注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:535
+#: builtin/notes.c:537
 #, c-format
-msgid "Missing notes on source object %s. Cannot copy."
+msgid "missing notes on source object %s. Cannot copy."
 msgstr "源对象 %s 缺少注解。不能拷贝。"
 
-#: builtin/notes.c:587
+#: builtin/notes.c:589
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -9337,288 +9989,318 @@ msgstr ""
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
-#: builtin/notes.c:753
+#: builtin/notes.c:685
+msgid "failed to delete ref NOTES_MERGE_PARTIAL"
+msgstr "无法删除引用 NOTES_MERGE_PARTIAL"
+
+#: builtin/notes.c:687
+msgid "failed to delete ref NOTES_MERGE_REF"
+msgstr "无法删除引用 NOTES_MERGE_REF"
+
+#: builtin/notes.c:689
+msgid "failed to remove 'git notes merge' worktree"
+msgstr "无法删除 'git notes merge' 工作区"
+
+#: builtin/notes.c:709
+msgid "failed to read ref NOTES_MERGE_PARTIAL"
+msgstr "无法读取引用 NOTES_MERGE_PARTIAL"
+
+#: builtin/notes.c:711
+msgid "could not find commit from NOTES_MERGE_PARTIAL."
+msgstr "无法从 NOTES_MERGE_PARTIAL 中找到提交。"
+
+#: builtin/notes.c:713
+msgid "could not parse commit from NOTES_MERGE_PARTIAL."
+msgstr "无法从 NOTES_MERGE_PARTIAL 中解析提交。"
+
+#: builtin/notes.c:726
+msgid "failed to resolve NOTES_MERGE_REF"
+msgstr "无法解析 NOTES_MERGE_REF"
+
+#: builtin/notes.c:729
+msgid "failed to finalize notes merge"
+msgstr "无法完成注解合并"
+
+#: builtin/notes.c:755
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "未知的注解合并策略 %s"
 
-#: builtin/notes.c:769
+#: builtin/notes.c:771
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:771
+#: builtin/notes.c:773
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:773
+#: builtin/notes.c:775
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr "使用指定的策略解决注解冲突 (manual/ours/theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:775
+#: builtin/notes.c:777
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:777
+#: builtin/notes.c:779
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:779
+#: builtin/notes.c:781
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:781
+#: builtin/notes.c:783
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:792
+#: builtin/notes.c:794
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "不能混用 --commit、--abort 或 -s/--strategy"
 
-#: builtin/notes.c:797
-msgid "Must specify a notes ref to merge"
+#: builtin/notes.c:799
+msgid "must specify a notes ref to merge"
 msgstr "必须指定一个注解引用来合并"
 
-#: builtin/notes.c:821
+#: builtin/notes.c:823
 #, c-format
-msgid "Unknown -s/--strategy: %s"
+msgid "unknown -s/--strategy: %s"
 msgstr "未知的 -s/--strategy:%s"
 
-#: builtin/notes.c:858
+#: builtin/notes.c:860
 #, c-format
-msgid "A notes merge into %s is already in-progress at %s"
-msgstr "ä¸\80个å\88° %s ç\9a\84注解å\90\88并已ç»\8få\9c¨ %s 执行中"
+msgid "a notes merge into %s is already in-progress at %s"
+msgstr "ä½\8däº\8e %2$s ç\9a\84ä¸\80个å\88° %1$s ä¸­ç\9a\84注解å\90\88并正å\9c¨执行中"
 
-#: builtin/notes.c:861
+#: builtin/notes.c:863
 #, c-format
-msgid "Failed to store link to current notes ref (%s)"
-msgstr "无法存储链接到当前注解的引用(%s)"
+msgid "failed to store link to current notes ref (%s)"
+msgstr "无法存储链接到当前的注解引用(%s)"
 
-#: builtin/notes.c:863
+#: builtin/notes.c:865
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
 "'git notes merge --commit', or abort the merge with 'git notes merge --"
 "abort'.\n"
-msgstr "自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
+msgstr ""
+"自动合并说明失败。修改 %s 中的冲突并且使用命令 'git notes merge --commit' 提"
+"交结果,或者使用命令 'git notes merge --abort' 终止合并。\n"
 
-#: builtin/notes.c:885
+#: builtin/notes.c:887
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
-#: builtin/notes.c:897
+#: builtin/notes.c:899
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
-#: builtin/notes.c:900
+#: builtin/notes.c:902
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:938 builtin/prune.c:105 builtin/worktree.c:127
+#: builtin/notes.c:940 builtin/prune.c:105 builtin/worktree.c:127
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/notes.c:939
+#: builtin/notes.c:941
 msgid "report pruned notes"
 msgstr "报告清除的注解"
 
-#: builtin/notes.c:981
+#: builtin/notes.c:983
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:982
+#: builtin/notes.c:984
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:1017 builtin/remote.c:1623
+#: builtin/notes.c:1019
 #, c-format
-msgid "Unknown subcommand: %s"
+msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:28
+#: builtin/pack-objects.c:29
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:29
+#: builtin/pack-objects.c:30
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <base-name> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:177 builtin/pack-objects.c:180
+#: builtin/pack-objects.c:179 builtin/pack-objects.c:182
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:766
+#: builtin/pack-objects.c:768
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:779
+#: builtin/pack-objects.c:781
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1037
+#: builtin/pack-objects.c:1070
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2197
+#: builtin/pack-objects.c:2346
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2759
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2615
+#: builtin/pack-objects.c:2763
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2645
+#: builtin/pack-objects.c:2793
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2795
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2649
+#: builtin/pack-objects.c:2797
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2800
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2653
+#: builtin/pack-objects.c:2801
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2802
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2657
+#: builtin/pack-objects.c:2805
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2807
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2809
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2811
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2813
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2815
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2817
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2819
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2673
+#: builtin/pack-objects.c:2821
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2675
+#: builtin/pack-objects.c:2823
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2677
+#: builtin/pack-objects.c:2825
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2679
+#: builtin/pack-objects.c:2827
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2681
+#: builtin/pack-objects.c:2829
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2684
+#: builtin/pack-objects.c:2832
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2687
+#: builtin/pack-objects.c:2835
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2690
+#: builtin/pack-objects.c:2838
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2693
+#: builtin/pack-objects.c:2841
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2695
+#: builtin/pack-objects.c:2843
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2697
+#: builtin/pack-objects.c:2845
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2699
+#: builtin/pack-objects.c:2847
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:2700 parse-options.h:142
-msgid "time"
-msgstr "时间"
-
-#: builtin/pack-objects.c:2701
+#: builtin/pack-objects.c:2849
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2704
+#: builtin/pack-objects.c:2852
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2706
+#: builtin/pack-objects.c:2854
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:2708
+#: builtin/pack-objects.c:2856
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2710
+#: builtin/pack-objects.c:2858
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2712
+#: builtin/pack-objects.c:2860
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2714
+#: builtin/pack-objects.c:2862
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2716
+#: builtin/pack-objects.c:2864
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2993
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -9658,69 +10340,62 @@ msgstr "使早于给定时间的对象过期"
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
-#: builtin/pull.c:72
+#: builtin/pull.c:51 builtin/pull.c:53
+#, c-format
+msgid "Invalid value for %s: %s"
+msgstr "%s 的值无效:%s"
+
+#: builtin/pull.c:73
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:120
+#: builtin/pull.c:121
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:123
+#: builtin/pull.c:124
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:147 builtin/revert.c:101
+#: builtin/pull.c:148 builtin/revert.c:101
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:156
+#: builtin/pull.c:157
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "自动在变基操作前后执行 stash/stash pop"
 
-#: builtin/pull.c:172
+#: builtin/pull.c:173
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:194
+#: builtin/pull.c:195
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:283
+#: builtin/pull.c:284
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:379 git-sh-setup.sh:226
-msgid "Cannot pull with rebase: You have unstaged changes."
-msgstr "无法通过变基方式拉取:您有未暂存的变更。"
-
-#: builtin/pull.c:385 git-sh-setup.sh:252
-msgid "Additionally, your index contains uncommitted changes."
-msgstr "而且您的索引中包含未提交的变更。"
-
-#: builtin/pull.c:387 git-sh-setup.sh:245
-msgid "Cannot pull with rebase: Your index contains uncommitted changes."
-msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
-
-#: builtin/pull.c:463
+#: builtin/pull.c:397
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:465
+#: builtin/pull.c:399
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:466
+#: builtin/pull.c:400
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:469
+#: builtin/pull.c:403
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -9730,42 +10405,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:474 git-parse-remote.sh:73
+#: builtin/pull.c:408 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:476 builtin/pull.c:491 git-parse-remote.sh:79
+#: builtin/pull.c:410 builtin/pull.c:425 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:478 builtin/pull.c:493 git-parse-remote.sh:82
+#: builtin/pull.c:412 builtin/pull.c:427 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:479 builtin/pull.c:494
+#: builtin/pull.c:413 builtin/pull.c:428
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:481 builtin/pull.c:487 builtin/pull.c:496
+#: builtin/pull.c:415 builtin/pull.c:421 builtin/pull.c:430
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:481 builtin/pull.c:496 builtin/pull.c:501 git-rebase.sh:451
+#: builtin/pull.c:415 builtin/pull.c:430 builtin/pull.c:435 git-rebase.sh:451
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:489 git-parse-remote.sh:75
+#: builtin/pull.c:423 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:498 git-parse-remote.sh:95
+#: builtin/pull.c:432 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr "如果您想要为此分支创建跟踪信息,您可以执行:"
 
-#: builtin/pull.c:503
+#: builtin/pull.c:437
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -9774,19 +10449,27 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:820
+#: builtin/pull.c:754
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:867
+#: builtin/pull.c:801
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
 
-#: builtin/pull.c:875
+#: builtin/pull.c:809
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:903
+#: builtin/pull.c:812
+msgid "pull with rebase"
+msgstr "变基式拉取"
+
+#: builtin/pull.c:813
+msgid "please commit or stash them."
+msgstr "请提交或为它们保存进度。"
+
+#: builtin/pull.c:838
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -9796,7 +10479,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:908
+#: builtin/pull.c:843
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -9813,11 +10496,11 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:923
+#: builtin/pull.c:858
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:927
+#: builtin/pull.c:862
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
@@ -10179,15 +10862,60 @@ msgstr "跳过应用稀疏检出过滤器"
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
-#: builtin/receive-pack.c:25
+#: builtin/receive-pack.c:26
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <git-dir>"
 
-#: builtin/receive-pack.c:1843
+#: builtin/receive-pack.c:793
+msgid ""
+"By default, updating the current branch in a non-bare repository\n"
+"is denied, because it will make the index and work tree inconsistent\n"
+"with what you pushed, and will require 'git reset --hard' to match\n"
+"the work tree to HEAD.\n"
+"\n"
+"You can set 'receive.denyCurrentBranch' configuration variable to\n"
+"'ignore' or 'warn' in the remote repository to allow pushing into\n"
+"its current branch; however, this is not recommended unless you\n"
+"arranged to update its work tree to match what you pushed in some\n"
+"other way.\n"
+"\n"
+"To squelch this message and still keep the default behaviour, set\n"
+"'receive.denyCurrentBranch' configuration variable to 'refuse'."
+msgstr ""
+"默认禁止更新非纯仓库的当前分支,因为您推送的内容将导致索引和工作区\n"
+"不一致,并且将需要执行 'git reset --hard' 将工作区匹配到 HEAD。\n"
+"\n"
+"您可以在远程仓库中设置 'receive.denyCurrentBranch' 配置变量为\n"
+"'ignore' 或 'warn' 以允许推送到当前分支。然而不推荐这么做,除非您\n"
+"用某种方式将其工作区更新至您推送的状态。\n"
+"\n"
+"若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
+"配置变量为 'refuse'。"
+
+#: builtin/receive-pack.c:813
+msgid ""
+"By default, deleting the current branch is denied, because the next\n"
+"'git clone' won't result in any file checked out, causing confusion.\n"
+"\n"
+"You can set 'receive.denyDeleteCurrent' configuration variable to\n"
+"'warn' or 'ignore' in the remote repository to allow deleting the\n"
+"current branch, with or without a warning message.\n"
+"\n"
+"To squelch this message, you can set it to 'refuse'."
+msgstr ""
+"默认禁止删除当前分支,因为下一次 'git clone' 将不会检出任何文件,\n"
+"导致混淆。\n"
+"\n"
+"您可以在远程仓库中设置 'receive.denyDeleteCurrent' 配置变量为\n"
+"'warn' 或 'ignore' 以允许删除当前分支,显示或者不显示警告。\n"
+"\n"
+"若要屏蔽此信息,您可以设置它为 'refuse'。"
+
+#: builtin/receive-pack.c:1883
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1857
+#: builtin/receive-pack.c:1897
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
@@ -10511,7 +11239,7 @@ msgstr "* 远程 %s"
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1296
+#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1295
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -10550,7 +11278,7 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1179 builtin/remote.c:1206
+#: builtin/remote.c:1179 builtin/remote.c:1205
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
@@ -10564,140 +11292,145 @@ msgstr[1] "  为 'git pull' 配置的本地分支:"
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1203
+#: builtin/remote.c:1202
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  为 'git push' 配置的本地引用%s:"
 msgstr[1] "  为 'git push' 配置的本地引用%s:"
 
-#: builtin/remote.c:1224
+#: builtin/remote.c:1223
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1226
+#: builtin/remote.c:1225
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1241
+#: builtin/remote.c:1240
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1243
+#: builtin/remote.c:1242
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1253
+#: builtin/remote.c:1252
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1260
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1263
+#: builtin/remote.c:1262
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1281
+#: builtin/remote.c:1280
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1282
+#: builtin/remote.c:1281
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1292
+#: builtin/remote.c:1291
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1293
+#: builtin/remote.c:1292
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1309
+#: builtin/remote.c:1308
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1312
+#: builtin/remote.c:1311
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1357
+#: builtin/remote.c:1356
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1420 builtin/remote.c:1474 builtin/remote.c:1542
+#: builtin/remote.c:1419 builtin/remote.c:1473 builtin/remote.c:1541
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1436
+#: builtin/remote.c:1435
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1443
+#: builtin/remote.c:1442
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1460
+#: builtin/remote.c:1459
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1462
+#: builtin/remote.c:1461
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1490
+#: builtin/remote.c:1489
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1516
+#: builtin/remote.c:1515
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1518
+#: builtin/remote.c:1517
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1520
+#: builtin/remote.c:1519
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1527
+#: builtin/remote.c:1526
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1568
+#: builtin/remote.c:1567
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1576
+#: builtin/remote.c:1575
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1578
+#: builtin/remote.c:1577
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1591
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
+#: builtin/remote.c:1622
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "未知子命令:%s"
+
 #: builtin/repack.c:17
 msgid "git repack [<options>]"
 msgstr "git repack [<选项>]"
@@ -10881,8 +11614,8 @@ msgid ""
 msgstr "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]"
 
 #: builtin/reset.c:27
-msgid "git reset [-q] <tree-ish> [--] <paths>..."
-msgstr "git reset [-q] <树或提交> [--] <路径>..."
+msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
+msgstr "git reset [-q] [<树或提交>] [--] <路径>..."
 
 #: builtin/reset.c:28
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
@@ -11003,27 +11736,27 @@ msgstr "不能重置索引文件至版本 '%s'。"
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-list.c:362
+#: builtin/rev-list.c:354
 msgid "rev-list does not support display of notes"
 msgstr "rev-list 不支持显示注解"
 
-#: builtin/rev-parse.c:358
+#: builtin/rev-parse.c:386
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:363
+#: builtin/rev-parse.c:391
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:365
+#: builtin/rev-parse.c:393
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:368
+#: builtin/rev-parse.c:396
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:499
+#: builtin/rev-parse.c:527
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -11114,7 +11847,7 @@ msgstr "保持多余的、空的提交"
 msgid "revert failed"
 msgstr "还原失败"
 
-#: builtin/revert.c:207
+#: builtin/revert.c:205
 msgid "cherry-pick failed"
 msgstr "拣选失败"
 
@@ -11275,70 +12008,124 @@ msgstr ""
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<引用>]"
 
-#: builtin/show-branch.c:640
+#: builtin/show-branch.c:375
+#, c-format
+msgid "ignoring %s; cannot handle more than %d ref"
+msgid_plural "ignoring %s; cannot handle more than %d refs"
+msgstr[0] "忽略 %s,无法处理 %d 个以上的引用"
+msgstr[1] "忽略 %s,无法处理 %d 个以上的引用"
+
+#: builtin/show-branch.c:541
+#, c-format
+msgid "no matching refs with %s"
+msgstr "没有和 %s 匹配的引用"
+
+#: builtin/show-branch.c:639
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:642
+#: builtin/show-branch.c:641
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:644
+#: builtin/show-branch.c:643
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:646
+#: builtin/show-branch.c:645
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:647
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:649
+#: builtin/show-branch.c:648
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:651
+#: builtin/show-branch.c:650
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:652
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:658
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:662
+#: builtin/show-branch.c:661
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:664
+#: builtin/show-branch.c:663
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:666
+#: builtin/show-branch.c:665
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:668
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:669
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从 base 开始的 <n> 条最近的引用日志记录"
 
+#: builtin/show-branch.c:703
+msgid ""
+"--reflog is incompatible with --all, --remotes, --independent or --merge-base"
+msgstr "--reflog 和 --all、--remotes、--independent 或 --merge-base 不兼容"
+
+#: builtin/show-branch.c:727
+msgid "no branches given, and HEAD is not valid"
+msgstr "未提供分支,且 HEAD 无效"
+
+#: builtin/show-branch.c:730
+msgid "--reflog option needs one branch name"
+msgstr "选项 --reflog 需要一个分支名"
+
+#: builtin/show-branch.c:733
+#, c-format
+msgid "only %d entry can be shown at one time."
+msgid_plural "only %d entries can be shown at one time."
+msgstr[0] "一次只能显示 %d 个条目。"
+msgstr[1] "一次只能显示 %d 个条目。"
+
+#: builtin/show-branch.c:737
+#, c-format
+msgid "no such ref %s"
+msgstr "无此引用 %s"
+
+#: builtin/show-branch.c:829
+#, c-format
+msgid "cannot handle more than %d rev."
+msgid_plural "cannot handle more than %d revs."
+msgstr[0] "不能处理 %d 个以上的版本。"
+msgstr[1] "不能处理 %d 个以上的版本。"
+
+#: builtin/show-branch.c:833
+#, c-format
+msgid "'%s' is not a valid ref."
+msgstr "'%s' 不是一个有效的引用。"
+
+#: builtin/show-branch.c:836
+#, c-format
+msgid "cannot find commit %s (%s)"
+msgstr "不能找到提交 %s (%s)"
+
 #: builtin/show-ref.c:10
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
@@ -11399,12 +12186,12 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:923
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1046
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:932
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1055
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
@@ -11414,75 +12201,94 @@ msgstr "期望一个完整的引用名称,却得到 %s"
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:278 builtin/submodule--helper.c:403
-#: builtin/submodule--helper.c:483
+#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:408
+#: builtin/submodule--helper.c:590
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:283
+#: builtin/submodule--helper.c:287
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:324 builtin/submodule--helper.c:338
+#: builtin/submodule--helper.c:329 builtin/submodule--helper.c:343
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:364
+#: builtin/submodule--helper.c:369
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:368
+#: builtin/submodule--helper.c:373
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:378
+#: builtin/submodule--helper.c:383
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:385
+#: builtin/submodule--helper.c:390
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:404
+#: builtin/submodule--helper.c:409
 msgid "Suppress output for initializing a submodule"
 msgstr "初始化子模组时抑制输出"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:414
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:430
+#: builtin/submodule--helper.c:435
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:436
+#: builtin/submodule--helper.c:441
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:486
+#: builtin/submodule--helper.c:524 builtin/submodule--helper.c:527
+#, c-format
+msgid "submodule '%s' cannot add alternate: %s"
+msgstr "子模组 '%s' 不能添加仓库备选:%s"
+
+#: builtin/submodule--helper.c:563
+#, c-format
+msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
+msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
+
+#: builtin/submodule--helper.c:570
+#, c-format
+msgid "Value '%s' for submodule.alternateLocation is not recognized"
+msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
+
+#: builtin/submodule--helper.c:593
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:489
+#: builtin/submodule--helper.c:596
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:492
+#: builtin/submodule--helper.c:599
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:498
+#: builtin/submodule--helper.c:605
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:504
+#: builtin/submodule--helper.c:608 builtin/submodule--helper.c:964
+msgid "force cloning progress"
+msgstr "显示克隆进度"
+
+#: builtin/submodule--helper.c:613
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -11490,108 +12296,108 @@ msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:529 builtin/submodule--helper.c:535
+#: builtin/submodule--helper.c:638 builtin/submodule--helper.c:648
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/submodule--helper.c:531
+#: builtin/submodule--helper.c:644
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:547
+#: builtin/submodule--helper.c:660
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "无法打开文件 '%s'"
 
-#: builtin/submodule--helper.c:552
+#: builtin/submodule--helper.c:665
 #, c-format
 msgid "could not close file %s"
 msgstr "无法关闭文件 %s"
 
-#: builtin/submodule--helper.c:559
+#: builtin/submodule--helper.c:672
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:611
+#: builtin/submodule--helper.c:726
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:615
+#: builtin/submodule--helper.c:730
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:641
+#: builtin/submodule--helper.c:756
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:662
+#: builtin/submodule--helper.c:777
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:792
+#: builtin/submodule--helper.c:913
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:803
+#: builtin/submodule--helper.c:924
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:824
+#: builtin/submodule--helper.c:945
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:827
+#: builtin/submodule--helper.c:948
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:831
+#: builtin/submodule--helper.c:952
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:835
+#: builtin/submodule--helper.c:956
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:838
+#: builtin/submodule--helper.c:959
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:840
+#: builtin/submodule--helper.c:961
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:841
+#: builtin/submodule--helper.c:962
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:846
+#: builtin/submodule--helper.c:969
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:856
+#: builtin/submodule--helper.c:979
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:927
+#: builtin/submodule--helper.c:1050
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
 "the superproject is not on any branch"
 msgstr "子模组(%s)的分支配置为继承上级项目的分支,但是上级项目不在任何分支上"
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:1100
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "submodule-helper 子命令必须由另外的子命令调用"
 
-#: builtin/submodule--helper.c:984
+#: builtin/submodule--helper.c:1107
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -11825,7 +12631,7 @@ msgstr "标签 '%s' 已存在"
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
 
-#: builtin/unpack-objects.c:490
+#: builtin/unpack-objects.c:493
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
@@ -11887,131 +12693,147 @@ msgstr "删除一个目录后,目录的状态信息未改变"
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:575
+#: builtin/update-index.c:564
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:919
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:922
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:936
+#: builtin/update-index.c:925
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:927
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:940
+#: builtin/update-index.c:929
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:931
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:945
+#: builtin/update-index.c:934
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:949
+#: builtin/update-index.c:938
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:953
+#: builtin/update-index.c:942
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:943
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:952
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:966
+#: builtin/update-index.c:955
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:958
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:961
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:964
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:966
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:968
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:970
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:974
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:989
+#: builtin/update-index.c:978
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:982
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:986
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:989
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1002
+#: builtin/update-index.c:991
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:995
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:997
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1010
+#: builtin/update-index.c:999
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1012
+#: builtin/update-index.c:1001
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1003
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1134
+#: builtin/update-index.c:1119
+msgid ""
+"core.untrackedCache is set to true; remove or change it, if you really want "
+"to disable the untracked cache"
+msgstr ""
+"core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
+"改它。"
+
+#: builtin/update-index.c:1123
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1146
+#: builtin/update-index.c:1131
+msgid ""
+"core.untrackedCache is set to false; remove or change it, if you really want "
+"to enable the untracked cache"
+msgstr ""
+"core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
+"修改它。"
+
+#: builtin/update-index.c:1135
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
@@ -12208,26 +13030,38 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: upload-pack.c:20
+#: upload-pack.c:22
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<选项>] <目录>"
 
-#: upload-pack.c:837
+#: upload-pack.c:1028
 msgid "quit after a single request/response exchange"
 msgstr "在一次单独的请求/响应(request/response)交换后退出"
 
-#: upload-pack.c:839
+#: upload-pack.c:1030
 msgid "exit immediately after initial ref advertisement"
 msgstr "在初始的引用广告后立即退出"
 
-#: upload-pack.c:841
+#: upload-pack.c:1032
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "不要尝试 <directory>/.git/ 如果 <directory> 不是一个 Git 目录"
 
-#: upload-pack.c:843
+#: upload-pack.c:1034
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "不活动 <n> 秒钟后终止传输"
 
+#: credential-cache--daemon.c:223
+#, c-format
+msgid ""
+"The permissions on your socket directory are too loose; other\n"
+"users may be able to read your cached credentials. Consider running:\n"
+"\n"
+"\tchmod 0700 %s"
+msgstr ""
+"您 socket 目录权限过于放松,其他用户可能会读取您缓存的认证信息。考虑执行:\n"
+"\n"
+"\tchmod 0700 %s"
+
 #: credential-cache--daemon.c:271
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
@@ -12242,7 +13076,11 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: http.c:323
+#: http.c:342
+msgid "Delegation control is not supported with cURL < 7.22.0"
+msgstr "当 cURL < 7.22.0 时,不支持委托控制"
+
+#: http.c:351
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
@@ -12358,15 +13196,15 @@ msgstr "到期时间"
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:237
+#: parse-options.h:238
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:239
+#: parse-options.h:240
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:245
+#: parse-options.h:246
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
@@ -12582,7 +13420,7 @@ msgid "Automated merge did not work."
 msgstr "自动合并未生效。"
 
 #: git-merge-octopus.sh:62
-msgid "Should not be doing an Octopus."
+msgid "Should not be doing an octopus."
 msgstr "不应该执行章鱼式合并。"
 
 #: git-merge-octopus.sh:73
@@ -12765,6 +13603,10 @@ msgstr "您尚未建立初始提交"
 msgid "Cannot save the current index state"
 msgstr "无法保存当前索引状态"
 
+#: git-stash.sh:103
+msgid "Cannot save the untracked files"
+msgstr "无法保存未跟踪文件"
+
 #: git-stash.sh:123 git-stash.sh:136
 msgid "Cannot save the current worktree state"
 msgstr "无法保存当前工作区状态"
@@ -12805,6 +13647,10 @@ msgstr ""
 "错误:'stash save' 的未知选项:$option\n"
 "      要提供一个描述信息,使用 git stash save -- '$option'"
 
+#: git-stash.sh:251
+msgid "Can't use --patch and --include-untracked or --all at the same time"
+msgstr "不能同时使用参数 --patch 和 --include-untracked 或 --all"
+
 #: git-stash.sh:259
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
@@ -12826,96 +13672,100 @@ msgstr "保存工作目录和索引状态 $stash_msg"
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: git-stash.sh:404
+#: git-stash.sh:403
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-stash.sh:414
+#: git-stash.sh:416
 msgid "No stash found."
 msgstr "未发现 stash。"
 
-#: git-stash.sh:421
+#: git-stash.sh:423
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-stash.sh:427
+#: git-stash.sh:438
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-stash.sh:455
+#: git-stash.sh:466
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是 stash 样提交"
 
-#: git-stash.sh:466
+#: git-stash.sh:477
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个 stash 引用"
 
-#: git-stash.sh:474
+#: git-stash.sh:485
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-stash.sh:478
+#: git-stash.sh:489
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程中恢复进度"
 
-#: git-stash.sh:486
+#: git-stash.sh:497
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-stash.sh:488
+#: git-stash.sh:499
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-stash.sh:522
+#: git-stash.sh:508
+msgid "Could not restore untracked files from stash"
+msgstr "无法从进度保存中恢复未跟踪文件"
+
+#: git-stash.sh:533
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
-#: git-stash.sh:537
+#: git-stash.sh:548
 msgid "Index was not unstashed."
 msgstr "索引的进度没有被恢复。"
 
-#: git-stash.sh:551
+#: git-stash.sh:562
 msgid "The stash is kept in case you need it again."
 msgstr "暂存被保留以备您再次需要。"
 
-#: git-stash.sh:560
+#: git-stash.sh:571
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-stash.sh:561
+#: git-stash.sh:572
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:不能丢弃进度条目"
 
-#: git-stash.sh:569
+#: git-stash.sh:580
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: git-stash.sh:641
+#: git-stash.sh:652
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:183
+#: git-submodule.sh:184
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:193
+#: git-submodule.sh:194
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:211
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:214
+#: git-submodule.sh:215
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -12926,22 +13776,22 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:233
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:234
+#: git-submodule.sh:235
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:242
+#: git-submodule.sh:243
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:244
+#: git-submodule.sh:245
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -12956,47 +13806,47 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:250
+#: git-submodule.sh:251
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:262
+#: git-submodule.sh:263
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:267
+#: git-submodule.sh:268
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:276
+#: git-submodule.sh:277
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:323
+#: git-submodule.sh:324
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "正在进入 '$displaypath'"
 
-#: git-submodule.sh:343
+#: git-submodule.sh:344
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "停止于 '$displaypath';脚本返回非零值。"
 
-#: git-submodule.sh:414
+#: git-submodule.sh:415
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "pathspec 和 --all 不兼容"
 
-#: git-submodule.sh:419
+#: git-submodule.sh:420
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: git-submodule.sh:439
+#: git-submodule.sh:440
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -13005,144 +13855,141 @@ msgstr ""
 "子模组工作区 '$displaypath' 包含一个 .git 目录\n"
 "(如果您真的想删除它及其全部历史,使用 'rm -rf' 命令)"
 
-#: git-submodule.sh:447
+#: git-submodule.sh:448
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr "子模组工作区 '$displaypath' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: git-submodule.sh:450
+#: git-submodule.sh:451
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "已清除目录 '$displaypath'"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:452
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "无法移除子模组工作区 '$displaypath'"
 
-#: git-submodule.sh:454
+#: git-submodule.sh:455
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "不能创建空的子模组目录 '$displaypath'"
 
-#: git-submodule.sh:463
+#: git-submodule.sh:464
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:617
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:622
+#: git-submodule.sh:627
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:627
+#: git-submodule.sh:632
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
 "'$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中找到当前版本 ${remote_name}/${branch}"
 
-#: git-submodule.sh:645
+#: git-submodule.sh:650
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:651
+#: git-submodule.sh:656
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
 "Direct fetching of that commit failed."
-msgstr "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
+msgstr ""
+"获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:658
+#: git-submodule.sh:663
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:659
+#: git-submodule.sh:664
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:663
+#: git-submodule.sh:668
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:669
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:669
+#: git-submodule.sh:674
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:670
+#: git-submodule.sh:675
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:680
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:676
+#: git-submodule.sh:681
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:707
+#: git-submodule.sh:712
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:815
+#: git-submodule.sh:820
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:867
+#: git-submodule.sh:872
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:887
+#: git-submodule.sh:892
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:890
+#: git-submodule.sh:895
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:893
+#: git-submodule.sh:898
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:918
-msgid "blob"
-msgstr "数据对象"
-
-#: git-submodule.sh:1040
+#: git-submodule.sh:1045
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "无法递归进子模组路径 '$sm_path'"
 
-#: git-submodule.sh:1107
+#: git-submodule.sh:1112
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
@@ -13188,13 +14035,17 @@ msgstr ""
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
-msgstr "\n不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
+msgstr ""
+"\n"
+"不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
 #: git-rebase--interactive.sh:166
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
-msgstr "\n如果您在这里删除一行,对应的提交将会丢失。\n"
+msgstr ""
+"\n"
+"如果您在这里删除一行,对应的提交将会丢失。\n"
 
 #: git-rebase--interactive.sh:202
 #, sh-format
@@ -13425,8 +14276,12 @@ msgid ""
 msgstr "选项 rebase.missingCommitsCheck 的值 $check_level 无法被识别。已忽略。"
 
 #: git-rebase--interactive.sh:1044
-msgid "You can fix this with 'git rebase --edit-todo'."
-msgstr "您可以使用 'git rebase --edit-todo' 命令修改。"
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'."
+msgstr ""
+"您可以用命令 'git rebase --edit-todo' 修正然后执行命令 'git rebase --"
+"continue'。"
 
 #: git-rebase--interactive.sh:1045
 msgid "Or you can abort the rebase with 'git rebase --abort'."
@@ -13449,7 +14304,7 @@ msgid ""
 "\n"
 "  git commit $gpg_sign_opt_quoted\n"
 "\n"
-"In both case, once you're done, continue with:\n"
+"In both cases, once you're done, continue with:\n"
 "\n"
 "  git rebase --continue\n"
 msgstr ""
@@ -13473,7 +14328,8 @@ msgstr "在修补提交中查找作者信息时遇到错误"
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
-msgstr "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
+msgstr ""
+"您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
 #: git-rebase--interactive.sh:1101 git-rebase--interactive.sh:1105
 msgid "Could not commit staged changes."
@@ -13493,51 +14349,50 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1298
+#: git-rebase--interactive.sh:1137 git-rebase--interactive.sh:1295
 msgid "Could not execute editor"
 msgstr "无法运行编辑器"
 
-#: git-rebase--interactive.sh:1145
-msgid "You need to set your committer info first"
-msgstr "您需要先设置您的提交者信息"
-
-#: git-rebase--interactive.sh:1153
+#: git-rebase--interactive.sh:1150
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "不能检出 $switch_to"
 
-#: git-rebase--interactive.sh:1158
+#: git-rebase--interactive.sh:1155
 msgid "No HEAD?"
 msgstr "没有 HEAD?"
 
-#: git-rebase--interactive.sh:1159
+#: git-rebase--interactive.sh:1156
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "不能创建临时 $state_dir"
 
-#: git-rebase--interactive.sh:1161
+#: git-rebase--interactive.sh:1158
 msgid "Could not mark as interactive"
 msgstr "不能标记为交互式"
 
-#: git-rebase--interactive.sh:1171 git-rebase--interactive.sh:1176
+#: git-rebase--interactive.sh:1168 git-rebase--interactive.sh:1173
 msgid "Could not init rewritten commits"
 msgstr "不能对重写提交进行初始化"
 
-#: git-rebase--interactive.sh:1276
+#: git-rebase--interactive.sh:1273
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
 msgstr[1] "变基 $shortrevisions 到 $shortonto($todocount 个提交)"
 
-#: git-rebase--interactive.sh:1281
+#: git-rebase--interactive.sh:1278
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
 "\n"
-msgstr "\n然而,如果您删除全部内容,变基操作将会终止。\n\n"
+msgstr ""
+"\n"
+"然而,如果您删除全部内容,变基操作将会终止。\n"
+"\n"
 
-#: git-rebase--interactive.sh:1288
+#: git-rebase--interactive.sh:1285
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
@@ -13564,6 +14419,10 @@ msgstr "不能变基:您有未暂存的变更。"
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr "不能重写分支:您有未暂存的变更。"
 
+#: git-sh-setup.sh:226
+msgid "Cannot pull with rebase: You have unstaged changes."
+msgstr "无法通过变基方式拉取:您有未暂存的变更。"
+
 #: git-sh-setup.sh:229
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
@@ -13573,11 +14432,19 @@ msgstr "不能 $action:您有未暂存的变更。"
 msgid "Cannot rebase: Your index contains uncommitted changes."
 msgstr "不能变基:您的索引中包含未提交的变更。"
 
+#: git-sh-setup.sh:245
+msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
+
 #: git-sh-setup.sh:248
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr "不能 $action:您的索引中包含未提交的变更。"
 
+#: git-sh-setup.sh:252
+msgid "Additionally, your index contains uncommitted changes."
+msgstr "而且您的索引中包含未提交的变更。"
+
 #: git-sh-setup.sh:372
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr "您需要在工作区的顶级目录中运行这个命令。"
@@ -13585,3 +14452,39 @@ msgstr "您需要在工作区的顶级目录中运行这个命令。"
 #: git-sh-setup.sh:377
 msgid "Unable to determine absolute path of git directory"
 msgstr "不能确定 git 目录的绝对路径"
+
+#~ msgid "Could not write to %s"
+#~ msgstr "不能写入 %s"
+
+#~ msgid "Error wrapping up %s."
+#~ msgstr "错误收尾 %s。"
+
+#~ msgid "Your local changes would be overwritten by cherry-pick."
+#~ msgstr "您的本地修改将被拣选操作覆盖。"
+
+#~ msgid "Cannot revert during another revert."
+#~ msgstr "不能在回退中执行另一回退。"
+
+#~ msgid "Cannot cherry-pick during another cherry-pick."
+#~ msgstr "不能在拣选过程中执行另一拣选。"
+
+#~ msgid "Could not parse line %d."
+#~ msgstr "不能解析第 %d 行。"
+
+#~ msgid "Could not open %s"
+#~ msgstr "不能打开 %s"
+
+#~ msgid "Could not read %s."
+#~ msgstr "不能读取 %s。"
+
+#~ msgid "Could not format %s."
+#~ msgstr "不能格式化 %s。"
+
+#~ msgid "%s: %s"
+#~ msgstr "%s:%s"
+
+#~ msgid "cannot open %s: %s"
+#~ msgstr "不能打开 %s:%s"
+
+#~ msgid "You need to set your committer info first"
+#~ msgstr "您需要先设置您的提交者信息"