]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: zh_CN: for git v2.18.0 l10n round 1 to 3
authorJiang Xin <worldhello.net@gmail.com>
Mon, 28 May 2018 01:11:57 +0000 (09:11 +0800)
committerJiang Xin <worldhello.net@gmail.com>
Sun, 17 Jun 2018 16:31:45 +0000 (00:31 +0800)
Translate 251 new messages (3608t0f0u) for git 2.18.0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
po/zh_CN.po

index fa3f48445633ca3a86b12665a88c7feb40ec5fdf..239a54a7e3f7fa12bda5af07b4af1c56150a306b 100644 (file)
@@ -58,7 +58,7 @@
 #   fork                             |  派生
 #   Git archive                      |  仓库(对于 arch 用户)
 #   gitfile                          |  gitfile(仓库链接文件)
-#   grafts                           |  (提交)嫁接
+#   grafts                           |  (提交)移植
 #   hash                             |  哈希值
 #   HEAD                             |  HEAD(头指针,亦即当前分支)
 #   head                             |  头、分支
@@ -138,8 +138,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2018-03-16 07:29+0800\n"
-"PO-Revision-Date: 2018-03-25 22:20+0800\n"
+"POT-Creation-Date: 2018-06-16 22:06+0800\n"
+"PO-Revision-Date: 2018-06-18 00:28+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -148,37 +148,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: advice.c:62
+#: advice.c:92
 #, c-format
-msgid "hint: %.*s\n"
-msgstr "提示:%.*s\n"
+msgid "%shint: %.*s%s\n"
+msgstr "%s提示:%.*s%s\n"
 
-#: advice.c:90
+#: advice.c:137
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "无法拣选,因为您有未合并的文件。"
 
-#: advice.c:92
+#: advice.c:139
 msgid "Committing is not possible because you have unmerged files."
 msgstr "无法提交,因为您有未合并的文件。"
 
-#: advice.c:94
+#: advice.c:141
 msgid "Merging is not possible because you have unmerged files."
 msgstr "无法合并,因为您有未合并的文件。"
 
-#: advice.c:96
+#: advice.c:143
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "无法拉取,因为您有未合并的文件。"
 
-#: advice.c:98
+#: advice.c:145
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "无法回退,因为您有未合并的文件。"
 
-#: advice.c:100
+#: advice.c:147
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "无法 %s,因为您有未合并的文件。"
 
-#: advice.c:108
+#: advice.c:155
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -186,23 +186,23 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: advice.c:116
+#: advice.c:163
 msgid "Exiting because of an unresolved conflict."
 msgstr "因为存在未解决的冲突而退出。"
 
-#: advice.c:121 builtin/merge.c:1251
+#: advice.c:168 builtin/merge.c:1250
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
 
-#: advice.c:123
+#: advice.c:170
 msgid "Please, commit your changes before merging."
 msgstr "请在合并前先提交您的修改。"
 
-#: advice.c:124
+#: advice.c:171
 msgid "Exiting because of unfinished merge."
 msgstr "因为存在未完成的合并而退出。"
 
-#: advice.c:130
+#: advice.c:177
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -460,7 +460,7 @@ msgstr "打补丁失败:%s:%ld"
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:277
+#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
@@ -659,7 +659,7 @@ msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: apply.c:4545 builtin/fetch.c:775 builtin/fetch.c:1025
+#: apply.c:4545 builtin/fetch.c:786 builtin/fetch.c:1036
 #, c-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
@@ -713,15 +713,15 @@ msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "修复空白错误后,应用了 %d 行。"
 msgstr[1] "修复空白错误后,应用了 %d 行。"
 
-#: apply.c:4894 builtin/add.c:539 builtin/mv.c:298 builtin/rm.c:390
+#: apply.c:4894 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
 #: apply.c:4921 apply.c:4924 builtin/am.c:2254 builtin/am.c:2257
-#: builtin/clone.c:118 builtin/fetch.c:127 builtin/pull.c:193
-#: builtin/submodule--helper.c:403 builtin/submodule--helper.c:1197
-#: builtin/submodule--helper.c:1200 builtin/submodule--helper.c:1567
-#: builtin/submodule--helper.c:1570 builtin/submodule--helper.c:1787
+#: builtin/clone.c:120 builtin/fetch.c:126 builtin/pull.c:198
+#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1210
+#: builtin/submodule--helper.c:1213 builtin/submodule--helper.c:1584
+#: builtin/submodule--helper.c:1587 builtin/submodule--helper.c:1807
 #: git-add--interactive.perl:197
 msgid "path"
 msgstr "路径"
@@ -796,7 +796,7 @@ msgstr "确保至少匹配 <n> 行上下文"
 
 #: apply.c:4960 builtin/am.c:2242 builtin/interpret-trailers.c:95
 #: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
-#: builtin/pack-objects.c:3035
+#: builtin/pack-objects.c:3177
 msgid "action"
 msgstr "动作"
 
@@ -824,9 +824,9 @@ msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: apply.c:4977 builtin/add.c:292 builtin/check-ignore.c:21
-#: builtin/commit.c:1276 builtin/count-objects.c:96 builtin/fsck.c:665
-#: builtin/log.c:1901 builtin/mv.c:123 builtin/read-tree.c:125
+#: apply.c:4977 builtin/add.c:290 builtin/check-ignore.c:21
+#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:666
+#: builtin/log.c:1901 builtin/mv.c:122 builtin/read-tree.c:124
 msgid "be verbose"
 msgstr "冗长输出"
 
@@ -864,98 +864,98 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <仓库> [--exec <命令>] --list"
 
-#: archive.c:351 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:299
+#: archive.c:351 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "路径规格 '%s' 未匹配任何文件"
 
-#: archive.c:436
+#: archive.c:434
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:436
+#: archive.c:434
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:437 builtin/log.c:1462
+#: archive.c:435 builtin/log.c:1462
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:438
+#: archive.c:436
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:439 builtin/blame.c:702 builtin/blame.c:703 builtin/config.c:62
-#: builtin/fast-export.c:1005 builtin/fast-export.c:1007 builtin/grep.c:869
+#: archive.c:437 builtin/blame.c:813 builtin/blame.c:814 builtin/config.c:127
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1009 builtin/grep.c:869
 #: builtin/hash-object.c:103 builtin/ls-files.c:551 builtin/ls-files.c:554
-#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:120
+#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:119
 #: parse-options.h:165
 msgid "file"
 msgstr "文件"
 
-#: archive.c:440 builtin/archive.c:89
+#: archive.c:438 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:442
+#: archive.c:440
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:443
+#: archive.c:441
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:444
+#: archive.c:442
 msgid "store only"
 msgstr "只存储"
 
-#: archive.c:445
+#: archive.c:443
 msgid "compress faster"
 msgstr "压缩速度更快"
 
-#: archive.c:453
+#: archive.c:451
 msgid "compress better"
 msgstr "压缩效果更好"
 
-#: archive.c:456
+#: archive.c:454
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:458 builtin/archive.c:90 builtin/clone.c:108 builtin/clone.c:111
-#: builtin/submodule--helper.c:1209 builtin/submodule--helper.c:1576
+#: archive.c:456 builtin/archive.c:90 builtin/clone.c:110 builtin/clone.c:113
+#: builtin/submodule--helper.c:1222 builtin/submodule--helper.c:1593
 msgid "repo"
 msgstr "仓库"
 
-#: archive.c:459 builtin/archive.c:91
+#: archive.c:457 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:460 builtin/archive.c:92 builtin/notes.c:489
+#: archive.c:458 builtin/archive.c:92 builtin/notes.c:489
 msgid "command"
 msgstr "命令"
 
-#: archive.c:461 builtin/archive.c:93
+#: archive.c:459 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
-#: archive.c:468
+#: archive.c:466
 msgid "Unexpected option --remote"
 msgstr "未知参数 --remote"
 
-#: archive.c:470
+#: archive.c:468
 msgid "Option --exec can only be used together with --remote"
 msgstr "选项 --exec 只能和 --remote 同时使用"
 
-#: archive.c:472
+#: archive.c:470
 msgid "Unexpected option --output"
 msgstr "未知参数 --output"
 
-#: archive.c:494
+#: archive.c:492
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "未知归档格式 '%s'"
 
-#: archive.c:501
+#: archive.c:499
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "参数不支持此格式 '%s':-%d"
@@ -973,22 +973,22 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: bisect.c:460
+#: bisect.c:461
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "文件 '%s' 包含错误的引用格式:%s"
 
-#: bisect.c:668
+#: bisect.c:669
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "我们无法进行更多的二分查找!\n"
 
-#: bisect.c:722
+#: bisect.c:723
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "不是一个有效的提交名 %s"
 
-#: bisect.c:746
+#: bisect.c:747
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -997,7 +997,7 @@ msgstr ""
 "合并基线 %s 是坏的。\n"
 "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n"
 
-#: bisect.c:751
+#: bisect.c:752
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1006,7 +1006,7 @@ msgstr ""
 "合并基线 %s 是新的。\n"
 "介于 %s 和 [%s] 之间的属性已经被修改。\n"
 
-#: bisect.c:756
+#: bisect.c:757
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1015,7 +1015,7 @@ msgstr ""
 "合并基线 %s 是 %s。\n"
 "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n"
 
-#: bisect.c:764
+#: bisect.c:765
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1026,7 +1026,7 @@ msgstr ""
 "这种情况下 git 二分查找无法正常工作。\n"
 "您可能弄错了 %s 和 %s 版本?\n"
 
-#: bisect.c:777
+#: bisect.c:778
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1037,36 +1037,36 @@ msgstr ""
 "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n"
 "我们仍旧继续。"
 
-#: bisect.c:810
+#: bisect.c:811
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "二分查找中:合并基线必须是经过测试的\n"
 
-#: bisect.c:850
+#: bisect.c:851
 #, c-format
 msgid "a %s revision is needed"
 msgstr "需要一个 %s 版本"
 
-#: bisect.c:869 builtin/notes.c:175 builtin/tag.c:235
+#: bisect.c:870 builtin/notes.c:175 builtin/tag.c:236
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: bisect.c:920
+#: bisect.c:921
 #, c-format
 msgid "could not read file '%s'"
 msgstr "不能读取文件 '%s'"
 
-#: bisect.c:950
+#: bisect.c:951
 msgid "reading bisect refs failed"
 msgstr "读取二分查找引用失败"
 
-#: bisect.c:969
+#: bisect.c:970
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s 同时为 %s 和 %s\n"
 
-#: bisect.c:977
+#: bisect.c:978
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1075,7 +1075,7 @@ msgstr ""
 "没有发现可测试的提交。\n"
 "可能您在运行时使用了错误的路径参数?\n"
 
-#: bisect.c:996
+#: bisect.c:997
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1085,48 +1085,48 @@ msgstr[1] "(大概 %d 步)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1002
+#: bisect.c:1003
 #, 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"
 
-#: blame.c:1758
+#: blame.c:1756
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents 和 --reverse 不能混用。"
 
-#: blame.c:1769
+#: blame.c:1767
 msgid "cannot use --contents with final commit object name"
 msgstr "不能将 --contents 和最终的提交对象名共用"
 
-#: blame.c:1789
+#: blame.c:1787
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交"
 
-#: blame.c:1798 bundle.c:160 ref-filter.c:1978 sequencer.c:1699
-#: sequencer.c:2901 builtin/commit.c:976 builtin/log.c:366 builtin/log.c:920
-#: builtin/log.c:1371 builtin/log.c:1702 builtin/log.c:1950 builtin/merge.c:370
-#: builtin/shortlog.c:191
+#: blame.c:1796 bundle.c:160 ref-filter.c:2075 sequencer.c:1861
+#: sequencer.c:3632 builtin/commit.c:981 builtin/log.c:366 builtin/log.c:920
+#: builtin/log.c:1371 builtin/log.c:1702 builtin/log.c:1950 builtin/merge.c:372
+#: builtin/shortlog.c:192
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
-#: blame.c:1816
+#: blame.c:1814
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围"
 
-#: blame.c:1827
+#: blame.c:1825
 #, c-format
 msgid "no such path %s in %s"
 msgstr "在 %2$s 中无此路径 %1$s"
 
-#: blame.c:1838
+#: blame.c:1836
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "不能为路径 %2$s 读取数据对象 %1$s"
 
-#: branch.c:53
+#: branch.c:54
 #, c-format
 msgid ""
 "\n"
@@ -1138,85 +1138,85 @@ msgstr ""
 "在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
 "\"git branch --set-upstream-to=%s%s%s\" 。"
 
-#: branch.c:67
+#: branch.c:68
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "未设置分支 %s 作为它自己的上游。"
 
-#: branch.c:93
+#: branch.c:94
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr "分支 '%1$s' 设置为使用变基来跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
-#: branch.c:94
+#: branch.c:95
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr "分支 '%1$s' 设置为跟踪来自 '%3$s' 的远程分支 '%2$s'。"
 
-#: branch.c:98
+#: branch.c:99
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地分支 '%s'。"
 
-#: branch.c:99
+#: branch.c:100
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "分支 '%s' 设置为跟踪本地分支 '%s'。"
 
-#: branch.c:104
+#: branch.c:105
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪远程引用 '%s'。"
 
-#: branch.c:105
+#: branch.c:106
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "分支 '%s' 设置为跟踪远程引用 '%s'。"
 
-#: branch.c:109
+#: branch.c:110
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr "分支 '%s' 设置为使用变基来跟踪本地引用 '%s'。"
 
-#: branch.c:110
+#: branch.c:111
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "分支 '%s' 设置为跟踪本地引用 '%s'。"
 
-#: branch.c:119
+#: branch.c:120
 msgid "Unable to write upstream branch configuration"
 msgstr "无法写入上游分支配置"
 
-#: branch.c:156
+#: branch.c:157
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
-#: branch.c:189
+#: branch.c:190
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
-#: branch.c:208
+#: branch.c:209
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:213
+#: branch.c:214
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:233
+#: branch.c:234
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: branch.c:235
+#: branch.c:236
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:237
+#: branch.c:238
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1234,27 +1234,27 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:280
+#: branch.c:281
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:300
+#: branch.c:301
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:305
+#: branch.c:306
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
-#: branch.c:359
+#: branch.c:360
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' 已经检出到 '%s'"
 
-#: branch.c:382
+#: branch.c:383
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "工作区 %s 的 HEAD 指向没有被更新"
@@ -1269,7 +1269,7 @@ msgstr "'%s' 不像是一个 v2 版本的包文件"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "未能识别的包头:%s%s (%d)"
 
-#: bundle.c:88 sequencer.c:1879 sequencer.c:2337 builtin/commit.c:750
+#: bundle.c:88 sequencer.c:2081 sequencer.c:2558 builtin/commit.c:755
 #, c-format
 msgid "could not open '%s'"
 msgstr "不能打开 '%s'"
@@ -1313,7 +1313,7 @@ msgstr "rev-list 终止"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:450 builtin/log.c:183 builtin/log.c:1607 builtin/shortlog.c:296
+#: bundle.c:450 builtin/log.c:183 builtin/log.c:1607 builtin/shortlog.c:303
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
@@ -1336,18 +1336,39 @@ msgstr "index-pack 终止"
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:41 sequencer.c:2141 builtin/am.c:421 builtin/am.c:465
-#: builtin/am.c:1436 builtin/am.c:2072
+#: commit.c:43 sequencer.c:2364 builtin/am.c:421 builtin/am.c:465
+#: builtin/am.c:1436 builtin/am.c:2072 builtin/replace.c:376
+#: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
 
-#: commit.c:43
+#: commit.c:45
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s 不是一个提交!"
 
-#: commit.c:1506
+#: commit.c:182
+msgid ""
+"Support for <GIT_DIR>/info/grafts is deprecated\n"
+"and will be removed in a future Git version.\n"
+"\n"
+"Please use \"git replace --convert-graft-file\"\n"
+"to convert the grafts into replace refs.\n"
+"\n"
+"Turn this message off by running\n"
+"\"git config advice.graftFileDeprecated false\""
+msgstr ""
+"对 <GIT_DIR>/info/grafts 的支持已被弃用,并将在\n"
+"未来的Git版本中被移除。\n"
+"\n"
+"请使用 \"git replace --convert-graft-file\" 将\n"
+"grafts 转换为替换引用。\n"
+"\n"
+"设置 \"git config advice.graftFileDeprecated false\"\n"
+"可关闭本消息"
+
+#: commit.c:1540
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -1357,170 +1378,184 @@ msgstr ""
 "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n"
 "设置为您项目所用的字符编码。\n"
 
+#: commit-graph.c:669
+#, c-format
+msgid "the commit graph format cannot write %d commits"
+msgstr "提交图形格式不能写入 %d 个提交"
+
+#: commit-graph.c:696
+msgid "too many commits to write graph"
+msgstr "提交太多不能画图"
+
+#: commit-graph.c:707 builtin/init-db.c:516 builtin/init-db.c:521
+#, c-format
+msgid "cannot mkdir %s"
+msgstr "不能创建目录 %s"
+
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:186
+#: config.c:187
 msgid "relative config include conditionals must come from files"
 msgstr "包含相对路径的条件引用必须来自于文件"
 
-#: config.c:720
+#: config.c:788
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:724
+#: config.c:792
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "文件 %2$s 中错误的配置行 %1$d"
 
-#: config.c:728
+#: config.c:796
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "标准输入中错误的配置行 %d"
 
-#: config.c:732
+#: config.c:800
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "子模组数据对象 %2$s 中错误的配置行 %1$d"
 
-#: config.c:736
+#: config.c:804
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "命令行 %2$s 中错误的配置行 %1$d"
 
-#: config.c:740
+#: config.c:808
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "在 %2$s 中错误的配置行 %1$d"
 
-#: config.c:868
+#: config.c:936
 msgid "out of range"
 msgstr "超出范围"
 
-#: config.c:868
+#: config.c:936
 msgid "invalid unit"
 msgstr "无效的单位"
 
-#: config.c:874
+#: config.c:942
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误:%3$s"
 
-#: config.c:879
+#: config.c:947
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "数据对象 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:882
+#: config.c:950
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "文件 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:885
+#: config.c:953
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr "标准输入中配置变量 '%2$s' 错误的取值 '%1$s':%3$s"
 
-#: config.c:888
+#: config.c:956
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr "子模组数据 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:891
+#: config.c:959
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "命令行 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:894
+#: config.c:962
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "在 %3$s 中配置变量 '%2$s' 错误的取值 '%1$s':%4$s"
 
-#: config.c:989
+#: config.c:1057
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:998
+#: config.c:1066
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
-#: config.c:1094 config.c:1105
+#: config.c:1171 config.c:1182
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:1225
+#: config.c:1307
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1386
+#: config.c:1473
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "错误的打包压缩级别 %d"
 
-#: config.c:1582
+#: config.c:1681
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1914
+#: config.c:2013
 msgid "unknown error occurred while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:2101
+#: config.c:2200
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: config.c:2144
+#: config.c:2243
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr "未知的 core.untrackedCache 取值 '%s',使用默认值 'keep'"
 
-#: config.c:2170
+#: config.c:2269
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间"
 
-#: config.c:2195
+#: config.c:2294
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:2197
+#: config.c:2296
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:2256
+#: config.c:2402
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
-#: config.c:2599 config.c:2816
+#: config.c:2766 config.c:3019
 #, c-format
 msgid "fstat on %s failed"
 msgstr "对 %s 调用 fstat 失败"
 
-#: config.c:2706
+#: config.c:2905
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "不能设置 '%s' 为 '%s'"
 
-#: config.c:2708 builtin/remote.c:776
+#: config.c:2907 builtin/remote.c:779
 #, c-format
 msgid "could not unset '%s'"
 msgstr "不能取消设置 '%s'"
 
-#: connect.c:52
+#: connect.c:61
 msgid "The remote end hung up upon initial contact"
 msgstr "远端在连接发起时即挂断"
 
-#: connect.c:54
+#: connect.c:63
 msgid ""
 "Could not read from remote repository.\n"
 "\n"
@@ -1531,7 +1566,7 @@ msgstr ""
 "\n"
 "请确认您有正确的访问权限并且仓库存在。"
 
-#: connected.c:66 builtin/fsck.c:198 builtin/prune.c:144
+#: connected.c:66 builtin/fsck.c:201 builtin/prune.c:145
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
@@ -1547,12 +1582,12 @@ msgstr "无法写入 rev-list"
 msgid "failed to close rev-list's stdin"
 msgstr "无法关闭 rev-list 的标准输入"
 
-#: convert.c:205
+#: convert.c:206
 #, c-format
 msgid "CRLF would be replaced by LF in %s."
 msgstr "文件 %s 中的 CRLF 将被 LF 替换。"
 
-#: convert.c:207
+#: convert.c:208
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -1561,12 +1596,12 @@ msgstr ""
 "文件 %s 中的 CRLF 将被 LF 替换。\n"
 "在工作区中该文件仍保持原有的换行符。"
 
-#: convert.c:215
+#: convert.c:216
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "文件 %s 中的 LF 将被 CRLF 替换"
 
-#: convert.c:217
+#: convert.c:218
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -1575,6 +1610,46 @@ msgstr ""
 "文件 %s 中的 LF 将被 CRLF 替换。\n"
 "在工作区中该文件仍保持原有的换行符。"
 
+#: convert.c:279
+#, c-format
+msgid "BOM is prohibited in '%s' if encoded as %s"
+msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM"
+
+#: convert.c:286
+#, c-format
+msgid ""
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
+"tree-encoding."
+msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%s 作为工作区编码。"
+
+#: convert.c:304
+#, c-format
+msgid "BOM is required in '%s' if encoded as %s"
+msgstr "如果编码为 %2$s,需要在 '%1$s' 中使用 BOM"
+
+#: convert.c:306
+#, c-format
+msgid ""
+"The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
+"%sLE (depending on the byte order) as working-tree-encoding."
+msgstr ""
+"文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字"
+"节序)作为工作区编码。"
+
+#: convert.c:424
+#, c-format
+msgid "failed to encode '%s' from %s to %s"
+msgstr "无法对 '%s' 进行从 %s 到 %s 的编码"
+
+#: convert.c:467
+#, c-format
+msgid "encoding '%s' from %s to %s and back is not the same"
+msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致"
+
+#: convert.c:1225
+msgid "true/false are no valid working-tree-encodings"
+msgstr "true/false 不是有效的工作区编码"
+
 #: date.c:116
 msgid "in the future"
 msgstr "在将来"
@@ -1690,24 +1765,24 @@ msgstr ""
 "发现配置变量 'diff.dirstat' 中的错误:\n"
 "%s"
 
-#: diff.c:3822
+#: diff.c:3823
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "外部 diff 退出,停止在 %s"
 
-#: diff.c:4146
+#: diff.c:4153
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only、--name-status、--check 和 -s 是互斥的"
 
-#: diff.c:4149
+#: diff.c:4156
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G、-S 和 --find-object 是互斥的"
 
-#: diff.c:4237
+#: diff.c:4244
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow 明确要求只跟一个路径规格"
 
-#: diff.c:4403
+#: diff.c:4410
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1716,44 +1791,44 @@ msgstr ""
 "无法解析 --dirstat/-X 选项的参数:\n"
 "%s"
 
-#: diff.c:4417
+#: diff.c:4424
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: diff.c:5493
+#: diff.c:5500
 msgid "inexact rename detection was skipped due to too many files."
 msgstr "因为文件太多,略过不严格的重命名检查。"
 
-#: diff.c:5496
+#: diff.c:5503
 msgid "only found copies from modified paths due to too many files."
 msgstr "因为文件太多,只在修改的路径中查找拷贝。"
 
-#: diff.c:5499
+#: diff.c:5506
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。"
 
-#: dir.c:1866
+#: dir.c:1867
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: dir.c:2108
+#: dir.c:2109
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:2232
+#: dir.c:2233
 msgid "Untracked cache is disabled on this system or location."
 msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
-#: dir.c:3024 dir.c:3029
+#: dir.c:3075 dir.c:3080
 #, c-format
 msgid "could not create directories for %s"
 msgstr "不能为 %s 创建目录"
 
-#: dir.c:3054
+#: dir.c:3109
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "不能从 '%s' 迁移 git 目录到 '%s'"
@@ -1776,201 +1851,205 @@ msgstr "不能对文件 '%s' 调用 stat"
 msgid "Remote with no URL"
 msgstr "远程未设置 URL"
 
-#: fetch-pack.c:253
+#: fetch-pack.c:254
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack:应为 shallow 列表"
 
-#: fetch-pack.c:265
+#: fetch-pack.c:266
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包"
 
-#: fetch-pack.c:284 builtin/archive.c:63
+#: fetch-pack.c:285 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "远程错误:%s"
 
-#: fetch-pack.c:285
+#: fetch-pack.c:286
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'"
 
-#: fetch-pack.c:337
+#: fetch-pack.c:338
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc 需要 multi_ack_detailed"
 
-#: fetch-pack.c:428
+#: fetch-pack.c:429 fetch-pack.c:1310
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "无效的 shallow 信息:%s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:435 fetch-pack.c:1316
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "无效的 unshallow 信息:%s"
 
-#: fetch-pack.c:436
+#: fetch-pack.c:437 fetch-pack.c:1318
 #, c-format
 msgid "object not found: %s"
 msgstr "对象未找到:%s"
 
-#: fetch-pack.c:439
+#: fetch-pack.c:440 fetch-pack.c:1321
 #, c-format
 msgid "error in object: %s"
 msgstr "对象中出错:%s"
 
-#: fetch-pack.c:441
+#: fetch-pack.c:442 fetch-pack.c:1323
 #, c-format
 msgid "no shallow found: %s"
 msgstr "未发现 shallow:%s"
 
-#: fetch-pack.c:444
+#: fetch-pack.c:445 fetch-pack.c:1326
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "应为 shallow/unshallow,却得到 %s"
 
-#: fetch-pack.c:485
+#: fetch-pack.c:486
 #, c-format
 msgid "got %s %d %s"
 msgstr "得到 %s %d %s"
 
-#: fetch-pack.c:499
+#: fetch-pack.c:500
 #, c-format
 msgid "invalid commit %s"
 msgstr "无效提交 %s"
 
-#: fetch-pack.c:532
+#: fetch-pack.c:533
 msgid "giving up"
 msgstr "放弃"
 
-#: fetch-pack.c:542 progress.c:229
+#: fetch-pack.c:543 progress.c:229
 msgid "done"
 msgstr "完成"
 
-#: fetch-pack.c:554
+#: fetch-pack.c:555
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "得到 %s (%d) %s"
 
-#: fetch-pack.c:600
+#: fetch-pack.c:601
 #, c-format
 msgid "Marking %s as complete"
 msgstr "标记 %s 为完成"
 
-#: fetch-pack.c:788
+#: fetch-pack.c:828
 #, c-format
 msgid "already have %s (%s)"
 msgstr "已经有 %s(%s)"
 
-#: fetch-pack.c:829
+#: fetch-pack.c:869
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack:无法派生 sideband 多路输出"
 
-#: fetch-pack.c:837
+#: fetch-pack.c:877
 msgid "protocol error: bad pack header"
 msgstr "协议错误:坏的包头"
 
-#: fetch-pack.c:895
+#: fetch-pack.c:944
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack:无法派生进程 %s"
 
-#: fetch-pack.c:911
+#: fetch-pack.c:960
 #, c-format
 msgid "%s failed"
 msgstr "%s 失败"
 
-#: fetch-pack.c:913
+#: fetch-pack.c:962
 msgid "error in sideband demultiplexer"
 msgstr "sideband 多路输出出错"
 
-#: fetch-pack.c:940
+#: fetch-pack.c:989
 msgid "Server does not support shallow clients"
 msgstr "服务器不支持 shalllow 客户端"
 
-#: fetch-pack.c:944
+#: fetch-pack.c:993
 msgid "Server supports multi_ack_detailed"
 msgstr "服务器支持 multi_ack_detailed"
 
-#: fetch-pack.c:947
+#: fetch-pack.c:996
 msgid "Server supports no-done"
 msgstr "服务器支持 no-done"
 
-#: fetch-pack.c:953
+#: fetch-pack.c:1002
 msgid "Server supports multi_ack"
 msgstr "服务器支持 multi_ack"
 
-#: fetch-pack.c:957
+#: fetch-pack.c:1006
 msgid "Server supports side-band-64k"
 msgstr "服务器支持 side-band-64k"
 
-#: fetch-pack.c:961
+#: fetch-pack.c:1010
 msgid "Server supports side-band"
 msgstr "服务器支持 side-band"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:1014
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "服务器支持 allow-tip-sha1-in-want"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:1018
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "服务器支持 allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:979
+#: fetch-pack.c:1028
 msgid "Server supports ofs-delta"
 msgstr "服务器支持 ofs-delta"
 
-#: fetch-pack.c:985
+#: fetch-pack.c:1034 fetch-pack.c:1204
 msgid "Server supports filter"
 msgstr "服务器支持 filter"
 
-#: fetch-pack.c:993
+#: fetch-pack.c:1042
 #, c-format
 msgid "Server version is %.*s"
 msgstr "服务器版本 %.*s"
 
-#: fetch-pack.c:999
+#: fetch-pack.c:1048
 msgid "Server does not support --shallow-since"
 msgstr "服务器不支持 --shallow-since"
 
-#: fetch-pack.c:1003
+#: fetch-pack.c:1052
 msgid "Server does not support --shallow-exclude"
 msgstr "服务器不支持 --shallow-exclude"
 
-#: fetch-pack.c:1005
+#: fetch-pack.c:1054
 msgid "Server does not support --deepen"
 msgstr "服务器不支持 --deepen"
 
-#: fetch-pack.c:1016
+#: fetch-pack.c:1065
 msgid "no common commits"
 msgstr "没有共同的提交"
 
-#: fetch-pack.c:1028
+#: fetch-pack.c:1077 fetch-pack.c:1414
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack:获取失败。"
 
-#: fetch-pack.c:1190
+#: fetch-pack.c:1199
+msgid "Server does not support shallow requests"
+msgstr "服务器不支持 shalllow 请求"
+
+#: fetch-pack.c:1584
 msgid "no matching remote head"
 msgstr "没有匹配的远程分支"
 
-#: fetch-pack.c:1212
+#: fetch-pack.c:1610
 #, c-format
 msgid "no such remote ref %s"
 msgstr "没有这样的远程引用 %s"
 
-#: fetch-pack.c:1215
+#: fetch-pack.c:1613
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "服务器不允许请求未公开的对象 %s"
 
-#: gpg-interface.c:181
+#: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:211
+#: gpg-interface.c:210
 msgid "could not create temporary file"
 msgstr "不能创建临时文件"
 
-#: gpg-interface.c:214
+#: gpg-interface.c:213
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "无法将分离式签名写入 '%s'"
@@ -1980,36 +2059,97 @@ msgstr "无法将分离式签名写入 '%s'"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'"
 
-#: grep.c:2022
+#: grep.c:2020
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s':无法读取 %s"
 
-#: grep.c:2039 setup.c:163 builtin/clone.c:407 builtin/diff.c:81
+#: grep.c:2037 setup.c:164 builtin/clone.c:409 builtin/diff.c:81
 #: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "对 '%s' 调用 stat 失败"
 
-#: grep.c:2050
+#: grep.c:2048
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s':读取不完整"
 
-#: help.c:179
+#: help.c:23
+msgid "start a working area (see also: git help tutorial)"
+msgstr "开始一个工作区(参见:git help tutorial)"
+
+#: help.c:24
+msgid "work on the current change (see also: git help everyday)"
+msgstr "在当前变更上工作(参见:git help everyday)"
+
+#: help.c:25
+msgid "examine the history and state (see also: git help revisions)"
+msgstr "检查历史和状态(参见:git help revisions)"
+
+#: help.c:26
+msgid "grow, mark and tweak your common history"
+msgstr "扩展、标记和调校您的历史记录"
+
+#: help.c:27
+msgid "collaborate (see also: git help workflows)"
+msgstr "协同(参见:git help workflows)"
+
+#: help.c:31
+msgid "Main Porcelain Commands"
+msgstr "主要的上层命令"
+
+#: help.c:32
+msgid "Ancillary Commands / Manipulators"
+msgstr "辅助命令/操作者"
+
+#: help.c:33
+msgid "Ancillary Commands / Interrogators"
+msgstr "辅助命令/询问者"
+
+#: help.c:34
+msgid "Interacting with Others"
+msgstr "与其它系统交互"
+
+#: help.c:35
+msgid "Low-level Commands / Manipulators"
+msgstr "低级命令/操作者"
+
+#: help.c:36
+msgid "Low-level Commands / Interrogators"
+msgstr "低级命令/询问者"
+
+#: help.c:37
+msgid "Low-level Commands / Synching Repositories"
+msgstr "低级命令/同步仓库"
+
+#: help.c:38
+msgid "Low-level Commands / Internal Helpers"
+msgstr "低级命令/内部助手"
+
+#: help.c:293
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:186
+#: help.c:300
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:217
+#: help.c:309
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:281
+#: help.c:358 git.c:90
+#, c-format
+msgid "unsupported command listing type '%s'"
+msgstr "不支持的命令列表类型 '%s'"
+
+#: help.c:405
+msgid "The common Git guides are:"
+msgstr "最常用的 Git 向导有:"
+
+#: help.c:467
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2018,31 +2158,31 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:336
+#: help.c:526
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: help.c:358
+#: help.c:548
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "警告:您运行了一个并不存在的 Git 命令 '%s'。"
 
-#: help.c:363
+#: help.c:553
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "假定你想要的是 '%s' 并继续。"
 
-#: help.c:368
+#: help.c:558
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "假定你想要的是 '%2$s',在 %1$0.1f 秒钟后继续。"
 
-#: help.c:376
+#: help.c:566
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:380
+#: help.c:570
 msgid ""
 "\n"
 "The most similar command is"
@@ -2056,16 +2196,16 @@ msgstr[1] ""
 "\n"
 "最相似的命令是"
 
-#: help.c:395
+#: help.c:585
 msgid "git version [<options>]"
 msgstr "git version [<选项>]"
 
-#: help.c:462
+#: help.c:652
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: help.c:466
+#: help.c:656
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2132,7 +2272,7 @@ msgstr "不允许空的姓名(对于 <%s>)"
 msgid "name consists only of disallowed characters: %s"
 msgstr "姓名中仅包含禁用字符:%s"
 
-#: ident.c:416 builtin/commit.c:582
+#: ident.c:416 builtin/commit.c:587
 #, c-format
 msgid "invalid date format: %s"
 msgstr "无效的日期格式:%s"
@@ -2168,82 +2308,157 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "不能创建 '%s.lock':%s"
 
-#: merge.c:74
+#: merge.c:71
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:134 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:378
-#: builtin/checkout.c:599 builtin/clone.c:759
+#: merge.c:136 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:378
+#: builtin/checkout.c:606 builtin/clone.c:761
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
-#: merge-recursive.c:235
+#: merge-recursive.c:298
 msgid "(bad commit)\n"
 msgstr "(坏提交)\n"
 
-#: merge-recursive.c:257 merge-recursive.c:265
+#: merge-recursive.c:320
 #, c-format
-msgid "addinfo_cache failed for path '%s'"
-msgstr "为路径 '%s' addinfo_cache 失败"
+msgid "add_cacheinfo failed for path '%s'; merge aborting."
+msgstr "addinfo_cache 对路径 '%s' 执行失败,合并终止。"
 
-#: merge-recursive.c:329
+#: merge-recursive.c:328
+#, c-format
+msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
+msgstr "addinfo_cache 无法刷新路径 '%s',合并终止。"
+
+#: merge-recursive.c:410
 msgid "error building trees"
 msgstr "无法创建树"
 
-#: merge-recursive.c:771
+#: merge-recursive.c:881
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "无法创建路径 '%s'%s"
 
-#: merge-recursive.c:782
+#: merge-recursive.c:892
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:796 merge-recursive.c:815
+#: merge-recursive.c:906 merge-recursive.c:925
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:805
+#: merge-recursive.c:915
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:847 builtin/cat-file.c:37
+#: merge-recursive.c:957 builtin/cat-file.c:37
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:849
+#: merge-recursive.c:959
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:873
+#: merge-recursive.c:983
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "无法打开 '%s':%s"
 
-#: merge-recursive.c:884
+#: merge-recursive.c:994
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "无法创建符号链接 '%s':%s"
 
-#: merge-recursive.c:889
+#: merge-recursive.c:999
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:1029
+#: merge-recursive.c:1186
+#, c-format
+msgid "Failed to merge submodule %s (not checked out)"
+msgstr "无法合并子模组 %s (没有检出)"
+
+#: merge-recursive.c:1193
+#, c-format
+msgid "Failed to merge submodule %s (commits not present)"
+msgstr "无法合并子模组 %s(提交不存在)"
+
+#: merge-recursive.c:1200
+#, c-format
+msgid "Failed to merge submodule %s (commits don't follow merge-base)"
+msgstr "无法合并子模组 %s (提交未跟随合并基线)"
+
+#: merge-recursive.c:1208 merge-recursive.c:1220
+#, c-format
+msgid "Fast-forwarding submodule %s to the following commit:"
+msgstr "子模组 %s 快进到如下提交:"
+
+#: merge-recursive.c:1211 merge-recursive.c:1223
+#, c-format
+msgid "Fast-forwarding submodule %s"
+msgstr "快进子模组 %s"
+
+#: merge-recursive.c:1245
+#, c-format
+msgid "Failed to merge submodule %s (merge following commits not found)"
+msgstr "无法合并子模组 %s (没发现合并跟随的提交)"
+
+#: merge-recursive.c:1249
+#, c-format
+msgid "Failed to merge submodule %s (not fast-forward)"
+msgstr "无法合并子模组 %s(非快进)"
+
+#: merge-recursive.c:1250
+msgid "Found a possible merge resolution for the submodule:\n"
+msgstr "找到子模组的一个可能的合并方案:\n"
+
+#: merge-recursive.c:1253
+#, c-format
+msgid ""
+"If this is correct simply add it to the index for example\n"
+"by using:\n"
+"\n"
+"  git update-index --cacheinfo 160000 %s \"%s\"\n"
+"\n"
+"which will accept this suggestion.\n"
+msgstr ""
+"如果这个正确,将其添加到索引,例如使用命令:\n"
+"\n"
+"  git update-index --cacheinfo 160000 %s \"%s\"\n"
+"\n"
+"以接受此建议。\n"
+
+#: merge-recursive.c:1262
+#, c-format
+msgid "Failed to merge submodule %s (multiple merges found)"
+msgstr "无法合并子模组 %s (发现多个合并)"
+
+#: merge-recursive.c:1321
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:1034
+#: merge-recursive.c:1326
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:1146
+#: merge-recursive.c:1358
+#, c-format
+msgid "Auto-merging %s"
+msgstr "自动合并 %s"
+
+#: merge-recursive.c:1423
+#, c-format
+msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
+msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。"
+
+#: merge-recursive.c:1475
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2252,7 +2467,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本被保留。"
 
-#: merge-recursive.c:1151
+#: merge-recursive.c:1480
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2261,7 +2476,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本被保留。"
 
-#: merge-recursive.c:1158
+#: merge-recursive.c:1487
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2270,7 +2485,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版"
 "本保留在 %8$s 中。"
 
-#: merge-recursive.c:1163
+#: merge-recursive.c:1492
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2279,20 +2494,31 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 "
 "%7$s 版本保留在 %9$s 中。"
 
-#: merge-recursive.c:1197
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1197
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1254
+#: merge-recursive.c:1580 merge-recursive.c:1736 merge-recursive.c:2368
+#: merge-recursive.c:3086
+#, c-format
+msgid "Refusing to lose dirty file at %s"
+msgstr "拒绝丢失脏文件 '%s'"
+
+#: merge-recursive.c:1594
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1279
+#: merge-recursive.c:1599
+#, c-format
+msgid "Refusing to lose untracked file at %s; adding as %s instead"
+msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s"
+
+#: merge-recursive.c:1625
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2301,140 +2527,184 @@ msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1284
+#: merge-recursive.c:1630
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1346
+#: merge-recursive.c:1694
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
 "%5$s"
 
-#: merge-recursive.c:1379
+#: merge-recursive.c:1733
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
 
-#: merge-recursive.c:1582
+#: merge-recursive.c:1745
+#, c-format
+msgid "Refusing to lose untracked file at %s, even though it's in the way."
+msgstr "拒绝丢失未跟踪文件 '%s',即使它妨碍了。"
+
+#: merge-recursive.c:1951
+#, c-format
+msgid ""
+"CONFLICT (directory rename split): Unclear where to place %s because "
+"directory %s was renamed to multiple other directories, with no destination "
+"getting a majority of the files."
+msgstr ""
+"冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个"
+"其它目录,没有一个目录包含主要的文件。"
+
+#: merge-recursive.c:1983
+#, c-format
+msgid ""
+"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
+"implicit directory rename(s) putting the following path(s) there: %s."
+msgstr ""
+"冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放"
+"在:%s。"
+
+#: merge-recursive.c:1993
+#, c-format
+msgid ""
+"CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
+"implicit directory renames tried to put these paths there: %s"
+msgstr ""
+"冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路"
+"径放置于此:%s"
+
+#: merge-recursive.c:2085
+#, c-format
+msgid ""
+"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
+">%s in %s"
+msgstr ""
+"冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 "
+"%4$s->%5$s"
+
+#: merge-recursive.c:2330
+#, c-format
+msgid ""
+"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
+"renamed."
+msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。"
+
+#: merge-recursive.c:2736
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s"
 
-#: merge-recursive.c:1597
+#: merge-recursive.c:2751
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:1604 merge-recursive.c:1834
+#: merge-recursive.c:2758 merge-recursive.c:3089
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:1661
+#: merge-recursive.c:2914
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:1664
+#: merge-recursive.c:2917
 #, c-format
 msgid "object %s is not a blob"
 msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:1733
+#: merge-recursive.c:2986
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:1733
+#: merge-recursive.c:2986
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:1743
+#: merge-recursive.c:2997
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:1750
+#: merge-recursive.c:3004
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:1786
+#: merge-recursive.c:3046
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:1800
-#, c-format
-msgid "Auto-merging %s"
-msgstr "自动合并 %s"
-
-#: merge-recursive.c:1804 git-submodule.sh:879
+#: merge-recursive.c:3055 git-submodule.sh:895
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:1805
+#: merge-recursive.c:3056
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:1899
+#: merge-recursive.c:3178
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:1925
+#: merge-recursive.c:3204
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:1931
+#: merge-recursive.c:3210
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1938
+#: merge-recursive.c:3217
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s"
 
-#: merge-recursive.c:1947
+#: merge-recursive.c:3226
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1987
+#: merge-recursive.c:3267
 #, c-format
 msgid "Dirty index: cannot merge (dirty: %s)"
 msgstr "脏索引:不能合并(脏文件:%s)"
 
-#: merge-recursive.c:1991
+#: merge-recursive.c:3271
 msgid "Already up to date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:2000
+#: merge-recursive.c:3280
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:2097
+#: merge-recursive.c:3379
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:2110
+#: merge-recursive.c:3392
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:2149
+#: merge-recursive.c:3431
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2212
+#: merge-recursive.c:3495
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2228 builtin/merge.c:657 builtin/merge.c:816
+#: merge-recursive.c:3511 builtin/merge.c:659 builtin/merge.c:816
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -2477,30 +2747,30 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
 
-#: object.c:239
+#: object.c:242
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: packfile.c:561
+#: packfile.c:563
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
 
-#: packfile.c:1694
+#: packfile.c:1742
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
 
-#: packfile.c:1698
+#: packfile.c:1746
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
 
-#: parse-options.c:619
+#: parse-options.c:621
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:638
+#: parse-options.c:640
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
@@ -2508,27 +2778,32 @@ msgstr "用法:%s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:644
+#: parse-options.c:646
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:647
+#: parse-options.c:649
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:686
+#: parse-options.c:688
 msgid "-NUM"
 msgstr "-数字"
 
-#: parse-options-cb.c:108
+#: parse-options-cb.c:44
+#, c-format
+msgid "malformed expiration date '%s'"
+msgstr "格式错误的到期时间:'%s'"
+
+#: parse-options-cb.c:112
 #, c-format
 msgid "malformed object name '%s'"
-msgstr "非法的对象名 '%s'"
+msgstr "格式错误的对象名 '%s'"
 
-#: path.c:891
+#: path.c:892
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "不能设置 %s 为组可写"
@@ -2608,7 +2883,7 @@ msgstr "路径规格 '%s' 位于符号链接中"
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: read-cache.c:1473
+#: read-cache.c:1500
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2617,7 +2892,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1483
+#: read-cache.c:1510
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2626,52 +2901,53 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:2375 sequencer.c:3248 wrapper.c:658 builtin/merge.c:1049
+#: read-cache.c:2404 sequencer.c:4338 wrapper.c:658 builtin/merge.c:1048
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: read-cache.c:2448 sequencer.c:1900 sequencer.c:2627
+#: read-cache.c:2477 sequencer.c:2102 sequencer.c:3234
 #, c-format
 msgid "could not stat '%s'"
 msgstr "不能对 '%s' 调用 stat"
 
-#: read-cache.c:2461
+#: read-cache.c:2490
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "不能打开 git 目录:%s"
 
-#: read-cache.c:2473
+#: read-cache.c:2502
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "无法删除:%s"
 
-#: refs.c:706
+#: refs.c:732 sequencer.c:4334 sequencer.c:4393 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:779
 #, c-format
-msgid "Could not open '%s' for writing"
+msgid "could not open '%s' for writing"
 msgstr "无法打开 '%s' 进行写入"
 
-#: refs.c:1850
+#: refs.c:1880
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "在隔离环境中禁止更新引用"
 
-#: refs/files-backend.c:1189
+#: refs/files-backend.c:1191
 #, c-format
 msgid "could not remove reference %s"
 msgstr "无法删除引用 %s"
 
-#: refs/files-backend.c:1203 refs/packed-backend.c:1528
-#: refs/packed-backend.c:1538
+#: refs/files-backend.c:1205 refs/packed-backend.c:1531
+#: refs/packed-backend.c:1541
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "无法删除引用 %s:%s"
 
-#: refs/files-backend.c:1206 refs/packed-backend.c:1541
+#: refs/files-backend.c:1208 refs/packed-backend.c:1544
 #, c-format
 msgid "could not delete references: %s"
 msgstr "无法删除引用:%s"
 
-#: ref-filter.c:35 wt-status.c:1842
+#: ref-filter.c:35 wt-status.c:1850
 msgid "gone"
 msgstr "丢失"
 
@@ -2690,157 +2966,162 @@ msgstr "落后 %d"
 msgid "ahead %d, behind %d"
 msgstr "领先 %d,落后 %d"
 
-#: ref-filter.c:107
+#: ref-filter.c:121
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "期望的格式:%%(color:<颜色>)"
 
-#: ref-filter.c:109
+#: ref-filter.c:123
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "未能识别的颜色:%%(color:%s)"
 
-#: ref-filter.c:129
+#: ref-filter.c:145
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "期望整数值 refname:lstrip=%s"
 
-#: ref-filter.c:133
+#: ref-filter.c:149
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "期望整数值 refname:rstrip=%s"
 
-#: ref-filter.c:135
+#: ref-filter.c:151
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "未能识别的 %%(%s) 参数:%s"
 
-#: ref-filter.c:184
+#: ref-filter.c:206
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) 不带参数"
 
-#: ref-filter.c:191
+#: ref-filter.c:215
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) 不带参数"
 
-#: ref-filter.c:209
+#: ref-filter.c:235
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "未知的 %%(trailers) 参数:%s"
 
-#: ref-filter.c:232
+#: ref-filter.c:264
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "期望一个正数 contents:lines=%s"
 
-#: ref-filter.c:234
+#: ref-filter.c:266
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "未能识别的 %%(contents) 参数:%s"
 
-#: ref-filter.c:247
+#: ref-filter.c:281
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "期望一个正数 objectname:short=%s"
 
-#: ref-filter.c:251
+#: ref-filter.c:285
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "未能识别的 %%(objectname) 参数:%s"
 
-#: ref-filter.c:278
+#: ref-filter.c:315
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "期望的格式:%%(align:<宽度>,<位置>)"
 
-#: ref-filter.c:290
+#: ref-filter.c:327
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "未能识别的位置:%s"
 
-#: ref-filter.c:294
+#: ref-filter.c:334
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "未能识别的宽度:%s"
 
-#: ref-filter.c:300
+#: ref-filter.c:343
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "未能识别的 %%(align) 参数:%s"
 
-#: ref-filter.c:304
+#: ref-filter.c:351
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "元素 %%(align) 需要一个正数的宽度"
 
-#: ref-filter.c:319
+#: ref-filter.c:369
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "未能识别的 %%(if) 参数:%s"
 
-#: ref-filter.c:409
+#: ref-filter.c:464
 #, c-format
 msgid "malformed field name: %.*s"
-msgstr "非法的字段名:%.*s"
+msgstr "格式错误的字段名:%.*s"
 
-#: ref-filter.c:435
+#: ref-filter.c:491
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "未知的字段名:%.*s"
 
-#: ref-filter.c:547
+#: ref-filter.c:608
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:607
+#: ref-filter.c:671
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:609
+#: ref-filter.c:673
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "格式:%%(then) 元素用了多次"
 
-#: ref-filter.c:611
+#: ref-filter.c:675
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "格式:%%(then) 元素用在了 %%(else) 之后"
 
-#: ref-filter.c:637
+#: ref-filter.c:703
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素"
 
-#: ref-filter.c:639
+#: ref-filter.c:705
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素"
 
-#: ref-filter.c:641
+#: ref-filter.c:707
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "格式:%%(else) 元素用了多次"
 
-#: ref-filter.c:654
+#: ref-filter.c:722
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
 
-#: ref-filter.c:709
+#: ref-filter.c:779
 #, c-format
 msgid "malformed format string %s"
-msgstr "é\9d\9eæ³\95的格式化字符串 %s"
+msgstr "é\94\99误的格式化字符串 %s"
 
-#: ref-filter.c:1313
+#: ref-filter.c:1387
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: ref-filter.c:1316
+#: ref-filter.c:1390
+#, c-format
+msgid "(no branch, rebasing detached HEAD %s)"
+msgstr "(非分支,正变基分离头指针 %s)"
+
+#: ref-filter.c:1393
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
@@ -2848,7 +3129,7 @@ msgstr "(非分支,二分查找开始于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1324
+#: ref-filter.c:1401
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
@@ -2856,147 +3137,147 @@ msgstr "(头指针分离于 %s)"
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached from " in wt-status.c
 #.
-#: ref-filter.c:1331
+#: ref-filter.c:1408
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: ref-filter.c:1335
+#: ref-filter.c:1412
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: ref-filter.c:1364
+#: ref-filter.c:1442
 #, c-format
 msgid "missing object %s for %s"
 msgstr "缺失 %2$s 的对象 %1$s"
 
-#: ref-filter.c:1367
+#: ref-filter.c:1445
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
 
-#: ref-filter.c:1819
+#: ref-filter.c:1902
 #, c-format
 msgid "malformed object at '%s'"
-msgstr "非法的对象于 '%s'"
+msgstr "格式错误的对象 '%s'"
 
-#: ref-filter.c:1886
+#: ref-filter.c:1984
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "忽略带有错误名称 %s 的引用"
 
-#: ref-filter.c:1891
+#: ref-filter.c:1989
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "忽略损坏的引用 %s"
 
-#: ref-filter.c:2152
+#: ref-filter.c:2261
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "格式:缺少 %%(end) 元素"
 
-#: ref-filter.c:2246
+#: ref-filter.c:2365
 #, c-format
 msgid "malformed object name %s"
-msgstr "非法的对象名 %s"
+msgstr "格式错误的对象名 %s"
 
-#: remote.c:795
+#: remote.c:605
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:799
+#: remote.c:609
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:803
+#: remote.c:613
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:811
+#: remote.c:621
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1726 remote.c:1828
+#: remote.c:1534 remote.c:1635
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1735
+#: remote.c:1543
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1738
+#: remote.c:1546
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1744
+#: remote.c:1552
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1759
+#: remote.c:1567
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1771
+#: remote.c:1579
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1782
+#: remote.c:1589
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "向 '%s' 推送引用规格未包含 '%s'"
 
-#: remote.c:1795
+#: remote.c:1602
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1817
+#: remote.c:1624
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2132
+#: remote.c:1939
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2136
+#: remote.c:1943
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2139
+#: remote.c:1946
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2143
+#: remote.c:1950
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "您的分支和 '%s' 指向不同的提交。\n"
 
-#: remote.c:2146
+#: remote.c:1953
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (使用 \"%s\" 查看详情)\n"
 
-#: remote.c:2150
+#: remote.c:1957
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:2156
+#: remote.c:1963
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2159
+#: remote.c:1966
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -3005,11 +3286,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2167
+#: remote.c:1974
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2170
+#: remote.c:1977
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -3025,28 +3306,28 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2180
+#: remote.c:1987
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: revision.c:2277
+#: revision.c:2289
 msgid "your current branch appears to be broken"
 msgstr "您的当前分支好像被损坏"
 
-#: revision.c:2280
+#: revision.c:2292
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "您的当前分支 '%s' 尚无任何提交"
 
-#: revision.c:2477
+#: revision.c:2489
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:731
+#: run-command.c:728
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:1274
+#: run-command.c:1271
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -3091,29 +3372,34 @@ msgstr "接收端不支持原子推送"
 msgid "the receiving end does not support push options"
 msgstr "接收端不支持推送选项"
 
-#: sequencer.c:158
+#: sequencer.c:175
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "无效的提交信息清理模式 '%s'"
 
-#: sequencer.c:267
+#: sequencer.c:275
+#, c-format
+msgid "could not delete '%s'"
+msgstr "无法删除 '%s'"
+
+#: sequencer.c:301
 msgid "revert"
 msgstr "还原"
 
-#: sequencer.c:269
+#: sequencer.c:303
 msgid "cherry-pick"
 msgstr "拣选"
 
-#: sequencer.c:271
+#: sequencer.c:305
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:273
+#: sequencer.c:307
 #, c-format
 msgid "Unknown action: %d"
 msgstr "未知动作:%d"
 
-#: sequencer.c:330
+#: sequencer.c:364
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -3121,7 +3407,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:333
+#: sequencer.c:367
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -3130,43 +3416,45 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:346 sequencer.c:2245
+#: sequencer.c:380 sequencer.c:2468
 #, c-format
 msgid "could not lock '%s'"
 msgstr "不能锁定 '%s'"
 
-#: sequencer.c:349 sequencer.c:2124 sequencer.c:2250 sequencer.c:2264
-#: sequencer.c:3246 sequencer.c:3310 wrapper.c:656
+#: sequencer.c:382 sequencer.c:2346 sequencer.c:2472 sequencer.c:2486
+#: sequencer.c:2694 sequencer.c:4336 sequencer.c:4399 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "不能写入 '%s'"
 
-#: sequencer.c:353
+#: sequencer.c:387
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "不能将换行符写入 '%s'"
 
-#: sequencer.c:356 sequencer.c:2128 sequencer.c:2252
+#: sequencer.c:392 sequencer.c:2351 sequencer.c:2474 sequencer.c:2488
+#: sequencer.c:2702
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "无法完成 '%s'"
 
-#: sequencer.c:379 sequencer.c:1340 sequencer.c:2148 builtin/am.c:259
-#: builtin/commit.c:722 builtin/merge.c:1047
+#: sequencer.c:415 sequencer.c:804 sequencer.c:1493 sequencer.c:2371
+#: sequencer.c:2684 sequencer.c:2788 builtin/am.c:259 builtin/commit.c:727
+#: builtin/merge.c:1046
 #, c-format
 msgid "could not read '%s'"
 msgstr "不能读取 '%s'"
 
-#: sequencer.c:405
+#: sequencer.c:441
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "您的本地修改将被%s覆盖。"
 
-#: sequencer.c:409
+#: sequencer.c:445
 msgid "commit your changes or stash them to proceed."
 msgstr "提交您的修改或贮藏后再继续。"
 
-#: sequencer.c:438
+#: sequencer.c:474
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s:快进"
@@ -3174,20 +3462,20 @@ msgstr "%s:快进"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:526
+#: sequencer.c:563
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:542
-msgid "could not resolve HEAD commit"
-msgstr "不能解析 HEAD 提交"
-
-#: sequencer.c:562
+#: sequencer.c:579
 msgid "unable to update cache tree"
 msgstr "不能更新缓存树"
 
-#: sequencer.c:658
+#: sequencer.c:592
+msgid "could not resolve HEAD commit"
+msgstr "不能解析 HEAD 提交"
+
+#: sequencer.c:749
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -3216,11 +3504,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:915
+#: sequencer.c:818
+msgid "writing root commit"
+msgstr "写根提交"
+
+#: sequencer.c:1043
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' 钩子失败"
 
-#: sequencer.c:922
+#: sequencer.c:1050
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -3244,7 +3536,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:935
+#: sequencer.c:1063
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -3267,329 +3559,315 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:975
+#: sequencer.c:1103
 msgid "couldn't look up newly created commit"
 msgstr "无法找到新创建的提交"
 
-#: sequencer.c:977
+#: sequencer.c:1105
 msgid "could not parse newly created commit"
 msgstr "不能解析新创建的提交"
 
-#: sequencer.c:1023
+#: sequencer.c:1151
 msgid "unable to resolve HEAD after creating commit"
 msgstr "创建提交后,不能解析 HEAD"
 
-#: sequencer.c:1025
+#: sequencer.c:1153
 msgid "detached HEAD"
 msgstr "分离头指针"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: sequencer.c:1029
+#: sequencer.c:1157
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: sequencer.c:1050
+#: sequencer.c:1178
 msgid "could not parse HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:1052
+#: sequencer.c:1180
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s 不是一个提交!"
 
-#: sequencer.c:1056 builtin/commit.c:1491
+#: sequencer.c:1184 builtin/commit.c:1528
 msgid "could not parse HEAD commit"
 msgstr "不能解析 HEAD 提交"
 
-#: sequencer.c:1107 sequencer.c:1673
+#: sequencer.c:1235 sequencer.c:1832
 msgid "unable to parse commit author"
 msgstr "不能解析提交作者"
 
-#: sequencer.c:1117 builtin/am.c:1630 builtin/merge.c:643
+#: sequencer.c:1245 builtin/am.c:1630 builtin/merge.c:645
 msgid "git write-tree failed to write a tree"
 msgstr "git write-tree 无法写入树对象"
 
-#: sequencer.c:1134 sequencer.c:1186
+#: sequencer.c:1262 sequencer.c:1317
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "不能从 '%s' 读取提交说明"
 
-#: sequencer.c:1154 builtin/am.c:1650 builtin/commit.c:1594 builtin/merge.c:826
-#: builtin/merge.c:851
+#: sequencer.c:1284 builtin/am.c:1650 builtin/commit.c:1631 builtin/merge.c:825
+#: builtin/merge.c:850
 msgid "failed to write commit object"
 msgstr "无法写提交对象"
 
-#: sequencer.c:1213
+#: sequencer.c:1344
 #, c-format
 msgid "could not parse commit %s"
 msgstr "不能解析提交 %s"
 
-#: sequencer.c:1218
+#: sequencer.c:1349
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "不能解析父提交 %s"
 
-#: sequencer.c:1347
-#, c-format
-msgid ""
-"unexpected 1st line of squash message:\n"
-"\n"
-"\t%.*s"
-msgstr ""
-"意外的压缩提交首行提交信息:\n"
-"\n"
-"\t%.*s"
-
-#: sequencer.c:1353
-#, c-format
-msgid ""
-"invalid 1st line of squash message:\n"
-"\n"
-"\t%.*s"
-msgstr ""
-"压缩提交的首行提交信息无效:\n"
-"\n"
-"\t%.*s"
-
-#: sequencer.c:1359 sequencer.c:1384
+#: sequencer.c:1500 sequencer.c:1525
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "这是一个 %d 个提交的组合。"
 
-#: sequencer.c:1368 sequencer.c:3265
+#: sequencer.c:1510 sequencer.c:4355
 msgid "need a HEAD to fixup"
 msgstr "需要一个 HEAD 来修复"
 
-#: sequencer.c:1370
+#: sequencer.c:1512 sequencer.c:2729
 msgid "could not read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:1372
+#: sequencer.c:1514
 msgid "could not read HEAD's commit message"
 msgstr "不能读取 HEAD 的提交说明"
 
-#: sequencer.c:1378
+#: sequencer.c:1520
 #, c-format
 msgid "cannot write '%s'"
 msgstr "不能写 '%s'"
 
-#: sequencer.c:1387 git-rebase--interactive.sh:452
+#: sequencer.c:1527 git-rebase--interactive.sh:457
 msgid "This is the 1st commit message:"
 msgstr "这是第一个提交说明:"
 
-#: sequencer.c:1395
+#: sequencer.c:1535
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "不能读取 %s 的提交说明"
 
-#: sequencer.c:1402
+#: sequencer.c:1542
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "这是提交说明 #%d:"
 
-#: sequencer.c:1407
+#: sequencer.c:1548
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "提交说明 #%d 将被跳过:"
 
-#: sequencer.c:1412
+#: sequencer.c:1553
 #, c-format
 msgid "unknown command: %d"
 msgstr "未知命令:%d"
 
-#: sequencer.c:1479
+#: sequencer.c:1631
 msgid "your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:1498
+#: sequencer.c:1638
+msgid "cannot fixup root commit"
+msgstr "不能修复根提交"
+
+#: sequencer.c:1657
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:1506
+#: sequencer.c:1665
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "提交 %s 没有第 %d 个父提交"
 
-#: sequencer.c:1510
+#: sequencer.c:1669
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr "指定了主线,但是提交 %s 不是一个合并提交。"
 
-#: sequencer.c:1516
+#: sequencer.c:1675
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1535
+#: sequencer.c:1694
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:1600 sequencer.c:2397
+#: sequencer.c:1759
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "不能将 '%s' 重命名为 '%s'"
 
-#: sequencer.c:1654
+#: sequencer.c:1813
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:1655
+#: sequencer.c:1814
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:1702
+#: sequencer.c:1864
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:1712
+#: sequencer.c:1874
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:1718
+#: sequencer.c:1881
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:1792
+#: sequencer.c:1961
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s 不接受参数:'%s'"
 
-#: sequencer.c:1801
+#: sequencer.c:1970
 #, c-format
 msgid "missing arguments for %s"
 msgstr "缺少 %s 的参数"
 
-#: sequencer.c:1844
+#: sequencer.c:2029
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "无效行 %d:%.*s"
 
-#: sequencer.c:1852
+#: sequencer.c:2037
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "没有父提交的情况下不能 '%s'"
 
-#: sequencer.c:1883 sequencer.c:3056 sequencer.c:3091
+#: sequencer.c:2085 sequencer.c:4138 sequencer.c:4173
 #, c-format
 msgid "could not read '%s'."
 msgstr "不能读取 '%s'。"
 
-#: sequencer.c:1906
+#: sequencer.c:2108
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "请用 'git rebase --edit-todo' 来修改。"
 
-#: sequencer.c:1908
+#: sequencer.c:2110
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "不可用的指令清单:'%s'"
 
-#: sequencer.c:1913
+#: sequencer.c:2115
 msgid "no commits parsed."
 msgstr "没有解析提交。"
 
-#: sequencer.c:1924
+#: sequencer.c:2126
 msgid "cannot cherry-pick during a revert."
 msgstr "不能在回退中执行拣选。"
 
-#: sequencer.c:1926
+#: sequencer.c:2128
 msgid "cannot revert during a cherry-pick."
 msgstr "不能在拣选中执行回退。"
 
-#: sequencer.c:1993
+#: sequencer.c:2195
 #, c-format
 msgid "invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:1996
+#: sequencer.c:2198
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:2062
+#: sequencer.c:2269
+msgid "unusable squash-onto"
+msgstr "不可用的 squash-onto"
+
+#: sequencer.c:2285
 #, c-format
 msgid "malformed options sheet: '%s'"
-msgstr "非法的选项清单:'%s'"
+msgstr "格式错误的选项清单:'%s'"
 
-#: sequencer.c:2100
+#: sequencer.c:2323
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:2101
+#: sequencer.c:2324
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:2104
+#: sequencer.c:2327
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "不能创建序列目录 '%s'"
 
-#: sequencer.c:2118
+#: sequencer.c:2341
 msgid "could not lock HEAD"
 msgstr "不能锁定 HEAD"
 
-#: sequencer.c:2173 sequencer.c:2761
+#: sequencer.c:2396 sequencer.c:3403
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:2175
+#: sequencer.c:2398
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:2177 sequencer.c:2212
+#: sequencer.c:2400 sequencer.c:2435
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:2198 builtin/grep.c:720
+#: sequencer.c:2421 builtin/grep.c:720
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: sequencer.c:2200
+#: sequencer.c:2423
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "不能读取 '%s':%s"
 
-#: sequencer.c:2201
+#: sequencer.c:2424
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:2207
+#: sequencer.c:2430
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:2218
+#: sequencer.c:2441
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!"
 
-#: sequencer.c:2324 sequencer.c:2679
+#: sequencer.c:2545 sequencer.c:3321
 #, c-format
 msgid "could not update %s"
 msgstr "不能更新 %s"
 
-#: sequencer.c:2362 sequencer.c:2659
+#: sequencer.c:2583 sequencer.c:3301
 msgid "cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: sequencer.c:2402 builtin/difftool.c:639
+#: sequencer.c:2618 sequencer.c:2622 builtin/difftool.c:639
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: sequencer.c:2421
+#: sequencer.c:2641
 msgid "could not read index"
 msgstr "不能读取索引"
 
 #  译者:注意保持前导空格
-#: sequencer.c:2426
+#: sequencer.c:2646
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3604,11 +3882,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2432
+#: sequencer.c:2652
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "并且修改索引和/或工作区\n"
 
-#: sequencer.c:2438
+#: sequencer.c:2658
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3625,17 +3903,62 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2497
+#: sequencer.c:2771
+msgid "writing fake root commit"
+msgstr "写伪根提交"
+
+#: sequencer.c:2776
+msgid "writing squash-onto"
+msgstr "写入 squash-onto"
+
+#: sequencer.c:2811
+#, c-format
+msgid "failed to find tree of %s"
+msgstr "无法找到 %s 指向的树。"
+
+#: sequencer.c:2829
+msgid "could not write index"
+msgstr "不能写入索引"
+
+#: sequencer.c:2861
+msgid "cannot merge without a current revision"
+msgstr "没有当前版本不能合并"
+
+#: sequencer.c:2884
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "无法解析 '%s'"
+
+#: sequencer.c:2906
+#, c-format
+msgid "could not get commit message of '%s'"
+msgstr "不能获取 '%s' 的提交说明"
+
+#: sequencer.c:2916 sequencer.c:2941
+#, c-format
+msgid "could not write '%s'"
+msgstr "不能写入 '%s'"
+
+#: sequencer.c:3005
+#, c-format
+msgid "could not even attempt to merge '%.*s'"
+msgstr "甚至不能尝试合并 '%.*s'"
+
+#: sequencer.c:3021
+msgid "merge: Unable to write new index file"
+msgstr "合并:无法写入新索引文件"
+
+#: sequencer.c:3088
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "已应用 autostash。\n"
 
-#: sequencer.c:2509
+#: sequencer.c:3100
 #, c-format
 msgid "cannot store %s"
 msgstr "不能存储 %s"
 
-#: sequencer.c:2512 git-rebase.sh:178
+#: sequencer.c:3103 git-rebase.sh:188
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3646,52 +3969,68 @@ msgstr ""
 "您的修改安全地保存在贮藏区中。\n"
 "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n"
 
-#: sequencer.c:2595
+#: sequencer.c:3134
+#, c-format
+msgid ""
+"Could not execute the todo command\n"
+"\n"
+"    %.*s\n"
+"It has been rescheduled; To edit the command before continuing, please\n"
+"edit the todo list first:\n"
+"\n"
+"    git rebase --edit-todo\n"
+"    git rebase --continue\n"
+msgstr ""
+"无法执行待办命令\n"
+"\n"
+"    %.*s\n"
+"已被重新安排,在继续之前编辑命令,请先编辑待办列表:\n"
+"\n"
+"    git rebase --edit-todo\n"
+"    git rebase --continue\n"
+
+#: sequencer.c:3202
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "停止在 %s... %.*s\n"
 
-#: sequencer.c:2637
+#: sequencer.c:3264
 #, c-format
 msgid "unknown command %d"
 msgstr "未知命令 %d"
 
-#: sequencer.c:2667
+#: sequencer.c:3309
 msgid "could not read orig-head"
 msgstr "不能读取 orig-head"
 
-#: sequencer.c:2672 sequencer.c:3262
+#: sequencer.c:3314 sequencer.c:4352
 msgid "could not read 'onto'"
 msgstr "不能读取 'onto'"
 
-#: sequencer.c:2686
+#: sequencer.c:3328
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "不能更新 HEAD 为 %s"
 
-#: sequencer.c:2770
+#: sequencer.c:3414
 msgid "cannot rebase: You have unstaged changes."
 msgstr "不能变基:您有未暂存的变更。"
 
-#: sequencer.c:2775
-msgid "could not remove CHERRY_PICK_HEAD"
-msgstr "不能删除 CHERRY_PICK_HEAD"
-
-#: sequencer.c:2784
+#: sequencer.c:3423
 msgid "cannot amend non-existing commit"
 msgstr "不能修补不存在的提交"
 
-#: sequencer.c:2786
+#: sequencer.c:3425
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "无效文件:'%s'"
 
-#: sequencer.c:2788
+#: sequencer.c:3427
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "无效内容:'%s'"
 
-#: sequencer.c:2791
+#: sequencer.c:3430
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3700,44 +4039,53 @@ msgstr ""
 "\n"
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: sequencer.c:2801
+#: sequencer.c:3455 sequencer.c:3493
+#, c-format
+msgid "could not write file: '%s'"
+msgstr "不能写入文件:'%s'"
+
+#: sequencer.c:3508
+msgid "could not remove CHERRY_PICK_HEAD"
+msgstr "不能删除 CHERRY_PICK_HEAD"
+
+#: sequencer.c:3515
 msgid "could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: sequencer.c:2881
+#: sequencer.c:3612
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:2885
+#: sequencer.c:3616
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:2918
+#: sequencer.c:3649
 msgid "can't revert as initial commit"
 msgstr "不能作为初始提交回退"
 
-#: sequencer.c:3023
+#: sequencer.c:4098
 msgid "make_script: unhandled options"
 msgstr "make_script:有未能处理的选项"
 
-#: sequencer.c:3026
+#: sequencer.c:4101
 msgid "make_script: error preparing revisions"
 msgstr "make_script:准备版本时错误"
 
-#: sequencer.c:3060 sequencer.c:3095
+#: sequencer.c:4142 sequencer.c:4177
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "不可用的待办列表:'%s'"
 
-#: sequencer.c:3146
+#: sequencer.c:4236
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。"
 
-#: sequencer.c:3212
+#: sequencer.c:4302
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -3746,7 +4094,7 @@ msgstr ""
 "警告:一些提交可能被意外丢弃。\n"
 "丢弃的提交(从新到旧):\n"
 
-#: sequencer.c:3219
+#: sequencer.c:4309
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -3762,7 +4110,7 @@ msgstr ""
 "可选值有:ignore、warn、error。\n"
 "\n"
 
-#: sequencer.c:3231
+#: sequencer.c:4321
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
@@ -3772,27 +4120,21 @@ msgstr ""
 "您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n"
 "或者您可以用 'git rebase --abort' 终止变基。\n"
 
-#: sequencer.c:3244 sequencer.c:3304 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:779
-#, c-format
-msgid "could not open '%s' for writing"
-msgstr "无法打开 '%s' 进行写入"
-
-#: sequencer.c:3285
+#: sequencer.c:4375
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "不能解析提交 '%s'"
 
-#: sequencer.c:3401
+#: sequencer.c:4490
 msgid "the script was already rearranged."
 msgstr "脚本已经重新编排。"
 
-#: setup.c:122
+#: setup.c:123
 #, c-format
 msgid "'%s' is outside repository"
 msgstr "'%s' 在仓库之外"
 
-#: setup.c:171
+#: setup.c:172
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -3801,7 +4143,7 @@ msgstr ""
 "%s:工作区中无此路径。\n"
 "使用命令 'git <命令> -- <路径>...' 来指定本地不存在的路径。"
 
-#: setup.c:184
+#: setup.c:185
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -3812,12 +4154,12 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
-#: setup.c:233
+#: setup.c:234
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr "选项 '%s' 必须在其他非选项参数之前"
 
-#: setup.c:252
+#: setup.c:253
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -3828,92 +4170,92 @@ msgstr ""
 "使用 '--' 来分隔版本和路径,例如:\n"
 "'git <命令> [<版本>...] -- [<文件>...]'"
 
-#: setup.c:388
+#: setup.c:389
 msgid "unable to set up work tree using invalid config"
 msgstr "无法使用无效配置来创建工作区"
 
-#: setup.c:395
+#: setup.c:393
 msgid "this operation must be run in a work tree"
 msgstr "该操作必须在一个工作区中运行"
 
-#: setup.c:506
+#: setup.c:503
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "期望 git 仓库版本 <= %d,却得到 %d"
 
-#: setup.c:514
+#: setup.c:511
 msgid "unknown repository extensions found:"
 msgstr "发现未知的仓库扩展:"
 
-#: setup.c:533
+#: setup.c:530
 #, c-format
 msgid "error opening '%s'"
 msgstr "无法打开 '%s'"
 
-#: setup.c:535
+#: setup.c:532
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "文件太大,无法作为 .git 文件:'%s'"
 
-#: setup.c:537
+#: setup.c:534
 #, c-format
 msgid "error reading %s"
 msgstr "无法读取 %s"
 
-#: setup.c:539
+#: setup.c:536
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "无效的 gitfile 格式:%s"
 
-#: setup.c:541
+#: setup.c:538
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "在 gitfile 中没有路径:%s"
 
-#: setup.c:543
+#: setup.c:540
 #, c-format
 msgid "not a git repository: %s"
 msgstr "不是一个 git 仓库:%s"
 
-#: setup.c:642
+#: setup.c:639
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' 太大"
 
-#: setup.c:656
+#: setup.c:653
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "不是一个 git 仓库:'%s'"
 
-#: setup.c:685 setup.c:687 setup.c:718
+#: setup.c:682 setup.c:684 setup.c:715
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "不能切换目录到 '%s'"
 
-#: setup.c:690 setup.c:746 setup.c:756 setup.c:795 setup.c:803 setup.c:818
+#: setup.c:687 setup.c:743 setup.c:753 setup.c:792 setup.c:800 setup.c:815
 msgid "cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: setup.c:816
+#: setup.c:813
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "不是一个 git 仓库(或者任何父目录):%s"
 
-#: setup.c:827
+#: setup.c:824
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "无法获取 '%*s%s%s' 状态(stat)"
 
-#: setup.c:1057
+#: setup.c:1054
 msgid "Unable to read current working directory"
 msgstr "不能读取当前工作目录"
 
-#: setup.c:1069 setup.c:1075
+#: setup.c:1066 setup.c:1072
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "不能切换到 '%s'"
 
-#: setup.c:1088
+#: setup.c:1085
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -3922,7 +4264,7 @@ msgstr ""
 "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n"
 "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。"
 
-#: setup.c:1172
+#: setup.c:1168
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3931,53 +4273,53 @@ msgstr ""
 "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n"
 "文件属主必须始终拥有读写权限。"
 
-#: setup.c:1215
+#: setup.c:1211
 msgid "open /dev/null or dup failed"
 msgstr "不能打开或者复制 /dev/null"
 
-#: setup.c:1230
+#: setup.c:1226
 msgid "fork failed"
 msgstr "fork 失败"
 
-#: setup.c:1235
+#: setup.c:1231
 msgid "setsid failed"
 msgstr "setsid 失败"
 
-#: sha1_file.c:592
+#: sha1-file.c:625
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "路径 '%s' 不存在"
 
-#: sha1_file.c:618
+#: sha1-file.c:651
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
 
-#: sha1_file.c:624
+#: sha1-file.c:657
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: sha1_file.c:630
+#: sha1-file.c:663
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "参考仓库 '%s' 是一个浅克隆"
 
-#: sha1_file.c:638
+#: sha1-file.c:671
 #, c-format
 msgid "reference repository '%s' is grafted"
-msgstr "参考仓库 '%s' 已被嫁接"
+msgstr "参考仓库 '%s' 已被移植"
 
-#: sha1_name.c:422
+#: sha1-name.c:442
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "短 SHA1 %s 存在歧义"
 
-#: sha1_name.c:433
+#: sha1-name.c:453
 msgid "The candidates are:"
 msgstr "候选者有:"
 
-#: sha1_name.c:693
+#: sha1-name.c:695
 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"
@@ -3998,86 +4340,86 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:96 submodule.c:130
+#: submodule.c:97 submodule.c:131
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:100 submodule.c:134
+#: submodule.c:101 submodule.c:135
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:108
+#: submodule.c:109
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:141
+#: submodule.c:142
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:152
+#: submodule.c:153
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:312
+#: submodule.c:315
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "位于未检出的子模组 '%s'"
 
-#: submodule.c:343
+#: submodule.c:346
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "路径规格 '%s' 在子模组 '%.*s' 中"
 
-#: submodule.c:833
+#: submodule.c:837
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交"
 
-#: submodule.c:1065 builtin/branch.c:648 builtin/submodule--helper.c:1724
+#: submodule.c:1069 builtin/branch.c:651 builtin/submodule--helper.c:1743
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: submodule.c:1370
+#: submodule.c:1375
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "无法将 '%s' 识别为一个 git 仓库"
 
-#: submodule.c:1508
+#: submodule.c:1513
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中启动 'git status'"
 
-#: submodule.c:1521
+#: submodule.c:1526
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "无法在子模组 '%s' 中执行 'git status'"
 
-#: submodule.c:1614
+#: submodule.c:1619
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "子模组 '%s' 中有脏索引"
 
-#: submodule.c:1878
+#: submodule.c:1718
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
 msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir"
 
-#: submodule.c:1890 submodule.c:1946
+#: submodule.c:1730 submodule.c:1786
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "不能查询子模组 '%s' 的名称"
 
-#: submodule.c:1894 builtin/submodule--helper.c:1246
-#: builtin/submodule--helper.c:1256
+#: submodule.c:1734 builtin/submodule--helper.c:1261
+#: builtin/submodule--helper.c:1271
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: submodule.c:1897
+#: submodule.c:1737
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -4088,29 +4430,30 @@ msgstr ""
 "'%s' 迁移至\n"
 "'%s'\n"
 
-#: submodule.c:1981
+#: submodule.c:1821
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "无法递归进子模组路径 '%s'"
 
-#: submodule.c:2025
+#: submodule.c:1865
 msgid "could not start ls-files in .."
 msgstr "无法在 .. 中启动 ls-files"
 
-#: submodule.c:2045
-msgid "BUG: returned path string doesn't match cwd?"
-msgstr "BUG:返回的路径和当前路径不匹配?"
-
-#: submodule.c:2064
+#: submodule.c:1904
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree 返回未知返回值 %d"
 
-#: submodule-config.c:263
+#: submodule-config.c:230
+#, c-format
+msgid "ignoring suspicious submodule name: %s"
+msgstr "忽略可疑的子模组名称:%s"
+
+#: submodule-config.c:294
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "submodule.fetchjobs 不允许为负值"
 
-#: submodule-config.c:436
+#: submodule-config.c:467
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的值无效"
@@ -4126,7 +4469,7 @@ msgstr "执行 trailer 命令 '%s' 失败"
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:290
+#: trailer.c:539 trailer.c:544 builtin/remote.c:293
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
@@ -4169,24 +4512,28 @@ msgstr "不能打开临时文件"
 msgid "could not rename temporary file to %s"
 msgstr "不能重命名临时文件为 %s"
 
-#: transport.c:63
+#: transport.c:116
 #, c-format
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n"
 
-#: transport.c:152
+#: transport.c:208
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "传输:无效的深度选项 '%s'"
 
-#: transport.c:916
+#: transport.c:584
+msgid "could not parse transport.color.* config"
+msgstr "不能解析 transport.color.* 配置"
+
+#: transport.c:996
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
 "not be found on any remote:\n"
 msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n"
 
-#: transport.c:920
+#: transport.c:1000
 #, c-format
 msgid ""
 "\n"
@@ -4213,11 +4560,11 @@ msgstr ""
 "以推送至远程。\n"
 "\n"
 
-#: transport.c:928
+#: transport.c:1008
 msgid "Aborting."
 msgstr "正在终止。"
 
-#: transport-helper.c:1079
+#: transport-helper.c:1087
 #, c-format
 msgid "Could not read ref %s"
 msgstr "不能读取引用 %s"
@@ -4234,11 +4581,11 @@ msgstr "树对象中的条目模式错误"
 msgid "empty filename in tree entry"
 msgstr "树对象条目中空的文件名"
 
-#: tree-walk.c:114
+#: tree-walk.c:113
 msgid "too-short tree file"
 msgstr "太短的树文件"
 
-#: unpack-trees.c:108
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4247,7 +4594,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s请在切换分支前提交或贮藏您的修改。"
 
-#: unpack-trees.c:110
+#: unpack-trees.c:113
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4256,7 +4603,7 @@ msgstr ""
 "您对下列文件的本地修改将被检出操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:113
+#: unpack-trees.c:116
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4265,7 +4612,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s请在合并前提交或贮藏您的修改。"
 
-#: unpack-trees.c:115
+#: unpack-trees.c:118
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4274,7 +4621,7 @@ msgstr ""
 "您对下列文件的本地修改将被合并操作覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:118
+#: unpack-trees.c:121
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4283,7 +4630,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s请在 %s 之前提交或贮藏您的修改。"
 
-#: unpack-trees.c:120
+#: unpack-trees.c:123
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4292,7 +4639,7 @@ msgstr ""
 "您对下列文件的本地修改将被 %s 覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:125
+#: unpack-trees.c:128
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -4301,7 +4648,7 @@ msgstr ""
 "更新如下目录将会丢失其中未跟踪的文件:\n"
 "%s"
 
-#: unpack-trees.c:129
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4310,7 +4657,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s请在切换分支之前移动或删除。"
 
-#: unpack-trees.c:131
+#: unpack-trees.c:134
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4319,7 +4666,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:134
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4328,7 +4675,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:136
+#: unpack-trees.c:139
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4337,7 +4684,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:139
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4346,7 +4693,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:141
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4355,7 +4702,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n"
 "%%s"
 
-#: unpack-trees.c:146
+#: unpack-trees.c:150
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4365,7 +4712,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s请在切换分支前移动或删除。"
 
-#: unpack-trees.c:148
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4375,7 +4722,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:151
+#: unpack-trees.c:155
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4384,7 +4731,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s请在合并前移动或删除。"
 
-#: unpack-trees.c:153
+#: unpack-trees.c:157
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4393,7 +4740,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:156
+#: unpack-trees.c:160
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4402,7 +4749,7 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s请在 %s 前移动或删除。"
 
-#: unpack-trees.c:158
+#: unpack-trees.c:162
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4411,12 +4758,12 @@ msgstr ""
 "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n"
 "%%s"
 
-#: unpack-trees.c:165
+#: unpack-trees.c:170
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "条目 '%s' 和 '%s' 重叠。无法合并。"
 
-#: unpack-trees.c:168
+#: unpack-trees.c:173
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -4425,7 +4772,7 @@ msgstr ""
 "无法更新稀疏检出:如下条目不是最新:\n"
 "%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:175
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -4435,7 +4782,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所覆盖:\n"
 "%s"
 
-#: unpack-trees.c:172
+#: unpack-trees.c:177
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -4445,7 +4792,7 @@ msgstr ""
 "工作区中下列文件将被稀疏检出更新所删除:\n"
 "%s"
 
-#: unpack-trees.c:174
+#: unpack-trees.c:179
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -4454,12 +4801,12 @@ msgstr ""
 "无法更新子模组:\n"
 "%s"
 
-#: unpack-trees.c:251
+#: unpack-trees.c:262
 #, c-format
 msgid "Aborting\n"
 msgstr "终止中\n"
 
-#: unpack-trees.c:333
+#: unpack-trees.c:344
 msgid "Checking out files"
 msgstr "正在检出文件"
 
@@ -4528,7 +4875,7 @@ msgid "could not open '%s' for reading and writing"
 msgstr "无法打开 '%s' 进行读写"
 
 #: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:770
-#: builtin/am.c:862 builtin/merge.c:1044
+#: builtin/am.c:862 builtin/merge.c:1043
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "无法打开 '%s' 进行读取"
@@ -4542,162 +4889,162 @@ msgstr "不能访问 '%s'"
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
-#: wt-status.c:151
+#: wt-status.c:154
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:178 wt-status.c:205
+#: wt-status.c:181 wt-status.c:208
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:180 wt-status.c:207
+#: wt-status.c:183 wt-status.c:210
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:184
+#: wt-status.c:187
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:186 wt-status.c:190
+#: wt-status.c:189 wt-status.c:193
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:188
+#: wt-status.c:191
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:199 wt-status.c:1007
+#: wt-status.c:202 wt-status.c:1015
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:217 wt-status.c:1016
+#: wt-status.c:220 wt-status.c:1024
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:221
+#: wt-status.c:224
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:223
+#: wt-status.c:226
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:224
+#: wt-status.c:227
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:226
+#: wt-status.c:229
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:238
+#: wt-status.c:241
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
-#: wt-status.c:253
+#: wt-status.c:256
 msgid "both deleted:"
 msgstr "双方删除:"
 
-#: wt-status.c:255
+#: wt-status.c:258
 msgid "added by us:"
 msgstr "由我们添加:"
 
-#: wt-status.c:257
+#: wt-status.c:260
 msgid "deleted by them:"
 msgstr "由他们删除:"
 
-#: wt-status.c:259
+#: wt-status.c:262
 msgid "added by them:"
 msgstr "由他们添加:"
 
-#: wt-status.c:261
+#: wt-status.c:264
 msgid "deleted by us:"
 msgstr "由我们删除:"
 
-#: wt-status.c:263
+#: wt-status.c:266
 msgid "both added:"
 msgstr "双方添加:"
 
-#: wt-status.c:265
+#: wt-status.c:268
 msgid "both modified:"
 msgstr "双方修改:"
 
-#: wt-status.c:275
+#: wt-status.c:278
 msgid "new file:"
 msgstr "新文件:"
 
-#: wt-status.c:277
+#: wt-status.c:280
 msgid "copied:"
 msgstr "拷贝:"
 
-#: wt-status.c:279
+#: wt-status.c:282
 msgid "deleted:"
 msgstr "删除:"
 
-#: wt-status.c:281
+#: wt-status.c:284
 msgid "modified:"
 msgstr "修改:"
 
-#: wt-status.c:283
+#: wt-status.c:286
 msgid "renamed:"
 msgstr "重命名:"
 
-#: wt-status.c:285
+#: wt-status.c:288
 msgid "typechange:"
 msgstr "类型变更:"
 
-#: wt-status.c:287
+#: wt-status.c:290
 msgid "unknown:"
 msgstr "未知:"
 
-#: wt-status.c:289
+#: wt-status.c:292
 msgid "unmerged:"
 msgstr "未合并:"
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:369
+#: wt-status.c:372
 msgid "new commits, "
 msgstr "新提交, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:371
+#: wt-status.c:374
 msgid "modified content, "
 msgstr "修改的内容, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:373
+#: wt-status.c:376
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:847
+#: wt-status.c:853
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "您的贮藏区当前有 %d 条记录"
 msgstr[1] "您的贮藏区当前有 %d 条记录"
 
-#: wt-status.c:879
+#: wt-status.c:885
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:881
+#: wt-status.c:887
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:963
+#: wt-status.c:969
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -4705,77 +5052,77 @@ msgstr ""
 "不要改动或删除上面的一行。\n"
 "其下所有内容都将被忽略。"
 
-#: wt-status.c:1076
+#: wt-status.c:1084
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1079
+#: wt-status.c:1087
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1081
+#: wt-status.c:1089
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (使用 \"git merge --abort\" 终止合并)"
 
-#: wt-status.c:1086
+#: wt-status.c:1094
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1089
+#: wt-status.c:1097
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:1099
+#: wt-status.c:1107
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:1102
+#: wt-status.c:1110
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1106
+#: wt-status.c:1114
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1108
+#: wt-status.c:1116
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1110
+#: wt-status.c:1118
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1242
+#: wt-status.c:1250
 msgid "git-rebase-todo is missing."
 msgstr "git-rebase-todo 丢失。"
 
-#: wt-status.c:1244
+#: wt-status.c:1252
 msgid "No commands done."
 msgstr "没有命令被执行。"
 
-#: wt-status.c:1247
+#: wt-status.c:1255
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "最后一条命令已完成(%d 条命令被执行):"
 msgstr[1] "最后的命令已完成(%d 条命令被执行):"
 
-#: wt-status.c:1258
+#: wt-status.c:1266
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (更多参见文件 %s)"
 
-#: wt-status.c:1263
+#: wt-status.c:1271
 msgid "No commands remaining."
 msgstr "未剩下任何命令。"
 
-#: wt-status.c:1266
+#: wt-status.c:1274
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
@@ -4783,169 +5130,169 @@ msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
 msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1274
+#: wt-status.c:1282
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
 
-#: wt-status.c:1287
+#: wt-status.c:1295
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1292
+#: wt-status.c:1300
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1306
+#: wt-status.c:1314
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1308
+#: wt-status.c:1316
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1310
+#: wt-status.c:1318
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1316
+#: wt-status.c:1324
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1320
+#: wt-status.c:1328
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1325
+#: wt-status.c:1333
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1328
+#: wt-status.c:1336
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1332
+#: wt-status.c:1340
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1337
+#: wt-status.c:1345
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1340
+#: wt-status.c:1348
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1342
+#: wt-status.c:1350
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1352
+#: wt-status.c:1360
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1357
+#: wt-status.c:1365
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1360
+#: wt-status.c:1368
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1362
+#: wt-status.c:1370
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1371
+#: wt-status.c:1379
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1376
+#: wt-status.c:1384
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1379
+#: wt-status.c:1387
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1381
+#: wt-status.c:1389
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1392
+#: wt-status.c:1400
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1396
+#: wt-status.c:1404
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1399
+#: wt-status.c:1407
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1596
+#: wt-status.c:1604
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1602
+#: wt-status.c:1610
 msgid "interactive rebase in progress; onto "
 msgstr "交互式变基操作正在进行中;至 "
 
-#: wt-status.c:1604
+#: wt-status.c:1612
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1609
+#: wt-status.c:1617
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1611
+#: wt-status.c:1619
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1614
+#: wt-status.c:1622
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1634
+#: wt-status.c:1642
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1635
+#: wt-status.c:1643
 msgid "No commits yet"
 msgstr "尚无提交"
 
-#: wt-status.c:1649
+#: wt-status.c:1657
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1651
+#: wt-status.c:1659
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1655
+#: wt-status.c:1663
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4955,102 +5302,102 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1661
+#: wt-status.c:1669
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1663
+#: wt-status.c:1671
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1669
+#: wt-status.c:1677
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1674
+#: wt-status.c:1682
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n"
 
-#: wt-status.c:1677
+#: wt-status.c:1685
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1680
+#: wt-status.c:1688
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1683
+#: wt-status.c:1691
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1686
+#: wt-status.c:1694
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1689 wt-status.c:1694
+#: wt-status.c:1697 wt-status.c:1702
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1692
+#: wt-status.c:1700
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1696
+#: wt-status.c:1704
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1809
+#: wt-status.c:1817
 msgid "No commits yet on "
 msgstr "尚无提交在 "
 
-#: wt-status.c:1813
+#: wt-status.c:1821
 msgid "HEAD (no branch)"
 msgstr "HEAD(非分支)"
 
-#: wt-status.c:1844
+#: wt-status.c:1852
 msgid "different"
 msgstr "不同"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1846 wt-status.c:1854
+#: wt-status.c:1854 wt-status.c:1862
 msgid "behind "
 msgstr "落后 "
 
-#: wt-status.c:1849 wt-status.c:1852
+#: wt-status.c:1857 wt-status.c:1860
 msgid "ahead "
 msgstr "领先 "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2358
+#: wt-status.c:2366
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "不能%s:您有未暂存的变更。"
 
-#: wt-status.c:2364
+#: wt-status.c:2372
 msgid "additionally, your index contains uncommitted changes."
 msgstr "另外,您的索引中包含未提交的变更。"
 
-#: wt-status.c:2366
+#: wt-status.c:2374
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "不能%s:您的索引中包含未提交的变更。"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:440
+#: compat/precompose_utf8.c:58 builtin/clone.c:442
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
@@ -5064,7 +5411,7 @@ msgstr "git add [<选项>] [--] <路径规格>..."
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:88 builtin/commit.c:257
+#: builtin/add.c:88 builtin/commit.c:266
 msgid "updating files failed"
 msgstr "更新文件失败"
 
@@ -5077,7 +5424,7 @@ msgstr "删除 '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:233 builtin/rev-parse.c:888
+#: builtin/add.c:233 builtin/rev-parse.c:892
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
@@ -5108,77 +5455,77 @@ msgstr "空补丁。异常终止。"
 msgid "Could not apply '%s'"
 msgstr "不能应用 '%s'"
 
-#: builtin/add.c:271
+#: builtin/add.c:269
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:291 builtin/clean.c:911 builtin/fetch.c:146 builtin/mv.c:124
-#: builtin/prune-packed.c:55 builtin/pull.c:207 builtin/push.c:541
-#: builtin/remote.c:1333 builtin/rm.c:242 builtin/send-pack.c:164
+#: builtin/add.c:289 builtin/clean.c:911 builtin/fetch.c:145 builtin/mv.c:123
+#: builtin/prune-packed.c:55 builtin/pull.c:212 builtin/push.c:557
+#: builtin/remote.c:1342 builtin/rm.c:240 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:294
+#: builtin/add.c:292
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:295 builtin/checkout.c:1128 builtin/reset.c:302
+#: builtin/add.c:293 builtin/checkout.c:1135 builtin/reset.c:302
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
-#: builtin/add.c:296
+#: builtin/add.c:294
 msgid "edit current diff and apply"
 msgstr "编辑当前差异并应用"
 
-#: builtin/add.c:297
+#: builtin/add.c:295
 msgid "allow adding otherwise ignored files"
 msgstr "允许添加忽略的文件"
 
-#: builtin/add.c:298
+#: builtin/add.c:296
 msgid "update tracked files"
 msgstr "更新已跟踪的文件"
 
-#: builtin/add.c:299
+#: builtin/add.c:297
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "对已跟踪文件(暗含 -u)重新归一换行符"
 
-#: builtin/add.c:300
+#: builtin/add.c:298
 msgid "record only the fact that the path will be added later"
 msgstr "只记录,该路径稍后再添加"
 
-#: builtin/add.c:301
+#: builtin/add.c:299
 msgid "add changes from all tracked and untracked files"
 msgstr "添加所有改变的已跟踪文件和未跟踪文件"
 
-#: builtin/add.c:304
+#: builtin/add.c:302
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "忽略工作区中移除的路径(和 --no-all 相同)"
 
-#: builtin/add.c:306
+#: builtin/add.c:304
 msgid "don't add, only refresh the index"
 msgstr "不添加,只刷新索引"
 
-#: builtin/add.c:307
+#: builtin/add.c:305
 msgid "just skip files which cannot be added because of errors"
 msgstr "跳过因出错不能添加的文件"
 
-#: builtin/add.c:308
+#: builtin/add.c:306
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "检查在演习模式下文件(即使不存在)是否被忽略"
 
-#: builtin/add.c:309 builtin/update-index.c:964
+#: builtin/add.c:307 builtin/update-index.c:974
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/add.c:309 builtin/update-index.c:965
+#: builtin/add.c:307 builtin/update-index.c:975
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/add.c:311
+#: builtin/add.c:309
 msgid "warn when adding an embedded repository"
 msgstr "创建一个嵌入式仓库时给予警告"
 
-#: builtin/add.c:326
+#: builtin/add.c:324
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -5207,47 +5554,47 @@ msgstr ""
 "\n"
 "参见 \"git help submodule\" 获取更多信息。"
 
-#: builtin/add.c:354
+#: builtin/add.c:352
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "正在添加嵌入式 git 仓库:%s"
 
-#: builtin/add.c:372
+#: builtin/add.c:370
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "使用 -f 参数如果您确实要添加它们。\n"
 
-#: builtin/add.c:380
+#: builtin/add.c:378
 msgid "adding files failed"
 msgstr "添加文件失败"
 
-#: builtin/add.c:417
+#: builtin/add.c:416
 msgid "-A and -u are mutually incompatible"
 msgstr "-A 和 -u 选项互斥"
 
-#: builtin/add.c:424
+#: builtin/add.c:423
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:428
+#: builtin/add.c:427
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x"
 
-#: builtin/add.c:443
+#: builtin/add.c:442
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:444
+#: builtin/add.c:443
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:449 builtin/check-ignore.c:177 builtin/checkout.c:280
-#: builtin/checkout.c:483 builtin/clean.c:958 builtin/commit.c:316
+#: builtin/add.c:448 builtin/check-ignore.c:177 builtin/checkout.c:280
+#: builtin/checkout.c:483 builtin/clean.c:958 builtin/commit.c:325
 #: builtin/diff-tree.c:114 builtin/mv.c:144 builtin/reset.c:241
-#: builtin/rm.c:271 builtin/submodule--helper.c:326
+#: builtin/rm.c:270 builtin/submodule--helper.c:328
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
@@ -5299,7 +5646,7 @@ msgstr "无效的时区偏移值"
 msgid "Patch format detection failed."
 msgstr "补丁格式探测失败。"
 
-#: builtin/am.c:1013 builtin/clone.c:405
+#: builtin/am.c:1013 builtin/clone.c:407
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "无法创建目录 '%s'"
@@ -5308,7 +5655,7 @@ msgstr "无法创建目录 '%s'"
 msgid "Failed to split patches."
 msgstr "无法拆分补丁。"
 
-#: builtin/am.c:1148 builtin/commit.c:342
+#: builtin/am.c:1148 builtin/commit.c:351
 msgid "unable to write index file"
 msgstr "无法写入索引文件"
 
@@ -5477,7 +5824,7 @@ msgid "allow fall back on 3way merging if needed"
 msgstr "如果必要,允许使用三方合并。"
 
 #: builtin/am.c:2222 builtin/init-db.c:484 builtin/prune-packed.c:57
-#: builtin/repack.c:182
+#: builtin/repack.c:192
 msgid "be quiet"
 msgstr "静默模式"
 
@@ -5519,16 +5866,17 @@ msgstr "丢弃裁切线前的所有内容"
 msgid "pass it through git-apply"
 msgstr "传递给 git-apply"
 
-#: builtin/am.c:2260 builtin/fmt-merge-msg.c:665 builtin/fmt-merge-msg.c:668
-#: builtin/grep.c:853 builtin/merge.c:206 builtin/pull.c:145 builtin/pull.c:203
-#: builtin/repack.c:191 builtin/repack.c:195 builtin/repack.c:197
-#: builtin/show-branch.c:631 builtin/show-ref.c:169 builtin/tag.c:382
-#: parse-options.h:144 parse-options.h:146 parse-options.h:257
+#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:665
+#: builtin/fmt-merge-msg.c:668 builtin/grep.c:853 builtin/merge.c:208
+#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:201
+#: builtin/repack.c:205 builtin/repack.c:207 builtin/show-branch.c:631
+#: builtin/show-ref.c:169 builtin/tag.c:383 parse-options.h:144
+#: parse-options.h:146 parse-options.h:258
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2266 builtin/branch.c:629 builtin/for-each-ref.c:38
-#: builtin/replace.c:445 builtin/tag.c:418 builtin/verify-tag.c:39
+#: builtin/am.c:2266 builtin/branch.c:632 builtin/for-each-ref.c:38
+#: builtin/replace.c:543 builtin/tag.c:419 builtin/verify-tag.c:39
 msgid "format"
 msgstr "格式"
 
@@ -5572,8 +5920,8 @@ msgstr "将作者日期作为提交日期"
 msgid "use current timestamp for author date"
 msgstr "用当前时间作为作者日期"
 
-#: builtin/am.c:2298 builtin/commit.c:1431 builtin/merge.c:237
-#: builtin/pull.c:178 builtin/revert.c:112 builtin/tag.c:398
+#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:239
+#: builtin/pull.c:183 builtin/revert.c:112 builtin/tag.c:399
 msgid "key-id"
 msgstr "key-id"
 
@@ -5712,115 +6060,141 @@ msgstr "--write-terms 需要两个参数"
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state 不需要参数"
 
-#: builtin/blame.c:27
+#: builtin/blame.c:29
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
 
-#: builtin/blame.c:32
+#: builtin/blame.c:34
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:677
+#: builtin/blame.c:404
+#, c-format
+msgid "expecting a color: %s"
+msgstr "期望一个颜色:%s"
+
+#: builtin/blame.c:411
+msgid "must end with a color"
+msgstr "必须以一个颜色结尾"
+
+#: builtin/blame.c:697
+#, c-format
+msgid "invalid color '%s' in color.blame.repeatedLines"
+msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'"
+
+#: builtin/blame.c:715
+msgid "invalid value for blame.coloring"
+msgstr "设置 blame.coloring 中的无效取值"
+
+#: builtin/blame.c:786
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:678
+#: builtin/blame.c:787
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:679
+#: builtin/blame.c:788
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:680
+#: builtin/blame.c:789
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:681
+#: builtin/blame.c:790
 msgid "Force progress reporting"
 msgstr "强制进度显示"
 
-#: builtin/blame.c:682
+#: builtin/blame.c:791
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:683
+#: builtin/blame.c:792
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:684
+#: builtin/blame.c:793
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:685
+#: builtin/blame.c:794
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:686
+#: builtin/blame.c:795
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:687
+#: builtin/blame.c:796
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:688
+#: builtin/blame.c:797
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:689
+#: builtin/blame.c:798
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:690
+#: builtin/blame.c:799
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:691
+#: builtin/blame.c:800
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:692
+#: builtin/blame.c:801
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:699
+#: builtin/blame.c:802
+msgid "color redundant metadata from previous line differently"
+msgstr "使用颜色间隔输出与前一行不同的重复元信息"
+
+#: builtin/blame.c:803
+msgid "color lines by age"
+msgstr "依据时间着色"
+
+#: builtin/blame.c:810
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "使用一个试验性的启发式算法改进差异显示"
 
-#: builtin/blame.c:701
+#: builtin/blame.c:812
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:702
+#: builtin/blame.c:813
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:703
+#: builtin/blame.c:814
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:704 builtin/blame.c:705
+#: builtin/blame.c:815 builtin/blame.c:816
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:704
+#: builtin/blame.c:815
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:705
+#: builtin/blame.c:816
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:706
+#: builtin/blame.c:817
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:706
+#: builtin/blame.c:817
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
-#: builtin/blame.c:753
+#: builtin/blame.c:866
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 
@@ -5832,18 +6206,18 @@ msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用"
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:804
+#: builtin/blame.c:917
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/blame.c:890
+#: builtin/blame.c:1003
 #, 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/blame.c:936
+#: builtin/blame.c:1049
 msgid "Blaming lines"
 msgstr "追踪代码行"
 
@@ -5956,65 +6330,65 @@ msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:417 builtin/tag.c:58
+#: builtin/branch.c:416 builtin/tag.c:58
 msgid "unable to parse format string"
 msgstr "不能解析格式化字符串"
 
-#: builtin/branch.c:450
+#: builtin/branch.c:453
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "分支 %s 正被变基到 %s"
 
-#: builtin/branch.c:454
+#: builtin/branch.c:457
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "分支 %s 正被二分查找于 %s"
 
-#: builtin/branch.c:471
+#: builtin/branch.c:474
 msgid "cannot copy the current branch while not on any."
 msgstr "无法拷贝当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:473
+#: builtin/branch.c:476
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:484
+#: builtin/branch.c:487
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:511
+#: builtin/branch.c:514
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:513
+#: builtin/branch.c:516
 msgid "Branch copy failed"
 msgstr "分支拷贝失败"
 
-#: builtin/branch.c:517
+#: builtin/branch.c:520
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "已为错误命名的分支 '%s' 创建了一个副本"
 
-#: builtin/branch.c:520
+#: builtin/branch.c:523
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "已将错误命名的分支 '%s' 重命名"
 
-#: builtin/branch.c:526
+#: builtin/branch.c:529
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:535
+#: builtin/branch.c:538
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新配置文件失败"
 
-#: builtin/branch.c:537
+#: builtin/branch.c:540
 msgid "Branch is copied, but update of config-file failed"
 msgstr "分支已拷贝,但更新配置文件失败"
 
-#: builtin/branch.c:553
+#: builtin/branch.c:556
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -6025,217 +6399,219 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被过滤。\n"
 
-#: builtin/branch.c:586
+#: builtin/branch.c:589
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:591
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:589
+#: builtin/branch.c:592
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:590
+#: builtin/branch.c:593
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:592
+#: builtin/branch.c:595
 msgid "do not use"
 msgstr "不要使用"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:597
 msgid "upstream"
 msgstr "上游"
 
-#: builtin/branch.c:594
+#: builtin/branch.c:597
 msgid "change the upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:598
 msgid "Unset the upstream info"
 msgstr "取消上游信息的设置"
 
-#: builtin/branch.c:596
+#: builtin/branch.c:599
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:600
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:599 builtin/branch.c:601
+#: builtin/branch.c:602 builtin/branch.c:604
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:600 builtin/branch.c:602
+#: builtin/branch.c:603 builtin/branch.c:605
 msgid "print only branches that don't contain the commit"
 msgstr "只打印不包含该提交的分支"
 
-#: builtin/branch.c:605
+#: builtin/branch.c:608
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:606
+#: builtin/branch.c:609
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:608
+#: builtin/branch.c:611
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:609
+#: builtin/branch.c:612
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:613
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:614
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:615
 msgid "copy a branch and its reflog"
 msgstr "拷贝一个分支和它的引用日志"
 
-#: builtin/branch.c:613
+#: builtin/branch.c:616
 msgid "copy a branch, even if target exists"
 msgstr "拷贝一个分支,即使目标已存在"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:617
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:615
+#: builtin/branch.c:618
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:617
+#: builtin/branch.c:620
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:621
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:622
 msgid "print only branches that are merged"
 msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:623
 msgid "print only branches that are not merged"
 msgstr "只打印尚未合并的分支"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:624
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:622 builtin/for-each-ref.c:40 builtin/tag.c:411
+#: builtin/branch.c:625 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:412
 msgid "key"
 msgstr "key"
 
-#: builtin/branch.c:623 builtin/for-each-ref.c:41 builtin/tag.c:412
+#: builtin/branch.c:626 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:413
 msgid "field name to sort on"
 msgstr "排序的字段名"
 
-#: builtin/branch.c:625 builtin/for-each-ref.c:43 builtin/notes.c:408
+#: builtin/branch.c:628 builtin/for-each-ref.c:43 builtin/notes.c:408
 #: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
-#: builtin/tag.c:414
+#: builtin/tag.c:415
 msgid "object"
 msgstr "对象"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:629
 msgid "print only branches of the object"
 msgstr "只打印指向该对象的分支"
 
-#: builtin/branch.c:628 builtin/for-each-ref.c:49 builtin/tag.c:421
+#: builtin/branch.c:631 builtin/for-each-ref.c:49 builtin/tag.c:422
 msgid "sorting and filtering are case insensitive"
 msgstr "排序和过滤属于大小写不敏感"
 
-#: builtin/branch.c:629 builtin/for-each-ref.c:38 builtin/tag.c:419
+#: builtin/branch.c:632 builtin/for-each-ref.c:38 builtin/tag.c:420
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/branch.c:652 builtin/clone.c:735
+#: builtin/branch.c:655 builtin/clone.c:737
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:675
+#: builtin/branch.c:678
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:690 builtin/branch.c:742 builtin/branch.c:751
+#: builtin/branch.c:693 builtin/branch.c:745 builtin/branch.c:754
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:718
+#: builtin/branch.c:721
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:726
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:730
+#: builtin/branch.c:733
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:733
+#: builtin/branch.c:736
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:748
+#: builtin/branch.c:751
 msgid "too many branches for a copy operation"
 msgstr "为拷贝操作提供了太多的分支名"
 
-#: builtin/branch.c:757
+#: builtin/branch.c:760
 msgid "too many arguments for a rename operation"
 msgstr "为重命名操作提供了太多的参数"
 
-#: builtin/branch.c:762
+#: builtin/branch.c:765
 msgid "too many arguments to set new upstream"
 msgstr "为设置新上游提供了太多的参数"
 
-#: builtin/branch.c:766
+#: builtin/branch.c:769
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr "无法设置 HEAD 的上游为 %s,因为 HEAD 没有指向任何分支。"
 
-#: builtin/branch.c:769 builtin/branch.c:791 builtin/branch.c:807
+#: builtin/branch.c:772 builtin/branch.c:794 builtin/branch.c:810
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:773
+#: builtin/branch.c:776
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:788
 msgid "too many arguments to unset upstream"
 msgstr "为取消上游设置操作提供了太多的参数"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:792
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:795
+#: builtin/branch.c:798
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:810
+#: builtin/branch.c:813
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:816
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -6255,7 +6631,7 @@ msgstr "需要一个仓库来创建包。"
 msgid "Need a repository to unbundle."
 msgstr "需要一个仓库来解包。"
 
-#: builtin/cat-file.c:523
+#: builtin/cat-file.c:525
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -6263,7 +6639,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <类型> | --textconv | --filters) [--path=<路径>] <对象>"
 
-#: builtin/cat-file.c:524
+#: builtin/cat-file.c:526
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -6271,63 +6647,63 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:561
+#: builtin/cat-file.c:563
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:562
+#: builtin/cat-file.c:564
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:563
+#: builtin/cat-file.c:565
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:565
+#: builtin/cat-file.c:567
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:566
+#: builtin/cat-file.c:568
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:568
+#: builtin/cat-file.c:570
 msgid "for blob objects, run textconv on object's content"
 msgstr "对于数据对象,对其内容做文本转换"
 
-#: builtin/cat-file.c:570
+#: builtin/cat-file.c:572
 msgid "for blob objects, run filters on object's content"
 msgstr "对于数据对象,对其内容做过滤"
 
-#: builtin/cat-file.c:571 git-submodule.sh:878
+#: builtin/cat-file.c:573 git-submodule.sh:894
 msgid "blob"
 msgstr "数据对象"
 
-#: builtin/cat-file.c:572
+#: builtin/cat-file.c:574
 msgid "use a specific path for --textconv/--filters"
 msgstr "对于 --textconv/--filters 使用一个特定的路径"
 
-#: builtin/cat-file.c:574
+#: builtin/cat-file.c:576
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "允许 -s 和 -t 对损坏的对象生效"
 
-#: builtin/cat-file.c:575
+#: builtin/cat-file.c:577
 msgid "buffer --batch output"
 msgstr "缓冲 --batch 的输出"
 
-#: builtin/cat-file.c:577
+#: builtin/cat-file.c:579
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:580
+#: builtin/cat-file.c:582
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
-#: builtin/cat-file.c:583
+#: builtin/cat-file.c:585
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
 
-#: builtin/cat-file.c:585
+#: builtin/cat-file.c:587
 msgid "show all objects with --batch or --batch-check"
 msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
 
@@ -6355,7 +6731,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:20 builtin/checkout.c:1106 builtin/gc.c:358
+#: builtin/check-ignore.c:20 builtin/checkout.c:1113 builtin/gc.c:500
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -6445,9 +6821,9 @@ msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
 #: builtin/checkout-index.c:173 builtin/column.c:31
-#: builtin/submodule--helper.c:1203 builtin/submodule--helper.c:1206
-#: builtin/submodule--helper.c:1212 builtin/submodule--helper.c:1574
-#: builtin/worktree.c:570
+#: builtin/submodule--helper.c:1216 builtin/submodule--helper.c:1219
+#: builtin/submodule--helper.c:1227 builtin/submodule--helper.c:1591
+#: builtin/worktree.c:610
 msgid "string"
 msgstr "字符串"
 
@@ -6518,55 +6894,55 @@ msgstr "不能同时更新路径并切换到分支'%s'。"
 msgid "path '%s' is unmerged"
 msgstr "路径 '%s' 未合并"
 
-#: builtin/checkout.c:505
+#: builtin/checkout.c:506
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:636
+#: builtin/checkout.c:643
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:684
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:681 builtin/clone.c:689
+#: builtin/checkout.c:688 builtin/clone.c:691
 msgid "unable to update HEAD"
 msgstr "不能更新 HEAD"
 
-#: builtin/checkout.c:685
+#: builtin/checkout.c:692
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:688
+#: builtin/checkout.c:695
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:692
+#: builtin/checkout.c:699
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:694 builtin/checkout.c:1039
+#: builtin/checkout.c:701 builtin/checkout.c:1046
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:696
+#: builtin/checkout.c:703
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:747
+#: builtin/checkout.c:754
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:753
+#: builtin/checkout.c:760
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -6587,7 +6963,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:772
+#: builtin/checkout.c:779
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -6614,160 +6990,160 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:804
+#: builtin/checkout.c:811
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:808
+#: builtin/checkout.c:815
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:836 builtin/checkout.c:1034
+#: builtin/checkout.c:843 builtin/checkout.c:1041
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:940
+#: builtin/checkout.c:947
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "应只有一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:980 builtin/worktree.c:249
+#: builtin/checkout.c:987 builtin/worktree.c:240 builtin/worktree.c:389
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1009
+#: builtin/checkout.c:1016
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1048
+#: builtin/checkout.c:1055
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1051 builtin/checkout.c:1055
+#: builtin/checkout.c:1058 builtin/checkout.c:1062
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1059 builtin/checkout.c:1062 builtin/checkout.c:1067
-#: builtin/checkout.c:1070
+#: builtin/checkout.c:1066 builtin/checkout.c:1069 builtin/checkout.c:1074
+#: builtin/checkout.c:1077
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1082
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1107 builtin/checkout.c:1109 builtin/clone.c:116
-#: builtin/remote.c:166 builtin/remote.c:168 builtin/worktree.c:387
-#: builtin/worktree.c:389
+#: builtin/checkout.c:1114 builtin/checkout.c:1116 builtin/clone.c:118
+#: builtin/remote.c:167 builtin/remote.c:169 builtin/worktree.c:433
+#: builtin/worktree.c:435
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1108
+#: builtin/checkout.c:1115
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1110
+#: builtin/checkout.c:1117
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1111
+#: builtin/checkout.c:1118
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1112 builtin/worktree.c:391
+#: builtin/checkout.c:1119 builtin/worktree.c:437
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/checkout.c:1113
+#: builtin/checkout.c:1120
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1115
+#: builtin/checkout.c:1122
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1115
+#: builtin/checkout.c:1122
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1116
+#: builtin/checkout.c:1123
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1118
+#: builtin/checkout.c:1125
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1120
+#: builtin/checkout.c:1127
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1129
 msgid "perform a 3-way merge with the new branch"
 msgstr "和新的分支执行三方合并"
 
-#: builtin/checkout.c:1124 builtin/merge.c:239
+#: builtin/checkout.c:1131 builtin/merge.c:241
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1126 builtin/log.c:1499 parse-options.h:263
+#: builtin/checkout.c:1133 builtin/log.c:1499 parse-options.h:264
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1127
+#: builtin/checkout.c:1134
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1130
+#: builtin/checkout.c:1137
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1132
+#: builtin/checkout.c:1139
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1134
+#: builtin/checkout.c:1141
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1138 builtin/clone.c:83 builtin/fetch.c:150
-#: builtin/merge.c:236 builtin/pull.c:123 builtin/push.c:556
-#: builtin/send-pack.c:173
+#: builtin/checkout.c:1145 builtin/clone.c:85 builtin/fetch.c:149
+#: builtin/merge.c:238 builtin/pull.c:128 builtin/push.c:572
+#: builtin/send-pack.c:174
 msgid "force progress reporting"
 msgstr "强制显示进度报告"
 
-#: builtin/checkout.c:1168
+#: builtin/checkout.c:1175
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1185
+#: builtin/checkout.c:1192
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1190
+#: builtin/checkout.c:1197
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1226
+#: builtin/checkout.c:1233
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1233
+#: builtin/checkout.c:1240
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'"
 
-#: builtin/checkout.c:1237
+#: builtin/checkout.c:1244
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1241
+#: builtin/checkout.c:1248
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -6805,7 +7181,7 @@ msgstr "将忽略仓库 %s\n"
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: builtin/clean.c:302 git-add--interactive.perl:572
+#: builtin/clean.c:302 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6818,7 +7194,7 @@ msgstr ""
 "foo        - 通过唯一前缀选择一个选项\n"
 "           - (空)什么也不选择\n"
 
-#: builtin/clean.c:306 git-add--interactive.perl:581
+#: builtin/clean.c:306 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6839,8 +7215,8 @@ msgstr ""
 "*          - 选择所有选项\n"
 "           - (空)结束选择\n"
 
-#: builtin/clean.c:522 git-add--interactive.perl:547
-#: git-add--interactive.perl:552
+#: builtin/clean.c:522 git-add--interactive.perl:554
+#: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "嗯(%s)?\n"
@@ -6865,7 +7241,7 @@ msgstr "选择要删除的条目"
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:788 git-add--interactive.perl:1710
+#: builtin/clean.c:788 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "再见。\n"
@@ -6888,11 +7264,11 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:823 git-add--interactive.perl:1786
+#: builtin/clean.c:823 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:824 git-add--interactive.perl:1783
+#: builtin/clean.c:824 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "请选择"
 
@@ -6959,144 +7335,146 @@ msgid ""
 msgstr ""
 "clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clone.c:40
+#: builtin/clone.c:42
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:85
+#: builtin/clone.c:87
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:86 builtin/clone.c:88 builtin/init-db.c:479
+#: builtin/clone.c:88 builtin/clone.c:90 builtin/init-db.c:479
 msgid "create a bare repository"
 msgstr "创建一个纯仓库"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:92
 msgid "create a mirror repository (implies bare)"
 msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:94
 msgid "to clone from a local repository"
 msgstr "从本地仓库克隆"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:96
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:98
 msgid "setup as shared repository"
 msgstr "设置为共享仓库"
 
-#: builtin/clone.c:98 builtin/clone.c:102
+#: builtin/clone.c:100 builtin/clone.c:104
 msgid "pathspec"
 msgstr "路径规格"
 
-#: builtin/clone.c:98 builtin/clone.c:102
+#: builtin/clone.c:100 builtin/clone.c:104
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:107
 msgid "number of submodules cloned in parallel"
 msgstr "并发克隆的子模组的数量"
 
-#: builtin/clone.c:106 builtin/init-db.c:476
+#: builtin/clone.c:108 builtin/init-db.c:476
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:107 builtin/init-db.c:477
+#: builtin/clone.c:109 builtin/init-db.c:477
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:109 builtin/clone.c:111 builtin/submodule--helper.c:1210
-#: builtin/submodule--helper.c:1577
+#: builtin/clone.c:111 builtin/clone.c:113 builtin/submodule--helper.c:1223
+#: builtin/submodule--helper.c:1594
 msgid "reference repository"
 msgstr "参考仓库"
 
-#: builtin/clone.c:113
+#: builtin/clone.c:115 builtin/submodule--helper.c:1225
+#: builtin/submodule--helper.c:1596
 msgid "use --reference only while cloning"
 msgstr "仅在克隆时参考 --reference 指向的本地仓库"
 
-#: builtin/clone.c:114 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/pack-objects.c:3166 builtin/repack.c:213
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:115
+#: builtin/clone.c:117
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:119
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:119
+#: builtin/clone.c:121
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:120 builtin/fetch.c:151 builtin/grep.c:813
-#: builtin/pull.c:211
+#: builtin/clone.c:122 builtin/fetch.c:150 builtin/grep.c:813
+#: builtin/pull.c:216
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:121
+#: builtin/clone.c:123
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:122 builtin/fetch.c:153 builtin/pack-objects.c:3017
+#: builtin/clone.c:124 builtin/fetch.c:152 builtin/pack-objects.c:3157
 #: parse-options.h:154
 msgid "time"
 msgstr "时间"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:125
 msgid "create a shallow clone since a specific time"
 msgstr "从一个特定时间创建一个浅克隆"
 
-#: builtin/clone.c:124 builtin/fetch.c:155
+#: builtin/clone.c:126 builtin/fetch.c:154
 msgid "revision"
 msgstr "版本"
 
-#: builtin/clone.c:125 builtin/fetch.c:156
+#: builtin/clone.c:127 builtin/fetch.c:155
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "深化浅克隆的历史,除了特定版本"
 
-#: builtin/clone.c:127
+#: builtin/clone.c:129
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:129
+#: builtin/clone.c:131
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr "不要克隆任何标签,并且后续获取操作也不下载它们"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:133
 msgid "any cloned submodules will be shallow"
 msgstr "子模组将以浅下载模式克隆"
 
-#: builtin/clone.c:132 builtin/init-db.c:485
+#: builtin/clone.c:134 builtin/init-db.c:485
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:133 builtin/init-db.c:486
+#: builtin/clone.c:135 builtin/init-db.c:486
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:134
+#: builtin/clone.c:136
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:135
+#: builtin/clone.c:137
 msgid "set config inside the new repository"
 msgstr "在新仓库中设置配置信息"
 
-#: builtin/clone.c:136 builtin/fetch.c:173 builtin/pull.c:224
-#: builtin/push.c:567
+#: builtin/clone.c:138 builtin/fetch.c:173 builtin/pull.c:229
+#: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "只使用 IPv4 地址"
 
-#: builtin/clone.c:138 builtin/fetch.c:175 builtin/pull.c:227
-#: builtin/push.c:569
+#: builtin/clone.c:140 builtin/fetch.c:175 builtin/pull.c:232
+#: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "只使用 IPv6 地址"
 
-#: builtin/clone.c:276
+#: builtin/clone.c:278
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -7104,42 +7482,42 @@ msgstr ""
 "无法猜到目录名。\n"
 "请在命令行指定一个目录"
 
-#: builtin/clone.c:329
+#: builtin/clone.c:331
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: 不能为 '%s' 添加一个备用:%s\n"
 
-#: builtin/clone.c:401
+#: builtin/clone.c:403
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: builtin/clone.c:409
+#: builtin/clone.c:411
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:423
+#: builtin/clone.c:425
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "对 %s 调用 stat 失败\n"
 
-#: builtin/clone.c:445
+#: builtin/clone.c:447
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:449
+#: builtin/clone.c:451
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:475
+#: builtin/clone.c:477
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:489
+#: builtin/clone.c:491
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -7149,99 +7527,99 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:566
+#: builtin/clone.c:568
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:661
+#: builtin/clone.c:663
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:677
+#: builtin/clone.c:679
 #, c-format
 msgid "unable to update %s"
 msgstr "不能更新 %s"
 
-#: builtin/clone.c:726
+#: builtin/clone.c:728
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:756
+#: builtin/clone.c:758
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:801
+#: builtin/clone.c:803
 msgid "unable to write parameters to config file"
 msgstr "无法将参数写入配置文件"
 
-#: builtin/clone.c:864
+#: builtin/clone.c:866
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:866
+#: builtin/clone.c:868
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:906 builtin/receive-pack.c:1946
+#: builtin/clone.c:907 builtin/receive-pack.c:1947
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:910
+#: builtin/clone.c:911
 msgid "You must specify a repository to clone."
 msgstr "您必须指定一个仓库来克隆。"
 
-#: builtin/clone.c:923
+#: builtin/clone.c:924
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:926
+#: builtin/clone.c:927
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:939
+#: builtin/clone.c:940
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "仓库 '%s' 不存在"
 
-#: builtin/clone.c:945 builtin/fetch.c:1455
+#: builtin/clone.c:946 builtin/fetch.c:1460
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:955
+#: builtin/clone.c:956
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:965
+#: builtin/clone.c:966
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:980 builtin/clone.c:1001 builtin/difftool.c:270
-#: builtin/worktree.c:255 builtin/worktree.c:285
+#: builtin/clone.c:981 builtin/clone.c:1002 builtin/difftool.c:270
+#: builtin/worktree.c:246 builtin/worktree.c:276
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:985
+#: builtin/clone.c:986
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:1005
+#: builtin/clone.c:1006
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "克隆到纯仓库 '%s'...\n"
 
-#: builtin/clone.c:1007
+#: builtin/clone.c:1008
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:1031
+#: builtin/clone.c:1032
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -7308,7 +7686,7 @@ msgstr "右边框的填充空间"
 msgid "Padding space between columns"
 msgstr "两列之间的填充空间"
 
-#: builtin/column.c:52
+#: builtin/column.c:51
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
@@ -7363,98 +7741,98 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:284
+#: builtin/commit.c:293
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:325
+#: builtin/commit.c:334
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:331
+#: builtin/commit.c:340
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:344
+#: builtin/commit.c:353
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:346
+#: builtin/commit.c:355
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:371 builtin/commit.c:395 builtin/commit.c:444
+#: builtin/commit.c:380 builtin/commit.c:403 builtin/commit.c:449
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
-#: builtin/commit.c:427
+#: builtin/commit.c:432
 msgid "cannot do a partial commit during a merge."
 msgstr "在合并过程中不能做部分提交。"
 
-#: builtin/commit.c:429
+#: builtin/commit.c:434
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "在拣选过程中不能做部分提交。"
 
-#: builtin/commit.c:437
+#: builtin/commit.c:442
 msgid "cannot read the index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:456
+#: builtin/commit.c:461
 msgid "unable to write temporary index file"
 msgstr "无法写临时索引文件"
 
-#: builtin/commit.c:553
+#: builtin/commit.c:558
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "提交 '%s' 缺少作者信息"
 
-#: builtin/commit.c:555
+#: builtin/commit.c:560
 #, c-format
 msgid "commit '%s' has malformed author line"
-msgstr "提交 '%s' 有非法的作者信息"
+msgstr "提交 '%s' 有格式错误的作者信息"
 
-#: builtin/commit.c:574
+#: builtin/commit.c:579
 msgid "malformed --author parameter"
-msgstr "非法的 --author 参数"
+msgstr "格式错误的 --author 参数"
 
-#: builtin/commit.c:626
+#: builtin/commit.c:631
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
 msgstr "无法选择一个未被当前提交说明使用的注释字符"
 
-#: builtin/commit.c:663 builtin/commit.c:696 builtin/commit.c:1024
+#: builtin/commit.c:668 builtin/commit.c:701 builtin/commit.c:1029
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:675 builtin/shortlog.c:309
+#: builtin/commit.c:680 builtin/shortlog.c:316
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
 
-#: builtin/commit.c:677
+#: builtin/commit.c:682
 msgid "could not read log from standard input"
 msgstr "不能从标准输入中读取日志信息"
 
-#: builtin/commit.c:681
+#: builtin/commit.c:686
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "不能读取日志文件 '%s'"
 
-#: builtin/commit.c:710 builtin/commit.c:718
+#: builtin/commit.c:715 builtin/commit.c:723
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:715
+#: builtin/commit.c:720
 msgid "could not read MERGE_MSG"
 msgstr "不能读取 MERGE_MSG"
 
-#: builtin/commit.c:769
+#: builtin/commit.c:774
 msgid "could not write commit template"
 msgstr "不能写提交模版"
 
-#: builtin/commit.c:787
+#: builtin/commit.c:792
 #, c-format
 msgid ""
 "\n"
@@ -7468,7 +7846,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:792
+#: builtin/commit.c:797
 #, c-format
 msgid ""
 "\n"
@@ -7482,7 +7860,7 @@ msgstr ""
 "\t%s\n"
 "然后重试。\n"
 
-#: builtin/commit.c:805
+#: builtin/commit.c:810
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7491,7 +7869,7 @@ msgstr ""
 "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n"
 "说明将会终止提交。\n"
 
-#: builtin/commit.c:813
+#: builtin/commit.c:818
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7502,342 +7880,350 @@ msgstr ""
 "也可以删除它们。一个空的提交说明将会终止提交。\n"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:830
+#: builtin/commit.c:835
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%s作者:  %.*s <%.*s>"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:838
+#: builtin/commit.c:843
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%s日期:  %s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: builtin/commit.c:845
+#: builtin/commit.c:850
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%s提交者:%.*s <%.*s>"
 
-#: builtin/commit.c:862
+#: builtin/commit.c:867
 msgid "Cannot read index"
 msgstr "无法读取索引"
 
-#: builtin/commit.c:928
+#: builtin/commit.c:933
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:942 builtin/tag.c:256
+#: builtin/commit.c:947 builtin/tag.c:257
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
 
-#: builtin/commit.c:986
+#: builtin/commit.c:991
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配"
 
-#: builtin/commit.c:1000
+#: builtin/commit.c:1005
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "无效的忽略模式 '%s'"
 
-#: builtin/commit.c:1014 builtin/commit.c:1264
+#: builtin/commit.c:1019 builtin/commit.c:1269
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "无效的未追踪文件参数 '%s'"
 
-#: builtin/commit.c:1052
+#: builtin/commit.c:1057
 msgid "--long and -z are incompatible"
 msgstr "--long 和 -z 选项不兼容"
 
-#: builtin/commit.c:1085
+#: builtin/commit.c:1090
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "同时使用 --reset-author 和 --author 没有意义"
 
-#: builtin/commit.c:1094
+#: builtin/commit.c:1099
 msgid "You have nothing to amend."
 msgstr "您没有可修补的提交。"
 
-#: builtin/commit.c:1097
+#: builtin/commit.c:1102
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "您正处于一个合并过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1099
+#: builtin/commit.c:1104
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "您正处于一个拣选过程中 -- 无法修补提交。"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1107
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "选项 --squash 和 --fixup 不能同时使用"
 
-#: builtin/commit.c:1112
+#: builtin/commit.c:1117
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "只能用一个 -c/-C/-F/--fixup 选项。"
 
-#: builtin/commit.c:1114
+#: builtin/commit.c:1119
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "选项 -m 不能和 -c/-C/-F 同时使用。"
 
-#: builtin/commit.c:1122
+#: builtin/commit.c:1127
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。"
 
-#: builtin/commit.c:1139
+#: builtin/commit.c:1144
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。"
 
-#: builtin/commit.c:1141
+#: builtin/commit.c:1146
 msgid "No paths with --include/--only does not make sense."
 msgstr "参数 --include/--only 不跟路径没有意义。"
 
-#: builtin/commit.c:1155 builtin/tag.c:542
+#: builtin/commit.c:1160 builtin/tag.c:543
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1165
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1278 builtin/commit.c:1443
+#: builtin/commit.c:1303 builtin/commit.c:1480
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1280 builtin/commit.c:1445
+#: builtin/commit.c:1305 builtin/commit.c:1482
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1282
+#: builtin/commit.c:1307
 msgid "show stash information"
 msgstr "显示贮藏区信息"
 
-#: builtin/commit.c:1284 builtin/commit.c:1447
+#: builtin/commit.c:1309 builtin/commit.c:1484
 msgid "compute full ahead/behind values"
 msgstr "计算完整的领先/落后值"
 
-#: builtin/commit.c:1286
+#: builtin/commit.c:1311
 msgid "version"
 msgstr "版本"
 
-#: builtin/commit.c:1286 builtin/commit.c:1449 builtin/push.c:542
-#: builtin/worktree.c:541
+#: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
+#: builtin/worktree.c:581
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1289 builtin/commit.c:1451
+#: builtin/commit.c:1314 builtin/commit.c:1488
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1292 builtin/commit.c:1454
+#: builtin/commit.c:1317 builtin/commit.c:1491
 msgid "terminate entries with NUL"
 msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1294 builtin/commit.c:1298 builtin/commit.c:1457
-#: builtin/fast-export.c:999 builtin/fast-export.c:1002 builtin/tag.c:396
+#: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
+#: builtin/fast-export.c:1001 builtin/fast-export.c:1004 builtin/tag.c:397
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1295 builtin/commit.c:1457
+#: builtin/commit.c:1320 builtin/commit.c:1494
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
-#: builtin/commit.c:1299
+#: builtin/commit.c:1324
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
 msgstr ""
 "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)"
 
-#: builtin/commit.c:1301 parse-options.h:167
+#: builtin/commit.c:1326 parse-options.h:167
 msgid "when"
 msgstr "何时"
 
-#: builtin/commit.c:1302
+#: builtin/commit.c:1327
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
 msgstr ""
 "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)"
 
-#: builtin/commit.c:1304
+#: builtin/commit.c:1329
 msgid "list untracked files in columns"
 msgstr "以列的方式显示未跟踪的文件"
 
-#: builtin/commit.c:1323
+#: builtin/commit.c:1330
+msgid "do not detect renames"
+msgstr "不检测重命名"
+
+#: builtin/commit.c:1332
+msgid "detect renames, optionally set similarity index"
+msgstr "检测重命名,可以设置索引相似度"
+
+#: builtin/commit.c:1352
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr "不支持已忽略和未跟踪文件参数的组合"
 
-#: builtin/commit.c:1413
+#: builtin/commit.c:1450
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1414
+#: builtin/commit.c:1451
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1416
+#: builtin/commit.c:1453
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1417 builtin/tag.c:393
+#: builtin/commit.c:1454 builtin/tag.c:394
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1418
+#: builtin/commit.c:1455
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1418
+#: builtin/commit.c:1455
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1419 builtin/gc.c:359
+#: builtin/commit.c:1456 builtin/gc.c:501
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1419
+#: builtin/commit.c:1456
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1420 builtin/merge.c:226 builtin/notes.c:402
-#: builtin/notes.c:565 builtin/tag.c:391
+#: builtin/commit.c:1457 builtin/merge.c:228 builtin/notes.c:402
+#: builtin/notes.c:565 builtin/tag.c:392
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1420
+#: builtin/commit.c:1457
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1421 builtin/commit.c:1422 builtin/commit.c:1423
-#: builtin/commit.c:1424 parse-options.h:269 ref-filter.h:92
+#: builtin/commit.c:1458 builtin/commit.c:1459 builtin/commit.c:1460
+#: builtin/commit.c:1461 parse-options.h:270 ref-filter.h:92
 msgid "commit"
 msgstr "提交"
 
-#: builtin/commit.c:1421
+#: builtin/commit.c:1458
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1422
+#: builtin/commit.c:1459
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1423
+#: builtin/commit.c:1460
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1424
+#: builtin/commit.c:1461
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1425
+#: builtin/commit.c:1462
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1426 builtin/log.c:1446 builtin/merge.c:240
-#: builtin/pull.c:149 builtin/revert.c:105
+#: builtin/commit.c:1463 builtin/log.c:1446 builtin/merge.c:242
+#: builtin/pull.c:154 builtin/revert.c:105
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1427
+#: builtin/commit.c:1464
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1428
+#: builtin/commit.c:1465
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1429
+#: builtin/commit.c:1466
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1429 builtin/tag.c:397
+#: builtin/commit.c:1466 builtin/tag.c:398
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1430
+#: builtin/commit.c:1467
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1432 builtin/merge.c:238 builtin/pull.c:179
+#: builtin/commit.c:1469 builtin/merge.c:240 builtin/pull.c:184
 #: builtin/revert.c:113
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1435
+#: builtin/commit.c:1472
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1436
+#: builtin/commit.c:1473
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1474
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1438
+#: builtin/commit.c:1475
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1476
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1440
+#: builtin/commit.c:1477
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1441
+#: builtin/commit.c:1478
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "绕过 pre-commit 和 commit-msg 钩子"
 
-#: builtin/commit.c:1442
+#: builtin/commit.c:1479
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1455
+#: builtin/commit.c:1492
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1456
+#: builtin/commit.c:1493
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1461
+#: builtin/commit.c:1498
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1463
+#: builtin/commit.c:1500
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1573
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1580
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1562
+#: builtin/commit.c:1599
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1610
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1578
+#: builtin/commit.c:1615
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1650
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -7846,147 +8232,211 @@ msgstr ""
 "仓库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
 "或磁盘配额已耗尽,然后执行 \"git reset HEAD\" 恢复。"
 
+#: builtin/commit-graph.c:9
+msgid "git commit-graph [--object-dir <objdir>]"
+msgstr "git commit-graph [--object-dir <对象目录>]"
+
+#: builtin/commit-graph.c:10 builtin/commit-graph.c:16
+msgid "git commit-graph read [--object-dir <objdir>]"
+msgstr "git commit-graph read [--object-dir <对象目录>]"
+
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:21
+msgid ""
+"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
+"stdin-commits]"
+msgstr ""
+"git commit-graph write [--object-dir <对象目录>] [--append] [--stdin-packs|--"
+"stdin-commits]"
+
+#: builtin/commit-graph.c:39 builtin/commit-graph.c:92
+#: builtin/commit-graph.c:147 builtin/fetch.c:161 builtin/log.c:1466
+msgid "dir"
+msgstr "目录"
+
+#: builtin/commit-graph.c:40 builtin/commit-graph.c:93
+#: builtin/commit-graph.c:148
+msgid "The object directory to store the graph"
+msgstr "保存图形的对象目录"
+
+#: builtin/commit-graph.c:95
+msgid "scan pack-indexes listed by stdin for commits"
+msgstr "从标准输入中的包索引文件列表中扫描提交"
+
+#: builtin/commit-graph.c:97
+msgid "start walk at commits listed by stdin"
+msgstr "从标准输入中的提交开始扫描"
+
+#: builtin/commit-graph.c:99
+msgid "include all commits already in the commit-graph file"
+msgstr "包含 commit-graph 文件中已有所有提交"
+
+#: builtin/commit-graph.c:108
+msgid "cannot use both --stdin-commits and --stdin-packs"
+msgstr "不能同时使用 --stdin-commits 和 --stdin-packs 选项"
+
 #: builtin/config.c:10
 msgid "git config [<options>]"
 msgstr "git config [<选项>]"
 
-#: builtin/config.c:58
+#: builtin/config.c:101
+#, c-format
+msgid "unrecognized --type argument, %s"
+msgstr "未能识别的 --type 参数,%s"
+
+#: builtin/config.c:123
 msgid "Config file location"
 msgstr "配置文件位置"
 
-#: builtin/config.c:59
+#: builtin/config.c:124
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
-#: builtin/config.c:60
+#: builtin/config.c:125
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
-#: builtin/config.c:61
+#: builtin/config.c:126
 msgid "use repository config file"
 msgstr "使用仓库级配置文件"
 
-#: builtin/config.c:62
+#: builtin/config.c:127
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
-#: builtin/config.c:63
+#: builtin/config.c:128
 msgid "blob-id"
 msgstr "数据对象 ID"
 
-#: builtin/config.c:63
+#: builtin/config.c:128
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
-#: builtin/config.c:64
+#: builtin/config.c:129
 msgid "Action"
 msgstr "操作"
 
-#: builtin/config.c:65
+#: builtin/config.c:130
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
-#: builtin/config.c:66
+#: builtin/config.c:131
 msgid "get all values: key [value-regex]"
 msgstr "获得所有的值:key [value-regex]"
 
-#: builtin/config.c:67
+#: builtin/config.c:132
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "根据正则表达式获得值:name-regex [value-regex]"
 
-#: builtin/config.c:68
+#: builtin/config.c:133
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "获得 URL 取值:section[.var] URL"
 
-#: builtin/config.c:69
+#: builtin/config.c:134
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "替换所有匹配的变量:name value [value_regex]"
 
-#: builtin/config.c:70
+#: builtin/config.c:135
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
-#: builtin/config.c:71
+#: builtin/config.c:136
 msgid "remove a variable: name [value-regex]"
 msgstr "删除一个变量:name [value-regex]"
 
-#: builtin/config.c:72
+#: builtin/config.c:137
 msgid "remove all matches: name [value-regex]"
 msgstr "删除所有匹配项:name [value-regex]"
 
-#: builtin/config.c:73
+#: builtin/config.c:138
 msgid "rename section: old-name new-name"
 msgstr "重命名小节:old-name new-name"
 
-#: builtin/config.c:74
+#: builtin/config.c:139
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
-#: builtin/config.c:75
+#: builtin/config.c:140
 msgid "list all"
 msgstr "列出所有"
 
-#: builtin/config.c:76
+#: builtin/config.c:141
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
-#: builtin/config.c:77
+#: builtin/config.c:142
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
-#: builtin/config.c:78
+#: builtin/config.c:143
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "获得颜色设置:配置 [stdout-is-tty]"
 
-#: builtin/config.c:79
+#: builtin/config.c:144
 msgid "Type"
 msgstr "类型"
 
-#: builtin/config.c:80
+#: builtin/config.c:145
+msgid "value is given this type"
+msgstr "取值为该类型"
+
+#: builtin/config.c:146
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
-#: builtin/config.c:81
+#: builtin/config.c:147
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
-#: builtin/config.c:82
+#: builtin/config.c:148
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
-#: builtin/config.c:83
+#: builtin/config.c:149
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
-#: builtin/config.c:84
+#: builtin/config.c:150
 msgid "value is an expiry date"
 msgstr "值是一个到期日期"
 
-#: builtin/config.c:85
+#: builtin/config.c:151
 msgid "Other"
 msgstr "其它"
 
-#: builtin/config.c:86
+#: builtin/config.c:152
 msgid "terminate values with NUL byte"
 msgstr "终止值是 NUL 字节"
 
-#: builtin/config.c:87
+#: builtin/config.c:153
 msgid "show variable names only"
 msgstr "只显示变量名"
 
-#: builtin/config.c:88
+#: builtin/config.c:154
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/config.c:89
+#: builtin/config.c:155
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)"
 
-#: builtin/config.c:335
+#: builtin/config.c:156
+msgid "value"
+msgstr "取值"
+
+#: builtin/config.c:156
+msgid "with --get, use default value when missing entry"
+msgstr "使用 --get 参数,当缺少设置时使用默认值"
+
+#: builtin/config.c:332
+#, c-format
+msgid "failed to format default config value: %s"
+msgstr "无法格式化默认配置取值:%s"
+
+#: builtin/config.c:431
 msgid "unable to parse default color value"
 msgstr "不能解析默认颜色值"
 
-#: builtin/config.c:479
+#: builtin/config.c:575
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -8001,16 +8451,20 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:507
+#: builtin/config.c:603
 msgid "--local can only be used inside a git repository"
 msgstr "--local 只能在一个仓库内使用"
 
-#: builtin/config.c:632
+#: builtin/config.c:606
+msgid "--blob can only be used inside a git repository"
+msgstr "--blob 只能在一个仓库内使用"
+
+#: builtin/config.c:735
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/config.c:645
+#: builtin/config.c:748
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -8019,11 +8473,11 @@ msgstr ""
 "无法用一个值覆盖多个值\n"
 "       使用一个正则表达式、--add 或 --replace-all 来修改 %s。"
 
-#: builtin/count-objects.c:88
+#: builtin/count-objects.c:90
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:98
+#: builtin/count-objects.c:100
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
@@ -8287,278 +8741,284 @@ msgstr "执行一个全目录差异比较"
 msgid "do not prompt before launching a diff tool"
 msgstr "启动差异比较工具之前不提示"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:704
 msgid "use symlinks in dir-diff mode"
 msgstr "在 dir-diff 模式中使用符号链接"
 
-#: builtin/difftool.c:706
+#: builtin/difftool.c:705
 msgid "<tool>"
 msgstr "<工具>"
 
-#: builtin/difftool.c:707
+#: builtin/difftool.c:706
 msgid "use the specified diff tool"
 msgstr "使用指定的差异比较工具"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:708
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "显示可以用在 `--tool` 参数后的差异工具列表"
 
-#: builtin/difftool.c:712
+#: builtin/difftool.c:711
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
 msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出"
 
-#: builtin/difftool.c:714
+#: builtin/difftool.c:713
 msgid "<command>"
 msgstr "<命令>"
 
-#: builtin/difftool.c:715
+#: builtin/difftool.c:714
 msgid "specify a custom command for viewing diffs"
 msgstr "指定一个用于查看差异的自定义命令"
 
-#: builtin/difftool.c:739
+#: builtin/difftool.c:738
 msgid "no <tool> given for --tool=<tool>"
 msgstr "没有为 --tool=<工具> 参数提供 <工具>"
 
-#: builtin/difftool.c:746
+#: builtin/difftool.c:745
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "没有为 --extcmd=<命令> 参数提供 <命令>"
 
-#: builtin/fast-export.c:26
+#: builtin/fast-export.c:27
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:998
+#: builtin/fast-export.c:1000
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
-#: builtin/fast-export.c:1000
+#: builtin/fast-export.c:1002
 msgid "select handling of signed tags"
 msgstr "选择如何处理签名标签"
 
-#: builtin/fast-export.c:1003
+#: builtin/fast-export.c:1005
 msgid "select handling of tags that tag filtered objects"
 msgstr "选择当标签指向被过滤对象时该标签的处理方式"
 
-#: builtin/fast-export.c:1006
+#: builtin/fast-export.c:1008
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
-#: builtin/fast-export.c:1008
+#: builtin/fast-export.c:1010
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
-#: builtin/fast-export.c:1010
+#: builtin/fast-export.c:1012
 msgid "Fake a tagger when tags lack one"
 msgstr "当标签缺少标记者字段时,假装提供一个"
 
-#: builtin/fast-export.c:1012
+#: builtin/fast-export.c:1014
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
-#: builtin/fast-export.c:1014
+#: builtin/fast-export.c:1016
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
-#: builtin/fast-export.c:1015
+#: builtin/fast-export.c:1017
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:1016
+#: builtin/fast-export.c:1018
 msgid "refspec"
 msgstr "引用规格"
 
-#: builtin/fast-export.c:1017
+#: builtin/fast-export.c:1019
 msgid "Apply refspec to exported refs"
 msgstr "对导出的引用应用引用规格"
 
-#: builtin/fast-export.c:1018
+#: builtin/fast-export.c:1020
 msgid "anonymize output"
 msgstr "匿名输出"
 
-#: builtin/fetch.c:25
+#: builtin/fetch.c:26
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/fetch.c:26
+#: builtin/fetch.c:27
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
-#: builtin/fetch.c:27
+#: builtin/fetch.c:28
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:29
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:124 builtin/pull.c:188
+#: builtin/fetch.c:123 builtin/pull.c:193
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:126 builtin/pull.c:191
+#: builtin/fetch.c:125 builtin/pull.c:196
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:128 builtin/pull.c:194
+#: builtin/fetch.c:127 builtin/pull.c:199
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:129 builtin/pull.c:196
+#: builtin/fetch.c:128 builtin/pull.c:201
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/fetch.c:131
+#: builtin/fetch.c:130
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:133 builtin/pull.c:198
+#: builtin/fetch.c:132 builtin/pull.c:203
 msgid "fetch all tags and associated objects"
 msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:135
+#: builtin/fetch.c:134
 msgid "do not fetch all tags (--no-tags)"
 msgstr "不抓取任何标签(--no-tags)"
 
-#: builtin/fetch.c:137
+#: builtin/fetch.c:136
 msgid "number of submodules fetched in parallel"
 msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:139 builtin/pull.c:201
+#: builtin/fetch.c:138 builtin/pull.c:206
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
-#: builtin/fetch.c:141
+#: builtin/fetch.c:140
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "清除远程不存在的本地标签,并且替换变更标签"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:142 builtin/fetch.c:165 builtin/pull.c:126
+#: builtin/fetch.c:141 builtin/fetch.c:164 builtin/pull.c:131
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:143
+#: builtin/fetch.c:142
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:147 builtin/pull.c:209
+#: builtin/fetch.c:146 builtin/pull.c:214
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:149
+#: builtin/fetch.c:148
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:152 builtin/fetch.c:158 builtin/pull.c:212
+#: builtin/fetch.c:151 builtin/fetch.c:157 builtin/pull.c:217
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:153
 msgid "deepen history of shallow repository based on time"
 msgstr "基于时间来深化浅克隆的历史"
 
-#: builtin/fetch.c:160 builtin/pull.c:215
+#: builtin/fetch.c:159 builtin/pull.c:220
 msgid "convert to a complete repository"
 msgstr "转换为一个完整的仓库"
 
-#: builtin/fetch.c:162 builtin/log.c:1466
-msgid "dir"
-msgstr "目录"
-
-#: builtin/fetch.c:163
+#: builtin/fetch.c:162
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:166
+#: builtin/fetch.c:165
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
 msgstr "递归获取子模组的缺省值(比配置文件优先级低)"
 
-#: builtin/fetch.c:170 builtin/pull.c:218
+#: builtin/fetch.c:169 builtin/pull.c:223
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:171 builtin/pull.c:220
+#: builtin/fetch.c:170 builtin/pull.c:225
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:172 builtin/pull.c:221
+#: builtin/fetch.c:171 builtin/pull.c:226
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:431
+#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/send-pack.c:172
+msgid "server-specific"
+msgstr "server-specific"
+
+#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/send-pack.c:173
+msgid "option to transmit"
+msgstr "传输选项"
+
+#: builtin/fetch.c:442
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:549
+#: builtin/fetch.c:560
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "配置变量 fetch.output 包含无效值 %s"
 
-#: builtin/fetch.c:642
+#: builtin/fetch.c:653
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:646
+#: builtin/fetch.c:657
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:659 builtin/fetch.c:739
+#: builtin/fetch.c:670 builtin/fetch.c:750
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:660
+#: builtin/fetch.c:671
 msgid "can't fetch in current branch"
 msgstr "当前分支下不能执行获取操作"
 
-#: builtin/fetch.c:669
+#: builtin/fetch.c:680
 msgid "[tag update]"
 msgstr "[标签更新]"
 
-#: builtin/fetch.c:670 builtin/fetch.c:703 builtin/fetch.c:719
-#: builtin/fetch.c:734
+#: builtin/fetch.c:681 builtin/fetch.c:714 builtin/fetch.c:730
+#: builtin/fetch.c:745
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:689
+#: builtin/fetch.c:700
 msgid "[new tag]"
 msgstr "[新标签]"
 
-#: builtin/fetch.c:692
+#: builtin/fetch.c:703
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:695
+#: builtin/fetch.c:706
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:734
+#: builtin/fetch.c:745
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:739
+#: builtin/fetch.c:750
 msgid "non-fast-forward"
 msgstr "非快进"
 
-#: builtin/fetch.c:784
+#: builtin/fetch.c:795
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:804
+#: builtin/fetch.c:815
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:892 builtin/fetch.c:988
+#: builtin/fetch.c:903 builtin/fetch.c:999
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:903
+#: builtin/fetch.c:914
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -8568,95 +9028,95 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:958
+#: builtin/fetch.c:969
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:959
+#: builtin/fetch.c:970
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:991
+#: builtin/fetch.c:1002
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:992 builtin/remote.c:1024
+#: builtin/fetch.c:1003 builtin/remote.c:1033
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:1015
+#: builtin/fetch.c:1026
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "拒绝获取到非纯仓库的当前分支 %s"
 
-#: builtin/fetch.c:1034
+#: builtin/fetch.c:1045
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:1037
+#: builtin/fetch.c:1048
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:1277
+#: builtin/fetch.c:1287
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1279 builtin/remote.c:97
+#: builtin/fetch.c:1289 builtin/remote.c:98
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1325 builtin/fetch.c:1498
+#: builtin/fetch.c:1335 builtin/fetch.c:1503
 msgid ""
 "--filter can only be used with the remote configured in core.partialClone"
 msgstr "只可以将 --filter 用于在 core.partialClone 中配置的远程仓库"
 
-#: builtin/fetch.c:1350
+#: builtin/fetch.c:1358
 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:1394
+#: builtin/fetch.c:1395
 msgid "You need to specify a tag name."
 msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1439
+#: builtin/fetch.c:1444
 msgid "Negative depth in --deepen is not supported"
 msgstr "--deepen 不支持负数深度"
 
-#: builtin/fetch.c:1441
+#: builtin/fetch.c:1446
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen 和 --depth 是互斥的"
 
-#: builtin/fetch.c:1446
+#: builtin/fetch.c:1451
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1448
+#: builtin/fetch.c:1453
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "对于一个完整的仓库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1464
+#: builtin/fetch.c:1469
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all 不能带一个仓库参数"
 
-#: builtin/fetch.c:1466
+#: builtin/fetch.c:1471
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all 带引用规格没有任何意义"
 
-#: builtin/fetch.c:1475
+#: builtin/fetch.c:1480
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1482
+#: builtin/fetch.c:1487
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "获取组并指定引用规格没有意义"
 
@@ -8721,7 +9181,7 @@ msgstr "引用占位符适用于 Tcl"
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:39 builtin/tag.c:420
+#: builtin/for-each-ref.c:39 builtin/tag.c:421
 msgid "respect format colors"
 msgstr "遵照格式中的颜色输出"
 
@@ -8745,81 +9205,81 @@ msgstr "只打印包含该提交的引用"
 msgid "print only refs which don't contain the commit"
 msgstr "只打印不包含该提交的引用"
 
-#: builtin/fsck.c:568
+#: builtin/fsck.c:569
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:660
+#: builtin/fsck.c:661
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:666
+#: builtin/fsck.c:667
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:668
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:668
+#: builtin/fsck.c:669
 msgid "report tags"
 msgstr "报告标签"
 
-#: builtin/fsck.c:669
+#: builtin/fsck.c:670
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:670
+#: builtin/fsck.c:671
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:671
+#: builtin/fsck.c:672
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:673
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:674
 msgid "check only connectivity"
 msgstr "仅检查连通性"
 
-#: builtin/fsck.c:674
+#: builtin/fsck.c:675
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:676
+#: builtin/fsck.c:677
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:677 builtin/prune.c:108
+#: builtin/fsck.c:678 builtin/prune.c:109
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:678
+#: builtin/fsck.c:679
 msgid "show verbose names for reachable objects"
 msgstr "显示可达对象的详细名称"
 
-#: builtin/fsck.c:742
+#: builtin/fsck.c:745
 msgid "Checking objects"
 msgstr "检查对象中"
 
-#: builtin/gc.c:27
+#: builtin/gc.c:33
 msgid "git gc [<options>]"
 msgstr "git gc [<选项>]"
 
-#: builtin/gc.c:80
+#: builtin/gc.c:88
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "对 %s 调用 fstat 失败:%s"
 
-#: builtin/gc.c:312
+#: builtin/gc.c:452
 #, c-format
 msgid "Can't stat %s"
 msgstr "不能对 %s 调用 stat"
 
-#: builtin/gc.c:321
+#: builtin/gc.c:461
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -8833,64 +9293,73 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:360
+#: builtin/gc.c:502
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:362
+#: builtin/gc.c:504
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:363
+#: builtin/gc.c:505
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:366
+#: builtin/gc.c:508
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:384
+#: builtin/gc.c:511
+msgid "repack all other packs except the largest pack"
+msgstr "除了最大的包之外,对所有其它包文件重新打包"
+
+#: builtin/gc.c:528
+#, c-format
+msgid "failed to parse gc.logexpiry value %s"
+msgstr "无法解析 gc.logexpiry 的值 %s"
+
+#: builtin/gc.c:539
 #, c-format
-msgid "Failed to parse gc.logexpiry value %s"
+msgid "failed to parse prune expiry value %s"
 msgstr "无法解析 gc.logexpiry 的值 %s"
 
-#: builtin/gc.c:412
+#: builtin/gc.c:559
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr "自动在后台执行仓库打包以求最佳性能。\n"
 
-#: builtin/gc.c:414
+#: builtin/gc.c:561
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "自动打包仓库以求最佳性能。\n"
 
-#: builtin/gc.c:415
+#: builtin/gc.c:562
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:440
+#: builtin/gc.c:598
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
 msgstr ""
 "已经有一个 gc 正运行在机器 '%s' pid %<PRIuMAX>(如果不是,使用 --force)"
 
-#: builtin/gc.c:487
+#: builtin/gc.c:645
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
 
-#: builtin/grep.c:27
+#: builtin/grep.c:28
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:225
+#: builtin/grep.c:226
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
-#: builtin/grep.c:283
+#: builtin/grep.c:284
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
@@ -8899,17 +9368,17 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:292 builtin/index-pack.c:1523 builtin/index-pack.c:1712
+#: builtin/grep.c:293 builtin/index-pack.c:1535 builtin/index-pack.c:1727
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/grep.c:460 builtin/grep.c:580 builtin/grep.c:622
+#: builtin/grep.c:461 builtin/grep.c:582 builtin/grep.c:623
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:637
+#: builtin/grep.c:638
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
@@ -9109,7 +9578,7 @@ msgstr "--no-index 或 --untracked 不能和版本同时使用"
 msgid "unable to resolve revision: %s"
 msgstr "不能解析版本:%s"
 
-#: builtin/grep.c:1036 builtin/index-pack.c:1519
+#: builtin/grep.c:1036 builtin/index-pack.c:1531
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "指定的线程数无效(%d)"
@@ -9179,58 +9648,62 @@ msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
-#: builtin/help.c:43
+#: builtin/help.c:45
 msgid "print all available commands"
 msgstr "打印所有可用的命令"
 
-#: builtin/help.c:44
+#: builtin/help.c:46
 msgid "exclude guides"
 msgstr "排除向导"
 
-#: builtin/help.c:45
+#: builtin/help.c:47
 msgid "print list of useful guides"
 msgstr "显示有用的指南列表"
 
-#: builtin/help.c:46
+#: builtin/help.c:48
 msgid "show man page"
 msgstr "显示 man 手册"
 
-#: builtin/help.c:47
+#: builtin/help.c:49
 msgid "show manual in web browser"
 msgstr "在 web 浏览器中显示手册"
 
-#: builtin/help.c:49
+#: builtin/help.c:51
 msgid "show info page"
 msgstr "显示 info 手册"
 
-#: builtin/help.c:55
+#: builtin/help.c:53
+msgid "print command description"
+msgstr "打印命令描述"
+
+#: builtin/help.c:58
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<命令>]"
 
-#: builtin/help.c:67
+#: builtin/help.c:70
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "未能识别的帮助格式 '%s'"
 
-#: builtin/help.c:94
+#: builtin/help.c:97
 msgid "Failed to start emacsclient."
 msgstr "无法启动 emacsclient。"
 
-#: builtin/help.c:107
+#: builtin/help.c:110
 msgid "Failed to parse emacsclient version."
 msgstr "无法解析 emacsclient 版本。"
 
-#: builtin/help.c:115
+#: builtin/help.c:118
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:133 builtin/help.c:155 builtin/help.c:165 builtin/help.c:173
+#: builtin/help.c:136 builtin/help.c:158 builtin/help.c:168 builtin/help.c:176
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "无法执行 '%s'"
 
-#: builtin/help.c:211
+#: builtin/help.c:214
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -9239,7 +9712,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:223
+#: builtin/help.c:226
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -9248,358 +9721,326 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:340
+#: builtin/help.c:343
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:357
+#: builtin/help.c:360
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:365
+#: builtin/help.c:368
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:407
-msgid "Defining attributes per path"
-msgstr "定义路径的属性"
-
-#: builtin/help.c:408
-msgid "Everyday Git With 20 Commands Or So"
-msgstr "每一天 Git 常用的约 20 条命令"
+#: builtin/help.c:415
+#, c-format
+msgid "'%s' is aliased to '%s'"
+msgstr "'%s' 是 '%s' 的别名"
 
-#: builtin/help.c:409
-msgid "A Git glossary"
-msgstr "Git 词汇表"
+#: builtin/help.c:442 builtin/help.c:459
+#, c-format
+msgid "usage: %s%s"
+msgstr "用法:%s%s"
 
-#: builtin/help.c:410
-msgid "Specifies intentionally untracked files to ignore"
-msgstr "忽略指定的未跟踪文件"
+#: builtin/index-pack.c:158
+#, c-format
+msgid "unable to open %s"
+msgstr "不能打开 %s"
 
-#: builtin/help.c:411
-msgid "Defining submodule properties"
-msgstr "定义子模组属性"
-
-#: builtin/help.c:412
-msgid "Specifying revisions and ranges for Git"
-msgstr "指定 Git 的版本和版本范围"
-
-#: builtin/help.c:413
-msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
-msgstr "一个 Git 教程(针对 1.5.1 或更新版本)"
-
-#: builtin/help.c:414
-msgid "An overview of recommended workflows with Git"
-msgstr "Git 推荐的工作流概览"
-
-#: builtin/help.c:426
-msgid "The common Git guides are:\n"
-msgstr "最常用的 Git 向导有:\n"
-
-#: builtin/help.c:444
-#, c-format
-msgid "'%s' is aliased to '%s'"
-msgstr "'%s' 是 '%s' 的别名"
-
-#: builtin/help.c:466 builtin/help.c:483
-#, c-format
-msgid "usage: %s%s"
-msgstr "用法:%s%s"
-
-#: builtin/index-pack.c:157
-#, c-format
-msgid "unable to open %s"
-msgstr "不能打开 %s"
-
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:227
+#: builtin/index-pack.c:228
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取预期的对象 %s"
 
-#: builtin/index-pack.c:230
+#: builtin/index-pack.c:231
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:应为类型 %s,却是 %s"
 
-#: builtin/index-pack.c:272
+#: builtin/index-pack.c:273
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:282
+#: builtin/index-pack.c:283
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:283
+#: builtin/index-pack.c:284
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:295
+#: builtin/index-pack.c:296
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:302
+#: builtin/index-pack.c:303
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:305 builtin/unpack-objects.c:93
+#: builtin/index-pack.c:306 builtin/unpack-objects.c:93
 msgid "pack exceeds maximum allowed size"
 msgstr "包超过了最大允许值"
 
-#: builtin/index-pack.c:320
+#: builtin/index-pack.c:321
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:326
+#: builtin/index-pack.c:327
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:340
+#: builtin/index-pack.c:341
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:342
+#: builtin/index-pack.c:343
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:360
+#: builtin/index-pack.c:361
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "包中有错误的对象位于偏移量 %<PRIuMAX>:%s"
 
-#: builtin/index-pack.c:481
+#: builtin/index-pack.c:482
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:530
+#: builtin/index-pack.c:531
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:538
+#: builtin/index-pack.c:539
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:546
+#: builtin/index-pack.c:547
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:577
+#: builtin/index-pack.c:578
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:579
+#: builtin/index-pack.c:580
 #, 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:605
+#: builtin/index-pack.c:606
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:750 builtin/index-pack.c:756 builtin/index-pack.c:779
-#: builtin/index-pack.c:818 builtin/index-pack.c:827
+#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:780
+#: builtin/index-pack.c:819 builtin/index-pack.c:828
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:753 builtin/pack-objects.c:182
-#: builtin/pack-objects.c:276
+#: builtin/index-pack.c:754 builtin/pack-objects.c:198
+#: builtin/pack-objects.c:292
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:816
+#: builtin/index-pack.c:817
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "不能读取现存对象信息 %s"
 
-#: builtin/index-pack.c:824
+#: builtin/index-pack.c:825
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:838
+#: builtin/index-pack.c:839
 #, c-format
 msgid "invalid blob object %s"
 msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:853
+#: builtin/index-pack.c:842 builtin/index-pack.c:860
+msgid "fsck error in packed object"
+msgstr "对打包对象 fsck 检查出错"
+
+#: builtin/index-pack.c:857
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
 
-#: builtin/index-pack.c:856
-msgid "Error in object"
-msgstr "对象中出错"
-
-#: builtin/index-pack.c:858
+#: builtin/index-pack.c:862
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "%s 的所有子对象并非都可达"
 
-#: builtin/index-pack.c:930 builtin/index-pack.c:961
+#: builtin/index-pack.c:934 builtin/index-pack.c:965
 msgid "failed to apply delta"
 msgstr "无法应用 delta"
 
-#: builtin/index-pack.c:1131
+#: builtin/index-pack.c:1135
 msgid "Receiving objects"
 msgstr "接收对象中"
 
-#: builtin/index-pack.c:1131
+#: builtin/index-pack.c:1135
 msgid "Indexing objects"
 msgstr "索引对象中"
 
-#: builtin/index-pack.c:1165
+#: builtin/index-pack.c:1169
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "包冲突(SHA1 不匹配)"
 
-#: builtin/index-pack.c:1170
+#: builtin/index-pack.c:1174
 msgid "cannot fstat packfile"
 msgstr "不能对包文件调用 fstat"
 
-#: builtin/index-pack.c:1173
+#: builtin/index-pack.c:1177
 msgid "pack has junk at the end"
 msgstr "包的结尾有垃圾数据"
 
-#: builtin/index-pack.c:1185
+#: builtin/index-pack.c:1189
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "parse_pack_objects() 中遇到不可理喻的问题"
 
-#: builtin/index-pack.c:1208
+#: builtin/index-pack.c:1212
 msgid "Resolving deltas"
 msgstr "处理 delta 中"
 
-#: builtin/index-pack.c:1219
+#: builtin/index-pack.c:1223
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "不能创建线程:%s"
 
-#: builtin/index-pack.c:1261
+#: builtin/index-pack.c:1265
 msgid "confusion beyond insanity"
 msgstr "不可理喻"
 
-#: builtin/index-pack.c:1267
+#: builtin/index-pack.c:1271
 #, 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:1279
+#: builtin/index-pack.c:1283
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)"
 
-#: builtin/index-pack.c:1283
+#: builtin/index-pack.c:1287
 #, 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:1307
+#: builtin/index-pack.c:1311
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "不能压缩附加对象(%d)"
 
-#: builtin/index-pack.c:1383
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "本地对象 %s 已损坏"
 
-#: builtin/index-pack.c:1397
+#: builtin/index-pack.c:1402
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1422
+#: builtin/index-pack.c:1427
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "无法写入 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1430
+#: builtin/index-pack.c:1435
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "无法关闭已写入的 %s 文件 '%s'"
 
-#: builtin/index-pack.c:1454
+#: builtin/index-pack.c:1459
 msgid "error while closing pack file"
 msgstr "关闭包文件时出错"
 
-#: builtin/index-pack.c:1468
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr "无法存储包文件"
 
-#: builtin/index-pack.c:1476
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr "无法存储索引文件"
 
-#: builtin/index-pack.c:1513
+#: builtin/index-pack.c:1525
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1581
+#: builtin/index-pack.c:1594
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1583
+#: builtin/index-pack.c:1596
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1631
+#: builtin/index-pack.c:1644
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "非 delta:%d 个对象"
 msgstr[1] "非 delta:%d 个对象"
 
-#: builtin/index-pack.c:1638
+#: builtin/index-pack.c:1651
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "链长 = %d: %lu 对象"
 msgstr[1] "链长 = %d: %lu 对象"
 
-#: builtin/index-pack.c:1675
+#: builtin/index-pack.c:1688
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1724 builtin/index-pack.c:1727
-#: builtin/index-pack.c:1743 builtin/index-pack.c:1747
+#: builtin/index-pack.c:1739 builtin/index-pack.c:1742
+#: builtin/index-pack.c:1758 builtin/index-pack.c:1762
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1763
+#: builtin/index-pack.c:1778
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1765
+#: builtin/index-pack.c:1780
 msgid "--stdin requires a git repository"
 msgstr "--stdin 需要一个 git 仓库"
 
-#: builtin/index-pack.c:1771
+#: builtin/index-pack.c:1786
 msgid "--verify with no packfile name given"
 msgstr "--verify 没有提供包文件名参数"
 
+#: builtin/index-pack.c:1836 builtin/unpack-objects.c:578
+msgid "fsck error in pack objects"
+msgstr "在打包对象中 fsck 检查出错"
+
 #: builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
@@ -9637,8 +10078,8 @@ msgstr "忽略模版 %s"
 
 #: builtin/init-db.c:120
 #, c-format
-msgid "templates not found %s"
-msgstr "模ç\89\88æ\9cªæ\89¾å\88° %s"
+msgid "templates not found in %s"
+msgstr "没æ\9c\89å\9c¨ %s ä¸­æ\89¾å\88°æ¨¡ç\89\88"
 
 #: builtin/init-db.c:135
 #, c-format
@@ -9696,11 +10137,6 @@ msgstr "权限"
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "指定 git 仓库是多个用户之间共享的"
 
-#: builtin/init-db.c:516 builtin/init-db.c:521
-#, c-format
-msgid "cannot mkdir %s"
-msgstr "不能创建目录 %s"
-
 #: builtin/init-db.c:525
 #, c-format
 msgid "cannot chdir to %s"
@@ -9882,7 +10318,7 @@ msgstr "两个输出目录?"
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/log.c:1289 builtin/notes.c:887 builtin/tag.c:522
+#: builtin/log.c:1289 builtin/notes.c:887 builtin/tag.c:523
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
@@ -10230,7 +10666,7 @@ msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 msgid "show debugging data"
 msgstr "显示调试数据"
 
-#: builtin/ls-remote.c:7
+#: builtin/ls-remote.c:9
 msgid ""
 "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
@@ -10240,39 +10676,39 @@ msgstr ""
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
 "                     [--symref] [<仓库> [<引用>...]]"
 
-#: builtin/ls-remote.c:52
+#: builtin/ls-remote.c:59
 msgid "do not print remote URL"
 msgstr "不打印远程 URL"
 
-#: builtin/ls-remote.c:53 builtin/ls-remote.c:55
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62
 msgid "exec"
 msgstr "exec"
 
-#: builtin/ls-remote.c:54 builtin/ls-remote.c:56
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63
 msgid "path of git-upload-pack on the remote host"
 msgstr "远程主机上的 git-upload-pack 路径"
 
-#: builtin/ls-remote.c:58
+#: builtin/ls-remote.c:65
 msgid "limit to tags"
 msgstr "仅限于标签"
 
-#: builtin/ls-remote.c:59
+#: builtin/ls-remote.c:66
 msgid "limit to heads"
 msgstr "仅限于分支"
 
-#: builtin/ls-remote.c:60
+#: builtin/ls-remote.c:67
 msgid "do not show peeled tags"
 msgstr "不显示已解析的标签"
 
-#: builtin/ls-remote.c:62
+#: builtin/ls-remote.c:69
 msgid "take url.<base>.insteadOf into account"
 msgstr "参考 url.<base>.insteadOf 设置"
 
-#: builtin/ls-remote.c:64
+#: builtin/ls-remote.c:73
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr "若未找到匹配的引用则以退出码2退出"
 
-#: builtin/ls-remote.c:67
+#: builtin/ls-remote.c:76
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "除了显示指向的对象外,显示指向的引用名"
 
@@ -10317,166 +10753,166 @@ msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 msgid "empty mbox: '%s'"
 msgstr "空的 mbox:'%s'"
 
-#: builtin/merge.c:49
+#: builtin/merge.c:51
 msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<选项>] [<提交>...]"
 
-#: builtin/merge.c:50
+#: builtin/merge.c:52
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:51
+#: builtin/merge.c:53
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:108
+#: builtin/merge.c:110
 msgid "switch `m' requires a value"
 msgstr "开关 `m' 需要一个值"
 
-#: builtin/merge.c:145
+#: builtin/merge.c:147
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "不能找到合并策略 '%s'。\n"
 
-#: builtin/merge.c:146
+#: builtin/merge.c:148
 #, c-format
 msgid "Available strategies are:"
 msgstr "可用的策略有:"
 
-#: builtin/merge.c:151
+#: builtin/merge.c:153
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:201 builtin/pull.c:137
+#: builtin/merge.c:203 builtin/pull.c:142
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:204 builtin/pull.c:140
+#: builtin/merge.c:206 builtin/pull.c:145
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:205 builtin/pull.c:143
+#: builtin/merge.c:207 builtin/pull.c:148
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:207 builtin/pull.c:146
+#: builtin/merge.c:209 builtin/pull.c:151
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:210 builtin/pull.c:152
+#: builtin/merge.c:212 builtin/pull.c:157
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:212 builtin/pull.c:155
+#: builtin/merge.c:214 builtin/pull.c:160
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:214 builtin/pull.c:158
+#: builtin/merge.c:216 builtin/pull.c:163
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
-#: builtin/merge.c:215
+#: builtin/merge.c:217
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:217 builtin/pull.c:164
+#: builtin/merge.c:219 builtin/pull.c:169
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
-#: builtin/merge.c:221 builtin/pull.c:167
+#: builtin/merge.c:223 builtin/pull.c:172
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:222 builtin/notes.c:777 builtin/pull.c:171
+#: builtin/merge.c:224 builtin/notes.c:777 builtin/pull.c:176
 #: builtin/revert.c:109
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:223 builtin/pull.c:172
+#: builtin/merge.c:225 builtin/pull.c:177
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:224 builtin/pull.c:175
+#: builtin/merge.c:226 builtin/pull.c:180
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:225 builtin/pull.c:176
+#: builtin/merge.c:227 builtin/pull.c:181
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
-#: builtin/merge.c:227
+#: builtin/merge.c:229
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr "合并的提交说明(针对非快进式合并)"
 
-#: builtin/merge.c:231
+#: builtin/merge.c:233
 msgid "abort the current in-progress merge"
 msgstr "放弃当前正在进行的合并"
 
-#: builtin/merge.c:233
+#: builtin/merge.c:235
 msgid "continue the current in-progress merge"
 msgstr "继续当前正在进行的合并"
 
-#: builtin/merge.c:235 builtin/pull.c:183
+#: builtin/merge.c:237 builtin/pull.c:188
 msgid "allow merging unrelated histories"
 msgstr "允许合并不相关的历史"
 
-#: builtin/merge.c:241
+#: builtin/merge.c:243
 msgid "verify commit-msg hook"
 msgstr "校验 commit-msg 钩子"
 
-#: builtin/merge.c:266
+#: builtin/merge.c:268
 msgid "could not run stash."
 msgstr "不能运行贮藏。"
 
-#: builtin/merge.c:271
+#: builtin/merge.c:273
 msgid "stash failed"
 msgstr "贮藏失败"
 
-#: builtin/merge.c:276
+#: builtin/merge.c:278
 #, c-format
 msgid "not a valid object: %s"
 msgstr "不是一个有效对象:%s"
 
-#: builtin/merge.c:298 builtin/merge.c:315
+#: builtin/merge.c:300 builtin/merge.c:317
 msgid "read-tree failed"
 msgstr "读取树失败"
 
 #  译者:注意保持前导空格
-#: builtin/merge.c:345
+#: builtin/merge.c:347
 msgid " (nothing to squash)"
 msgstr " (无可压缩)"
 
-#: builtin/merge.c:356
+#: builtin/merge.c:358
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:406
+#: builtin/merge.c:408
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:456
+#: builtin/merge.c:458
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:546
+#: builtin/merge.c:548
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:668
+#: builtin/merge.c:669
 msgid "Not handling anything other than two heads merge."
 msgstr "未处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:682
+#: builtin/merge.c:683
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:697
+#: builtin/merge.c:698
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
@@ -10509,64 +10945,64 @@ msgstr ""
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:820
+#: builtin/merge.c:819
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:873
+#: builtin/merge.c:872
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:912
+#: builtin/merge.c:911
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:914
+#: builtin/merge.c:913
 msgid "No remote for the current branch."
 msgstr "当前分支没有对应的远程仓库。"
 
-#: builtin/merge.c:916
+#: builtin/merge.c:915
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:921
+#: builtin/merge.c:920
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:974
+#: builtin/merge.c:973
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'"
 
-#: builtin/merge.c:1076
+#: builtin/merge.c:1075
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "不能在 %s 中合并:%s"
 
-#: builtin/merge.c:1110
+#: builtin/merge.c:1109
 msgid "not something we can merge"
 msgstr "不能合并"
 
-#: builtin/merge.c:1212
+#: builtin/merge.c:1211
 msgid "--abort expects no arguments"
 msgstr "--abort 不带参数"
 
-#: builtin/merge.c:1216
+#: builtin/merge.c:1215
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1228
+#: builtin/merge.c:1227
 msgid "--continue expects no arguments"
 msgstr "--continue 不带参数"
 
-#: builtin/merge.c:1232
+#: builtin/merge.c:1231
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "没有进行中的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1248
+#: builtin/merge.c:1247
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10574,7 +11010,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1255
+#: builtin/merge.c:1254
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -10582,112 +11018,112 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1258
+#: builtin/merge.c:1257
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1267
+#: builtin/merge.c:1266
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1275
+#: builtin/merge.c:1274
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1292
+#: builtin/merge.c:1291
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1294
+#: builtin/merge.c:1293
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1299
+#: builtin/merge.c:1298
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1301
+#: builtin/merge.c:1300
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1335
+#: builtin/merge.c:1334
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1338
+#: builtin/merge.c:1337
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1341
+#: builtin/merge.c:1340
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1344
+#: builtin/merge.c:1343
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1403
+#: builtin/merge.c:1402
 msgid "refusing to merge unrelated histories"
 msgstr "拒绝合并无关的历史"
 
-#: builtin/merge.c:1412
+#: builtin/merge.c:1411
 msgid "Already up to date."
 msgstr "已经是最新的。"
 
-#: builtin/merge.c:1422
+#: builtin/merge.c:1421
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1463
+#: builtin/merge.c:1462
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1470
+#: builtin/merge.c:1469
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: builtin/merge.c:1495
+#: builtin/merge.c:1494
 msgid "Already up to date. Yeeah!"
 msgstr "已经是最新的。耶!"
 
-#: builtin/merge.c:1501
+#: builtin/merge.c:1500
 msgid "Not possible to fast-forward, aborting."
 msgstr "无法快进,终止。"
 
-#: builtin/merge.c:1524 builtin/merge.c:1603
+#: builtin/merge.c:1523 builtin/merge.c:1602
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "将树回滚至原始状态...\n"
 
-#: builtin/merge.c:1528
+#: builtin/merge.c:1527
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "尝试合并策略 %s...\n"
 
-#: builtin/merge.c:1594
+#: builtin/merge.c:1593
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "没有合并策略处理此合并。\n"
 
-#: builtin/merge.c:1596
+#: builtin/merge.c:1595
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "使用策略 %s 合并失败。\n"
 
-#: builtin/merge.c:1605
+#: builtin/merge.c:1604
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "使用 %s 以准备手工解决。\n"
 
-#: builtin/merge.c:1617
+#: builtin/merge.c:1616
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr "自动合并进展顺利,按要求在提交前停止\n"
@@ -10823,25 +11259,25 @@ msgstr "允许创建一个以上的树"
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
 
-#: builtin/mv.c:83
+#: builtin/mv.c:82
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
-#: builtin/mv.c:85 builtin/rm.c:289
+#: builtin/mv.c:84 builtin/rm.c:288
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr "请将您的修改暂存到 .gitmodules 中或贮藏后再继续"
 
-#: builtin/mv.c:103
+#: builtin/mv.c:102
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s 在索引中"
 
-#: builtin/mv.c:125
+#: builtin/mv.c:124
 msgid "force move/rename even if target exists"
 msgstr "强制移动/重命令,即使目标存在"
 
-#: builtin/mv.c:127
+#: builtin/mv.c:126
 msgid "skip move/rename errors"
 msgstr "跳过移动/重命名错误"
 
@@ -10906,7 +11342,7 @@ msgstr "%s,源=%s,目标=%s"
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:276 builtin/remote.c:712 builtin/repack.c:394
+#: builtin/mv.c:276 builtin/remote.c:715 builtin/repack.c:409
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
@@ -11095,12 +11531,12 @@ msgstr "不能写注解对象"
 msgid "the note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:234 builtin/tag.c:506
+#: builtin/notes.c:234 builtin/tag.c:507
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:236 builtin/tag.c:509
+#: builtin/notes.c:236 builtin/tag.c:510
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
@@ -11125,7 +11561,7 @@ msgstr "不能从非数据对象 '%s' 中读取注解数据。"
 #: builtin/notes.c:302
 #, c-format
 msgid "malformed input line: '%s'."
-msgstr "非法的输入行:'%s'。"
+msgstr "格式错误的输入行:'%s'。"
 
 #: builtin/notes.c:317
 #, c-format
@@ -11338,7 +11774,7 @@ msgstr "尝试删除不存在的注解不是一个错误"
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:943 builtin/prune.c:106 builtin/worktree.c:160
+#: builtin/notes.c:943 builtin/prune.c:107 builtin/worktree.c:151
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
@@ -11359,208 +11795,236 @@ msgstr "从 <注解引用> 使用注解"
 msgid "unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
-#: builtin/pack-objects.c:33
+#: builtin/pack-objects.c:48
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:34
+#: builtin/pack-objects.c:49
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]"
 
-#: builtin/pack-objects.c:195 builtin/pack-objects.c:198
+#: builtin/pack-objects.c:211 builtin/pack-objects.c:214
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:791
+#: builtin/pack-objects.c:810
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个"
 
-#: builtin/pack-objects.c:804
+#: builtin/pack-objects.c:823
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1084
+#: builtin/pack-objects.c:1106
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2454
+#: builtin/pack-objects.c:1765
+msgid "Counting objects"
+msgstr "对象计数中"
+
+#: builtin/pack-objects.c:1895
+#, c-format
+msgid "unable to get size of %s"
+msgstr "不能得到 %s 的大小"
+
+#: builtin/pack-objects.c:1910
+#, c-format
+msgid "unable to parse object header of %s"
+msgstr "无法解析对象 %s 头信息"
+
+#: builtin/pack-objects.c:2564
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2625
+#: builtin/pack-objects.c:2735
 msgid "invalid value for --missing"
 msgstr "选项 --missing 的值无效"
 
-#: builtin/pack-objects.c:2928
+#: builtin/pack-objects.c:3067
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2932
+#: builtin/pack-objects.c:3071
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2962
+#: builtin/pack-objects.c:3102
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2964
+#: builtin/pack-objects.c:3104
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2966
+#: builtin/pack-objects.c:3106
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2969
+#: builtin/pack-objects.c:3109
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2970
+#: builtin/pack-objects.c:3110
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2971
+#: builtin/pack-objects.c:3111
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2974
+#: builtin/pack-objects.c:3114
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2976
+#: builtin/pack-objects.c:3116
 msgid "ignore borrowed objects from alternate object store"
 msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2978
+#: builtin/pack-objects.c:3118
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2980
+#: builtin/pack-objects.c:3120
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2982
+#: builtin/pack-objects.c:3122
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2984
+#: builtin/pack-objects.c:3124
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2986
+#: builtin/pack-objects.c:3126
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2988
+#: builtin/pack-objects.c:3128
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2990
+#: builtin/pack-objects.c:3130
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2992
+#: builtin/pack-objects.c:3132
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2994
+#: builtin/pack-objects.c:3134
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2996
+#: builtin/pack-objects.c:3136
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2998
+#: builtin/pack-objects.c:3138
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:3001
+#: builtin/pack-objects.c:3141
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:3004
+#: builtin/pack-objects.c:3144
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:3007
+#: builtin/pack-objects.c:3147
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:3010
+#: builtin/pack-objects.c:3150
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:3012
+#: builtin/pack-objects.c:3152
 msgid "include tag objects that refer to objects to be packed"
 msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:3014
+#: builtin/pack-objects.c:3154
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:3016
+#: builtin/pack-objects.c:3156
 msgid "pack loose unreachable objects"
 msgstr "打包松散的不可达对象"
 
-#: builtin/pack-objects.c:3018
+#: builtin/pack-objects.c:3158
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:3021
+#: builtin/pack-objects.c:3161
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:3023
+#: builtin/pack-objects.c:3163
 msgid "create packs suitable for shallow fetches"
 msgstr "创建适合浅克隆仓库获取的包"
 
-#: builtin/pack-objects.c:3025
+#: builtin/pack-objects.c:3165
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:3027
+#: builtin/pack-objects.c:3167
+msgid "ignore this pack"
+msgstr "忽略该 pack"
+
+#: builtin/pack-objects.c:3169
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:3029
+#: builtin/pack-objects.c:3171
 msgid "do not hide commits by grafts"
-msgstr "显示被嫁接隐藏的提交"
+msgstr "显示被移植隐藏的提交"
 
-#: builtin/pack-objects.c:3031
+#: builtin/pack-objects.c:3173
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:3033
+#: builtin/pack-objects.c:3175
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:3036
+#: builtin/pack-objects.c:3178
 msgid "handling for missing objects"
 msgstr "处理丢失的对象"
 
-#: builtin/pack-objects.c:3039
+#: builtin/pack-objects.c:3181
 msgid "do not pack objects in promisor packfiles"
 msgstr "不要打包 promisor 包文件中的对象"
 
-#: builtin/pack-objects.c:3178
-msgid "Counting objects"
-msgstr "对象计数中"
+#: builtin/pack-objects.c:3205
+#, c-format
+msgid "delta chain depth %d is too deep, forcing %d"
+msgstr "增量链深度 %d 太深了,强制为 %d"
+
+#: builtin/pack-objects.c:3210
+#, c-format
+msgid "pack.deltaCacheLimit is too high, forcing %d"
+msgstr "配置 pack.deltaCacheLimit 太高了,强制为 %d"
 
-#: builtin/pack-refs.c:6
+#: builtin/pack-objects.c:3338
+msgid "Enumerating objects"
+msgstr "枚举对象"
+
+#: builtin/pack-refs.c:7
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<选项>]"
 
-#: builtin/pack-refs.c:14
+#: builtin/pack-refs.c:15
 msgid "pack everything"
 msgstr "打包一切"
 
-#: builtin/pack-refs.c:15
+#: builtin/pack-refs.c:16
 msgid "prune loose refs (default)"
 msgstr "清除松散的引用(默认)"
 
@@ -11576,82 +12040,82 @@ msgstr "正在删除重复对象"
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <时间>] [--] [<head>...]"
 
-#: builtin/prune.c:107
+#: builtin/prune.c:108
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:110
+#: builtin/prune.c:111
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
-#: builtin/prune.c:112
+#: builtin/prune.c:113
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "限制遍历 promisor 包以外的对象"
 
-#: builtin/prune.c:126
+#: builtin/prune.c:127
 msgid "cannot prune in a precious-objects repo"
 msgstr "不能在珍品仓库中执行清理操作"
 
-#: builtin/pull.c:54 builtin/pull.c:56
+#: builtin/pull.c:59 builtin/pull.c:61
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: builtin/pull.c:76
+#: builtin/pull.c:81
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/pull.c:127
+#: builtin/pull.c:132
 msgid "control for recursive fetching of submodules"
 msgstr "控制子模组的递归获取"
 
-#: builtin/pull.c:131
+#: builtin/pull.c:136
 msgid "Options related to merging"
 msgstr "和合并相关的选项"
 
-#: builtin/pull.c:134
+#: builtin/pull.c:139
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "使用变基操作取代合并操作以合入修改"
 
-#: builtin/pull.c:161 builtin/rebase--helper.c:23 builtin/revert.c:121
+#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:121
 msgid "allow fast-forward"
 msgstr "允许快进式"
 
-#: builtin/pull.c:170
+#: builtin/pull.c:175
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "变基操作前后执行自动贮藏和弹出贮藏"
 
-#: builtin/pull.c:186
+#: builtin/pull.c:191
 msgid "Options related to fetching"
 msgstr "和获取相关的参数"
 
-#: builtin/pull.c:204
+#: builtin/pull.c:209
 msgid "number of submodules pulled in parallel"
 msgstr "并发拉取的子模组的数量"
 
-#: builtin/pull.c:299
+#: builtin/pull.c:304
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "pull.ff 的取值无效:%s"
 
-#: builtin/pull.c:415
+#: builtin/pull.c:420
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
 msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
 
-#: builtin/pull.c:417
+#: builtin/pull.c:422
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
 
-#: builtin/pull.c:418
+#: builtin/pull.c:423
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
 msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
 
-#: builtin/pull.c:421
+#: builtin/pull.c:426
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -11661,42 +12125,42 @@ msgstr ""
 "您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
 "分支默认的远程仓库,您必须在命令行中指定一个分支名。"
 
-#: builtin/pull.c:426 git-parse-remote.sh:73
+#: builtin/pull.c:431 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "您当前不在一个分支上。"
 
-#: builtin/pull.c:428 builtin/pull.c:443 git-parse-remote.sh:79
+#: builtin/pull.c:433 builtin/pull.c:448 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "请指定您要变基到哪一个分支。"
 
-#: builtin/pull.c:430 builtin/pull.c:445 git-parse-remote.sh:82
+#: builtin/pull.c:435 builtin/pull.c:450 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "请指定您要合并哪一个分支。"
 
-#: builtin/pull.c:431 builtin/pull.c:446
+#: builtin/pull.c:436 builtin/pull.c:451
 msgid "See git-pull(1) for details."
 msgstr "详见 git-pull(1)。"
 
-#: builtin/pull.c:433 builtin/pull.c:439 builtin/pull.c:448
+#: builtin/pull.c:438 builtin/pull.c:444 builtin/pull.c:453
 #: git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<远程>"
 
-#: builtin/pull.c:433 builtin/pull.c:448 builtin/pull.c:453 git-rebase.sh:477
+#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:523
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<分支>"
 
-#: builtin/pull.c:441 git-parse-remote.sh:75
+#: builtin/pull.c:446 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "当前分支没有跟踪信息。"
 
-#: builtin/pull.c:450 git-parse-remote.sh:95
+#: builtin/pull.c:455 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:455
+#: builtin/pull.c:460
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -11705,27 +12169,27 @@ msgstr ""
 "您的配置中指定要合并远程的引用 '%s',\n"
 "但是没有获取到这个引用。"
 
-#: builtin/pull.c:819
+#: builtin/pull.c:826
 msgid "ignoring --verify-signatures for rebase"
 msgstr "为变基操作忽略 --verify-signatures"
 
-#: builtin/pull.c:867
+#: builtin/pull.c:874
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash 选项只在使用 --rebase 时有效。"
 
-#: builtin/pull.c:875
+#: builtin/pull.c:882
 msgid "Updating an unborn branch with changes added to the index."
 msgstr "更新尚未诞生的分支,变更添加至索引。"
 
-#: builtin/pull.c:878
+#: builtin/pull.c:885
 msgid "pull with rebase"
 msgstr "变基式拉取"
 
-#: builtin/pull.c:879
+#: builtin/pull.c:886
 msgid "please commit or stash them."
 msgstr "请提交或贮藏它们。"
 
-#: builtin/pull.c:904
+#: builtin/pull.c:911
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -11735,7 +12199,7 @@ msgstr ""
 "fetch 更新了当前的分支。快进您的工作区\n"
 "至提交 %s。"
 
-#: builtin/pull.c:909
+#: builtin/pull.c:916
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -11752,31 +12216,31 @@ msgstr ""
 "$ git reset --hard\n"
 "恢复之前的状态。"
 
-#: builtin/pull.c:924
+#: builtin/pull.c:931
 msgid "Cannot merge multiple branches into empty head."
 msgstr "无法将多个分支合并到空分支。"
 
-#: builtin/pull.c:928
+#: builtin/pull.c:935
 msgid "Cannot rebase onto multiple branches."
 msgstr "无法变基到多个分支。"
 
-#: builtin/pull.c:935
+#: builtin/pull.c:942
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr "本地子模组中有修改,无法变基"
 
-#: builtin/push.c:17
+#: builtin/push.c:19
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/push.c:92
+#: builtin/push.c:111
 msgid "tag shorthand without <tag>"
 msgstr "标签后面未提供 <标签> 参数"
 
-#: builtin/push.c:102
+#: builtin/push.c:121
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete 只接受简单的目标引用名"
 
-#: builtin/push.c:146
+#: builtin/push.c:165
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -11784,7 +12248,7 @@ msgstr ""
 "\n"
 "为了永久地选择任一选项,参见 'git help config' 中的 push.default。"
 
-#: builtin/push.c:149
+#: builtin/push.c:168
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -11808,7 +12272,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:164
+#: builtin/push.c:183
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -11822,7 +12286,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<远程分支名字>\n"
 
-#: builtin/push.c:178
+#: builtin/push.c:197
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -11835,12 +12299,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:186
+#: builtin/push.c:205
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "当前分支 %s 有多个上游分支,拒绝推送。"
 
-#: builtin/push.c:189
+#: builtin/push.c:208
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -11850,12 +12314,12 @@ msgstr ""
 "您正推送至远程 '%s'(其并非当前分支 '%s' 的上游),\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#: builtin/push.c:248
+#: builtin/push.c:267
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr "您没有为推送指定任何引用规格,并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:255
+#: builtin/push.c:274
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -11866,7 +12330,7 @@ msgstr ""
 "再次推送前,先与远程变更合并(如 'git pull ...')。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:261
+#: builtin/push.c:280
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -11877,7 +12341,7 @@ msgstr ""
 "检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:267
+#: builtin/push.c:286
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -11890,11 +12354,11 @@ msgstr ""
 "(如 'git pull ...')。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:274
+#: builtin/push.c:293
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "更新被拒绝,因为该标签在远程已经存在。"
 
-#: builtin/push.c:277
+#: builtin/push.c:296
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -11903,22 +12367,22 @@ msgstr ""
 "如果不使用 '--force' 参数,您不能更新一个指向非提交对象的远程引用,\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:337
+#: builtin/push.c:357
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:341
+#: builtin/push.c:361
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:372
+#: builtin/push.c:395
 #, c-format
 msgid "bad repository '%s'"
 msgstr "坏的仓库 '%s'"
 
-#: builtin/push.c:373
+#: builtin/push.c:396
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -11939,112 +12403,104 @@ msgstr ""
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:391
-msgid "--all and --tags are incompatible"
-msgstr "--all 和 --tags 不兼容"
-
-#: builtin/push.c:392
-msgid "--all can't be combined with refspecs"
-msgstr "--all 不能和引用规格同时使用"
-
-#: builtin/push.c:397
-msgid "--mirror and --tags are incompatible"
-msgstr "--mirror 和 --tags 不兼容"
-
-#: builtin/push.c:398
-msgid "--mirror can't be combined with refspecs"
-msgstr "--mirror 不能和引用规格同时使用"
-
-#: builtin/push.c:403
-msgid "--all and --mirror are incompatible"
-msgstr "--all 和 --mirror 不兼容"
-
-#: builtin/push.c:535
+#: builtin/push.c:551
 msgid "repository"
 msgstr "仓库"
 
-#: builtin/push.c:536 builtin/send-pack.c:163
+#: builtin/push.c:552 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:537 builtin/send-pack.c:165
+#: builtin/push.c:553 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:539
+#: builtin/push.c:555
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:540
+#: builtin/push.c:556
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "推送标签(不能使用 --all or --mirror)"
 
-#: builtin/push.c:543 builtin/send-pack.c:166
+#: builtin/push.c:559 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:545 builtin/send-pack.c:180
+#: builtin/push.c:561 builtin/send-pack.c:181
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:546 builtin/send-pack.c:181
+#: builtin/push.c:562 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:549
+#: builtin/push.c:565
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:551 builtin/send-pack.c:174
+#: builtin/push.c:567 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:552 builtin/push.c:553 builtin/send-pack.c:160
-#: builtin/send-pack.c:161
+#: builtin/push.c:568 builtin/push.c:569 builtin/send-pack.c:161
+#: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:554
+#: builtin/push.c:570
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:557
+#: builtin/push.c:573
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:559
+#: builtin/push.c:575
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:560
+#: builtin/push.c:576
 msgid "push missing but relevant tags"
 msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:563 builtin/send-pack.c:168
+#: builtin/push.c:579 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:565 builtin/send-pack.c:175
+#: builtin/push.c:581 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:566 builtin/send-pack.c:171
-msgid "server-specific"
-msgstr "server-specific"
-
-#: builtin/push.c:566 builtin/send-pack.c:172
-msgid "option to transmit"
-msgstr "传输选项"
-
-#: builtin/push.c:583
+#: builtin/push.c:599
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:585
+#: builtin/push.c:601
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
 #: builtin/push.c:604
+msgid "--all and --tags are incompatible"
+msgstr "--all 和 --tags 不兼容"
+
+#: builtin/push.c:606
+msgid "--all can't be combined with refspecs"
+msgstr "--all 不能和引用规格同时使用"
+
+#: builtin/push.c:610
+msgid "--mirror and --tags are incompatible"
+msgstr "--mirror 和 --tags 不兼容"
+
+#: builtin/push.c:612
+msgid "--mirror can't be combined with refspecs"
+msgstr "--mirror 不能和引用规格同时使用"
+
+#: builtin/push.c:615
+msgid "--all and --mirror are incompatible"
+msgstr "--all 和 --mirror 不兼容"
+
+#: builtin/push.c:634
 msgid "push options must not have new line characters"
 msgstr "推送选项不能有换行符"
 
@@ -12058,67 +12514,67 @@ msgstr ""
 "u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<文件>] (--empty | <树对象1> [<树对象2> [<树对象3>]])"
 
-#: builtin/read-tree.c:121
+#: builtin/read-tree.c:120
 msgid "write resulting index to <file>"
 msgstr "将索引结果写入 <文件>"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:123
 msgid "only empty the index"
 msgstr "只是清空索引"
 
-#: builtin/read-tree.c:126
+#: builtin/read-tree.c:125
 msgid "Merging"
 msgstr "合并"
 
-#: builtin/read-tree.c:128
+#: builtin/read-tree.c:127
 msgid "perform a merge in addition to a read"
 msgstr "读取之余再执行一个合并"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:129
 msgid "3-way merge if no file level merging required"
 msgstr "如果没有文件级合并需要,执行三方合并"
 
-#: builtin/read-tree.c:132
+#: builtin/read-tree.c:131
 msgid "3-way merge in presence of adds and removes"
 msgstr "存在添加和删除时,也执行三方合并"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:133
 msgid "same as -m, but discard unmerged entries"
 msgstr "类似于 -m,但丢弃未合并的条目"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:134
 msgid "<subdirectory>/"
 msgstr "<子目录>/"
 
-#: builtin/read-tree.c:136
+#: builtin/read-tree.c:135
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "读取树对象到索引的 <子目录>/ 下"
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:138
 msgid "update working tree with merge result"
 msgstr "用合并的结果更新工作区"
 
-#: builtin/read-tree.c:141
+#: builtin/read-tree.c:140
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:142
+#: builtin/read-tree.c:141
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "允许忽略文件中设定的文件可以被覆盖"
 
-#: builtin/read-tree.c:145
+#: builtin/read-tree.c:144
 msgid "don't check the working tree after merging"
 msgstr "合并后不检查工作区"
 
-#: builtin/read-tree.c:146
+#: builtin/read-tree.c:145
 msgid "don't update the index or the work tree"
 msgstr "不更新索引区和工作区"
 
-#: builtin/read-tree.c:148
+#: builtin/read-tree.c:147
 msgid "skip applying sparse checkout filter"
 msgstr "跳过应用稀疏检出过滤器"
 
-#: builtin/read-tree.c:150
+#: builtin/read-tree.c:149
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
@@ -12135,46 +12591,58 @@ msgid "allow commits with empty messages"
 msgstr "允许提交说明为空"
 
 #: builtin/rebase--helper.c:27
+msgid "rebase merge commits"
+msgstr "对合并提交变基"
+
+#: builtin/rebase--helper.c:29
+msgid "keep original branch points of cousins"
+msgstr "保持兄弟提交的原始分支点"
+
+#: builtin/rebase--helper.c:30
 msgid "continue rebase"
 msgstr "继续变基"
 
-#: builtin/rebase--helper.c:29
+#: builtin/rebase--helper.c:32
 msgid "abort rebase"
 msgstr "中止变基"
 
-#: builtin/rebase--helper.c:32
+#: builtin/rebase--helper.c:35
 msgid "make rebase script"
 msgstr "制作变基脚本"
 
-#: builtin/rebase--helper.c:34
+#: builtin/rebase--helper.c:37
 msgid "shorten commit ids in the todo list"
 msgstr "缩短待办列表中的提交号"
 
-#: builtin/rebase--helper.c:36
+#: builtin/rebase--helper.c:39
 msgid "expand commit ids in the todo list"
 msgstr "扩展待办列表中的提交号"
 
-#: builtin/rebase--helper.c:38
+#: builtin/rebase--helper.c:41
 msgid "check the todo list"
 msgstr "检查待办列表"
 
-#: builtin/rebase--helper.c:40
+#: builtin/rebase--helper.c:43
 msgid "skip unnecessary picks"
 msgstr "跳过不必要的拣选"
 
-#: builtin/rebase--helper.c:42
+#: builtin/rebase--helper.c:45
 msgid "rearrange fixup/squash lines"
 msgstr "重新排列 fixup/squash 行"
 
-#: builtin/rebase--helper.c:44
+#: builtin/rebase--helper.c:47
 msgid "insert exec commands in todo list"
 msgstr "在待办列表中插入 exec 执行命令"
 
-#: builtin/receive-pack.c:30
+#: builtin/rebase--helper.c:68
+msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
+msgstr "不使用 --rebase-merges,则 --[no-]rebase-cousins 没有效果"
+
+#: builtin/receive-pack.c:31
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <仓库目录>"
 
-#: builtin/receive-pack.c:841
+#: builtin/receive-pack.c:842
 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"
@@ -12200,7 +12668,7 @@ msgstr ""
 "若要屏蔽此信息且保持默认行为,设置 'receive.denyCurrentBranch'\n"
 "配置变量为 'refuse'。"
 
-#: builtin/receive-pack.c:861
+#: builtin/receive-pack.c:862
 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"
@@ -12219,11 +12687,11 @@ msgstr ""
 "\n"
 "若要屏蔽此信息,您可以设置它为 'refuse'。"
 
-#: builtin/receive-pack.c:1934
+#: builtin/receive-pack.c:1935
 msgid "quiet"
 msgstr "静默模式"
 
-#: builtin/receive-pack.c:1948
+#: builtin/receive-pack.c:1949
 msgid "You must specify a directory."
 msgstr "您必须指定一个目录。"
 
@@ -12232,11 +12700,11 @@ msgstr "您必须指定一个目录。"
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' 不是一个有效的时间戳"
 
-#: builtin/remote.c:13
+#: builtin/remote.c:14
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:14
+#: builtin/remote.c:15
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -12244,81 +12712,81 @@ msgstr ""
 "git remote add [-t <分支>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <名称> <地址>"
 
-#: builtin/remote.c:15 builtin/remote.c:35
+#: builtin/remote.c:16 builtin/remote.c:36
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
-#: builtin/remote.c:16 builtin/remote.c:40
+#: builtin/remote.c:17 builtin/remote.c:41
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
-#: builtin/remote.c:17 builtin/remote.c:45
+#: builtin/remote.c:18 builtin/remote.c:46
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <名称> (-a | --auto | -d | --delete | <分支>)"
 
-#: builtin/remote.c:18
+#: builtin/remote.c:19
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <名称>"
 
-#: builtin/remote.c:19
+#: builtin/remote.c:20
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <名称>"
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr "git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...]"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <名称> <分支>..."
 
-#: builtin/remote.c:22 builtin/remote.c:71
+#: builtin/remote.c:23 builtin/remote.c:72
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <名称>"
 
-#: builtin/remote.c:23 builtin/remote.c:76
+#: builtin/remote.c:24 builtin/remote.c:77
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <名称> <新的地址> [<旧的地址>]"
 
-#: builtin/remote.c:24 builtin/remote.c:77
+#: builtin/remote.c:25 builtin/remote.c:78
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <名称> <新的地址>"
 
-#: builtin/remote.c:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <名称> <地址>"
 
-#: builtin/remote.c:30
+#: builtin/remote.c:31
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<选项>] <名称> <地址>"
 
-#: builtin/remote.c:50
+#: builtin/remote.c:51
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <名称> <分支>..."
 
-#: builtin/remote.c:51
+#: builtin/remote.c:52
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <名称> <分支>..."
 
-#: builtin/remote.c:56
+#: builtin/remote.c:57
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
-#: builtin/remote.c:61
+#: builtin/remote.c:62
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
-#: builtin/remote.c:66
+#: builtin/remote.c:67
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<选项>] [<组> | <远程>]..."
 
-#: builtin/remote.c:95
+#: builtin/remote.c:96
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
-#: builtin/remote.c:127
+#: builtin/remote.c:128
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -12326,86 +12794,86 @@ msgstr ""
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
-#: builtin/remote.c:144
+#: builtin/remote.c:145
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
-#: builtin/remote.c:160
+#: builtin/remote.c:161
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
-#: builtin/remote.c:162
+#: builtin/remote.c:163
 msgid "import all tags and associated objects when fetching"
 msgstr "抓取时导入所有的标签和关联对象"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "或不抓取任何标签(--no-tags)"
 
-#: builtin/remote.c:167
+#: builtin/remote.c:168
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "master branch"
 msgstr "主线分支"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "push|fetch"
 msgstr "push|fetch"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "把远程设置为用以推送或抓取的镜像"
 
-#: builtin/remote.c:182
+#: builtin/remote.c:183
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 
-#: builtin/remote.c:184
+#: builtin/remote.c:185
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
-#: builtin/remote.c:191 builtin/remote.c:631
+#: builtin/remote.c:192 builtin/remote.c:634
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:195 builtin/remote.c:635
+#: builtin/remote.c:196 builtin/remote.c:638
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
-#: builtin/remote.c:235
+#: builtin/remote.c:236
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
-#: builtin/remote.c:337
+#: builtin/remote.c:342
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "无法得到引用规格 %s 的获取列表"
 
-#: builtin/remote.c:438 builtin/remote.c:446
+#: builtin/remote.c:441 builtin/remote.c:449
 msgid "(matching)"
 msgstr "(匹配)"
 
-#: builtin/remote.c:450
+#: builtin/remote.c:453
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:624 builtin/remote.c:759 builtin/remote.c:858
+#: builtin/remote.c:627 builtin/remote.c:762 builtin/remote.c:861
 #, c-format
 msgid "No such remote: %s"
 msgstr "没有这样的远程:%s"
 
-#: builtin/remote.c:641
+#: builtin/remote.c:644
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
-#: builtin/remote.c:661
+#: builtin/remote.c:664
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -12416,17 +12884,17 @@ msgstr ""
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:697
+#: builtin/remote.c:700
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:731
+#: builtin/remote.c:734
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:796
+#: builtin/remote.c:799
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -12436,113 +12904,118 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:810
+#: builtin/remote.c:813
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "不能移除配置小节 '%s'"
 
-#: builtin/remote.c:911
+#: builtin/remote.c:914
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:914
+#: builtin/remote.c:917
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:916
+#: builtin/remote.c:919
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:918
+#: builtin/remote.c:921
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:959
+#: builtin/remote.c:962
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:967
+#: builtin/remote.c:971
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:968
+#: builtin/remote.c:973
+#, c-format
+msgid "rebases interactively (with merges) onto remote %s"
+msgstr "交互式变基(含合并提交)到远程 %s"
+
+#: builtin/remote.c:976
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "变基到远程 %s"
 
-#: builtin/remote.c:971
+#: builtin/remote.c:980
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:983
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:977
+#: builtin/remote.c:986
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    以及和远程 %s\n"
 
-#: builtin/remote.c:1020
+#: builtin/remote.c:1029
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1023
+#: builtin/remote.c:1032
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1027
+#: builtin/remote.c:1036
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1030
+#: builtin/remote.c:1039
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1033
+#: builtin/remote.c:1042
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1040
+#: builtin/remote.c:1049
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1052
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1047
+#: builtin/remote.c:1056
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1050
+#: builtin/remote.c:1059
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1118
+#: builtin/remote.c:1127
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1145
+#: builtin/remote.c:1154
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1146
+#: builtin/remote.c:1155
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1147 builtin/remote.c:1163 builtin/remote.c:1302
+#: builtin/remote.c:1156 builtin/remote.c:1172 builtin/remote.c:1311
 msgid "(no URL)"
 msgstr "(无 URL)"
 
@@ -12550,32 +13023,32 @@ msgstr "(无 URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1161 builtin/remote.c:1163
+#: builtin/remote.c:1170 builtin/remote.c:1172
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1165 builtin/remote.c:1167 builtin/remote.c:1169
+#: builtin/remote.c:1174 builtin/remote.c:1176 builtin/remote.c:1178
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  HEAD 分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1165
+#: builtin/remote.c:1174
 msgid "(not queried)"
 msgstr "(未查询)"
 
-#: builtin/remote.c:1167
+#: builtin/remote.c:1176
 msgid "(unknown)"
 msgstr "(未知)"
 
-#: builtin/remote.c:1171
+#: builtin/remote.c:1180
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1192
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -12583,155 +13056,155 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1186 builtin/remote.c:1212
+#: builtin/remote.c:1195 builtin/remote.c:1221
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1204
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  为 'git pull' 配置的本地分支:"
 msgstr[1] "  为 'git pull' 配置的本地分支:"
 
-#: builtin/remote.c:1203
+#: builtin/remote.c:1212
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1209
+#: builtin/remote.c:1218
 #, 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:1230
+#: builtin/remote.c:1239
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1232
+#: builtin/remote.c:1241
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1247
+#: builtin/remote.c:1256
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1249
+#: builtin/remote.c:1258
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1268
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1267
+#: builtin/remote.c:1276
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1269
+#: builtin/remote.c:1278
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1287
+#: builtin/remote.c:1296
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1288
+#: builtin/remote.c:1297
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1307
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1308
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1315
+#: builtin/remote.c:1324
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1318
+#: builtin/remote.c:1327
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1363
+#: builtin/remote.c:1372
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1426 builtin/remote.c:1480 builtin/remote.c:1548
+#: builtin/remote.c:1435 builtin/remote.c:1489 builtin/remote.c:1557
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1442
+#: builtin/remote.c:1451
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1449
+#: builtin/remote.c:1458
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1466
+#: builtin/remote.c:1475
 msgid "query push URLs rather than fetch URLs"
 msgstr "查询推送 URL 地址,而非获取 URL 地址"
 
-#: builtin/remote.c:1468
+#: builtin/remote.c:1477
 msgid "return all URLs"
 msgstr "返回所有 URL 地址"
 
-#: builtin/remote.c:1496
+#: builtin/remote.c:1505
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "没有给远程仓库 '%s' 设定 URL"
 
-#: builtin/remote.c:1522
+#: builtin/remote.c:1531
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1524
+#: builtin/remote.c:1533
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1526
+#: builtin/remote.c:1535
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1533
+#: builtin/remote.c:1542
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1572
+#: builtin/remote.c:1581
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1580
+#: builtin/remote.c:1589
 #, c-format
 msgid "No such URL found: %s"
 msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1582
+#: builtin/remote.c:1591
 msgid "Will not delete all non-push URLs"
 msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1598
+#: builtin/remote.c:1607
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
-#: builtin/remote.c:1629
+#: builtin/remote.c:1638
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
@@ -12748,172 +13221,193 @@ msgstr ""
 "增量 repack 和 bitmap 索引不兼容。  使用 --no-write-bitmap-index\n"
 "或禁用 pack.writebitmaps 配置。"
 
-#: builtin/repack.c:170
+#: builtin/repack.c:180
 msgid "pack everything in a single pack"
 msgstr "所有内容打包到一个包文件中"
 
-#: builtin/repack.c:172
+#: builtin/repack.c:182
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "和 -a 相同,并将不可达的对象设为松散对象"
 
-#: builtin/repack.c:175
+#: builtin/repack.c:185
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "删除多余的包,运行 git-prune-packed"
 
-#: builtin/repack.c:177
+#: builtin/repack.c:187
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-delta"
 
-#: builtin/repack.c:179
+#: builtin/repack.c:189
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --no-reuse-object"
 
-#: builtin/repack.c:181
+#: builtin/repack.c:191
 msgid "do not run git-update-server-info"
 msgstr "不运行 git-update-server-info"
 
-#: builtin/repack.c:184
+#: builtin/repack.c:194
 msgid "pass --local to git-pack-objects"
 msgstr "向 git-pack-objects 传递参数 --local"
 
-#: builtin/repack.c:186
+#: builtin/repack.c:196
 msgid "write bitmap index"
 msgstr "写 bitmap 索引"
 
-#: builtin/repack.c:187
+#: builtin/repack.c:197
 msgid "approxidate"
 msgstr "近似日期"
 
-#: builtin/repack.c:188
+#: builtin/repack.c:198
 msgid "with -A, do not loosen objects older than this"
 msgstr "使用 -A,不要将早于给定时间的对象过期"
 
-#: builtin/repack.c:190
+#: builtin/repack.c:200
 msgid "with -a, repack unreachable objects"
 msgstr "使用 -a ,重新对不可达对象打包"
 
-#: builtin/repack.c:192
+#: builtin/repack.c:202
 msgid "size of the window used for delta compression"
 msgstr "用于增量压缩的窗口值"
 
-#: builtin/repack.c:193 builtin/repack.c:199
+#: builtin/repack.c:203 builtin/repack.c:209
 msgid "bytes"
 msgstr "字节"
 
-#: builtin/repack.c:194
+#: builtin/repack.c:204
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "和上面的相似,但限制内存大小而非条目数"
 
-#: builtin/repack.c:196
+#: builtin/repack.c:206
 msgid "limits the maximum delta depth"
 msgstr "限制最大增量深度"
 
-#: builtin/repack.c:198
+#: builtin/repack.c:208
 msgid "limits the maximum number of threads"
 msgstr "限制最大线程数"
 
-#: builtin/repack.c:200
+#: builtin/repack.c:210
 msgid "maximum size of each packfile"
 msgstr "每个包文件的最大尺寸"
 
-#: builtin/repack.c:202
+#: builtin/repack.c:212
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:212
+#: builtin/repack.c:214
+msgid "do not repack this pack"
+msgstr "不要对该包文件重新打包"
+
+#: builtin/repack.c:224
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "不能删除珍品仓库中的打包文件"
 
-#: builtin/repack.c:216
+#: builtin/repack.c:228
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable 和 -A 不兼容"
 
-#: builtin/repack.c:410 builtin/worktree.c:148
+#: builtin/repack.c:425 builtin/worktree.c:139
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "无法删除 '%s'"
 
-#: builtin/replace.c:20
+#: builtin/replace.c:22
 msgid "git replace [-f] <object> <replacement>"
 msgstr "git replace [-f] <对象> <替换物>"
 
-#: builtin/replace.c:21
+#: builtin/replace.c:23
 msgid "git replace [-f] --edit <object>"
 msgstr "git replace [-f] --edit <对象>"
 
-#: builtin/replace.c:22
+#: builtin/replace.c:24
 msgid "git replace [-f] --graft <commit> [<parent>...]"
 msgstr "git replace [-f] --graft <提交> [<父提交>...]"
 
-#: builtin/replace.c:23
+#: builtin/replace.c:25
+msgid "git replace [-f] --convert-graft-file"
+msgstr "git replace [-f] --convert-graft-file"
+
+#: builtin/replace.c:26
 msgid "git replace -d <object>..."
 msgstr "git replace -d <对象>..."
 
-#: builtin/replace.c:24
+#: builtin/replace.c:27
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<格式>] [-l [<模式>]]"
 
-#: builtin/replace.c:331 builtin/replace.c:369 builtin/replace.c:397
+#: builtin/replace.c:371 builtin/replace.c:415 builtin/replace.c:445
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "不是一个有效的对象名:'%s'"
 
-#: builtin/replace.c:361
+#: builtin/replace.c:407
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "提交 '%s' 中含有损坏的合并标签"
 
-#: builtin/replace.c:363
+#: builtin/replace.c:409
 #, c-format
 msgid "malformed mergetag in commit '%s'"
-msgstr "提交 '%s' 中含有非法的合并标签"
+msgstr "提交 '%s' 中含有格式错误的合并标签"
 
-#: builtin/replace.c:374
+#: builtin/replace.c:421
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
 msgstr "原始提交 '%s' 包含已经丢弃的合并标签 '%s',使用 --edit 代替 --graft"
 
-#: builtin/replace.c:407
+#: builtin/replace.c:460
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "原始提交 '%s' 中包含一个 GPG 签名"
 
-#: builtin/replace.c:408
+#: builtin/replace.c:461
 msgid "the signature will be removed in the replacement commit!"
 msgstr "在替换的提交中签名将被移除!"
 
-#: builtin/replace.c:414
+#: builtin/replace.c:471
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "不能为 '%s' 写替换提交"
 
-#: builtin/replace.c:438
+#: builtin/replace.c:514
+#, c-format
+msgid ""
+"could not convert the following graft(s):\n"
+"%s"
+msgstr ""
+"不能转换下列移植:\n"
+"%s"
+
+#: builtin/replace.c:535
 msgid "list replace refs"
 msgstr "列出替换的引用"
 
-#: builtin/replace.c:439
+#: builtin/replace.c:536
 msgid "delete replace refs"
 msgstr "删除替换的引用"
 
-#: builtin/replace.c:440
+#: builtin/replace.c:537
 msgid "edit existing object"
 msgstr "编辑现存的对象"
 
-#: builtin/replace.c:441
+#: builtin/replace.c:538
 msgid "change a commit's parents"
 msgstr "修改一个提交的父提交"
 
-#: builtin/replace.c:442
+#: builtin/replace.c:539
+msgid "convert existing graft file"
+msgstr "转换现存的移植文件"
+
+#: builtin/replace.c:540
 msgid "replace the ref if it exists"
 msgstr "如果存在则替换引用"
 
-#: builtin/replace.c:444
+#: builtin/replace.c:542
 msgid "do not pretty-print contents for --edit"
 msgstr "不要为 --edit 操作美观显示内容"
 
-#: builtin/replace.c:445
+#: builtin/replace.c:543
 msgid "use this format"
 msgstr "使用此格式"
 
@@ -13074,23 +13568,23 @@ msgstr "rev-list 不支持显示注解"
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "不能将 --use-bitmap-index 和对象过滤组合使用"
 
-#: builtin/rev-parse.c:402
+#: builtin/rev-parse.c:406
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:407
+#: builtin/rev-parse.c:411
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:409
+#: builtin/rev-parse.c:413
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:412
+#: builtin/rev-parse.c:416
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
-#: builtin/rev-parse.c:545
+#: builtin/rev-parse.c:549
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -13227,42 +13721,42 @@ msgid_plural "the following files have local modifications:"
 msgstr[0] "如下文件有本地修改:"
 msgstr[1] "如下文件有本地修改:"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:241
 msgid "do not list removed files"
 msgstr "不列出删除的文件"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:242
 msgid "only remove from the index"
 msgstr "只从索引区删除"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:243
 msgid "override the up-to-date check"
 msgstr "忽略文件更新状态检查"
 
-#: builtin/rm.c:246
+#: builtin/rm.c:244
 msgid "allow recursive removal"
 msgstr "允许递归删除"
 
-#: builtin/rm.c:248
+#: builtin/rm.c:246
 msgid "exit with a zero status even if nothing matched"
 msgstr "即使没有匹配,也以零状态退出"
 
-#: builtin/rm.c:307
+#: builtin/rm.c:306
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "未提供 -r 选项不会递归删除 '%s'"
 
-#: builtin/rm.c:346
+#: builtin/rm.c:345
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
-#: builtin/rm.c:369
+#: builtin/rm.c:368
 #, c-format
 msgid "could not remove '%s'"
 msgstr "无法删除 '%s'"
 
-#: builtin/send-pack.c:19
+#: builtin/send-pack.c:20
 msgid ""
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
 "receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
@@ -13273,50 +13767,70 @@ msgstr ""
 "receive-pack>] [--verbose] [--thin] [--atomic] [<主机>:]<目录> [<引用>...]\n"
 "  --all 和明确的 <引用> 互斥。"
 
-#: builtin/send-pack.c:162
+#: builtin/send-pack.c:163
 msgid "remote name"
 msgstr "远程名称"
 
-#: builtin/send-pack.c:176
+#: builtin/send-pack.c:177
 msgid "use stateless RPC protocol"
 msgstr "使用无状态的 RPC 协议"
 
-#: builtin/send-pack.c:177
+#: builtin/send-pack.c:178
 msgid "read refs from stdin"
 msgstr "从标准输入读取引用"
 
-#: builtin/send-pack.c:178
+#: builtin/send-pack.c:179
 msgid "print status from remote helper"
 msgstr "打印来自远程 helper 的状态"
 
+#: builtin/serve.c:7
+msgid "git serve [<options>]"
+msgstr "git serve [<选项>]"
+
+#: builtin/serve.c:17 builtin/upload-pack.c:23
+msgid "quit after a single request/response exchange"
+msgstr "在一次单独的请求/响应之后退出"
+
+#: builtin/serve.c:19
+msgid "exit immediately after advertising capabilities"
+msgstr "在广告功能后立即退出"
+
 #: builtin/shortlog.c:14
-msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
-msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]"
+msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
+msgstr "git shortlog [<选项>] [<版本范围>] [[--] <路径>...]"
+
+#: builtin/shortlog.c:15
+msgid "git log --pretty=short | git shortlog [<options>]"
+msgstr "git log --pretty=short | git shortlog [<选项>]"
 
-#: builtin/shortlog.c:263
+#: builtin/shortlog.c:264
 msgid "Group by committer rather than author"
 msgstr "按照提交者分组而不是作者"
 
-#: builtin/shortlog.c:265
+#: builtin/shortlog.c:266
 msgid "sort output according to the number of commits per author"
 msgstr "根据每个作者的提交数量排序"
 
-#: builtin/shortlog.c:267
+#: builtin/shortlog.c:268
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "隐藏提交说明,只提供提交数量"
 
-#: builtin/shortlog.c:269
+#: builtin/shortlog.c:270
 msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
-#: builtin/shortlog.c:270
+#: builtin/shortlog.c:271
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:271
+#: builtin/shortlog.c:272
 msgid "Linewrap output"
 msgstr "折行输出"
 
+#: builtin/shortlog.c:298
+msgid "too many arguments given outside repository"
+msgstr "仓库外执行提供了太多的参数"
+
 #: builtin/show-branch.c:12
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
@@ -13511,233 +14025,233 @@ msgstr "跳过和移除所有的注释行"
 msgid "prepend comment character and space to each line"
 msgstr "为每一行的行首添加注释符和空格"
 
-#: builtin/submodule--helper.c:35 builtin/submodule--helper.c:1669
+#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1688
 #, c-format
 msgid "No such ref: %s"
 msgstr "没有这样的引用:%s"
 
-#: builtin/submodule--helper.c:42 builtin/submodule--helper.c:1678
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1697
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "期望一个完整的引用名称,却得到 %s"
 
-#: builtin/submodule--helper.c:59
+#: builtin/submodule--helper.c:61
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote 不带参数"
 
-#: builtin/submodule--helper.c:96
+#: builtin/submodule--helper.c:98
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "无法从 url '%s' 剥离一个组件"
 
-#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:1198
+#: builtin/submodule--helper.c:406 builtin/submodule--helper.c:1211
 msgid "alternative anchor for relative paths"
 msgstr "相对路径的替代锚记(anchor)"
 
-#: builtin/submodule--helper.c:409
+#: builtin/submodule--helper.c:411
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:460 builtin/submodule--helper.c:483
+#: builtin/submodule--helper.c:462 builtin/submodule--helper.c:485
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组 '%s' 的 url"
 
-#: builtin/submodule--helper.c:498
+#: builtin/submodule--helper.c:500
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
 "authoritative upstream."
 msgstr "无法找到配置 '%s'。假定这个仓库是其自身的官方上游。"
 
-#: builtin/submodule--helper.c:509
+#: builtin/submodule--helper.c:511
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:513
+#: builtin/submodule--helper.c:515
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
 #
-#: builtin/submodule--helper.c:523
+#: builtin/submodule--helper.c:525
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "警告:建议子模组 '%s' 使用命令更新模式\n"
 
-#: builtin/submodule--helper.c:530
+#: builtin/submodule--helper.c:532
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "无法为子模组 '%s' 注册更新模式"
 
-#: builtin/submodule--helper.c:552
+#: builtin/submodule--helper.c:554
 msgid "Suppress output for initializing a submodule"
 msgstr "阻止子模组初始化的输出"
 
-#: builtin/submodule--helper.c:557
+#: builtin/submodule--helper.c:559
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [<路径>]"
 
-#: builtin/submodule--helper.c:625 builtin/submodule--helper.c:747
+#: builtin/submodule--helper.c:631 builtin/submodule--helper.c:757
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
 
-#: builtin/submodule--helper.c:660
+#: builtin/submodule--helper.c:670
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "无法解析子模组 '%s' 的 HEAD 引用"
 
-#: builtin/submodule--helper.c:687 builtin/submodule--helper.c:856
+#: builtin/submodule--helper.c:697 builtin/submodule--helper.c:866
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "无法递归子模组 '%s'"
 
-#: builtin/submodule--helper.c:711 builtin/submodule--helper.c:1021
+#: builtin/submodule--helper.c:721 builtin/submodule--helper.c:1031
 msgid "Suppress submodule status output"
 msgstr "阻止子模组状态输出"
 
-#: builtin/submodule--helper.c:712
+#: builtin/submodule--helper.c:722
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr "使用存储在索引中的提交,而非存储在子模组 HEAD 中的提交"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:723
 msgid "recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:718
+#: builtin/submodule--helper.c:728
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<路径>...]"
 
-#: builtin/submodule--helper.c:742
+#: builtin/submodule--helper.c:752
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <路径>"
 
-#: builtin/submodule--helper.c:806
+#: builtin/submodule--helper.c:816
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "为 '%s' 同步子模组 url\n"
 
-#: builtin/submodule--helper.c:812
+#: builtin/submodule--helper.c:822
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "无法为子模组路径 '%s' 注册 url"
 
-#: builtin/submodule--helper.c:826
+#: builtin/submodule--helper.c:836
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "无法得到子模组 '%s' 的默认远程关联"
 
-#: builtin/submodule--helper.c:837
+#: builtin/submodule--helper.c:847
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "无法为子模组 '%s' 更新远程关联"
 
-#: builtin/submodule--helper.c:885
+#: builtin/submodule--helper.c:895
 msgid "Suppress output of synchronizing submodule url"
 msgstr "阻止子模组 url 同步的输出"
 
-#: builtin/submodule--helper.c:887
+#: builtin/submodule--helper.c:897
 msgid "Recurse into nested submodules"
 msgstr "递归进入嵌套子模组中"
 
-#: builtin/submodule--helper.c:892
+#: builtin/submodule--helper.c:902
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<路径>]"
 
-#: builtin/submodule--helper.c:946
+#: builtin/submodule--helper.c:956
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
 "really want to remove it including all of its history)"
 msgstr ""
-"子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 "
-"'rm -rf' 命令)"
+"子模组工作区 '%s' 包含一个 .git 目录(如果您确需删除它及其全部历史,使用 'rm "
+"-rf' 命令)"
 
-#: builtin/submodule--helper.c:958
+#: builtin/submodule--helper.c:968
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
 "them"
 msgstr "子模组工作区 '%s' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: builtin/submodule--helper.c:966
+#: builtin/submodule--helper.c:976
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "已清除目录 '%s'\n"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:978
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "无法移除子模组工作区 '%s'\n"
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:987
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "不能创建空的子模组目录 %s"
 
-#: builtin/submodule--helper.c:993
+#: builtin/submodule--helper.c:1003
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "子模组 '%s'(%s)未对路径 '%s' 注册\n"
 
-#: builtin/submodule--helper.c:1022
+#: builtin/submodule--helper.c:1032
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr "删除子模组工作区,即使包含本地修改"
 
-#: builtin/submodule--helper.c:1023
+#: builtin/submodule--helper.c:1033
 msgid "Unregister all submodules"
 msgstr "将所有子模组取消注册"
 
-#: builtin/submodule--helper.c:1028
+#: builtin/submodule--helper.c:1038
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<路径>...]]"
 
-#: builtin/submodule--helper.c:1042
+#: builtin/submodule--helper.c:1052
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "如果您确实想要对所有子模组执行取消初始化,请使用 '--all'"
 
-#: builtin/submodule--helper.c:1133 builtin/submodule--helper.c:1136
+#: builtin/submodule--helper.c:1145 builtin/submodule--helper.c:1148
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "子模组 '%s' 不能添加仓库备选:%s"
 
-#: builtin/submodule--helper.c:1172
+#: builtin/submodule--helper.c:1184
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "不能识别 submodule.alternateErrorStrategy 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1179
+#: builtin/submodule--helper.c:1191
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "不能识别 submodule.alternateLocaion 的取值 '%s'"
 
-#: builtin/submodule--helper.c:1201
+#: builtin/submodule--helper.c:1214
 msgid "where the new submodule will be cloned to"
 msgstr "新的子模组将要克隆的路径"
 
-#: builtin/submodule--helper.c:1204
+#: builtin/submodule--helper.c:1217
 msgid "name of the new submodule"
 msgstr "新子模组的名称"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1220
 msgid "url where to clone the submodule from"
 msgstr "克隆子模组的 url 地址"
 
-#: builtin/submodule--helper.c:1213
+#: builtin/submodule--helper.c:1228
 msgid "depth for shallow clones"
 msgstr "浅克隆的深度"
 
-#: builtin/submodule--helper.c:1216 builtin/submodule--helper.c:1587
+#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1606
 msgid "force cloning progress"
 msgstr "强制显示克隆进度"
 
-#: builtin/submodule--helper.c:1221
+#: builtin/submodule--helper.c:1236
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -13745,102 +14259,102 @@ msgstr ""
 "git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
 "[--name <名字>] [--depth <深度>] --url <url> --path <路径>"
 
-#: builtin/submodule--helper.c:1252
+#: builtin/submodule--helper.c:1267
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "无法克隆 '%s' 到子模组路径 '%s'"
 
-#: builtin/submodule--helper.c:1267
+#: builtin/submodule--helper.c:1281
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "无法得到 '%s' 的子模组目录"
 
-#: builtin/submodule--helper.c:1332
+#: builtin/submodule--helper.c:1347
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "子模组 '%s' 尚未初始化"
 
-#: builtin/submodule--helper.c:1336
+#: builtin/submodule--helper.c:1351
 msgid "Maybe you want to use 'update --init'?"
 msgstr "也许您想要执行 'update --init'?"
 
-#: builtin/submodule--helper.c:1365
+#: builtin/submodule--helper.c:1380
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "略过未合并的子模组 %s"
 
-#: builtin/submodule--helper.c:1394
+#: builtin/submodule--helper.c:1409
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "略过子模组 '%s'"
 
-#: builtin/submodule--helper.c:1527
+#: builtin/submodule--helper.c:1544
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "克隆 '%s' 失败。按计划重试"
 
-#: builtin/submodule--helper.c:1538
+#: builtin/submodule--helper.c:1555
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "第二次尝试克隆 '%s' 失败,退出"
 
-#: builtin/submodule--helper.c:1568 builtin/submodule--helper.c:1788
+#: builtin/submodule--helper.c:1585 builtin/submodule--helper.c:1808
 msgid "path into the working tree"
 msgstr "到工作区的路径"
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:1588
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "工作区中的路径,递归嵌套子模组"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:1592
 msgid "rebase, merge, checkout or none"
 msgstr "rebase、merge、checkout 或 none"
 
-#: builtin/submodule--helper.c:1579
+#: builtin/submodule--helper.c:1598
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/submodule--helper.c:1582
+#: builtin/submodule--helper.c:1601
 msgid "parallel jobs"
 msgstr "并发任务"
 
-#: builtin/submodule--helper.c:1584
+#: builtin/submodule--helper.c:1603
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "初始克隆是否应该遵守推荐的浅克隆选项"
 
-#: builtin/submodule--helper.c:1585
+#: builtin/submodule--helper.c:1604
 msgid "don't print cloning progress"
 msgstr "不要输出克隆进度"
 
-#: builtin/submodule--helper.c:1592
+#: builtin/submodule--helper.c:1611
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper update_clone [--prefix=<路径>] [<路径>...]"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:1624
 msgid "bad value for update parameter"
 msgstr "update 参数取值错误"
 
-#: builtin/submodule--helper.c:1673
+#: builtin/submodule--helper.c:1692
 #, 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:1789
+#: builtin/submodule--helper.c:1809
 msgid "recurse into submodules"
 msgstr "在子模组中递归"
 
-#: builtin/submodule--helper.c:1795
+#: builtin/submodule--helper.c:1815
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<路径>...]"
 
-#: builtin/submodule--helper.c:1857
+#: builtin/submodule--helper.c:1901
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s 不支持 --super-prefix"
 
-#: builtin/submodule--helper.c:1863
+#: builtin/submodule--helper.c:1907
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' 不是一个有效的 submodule--helper 子命令"
@@ -13908,7 +14422,7 @@ msgstr "未发现标签 '%s'。"
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:131
+#: builtin/tag.c:132
 #, c-format
 msgid ""
 "\n"
@@ -13921,7 +14435,7 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:135
+#: builtin/tag.c:136
 #, c-format
 msgid ""
 "\n"
@@ -13935,146 +14449,146 @@ msgstr ""
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:189
+#: builtin/tag.c:190
 msgid "unable to sign the tag"
 msgstr "无法签署标签"
 
-#: builtin/tag.c:191
+#: builtin/tag.c:192
 msgid "unable to write tag file"
 msgstr "无法写标签文件"
 
-#: builtin/tag.c:216
+#: builtin/tag.c:217
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:265
+#: builtin/tag.c:266
 msgid "no tag message?"
 msgstr "无标签说明?"
 
-#: builtin/tag.c:272
+#: builtin/tag.c:273
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:381
+#: builtin/tag.c:382
 msgid "list tag names"
 msgstr "列出标签名称"
 
-#: builtin/tag.c:383
+#: builtin/tag.c:384
 msgid "print <n> lines of each tag message"
 msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:386
 msgid "delete tags"
 msgstr "删除标签"
 
-#: builtin/tag.c:386
+#: builtin/tag.c:387
 msgid "verify tags"
 msgstr "验证标签"
 
-#: builtin/tag.c:388
+#: builtin/tag.c:389
 msgid "Tag creation options"
 msgstr "标签创建选项"
 
-#: builtin/tag.c:390
+#: builtin/tag.c:391
 msgid "annotated tag, needs a message"
 msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:392
+#: builtin/tag.c:393
 msgid "tag message"
 msgstr "标签说明"
 
-#: builtin/tag.c:394
+#: builtin/tag.c:395
 msgid "force edit of tag message"
 msgstr "强制编辑标签说明"
 
-#: builtin/tag.c:395
+#: builtin/tag.c:396
 msgid "annotated and GPG-signed tag"
 msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:399
+#: builtin/tag.c:400
 msgid "use another key to sign the tag"
 msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:401
 msgid "replace the tag if exists"
 msgstr "如果存在,替换现有的标签"
 
-#: builtin/tag.c:401 builtin/update-ref.c:368
+#: builtin/tag.c:402 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "创建引用日志"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:404
 msgid "Tag listing options"
 msgstr "标签列表选项"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:405
 msgid "show tag list in columns"
 msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:405 builtin/tag.c:407
+#: builtin/tag.c:406 builtin/tag.c:408
 msgid "print only tags that contain the commit"
 msgstr "只打印包含该提交的标签"
 
-#: builtin/tag.c:406 builtin/tag.c:408
+#: builtin/tag.c:407 builtin/tag.c:409
 msgid "print only tags that don't contain the commit"
 msgstr "只打印不包含该提交的标签"
 
-#: builtin/tag.c:409
+#: builtin/tag.c:410
 msgid "print only tags that are merged"
 msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:410
+#: builtin/tag.c:411
 msgid "print only tags that are not merged"
 msgstr "只打印尚未合并的标签"
 
-#: builtin/tag.c:415
+#: builtin/tag.c:416
 msgid "print only tags of the object"
 msgstr "只打印指向该对象的标签"
 
-#: builtin/tag.c:459
+#: builtin/tag.c:460
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:481
+#: builtin/tag.c:482
 msgid "-n option is only allowed in list mode"
 msgstr "-n 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:483
+#: builtin/tag.c:484
 msgid "--contains option is only allowed in list mode"
 msgstr "--contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:485
+#: builtin/tag.c:486
 msgid "--no-contains option is only allowed in list mode"
 msgstr "--no-contains 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:487
+#: builtin/tag.c:488
 msgid "--points-at option is only allowed in list mode"
 msgstr "--points-at 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:489
+#: builtin/tag.c:490
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr "--merged 和 --no-merged 选项只允许用在列表显示模式"
 
-#: builtin/tag.c:500
+#: builtin/tag.c:501
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:519
+#: builtin/tag.c:520
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:525
+#: builtin/tag.c:526
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:530
+#: builtin/tag.c:531
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:561
+#: builtin/tag.c:562
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "已更新标签 '%s'(曾为 %s)\n"
@@ -14141,157 +14655,157 @@ msgstr "删除一个目录后,目录的状态信息未改变"
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:579
+#: builtin/update-index.c:589
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:936
+#: builtin/update-index.c:946
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:939
+#: builtin/update-index.c:949
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:952
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:944
+#: builtin/update-index.c:954
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:956
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:948
+#: builtin/update-index.c:958
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:951
+#: builtin/update-index.c:961
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:955
+#: builtin/update-index.c:965
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:959
+#: builtin/update-index.c:969
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:960
+#: builtin/update-index.c:970
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:979
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:972
+#: builtin/update-index.c:982
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:975
+#: builtin/update-index.c:985
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:978
+#: builtin/update-index.c:988
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:991
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:993
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:995
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:987
+#: builtin/update-index.c:997
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:1001
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:1005
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1009
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1013
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:1006
+#: builtin/update-index.c:1016
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1018
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:1012
+#: builtin/update-index.c:1022
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1024
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1026
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1018
+#: builtin/update-index.c:1028
 msgid "test if the filesystem supports untracked cache"
 msgstr "测试文件系统是否支持未跟踪文件缓存"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1030
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1032
 msgid "write out the index even if is not flagged as changed"
 msgstr "即使没有被标记为已更改,也要写出索引"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1034
 msgid "enable or disable file system monitor"
 msgstr "启用或禁用文件系统监控"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1036
 msgid "mark files as fsmonitor valid"
 msgstr "标记文件为 fsmonitor 有效"
 
-#: builtin/update-index.c:1029
+#: builtin/update-index.c:1039
 msgid "clear fsmonitor valid bit"
 msgstr "清除 fsmonitor 有效位"
 
-#: builtin/update-index.c:1127
+#: builtin/update-index.c:1138
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
 msgstr ""
 "core.splitIndex 被设置为 false。如果您确实要启用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1136
+#: builtin/update-index.c:1147
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
 msgstr ""
 "core.splitIndex 被设置为 true。如果您确实要禁用索引拆分,请删除或修改它。"
 
-#: builtin/update-index.c:1147
+#: builtin/update-index.c:1158
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -14299,11 +14813,11 @@ msgstr ""
 "core.untrackedCache 被设置为 true。如果您确实要禁用未跟踪文件缓存,请删除或修"
 "改它。"
 
-#: builtin/update-index.c:1151
+#: builtin/update-index.c:1162
 msgid "Untracked cache disabled"
 msgstr "缓存未跟踪文件被禁用"
 
-#: builtin/update-index.c:1159
+#: builtin/update-index.c:1170
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -14311,25 +14825,25 @@ msgstr ""
 "core.untrackedCache 被设置为 false。如果您确实要启用未跟踪文件缓存,请删除或"
 "修改它。"
 
-#: builtin/update-index.c:1163
+#: builtin/update-index.c:1174
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "缓存未跟踪文件在 '%s' 启用"
 
-#: builtin/update-index.c:1171
+#: builtin/update-index.c:1182
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr "core.fsmonitor 未设置;如果想要启用 fsmonitor 请设置该选项"
 
-#: builtin/update-index.c:1175
+#: builtin/update-index.c:1186
 msgid "fsmonitor enabled"
 msgstr "fsmonitor 被启用"
 
-#: builtin/update-index.c:1178
+#: builtin/update-index.c:1189
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr "core.fsmonitor 已设置;如果想要禁用 fsmonitor 请移除该选项"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1193
 msgid "fsmonitor disabled"
 msgstr "fsmonitor 被禁用"
 
@@ -14369,6 +14883,22 @@ msgstr "git update-server-info [--force]"
 msgid "update the info files from scratch"
 msgstr "从头开始更新文件信息"
 
+#: builtin/upload-pack.c:11
+msgid "git upload-pack [<options>] <dir>"
+msgstr "git upload-pack [<选项>] <目录>"
+
+#: builtin/upload-pack.c:25
+msgid "exit immediately after initial ref advertisement"
+msgstr "在初始的引用广告后立即退出"
+
+#: builtin/upload-pack.c:27
+msgid "do not try <directory>/.git/ if <directory> is no Git directory"
+msgstr "如果 <目录> 不是一个 Git 目录,不要尝试 <目录>/.git/"
+
+#: builtin/upload-pack.c:29
+msgid "interrupt transfer after <n> seconds of inactivity"
+msgstr "不活动 <n> 秒钟后终止传输"
+
 #: builtin/verify-commit.c:18
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <提交>..."
@@ -14429,198 +14959,213 @@ msgstr "git worktree remove [<选项>] <工作区>"
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <路径>"
 
-#: builtin/worktree.c:60
+#: builtin/worktree.c:58
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
-#: builtin/worktree.c:66
+#: builtin/worktree.c:64
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
-#: builtin/worktree.c:71 builtin/worktree.c:80
+#: builtin/worktree.c:69 builtin/worktree.c:78
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
-#: builtin/worktree.c:90
+#: builtin/worktree.c:88
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr "删除工作树/%s:读取过短(期望 %<PRIuMAX> 字节,读取 %<PRIuMAX>)"
 
-#: builtin/worktree.c:98
+#: builtin/worktree.c:96
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
-#: builtin/worktree.c:114
+#: builtin/worktree.c:105
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
-#: builtin/worktree.c:161
+#: builtin/worktree.c:152
 msgid "report pruned working trees"
 msgstr "报告清除的工作区"
 
-#: builtin/worktree.c:163
+#: builtin/worktree.c:154
 msgid "expire working trees older than <time>"
 msgstr "将早于 <时间> 的工作区过期"
 
-#: builtin/worktree.c:238
+#: builtin/worktree.c:229
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:269
+#: builtin/worktree.c:260
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:308
+#: builtin/worktree.c:373 builtin/worktree.c:379
+#, c-format
+msgid "Preparing worktree (new branch '%s')"
+msgstr "准备工作区(新分支 '%s')"
+
+#: builtin/worktree.c:375
+#, c-format
+msgid "Preparing worktree (resetting branch '%s'; was at %s)"
+msgstr "准备工作区(重置分支 '%s',之前为 %s)"
+
+#: builtin/worktree.c:384
+#, c-format
+msgid "Preparing worktree (checking out '%s')"
+msgstr "准备工作区(检出 '%s')"
+
+#: builtin/worktree.c:390
 #, c-format
-msgid "Preparing %s (identifier %s)"
-msgstr "准备 %s(标识符 %s)"
+msgid "Preparing worktree (detached HEAD %s)"
+msgstr "准备工作区(分离头指针 %s)"
 
-#: builtin/worktree.c:385
+#: builtin/worktree.c:431
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出 <分支>,即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:388
+#: builtin/worktree.c:434
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:390
+#: builtin/worktree.c:436
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:392
+#: builtin/worktree.c:438
 msgid "populate the new working tree"
 msgstr "生成新的工作区"
 
-#: builtin/worktree.c:393
+#: builtin/worktree.c:439
 msgid "keep the new working tree locked"
 msgstr "锁定新工作区"
 
-#: builtin/worktree.c:395
+#: builtin/worktree.c:441
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "设置跟踪模式(参见 git-branch(1))"
 
-#: builtin/worktree.c:398
+#: builtin/worktree.c:444
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "尝试为新分支名匹配一个远程跟踪分支"
 
-#: builtin/worktree.c:406
+#: builtin/worktree.c:452
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b、-B 和 --detach 是互斥的"
 
-#: builtin/worktree.c:471
+#: builtin/worktree.c:511
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "只能在创建新分支时使用选项 --[no-]track "
 
-#: builtin/worktree.c:571
+#: builtin/worktree.c:611
 msgid "reason for locking"
 msgstr "锁定原因"
 
-#: builtin/worktree.c:583 builtin/worktree.c:616 builtin/worktree.c:670
-#: builtin/worktree.c:809
+#: builtin/worktree.c:623 builtin/worktree.c:656 builtin/worktree.c:710
+#: builtin/worktree.c:850
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' 不是一个工作区"
 
-#: builtin/worktree.c:585 builtin/worktree.c:618
+#: builtin/worktree.c:625 builtin/worktree.c:658
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "主工作区无法被加锁或解锁"
 
-#: builtin/worktree.c:590
+#: builtin/worktree.c:630
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' 已被锁定,原因:%s"
 
-#: builtin/worktree.c:592
+#: builtin/worktree.c:632
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' 已被锁定"
 
-#: builtin/worktree.c:620
+#: builtin/worktree.c:660
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' 未被锁定"
 
-#: builtin/worktree.c:645
+#: builtin/worktree.c:685
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "不能移动或删除包含子模组的工作区"
 
-#: builtin/worktree.c:672 builtin/worktree.c:811
+#: builtin/worktree.c:712 builtin/worktree.c:852
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' 是一个主工作区"
 
-#: builtin/worktree.c:677
+#: builtin/worktree.c:717
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "无法从 '%s' 算出目标名称"
 
-#: builtin/worktree.c:683
+#: builtin/worktree.c:723
 #, c-format
 msgid "target '%s' already exists"
 msgstr "目标 '%s' 已存在"
 
-#: builtin/worktree.c:690
+#: builtin/worktree.c:730
 #, c-format
 msgid "cannot move a locked working tree, lock reason: %s"
 msgstr "无法移动一个锁定的工作区,锁定原因:%s"
 
-#: builtin/worktree.c:692
+#: builtin/worktree.c:732
 msgid "cannot move a locked working tree"
 msgstr "无法移动一个锁定的工作区"
 
-#: builtin/worktree.c:695
+#: builtin/worktree.c:735
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "验证失败,无法移动工作区:%s"
 
-#: builtin/worktree.c:700
+#: builtin/worktree.c:740
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "无法移动 '%s' 到 '%s'"
 
-#: builtin/worktree.c:748
+#: builtin/worktree.c:788
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "无法在 '%s' 中执行 'git status'"
 
-#: builtin/worktree.c:752
+#: builtin/worktree.c:792
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "'%s' 是脏的,使用 --force 删除"
 
-#: builtin/worktree.c:757
+#: builtin/worktree.c:797
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "无法在 '%s' 中执行 'git status',退出码 %d"
 
-#: builtin/worktree.c:768 builtin/worktree.c:782
+#: builtin/worktree.c:808 builtin/worktree.c:822
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: builtin/worktree.c:794
+#: builtin/worktree.c:834
 msgid "force removing even if the worktree is dirty"
 msgstr "强制删除,即使工作区是脏的"
 
-#: builtin/worktree.c:815
+#: builtin/worktree.c:856
 #, c-format
 msgid "cannot remove a locked working tree, lock reason: %s"
 msgstr "无法删除一个锁定的工作区,锁定原因:%s"
 
-#: builtin/worktree.c:817
+#: builtin/worktree.c:858
 msgid "cannot remove a locked working tree"
 msgstr "无法删除一个锁定的工作区"
 
-#: builtin/worktree.c:820
+#: builtin/worktree.c:861
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "验证失败,无法删除工作区:%s"
@@ -14641,26 +15186,6 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: upload-pack.c:27
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<选项>] <目录>"
-
-#: upload-pack.c:1070
-msgid "quit after a single request/response exchange"
-msgstr "在一次单独的请求/响应(request/response)交换后退出"
-
-#: upload-pack.c:1072
-msgid "exit immediately after initial ref advertisement"
-msgstr "在初始的引用广告后立即退出"
-
-#: upload-pack.c:1074
-msgid "do not try <directory>/.git/ if <directory> is no Git directory"
-msgstr "如果 <目录> 不是一个 Git 目录,不要尝试 <目录>/.git/"
-
-#: upload-pack.c:1076
-msgid "interrupt transfer after <n> seconds of inactivity"
-msgstr "不活动 <n> 秒钟后终止传输"
-
 #: credential-cache--daemon.c:222
 #, c-format
 msgid ""
@@ -14678,21 +15203,23 @@ msgstr ""
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
 
-#: git.c:8
+#: git.c:27
 msgid ""
 "git [--version] [--help] [-C <path>] [-c <name>=<value>]\n"
 "           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]\n"
+"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
+"bare]\n"
 "           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
 "           <command> [<args>]"
 msgstr ""
-"git [--version] [--help] [-C <path>] [-c <键名>=<值>]\n"
+"git [--version] [--help] [-C <路径>] [-c <名称>=<取值>]\n"
 "           [--exec-path[=<路径>]] [--html-path] [--man-path] [--info-path]\n"
-"           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]\n"
+"           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
+"bare]\n"
 "           [--git-dir=<路径>] [--work-tree=<路径>] [--namespace=<名称>]\n"
 "           <命令> [<参数>]"
 
-#: git.c:15
+#: git.c:34
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
@@ -14702,65 +15229,65 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: git.c:95
+#: git.c:173
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "没有为 --git-dir 提供目录\n"
 
-#: git.c:109
+#: git.c:187
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "没有为 --namespace 提供命名空间\n"
 
-#: git.c:123
+#: git.c:201
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "没有为 --work-tree 提供目录\n"
 
-#: git.c:137
+#: git.c:215
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "没有为 --super-prefix 提供前缀\n"
 
-#: git.c:159
+#: git.c:237
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "应为 -c 提供一个配置字符串\n"
 
-#: git.c:197
+#: git.c:275
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "没有为 -C 提供目录\n"
 
-#: git.c:212
+#: git.c:300
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "未知选项:%s\n"
 
-#: git.c:687
+#: git.c:765
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "展开别名命令 '%s' 失败,'%s' 不是一个 git 命令\n"
 
-#: git.c:699
+#: git.c:777
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "无法运行命令 '%s':%s\n"
 
-#: http.c:342
+#: http.c:348
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
 msgstr "http.postbuffer 为负值,默认为 %d"
 
-#: http.c:363
+#: http.c:369
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "当 cURL < 7.22.0 时,不支持委托控制"
 
-#: http.c:372
+#: http.c:378
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
 
-#: http.c:1857
+#: http.c:1854
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -14771,7 +15298,7 @@ msgstr ""
 "     请求:%s\n"
 "   重定向:%s"
 
-#: remote-curl.c:345
+#: remote-curl.c:401
 #, c-format
 msgid "redirecting to %s"
 msgstr "重定向到 %s"
@@ -14784,129 +15311,654 @@ msgstr "参数"
 msgid "object filtering"
 msgstr "对象过滤"
 
-#: common-cmds.h:9
-msgid "start a working area (see also: git help tutorial)"
-msgstr "å¼\80å§\8bä¸\80个工ä½\9cå\8cºï¼\88å\8f\82è§\81ï¼\9agit help tutorialï¼\89"
+#: parse-options.h:157
+msgid "expiry-date"
+msgstr "å\88°æ\9c\9fæ\97¶é\97´"
 
-#: common-cmds.h:10
-msgid "work on the current change (see also: git help everyday)"
-msgstr "在当前变更上工作(参见:git help everyday)"
+#: parse-options.h:172
+msgid "no-op (backward compatibility)"
+msgstr "空操作(向后兼容)"
 
-#: common-cmds.h:11
-msgid "examine the history and state (see also: git help revisions)"
-msgstr "æ£\80æ\9f¥å\8e\86å\8f²å\92\8cç\8a¶æ\80\81ï¼\88å\8f\82è§\81ï¼\9agit help revisionsï¼\89"
+#: parse-options.h:251
+msgid "be more verbose"
+msgstr "æ\9b´å\8a è¯¦ç»\86"
 
-#: common-cmds.h:12
-msgid "grow, mark and tweak your common history"
-msgstr "æ\89©å±\95ã\80\81æ \87è®°å\92\8cè°\83æ ¡æ\82¨ç\9a\84å\8e\86å\8f²è®°å½\95"
+#: parse-options.h:253
+msgid "be more quiet"
+msgstr "æ\9b´å\8a å®\89é\9d\99"
 
-#: common-cmds.h:13
-msgid "collaborate (see also: git help workflows)"
-msgstr "协同(参见:git help workflows)"
+#: parse-options.h:259
+msgid "use <n> digits to display SHA-1s"
+msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
-#: common-cmds.h:17
+#: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "添加文件内容至索引"
 
-#: common-cmds.h:18
+#: command-list.h:51
+msgid "Apply a series of patches from a mailbox"
+msgstr "应用邮箱格式的系列补丁"
+
+#: command-list.h:52
+msgid "Annotate file lines with commit information"
+msgstr "使用提交信息注释文件行"
+
+#: command-list.h:53
+msgid "Apply a patch to files and/or to the index"
+msgstr "应用一个补丁到文件和/或索引区"
+
+#: command-list.h:54
+msgid "Import an Arch repository into Git"
+msgstr "将一个 Arch 仓库导入到 Git"
+
+#: command-list.h:55
+msgid "Create an archive of files from a named tree"
+msgstr "基于一个指定的树创建文件存档"
+
+#: command-list.h:56
 msgid "Use binary search to find the commit that introduced a bug"
 msgstr "通过二分查找定位引入 bug 的提交"
 
-#: common-cmds.h:19
+#: command-list.h:57
+msgid "Show what revision and author last modified each line of a file"
+msgstr "显示文件每一行最后修改的版本和修改者"
+
+#: command-list.h:58
 msgid "List, create, or delete branches"
 msgstr "列出、创建或删除分支"
 
-#: common-cmds.h:20
+#: command-list.h:59
+msgid "Move objects and refs by archive"
+msgstr "通过归档移动对象和引用"
+
+#: command-list.h:60
+msgid "Provide content or type and size information for repository objects"
+msgstr "提供仓库对象的内容、类型或大小"
+
+#: command-list.h:61
+msgid "Display gitattributes information"
+msgstr "显示 gitattributes 信息"
+
+#: command-list.h:62
+msgid "Debug gitignore / exclude files"
+msgstr "调试 gitignore / exclude 文件"
+
+#: command-list.h:63
+msgid "Show canonical names and email addresses of contacts"
+msgstr "显示联系人的规范名称和电子邮件"
+
+#: command-list.h:64
 msgid "Switch branches or restore working tree files"
 msgstr "切换分支或恢复工作区文件"
 
-#: common-cmds.h:21
+#: command-list.h:65
+msgid "Copy files from the index to the working tree"
+msgstr "从索引拷贝文件到工作区"
+
+#: command-list.h:66
+msgid "Ensures that a reference name is well formed"
+msgstr "确保引用名称格式正确"
+
+#: command-list.h:67
+msgid "Find commits yet to be applied to upstream"
+msgstr "查找尚未应用到上游的提交"
+
+#: command-list.h:68
+msgid "Apply the changes introduced by some existing commits"
+msgstr "应用一些现存提交引入的修改"
+
+#: command-list.h:69
+msgid "Graphical alternative to git-commit"
+msgstr "git-commit 的图形替代界面"
+
+#: command-list.h:70
+msgid "Remove untracked files from the working tree"
+msgstr "从工作区中删除未跟踪文件"
+
+#: command-list.h:71
 msgid "Clone a repository into a new directory"
 msgstr "克隆一个仓库到一个新目录"
 
-#: common-cmds.h:22
+#: command-list.h:72
+msgid "Display data in columns"
+msgstr "以列的方式显示数据"
+
+#: command-list.h:73
 msgid "Record changes to the repository"
 msgstr "记录变更到仓库"
 
-#: common-cmds.h:23
+#: command-list.h:74
+msgid "Write and verify Git commit graph files"
+msgstr "写入和校验 Git 提交图形文件"
+
+#: command-list.h:75
+msgid "Create a new commit object"
+msgstr "创建一个新的提交对象"
+
+#: command-list.h:76
+msgid "Get and set repository or global options"
+msgstr "获取和设置仓库或者全局选项"
+
+#: command-list.h:77
+msgid "Count unpacked number of objects and their disk consumption"
+msgstr "计算未打包对象的数量和磁盘空间占用"
+
+#: command-list.h:78
+msgid "Retrieve and store user credentials"
+msgstr "检索和存储用户密码"
+
+#: command-list.h:79
+msgid "Helper to temporarily store passwords in memory"
+msgstr "在内存中临时存储密码的助手"
+
+#: command-list.h:80
+msgid "Helper to store credentials on disk"
+msgstr "在磁盘存储密码的助手"
+
+#: command-list.h:81
+msgid "Export a single commit to a CVS checkout"
+msgstr "将一个提交导出到 CVS 检出中"
+
+#: command-list.h:82
+msgid "Salvage your data out of another SCM people love to hate"
+msgstr "从另外一个人们爱恨的配置管理系统中拯救你的数据"
+
+#: command-list.h:83
+msgid "A CVS server emulator for Git"
+msgstr "Git 的一个 CVS 服务模拟器"
+
+#: command-list.h:84
+msgid "A really simple server for Git repositories"
+msgstr "一个非常简单的 Git 仓库服务器"
+
+#: command-list.h:85
+msgid "Give an object a human readable name based on an available ref"
+msgstr "基于一个现存的引用为一个对象起一个可读的名称"
+
+#: command-list.h:86
 msgid "Show changes between commits, commit and working tree, etc"
 msgstr "显示提交之间、提交和工作区之间等的差异"
 
-#: common-cmds.h:24
+#: command-list.h:87
+msgid "Compares files in the working tree and the index"
+msgstr "比较工作区和索引区中的文件"
+
+#: command-list.h:88
+msgid "Compare a tree to the working tree or index"
+msgstr "将一个树和工作区或索引做比较"
+
+#: command-list.h:89
+msgid "Compares the content and mode of blobs found via two tree objects"
+msgstr "比较两个树对象的文件内容和模式"
+
+#: command-list.h:90
+msgid "Show changes using common diff tools"
+msgstr "使用常见的差异工具显示更改"
+
+#: command-list.h:91
+msgid "Git data exporter"
+msgstr "Git 数据导出器"
+
+#: command-list.h:92
+msgid "Backend for fast Git data importers"
+msgstr "Git 快速数据导入器后端"
+
+#: command-list.h:93
 msgid "Download objects and refs from another repository"
 msgstr "从另外一个仓库下载对象和引用"
 
-#: common-cmds.h:25
+#: command-list.h:94
+msgid "Receive missing objects from another repository"
+msgstr "从另一个仓库获取缺失的对象"
+
+#: command-list.h:95
+msgid "Rewrite branches"
+msgstr "重写分支"
+
+#: command-list.h:96
+msgid "Produce a merge commit message"
+msgstr "生成一个合并提交信息"
+
+#: command-list.h:97
+msgid "Output information on each ref"
+msgstr "对每一个引用输出信息 "
+
+#: command-list.h:98
+msgid "Prepare patches for e-mail submission"
+msgstr "准备电子邮件提交的补丁"
+
+#: command-list.h:99
+msgid "Verifies the connectivity and validity of the objects in the database"
+msgstr "验证仓库中对象的连通性和有效性"
+
+#: command-list.h:100
+msgid "Cleanup unnecessary files and optimize the local repository"
+msgstr "清除不必要的文件和优化本地仓库"
+
+#: command-list.h:101
+msgid "Extract commit ID from an archive created using git-archive"
+msgstr "从 git-archive 创建的归档文件中提取提交ID"
+
+#: command-list.h:102
 msgid "Print lines matching a pattern"
 msgstr "输出和模式匹配的行"
 
-#: common-cmds.h:26
+#: command-list.h:103
+msgid "A portable graphical interface to Git"
+msgstr "一个便携的 Git 图形客户端"
+
+#: command-list.h:104
+msgid "Compute object ID and optionally creates a blob from a file"
+msgstr "从一个文件计算对象ID,并可以创建 blob 数据对象"
+
+#: command-list.h:105
+msgid "Display help information about Git"
+msgstr "显示 Git 的帮助信息"
+
+#: command-list.h:106
+msgid "Server side implementation of Git over HTTP"
+msgstr "Git HTTP 协议的服务端实现"
+
+#: command-list.h:107
+msgid "Download from a remote Git repository via HTTP"
+msgstr "通过 HTTP 从远程 Git 仓库下载"
+
+#: command-list.h:108
+msgid "Push objects over HTTP/DAV to another repository"
+msgstr "通过 HTTP/DAV 推送对象另一个仓库"
+
+#: command-list.h:109
+msgid "Send a collection of patches from stdin to an IMAP folder"
+msgstr "从标准输入将一组补丁发送到IMAP文件夹"
+
+#: command-list.h:110
+msgid "Build pack index file for an existing packed archive"
+msgstr "从一个现存的包存档文件创建包索引"
+
+#: command-list.h:111
 msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr "创建一个空的 Git 仓库或重新初始化一个已存在的仓库"
 
-#: common-cmds.h:27
+#: command-list.h:112
+msgid "Instantly browse your working repository in gitweb"
+msgstr "在 gitweb 中即时浏览您的工作仓库"
+
+#: command-list.h:113
+msgid "add or parse structured information in commit messages"
+msgstr "添加或解析提交说明中的结构化信息"
+
+#: command-list.h:114
+msgid "The Git repository browser"
+msgstr "Git 仓库浏览器"
+
+#: command-list.h:115
 msgid "Show commit logs"
 msgstr "显示提交日志"
 
-#: common-cmds.h:28
+#: command-list.h:116
+msgid "Show information about files in the index and the working tree"
+msgstr "显示索引和工作区中文件的信息"
+
+#: command-list.h:117
+msgid "List references in a remote repository"
+msgstr "显示一个远程仓库的引用"
+
+#: command-list.h:118
+msgid "List the contents of a tree object"
+msgstr "显示一个树对象的内容"
+
+#: command-list.h:119
+msgid "Extracts patch and authorship from a single e-mail message"
+msgstr "从单个电子邮件中提取补丁和作者身份"
+
+#: command-list.h:120
+msgid "Simple UNIX mbox splitter program"
+msgstr "简单的 UNIX mbox 邮箱切分程序"
+
+#: command-list.h:121
 msgid "Join two or more development histories together"
 msgstr "合并两个或更多开发历史"
 
-#: common-cmds.h:29
+#: command-list.h:122
+msgid "Find as good common ancestors as possible for a merge"
+msgstr "为了合并查找尽可能好的公共祖先提交"
+
+#: command-list.h:123
+msgid "Run a three-way file merge"
+msgstr "运行一个三路文件合并"
+
+#: command-list.h:124
+msgid "Run a merge for files needing merging"
+msgstr "对于需要合并的文件执行合并"
+
+#: command-list.h:125
+msgid "The standard helper program to use with git-merge-index"
+msgstr "与 git-merge-index 一起使用的标准向导程序"
+
+#: command-list.h:126
+msgid "Run merge conflict resolution tools to resolve merge conflicts"
+msgstr "运行合并冲突解决工具以解决合并冲突"
+
+#: command-list.h:127
+msgid "Show three-way merge without touching index"
+msgstr "显示三路合并而不动索引"
+
+#: command-list.h:128
+msgid "Creates a tag object"
+msgstr "创建一个标签对象"
+
+#: command-list.h:129
+msgid "Build a tree-object from ls-tree formatted text"
+msgstr "基于 ls-tree 的格式化文本创建一个树对象"
+
+#: command-list.h:130
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "移动或重命名一个文件、目录或符号链接"
 
-#: common-cmds.h:30
+# 查找给定版本的符号名称
+#: command-list.h:131
+msgid "Find symbolic names for given revs"
+msgstr "查找给定版本的符号名称"
+
+#: command-list.h:132
+msgid "Add or inspect object notes"
+msgstr "添加或检查对象注释"
+
+#: command-list.h:133
+msgid "Import from and submit to Perforce repositories"
+msgstr "导入和提交到 Perforce 仓库中"
+
+#: command-list.h:134
+msgid "Create a packed archive of objects"
+msgstr "创建对象的存档包"
+
+#: command-list.h:135
+msgid "Find redundant pack files"
+msgstr "查找冗余的包文件"
+
+#: command-list.h:136
+msgid "Pack heads and tags for efficient repository access"
+msgstr "打包头和标签以实现高效的仓库访问"
+
+#: command-list.h:137
+msgid "Routines to help parsing remote repository access parameters"
+msgstr "帮助解析远程仓库访问参数的例程"
+
+#: command-list.h:138
+msgid "Compute unique ID for a patch"
+msgstr "计算一个补丁的唯一ID"
+
+#: command-list.h:139
+msgid "Prune all unreachable objects from the object database"
+msgstr "删除对象库中所有不可达对象"
+
+#: command-list.h:140
+msgid "Remove extra objects that are already in pack files"
+msgstr "删除已经在包文件中的多余对象"
+
+#: command-list.h:141
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "获取并整合另外的仓库或一个本地分支"
 
-#: common-cmds.h:31
+#: command-list.h:142
 msgid "Update remote refs along with associated objects"
 msgstr "更新远程引用和相关的对象"
 
-#: common-cmds.h:32
+#: command-list.h:143
+msgid "Applies a quilt patchset onto the current branch"
+msgstr "将一个 quilt 补丁集应用到当前分支。"
+
+#: command-list.h:144
+msgid "Reads tree information into the index"
+msgstr "将树信息读取到索引"
+
+#: command-list.h:145
 msgid "Reapply commits on top of another base tip"
 msgstr "在另一个分支上重新应用提交"
 
-#: common-cmds.h:33
+#: command-list.h:146
+msgid "Receive what is pushed into the repository"
+msgstr "接收推送到仓库中的对象"
+
+#: command-list.h:147
+msgid "Manage reflog information"
+msgstr "管理 reflog 信息"
+
+#: command-list.h:148
+msgid "Manage set of tracked repositories"
+msgstr "管理已跟踪仓库"
+
+#: command-list.h:149
+msgid "Pack unpacked objects in a repository"
+msgstr "打包仓库中未打包对象"
+
+#: command-list.h:150
+msgid "Create, list, delete refs to replace objects"
+msgstr "创建、列出、删除对象替换引用"
+
+#: command-list.h:151
+msgid "Generates a summary of pending changes"
+msgstr "生成待定更改的摘要"
+
+#: command-list.h:152
+msgid "Reuse recorded resolution of conflicted merges"
+msgstr "重用冲突合并的解决方案记录"
+
+#: command-list.h:153
 msgid "Reset current HEAD to the specified state"
 msgstr "重置当前 HEAD 到指定状态"
 
-#: common-cmds.h:34
+#: command-list.h:154
+msgid "Revert some existing commits"
+msgstr "回退一些现存提交"
+
+#: command-list.h:155
+msgid "Lists commit objects in reverse chronological order"
+msgstr "按时间顺序列出提交对象"
+
+#: command-list.h:156
+msgid "Pick out and massage parameters"
+msgstr "选出并处理参数"
+
+#: command-list.h:157
 msgid "Remove files from the working tree and from the index"
 msgstr "从工作区和索引中删除文件"
 
-#: common-cmds.h:35
+#: command-list.h:158
+msgid "Send a collection of patches as emails"
+msgstr "通过电子邮件发送一组补丁"
+
+#: command-list.h:159
+msgid "Push objects over Git protocol to another repository"
+msgstr "使用 Git 协议推送对象到另一个仓库"
+
+#: command-list.h:160
+msgid "Restricted login shell for Git-only SSH access"
+msgstr "只允许 Git SSH 访问的受限登录shell"
+
+#: command-list.h:161
+msgid "Summarize 'git log' output"
+msgstr "'git log' 输出摘要"
+
+#: command-list.h:162
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
-#: common-cmds.h:36
+#: command-list.h:163
+msgid "Show branches and their commits"
+msgstr "显示分支和提交"
+
+#: command-list.h:164
+msgid "Show packed archive index"
+msgstr "显示打包归档索引"
+
+#: command-list.h:165
+msgid "List references in a local repository"
+msgstr "显示本地仓库中的引用"
+
+#: command-list.h:166
+msgid "Git's i18n setup code for shell scripts"
+msgstr "为 shell 脚本准备的 Git 国际化设置代码"
+
+#: command-list.h:167
+msgid "Common Git shell script setup code"
+msgstr "常用的 Git shell 脚本设置代码"
+
+#: command-list.h:168
+msgid "Stash the changes in a dirty working directory away"
+msgstr "贮藏脏工作区中的修改"
+
+#: command-list.h:169
+msgid "Add file contents to the staging area"
+msgstr "将文件内容添加到索引"
+
+#: command-list.h:170
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: common-cmds.h:37
+#: command-list.h:171
+msgid "Remove unnecessary whitespace"
+msgstr "删除不必要的空白字符"
+
+#: command-list.h:172
+msgid "Initialize, update or inspect submodules"
+msgstr "初始化、更新或检查子模组"
+
+#: command-list.h:173
+msgid "Bidirectional operation between a Subversion repository and Git"
+msgstr "Subersion 仓库和 Git 之间的双向操作"
+
+#: command-list.h:174
+msgid "Read, modify and delete symbolic refs"
+msgstr "读取、修改和删除符号引用"
+
+#: command-list.h:175
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
-#: parse-options.h:157
-msgid "expiry-date"
-msgstr "到期时间"
+#: command-list.h:176
+msgid "Creates a temporary file with a blob's contents"
+msgstr "用 blob 数据对象的内容创建一个临时文件"
 
-#: parse-options.h:172
-msgid "no-op (backward compatibility)"
-msgstr "空操作(向后兼容)"
+#: command-list.h:177
+msgid "Unpack objects from a packed archive"
+msgstr "从打包文件中解压缩对象"
 
-#: parse-options.h:250
-msgid "be more verbose"
-msgstr "更加详细"
+#: command-list.h:178
+msgid "Register file contents in the working tree to the index"
+msgstr "将工作区的文件内容注册到索引"
 
-#: parse-options.h:252
-msgid "be more quiet"
-msgstr "更加安静"
+#: command-list.h:179
+msgid "Update the object name stored in a ref safely"
+msgstr "安全地更新存储于引用中的对象名称"
 
-#: parse-options.h:258
-msgid "use <n> digits to display SHA-1s"
-msgstr "用 <n> 位数字显示 SHA-1 哈希值"
+#: command-list.h:180
+msgid "Update auxiliary info file to help dumb servers"
+msgstr "更新辅助信息文件以帮助哑协议服务"
+
+#: command-list.h:181
+msgid "Send archive back to git-archive"
+msgstr "将存档发送回 git-archive"
+
+#: command-list.h:182
+msgid "Send objects packed back to git-fetch-pack"
+msgstr "将对象压缩包发送回 git-fetch-pack"
+
+#: command-list.h:183
+msgid "Show a Git logical variable"
+msgstr "显示一个Git逻辑变量"
+
+#: command-list.h:184
+msgid "Check the GPG signature of commits"
+msgstr "检查 GPG 提交签名"
+
+#: command-list.h:185
+msgid "Validate packed Git archive files"
+msgstr "校验打包的Git存仓文件"
+
+#: command-list.h:186
+msgid "Check the GPG signature of tags"
+msgstr "检查标签的 GPG 签名"
+
+#: command-list.h:187
+msgid "Git web interface (web frontend to Git repositories)"
+msgstr "Git web 界面(Git 仓库的 web 前端)"
+
+#: command-list.h:188
+msgid "Show logs with difference each commit introduces"
+msgstr "显示每一个提交引入的差异日志"
+
+#: command-list.h:189
+msgid "Manage multiple working trees"
+msgstr "管理多个工作区"
+
+#: command-list.h:190
+msgid "Create a tree object from the current index"
+msgstr "从当前索引创建一个树对象"
+
+#: command-list.h:191
+msgid "Defining attributes per path"
+msgstr "定义路径的属性"
+
+#: command-list.h:192
+msgid "Git command-line interface and conventions"
+msgstr "Git 命令行界面和约定"
+
+#: command-list.h:193
+msgid "A Git core tutorial for developers"
+msgstr "面向开发人员的 Git 核心教程"
+
+#: command-list.h:194
+msgid "Git for CVS users"
+msgstr "适合 CVS 用户的 Git 帮助"
+
+#: command-list.h:195
+msgid "Tweaking diff output"
+msgstr "调整差异输出"
+
+#: command-list.h:196
+msgid "A useful minimum set of commands for Everyday Git"
+msgstr "每一天 Git 的一组有用的最小命令集合"
+
+#: command-list.h:197
+msgid "A Git Glossary"
+msgstr "Git 词汇表"
+
+#: command-list.h:198
+msgid "Hooks used by Git"
+msgstr "Git 使用的钩子"
+
+#: command-list.h:199
+msgid "Specifies intentionally untracked files to ignore"
+msgstr "忽略指定的未跟踪文件"
+
+#: command-list.h:200
+msgid "Defining submodule properties"
+msgstr "定义子模组属性"
+
+#: command-list.h:201
+msgid "Git namespaces"
+msgstr "Git 名字空间"
+
+#: command-list.h:202
+msgid "Git Repository Layout"
+msgstr "Git 仓库布局"
+
+#: command-list.h:203
+msgid "Specifying revisions and ranges for Git"
+msgstr "指定 Git 的版本和版本范围"
+
+#: command-list.h:204
+msgid "A tutorial introduction to Git: part two"
+msgstr "一个 Git 教程:第二部分"
+
+#: command-list.h:205
+msgid "A tutorial introduction to Git"
+msgstr "一个 Git 教程"
+
+#: command-list.h:206
+msgid "An overview of recommended workflows with Git"
+msgstr "Git 推荐的工作流概览"
 
 #: rerere.h:40
 msgid "update the index with reused conflict resolution if possible"
@@ -15132,7 +16184,7 @@ msgstr "尝试和 $pretty_name 的简单合并"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "简单合并未生效,尝试自动合并。"
 
-#: git-rebase.sh:60
+#: git-rebase.sh:61
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -15145,41 +16197,41 @@ msgstr ""
 "\"git rebase --skip\" 命令跳过这个提交。如果想要终止执行并回到\n"
 "\"git rebase\" 执行之前的状态,执行 \"git rebase --abort\"。"
 
-#: git-rebase.sh:163 git-rebase.sh:409
+#: git-rebase.sh:173 git-rebase.sh:442
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:174
+#: git-rebase.sh:184
 msgid "Applied autostash."
 msgstr "成功应用 autostash。"
 
-#: git-rebase.sh:177
+#: git-rebase.sh:187
 #, sh-format
 msgid "Cannot store $stash_sha1"
 msgstr "无法保存 $stash_sha1"
 
-#: git-rebase.sh:218
+#: git-rebase.sh:229
 msgid "The pre-rebase hook refused to rebase."
 msgstr "钩子 pre-rebase 拒绝变基操作。"
 
-#: git-rebase.sh:223
+#: git-rebase.sh:234
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "看起来 'git-am' 正在执行中。无法变基。"
 
-#: git-rebase.sh:370
+#: git-rebase.sh:403
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: git-rebase.sh:381
+#: git-rebase.sh:414
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:388
+#: git-rebase.sh:421
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:391
+#: git-rebase.sh:424
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -15187,7 +16239,7 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:435
+#: git-rebase.sh:468
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -15206,74 +16258,78 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:491
+#: git-rebase.sh:509
+msgid "error: cannot combine '--signoff' with '--preserve-merges'"
+msgstr "错误:不能组合参数 '--signoff' 和 '--preserve-merges'"
+
+#: git-rebase.sh:537
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "无效的上游 '$upstream_name'"
 
-#: git-rebase.sh:515
+#: git-rebase.sh:561
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:518 git-rebase.sh:522
+#: git-rebase.sh:564 git-rebase.sh:568
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:527
+#: git-rebase.sh:573
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:553
+#: git-rebase.sh:599
 #, sh-format
 msgid "fatal: no such branch/commit '$branch_name'"
 msgstr "严重错误:无此分支/提交 '$branch_name'"
 
-#: git-rebase.sh:586
+#: git-rebase.sh:632
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:591
+#: git-rebase.sh:637
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:595
+#: git-rebase.sh:641
 msgid "Please commit or stash them."
 msgstr "请提交或贮藏修改。"
 
-#: git-rebase.sh:618
+#: git-rebase.sh:664
 #, sh-format
 msgid "HEAD is up to date."
 msgstr "HEAD 是最新的。"
 
-#: git-rebase.sh:620
+#: git-rebase.sh:666
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:628
+#: git-rebase.sh:674
 #, sh-format
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD 是最新的,强制变基。"
 
-#: git-rebase.sh:630
+#: git-rebase.sh:676
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:642
+#: git-rebase.sh:688
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:651
+#: git-rebase.sh:697
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:661
+#: git-rebase.sh:707
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -15341,109 +16397,109 @@ msgstr "无法保存当前状态"
 msgid "Saved working directory and index state $stash_msg"
 msgstr "保存工作目录和索引状态 $stash_msg"
 
-#: git-stash.sh:340
+#: git-stash.sh:342
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: git-stash.sh:488
+#: git-stash.sh:490
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-stash.sh:501
+#: git-stash.sh:503
 msgid "No stash entries found."
 msgstr "未发现贮藏条目。"
 
-#: git-stash.sh:508
+#: git-stash.sh:510
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-stash.sh:523
+#: git-stash.sh:525
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-stash.sh:551
+#: git-stash.sh:553
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是贮藏式提交"
 
-#: git-stash.sh:562
+#: git-stash.sh:564
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个贮藏引用"
 
-#: git-stash.sh:570
+#: git-stash.sh:572
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-stash.sh:574
+#: git-stash.sh:576
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程应用贮藏"
 
-#: git-stash.sh:582
+#: git-stash.sh:584
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-stash.sh:584
+#: git-stash.sh:586
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-stash.sh:593
+#: git-stash.sh:595
 msgid "Could not restore untracked files from stash entry"
 msgstr "无法从贮藏条目中恢复未跟踪文件"
 
-#: git-stash.sh:618
+#: git-stash.sh:620
 msgid "Cannot unstage modified files"
 msgstr "无法将修改的文件取消暂存"
 
-#: git-stash.sh:633
+#: git-stash.sh:635
 msgid "Index was not unstashed."
 msgstr "索引未从贮藏中恢复。"
 
-#: git-stash.sh:647
+#: git-stash.sh:649
 msgid "The stash entry is kept in case you need it again."
 msgstr "贮藏条目被保留以备您再次需要。"
 
-#: git-stash.sh:656
+#: git-stash.sh:658
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-stash.sh:657
+#: git-stash.sh:659
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:无法丢弃贮藏条目"
 
-#: git-stash.sh:665
+#: git-stash.sh:667
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: git-stash.sh:744
+#: git-stash.sh:746
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:181
+#: git-submodule.sh:188
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:191
+#: git-submodule.sh:198
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:217
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:213
+#: git-submodule.sh:220
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' 已经存在于索引中且不是一个子模组"
 
-#: git-submodule.sh:219
+#: git-submodule.sh:226
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -15454,22 +16510,22 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:237
+#: git-submodule.sh:249
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "添加位于 '$sm_path' 的现存仓库到索引"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:251
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' 已存在且不是一个有效的 git 仓库"
 
-#: git-submodule.sh:247
+#: git-submodule.sh:259
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程仓库:"
 
-#: git-submodule.sh:249
+#: git-submodule.sh:261
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -15484,59 +16540,59 @@ msgstr ""
 "使用 '--force' 选项。如果本地 git 目录不是正确的仓库\n"
 "或者您不确定这里的含义,使用 '--name' 选项选择另外的名称。"
 
-#: git-submodule.sh:255
+#: git-submodule.sh:267
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:267
+#: git-submodule.sh:279
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:272
+#: git-submodule.sh:284
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:281
+#: git-submodule.sh:293
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:342
+#: git-submodule.sh:354
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "正在进入 '$displaypath'"
 
-#: git-submodule.sh:362
+#: git-submodule.sh:374
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "停止于 '$displaypath';脚本返回非零值。"
 
-#: git-submodule.sh:584
+#: git-submodule.sh:600
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:594
+#: git-submodule.sh:610
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:599
+#: git-submodule.sh:615
 #, 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:617
+#: git-submodule.sh:633
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:623
+#: git-submodule.sh:639
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -15544,74 +16600,74 @@ msgid ""
 msgstr ""
 "获取了子模组路径 '$displaypath',但是它没有包含 $sha1。直接获取该提交失败。"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:646
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:647
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:635
+#: git-submodule.sh:651
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:652
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:641
+#: git-submodule.sh:657
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:642
+#: git-submodule.sh:658
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:647
+#: git-submodule.sh:663
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr "在子模组 '$displaypath' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:648
+#: git-submodule.sh:664
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "子模组 '$displaypath':'$command $sha1'"
 
-#: git-submodule.sh:679
+#: git-submodule.sh:695
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:775
+#: git-submodule.sh:791
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:827
+#: git-submodule.sh:843
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:847
+#: git-submodule.sh:863
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:850
+#: git-submodule.sh:866
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:853
+#: git-submodule.sh:869
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
@@ -15621,38 +16677,50 @@ msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 msgid "See git-${cmd}(1) for details."
 msgstr "详见 git-${cmd}(1)。"
 
-#: git-rebase--interactive.sh:140
+#: git-rebase--interactive.sh:142
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "变基中($new_count/$total)"
 
-#: git-rebase--interactive.sh:156
+#: git-rebase--interactive.sh:158
 msgid ""
 "\n"
 "Commands:\n"
-"p, pick = use commit\n"
-"r, reword = use commit, but edit the commit message\n"
-"e, edit = use commit, but stop for amending\n"
-"s, squash = use commit, but meld into previous commit\n"
-"f, fixup = like \"squash\", but discard this commit's log message\n"
-"x, exec = run command (the rest of the line) using shell\n"
-"d, drop = remove commit\n"
+"p, pick <commit> = use commit\n"
+"r, reword <commit> = use commit, but edit the commit message\n"
+"e, edit <commit> = use commit, but stop for amending\n"
+"s, squash <commit> = use commit, but meld into previous commit\n"
+"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"x, exec <command> = run command (the rest of the line) using shell\n"
+"d, drop <commit> = remove commit\n"
+"l, label <label> = label current HEAD with a name\n"
+"t, reset <label> = reset HEAD to a label\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       create a merge commit using the original merge commit's\n"
+".       message (or the oneline, if no original merge commit was\n"
+".       specified). Use -c <commit> to reword the commit message.\n"
 "\n"
 "These lines can be re-ordered; they are executed from top to bottom.\n"
 msgstr ""
 "\n"
 "命令:\n"
-"p, pick = 使用提交\n"
-"r, reword = 使用提交,但修改提交说明\n"
-"e, edit = 使用提交,但停止以便进行提交修补\n"
-"s, squash = 使用提交,但和前一个版本融合\n"
-"f, fixup = 类似于 \"squash\",但丢弃提交说明日志\n"
-"x, exec = 使用 shell 运行命令(此行剩余部分)\n"
-"d, drop = 删除提交\n"
+"p, pick <提交> = 使用提交\n"
+"r, reword <提交> = 使用提交,但修改提交说明\n"
+"e, edit <提交> = 使用提交,进入 shell 以便进行提交修补\n"
+"s, squash <提交> = 使用提交,但融合到前一个提交\n"
+"f, fixup <提交> = 类似于 \"squash\",但丢弃提交说明日志\n"
+"x, exec <命令> = 使用 shell 运行命令(此行剩余部分)\n"
+"d, drop <提交> = 删除提交\n"
+"l, label <label> = 为当前 HEAD 打上标记\n"
+"t, reset <label> = 重置 HEAD 到该标记\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       创建一个合并提交,并使用原始的合并提交说明(如果没有指定\n"
+".       原始提交,使用注释部分的 oneline 作为提交说明)。使用\n"
+".       -c <提交> 可以编辑提交说明。\n"
 "\n"
-"这些行可以被重新排序;它们会被从上至下地执行。\n"
+"可以对这些行重新排序,将从上至下执行。\n"
 
-#: git-rebase--interactive.sh:171
+#: git-rebase--interactive.sh:179
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -15660,7 +16728,7 @@ msgstr ""
 "\n"
 "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n"
 
-#: git-rebase--interactive.sh:175
+#: git-rebase--interactive.sh:183
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -15668,7 +16736,7 @@ msgstr ""
 "\n"
 "如果您在这里删除一行,对应的提交将会丢失。\n"
 
-#: git-rebase--interactive.sh:213
+#: git-rebase--interactive.sh:221
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -15687,83 +16755,83 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:238
+#: git-rebase--interactive.sh:246
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1:不是一个可以被拣选的提交"
 
-#: git-rebase--interactive.sh:277
+#: git-rebase--interactive.sh:285
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "无效的提交名:$sha1"
 
-#: git-rebase--interactive.sh:319
+#: git-rebase--interactive.sh:325
 msgid "Cannot write current commit's replacement sha1"
 msgstr "不能写入当前提交的替代 sha1"
 
-#: git-rebase--interactive.sh:371
+#: git-rebase--interactive.sh:376
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "快进到 $sha1"
 
-#: git-rebase--interactive.sh:373
+#: git-rebase--interactive.sh:378
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "不能快进到 $sha1"
 
-#: git-rebase--interactive.sh:382
+#: git-rebase--interactive.sh:387
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "不能移动 HEAD 到 $first_parent"
 
-#: git-rebase--interactive.sh:387
+#: git-rebase--interactive.sh:392
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "拒绝压缩一个合并:$sha1"
 
-#: git-rebase--interactive.sh:405
+#: git-rebase--interactive.sh:410
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "无法重做合并 $sha1"
 
-#: git-rebase--interactive.sh:414
+#: git-rebase--interactive.sh:419
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "不能拣选 $sha1"
 
-#: git-rebase--interactive.sh:423
+#: git-rebase--interactive.sh:428
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "这是提交说明 #${n}:"
 
-#: git-rebase--interactive.sh:428
+#: git-rebase--interactive.sh:433
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "提交说明 #${n} 将被跳过:"
 
-#: git-rebase--interactive.sh:439
+#: git-rebase--interactive.sh:444
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "这是一个 $count 个提交的组合。"
 msgstr[1] "这是一个 $count 个提交的组合。"
 
-#: git-rebase--interactive.sh:448
+#: git-rebase--interactive.sh:453
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "不能写入 $fixup_msg"
 
-#: git-rebase--interactive.sh:451
+#: git-rebase--interactive.sh:456
 msgid "This is a combination of 2 commits."
 msgstr "这是一个 2 个提交的组合。"
 
-#: git-rebase--interactive.sh:492 git-rebase--interactive.sh:535
-#: git-rebase--interactive.sh:538
+#: git-rebase--interactive.sh:497 git-rebase--interactive.sh:540
+#: git-rebase--interactive.sh:543
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "不能应用 $sha1... $rest"
 
-#: git-rebase--interactive.sh:567
+#: git-rebase--interactive.sh:572
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -15776,32 +16844,32 @@ msgstr ""
 "这通常是因为空的提交说明,或者 pre-commit 钩子执行失败。如果是 pre-commit\n"
 "钩子执行失败,你可能需要在重写提交说明前解决这个问题。"
 
-#: git-rebase--interactive.sh:582
+#: git-rebase--interactive.sh:587
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "停止在 $sha1_abbrev... $rest"
 
-#: git-rebase--interactive.sh:597
+#: git-rebase--interactive.sh:602
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "没有父提交的情况下不能 '$squash_style'"
 
-#: git-rebase--interactive.sh:639
+#: git-rebase--interactive.sh:644
 #, sh-format
 msgid "Executing: $rest"
 msgstr "执行:$rest"
 
-#: git-rebase--interactive.sh:647
+#: git-rebase--interactive.sh:652
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "执行失败:$rest"
 
-#: git-rebase--interactive.sh:649
+#: git-rebase--interactive.sh:654
 msgid "and made changes to the index and/or the working tree"
 msgstr "并且修改索引和/或工作区"
 
 #  译者:注意保持前导空格
-#: git-rebase--interactive.sh:651
+#: git-rebase--interactive.sh:656
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -15812,7 +16880,7 @@ msgstr ""
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:664
+#: git-rebase--interactive.sh:669
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -15826,29 +16894,29 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:675
+#: git-rebase--interactive.sh:680
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "未知命令:$command $sha1 $rest"
 
-#: git-rebase--interactive.sh:676
+#: git-rebase--interactive.sh:681
 msgid "Please fix this using 'git rebase --edit-todo'."
 msgstr "要修改请使用命令 'git rebase --edit-todo'。"
 
-#: git-rebase--interactive.sh:711
+#: git-rebase--interactive.sh:716
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "成功变基并更新 $head_name。"
 
-#: git-rebase--interactive.sh:735
+#: git-rebase--interactive.sh:740
 msgid "could not detach HEAD"
 msgstr "不能检出为分离头指针"
 
-#: git-rebase--interactive.sh:771
+#: git-rebase--interactive.sh:778
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "不能删除 CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:776
+#: git-rebase--interactive.sh:783
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -15877,22 +16945,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:793
+#: git-rebase--interactive.sh:800
 msgid "Error trying to find the author identity to amend commit"
 msgstr "在修补提交中查找作者信息时遇到错误"
 
-#: git-rebase--interactive.sh:798
+#: git-rebase--interactive.sh:805
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
 msgstr ""
 "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。"
 
-#: git-rebase--interactive.sh:803 git-rebase--interactive.sh:807
+#: git-rebase--interactive.sh:810 git-rebase--interactive.sh:814
 msgid "Could not commit staged changes."
 msgstr "不能提交暂存的修改。"
 
-#: git-rebase--interactive.sh:836
+#: git-rebase--interactive.sh:843
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -15906,57 +16974,59 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:844 git-rebase--interactive.sh:1008
+#: git-rebase--interactive.sh:851 git-rebase--interactive.sh:937
 msgid "Could not execute editor"
 msgstr "无法运行编辑器"
 
-#: git-rebase--interactive.sh:860
+#: git-rebase--interactive.sh:872
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "不能检出 $switch_to"
 
-#: git-rebase--interactive.sh:865
+#: git-rebase--interactive.sh:879
 msgid "No HEAD?"
 msgstr "没有 HEAD?"
 
-#: git-rebase--interactive.sh:866
+#: git-rebase--interactive.sh:880
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "不能创建临时 $state_dir"
 
-#: git-rebase--interactive.sh:869
+#: git-rebase--interactive.sh:883
 msgid "Could not mark as interactive"
 msgstr "不能标记为交互式"
 
-#: git-rebase--interactive.sh:879 git-rebase--interactive.sh:884
-msgid "Could not init rewritten commits"
-msgstr "不能对重写提交进行初始化"
-
-#: git-rebase--interactive.sh:910
-msgid "Could not generate todo list"
-msgstr "无法生成待办列表"
-
-#: git-rebase--interactive.sh:986
+#: git-rebase--interactive.sh:915
 #, 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:991
+#: git-rebase--interactive.sh:920
 msgid ""
 "\n"
-"However, if you remove everything, the rebase will be aborted.\n"
+"\tHowever, if you remove everything, the rebase will be aborted.\n"
 "\n"
+"\t"
 msgstr ""
 "\n"
-"然而,如果您删除全部内容,变基操作将会终止。\n"
+"\t然而,如果您删除全部内容,变基操作将会终止。\n"
 "\n"
+"\t"
 
-#: git-rebase--interactive.sh:998
+#: git-rebase--interactive.sh:927
 msgid "Note that empty commits are commented out"
 msgstr "注意空提交已被注释掉"
 
+#: git-rebase--interactive.sh:980
+msgid "Could not generate todo list"
+msgstr "无法生成待办列表"
+
+#: git-rebase--interactive.sh:1001 git-rebase--interactive.sh:1006
+msgid "Could not init rewritten commits"
+msgstr "不能对重写提交进行初始化"
+
 #: git-sh-setup.sh:89 git-sh-setup.sh:94
 #, sh-format
 msgid "usage: $dashless $USAGE"
@@ -16028,107 +17098,107 @@ msgstr "缓存"
 msgid "unstaged"
 msgstr "未缓存"
 
-#: git-add--interactive.perl:246 git-add--interactive.perl:271
+#: git-add--interactive.perl:253 git-add--interactive.perl:278
 msgid "binary"
 msgstr "二进制"
 
-#: git-add--interactive.perl:255 git-add--interactive.perl:309
+#: git-add--interactive.perl:262 git-add--interactive.perl:316
 msgid "nothing"
 msgstr "无"
 
-#: git-add--interactive.perl:291 git-add--interactive.perl:306
+#: git-add--interactive.perl:298 git-add--interactive.perl:313
 msgid "unchanged"
 msgstr "没有修改"
 
-#: git-add--interactive.perl:602
+#: git-add--interactive.perl:609
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "增加了 %d 个路径\n"
 msgstr[1] "增加了 %d 个路径\n"
 
-#: git-add--interactive.perl:605
+#: git-add--interactive.perl:612
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "更新了 %d 个路径\n"
 msgstr[1] "更新了 %d 个路径\n"
 
-#: git-add--interactive.perl:608
+#: git-add--interactive.perl:615
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "还原了 %d 个路径\n"
 msgstr[1] "还原了 %d 个路径\n"
 
-#: git-add--interactive.perl:611
+#: git-add--interactive.perl:618
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "触碰了 %d 个路径\n"
 msgstr[1] "触碰了 %d 个路径\n"
 
-#: git-add--interactive.perl:620
+#: git-add--interactive.perl:627
 msgid "Update"
 msgstr "更新"
 
-#: git-add--interactive.perl:632
+#: git-add--interactive.perl:639
 msgid "Revert"
 msgstr "还原"
 
-#: git-add--interactive.perl:655
+#: git-add--interactive.perl:662
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "说明:%s 现已成为未跟踪的。\n"
 
-#: git-add--interactive.perl:666
+#: git-add--interactive.perl:673
 msgid "Add untracked"
 msgstr "添加未跟踪的"
 
-#: git-add--interactive.perl:672
+#: git-add--interactive.perl:679
 msgid "No untracked files.\n"
 msgstr "没有未跟踪的文件。\n"
 
-#: git-add--interactive.perl:1026
+#: git-add--interactive.perl:1033
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为暂存。"
 
-#: git-add--interactive.perl:1029
+#: git-add--interactive.perl:1036
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为贮藏。"
 
-#: git-add--interactive.perl:1032
+#: git-add--interactive.perl:1039
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为未暂存。"
 
-#: git-add--interactive.perl:1035 git-add--interactive.perl:1044
+#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为应用。"
 
-#: git-add--interactive.perl:1038 git-add--interactive.perl:1041
+#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr "如果补丁能干净地应用,编辑块将立即标记为丢弃。"
 
-#: git-add--interactive.perl:1078
+#: git-add--interactive.perl:1085
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "无法写入块编辑文件:%s"
 
-#: git-add--interactive.perl:1079
+#: git-add--interactive.perl:1086
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr "手动块编辑模式 -- 查看底部的快速指南。\n"
 
-#: git-add--interactive.perl:1085
+#: git-add--interactive.perl:1092
 #, perl-format
 msgid ""
 "---\n"
@@ -16142,7 +17212,7 @@ msgstr ""
 "以 %s 开始的行将被删除。\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1093
+#: git-add--interactive.perl:1100
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
@@ -16151,7 +17221,7 @@ msgstr ""
 "如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n"
 "此次编辑被终止,该块不会被修改。\n"
 
-#: git-add--interactive.perl:1107
+#: git-add--interactive.perl:1114
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "无法读取块编辑文件:%s"
@@ -16162,12 +17232,12 @@ msgstr "无法读取块编辑文件:%s"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: git-add--interactive.perl:1206
+#: git-add--interactive.perl:1213
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? "
 
-#: git-add--interactive.perl:1215
+#: git-add--interactive.perl:1222
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -16181,7 +17251,7 @@ msgstr ""
 "a - 暂存该块和本文件中后面的全部块\n"
 "d - 不暂存该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1221
+#: git-add--interactive.perl:1228
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -16195,7 +17265,7 @@ msgstr ""
 "a - 贮藏该块和本文件中后面的全部块\n"
 "d - 不贮藏该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1227
+#: git-add--interactive.perl:1234
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -16209,7 +17279,7 @@ msgstr ""
 "a - 不暂存该块和本文件中后面的全部块\n"
 "d - 不要不暂存该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1233
+#: git-add--interactive.perl:1240
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -16223,7 +17293,7 @@ msgstr ""
 "a - 应用该块和本文件中后面的全部块\n"
 "d - 不要应用该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1239
+#: git-add--interactive.perl:1246
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -16237,7 +17307,7 @@ msgstr ""
 "a - 丢弃该块和本文件中后面的全部块\n"
 "d - 不要丢弃该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1245
+#: git-add--interactive.perl:1252
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -16251,7 +17321,7 @@ msgstr ""
 "a - 丢弃该块和本文件中后面的全部块\n"
 "d - 不要丢弃该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1251
+#: git-add--interactive.perl:1258
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -16265,7 +17335,7 @@ msgstr ""
 "a - 应用该块和本文件中后面的全部块\n"
 "d - 不要应用该块和本文件中后面的全部块"
 
-#: git-add--interactive.perl:1266
+#: git-add--interactive.perl:1273
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -16287,211 +17357,211 @@ msgstr ""
 "e - 手动编辑当前块\n"
 "? - 显示帮助\n"
 
-#: git-add--interactive.perl:1297
+#: git-add--interactive.perl:1304
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "选中的块不能应用到索引!\n"
 
-#: git-add--interactive.perl:1298
+#: git-add--interactive.perl:1305
 msgid "Apply them to the worktree anyway? "
 msgstr "无论如何都要应用到工作区么?"
 
-#: git-add--interactive.perl:1301
+#: git-add--interactive.perl:1308
 msgid "Nothing was applied.\n"
 msgstr "未应用。\n"
 
-#: git-add--interactive.perl:1312
+#: git-add--interactive.perl:1319
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "忽略未合入的:%s\n"
 
-#: git-add--interactive.perl:1321
+#: git-add--interactive.perl:1328
 msgid "Only binary files changed.\n"
 msgstr "只有二进制文件被修改。\n"
 
-#: git-add--interactive.perl:1323
+#: git-add--interactive.perl:1330
 msgid "No changes.\n"
 msgstr "没有修改。\n"
 
-#: git-add--interactive.perl:1331
+#: git-add--interactive.perl:1338
 msgid "Patch update"
 msgstr "补丁更新"
 
-#: git-add--interactive.perl:1383
+#: git-add--interactive.perl:1390
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr "暂存模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1384
+#: git-add--interactive.perl:1391
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr "暂存删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1385
+#: git-add--interactive.perl:1392
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
 msgstr "暂存该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1388
+#: git-add--interactive.perl:1395
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr "贮藏模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1389
+#: git-add--interactive.perl:1396
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr "贮藏删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1397
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
 msgstr "贮藏该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1393
+#: git-add--interactive.perl:1400
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr "取消暂存模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1394
+#: git-add--interactive.perl:1401
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr "取消暂存删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1395
+#: git-add--interactive.perl:1402
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
 msgstr "取消暂存该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1398
+#: git-add--interactive.perl:1405
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr "将模式变更应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1399
+#: git-add--interactive.perl:1406
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr "将删除应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1400
+#: git-add--interactive.perl:1407
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
 msgstr "将该块应用到索引 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1403
+#: git-add--interactive.perl:1410
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1404
+#: git-add--interactive.perl:1411
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃删除动作 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1405
+#: git-add--interactive.perl:1412
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
 msgstr "从工作区中丢弃该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1408
+#: git-add--interactive.perl:1415
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃模式变更 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1409
+#: git-add--interactive.perl:1416
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃删除 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1410
+#: git-add--interactive.perl:1417
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "从索引和工作区中丢弃该块 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1413
+#: git-add--interactive.perl:1420
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将模式变更应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1414
+#: git-add--interactive.perl:1421
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将删除应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1415
+#: git-add--interactive.perl:1422
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "将该块应用到索引和工作区 [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1515
+#: git-add--interactive.perl:1522
 msgid "No other hunks to goto\n"
 msgstr "没有其它可供跳转的块\n"
 
-#: git-add--interactive.perl:1522
+#: git-add--interactive.perl:1529
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "跳转到哪个块(<回车> 查看更多)? "
 
-#: git-add--interactive.perl:1524
+#: git-add--interactive.perl:1531
 msgid "go to which hunk? "
 msgstr "跳转到哪个块?"
 
-#: git-add--interactive.perl:1533
+#: git-add--interactive.perl:1540
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "无效数字:'%s'\n"
 
-#: git-add--interactive.perl:1538
+#: git-add--interactive.perl:1545
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "对不起,只有 %d 个可用块。\n"
 msgstr[1] "对不起,只有 %d 个可用块。\n"
 
-#: git-add--interactive.perl:1564
+#: git-add--interactive.perl:1571
 msgid "No other hunks to search\n"
 msgstr "没有其它可供查找的块\n"
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1575
 msgid "search for regex? "
 msgstr "使用正则表达式搜索?"
 
-#: git-add--interactive.perl:1581
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "错误的正则表达式 %s:%s\n"
 
-#: git-add--interactive.perl:1591
+#: git-add--interactive.perl:1598
 msgid "No hunk matches the given pattern\n"
 msgstr "没有和给定模式相匹配的快\n"
 
-#: git-add--interactive.perl:1603 git-add--interactive.perl:1625
+#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
 msgid "No previous hunk\n"
 msgstr "没有前一个块\n"
 
-#: git-add--interactive.perl:1612 git-add--interactive.perl:1631
+#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
 msgid "No next hunk\n"
 msgstr "没有下一个块\n"
 
-#: git-add--interactive.perl:1637
+#: git-add--interactive.perl:1644
 msgid "Sorry, cannot split this hunk\n"
 msgstr "对不起,不能拆分这个块\n"
 
-#: git-add--interactive.perl:1643
+#: git-add--interactive.perl:1650
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "拆分为 %d 块。\n"
 msgstr[1] "拆分为 %d 块。\n"
 
-#: git-add--interactive.perl:1653
+#: git-add--interactive.perl:1660
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "对不起,不能编辑这个块\n"
 
-#: git-add--interactive.perl:1699
+#: git-add--interactive.perl:1706
 msgid "Review diff"
 msgstr "检视 diff"
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1718
+#: git-add--interactive.perl:1725
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -16508,18 +17578,18 @@ msgstr ""
 "diff          - 显示 HEAD 和索引间差异\n"
 "add untracked - 添加未跟踪文件的内容至暂存列表\n"
 
-#: git-add--interactive.perl:1735 git-add--interactive.perl:1740
-#: git-add--interactive.perl:1743 git-add--interactive.perl:1750
-#: git-add--interactive.perl:1754 git-add--interactive.perl:1760
+#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
+#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
+#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
 msgid "missing --"
 msgstr "缺失 --"
 
-#: git-add--interactive.perl:1756
+#: git-add--interactive.perl:1763
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "未知的 --patch 模式:%s"
 
-#: git-add--interactive.perl:1762 git-add--interactive.perl:1768
+#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "无效的参数 %s,期望是 --"
@@ -16725,7 +17795,7 @@ msgstr "如何处理这个地址?([q]uit|[d]rop|[e]dit):"
 msgid "CA path \"%s\" does not exist"
 msgstr "CA 路径 \"%s\" 不存在"
 
-#: git-send-email.perl:1395
+#: git-send-email.perl:1400
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -16747,135 +17817,165 @@ msgstr ""
 "    sendemail.confirm auto'。\n"
 "\n"
 
-#. TRANSLATORS: Make sure to include [y] [n] [q] [a] in your
+#. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1410
-msgid "Send this email? ([y]es|[n]o|[q]uit|[a]ll): "
-msgstr "发送邮件?([y]es|[n]o|[q]uit|[a]ll):"
+#: git-send-email.perl:1415
+msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
+msgstr "发送这封邮件?([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 
-#: git-send-email.perl:1413
+#: git-send-email.perl:1418
 msgid "Send this email reply required"
 msgstr "发送要求的邮件回复"
 
-#: git-send-email.perl:1439
+#: git-send-email.perl:1446
 msgid "The required SMTP server is not properly defined."
 msgstr "要求的 SMTP 服务器未被正确定义。"
 
-#: git-send-email.perl:1486
+#: git-send-email.perl:1493
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "服务器不支持 STARTTLS!%s"
 
-#: git-send-email.perl:1491 git-send-email.perl:1495
+#: git-send-email.perl:1498 git-send-email.perl:1502
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS 失败!%s"
 
-#: git-send-email.perl:1505
+#: git-send-email.perl:1512
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr "无法正确地初始化 SMTP。检查配置并使用 --smtp-debug。"
 
-#: git-send-email.perl:1523
+#: git-send-email.perl:1530
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "无法发送 %s\n"
 
-#: git-send-email.perl:1526
+#: git-send-email.perl:1533
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "演习发送 %s\n"
 
-#: git-send-email.perl:1526
+#: git-send-email.perl:1533
 #, perl-format
 msgid "Sent %s\n"
 msgstr "正发送 %s\n"
 
-#: git-send-email.perl:1528
+#: git-send-email.perl:1535
 msgid "Dry-OK. Log says:\n"
 msgstr "演习成功。日志说:\n"
 
-#: git-send-email.perl:1528
+#: git-send-email.perl:1535
 msgid "OK. Log says:\n"
 msgstr "OK。日志说:\n"
 
-#: git-send-email.perl:1540
+#: git-send-email.perl:1547
 msgid "Result: "
 msgstr "结果:"
 
-#: git-send-email.perl:1543
+#: git-send-email.perl:1550
 msgid "Result: OK\n"
 msgstr "结果:OK\n"
 
-#: git-send-email.perl:1556
+#: git-send-email.perl:1568
 #, perl-format
 msgid "can't open file %s"
 msgstr "无法打开文件 %s"
 
-#: git-send-email.perl:1603 git-send-email.perl:1623
+#: git-send-email.perl:1615 git-send-email.perl:1635
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1609
+#: git-send-email.perl:1621
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) 添加 to:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1657
+#: git-send-email.perl:1674
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) 添加 cc:%s 自行 '%s'\n"
 
-#: git-send-email.perl:1682
+#: git-send-email.perl:1699
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) 添加 cc: %s 自行 '%s'\n"
 
-#: git-send-email.perl:1788
+#: git-send-email.perl:1817
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) 不能执行 '%s'"
 
-#: git-send-email.perl:1795
+#: git-send-email.perl:1824
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) 添加 %s: %s 自:'%s'\n"
 
-#: git-send-email.perl:1799
+#: git-send-email.perl:1828
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) 无法关闭管道至 '%s'"
 
-#: git-send-email.perl:1826
+#: git-send-email.perl:1855
 msgid "cannot send message as 7bit"
 msgstr "不能以 7bit 形式发送信息"
 
-#: git-send-email.perl:1834
+#: git-send-email.perl:1863
 msgid "invalid transfer encoding"
 msgstr "无效的传送编码"
 
-#: git-send-email.perl:1872 git-send-email.perl:1923 git-send-email.perl:1933
+#: git-send-email.perl:1901 git-send-email.perl:1952 git-send-email.perl:1962
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "不能打开 %s:%s\n"
 
-#: git-send-email.perl:1875
+#: git-send-email.perl:1904
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s:补丁包含一个超过 998 字符的行"
 
-#: git-send-email.perl:1891
+#: git-send-email.perl:1920
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "略过 %s 含备份后缀 '%s'。\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:1895
+#: git-send-email.perl:1924
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "您真的要发送 %s?[y|N]:"
 
+#~ msgid "Everyday Git With 20 Commands Or So"
+#~ msgstr "每一天 Git 常用的约 20 条命令"
+
+#~ msgid "Could not open '%s' for writing"
+#~ msgstr "无法打开 '%s' 进行写入"
+
+#~ msgid "BUG: returned path string doesn't match cwd?"
+#~ msgstr "BUG:返回的路径和当前路径不匹配?"
+
+#~ msgid "Error in object"
+#~ msgstr "对象中出错"
+
+#~ msgid ""
+#~ "unexpected 1st line of squash message:\n"
+#~ "\n"
+#~ "\t%.*s"
+#~ msgstr ""
+#~ "意外的压缩提交首行提交信息:\n"
+#~ "\n"
+#~ "\t%.*s"
+
+#~ msgid ""
+#~ "invalid 1st line of squash message:\n"
+#~ "\n"
+#~ "\t%.*s"
+#~ msgstr ""
+#~ "压缩提交的首行提交信息无效:\n"
+#~ "\n"
+#~ "\t%.*s"
+
 #~ msgid "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n"
 #~ msgstr "To/Cc/Bcc 字段不解析,它们被忽略\n"