Merge branch 'ls/p4-lfs' into HEAD
[gitweb.git] / po / zh_CN.po
index 0c05441e1611e1693dd8edc8a1a21739ded5ff66..a6b06f9d3999706d648b78f9bdb40696de2670d6 100644 (file)
 # This file is distributed under the same license as the Git package.
 # Contributors:
 #   - Jiang Xin <worldhello.net AT gmail.com>
+#   - Lian Cheng <rhythm.mail AT gmail.com>
+#   - Ray Chen <oldsharp AT gmail.com>
 #   - Riku <lu.riku AT gmail.com>
+#   - Thynson <lanxingcan AT gmail.com>
+#   - ws3389 <willsmith3389 AT gmail.com>
+#   - Wang Sheng <wangsheng2008love AT 163.com>
+#   - Yichao Yu <yyc1992 AT gmail.com>
 #   - Zhuang Ya <zhuangya AT me.com>
-#   - Lian Cheng <rhythm.mail AT gmail.com>
+#
+#  Git glossary for Chinese translators
+#
+#   English                          |  Chinese
+#   ---------------------------------+--------------------------------------
+#   3-way merge                      |  三方合并
+#   abbreviate                       |  简写(的 SHA-1 值)
+#   alternate object database        |  备用对象库
+#   amend                            |  修补
+#   ancestor                         |  祖先,祖先提交
+#   annotated tag                    |  附注标签
+#   bare repository                  |  纯仓库
+#   bisect                           |  二分查找
+#   blob object                      |  数据对象
+#   branch                           |  分支
+#   bundle                           |  包
+#   bypass                           |  绕过
+#   cache                            |  索引(的别称)
+#   chain                            |  (提交)链
+#   changeset                        |  变更集
+#   checkout                         |  检出
+#   checksum                         |  校验,校验和
+#   cherry-picking                   |  拣选
+#   clean                            |  干净(的工作区)
+#   clone                            |  克隆
+#   commit                           |  提交
+#   commit message                   |  提交说明
+#   commit object                    |  提交对象
+#   commit-ish (also committish)     |  提交号
+#   conflict                         |  冲突
+#   core Git                         |  核心 Git 工具
+#   DAG                              |  有向无环图
+#   dangling object                  |  摇摆对象
+#   detached HEAD                    |  分离头指针
+#   directory                        |  目录
+#   dirty                            |  脏(的工作区)
+#   dumb HTTP protocol               |  哑 HTTP 协议
+#   evil merge                       |  坏合并(合并引入了父提交没有的修改)
+#   fast-forward                     |  快进
+#   fetch                            |  获取
+#   file system                      |  文件系统
+#   fork                             |  派生
+#   Git archive                      |  仓库(对于 arch 用户)
+#   gitfile                          |  gitfile(仓库链接文件)
+#   grafts                           |  (提交)嫁接
+#   hash                             |  哈希值
+#   HEAD                             |  HEAD(头指针,亦即当前分支)
+#   head                             |  头、分支
+#   head ref                         |  分支
+#   header                           |  头信息
+#   hook                             |  钩子
+#   hunk                             |  补丁片段
+#   index                            |  索引
+#   index entry                      |  索引条目
+#   loose object                     |  松散对象
+#   loose refs                       |  松散引用
+#   master                           |  master(默认分支名)
+#   merge                            |  合并
+#   object                           |  对象
+#   object database                  |  对象库
+#   object identifier                |  对象标识符
+#   object name                      |  对象名称
+#   object type                      |  对象类型
+#   octopus                          |  章鱼式合并(两分支以上的合并)
+#   origin                           |  origin(默认的远程名称)
+#   pack                             |  包
+#   pack index                       |  包索引
+#   packfile                         |  包文件
+#   parent                           |  父提交
+#   patch                            |  补丁
+#   pathspec                         |  路径规格
+#   pattern                          |  模式
+#   pickaxe                          |  挖掘
+#   plumbing                         |  管件(Git 底层核心命令的别称)
+#   porcelain                        |  瓷件(Git 上层封装命令的别称)
+#   precious-objects repo            |  珍品仓库
+#   prune                            |  清除
+#   pull                             |  拉,拉取
+#   push                             |  推,推送
+#   reachable                        |  可达
+#   rebase                           |  变基
+#   ref                              |  引用
+#   reflog                           |  引用日志
+#   refspec                          |  引用规格
+#   remote                           |  远程,远程仓库
+#   remote-tracking branch           |  远程跟踪分支
+#   replay                           |  重放
+#   repo                             |  仓库
+#   repository                       |  仓库
+#   resolve                          |  (冲突)解决
+#   revert                           |  还原
+#   revision                         |  版本
+#   rewind                           |  回退
+#   SCM                              |  源代码管理(工具)
+#   SHA-1                            |  SHA-1(安全哈希算法1)
+#   shallow repository               |  浅(克隆)仓库
+#   signed tag                       |  签名标签
+#   smart HTTP protocol              |  智能 HTTP 协议
+#   squash                           |  压缩
+#   stage                            |  n. 暂存区(即索引); v. 暂存
+#   stash                            |  n. 进度保存; v. 保存进度
+#   submodule                        |  子模组
+#   symref                           |  符号引用
+#   tag                              |  n. 标签; v. 打标签
+#   tag object                       |  标签对象
+#   tagger                           |  打标签者
+#   topic branch                     |  主题分支
+#   track                            |  跟踪
+#   tree                             |  树(工作区或树对象)
+#   tree object                      |  树对象
+#   tree-ish (also treeish)          |  树对象(或可以解析为一树对象)
+#   unmerged index                   |  未合并索引
+#   unpack                           |  解包
+#   unreachable object               |  不可达对象
+#   unstage                          |  取消暂存
+#   upstream                         |  上游
+#   upstream branch                  |  上游分支
+#   working tree                     |  工作区
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-07-14 07:19+0800\n"
-"PO-Revision-Date: 2015-07-14 07:32+0800\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-16 00:18+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
 "Language: zh_CN\n"
@@ -35,98 +158,110 @@ msgstr ""
 "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n"
 "解决方案并提交。"
 
-#: archive.c:11
+#: advice.c:101 builtin/merge.c:1226
+msgid "You have not concluded your merge (MERGE_HEAD exists)."
+msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
+
+#: advice.c:103
+msgid "Please, commit your changes before merging."
+msgstr "请在合并前先提交您的修改。"
+
+#: advice.c:104
+msgid "Exiting because of unfinished merge."
+msgstr "因为存在未完成的合并而退出。"
+
+#: archive.c:12
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<选项>] <树或提交> [<路径>...]"
 
-#: archive.c:12
+#: archive.c:13
 msgid "git archive --list"
 msgstr "git archive --list"
 
-#: archive.c:13
+#: archive.c:14
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
-"git archive --remote <版本库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
+"git archive --remote <库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]"
 
-#: archive.c:14
+#: archive.c:15
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr "git archive --remote <版本库> [--exec <命令>] --list"
+msgstr "git archive --remote <库> [--exec <命令>] --list"
 
-#: archive.c:342 builtin/add.c:137 builtin/add.c:428 builtin/rm.c:327
+#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327
 #, c-format
 msgid "pathspec '%s' did not match any files"
-msgstr "路径规 '%s' 未匹配任何文件"
+msgstr "路径规 '%s' 未匹配任何文件"
 
-#: archive.c:427
+#: archive.c:429
 msgid "fmt"
 msgstr "格式"
 
-#: archive.c:427
+#: archive.c:429
 msgid "archive format"
 msgstr "归档格式"
 
-#: archive.c:428 builtin/log.c:1204
+#: archive.c:430 builtin/log.c:1232
 msgid "prefix"
 msgstr "前缀"
 
-#: archive.c:429
+#: archive.c:431
 msgid "prepend prefix to each pathname in the archive"
 msgstr "为归档中每个路径名加上前缀"
 
-#: archive.c:430 builtin/archive.c:88 builtin/blame.c:2516
-#: builtin/blame.c:2517 builtin/config.c:57 builtin/fast-export.c:986
-#: builtin/fast-export.c:988 builtin/grep.c:712 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:394
-#: builtin/notes.c:557 builtin/read-tree.c:109 parse-options.h:150
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
 msgid "file"
 msgstr "文件"
 
-#: archive.c:431 builtin/archive.c:89
+#: archive.c:433 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "归档写入此文件"
 
-#: archive.c:433
+#: archive.c:435
 msgid "read .gitattributes in working directory"
 msgstr "读取工作区中的 .gitattributes"
 
-#: archive.c:434
+#: archive.c:436
 msgid "report archived files on stderr"
 msgstr "在标准错误上报告归档文件"
 
-#: archive.c:435
+#: archive.c:437
 msgid "store only"
 msgstr "只存储"
 
-#: archive.c:436
+#: archive.c:438
 msgid "compress faster"
 msgstr "压缩速度更快"
 
-#: archive.c:444
+#: archive.c:446
 msgid "compress better"
 msgstr "压缩效果更好"
 
-#: archive.c:447
+#: archive.c:449
 msgid "list supported archive formats"
 msgstr "列出支持的归档格式"
 
-#: archive.c:449 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
 msgid "repo"
-msgstr "版本库"
+msgstr "库"
 
-#: archive.c:450 builtin/archive.c:91
+#: archive.c:452 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
-msgstr "从远程版本库(<版本库>)提取归档文件"
+msgstr "从远程仓库(<仓库>)提取归档文件"
 
-#: archive.c:451 builtin/archive.c:92 builtin/notes.c:478
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
 msgid "command"
 msgstr "命令"
 
-#: archive.c:452 builtin/archive.c:93
+#: archive.c:454 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "远程 git-upload-archive 命令的路径"
 
-#: attr.c:265
+#: attr.c:263
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -134,81 +269,97 @@ msgstr ""
 "负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
-#: branch.c:60
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"在修复错误后,您可以尝试修改远程跟踪分支,通过执行命令\n"
+"\"git branch --set-upstream-to=%s%s%s\" 。"
+
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "未设置分支 %s 作为它自己的上游。"
 
-#: branch.c:83
+#: branch.c:93
 #, 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:84
+#: branch.c:94
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s."
 msgstr "分支 %1$s 设置为跟踪来自 %3$s 的远程分支 %2$s。"
 
-#: branch.c:88
+#: branch.c:98
 #, c-format
 msgid "Branch %s set up to track local branch %s by rebasing."
 msgstr "分支 %s 设置为使用变基来跟踪本地分支 %s。"
 
-#: branch.c:89
+#: branch.c:99
 #, c-format
 msgid "Branch %s set up to track local branch %s."
 msgstr "分支 %s 设置为跟踪本地分支 %s。"
 
-#: branch.c:94
+#: branch.c:104
 #, c-format
 msgid "Branch %s set up to track remote ref %s by rebasing."
 msgstr "分支 %s 设置为使用变基来跟踪远程引用 %s。"
 
-#: branch.c:95
+#: branch.c:105
 #, c-format
 msgid "Branch %s set up to track remote ref %s."
 msgstr "分支 %s 设置为跟踪远程引用 %s。"
 
-#: branch.c:99
+#: branch.c:109
 #, c-format
 msgid "Branch %s set up to track local ref %s by rebasing."
 msgstr "分支 %s 设置为使用变基来跟踪本地引用 %s。"
 
-#: branch.c:100
+#: branch.c:110
 #, c-format
 msgid "Branch %s set up to track local ref %s."
 msgstr "分支 %s 设置为跟踪本地引用 %s。"
 
-#: branch.c:133
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "无法写入上游分支配置"
+
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "未跟踪:引用 %s 有歧义"
 
-#: branch.c:162
+#: branch.c:185
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "'%s' 不是一个有效的分支名称。"
 
-#: branch.c:167
+#: branch.c:190
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "一个分支名 '%s' 已经存在。"
 
-#: branch.c:175
+#: branch.c:198
 msgid "Cannot force update the current branch."
 msgstr "无法强制更新当前分支。"
 
-#: branch.c:195
+#: branch.c:218
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr "无法设置跟踪信息;起始点 '%s' 不是一个分支。"
 
-#: branch.c:197
+#: branch.c:220
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "请求的上游分支 '%s' 不存在"
 
-#: branch.c:199
+#: branch.c:222
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -226,21 +377,26 @@ msgstr ""
 "如果您正计划推送一个能与对应远程分支建立跟踪的新的本地分支,\n"
 "您可能需要使用 \"git push -u\" 推送分支并配置和上游的关联。"
 
-#: branch.c:243
+#: branch.c:266
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "不是一个有效的对象名:'%s'。"
 
-#: branch.c:263
+#: branch.c:286
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "歧义的对象名:'%s'。"
 
-#: branch.c:268
+#: branch.c:291
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "无效的分支点:'%s'。"
 
+#: branch.c:344
+#, c-format
+msgid "'%s' is already checked out at '%s'"
+msgstr "'%s' 已经检出到 '%s'"
+
 #: bundle.c:34
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
@@ -258,12 +414,12 @@ msgstr "不能打开 '%s'"
 
 #: bundle.c:139
 msgid "Repository lacks these prerequisite commits:"
-msgstr "版本库缺少这些必备的提交:"
+msgstr "仓库中缺少这些必备的提交:"
 
-#: bundle.c:163 sequencer.c:650 sequencer.c:1105 builtin/blame.c:2705
-#: builtin/branch.c:651 builtin/commit.c:1045 builtin/log.c:330
-#: builtin/log.c:825 builtin/log.c:1432 builtin/log.c:1666 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
 msgid "revision walk setup failed"
 msgstr "版本遍历设置失败"
 
@@ -285,47 +441,48 @@ msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "这个包需要这个引用:"
 msgstr[1] "这个包需要 %d 个引用:"
 
-#: bundle.c:251
+#: bundle.c:253
 msgid "Could not spawn pack-objects"
 msgstr "不能生成 pack-objects 进程"
 
-#: bundle.c:269
+#: bundle.c:264
 msgid "pack-objects died"
 msgstr "pack-objects 终止"
 
-#: bundle.c:309
+#: bundle.c:304
 msgid "rev-list died"
 msgstr "rev-list 终止"
 
-#: bundle.c:358
+#: bundle.c:353
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "引用 '%s' 被 rev-list 选项排除"
 
-#: bundle.c:437 builtin/log.c:153 builtin/log.c:1342 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "未能识别的参数:%s"
 
-#: bundle.c:443
+#: bundle.c:449
 msgid "Refusing to create empty bundle."
 msgstr "不能创建空包。"
 
-#: bundle.c:453
+#: bundle.c:459
 #, c-format
 msgid "cannot create '%s'"
 msgstr "不能创建 '%s'"
 
-#: bundle.c:474
+#: bundle.c:480
 msgid "index-pack died"
 msgstr "index-pack 终止"
 
-#: color.c:260
+#: color.c:275
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "无效的颜色值:%.*s"
 
-#: commit.c:40
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
 #, c-format
 msgid "could not parse %s"
 msgstr "不能解析 %s"
@@ -339,59 +496,64 @@ msgstr "%s %s 不是一个提交!"
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
 #, c-format
-msgid "bad config file line %d in %s"
-msgstr "配置文件 %2$s 出错于第 %1$d 行"
+msgid "bad config line %d in %s %s"
+msgstr "%2$s %3$s 出错于第 %1$d 行"
 
-#: config.c:592
+#: config.c:593
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "文件 %3$s 中配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %4$s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "%3$s %4$s 中配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %5$s"
 
-#: config.c:594
+#: config.c:595
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "配置变量 '%2$s' 的数字取值 '%1$s' 设置错误: %3$s"
 
-#: config.c:679
+#: config.c:680
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "无法扩展 '%s' 中的用户目录"
 
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "错误的 zlib 压缩级别 %d"
 
-#: config.c:890
+#: config.c:891
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "无效的对象创建模式:%s"
 
-#: config.c:1216
+#: config.c:1220
 msgid "unable to parse command-line config"
 msgstr "无法解析命令行中的配置"
 
-#: config.c:1277
+#: config.c:1281
 msgid "unknown error occured while reading the configuration files"
 msgstr "在读取配置文件时遇到未知错误"
 
-#: config.c:1601
+#: config.c:1629
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "无法解析命令行配置中的 '%s'"
 
-#: config.c:1603
+#: config.c:1631
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'"
 
-#: config.c:1662
+#: config.c:1690
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s 有多个取值"
 
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "不能设置 '%s' 为 '%s'"
+
 #: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "不能执行 'git rev-list'"
@@ -484,23 +646,23 @@ msgid "Performing inexact rename detection"
 msgstr "正在进行非精确的重命名检测"
 
 #  译者:注意保持前导空格
-#: diff.c:114
+#: diff.c:115
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  无法解析 dirstat 截止(cut-off)百分比 '%s'\n"
 
 #  译者:注意保持前导空格
-#: diff.c:119
+#: diff.c:120
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  未知的 dirstat 参数 '%s'\n"
 
-#: diff.c:214
+#: diff.c:215
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "配置变量 'diff.submodule' 未知的取值:'%s'"
 
-#: diff.c:266
+#: diff.c:267
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -532,32 +694,32 @@ msgstr ""
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "无法解析 --submodule 选项的参数:'%s'"
 
-#: dir.c:1852
+#: dir.c:2004
 msgid "failed to get kernel name and information"
 msgstr "无法获得内核名称和信息"
 
-#: dir.c:1945
-msgid "Untracked cache is disabled on this system."
-msgstr "缓存未跟踪文件在本系统被禁用"
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "缓存未跟踪文件在本系统或位置中被禁用。"
 
-#: gpg-interface.c:129 gpg-interface.c:200
+#: gpg-interface.c:166 gpg-interface.c:237
 msgid "could not run gpg."
 msgstr "不能执行 gpg。"
 
-#: gpg-interface.c:141
+#: gpg-interface.c:178
 msgid "gpg did not accept the data"
 msgstr "gpg 没有接受数据"
 
-#: gpg-interface.c:152
+#: gpg-interface.c:189
 msgid "gpg failed to sign the data"
 msgstr "gpg 无法为数据签名"
 
-#: gpg-interface.c:185
+#: gpg-interface.c:222
 #, c-format
 msgid "could not create temporary file '%s': %s"
 msgstr "不能创建临时文件 '%s':%s"
 
-#: gpg-interface.c:188
+#: gpg-interface.c:225
 #, c-format
 msgid "failed writing detached signature to '%s': %s"
 msgstr "无法将分离式签名写入 '%s':%s"
@@ -577,20 +739,20 @@ msgstr "'%s':%s"
 msgid "'%s': short read %s"
 msgstr "'%s':读取不完整 %s"
 
-#: help.c:207
+#: help.c:205
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "在 '%s' 下可用的 git 命令"
 
-#: help.c:214
+#: help.c:212
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "在 $PATH 路径中的其他地方可用的 git 命令"
 
-#: help.c:246
+#: help.c:244
 msgid "These are common Git commands used in various situations:"
 msgstr "这些是各种场合常见的 Git 命令:"
 
-#: help.c:311
+#: help.c:309
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -599,11 +761,11 @@ msgstr ""
 "'%s' 像是一个 git 命令,但却无法运行。\n"
 "可能是 git-%s 受损?"
 
-#: help.c:368
+#: help.c:366
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "唉呀,您的系统中未发现 Git 命令。"
 
-#: help.c:390
+#: help.c:388
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -612,17 +774,17 @@ msgstr ""
 "警告:您运行一个不存在的 Git 命令 '%s'。继续执行假定您要要运行的\n"
 "是 '%s'"
 
-#: help.c:395
+#: help.c:393
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "在 %0.1f 秒钟后自动运行..."
 
-#: help.c:402
+#: help.c:400
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git:'%s' 不是一个 git 命令。参见 'git --help'。"
 
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
 msgid ""
 "\n"
 "Did you mean this?"
@@ -636,25 +798,17 @@ msgstr[1] ""
 "\n"
 "您指的是这其中的某一个么?"
 
-#: help.c:462
+#: help.c:460
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s:%s - %s"
 
-#: lockfile.c:345
-msgid "BUG: reopen a lockfile that is still open"
-msgstr "BUG: 重新打开一个仍打开着的锁文件"
-
-#: lockfile.c:347
-msgid "BUG: reopen a lockfile that has been committed"
-msgstr "BUG: 重新打开一个已提交的锁文件"
-
 #: merge.c:41
 msgid "failed to read the cache"
 msgstr "无法读取缓存"
 
-#: merge.c:94 builtin/checkout.c:376 builtin/checkout.c:587
-#: builtin/clone.c:647
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
 msgid "unable to write new index file"
 msgstr "无法写新的索引文件"
 
@@ -672,64 +826,64 @@ msgstr "为路径 '%s' addinfo_cache 失败"
 msgid "error building trees"
 msgstr "无法创建树"
 
-#: merge-recursive.c:687
+#: merge-recursive.c:689
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "无法创建路径 '%s'%s"
 
-#: merge-recursive.c:698
+#: merge-recursive.c:700
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "删除 %s 以便为子目录留出空间\n"
 
-#: merge-recursive.c:712 merge-recursive.c:733
+#: merge-recursive.c:714 merge-recursive.c:735
 msgid ": perhaps a D/F conflict?"
 msgstr ":可能是一个目录/文件冲突?"
 
-#: merge-recursive.c:723
+#: merge-recursive.c:725
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "拒绝丢弃 '%s' 中的未跟踪文件"
 
-#: merge-recursive.c:763
+#: merge-recursive.c:765
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "不能读取对象 %s '%s'"
 
-#: merge-recursive.c:765
+#: merge-recursive.c:767
 #, c-format
 msgid "blob expected for %s '%s'"
-msgstr "%s '%s' 应为数据(blob)对象"
+msgstr "%s '%s' 应为数据对象"
 
-#: merge-recursive.c:788 builtin/clone.c:306
+#: merge-recursive.c:790 builtin/clone.c:374
 #, c-format
 msgid "failed to open '%s'"
 msgstr "无法打开 '%s'"
 
-#: merge-recursive.c:796
+#: merge-recursive.c:798
 #, c-format
 msgid "failed to symlink '%s'"
 msgstr "无法创建符号链接 '%s'"
 
-#: merge-recursive.c:799
+#: merge-recursive.c:801
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "不知道如何处理 %06o %s '%s'"
 
-#: merge-recursive.c:937
+#: merge-recursive.c:939
 msgid "Failed to execute internal merge"
 msgstr "无法执行内部合并"
 
-#: merge-recursive.c:941
+#: merge-recursive.c:943
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "不能添加 %s 至对象库"
 
-#: merge-recursive.c:957
+#: merge-recursive.c:959
 msgid "unsupported object type in the tree"
 msgstr "在树中有不支持的对象类型"
 
-#: merge-recursive.c:1032 merge-recursive.c:1046
+#: merge-recursive.c:1034 merge-recursive.c:1048
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -738,7 +892,7 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本被保留。"
 
-#: merge-recursive.c:1038 merge-recursive.c:1051
+#: merge-recursive.c:1040 merge-recursive.c:1053
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -747,20 +901,20 @@ msgstr ""
 "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 在 %6$s 中"
 "的版本保留于 %8$s 中。"
 
-#: merge-recursive.c:1092
+#: merge-recursive.c:1094
 msgid "rename"
 msgstr "重命名"
 
-#: merge-recursive.c:1092
+#: merge-recursive.c:1094
 msgid "renamed"
 msgstr "重命名"
 
-#: merge-recursive.c:1148
+#: merge-recursive.c:1150
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加"
 
-#: merge-recursive.c:1170
+#: merge-recursive.c:1172
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -769,144 +923,144 @@ msgstr ""
 "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 "
 "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1177
 msgid " (left unresolved)"
 msgstr "(留下未解决)"
 
-#: merge-recursive.c:1229
+#: merge-recursive.c:1231
 #, 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:1259
+#: merge-recursive.c:1261
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "而是重命名 %s 至 %s,以及 %s 至 %s"
 
-#: merge-recursive.c:1458
+#: merge-recursive.c:1460
 #, 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:1468
+#: merge-recursive.c:1470
 #, c-format
 msgid "Adding merged %s"
 msgstr "添加合并后的 %s"
 
-#: merge-recursive.c:1473 merge-recursive.c:1671
+#: merge-recursive.c:1475 merge-recursive.c:1677
 #, c-format
 msgid "Adding as %s instead"
 msgstr "而是以 %s 为名添加"
 
-#: merge-recursive.c:1524
+#: merge-recursive.c:1526
 #, c-format
 msgid "cannot read object %s"
 msgstr "不能读取对象 %s"
 
-#: merge-recursive.c:1527
+#: merge-recursive.c:1529
 #, c-format
 msgid "object %s is not a blob"
-msgstr "对象 %s 不是一个数据(blob)对象"
+msgstr "对象 %s 不是一个数据对象"
 
-#: merge-recursive.c:1575
+#: merge-recursive.c:1581
 msgid "modify"
 msgstr "修改"
 
-#: merge-recursive.c:1575
+#: merge-recursive.c:1581
 msgid "modified"
 msgstr "修改"
 
-#: merge-recursive.c:1585
+#: merge-recursive.c:1591
 msgid "content"
 msgstr "内容"
 
-#: merge-recursive.c:1592
+#: merge-recursive.c:1598
 msgid "add/add"
 msgstr "添加/添加"
 
-#: merge-recursive.c:1626
+#: merge-recursive.c:1632
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "略过 %s(已经做过相同合并)"
 
-#: merge-recursive.c:1640
+#: merge-recursive.c:1646
 #, c-format
 msgid "Auto-merging %s"
 msgstr "自动合并 %s"
 
-#: merge-recursive.c:1644 git-submodule.sh:1150
+#: merge-recursive.c:1650 git-submodule.sh:1048
 msgid "submodule"
 msgstr "子模组"
 
-#: merge-recursive.c:1645
+#: merge-recursive.c:1651
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "冲突(%s):合并冲突于 %s"
 
-#: merge-recursive.c:1731
+#: merge-recursive.c:1737
 #, c-format
 msgid "Removing %s"
 msgstr "删除 %s"
 
-#: merge-recursive.c:1756
+#: merge-recursive.c:1762
 msgid "file/directory"
 msgstr "文件/目录"
 
-#: merge-recursive.c:1762
+#: merge-recursive.c:1768
 msgid "directory/file"
 msgstr "目录/文件"
 
-#: merge-recursive.c:1767
+#: merge-recursive.c:1773
 #, 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:1777
+#: merge-recursive.c:1783
 #, c-format
 msgid "Adding %s"
 msgstr "添加 %s"
 
-#: merge-recursive.c:1794
+#: merge-recursive.c:1800
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "严重的合并错误,不应发生。"
 
-#: merge-recursive.c:1813
+#: merge-recursive.c:1819
 msgid "Already up-to-date!"
 msgstr "已经是最新的!"
 
-#: merge-recursive.c:1822
+#: merge-recursive.c:1828
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "无法合并树 %s 和 %s"
 
-#: merge-recursive.c:1852
+#: merge-recursive.c:1858
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "未处理的路径??? %s"
 
-#: merge-recursive.c:1900
+#: merge-recursive.c:1906
 msgid "Merging:"
 msgstr "合并:"
 
-#: merge-recursive.c:1913
+#: merge-recursive.c:1919
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "发现 %u 个共同祖先:"
 msgstr[1] "发现 %u 个共同祖先:"
 
-#: merge-recursive.c:1950
+#: merge-recursive.c:1956
 msgid "merge returned no commit"
 msgstr "合并未返回提交"
 
-#: merge-recursive.c:2007
+#: merge-recursive.c:2013
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "不能解析对象 '%s'"
 
-#: merge-recursive.c:2018 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
 msgid "Unable to write index."
 msgstr "不能写入索引。"
 
@@ -914,19 +1068,19 @@ msgstr "不能写入索引。"
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr "不能提交未初始化/未引用的注解树"
 
-#: notes-utils.c:82
+#: notes-utils.c:100
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "坏的 notes.rewriteMode 值:'%s'"
 
-#: notes-utils.c:92
+#: notes-utils.c:110
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解"
 
 #. TRANSLATORS: The first %s is the name of the
 #. environment variable, the second %s is its value
-#: notes-utils.c:119
+#: notes-utils.c:137
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "坏的 %s 值:'%s'"
@@ -936,60 +1090,70 @@ msgstr "坏的 %s 值:'%s'"
 msgid "unable to parse object: %s"
 msgstr "不能解析对象:%s"
 
-#: parse-options.c:546
+#: parse-options.c:570
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:564
+#: parse-options.c:588
 #, c-format
 msgid "usage: %s"
 msgstr "用法:%s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:568
+#: parse-options.c:592
 #, c-format
 msgid "   or: %s"
 msgstr "  或:%s"
 
 #  译者:为保证在输出中对齐,注意调整句中空格!
-#: parse-options.c:571
+#: parse-options.c:595
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:605
+#: parse-options.c:629
 msgid "-NUM"
 msgstr "-数字"
 
+#: parse-options-cb.c:108
+#, c-format
+msgid "malformed object name '%s'"
+msgstr "非法的对象名 '%s'"
+
+#: path.c:752
+#, c-format
+msgid "Could not make %s writable by group"
+msgstr "不能设置 %s 为组可写"
+
 #: pathspec.c:133
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
-msgstr "全局的 'glob' 和 'noglob' 路径规设置不兼容"
+msgstr "全局的 'glob' 和 'noglob' 路径规设置不兼容"
 
 #: pathspec.c:143
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
-msgstr "全局的 'literal' 路径规则设置和其它的全局路径规则设置不兼容"
+msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容"
 
 #: pathspec.c:177
 msgid "invalid parameter for pathspec magic 'prefix'"
-msgstr "路径规包含无效的神奇前缀"
+msgstr "路径规包含无效的神奇前缀"
 
 #: pathspec.c:183
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
-msgstr "在路径规 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
+msgstr "在路径规 '%3$s' 中无效的神奇前缀 '%2$.*1$s'"
 
 #: pathspec.c:187
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
-msgstr "路径规 '%s' 的神奇前缀结尾少了一个 ')'"
+msgstr "路径规 '%s' 的神奇前缀结尾少了一个 ')'"
 
 #: pathspec.c:205
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
-msgstr "路径规 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
+msgstr "路径规 '%2$s' 中包含未实现的神奇前缀 '%1$c'"
 
 #: pathspec.c:230
 #, c-format
@@ -999,24 +1163,24 @@ msgstr "%s:'literal' 和 'glob' 不兼容"
 #: pathspec.c:241
 #, c-format
 msgid "%s: '%s' is outside repository"
-msgstr "%s:'%s' 在版本库之外"
+msgstr "%s:'%s' 在库之外"
 
 #: pathspec.c:291
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
-msgstr "路径规 '%s' 在子模组 '%.*s' 中"
+msgstr "路径规 '%s' 在子模组 '%.*s' 中"
 
 #: pathspec.c:353
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
-msgstr "%s:路径规神奇前缀不被此命令支持:%s"
+msgstr "%s:路径规神奇前缀不被此命令支持:%s"
 
-#: pathspec.c:432
+#: pathspec.c:433
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
-msgstr "路径规 '%s' 位于符号链接中"
+msgstr "路径规 '%s' 位于符号链接中"
 
-#: pathspec.c:441
+#: pathspec.c:442
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -1024,15 +1188,15 @@ msgstr ""
 "没有为 :(exclude) 模式提供要忽略的内容。也许您忘记了\n"
 "添加 ':/' 或 '.' ?"
 
-#: pretty.c:968
+#: pretty.c:969
 msgid "unable to parse --pretty format"
 msgstr "不能解析 --pretty 格式"
 
-#: progress.c:236
+#: progress.c:235
 msgid "done"
 msgstr "完成"
 
-#: read-cache.c:1295
+#: read-cache.c:1281
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -1041,7 +1205,7 @@ msgstr ""
 "设置了 index.version,但是取值无效。\n"
 "使用版本 %i"
 
-#: read-cache.c:1305
+#: read-cache.c:1291
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -1050,93 +1214,248 @@ msgstr ""
 "设置了 GIT_INDEX_VERSION,但是取值无效。\n"
 "使用版本 %i"
 
-#: remote.c:792
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
+#, c-format
+msgid "Could not open '%s' for writing"
+msgstr "无法打开 '%s' 进行写入"
+
+#: refs/files-backend.c:2374
+#, c-format
+msgid "could not delete reference %s: %s"
+msgstr "无法删除引用 %s:%s"
+
+#: refs/files-backend.c:2377
+#, c-format
+msgid "could not delete references: %s"
+msgstr "无法删除引用:%s"
+
+#: refs/files-backend.c:2386
+#, c-format
+msgid "could not remove reference %s"
+msgstr "无法删除引用 %s"
+
+#: ref-filter.c:55
+#, c-format
+msgid "expected format: %%(color:<color>)"
+msgstr "期望的格式:%%(color:<color>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "未能识别的颜色:%%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "未能识别的格式:%%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) 不带参数"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) 不带参数"
+
+#: ref-filter.c:101
+#, c-format
+msgid "positive value expected contents:lines=%s"
+msgstr "要为 contents:lines=%s 提供一个正数"
+
+#: ref-filter.c:103
+#, c-format
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "未能识别的 %%(contents) 参数:%s"
+
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "未能识别的 %%(objectname) 参数:%s"
+
+#: ref-filter.c:135
+#, c-format
+msgid "expected format: %%(align:<width>,<position>)"
+msgstr "期望的格式:%%(align:<width>,<position>)"
+
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "未能识别的位置:%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "未能识别的宽度:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "未能识别的 %%(align) 参数:%s"
+
+#: ref-filter.c:161
+#, c-format
+msgid "positive width expected with the %%(align) atom"
+msgstr "元素 %%(align) 需要一个正数的宽度"
+
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "非法的字段名:%.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "未知的字段名:%.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "格式:使用了 %%(end) 元素却没有它的对应元素"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "非法的格式化字符串 %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= 需要一个正整型参数"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "引用 '%s' 未提供用于 :strip 的 %ld 个组件"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "未知的 %.*s 格式 %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "缺失 %2$s 的对象 %1$s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer 失败于 %2$s 的 %1$s"
+
+#: ref-filter.c:1311
+#, c-format
+msgid "malformed object at '%s'"
+msgstr "非法的对象于 '%s'"
+
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "忽略带有错误名称 %s 的引用"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "忽略损坏的引用 %s"
+
+#: ref-filter.c:1651
+#, c-format
+msgid "format: %%(end) atom missing"
+msgstr "格式:缺少 %%(end) 元素"
+
+#: ref-filter.c:1705
+#, c-format
+msgid "malformed object name %s"
+msgstr "非法的对象名 %s"
+
+#: remote.c:745
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "不能同时获取 %s 和 %s 至 %s"
 
-#: remote.c:796
+#: remote.c:749
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s 通常跟踪 %s,而非 %s"
 
-#: remote.c:800
+#: remote.c:753
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s 同时跟踪 %s 和 %s"
 
-#: remote.c:808
+#: remote.c:761
 msgid "Internal error"
 msgstr "内部错误"
 
-#: remote.c:1723 remote.c:1766
+#: remote.c:1677 remote.c:1720
 msgid "HEAD does not point to a branch"
 msgstr "HEAD 没有指向一个分支"
 
-#: remote.c:1732
+#: remote.c:1686
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "没有此分支:'%s'"
 
-#: remote.c:1735
+#: remote.c:1689
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "尚未给分支 '%s' 设置上游"
 
-#: remote.c:1741
+#: remote.c:1695
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支"
 
-#: remote.c:1756
+#: remote.c:1710
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支"
 
-#: remote.c:1771
+#: remote.c:1725
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "分支 '%s' 没有设置要推送的远程服务器"
 
-#: remote.c:1782
+#: remote.c:1736
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
-msgstr "å\90\91 '%s' æ\8e¨é\80\81å¼\95ç\94¨è¡¨è¾¾å¼\8f未包含 '%s'"
+msgstr "å\90\91 '%s' æ\8e¨é\80\81å¼\95ç\94¨è§\84æ ¼未包含 '%s'"
 
-#: remote.c:1795
+#: remote.c:1749
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "推送无目标(push.default 是 'nothing')"
 
-#: remote.c:1817
+#: remote.c:1771
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "无法解析 'simple' 推送至一个单独的目标"
 
-#: remote.c:2124
+#: remote.c:2073
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n"
 
-#: remote.c:2128
+#: remote.c:2077
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (使用 \"git branch --unset-upstream\" 来修复)\n"
 
-#: remote.c:2131
+#: remote.c:2080
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "您的分支与上游分支 '%s' 一致。\n"
 
-#: remote.c:2135
+#: remote.c:2084
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n"
 msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n"
 
-#: remote.c:2141
+#: remote.c:2090
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (使用 \"git push\" 来发布您的本地提交)\n"
 
-#: remote.c:2144
+#: remote.c:2093
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1145,11 +1464,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2152
+#: remote.c:2101
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (使用 \"git pull\" 来更新您的本地分支)\n"
 
-#: remote.c:2155
+#: remote.c:2104
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1165,48 +1484,51 @@ msgstr[1] ""
 "并且分别有 %d 和 %d 处不同的提交。\n"
 
 #  译者:注意保持前导空格
-#: remote.c:2165
+#: remote.c:2114
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr "  (使用 \"git pull\" 来合并远程分支)\n"
 
-#: revision.c:2366
+#: revision.c:2131
+msgid "your current branch appears to be broken"
+msgstr "您的当前分支好像被损坏"
+
+#: revision.c:2134
+#, c-format
+msgid "your current branch '%s' does not have any commits yet"
+msgstr "您的当前分支 '%s' 尚无任何提交"
+
+#: revision.c:2328
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent 与 --bisect 不兼容"
 
-#: run-command.c:83
+#: run-command.c:92
 msgid "open /dev/null failed"
 msgstr "不能打开 /dev/null"
 
-#: run-command.c:85
+#: run-command.c:94
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "不能调用 dup2(%d,%d)"
 
-#: send-pack.c:272
+#: send-pack.c:295
 msgid "failed to sign the push certificate"
 msgstr "无法为推送证书签名"
 
-#: send-pack.c:378
+#: send-pack.c:404
 msgid "the receiving end does not support --signed push"
 msgstr "接收端不支持签名推送"
 
-#: send-pack.c:389
+#: send-pack.c:406
+msgid ""
+"not sending a push certificate since the receiving end does not support --"
+"signed push"
+msgstr "未发送推送证书,因为接收端不支持签名推送"
+
+#: send-pack.c:418
 msgid "the receiving end does not support --atomic push"
 msgstr "接收端不支持原子推送"
 
-#: sequencer.c:172 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
-#, c-format
-msgid "Could not open '%s' for writing"
-msgstr "不能为写入打开 '%s'"
-
-#: sequencer.c:174 builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
-#, c-format
-msgid "Could not write to '%s'"
-msgstr "不能写入 '%s'"
-
-#: sequencer.c:195
+#: sequencer.c:174
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1214,7 +1536,7 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "命令标记修正后的文件"
 
-#: sequencer.c:198
+#: sequencer.c:177
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1223,229 +1545,243 @@ msgstr ""
 "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n"
 "对修正后的文件做标记,然后用 'git commit' 提交"
 
-#: sequencer.c:211 sequencer.c:861 sequencer.c:944
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
 #, c-format
 msgid "Could not write to %s"
 msgstr "不能写入 %s"
 
-#: sequencer.c:214
+#: sequencer.c:193
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "错误收尾 %s"
 
-#: sequencer.c:229
+#: sequencer.c:208
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "您的本地修改将被拣选操作覆盖。"
 
-#: sequencer.c:231
+#: sequencer.c:210
 msgid "Your local changes would be overwritten by revert."
 msgstr "您的本地修改将被还原操作覆盖。"
 
-#: sequencer.c:234
+#: sequencer.c:213
 msgid "Commit your changes or stash them to proceed."
 msgstr "提交您的修改或保存进度后再继续。"
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:321
+#: sequencer.c:300
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s:无法写入新索引文件"
 
-#: sequencer.c:339
+#: sequencer.c:318
 msgid "Could not resolve HEAD commit\n"
 msgstr "不能解析 HEAD 提交\n"
 
-#: sequencer.c:359
+#: sequencer.c:338
 msgid "Unable to update cache tree\n"
 msgstr "不能更新缓存\n"
 
-#: sequencer.c:411
+#: sequencer.c:390
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "不能解析提交 %s\n"
 
-#: sequencer.c:416
+#: sequencer.c:395
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "不能解析父提交 %s\n"
 
-#: sequencer.c:482
+#: sequencer.c:460
 msgid "Your index file is unmerged."
 msgstr "您的索引文件未完成合并。"
 
-#: sequencer.c:501
+#: sequencer.c:479
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "提交 %s 是一个合并提交但未提供 -m 选项。"
 
-#: sequencer.c:509
+#: sequencer.c:487
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "提交 %s 没有父提交 %d"
 
-#: sequencer.c:513
+#: sequencer.c:491
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr "指定了主线但提交 %s 不是一个合并。"
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:526
+#: sequencer.c:504
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s:不能解析父提交 %s"
 
-#: sequencer.c:530
+#: sequencer.c:508
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "不能得到 %s 的提交说明"
 
-#: sequencer.c:616
+#: sequencer.c:594
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "不能还原 %s... %s"
 
-#: sequencer.c:617
+#: sequencer.c:595
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "不能应用 %s... %s"
 
-#: sequencer.c:653
+#: sequencer.c:630
 msgid "empty commit set passed"
 msgstr "提供了空的提交集"
 
-#: sequencer.c:661
+#: sequencer.c:638
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s:无法读取索引"
 
-#: sequencer.c:665
+#: sequencer.c:642
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s:无法刷新索引"
 
-#: sequencer.c:725
+#: sequencer.c:702
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "无法 %s 在一个 %s 过程中"
 
-#: sequencer.c:747
+#: sequencer.c:724
 #, c-format
 msgid "Could not parse line %d."
 msgstr "不能解析第 %d 行。"
 
-#: sequencer.c:752
+#: sequencer.c:729
 msgid "No commits parsed."
 msgstr "没有提交被解析。"
 
-#: sequencer.c:765
+#: sequencer.c:741
 #, c-format
 msgid "Could not open %s"
 msgstr "不能打开 %s"
 
-#: sequencer.c:769
+#: sequencer.c:745
 #, c-format
 msgid "Could not read %s."
 msgstr "不能读取 %s。"
 
-#: sequencer.c:776
+#: sequencer.c:752
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "无用的指令表单:%s"
 
-#: sequencer.c:806
+#: sequencer.c:782
 #, c-format
 msgid "Invalid key: %s"
 msgstr "无效键名:%s"
 
-#: sequencer.c:809
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "%s 的值无效:%s"
 
-#: sequencer.c:821
+#: sequencer.c:795
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "非法的选项表单:%s"
 
-#: sequencer.c:842
+#: sequencer.c:814
 msgid "a cherry-pick or revert is already in progress"
 msgstr "一个拣选或还原操作已在进行"
 
-#: sequencer.c:843
+#: sequencer.c:815
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:847
+#: sequencer.c:819
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "不能创建序列目录 %s"
 
-#: sequencer.c:863 sequencer.c:948
+#: sequencer.c:835 sequencer.c:917
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "错误收尾 %s。"
 
-#: sequencer.c:882 sequencer.c:1018
+#: sequencer.c:854 sequencer.c:987
 msgid "no cherry-pick or revert in progress"
 msgstr "拣选或还原操作并未进行"
 
-#: sequencer.c:884
+#: sequencer.c:856
 msgid "cannot resolve HEAD"
 msgstr "不能解析 HEAD"
 
-#: sequencer.c:886
+#: sequencer.c:858
 msgid "cannot abort from a branch yet to be born"
 msgstr "不能从尚未建立的分支终止"
 
-#: sequencer.c:908 builtin/apply.c:4291
+#: sequencer.c:878 builtin/apply.c:4287
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "不能打开 %s:%s"
 
-#: sequencer.c:911
+#: sequencer.c:881
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "不能读取 %s:%s"
 
-#: sequencer.c:912
+#: sequencer.c:882
 msgid "unexpected end of file"
 msgstr "意外的文件结束"
 
-#: sequencer.c:918
+#: sequencer.c:888
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏"
 
-#: sequencer.c:941
+#: sequencer.c:910
 #, c-format
 msgid "Could not format %s."
 msgstr "不能格式化 %s。"
 
-#: sequencer.c:1086
+#: sequencer.c:1055
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s:不能拣选一个%s"
 
-#: sequencer.c:1089
+#: sequencer.c:1058
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s:错误的版本"
 
-#: sequencer.c:1123
+#: sequencer.c:1092
 msgid "Can't revert as initial commit"
 msgstr "不能作为初始提交还原"
 
-#: sequencer.c:1124
+#: sequencer.c:1093
 msgid "Can't cherry-pick into empty head"
 msgstr "不能拣选到空分支"
 
-#: setup.c:243
+#: setup.c:246
 #, c-format
 msgid "failed to read %s"
 msgstr "无法读取 %s"
 
-#: sha1_name.c:453
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "偏移量在包文件结束之前(损坏的 .idx?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)"
+
+#: sha1_name.c:462
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -1466,59 +1802,88 @@ msgstr ""
 "可能需要删除它们。用 \"git config advice.objectNameWarning false\"\n"
 "命令关闭本消息通知。"
 
-#: submodule.c:64 submodule.c:98
+#: submodule.c:62 submodule.c:96
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr "无法修改未合并的 .gitmodules,先解决合并冲突"
 
-#: submodule.c:68 submodule.c:102
+#: submodule.c:66 submodule.c:100
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "无法在 .gitmodules 中找到 path=%s 的小节"
 
-#: submodule.c:76
+#: submodule.c:74
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "不能更新 .gitmodules 条目 %s"
 
-#: submodule.c:109
+#: submodule.c:107
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "无法移除 %s 的 .gitmodules 条目"
 
-#: submodule.c:120
+#: submodule.c:118
 msgid "staging updated .gitmodules failed"
 msgstr "将更新后 .gitmodules 添加暂存区失败"
 
-#: submodule.c:1115
+#: trailer.c:237
 #, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "不能在 %s 中设置 core.worktree"
+msgid "running trailer command '%s' failed"
+msgstr "执行 trailer 命令 '%s' 失败"
 
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
 #, c-format
 msgid "unknown value '%s' for key '%s'"
 msgstr "键 '%2$s' 的未知取值 '%1$s'"
 
-#: trailer.c:543 trailer.c:548 builtin/remote.c:290
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "多于一个 %s"
 
-#: trailer.c:581
+#: trailer.c:582
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "签名 '%.*s' 的键为空"
 
-#: trailer.c:701
+#: trailer.c:702
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "不能读取输入文件 '%s'"
 
-#: trailer.c:704
+#: trailer.c:705
 msgid "could not read from stdin"
 msgstr "不能自标准输入读取"
 
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "不能获取 %s 的文件状态"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "文件 %s 不是一个正规文件"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "文件 %s 用户不可写"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "不能打开临时文件"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "不能重命名临时文件为 %s"
+
+#: transport-helper.c:1041
+#, c-format
+msgid "Could not read ref %s"
+msgstr "不能读取引用 %s"
+
 #: unpack-trees.c:203
 msgid "Checking out files"
 msgstr "正在检出文件"
@@ -1534,7 +1899,7 @@ msgstr "无效的 %XX 转义序列"
 
 #: urlmatch.c:172
 msgid "missing host and scheme is not 'file:'"
-msgstr "缺失主机名且URL方案不是 'file:'"
+msgstr "缺失主机名且 URL 方案不是 'file:'"
 
 #: urlmatch.c:189
 msgid "a 'file:' URL may not have a port number"
@@ -1552,203 +1917,210 @@ msgstr "无效的端口号"
 msgid "invalid '..' path segment"
 msgstr "无效的 '..' 路径片段"
 
-#: wrapper.c:523
+#: wrapper.c:222 wrapper.c:381
+#, c-format
+msgid "could not open '%s' for reading and writing"
+msgstr "无法打开 '%s' 进行读写"
+
+#: wrapper.c:224 wrapper.c:383
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr "无法打开 '%s' 进行写入"
+
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
+#, c-format
+msgid "could not open '%s' for reading"
+msgstr "无法打开 '%s' 进行读取"
+
+#: wrapper.c:611
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "不能访问 '%s':%s"
 
-#: wrapper.c:544
+#: wrapper.c:632
 #, c-format
 msgid "unable to access '%s'"
 msgstr "不能访问 '%s'"
 
-#: wrapper.c:555
-#, c-format
-msgid "unable to look up current user in the passwd file: %s"
-msgstr "无法在口令文件中查询到当前用户:%s"
-
-#: wrapper.c:556
-msgid "no such user"
-msgstr "无此用户"
-
-#: wrapper.c:564
+#: wrapper.c:640
 msgid "unable to get current working directory"
 msgstr "不能获取当前工作目录"
 
-#: wrapper.c:575
+#: wrapper.c:667
 #, c-format
 msgid "could not open %s for writing"
 msgstr "不能写入 %s"
 
-#: wrapper.c:587
+#: wrapper.c:678 builtin/am.c:410
 #, c-format
 msgid "could not write to %s"
 msgstr "不能写入 %s"
 
-#: wrapper.c:593
+#: wrapper.c:684
 #, c-format
 msgid "could not close %s"
 msgstr "不能关闭 %s"
 
-#: wt-status.c:150
+#: wt-status.c:149
 msgid "Unmerged paths:"
 msgstr "未合并的路径:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:177 wt-status.c:204
+#: wt-status.c:176 wt-status.c:203
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (使用 \"git reset %s <文件>...\" 撤出暂存区)"
+msgstr "  (使用 \"git reset %s <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:179 wt-status.c:206
+#: wt-status.c:178 wt-status.c:205
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
-msgstr "  (使用 \"git rm --cached <文件>...\" 撤出暂存区)"
+msgstr "  (使用 \"git rm --cached <文件>...\" 以取消暂存)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:183
+#: wt-status.c:182
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (使用 \"git add <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:185 wt-status.c:189
+#: wt-status.c:184 wt-status.c:188
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr "  (酌情使用 \"git add/rm <文件>...\" 标记解决方案)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:187
+#: wt-status.c:186
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (使用 \"git rm <文件>...\" 标记解决方案)"
 
-#: wt-status.c:198 wt-status.c:881
+#: wt-status.c:197 wt-status.c:880
 msgid "Changes to be committed:"
 msgstr "要提交的变更:"
 
-#: wt-status.c:216 wt-status.c:890
+#: wt-status.c:215 wt-status.c:889
 msgid "Changes not staged for commit:"
 msgstr "尚未暂存以备提交的变更:"
 
 #  译者:注意保持前导空格
-#: wt-status.c:220
+#: wt-status.c:219
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:222
+#: wt-status.c:221
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr "  (使用 \"git add/rm <文件>...\" 更新要提交的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:223
+#: wt-status.c:222
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr "  (使用 \"git checkout -- <文件>...\" 丢弃工作区的改动)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:225
+#: wt-status.c:224
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr "  (提交或丢弃子模组中未跟踪或修改的内容)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:237
+#: wt-status.c:236
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr "  (使用 \"git %s <文件>...\" 以包含要提交的内容)"
 
-#: wt-status.c:252
+#: wt-status.c:251
 msgid "both deleted:"
 msgstr "双方删除:"
 
-#: wt-status.c:254
+#: wt-status.c:253
 msgid "added by us:"
 msgstr "由我们添加:"
 
-#: wt-status.c:256
+#: wt-status.c:255
 msgid "deleted by them:"
 msgstr "由他们删除:"
 
-#: wt-status.c:258
+#: wt-status.c:257
 msgid "added by them:"
 msgstr "由他们添加:"
 
-#: wt-status.c:260
+#: wt-status.c:259
 msgid "deleted by us:"
 msgstr "由我们删除:"
 
-#: wt-status.c:262
+#: wt-status.c:261
 msgid "both added:"
 msgstr "双方添加:"
 
-#: wt-status.c:264
+#: wt-status.c:263
 msgid "both modified:"
 msgstr "双方修改:"
 
-#: wt-status.c:266
+#: wt-status.c:265
 #, c-format
 msgid "bug: unhandled unmerged status %x"
 msgstr "bug:无法处理的未合并状态 %x"
 
-#: wt-status.c:274
+#: wt-status.c:273
 msgid "new file:"
 msgstr "新文件:"
 
-#: wt-status.c:276
+#: wt-status.c:275
 msgid "copied:"
 msgstr "拷贝:"
 
-#: wt-status.c:278
+#: wt-status.c:277
 msgid "deleted:"
 msgstr "删除:"
 
-#: wt-status.c:280
+#: wt-status.c:279
 msgid "modified:"
 msgstr "修改:"
 
-#: wt-status.c:282
+#: wt-status.c:281
 msgid "renamed:"
 msgstr "重命名:"
 
-#: wt-status.c:284
+#: wt-status.c:283
 msgid "typechange:"
 msgstr "类型变更:"
 
-#: wt-status.c:286
+#: wt-status.c:285
 msgid "unknown:"
 msgstr "未知:"
 
-#: wt-status.c:288
+#: wt-status.c:287
 msgid "unmerged:"
 msgstr "未合并:"
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:370
+#: wt-status.c:369
 msgid "new commits, "
 msgstr "新提交, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:372
+#: wt-status.c:371
 msgid "modified content, "
 msgstr "修改的内容, "
 
 #  译者:末尾两个字节可能被删减,如果翻译为中文标点会出现半个汉字
-#: wt-status.c:374
+#: wt-status.c:373
 msgid "untracked content, "
 msgstr "未跟踪的内容, "
 
-#: wt-status.c:391
+#: wt-status.c:390
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "bug:无法处理的差异状态 %c"
 
-#: wt-status.c:755
+#: wt-status.c:754
 msgid "Submodules changed but not updated:"
 msgstr "子模组已修改但尚未更新:"
 
-#: wt-status.c:757
+#: wt-status.c:756
 msgid "Submodule changes to be committed:"
 msgstr "要提交的子模组变更:"
 
-#: wt-status.c:838
+#: wt-status.c:837
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -1756,198 +2128,234 @@ msgstr ""
 "不要改动上面的一行。\n"
 "下面的所有内容均将被删除。"
 
-#: wt-status.c:949
+#: wt-status.c:948
 msgid "You have unmerged paths."
 msgstr "您有尚未合并的路径。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:952
+#: wt-status.c:951
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (解决冲突并运行 \"git commit\")"
 
-#: wt-status.c:955
+#: wt-status.c:954
 msgid "All conflicts fixed but you are still merging."
 msgstr "所有冲突已解决但您仍处于合并中。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:958
+#: wt-status.c:957
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (使用 \"git commit\" 结束合并)"
 
-#: wt-status.c:968
+#: wt-status.c:967
 msgid "You are in the middle of an am session."
 msgstr "您正处于 am 操作过程中。"
 
-#: wt-status.c:971
+#: wt-status.c:970
 msgid "The current patch is empty."
 msgstr "当前的补丁为空。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:975
+#: wt-status.c:974
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (解决冲突,然后运行 \"git am --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:977
+#: wt-status.c:976
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (使用 \"git am --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:979
+#: wt-status.c:978
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (使用 \"git am --abort\" 恢复原有分支)"
 
-#: wt-status.c:1039 wt-status.c:1056
+#: wt-status.c:1105
+msgid "No commands done."
+msgstr "没有命令被执行。"
+
+#: wt-status.c:1108
+#, 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:1119
+#, c-format
+msgid "  (see more in file %s)"
+msgstr "  (更多参见文件 %s)"
+
+#: wt-status.c:1124
+msgid "No commands remaining."
+msgstr "未剩下任何命令。"
+
+#: wt-status.c:1127
+#, c-format
+msgid "Next command to do (%d remaining command):"
+msgid_plural "Next commands to do (%d remaining commands):"
+msgstr[0] "接下来要执行的命令(剩余 %d 条命令):"
+msgstr[1] "接下来要执行的命令(剩余 %d 条命令):"
+
+#  译者:注意保持前导空格
+#: wt-status.c:1135
+msgid "  (use \"git rebase --edit-todo\" to view and edit)"
+msgstr "  (使用 \"git rebase --edit-todo\" 来查看和编辑)"
+
+#: wt-status.c:1148
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作。"
 
-#: wt-status.c:1044 wt-status.c:1061
+#: wt-status.c:1153
 msgid "You are currently rebasing."
 msgstr "您在执行变基操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1047
+#: wt-status.c:1167
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (解决冲突,然后运行 \"git rebase --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1049
+#: wt-status.c:1169
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (使用 \"git rebase --skip\" 跳过此补丁)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1051
+#: wt-status.c:1171
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (使用 \"git rebase --abort\" 以检出原有分支)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1064
+#: wt-status.c:1177
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git rebase --continue\")"
 
-#: wt-status.c:1068
+#: wt-status.c:1181
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时拆分提交。"
 
-#: wt-status.c:1073
+#: wt-status.c:1186
 msgid "You are currently splitting a commit during a rebase."
 msgstr "您在执行变基操作时拆分提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1076
+#: wt-status.c:1189
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr "  (一旦您工作目录提交干净后,运行 \"git rebase --continue\")"
 
-#: wt-status.c:1080
+#: wt-status.c:1193
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr "您在执行将分支 '%s' 变基到 '%s' 的操作时编辑提交。"
 
-#: wt-status.c:1085
+#: wt-status.c:1198
 msgid "You are currently editing a commit during a rebase."
 msgstr "您在执行变基操作时编辑提交。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1088
+#: wt-status.c:1201
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (使用 \"git commit --amend\" 修补当前提交)"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1090
+#: wt-status.c:1203
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr "  (当您对您的修改满意后执行 \"git rebase --continue\")"
 
-#: wt-status.c:1100
+#: wt-status.c:1213
 #, c-format
 msgid "You are currently cherry-picking commit %s."
 msgstr "您在执行拣选提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1105
+#: wt-status.c:1218
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr "  (解决冲突并运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1108
+#: wt-status.c:1221
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git cherry-pick --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1110
+#: wt-status.c:1223
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (使用 \"git cherry-pick --abort\" 以取消拣选操作)"
 
-#: wt-status.c:1119
+#: wt-status.c:1232
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "您在执行反转提交 %s 的操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1124
+#: wt-status.c:1237
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (解决冲突并运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1127
+#: wt-status.c:1240
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (所有冲突已解决:运行 \"git revert --continue\")"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1129
+#: wt-status.c:1242
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (使用 \"git revert --abort\" 以取消反转提交操作)"
 
-#: wt-status.c:1140
+#: wt-status.c:1253
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "您在执行从分支 '%s' 开始的二分查找操作。"
 
-#: wt-status.c:1144
+#: wt-status.c:1257
 msgid "You are currently bisecting."
 msgstr "您在执行二分查找操作。"
 
 #  译者:注意保持前导空格
-#: wt-status.c:1147
+#: wt-status.c:1260
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (使用 \"git bisect reset\" 以回到原有分支)"
 
-#: wt-status.c:1324
+#: wt-status.c:1438
 msgid "On branch "
 msgstr "位于分支 "
 
-#: wt-status.c:1331
+#: wt-status.c:1444
+msgid "interactive rebase in progress; onto "
+msgstr "交互式变基操作正在进行中;至 "
+
+#: wt-status.c:1446
 msgid "rebase in progress; onto "
 msgstr "变基操作正在进行中;至 "
 
-#: wt-status.c:1336
+#: wt-status.c:1451
 msgid "HEAD detached at "
 msgstr "头指针分离于 "
 
-#: wt-status.c:1338
+#: wt-status.c:1453
 msgid "HEAD detached from "
 msgstr "头指针分离自 "
 
-#: wt-status.c:1341
+#: wt-status.c:1456
 msgid "Not currently on any branch."
 msgstr "当前不在任何分支上。"
 
-#: wt-status.c:1358
+#: wt-status.c:1474
 msgid "Initial commit"
 msgstr "初始提交"
 
-#: wt-status.c:1372
+#: wt-status.c:1488
 msgid "Untracked files"
 msgstr "未跟踪的文件"
 
-#: wt-status.c:1374
+#: wt-status.c:1490
 msgid "Ignored files"
 msgstr "忽略的文件"
 
-#: wt-status.c:1378
+#: wt-status.c:1494
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -1957,98 +2365,102 @@ msgstr ""
 "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n"
 "但您需要小心不要忘了添加新文件(参见 'git help status')。"
 
-#: wt-status.c:1384
+#: wt-status.c:1500
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "未跟踪的文件没有列出%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1386
+#: wt-status.c:1502
 msgid " (use -u option to show untracked files)"
 msgstr "(使用 -u 参数显示未跟踪的文件)"
 
-#: wt-status.c:1392
+#: wt-status.c:1508
 msgid "No changes"
 msgstr "没有修改"
 
-#: wt-status.c:1397
+#: wt-status.c:1513
 #, 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:1400
+#: wt-status.c:1516
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "修改尚未加入提交\n"
 
-#: wt-status.c:1403
+#: wt-status.c:1519
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
 "track)\n"
 msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1406
+#: wt-status.c:1522
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "提交为空,但是存在尚未跟踪的文件\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1409
+#: wt-status.c:1525
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n"
 
-#: wt-status.c:1412 wt-status.c:1417
+#: wt-status.c:1528 wt-status.c:1533
 #, c-format
 msgid "nothing to commit\n"
 msgstr "无文件要提交\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1415
+#: wt-status.c:1531
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: wt-status.c:1419
+#: wt-status.c:1535
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "无文件要提交,干净的工作区\n"
 
-#: wt-status.c:1528
-msgid "HEAD (no branch)"
-msgstr "HEAD(非分支)"
-
 #  译者:注意保持句尾空格
-#: wt-status.c:1534
+#: wt-status.c:1642
 msgid "Initial commit on "
 msgstr "初始提交于 "
 
-#: wt-status.c:1561
+#: wt-status.c:1646
+msgid "HEAD (no branch)"
+msgstr "HEAD(非分支)"
+
+#: wt-status.c:1675
 msgid "gone"
 msgstr "丢失"
 
 #  译者:注意保持句尾空格
-#: wt-status.c:1563 wt-status.c:1571
+#: wt-status.c:1677 wt-status.c:1685
 msgid "behind "
 msgstr "落后 "
 
-#: compat/precompose_utf8.c:55 builtin/clone.c:345
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "领先 "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "无法删除 '%s'"
 
 #: builtin/add.c:22
 msgid "git add [<options>] [--] <pathspec>..."
-msgstr "git add [<选项>] [--] <路径规>..."
+msgstr "git add [<选项>] [--] <路径规>..."
 
 #: builtin/add.c:65
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "意外的差异状态 %c"
 
-#: builtin/add.c:70 builtin/commit.c:277
+#: builtin/add.c:70 builtin/commit.c:278
 msgid "updating files failed"
 msgstr "更新文件失败"
 
@@ -2061,14 +2473,14 @@ msgstr "删除 '%s'\n"
 msgid "Unstaged changes after refreshing the index:"
 msgstr "刷新索引之后尚未被暂存的变更:"
 
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
 msgid "Could not read the index"
 msgstr "不能读取索引"
 
 #: builtin/add.c:205
 #, c-format
 msgid "Could not open '%s' for writing."
-msgstr "不能打开 '%s' 以写入。"
+msgstr "无法打开 '%s' 进行写入。"
 
 #: builtin/add.c:209
 msgid "Could not write patch"
@@ -2096,15 +2508,15 @@ msgstr "不能应用 '%s'"
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n"
 
-#: builtin/add.c:249 builtin/clean.c:874 builtin/fetch.c:107 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/push.c:508 builtin/remote.c:1369
-#: builtin/rm.c:268
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
 msgid "dry run"
 msgstr "演习"
 
-#: builtin/add.c:250 builtin/apply.c:4580 builtin/check-ignore.c:19
-#: builtin/commit.c:1322 builtin/count-objects.c:63 builtin/fsck.c:616
-#: builtin/log.c:1617 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
+#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "冗长输出"
 
@@ -2112,7 +2524,7 @@ msgstr "冗长输出"
 msgid "interactive picking"
 msgstr "交互式拣选"
 
-#: builtin/add.c:253 builtin/checkout.c:1221 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "交互式挑选数据块"
 
@@ -2169,166 +2581,564 @@ msgstr "-A 和 -u 选项互斥"
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用"
 
-#: builtin/add.c:358
+#: builtin/add.c:352
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "没有指定文件,也没有文件被添加。\n"
 
-#: builtin/add.c:359
+#: builtin/add.c:353
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "也许您想要执行 'git add .'?\n"
 
-#: builtin/add.c:364 builtin/check-ignore.c:172 builtin/clean.c:918
-#: builtin/commit.c:335 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
 msgid "index file corrupt"
 msgstr "索引文件损坏"
 
-#: builtin/add.c:447 builtin/apply.c:4678 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
 msgid "Unable to write new index file"
 msgstr "无法写入新索引文件"
 
-#: builtin/apply.c:59
-msgid "git apply [<options>] [<patch>...]"
-msgstr "git apply [<选项>] [<补丁>...]"
-
-#: builtin/apply.c:112
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
 #, c-format
-msgid "unrecognized whitespace option '%s'"
-msgstr "未能识别的空白字符选项 '%s'"
+msgid "could not read '%s'"
+msgstr "不能读取 '%s'"
 
-#: builtin/apply.c:127
-#, c-format
-msgid "unrecognized whitespace ignore option '%s'"
-msgstr "未能识别的空白字符忽略选项 '%s'"
+#: builtin/am.c:430
+msgid "could not parse author script"
+msgstr "不能解析作者脚本"
 
-#: builtin/apply.c:822
+#: builtin/am.c:507
 #, c-format
-msgid "Cannot prepare timestamp regexp %s"
-msgstr "无法准备时间戳正则表达式 %s"
+msgid "'%s' was deleted by the applypatch-msg hook"
+msgstr "'%s' 被 applypatch-msg 钩子删除"
 
-#: builtin/apply.c:831
+#: builtin/am.c:548 builtin/notes.c:300
 #, c-format
-msgid "regexec returned %d for input: %s"
-msgstr "regexec 返回 %d,输入为:%s"
+msgid "Malformed input line: '%s'."
+msgstr "非法的输入行:'%s'。"
 
-#: builtin/apply.c:912
+#: builtin/am.c:585 builtin/notes.c:315
 #, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr "ä¸\8dè\83½å\9c¨è¡¥ä¸\81ç\9a\84第 %d è¡\8cæ\89¾å\88°æ\96\87件å\90\8d"
+msgid "Failed to copy notes from '%s' to '%s'"
+msgstr "ä»\8e '%s' æ\8b·è´\9d注解å\88° '%s' æ\97¶å¤±è´¥"
 
-#: builtin/apply.c:944
-#, c-format
-msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
+#: builtin/am.c:611
+msgid "fseek failed"
+msgstr "fseek 失败"
 
-#: builtin/apply.c:948
+#: builtin/am.c:772 builtin/am.c:860
 #, c-format
-msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
+msgid "could not open '%s' for reading: %s"
+msgstr "无法打开 '%s' 进行读取:%s"
 
-#: builtin/apply.c:949
+#: builtin/am.c:779
 #, c-format
-msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
+msgid "could not open '%s' for writing: %s"
+msgstr "无法打开 '%s' 进行写入:%s"
 
-#: builtin/apply.c:956
+#: builtin/am.c:788
 #, c-format
-msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
+msgid "could not parse patch '%s'"
+msgstr "无法解析补丁 '%s'"
 
-#: builtin/apply.c:1419
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recount:意外的行:%.*s"
+#: builtin/am.c:853
+msgid "Only one StGIT patch series can be applied at once"
+msgstr "一次只能有一个 StGIT 补丁队列被应用"
 
-#: builtin/apply.c:1476
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "第 %d 行的补丁片段没有头信息:%.*s"
+#: builtin/am.c:901
+msgid "invalid timestamp"
+msgstr "无效的时间戳"
+
+#: builtin/am.c:904 builtin/am.c:912
+msgid "invalid Date line"
+msgstr "无效的日期行"
+
+#: builtin/am.c:909
+msgid "invalid timezone offset"
+msgstr "无效的时区偏移值"
 
-#: builtin/apply.c:1493
+#: builtin/am.c:996
+msgid "Patch format detection failed."
+msgstr "补丁格式检测失败。"
+
+#: builtin/am.c:1001 builtin/clone.c:378
 #, c-format
-msgid ""
-"git diff header lacks filename information when removing %d leading pathname "
-"component (line %d)"
-msgid_plural ""
-"git diff header lacks filename information when removing %d leading pathname "
-"components (line %d)"
-msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
-msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
+msgid "failed to create directory '%s'"
+msgstr "无法创建目录 '%s'"
 
-#: builtin/apply.c:1659
-msgid "new file depends on old contents"
-msgstr "æ\96°æ\96\87件ä¾\9dèµ\96æ\97§å\86\85容"
+#: builtin/am.c:1005
+msgid "Failed to split patches."
+msgstr "æ\97 æ³\95æ\8b\86å\88\86è¡¥ä¸\81ã\80\82"
 
-#: builtin/apply.c:1661
-msgid "deleted file still has contents"
-msgstr "删除的文件仍有内容"
+#: builtin/am.c:1137 builtin/commit.c:363
+msgid "unable to write index file"
+msgstr "无法写入索引文件"
 
-#: builtin/apply.c:1687
+#: builtin/am.c:1188
 #, c-format
-msgid "corrupt patch at line %d"
-msgstr "补丁在第 %d 行损坏"
+msgid "When you have resolved this problem, run \"%s --continue\"."
+msgstr "当您解决这一问题,执行 \"%s --continue\"。"
 
-#: builtin/apply.c:1723
+#: builtin/am.c:1189
 #, c-format
-msgid "new file %s depends on old contents"
-msgstr "新文件 %s 依赖旧内容"
+msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
+msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。"
 
-#: builtin/apply.c:1725
+#: builtin/am.c:1190
 #, c-format
-msgid "deleted file %s still has contents"
+msgid "To restore the original branch and stop patching, run \"%s --abort\"."
+msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。"
+
+#: builtin/am.c:1328
+msgid "Patch is empty. Was it split wrong?"
+msgstr "补丁为空。是不是切分错误?"
+
+#: builtin/am.c:1402 builtin/log.c:1350
+#, c-format
+msgid "invalid ident line: %s"
+msgstr "包含无效的身份标识:%s"
+
+#: builtin/am.c:1429
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "不能解析提交 %s"
+
+#: builtin/am.c:1631
+msgid "Repository lacks necessary blobs to fall back on 3-way merge."
+msgstr "仓库缺乏必要的数据对象以进行三方合并。"
+
+#: builtin/am.c:1633
+msgid "Using index info to reconstruct a base tree..."
+msgstr "使用索引来重建一个(三方合并的)基础目录树..."
+
+#: builtin/am.c:1652
+msgid ""
+"Did you hand edit your patch?\n"
+"It does not apply to blobs recorded in its index."
+msgstr ""
+"您是否曾手动编辑过您的补丁?\n"
+"无法应用补丁到索引中的数据对象上。"
+
+#: builtin/am.c:1658
+msgid "Falling back to patching base and 3-way merge..."
+msgstr "回落到基础版本上打补丁及进行三方合并..."
+
+#: builtin/am.c:1673
+msgid "Failed to merge in the changes."
+msgstr "无法合并变更。"
+
+#: builtin/am.c:1697 builtin/merge.c:633
+msgid "git write-tree failed to write a tree"
+msgstr "git write-tree 无法写入一树对象"
+
+#: builtin/am.c:1704
+msgid "applying to an empty history"
+msgstr "正应用到一个空历史上"
+
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
+msgid "failed to write commit object"
+msgstr "无法写提交对象"
+
+#: builtin/am.c:1749 builtin/am.c:1753
+#, c-format
+msgid "cannot resume: %s does not exist."
+msgstr "无法继续:%s 不存在。"
+
+#: builtin/am.c:1769
+msgid "cannot be interactive without stdin connected to a terminal."
+msgstr "标准输入没有和终端关联,不能进行交互式操作。"
+
+#: builtin/am.c:1774
+msgid "Commit Body is:"
+msgstr "提交内容为:"
+
+#  译者:注意保持句尾空格
+#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
+#. in your translation. The program will only accept English
+#. input at this point.
+#.
+#: builtin/am.c:1784
+msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
+msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:"
+
+#: builtin/am.c:1834
+#, c-format
+msgid "Dirty index: cannot apply patches (dirty: %s)"
+msgstr "脏索引:不能应用补丁(脏文件:%s)"
+
+#: builtin/am.c:1869 builtin/am.c:1941
+#, c-format
+msgid "Applying: %.*s"
+msgstr "应用:%.*s"
+
+#: builtin/am.c:1885
+msgid "No changes -- Patch already applied."
+msgstr "没有变更 —— 补丁已经应用过。"
+
+#: builtin/am.c:1893
+#, c-format
+msgid "Patch failed at %s %.*s"
+msgstr "打补丁失败于 %s %.*s"
+
+#: builtin/am.c:1899
+#, c-format
+msgid "The copy of the patch that failed is found in: %s"
+msgstr "失败的补丁文件副本位于:%s"
+
+#: builtin/am.c:1944
+msgid ""
+"No changes - did you forget to use 'git add'?\n"
+"If there is nothing left to stage, chances are that something else\n"
+"already introduced the same changes; you might want to skip this patch."
+msgstr ""
+"没有变更 —— 您是不是忘了执行 'git add'?\n"
+"如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
+"您也许想要跳过这个补丁。"
+
+#: builtin/am.c:1951
+msgid ""
+"You still have unmerged paths in your index.\n"
+"Did you forget to use 'git add'?"
+msgstr ""
+"您的索引中仍有未合并的路径。\n"
+"您是否忘了执行 'git add'?"
+
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
+#: builtin/reset.c:316
+#, c-format
+msgid "Could not parse object '%s'."
+msgstr "不能解析对象 '%s'。"
+
+#: builtin/am.c:2111
+msgid "failed to clean index"
+msgstr "无法清空索引"
+
+#: builtin/am.c:2145
+msgid ""
+"You seem to have moved HEAD since the last 'am' failure.\n"
+"Not rewinding to ORIG_HEAD"
+msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
+
+#: builtin/am.c:2206
+#, c-format
+msgid "Invalid value for --patch-format: %s"
+msgstr "无效的 --patch-format 值:%s"
+
+#: builtin/am.c:2239
+msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
+msgstr "git am [<选项>] [(<mbox>|<Maildir>)...]"
+
+#: builtin/am.c:2240
+msgid "git am [<options>] (--continue | --skip | --abort)"
+msgstr "git am [<选项>] (--continue | --skip | --abort)"
+
+#: builtin/am.c:2246
+msgid "run interactively"
+msgstr "以交互式方式运行"
+
+#: builtin/am.c:2248
+msgid "historical option -- no-op"
+msgstr "老的参数 —— 无作用"
+
+#: builtin/am.c:2250
+msgid "allow fall back on 3way merging if needed"
+msgstr "如果必要,允许使用三方合并。"
+
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/repack.c:171
+msgid "be quiet"
+msgstr "静默模式"
+
+#: builtin/am.c:2253
+msgid "add a Signed-off-by line to the commit message"
+msgstr "在提交说明中添加一个 Signed-off-by 签名"
+
+#: builtin/am.c:2256
+msgid "recode into utf8 (default)"
+msgstr "使用 utf8 字符集(默认)"
+
+#: builtin/am.c:2258
+msgid "pass -k flag to git-mailinfo"
+msgstr "向 git-mailinfo 传递 -k 参数"
+
+#: builtin/am.c:2260
+msgid "pass -b flag to git-mailinfo"
+msgstr "向 git-mailinfo 传递 -b 参数"
+
+#: builtin/am.c:2262
+msgid "pass -m flag to git-mailinfo"
+msgstr "向 git-mailinfo 传递 -m 参数"
+
+#: builtin/am.c:2264
+msgid "pass --keep-cr flag to git-mailsplit for mbox format"
+msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数"
+
+#: builtin/am.c:2267
+msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
+msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置"
+
+#: builtin/am.c:2270
+msgid "strip everything before a scissors line"
+msgstr "丢弃裁切线前的所有内容"
+
+#: builtin/am.c:2271 builtin/apply.c:4544
+msgid "action"
+msgstr "动作"
+
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
+msgid "pass it through git-apply"
+msgstr "传递给 git-apply"
+
+#: builtin/am.c:2280 builtin/apply.c:4568
+msgid "root"
+msgstr "根目录"
+
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
+msgid "path"
+msgstr "路径"
+
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
+msgid "n"
+msgstr "n"
+
+#: builtin/am.c:2292 builtin/apply.c:4512
+msgid "num"
+msgstr "数字"
+
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/tag.c:372
+msgid "format"
+msgstr "格式"
+
+#: builtin/am.c:2296
+msgid "format the patch(es) are in"
+msgstr "补丁的格式"
+
+#: builtin/am.c:2302
+msgid "override error message when patch failure occurs"
+msgstr "打补丁失败时显示的错误信息"
+
+#: builtin/am.c:2304
+msgid "continue applying patches after resolving a conflict"
+msgstr "冲突解决后继续应用补丁"
+
+#: builtin/am.c:2307
+msgid "synonyms for --continue"
+msgstr "和 --continue 同义"
+
+#: builtin/am.c:2310
+msgid "skip the current patch"
+msgstr "跳过当前补丁"
+
+#: builtin/am.c:2313
+msgid "restore the original branch and abort the patching operation."
+msgstr "恢复原始分支并终止打补丁操作。"
+
+#: builtin/am.c:2317
+msgid "lie about committer date"
+msgstr "将作者日期作为提交日期"
+
+#: builtin/am.c:2319
+msgid "use current timestamp for author date"
+msgstr "用当前时间作为作者日期"
+
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
+msgid "key-id"
+msgstr "key-id"
+
+#: builtin/am.c:2322
+msgid "GPG-sign commits"
+msgstr "使用 GPG 签名提交"
+
+#: builtin/am.c:2325
+msgid "(internal use for git-rebase)"
+msgstr "(内部使用,用于 git-rebase)"
+
+#: builtin/am.c:2340
+msgid ""
+"The -b/--binary option has been a no-op for long time, and\n"
+"it will be removed. Please do not use it anymore."
+msgstr ""
+"参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n"
+"请不要再使用它了。"
+
+#: builtin/am.c:2347
+msgid "failed to read the index"
+msgstr "无法读取索引"
+
+#: builtin/am.c:2362
+#, c-format
+msgid "previous rebase directory %s still exists but mbox given."
+msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。"
+
+#: builtin/am.c:2386
+#, c-format
+msgid ""
+"Stray %s directory found.\n"
+"Use \"git am --abort\" to remove it."
+msgstr ""
+"发现了错误的 %s 目录。\n"
+"使用 \"git am --abort\" 删除它。"
+
+#: builtin/am.c:2392
+msgid "Resolve operation not in progress, we are not resuming."
+msgstr "解决操作未进行,我们不会继续。"
+
+#: builtin/apply.c:59
+msgid "git apply [<options>] [<patch>...]"
+msgstr "git apply [<选项>] [<补丁>...]"
+
+#: builtin/apply.c:111
+#, c-format
+msgid "unrecognized whitespace option '%s'"
+msgstr "未能识别的空白字符选项 '%s'"
+
+#: builtin/apply.c:126
+#, c-format
+msgid "unrecognized whitespace ignore option '%s'"
+msgstr "未能识别的空白字符忽略选项 '%s'"
+
+#: builtin/apply.c:818
+#, c-format
+msgid "Cannot prepare timestamp regexp %s"
+msgstr "无法准备时间戳正则表达式 %s"
+
+#: builtin/apply.c:827
+#, c-format
+msgid "regexec returned %d for input: %s"
+msgstr "regexec 返回 %d,输入为:%s"
+
+#: builtin/apply.c:908
+#, c-format
+msgid "unable to find filename in patch at line %d"
+msgstr "不能在补丁的第 %d 行找到文件名"
+
+#: builtin/apply.c:940
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
+msgstr "git apply:错误的 git-diff - 应为 /dev/null,但在第 %2$d 行得到 %1$s"
+
+#: builtin/apply.c:944
+#, c-format
+msgid "git apply: bad git-diff - inconsistent new filename on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行上新文件名不一致"
+
+#: builtin/apply.c:945
+#, c-format
+msgid "git apply: bad git-diff - inconsistent old filename on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行上旧文件名不一致"
+
+#: builtin/apply.c:952
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null on line %d"
+msgstr "git apply:错误的 git-diff - 第 %d 行处应为 /dev/null"
+
+#: builtin/apply.c:1415
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recount:意外的行:%.*s"
+
+#: builtin/apply.c:1472
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "第 %d 行的补丁片段没有头信息:%.*s"
+
+#: builtin/apply.c:1489
+#, c-format
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
+msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
+msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)"
+
+#: builtin/apply.c:1655
+msgid "new file depends on old contents"
+msgstr "新文件依赖旧内容"
+
+#: builtin/apply.c:1657
+msgid "deleted file still has contents"
+msgstr "删除的文件仍有内容"
+
+#: builtin/apply.c:1683
+#, c-format
+msgid "corrupt patch at line %d"
+msgstr "补丁在第 %d 行损坏"
+
+#: builtin/apply.c:1719
+#, c-format
+msgid "new file %s depends on old contents"
+msgstr "新文件 %s 依赖旧内容"
+
+#: builtin/apply.c:1721
+#, c-format
+msgid "deleted file %s still has contents"
 msgstr "删除的文件 %s 仍有内容"
 
-#: builtin/apply.c:1728
+#: builtin/apply.c:1724
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** 警告:文件 %s 成为空文件但并未删除"
 
-#: builtin/apply.c:1874
+#: builtin/apply.c:1870
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "二进制补丁在第 %d 行损坏:%.*s"
 
-#: builtin/apply.c:1903
+#: builtin/apply.c:1899
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "未能识别的二进制补丁位于第 %d 行"
 
-#: builtin/apply.c:2054
+#: builtin/apply.c:2050
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "补丁文件的第 %d 行只有垃圾数据"
 
-#: builtin/apply.c:2144
+#: builtin/apply.c:2140
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "无法读取符号链接 %s"
 
-#: builtin/apply.c:2148
+#: builtin/apply.c:2144
 #, c-format
 msgid "unable to open or read %s"
 msgstr "不能打开或读取 %s"
 
-#: builtin/apply.c:2781
+#: builtin/apply.c:2777
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "无效的行首字符:'%c'"
 
-#: builtin/apply.c:2900
+#: builtin/apply.c:2896
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "块 #%d 成功应用于 %d(偏移 %d 行)"
 msgstr[1] "块 #%d 成功应用于 %d(偏移 %d 行)"
 
-#: builtin/apply.c:2912
+#: builtin/apply.c:2908
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段"
 
-#: builtin/apply.c:2918
+#: builtin/apply.c:2914
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -2337,336 +3147,319 @@ msgstr ""
 "当查询:\n"
 "%.*s"
 
-#: builtin/apply.c:2938
+#: builtin/apply.c:2934
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "缺失 '%s' 的二进制补丁数据"
 
-#: builtin/apply.c:3039
+#: builtin/apply.c:3035
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "二进制补丁未应用到 '%s'"
 
-#: builtin/apply.c:3045
+#: builtin/apply.c:3041
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)"
 
-#: builtin/apply.c:3066
+#: builtin/apply.c:3062
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "打补丁失败:%s:%ld"
 
-#: builtin/apply.c:3190
+#: builtin/apply.c:3186
 #, c-format
 msgid "cannot checkout %s"
 msgstr "不能检出 %s"
 
-#: builtin/apply.c:3235 builtin/apply.c:3246 builtin/apply.c:3291
+#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287
 #, c-format
 msgid "read of %s failed"
 msgstr "读取 %s 失败"
 
-#: builtin/apply.c:3243
+#: builtin/apply.c:3239
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "读取位于符号链接中的 '%s'"
 
-#: builtin/apply.c:3271 builtin/apply.c:3493
+#: builtin/apply.c:3267 builtin/apply.c:3489
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "路径 %s 已经被重命名/删除"
 
-#: builtin/apply.c:3352 builtin/apply.c:3507
+#: builtin/apply.c:3348 builtin/apply.c:3503
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s:不存在于索引中"
 
-#: builtin/apply.c:3356 builtin/apply.c:3499 builtin/apply.c:3521
+#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517
 #, c-format
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: builtin/apply.c:3361 builtin/apply.c:3515
+#: builtin/apply.c:3357 builtin/apply.c:3511
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s:和索引不匹配"
 
-#: builtin/apply.c:3463
+#: builtin/apply.c:3459
 msgid "removal patch leaves file contents"
 msgstr "移除补丁仍留下了文件内容"
 
-#: builtin/apply.c:3532
+#: builtin/apply.c:3528
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s:错误类型"
 
-#: builtin/apply.c:3534
+#: builtin/apply.c:3530
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s 的类型是 %o,应为 %o"
 
-#: builtin/apply.c:3693 builtin/apply.c:3695
+#: builtin/apply.c:3689 builtin/apply.c:3691
 #, c-format
 msgid "invalid path '%s'"
 msgstr "无效路径 '%s'"
 
-#: builtin/apply.c:3750
+#: builtin/apply.c:3746
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s:已经存在于索引中"
 
-#: builtin/apply.c:3753
+#: builtin/apply.c:3749
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s:已经存在于工作区中"
 
-#: builtin/apply.c:3773
+#: builtin/apply.c:3769
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配"
 
-#: builtin/apply.c:3778
+#: builtin/apply.c:3774
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "%2$s 的新模式(%1$o)和 %4$s 的旧模式(%3$o)不匹配"
 
-#: builtin/apply.c:3798
+#: builtin/apply.c:3794
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "受影响的文件 '%s' 位于符号链接中"
 
-#: builtin/apply.c:3802
+#: builtin/apply.c:3798
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s:补丁未应用"
 
-#: builtin/apply.c:3816
+#: builtin/apply.c:3812
 #, c-format
 msgid "Checking patch %s..."
 msgstr "检查补丁 %s..."
 
-#: builtin/apply.c:3909 builtin/checkout.c:233 builtin/reset.c:135
+#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "对路径 '%s' 的 make_cache_entry 操作失败"
 
-#: builtin/apply.c:4052
+#: builtin/apply.c:4048
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "不能从索引中移除 %s"
 
-#: builtin/apply.c:4081
+#: builtin/apply.c:4077
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "子模组 %s 损坏的补丁"
 
-#: builtin/apply.c:4085
+#: builtin/apply.c:4081
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "不能枚举新建文件 '%s' 的状态"
 
-#: builtin/apply.c:4090
+#: builtin/apply.c:4086
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "不能为新建文件 %s 创建后端存储"
 
-#: builtin/apply.c:4093 builtin/apply.c:4201
+#: builtin/apply.c:4089 builtin/apply.c:4197
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "无法为 %s 添加缓存条目"
 
-#: builtin/apply.c:4126
+#: builtin/apply.c:4122
 #, c-format
 msgid "closing file '%s'"
 msgstr "关闭文件 '%s'"
 
-#: builtin/apply.c:4175
+#: builtin/apply.c:4171
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "不能写文件 '%s' 权限 %o"
 
-#: builtin/apply.c:4262
+#: builtin/apply.c:4258
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "成功应用补丁 %s。"
 
-#: builtin/apply.c:4270
+#: builtin/apply.c:4266
 msgid "internal error"
 msgstr "内部错误"
 
-#: builtin/apply.c:4273
+#: builtin/apply.c:4269
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..."
 
-#: builtin/apply.c:4283
+#: builtin/apply.c:4279
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "截短 .rej 文件名为 %.*s.rej"
 
-#: builtin/apply.c:4304
+#: builtin/apply.c:4300
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "第 #%d 个片段成功应用。"
 
-#: builtin/apply.c:4307
+#: builtin/apply.c:4303
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "拒绝第 #%d 个片段。"
 
-#: builtin/apply.c:4397
+#: builtin/apply.c:4393
 msgid "unrecognized input"
 msgstr "未能识别的输入"
 
-#: builtin/apply.c:4408
+#: builtin/apply.c:4404
 msgid "unable to read index file"
 msgstr "无法读取索引文件"
 
-#: builtin/apply.c:4525 builtin/apply.c:4528 builtin/clone.c:85
-#: builtin/fetch.c:92
-msgid "path"
-msgstr "路径"
-
-#: builtin/apply.c:4526
+#: builtin/apply.c:4507
 msgid "don't apply changes matching the given path"
 msgstr "不要应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4529
+#: builtin/apply.c:4510
 msgid "apply changes matching the given path"
 msgstr "应用与给出路径向匹配的变更"
 
-#: builtin/apply.c:4531
-msgid "num"
-msgstr "数字"
-
-#: builtin/apply.c:4532
+#: builtin/apply.c:4513
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "从传统的 diff 路径中移除指定数量的前导斜线"
 
-#: builtin/apply.c:4535
+#: builtin/apply.c:4516
 msgid "ignore additions made by the patch"
 msgstr "忽略补丁中的添加的文件"
 
-#: builtin/apply.c:4537
+#: builtin/apply.c:4518
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "不应用补丁,而是显示输入的差异统计(diffstat)"
 
-#: builtin/apply.c:4541
+#: builtin/apply.c:4522
 msgid "show number of added and deleted lines in decimal notation"
 msgstr "以十进制数显示添加和删除的行数"
 
-#: builtin/apply.c:4543
+#: builtin/apply.c:4524
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "不应用补丁,而是显示输入的概要"
 
-#: builtin/apply.c:4545
+#: builtin/apply.c:4526
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "不应用补丁,而是查看补丁是否可应用"
 
-#: builtin/apply.c:4547
+#: builtin/apply.c:4528
 msgid "make sure the patch is applicable to the current index"
 msgstr "确认补丁可以应用到当前索引"
 
-#: builtin/apply.c:4549
+#: builtin/apply.c:4530
 msgid "apply a patch without touching the working tree"
 msgstr "应用补丁而不修改工作区"
 
-#: builtin/apply.c:4551
+#: builtin/apply.c:4532
 msgid "accept a patch that touches outside the working area"
 msgstr "接受修改工作区之外文件的补丁"
 
-#: builtin/apply.c:4553
+#: builtin/apply.c:4534
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)"
 
-#: builtin/apply.c:4555
+#: builtin/apply.c:4536
 msgid "attempt three-way merge if a patch does not apply"
-msgstr "如果一个补丁不能应用则尝试三合并"
+msgstr "如果一个补丁不能应用则尝试三合并"
 
-#: builtin/apply.c:4557
+#: builtin/apply.c:4538
 msgid "build a temporary index based on embedded index information"
 msgstr "创建一个临时索引基于嵌入的索引信息"
 
-#: builtin/apply.c:4559 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
 msgid "paths are separated with NUL character"
 msgstr "路径以 NUL 字符分隔"
 
-#: builtin/apply.c:4562
+#: builtin/apply.c:4543
 msgid "ensure at least <n> lines of context match"
 msgstr "确保至少匹配 <n> 行上下文"
 
-#: builtin/apply.c:4563
-msgid "action"
-msgstr "动作"
-
-#: builtin/apply.c:4564
+#: builtin/apply.c:4545
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "检查新增和修改的行中间的空白字符滥用"
 
-#: builtin/apply.c:4567 builtin/apply.c:4570
+#: builtin/apply.c:4548 builtin/apply.c:4551
 msgid "ignore changes in whitespace when finding context"
 msgstr "查找上下文时忽略空白字符的变更"
 
-#: builtin/apply.c:4573
+#: builtin/apply.c:4554
 msgid "apply the patch in reverse"
 msgstr "反向应用补丁"
 
-#: builtin/apply.c:4575
+#: builtin/apply.c:4556
 msgid "don't expect at least one line of context"
 msgstr "无需至少一行上下文"
 
-#: builtin/apply.c:4577
+#: builtin/apply.c:4558
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中"
 
-#: builtin/apply.c:4579
+#: builtin/apply.c:4560
 msgid "allow overlapping hunks"
 msgstr "允许重叠的补丁片段"
 
-#: builtin/apply.c:4582
+#: builtin/apply.c:4563
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "允许不正确的文件末尾换行符"
 
-#: builtin/apply.c:4585
+#: builtin/apply.c:4566
 msgid "do not trust the line counts in the hunk headers"
 msgstr "不信任补丁片段的头信息中的行号"
 
-#: builtin/apply.c:4587
-msgid "root"
-msgstr "根目录"
-
-#: builtin/apply.c:4588
+#: builtin/apply.c:4569
 msgid "prepend <root> to all filenames"
 msgstr "为所有文件名前添加 <根目录>"
 
-#: builtin/apply.c:4610
+#: builtin/apply.c:4591
 msgid "--3way outside a repository"
-msgstr "--3way 在一个版本库之外"
+msgstr "--3way 在一个库之外"
 
-#: builtin/apply.c:4618
+#: builtin/apply.c:4599
 msgid "--index outside a repository"
-msgstr "--index 在一个版本库之外"
+msgstr "--index 在一个库之外"
 
-#: builtin/apply.c:4621
+#: builtin/apply.c:4602
 msgid "--cached outside a repository"
-msgstr "--cached 在一个版本库之外"
+msgstr "--cached 在一个库之外"
 
-#: builtin/apply.c:4640
+#: builtin/apply.c:4621
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "不能打开补丁 '%s'"
 
-#: builtin/apply.c:4654
+#: builtin/apply.c:4635
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "抑制下仍有 %d 个空白字符误用"
 msgstr[1] "抑制下仍有 %d 个空白字符误用"
 
-#: builtin/apply.c:4660 builtin/apply.c:4670
+#: builtin/apply.c:4641 builtin/apply.c:4651
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2684,11 +3477,11 @@ msgstr "不能重定向输出"
 
 #: builtin/archive.c:37
 msgid "git archive: Remote with no URL"
-msgstr "git archive:未提供远程URL"
+msgstr "git archive:未提供远程 URL"
 
 #: builtin/archive.c:58
 msgid "git archive: expected ACK/NAK, got EOF"
-msgstr "git archive:应为ACK/NACK,却得到EOF"
+msgstr "git archive:应为 ACK/NACK,却得到 EOF"
 
 #: builtin/archive.c:61
 #, c-format
@@ -2720,103 +3513,111 @@ msgstr "执行 'git bisect next'"
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "更新 BISECT_HEAD 而非检出当前提交"
 
-#: builtin/blame.c:31
+#: builtin/blame.c:33
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
 
-#: builtin/blame.c:36
+#: builtin/blame.c:38
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
 
-#: builtin/blame.c:2500
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "追踪代码行"
+
+#: builtin/blame.c:2530
 msgid "Show blame entries as we find them, incrementally"
 msgstr "增量式地显示发现的 blame 条目"
 
-#: builtin/blame.c:2501
+#: builtin/blame.c:2531
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "边界提交显示空的 SHA-1(默认:关闭)"
 
-#: builtin/blame.c:2502
+#: builtin/blame.c:2532
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "不把根提交作为边界(默认:关闭)"
 
-#: builtin/blame.c:2503
+#: builtin/blame.c:2533
 msgid "Show work cost statistics"
 msgstr "显示命令消耗统计"
 
-#: builtin/blame.c:2504
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "强制进度显示"
+
+#: builtin/blame.c:2535
 msgid "Show output score for blame entries"
 msgstr "显示判断 blame 条目位移的得分诊断信息"
 
-#: builtin/blame.c:2505
+#: builtin/blame.c:2536
 msgid "Show original filename (Default: auto)"
 msgstr "显示原始文件名(默认:自动)"
 
-#: builtin/blame.c:2506
+#: builtin/blame.c:2537
 msgid "Show original linenumber (Default: off)"
 msgstr "显示原始的行号(默认:关闭)"
 
-#: builtin/blame.c:2507
+#: builtin/blame.c:2538
 msgid "Show in a format designed for machine consumption"
 msgstr "显示为一个适合机器读取的格式"
 
-#: builtin/blame.c:2508
+#: builtin/blame.c:2539
 msgid "Show porcelain format with per-line commit information"
 msgstr "为每一行显示机器适用的提交信息"
 
-#: builtin/blame.c:2509
+#: builtin/blame.c:2540
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)"
 
-#: builtin/blame.c:2510
+#: builtin/blame.c:2541
 msgid "Show raw timestamp (Default: off)"
 msgstr "显示原始时间戳(默认:关闭)"
 
-#: builtin/blame.c:2511
+#: builtin/blame.c:2542
 msgid "Show long commit SHA1 (Default: off)"
-msgstr "显示长的SHA1提交号(默认:关闭)"
+msgstr "显示长的 SHA1 提交号(默认:关闭)"
 
-#: builtin/blame.c:2512
+#: builtin/blame.c:2543
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "隐藏作者名字和时间戳(默认:关闭)"
 
-#: builtin/blame.c:2513
+#: builtin/blame.c:2544
 msgid "Show author email instead of name (Default: off)"
 msgstr "显示作者的邮箱而不是名字(默认:关闭)"
 
-#: builtin/blame.c:2514
+#: builtin/blame.c:2545
 msgid "Ignore whitespace differences"
 msgstr "忽略空白差异"
 
-#: builtin/blame.c:2515
+#: builtin/blame.c:2546
 msgid "Spend extra cycles to find better match"
 msgstr "花费额外的循环来找到更好的匹配"
 
-#: builtin/blame.c:2516
+#: builtin/blame.c:2547
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list"
 
-#: builtin/blame.c:2517
+#: builtin/blame.c:2548
 msgid "Use <file>'s contents as the final image"
 msgstr "使用 <文件> 的内容作为最终的图片"
 
-#: builtin/blame.c:2518 builtin/blame.c:2519
+#: builtin/blame.c:2549 builtin/blame.c:2550
 msgid "score"
 msgstr "得分"
 
-#: builtin/blame.c:2518
+#: builtin/blame.c:2549
 msgid "Find line copies within and across files"
 msgstr "找到文件内及跨文件的行拷贝"
 
-#: builtin/blame.c:2519
+#: builtin/blame.c:2550
 msgid "Find line movements within and across files"
 msgstr "找到文件内及跨文件的行移动"
 
-#: builtin/blame.c:2520
+#: builtin/blame.c:2551
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2520
+#: builtin/blame.c:2551
 msgid "Process only line range n,m, counting from 1"
 msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 
@@ -2826,28 +3627,32 @@ msgstr "只处理行范围在 n 和 m 之间的,从 1 开始"
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2601
+#: builtin/blame.c:2640
 msgid "4 years, 11 months ago"
 msgstr "4 年 11 个月前"
 
-#: builtin/branch.c:24
+#: builtin/branch.c:25
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<选项>] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:25
+#: builtin/branch.c:26
 msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
 msgstr "git branch [<选项>] [-l] [-f] <分支名> [<起始点>]"
 
-#: builtin/branch.c:26
+#: builtin/branch.c:27
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<选项>] [-r] (-d | -D) <分支名>..."
 
-#: builtin/branch.c:27
+#: builtin/branch.c:28
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<选项>] (-m | -M) [<旧分支>] <新分支>"
 
+#: builtin/branch.c:29
+msgid "git branch [<options>] [-r | -a] [--points-at]"
+msgstr "git branch [<选项>] [-r | -a] [--points-at]"
+
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:150
+#: builtin/branch.c:142
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -2857,7 +3662,7 @@ msgstr ""
 "         '%s',但未合并到 HEAD。"
 
 #  译者:保持原换行格式,在输出时 %s 的替代内容会让字符串变长
-#: builtin/branch.c:154
+#: builtin/branch.c:146
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -2866,12 +3671,12 @@ msgstr ""
 "并未删除分支 '%s', 虽然它已经合并到 HEAD,\n"
 "         然而却尚未被合并到分支 '%s' 。"
 
-#: builtin/branch.c:168
+#: builtin/branch.c:160
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "无法查询 '%s' 指向的提交对象"
 
-#: builtin/branch.c:172
+#: builtin/branch.c:164
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -2880,343 +3685,335 @@ msgstr ""
 "分支 '%s' 没有完全合并。\n"
 "如果您确认要删除它,执行 'git branch -D %s'。"
 
-#: builtin/branch.c:185
+#: builtin/branch.c:177
 msgid "Update of config-file failed"
 msgstr "无法更新 config 文件"
 
-#: builtin/branch.c:213
+#: builtin/branch.c:205
 msgid "cannot use -a with -d"
 msgstr "不能将 -a 和 -d 同时使用"
 
-#: builtin/branch.c:219
+#: builtin/branch.c:211
 msgid "Couldn't look up commit object for HEAD"
 msgstr "无法查询 HEAD 指向的提交对象"
 
-#: builtin/branch.c:227
+#: builtin/branch.c:219
 #, c-format
 msgid "Cannot delete the branch '%s' which you are currently on."
 msgstr "无法删除您当前所在的分支 '%s'。"
 
-#: builtin/branch.c:243
+#: builtin/branch.c:235
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "未能找到远程跟踪分支 '%s'。"
 
-#: builtin/branch.c:244
+#: builtin/branch.c:236
 #, c-format
 msgid "branch '%s' not found."
 msgstr "分支 '%s' 未发现。"
 
-#: builtin/branch.c:258
+#: builtin/branch.c:251
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "无法删除远程跟踪分支 '%s'"
 
-#: builtin/branch.c:259
+#: builtin/branch.c:252
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "无法删除分支 '%s'"
 
-#: builtin/branch.c:266
+#: builtin/branch.c:259
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "已删除远程跟踪分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:267
+#: builtin/branch.c:260
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "已删除分支 %s(曾为 %s)。\n"
 
-#: builtin/branch.c:368
-#, c-format
-msgid "branch '%s' does not point at a commit"
-msgstr "分支 '%s' 未指向一个提交"
-
-#: builtin/branch.c:451
+#: builtin/branch.c:303
 #, c-format
 msgid "[%s: gone]"
 msgstr "[%s: 丢失]"
 
-#: builtin/branch.c:456
+#: builtin/branch.c:308
 #, c-format
 msgid "[%s]"
 msgstr "[%s]"
 
-#: builtin/branch.c:461
+#: builtin/branch.c:313
 #, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s:落后 %d]"
 
-#: builtin/branch.c:463
+#: builtin/branch.c:315
 #, c-format
 msgid "[behind %d]"
 msgstr "[落后 %d]"
 
-#: builtin/branch.c:467
+#: builtin/branch.c:319
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s:领先 %d]"
 
-#: builtin/branch.c:469
+#: builtin/branch.c:321
 #, c-format
 msgid "[ahead %d]"
 msgstr "[领先 %d]"
 
-#: builtin/branch.c:472
+#: builtin/branch.c:324
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s:领先 %d,落后 %d]"
 
-#: builtin/branch.c:475
+#: builtin/branch.c:327
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[领先 %d,落后 %d]"
 
-#: builtin/branch.c:488
+#: builtin/branch.c:340
 msgid " **** invalid ref ****"
 msgstr " **** 无效引用 ****"
 
-#: builtin/branch.c:579
+#: builtin/branch.c:366
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(非分支,正变基 %s)"
 
-#: builtin/branch.c:582
+#: builtin/branch.c:369
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(非分支,二分查找开始于 %s)"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:375
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(头指针分离于 %s)"
 
-#: builtin/branch.c:591
+#: builtin/branch.c:378
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(头指针分离自 %s)"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:382
 msgid "(no branch)"
 msgstr "(非分支)"
 
-#: builtin/branch.c:642
-#, c-format
-msgid "object '%s' does not point to a commit"
-msgstr "对象 '%s' 没有指向一个提交"
-
-#: builtin/branch.c:690
-msgid "some refs could not be read"
-msgstr "一些引用不能读取"
-
-#: builtin/branch.c:703
+#: builtin/branch.c:524
 msgid "cannot rename the current branch while not on any."
 msgstr "无法重命名当前分支因为不处于任何分支上。"
 
-#: builtin/branch.c:713
+#: builtin/branch.c:534
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "无效的分支名:'%s'"
 
-#: builtin/branch.c:728
+#: builtin/branch.c:549
 msgid "Branch rename failed"
 msgstr "分支重命名失败"
 
-#: builtin/branch.c:732
+#: builtin/branch.c:553
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "重命名掉一个错误命名的旧分支 '%s'"
 
-#: builtin/branch.c:736
+#: builtin/branch.c:557
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "分支重命名为 %s,但 HEAD 没有更新!"
 
-#: builtin/branch.c:743
+#: builtin/branch.c:564
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "分支被重命名,但更新 config 文件失败"
 
-#: builtin/branch.c:758
-#, c-format
-msgid "malformed object name %s"
-msgstr "非法的对象名 %s"
-
-#: builtin/branch.c:780
+#: builtin/branch.c:586
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "不能写分支描述模版:%s"
 
-#: builtin/branch.c:810
+#: builtin/branch.c:615
 msgid "Generic options"
 msgstr "通用选项"
 
-#: builtin/branch.c:812
+#: builtin/branch.c:617
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "显示哈希值和主题,若参数出现两次则显示上游分支"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:618
 msgid "suppress informational messages"
 msgstr "不显示信息"
 
-#: builtin/branch.c:814
+#: builtin/branch.c:619
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "设置跟踪模式(参见 git-pull(1))"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:621
 msgid "change upstream info"
 msgstr "改变上游信息"
 
-#: builtin/branch.c:820
+#: builtin/branch.c:625
 msgid "use colored output"
 msgstr "使用彩色输出"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:626
 msgid "act on remote-tracking branches"
 msgstr "作用于远程跟踪分支"
 
-#: builtin/branch.c:824 builtin/branch.c:830 builtin/branch.c:851
-#: builtin/branch.c:857 builtin/commit.c:1581 builtin/commit.c:1582
-#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/tag.c:616
-#: builtin/tag.c:622
-msgid "commit"
-msgstr "提交"
-
-#: builtin/branch.c:825 builtin/branch.c:831
+#: builtin/branch.c:628 builtin/branch.c:629
 msgid "print only branches that contain the commit"
 msgstr "只打印包含该提交的分支"
 
-#: builtin/branch.c:837
+#: builtin/branch.c:632
 msgid "Specific git-branch actions:"
 msgstr "具体的 git-branch 动作:"
 
-#: builtin/branch.c:838
+#: builtin/branch.c:633
 msgid "list both remote-tracking and local branches"
 msgstr "列出远程跟踪及本地分支"
 
-#: builtin/branch.c:840
+#: builtin/branch.c:635
 msgid "delete fully merged branch"
 msgstr "删除完全合并的分支"
 
-#: builtin/branch.c:841
+#: builtin/branch.c:636
 msgid "delete branch (even if not merged)"
 msgstr "删除分支(即使没有合并)"
 
-#: builtin/branch.c:842
+#: builtin/branch.c:637
 msgid "move/rename a branch and its reflog"
 msgstr "移动/重命名一个分支,以及它的引用日志"
 
-#: builtin/branch.c:843
+#: builtin/branch.c:638
 msgid "move/rename a branch, even if target exists"
 msgstr "移动/重命名一个分支,即使目标已存在"
 
-#: builtin/branch.c:844
+#: builtin/branch.c:639
 msgid "list branch names"
 msgstr "列出分支名"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "创建分支的引用日志"
 
-#: builtin/branch.c:847
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "标记分支的描述"
 
-#: builtin/branch.c:848
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "强制创建、移动/重命名、删除"
 
-#: builtin/branch.c:851
-msgid "print only not merged branches"
-msgstr "只打印没有合并的分支"
+#: builtin/branch.c:644
+msgid "print only branches that are merged"
+msgstr "只打印已经合并的分支"
 
-#: builtin/branch.c:857
-msgid "print only merged branches"
-msgstr "只打印合并的分支"
+#: builtin/branch.c:645
+msgid "print only branches that are not merged"
+msgstr "å\8fªæ\89\93å\8d°å°\9aæ\9cªå\90\88并ç\9a\84å\88\86æ\94¯"
 
-#: builtin/branch.c:861
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "以列的方式显示分支"
 
-#: builtin/branch.c:874
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
+msgid "key"
+msgstr "key"
+
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
+msgid "field name to sort on"
+msgstr "排序的字段名"
+
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
+#: builtin/tag.c:369
+msgid "object"
+msgstr "对象"
+
+#: builtin/branch.c:651
+msgid "print only branches of the object"
+msgstr "只打印指向该对象的分支"
+
+#: builtin/branch.c:669
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "无法将 HEAD 解析为有效引用。"
 
-#: builtin/branch.c:878 builtin/clone.c:622
+#: builtin/branch.c:673 builtin/clone.c:705
 msgid "HEAD not found below refs/heads!"
 msgstr "HEAD 没有位于 /refs/heads 之下!"
 
-#: builtin/branch.c:900
+#: builtin/branch.c:693
 msgid "--column and --verbose are incompatible"
 msgstr "--column 和 --verbose 不兼容"
 
-#: builtin/branch.c:911 builtin/branch.c:950
+#: builtin/branch.c:704 builtin/branch.c:746
 msgid "branch name required"
 msgstr "必须提供分支名"
 
-#: builtin/branch.c:926
+#: builtin/branch.c:722
 msgid "Cannot give description to detached HEAD"
 msgstr "不能向分离头指针提供描述"
 
-#: builtin/branch.c:931
+#: builtin/branch.c:727
 msgid "cannot edit description of more than one branch"
 msgstr "不能为一个以上的分支编辑描述"
 
-#: builtin/branch.c:938
+#: builtin/branch.c:734
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "分支 '%s' 尚无提交。"
 
-#: builtin/branch.c:941
+#: builtin/branch.c:737
 #, c-format
 msgid "No branch named '%s'."
 msgstr "没有分支 '%s'。"
 
-#: builtin/branch.c:956
+#: builtin/branch.c:752
 msgid "too many branches for a rename operation"
 msgstr "为重命名操作提供了太多的分支名"
 
-#: builtin/branch.c:961
+#: builtin/branch.c:757
 msgid "too many branches to set new upstream"
 msgstr "为设置新上游提供了太多的分支名"
 
-#: builtin/branch.c:965
+#: builtin/branch.c:761
 #, 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:968 builtin/branch.c:990 builtin/branch.c:1011
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
 #, c-format
 msgid "no such branch '%s'"
 msgstr "没有此分支 '%s'"
 
-#: builtin/branch.c:972
+#: builtin/branch.c:768
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "分支 '%s' 不存在"
 
-#: builtin/branch.c:984
+#: builtin/branch.c:780
 msgid "too many branches to unset upstream"
 msgstr "为取消上游设置操作提供了太多的分支名"
 
-#: builtin/branch.c:988
+#: builtin/branch.c:784
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "无法取消 HEAD 的上游设置因为它没有指向一个分支"
 
-#: builtin/branch.c:994
+#: builtin/branch.c:790
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "分支 '%s' 没有上游信息"
 
-#: builtin/branch.c:1008
+#: builtin/branch.c:804
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "手工创建 'HEAD' 没有意义"
 
-#: builtin/branch.c:1014
+#: builtin/branch.c:810
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr "'git branch' 的 -a 和 -r 选项带一个分支名参数没有意义"
 
-#: builtin/branch.c:1017
+#: builtin/branch.c:813
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3224,7 +4021,7 @@ msgid ""
 msgstr ""
 "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n"
 
-#: builtin/branch.c:1034
+#: builtin/branch.c:830
 #, c-format
 msgid ""
 "\n"
@@ -3235,12 +4032,12 @@ msgstr ""
 "如果你想用 '%s' 跟踪 '%s', 这么做:\n"
 "\n"
 
-#: builtin/branch.c:1035
+#: builtin/branch.c:831
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:1036
+#: builtin/branch.c:832
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3252,13 +4049,13 @@ msgstr "%s 可以\n"
 
 #: builtin/bundle.c:64
 msgid "Need a repository to create a bundle."
-msgstr "需要一个版本库来创建包。"
+msgstr "需要一个库来创建包。"
 
 #: builtin/bundle.c:68
 msgid "Need a repository to unbundle."
-msgstr "需要一个版本库来解包。"
+msgstr "需要一个库来解包。"
 
-#: builtin/cat-file.c:369
+#: builtin/cat-file.c:428
 msgid ""
 "git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
 "<type>|--textconv) <object>"
@@ -3266,60 +4063,65 @@ msgstr ""
 "git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|<类型"
 ">|--textconv) <对象>"
 
-#: builtin/cat-file.c:370
-msgid ""
-"git cat-file (--batch | --batch-check) [--follow-symlinks] < <list-of-"
-"objects>"
-msgstr ""
-"git cat-file (--batch | --batch-check) [--follow-symlinks] < <对象列表>"
+#: builtin/cat-file.c:429
+msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]"
+msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]"
 
-#: builtin/cat-file.c:407
+#: builtin/cat-file.c:466
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<类型> 可以是其中之一:blob、tree、commit、tag"
 
-#: builtin/cat-file.c:408
+#: builtin/cat-file.c:467
 msgid "show object type"
 msgstr "显示对象类型"
 
-#: builtin/cat-file.c:409
+#: builtin/cat-file.c:468
 msgid "show object size"
 msgstr "显示对象大小"
 
-#: builtin/cat-file.c:411
+#: builtin/cat-file.c:470
 msgid "exit with zero when there's no error"
 msgstr "当没有错误时退出并返回零"
 
-#: builtin/cat-file.c:412
+#: builtin/cat-file.c:471
 msgid "pretty-print object's content"
 msgstr "美观地打印对象的内容"
 
-#: builtin/cat-file.c:414
+#: builtin/cat-file.c:473
 msgid "for blob objects, run textconv on object's content"
-msgstr "对于数据(blob)对象,对其内容执行 textconv"
+msgstr "对于数据对象,对其内容执行 textconv"
 
-#: builtin/cat-file.c:416
+#: builtin/cat-file.c:475
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "允许 -s 和 -t 对损坏的对象生效"
 
-#: builtin/cat-file.c:418
+#: builtin/cat-file.c:476
+msgid "buffer --batch output"
+msgstr "缓冲 --batch 的输出"
+
+#: builtin/cat-file.c:478
 msgid "show info and content of objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息和内容"
 
-#: builtin/cat-file.c:421
+#: builtin/cat-file.c:481
 msgid "show info about objects fed from the standard input"
 msgstr "显示从标准输入提供的对象的信息"
 
-#: builtin/cat-file.c:424
+#: builtin/cat-file.c:484
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)"
 
+#: builtin/cat-file.c:486
+msgid "show all objects with --batch or --batch-check"
+msgstr "使用 --batch 或 --batch-check 参数显示所有对象"
+
 #: builtin/check-attr.c:11
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
 msgstr "git check-attr [-a | --all | <属性>...] [--] <路径名>..."
 
 #: builtin/check-attr.c:12
-msgid "git check-attr --stdin [-z] [-a | --all | <attr>...] < <list-of-paths>"
-msgstr "git check-attr --stdin [-z] [-a | --all | <属性>...] < <路径列表>"
+msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
+msgstr "git check-attr --stdin [-z] [-a | --all | <属性>...]"
 
 #: builtin/check-attr.c:19
 msgid "report all attributes set on file"
@@ -3329,7 +4131,7 @@ msgstr "报告设置在文件上的所有属性"
 msgid "use .gitattributes only from the index"
 msgstr "只使用索引中的 .gitattributes"
 
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
 msgid "read file names from stdin"
 msgstr "从标准输入读出文件名"
 
@@ -3337,7 +4139,7 @@ msgstr "从标准输入读出文件名"
 msgid "terminate input and output records by a NUL character"
 msgstr "输入和输出的记录使用 NUL 字符终结"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1202 builtin/gc.c:279
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "不显示进度报告"
 
@@ -3351,7 +4153,7 @@ msgstr "检查时忽略索引"
 
 #: builtin/check-ignore.c:154
 msgid "cannot specify pathnames with --stdin"
-msgstr "ä¸\8dè\83½å\90\8cæ\97¶æ\8f\90ä¾\9b路径及 --stdin 参数"
+msgstr "ä¸\8dè\83½å\90\8cæ\97¶æ\8c\87å®\9a路径及 --stdin 参数"
 
 #: builtin/check-ignore.c:157
 msgid "-z only makes sense with --stdin"
@@ -3390,55 +4192,61 @@ msgstr "不能解析联系地址:%s"
 msgid "no contacts specified"
 msgstr "未指定联系地址"
 
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<选项>] [--] [<文件>...]"
 
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "索引值应该取值 1 到 3 或者 all"
+
+#: builtin/checkout-index.c:160
 msgid "check out all files in the index"
 msgstr "检出索引区的所有文件"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
 msgid "force overwrite of existing files"
 msgstr "强制覆盖现有的文件"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
 msgid "no warning for existing files and files not in index"
 msgstr "存在或不在索引中的文件都没有警告"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
 msgid "don't checkout new files"
 msgstr "不检出新文件"
 
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
 msgid "update stat information in the index file"
 msgstr "更新索引中文件的状态信息"
 
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
 msgid "read list of paths from the standard input"
 msgstr "从标准输入读取路径列表"
 
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
 msgid "write the content to temporary files"
 msgstr "将内容写入临时文件"
 
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
 msgid "string"
 msgstr "字符串"
 
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
 msgid "when creating files, prepend <string>"
-msgstr "在创建文件时,在前面加上<字符串>"
+msgstr "在创建文件时,在前面加上 <字符串>"
 
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
 msgid "copy out the files from named stage"
 msgstr "从指定暂存区中拷出文件"
 
-#: builtin/checkout.c:24
+#: builtin/checkout.c:25
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<选项>] <分支>"
 
-#: builtin/checkout.c:25
+#: builtin/checkout.c:26
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<选项>] [<分支>] -- <文件>..."
 
@@ -3501,47 +4309,51 @@ msgstr "路径 '%s' 未合并"
 msgid "you need to resolve your current index first"
 msgstr "您需要先解决当前索引的冲突"
 
-#: builtin/checkout.c:627
+#: builtin/checkout.c:623
 #, c-format
-msgid "Can not do reflog for '%s'\n"
-msgstr "不能对 '%s' 执行 reflog 操作\n"
+msgid "Can not do reflog for '%s': %s\n"
+msgstr "不能对 '%s' 执行 reflog 操作:%s\n"
 
-#: builtin/checkout.c:663
+#: builtin/checkout.c:661
 msgid "HEAD is now at"
 msgstr "HEAD 目前位于"
 
-#: builtin/checkout.c:670
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "不能更新 HEAD"
+
+#: builtin/checkout.c:669
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "重置分支 '%s'\n"
 
-#: builtin/checkout.c:673
+#: builtin/checkout.c:672
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "已经位于 '%s'\n"
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:676
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "切换并重置分支 '%s'\n"
 
-#: builtin/checkout.c:679 builtin/checkout.c:1134
+#: builtin/checkout.c:678 builtin/checkout.c:1068
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "切换到一个新分支 '%s'\n"
 
-#: builtin/checkout.c:681
+#: builtin/checkout.c:680
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "切换到分支 '%s'\n"
 
 #  译者:注意保持前导空格
-#: builtin/checkout.c:733
+#: builtin/checkout.c:732
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... 及其它 %d 个。\n"
 
-#: builtin/checkout.c:739
+#: builtin/checkout.c:738
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -3562,7 +4374,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:758
+#: builtin/checkout.c:757
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -3589,149 +4401,150 @@ msgstr[1] ""
 " git branch <新分支名> %s\n"
 "\n"
 
-#: builtin/checkout.c:794
+#: builtin/checkout.c:793
 msgid "internal error in revision walk"
 msgstr "在版本遍历时遇到内部错误"
 
-#: builtin/checkout.c:798
+#: builtin/checkout.c:797
 msgid "Previous HEAD position was"
 msgstr "之前的 HEAD 位置是"
 
-#: builtin/checkout.c:825 builtin/checkout.c:1129
+#: builtin/checkout.c:824 builtin/checkout.c:1063
 msgid "You are on a branch yet to be born"
 msgstr "您位于一个尚未初始化的分支"
 
-#: builtin/checkout.c:931
-#, c-format
-msgid "'%s' is already checked out at '%s'"
-msgstr "'%s' 已经检出到 '%s'"
-
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:969
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "只要一个引用,却给出了 %d 个"
 
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1009 builtin/worktree.c:211
 #, c-format
 msgid "invalid reference: %s"
 msgstr "无效引用:%s"
 
-#: builtin/checkout.c:1104
+#: builtin/checkout.c:1038
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "引用不是一个树:%s"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1077
 msgid "paths cannot be used with switching branches"
 msgstr "路径不能和切换分支同时使用"
 
-#: builtin/checkout.c:1146 builtin/checkout.c:1150
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "'%s' 不能和切换分支同时使用"
 
-#: builtin/checkout.c:1154 builtin/checkout.c:1157 builtin/checkout.c:1162
-#: builtin/checkout.c:1165
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' 不能和 '%s' 同时使用"
 
-#: builtin/checkout.c:1170
+#: builtin/checkout.c:1104
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "不能切换分支到一个非提交 '%s'"
 
-#: builtin/checkout.c:1203 builtin/checkout.c:1205 builtin/clone.c:83
-#: builtin/remote.c:159 builtin/remote.c:161 builtin/worktree.c:282
-#: builtin/worktree.c:284
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
 msgid "branch"
 msgstr "分支"
 
-#: builtin/checkout.c:1204
+#: builtin/checkout.c:1138
 msgid "create and checkout a new branch"
 msgstr "创建并检出一个新的分支"
 
-#: builtin/checkout.c:1206
+#: builtin/checkout.c:1140
 msgid "create/reset and checkout a branch"
 msgstr "创建/重置并检出一个分支"
 
-#: builtin/checkout.c:1207
+#: builtin/checkout.c:1141
 msgid "create reflog for new branch"
 msgstr "为新的分支创建引用日志"
 
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1142
 msgid "detach the HEAD at named commit"
 msgstr "成为指向该提交的分离头指针"
 
-#: builtin/checkout.c:1209
+#: builtin/checkout.c:1143
 msgid "set upstream info for new branch"
 msgstr "为新的分支设置上游信息"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1145
 msgid "new-branch"
 msgstr "新分支"
 
-#: builtin/checkout.c:1211
+#: builtin/checkout.c:1145
 msgid "new unparented branch"
 msgstr "新的没有父提交的分支"
 
-#: builtin/checkout.c:1212
+#: builtin/checkout.c:1146
 msgid "checkout our version for unmerged files"
 msgstr "对尚未合并的文件检出我们的版本"
 
-#: builtin/checkout.c:1214
+#: builtin/checkout.c:1148
 msgid "checkout their version for unmerged files"
 msgstr "对尚未合并的文件检出他们的版本"
 
-#: builtin/checkout.c:1216
+#: builtin/checkout.c:1150
 msgid "force checkout (throw away local modifications)"
 msgstr "强制检出(丢弃本地修改)"
 
-#: builtin/checkout.c:1217
+#: builtin/checkout.c:1151
 msgid "perform a 3-way merge with the new branch"
-msgstr "和新的分支执行三合并"
+msgstr "和新的分支执行三合并"
 
-#: builtin/checkout.c:1218 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
 msgid "update ignored files (default)"
 msgstr "更新忽略的文件(默认)"
 
-#: builtin/checkout.c:1219 builtin/log.c:1239 parse-options.h:244
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
 msgid "style"
 msgstr "风格"
 
-#: builtin/checkout.c:1220
+#: builtin/checkout.c:1154
 msgid "conflict style (merge or diff3)"
 msgstr "冲突输出风格(merge 或 diff3)"
 
-#: builtin/checkout.c:1223
+#: builtin/checkout.c:1157
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "对路径不做稀疏检出的限制"
 
-#: builtin/checkout.c:1225
+#: builtin/checkout.c:1159
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "二次猜测'git checkout <无此分支>'"
 
-#: builtin/checkout.c:1227
+#: builtin/checkout.c:1161
 msgid "do not check if another worktree is holding the given ref"
 msgstr "不检查指定的引用是否被其他工作区所占用"
 
-#: builtin/checkout.c:1252
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
+#: builtin/send-pack.c:168
+msgid "force progress reporting"
+msgstr "强制显示进度报告"
+
+#: builtin/checkout.c:1193
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b、-B 和 --orphan 是互斥的"
 
-#: builtin/checkout.c:1269
+#: builtin/checkout.c:1210
 msgid "--track needs a branch name"
 msgstr "--track 需要一个分支名"
 
-#: builtin/checkout.c:1274
+#: builtin/checkout.c:1215
 msgid "Missing branch name; try -b"
 msgstr "缺少分支名;尝试 -b"
 
-#: builtin/checkout.c:1310
+#: builtin/checkout.c:1251
 msgid "invalid path specification"
 msgstr "无效的路径规格"
 
-#: builtin/checkout.c:1317
+#: builtin/checkout.c:1258
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3740,50 +4553,50 @@ msgstr ""
 "不能同时更新路径并切换到分支'%s'。\n"
 "您是想要检出 '%s' 但其未能解析为提交么?"
 
-#: builtin/checkout.c:1322
+#: builtin/checkout.c:1263
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout:--detach 不能接收路径参数 '%s'"
 
-#: builtin/checkout.c:1326
+#: builtin/checkout.c:1267
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
 msgstr ""
 "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。"
 
-#: builtin/clean.c:26
+#: builtin/clean.c:25
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <模式>] [-x | -X] [--] <路径>..."
 
-#: builtin/clean.c:30
+#: builtin/clean.c:29
 #, c-format
 msgid "Removing %s\n"
 msgstr "正删除 %s\n"
 
-#: builtin/clean.c:31
+#: builtin/clean.c:30
 #, c-format
 msgid "Would remove %s\n"
 msgstr "将删除 %s\n"
 
-#: builtin/clean.c:32
+#: builtin/clean.c:31
 #, c-format
 msgid "Skipping repository %s\n"
-msgstr "忽略版本库 %s\n"
+msgstr "忽略库 %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:32
 #, c-format
 msgid "Would skip repository %s\n"
-msgstr "将忽略版本库 %s\n"
+msgstr "将忽略库 %s\n"
 
-#: builtin/clean.c:34
+#: builtin/clean.c:33
 #, c-format
 msgid "failed to remove %s"
 msgstr "无法删除 %s"
 
-#: builtin/clean.c:295
+#: builtin/clean.c:291
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
@@ -3795,7 +4608,7 @@ msgstr ""
 "foo        - 通过标题选择一个选项\n"
 "           - (空)什么也不选择"
 
-#: builtin/clean.c:299
+#: builtin/clean.c:295
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -3815,36 +4628,36 @@ msgstr ""
 "*          - 选择所有选项\n"
 "           - (空)结束选择"
 
-#: builtin/clean.c:515
+#: builtin/clean.c:511
 #, c-format
 msgid "Huh (%s)?"
 msgstr "嗯(%s)?"
 
-#: builtin/clean.c:657
+#: builtin/clean.c:653
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "输入模版以排除条目>> "
 
-#: builtin/clean.c:694
+#: builtin/clean.c:690
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "警告:无法找到和 %s 匹配的条目"
 
-#: builtin/clean.c:715
+#: builtin/clean.c:711
 msgid "Select items to delete"
 msgstr "选择要删除的条目"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:756
+#: builtin/clean.c:752
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "删除 %s [y/N]?"
 
-#: builtin/clean.c:781
+#: builtin/clean.c:777
 msgid "Bye."
 msgstr "再见。"
 
-#: builtin/clean.c:789
+#: builtin/clean.c:785
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -3862,69 +4675,69 @@ msgstr ""
 "help                - 显示本帮助\n"
 "?                   - 显示如何在提示符下选择的帮助"
 
-#: builtin/clean.c:816
+#: builtin/clean.c:812
 msgid "*** Commands ***"
 msgstr "*** 命令 ***"
 
-#: builtin/clean.c:817
+#: builtin/clean.c:813
 msgid "What now"
 msgstr "请选择"
 
-#: builtin/clean.c:825
+#: builtin/clean.c:821
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "将删除如下条目:"
 msgstr[1] "将删除如下条目:"
 
-#: builtin/clean.c:842
+#: builtin/clean.c:838
 msgid "No more files to clean, exiting."
 msgstr "没有要清理的文件,退出。"
 
-#: builtin/clean.c:873
+#: builtin/clean.c:869
 msgid "do not print names of files removed"
 msgstr "不打印删除文件的名称"
 
-#: builtin/clean.c:875
+#: builtin/clean.c:871
 msgid "force"
 msgstr "强制"
 
-#: builtin/clean.c:876
+#: builtin/clean.c:872
 msgid "interactive cleaning"
 msgstr "交互式清除"
 
-#: builtin/clean.c:878
+#: builtin/clean.c:874
 msgid "remove whole directories"
 msgstr "删除整个目录"
 
-#: builtin/clean.c:879 builtin/describe.c:407 builtin/grep.c:714
-#: builtin/ls-files.c:443 builtin/name-rev.c:311 builtin/show-ref.c:187
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
 msgid "pattern"
 msgstr "模式"
 
-#: builtin/clean.c:880
+#: builtin/clean.c:876
 msgid "add <pattern> to ignore rules"
-msgstr "添加<模式>到忽略规则"
+msgstr "添加 <模式> 到忽略规则"
 
-#: builtin/clean.c:881
+#: builtin/clean.c:877
 msgid "remove ignored files, too"
 msgstr "也删除忽略的文件"
 
-#: builtin/clean.c:883
+#: builtin/clean.c:879
 msgid "remove only ignored files"
 msgstr "只删除忽略的文件"
 
-#: builtin/clean.c:901
+#: builtin/clean.c:897
 msgid "-x and -X cannot be used together"
 msgstr "-x 和 -X 不能同时使用"
 
-#: builtin/clean.c:905
+#: builtin/clean.c:901
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
 msgstr ""
 "clean.requireForce 设置为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作"
 
-#: builtin/clean.c:908
+#: builtin/clean.c:904
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -3933,152 +4746,164 @@ msgstr ""
 
 #: builtin/clone.c:37
 msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr "git clone [<选项>] [--] <版本库> [<路径>]"
-
-#: builtin/clone.c:57 builtin/fetch.c:111 builtin/merge.c:224
-#: builtin/push.c:523
-msgid "force progress reporting"
-msgstr "强制显示进度报告"
+msgstr "git clone [<选项>] [--] <仓库> [<路径>]"
 
-#: builtin/clone.c:59
+#: builtin/clone.c:60
 msgid "don't create a checkout"
 msgstr "不创建一个检出"
 
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:503
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
 msgid "create a bare repository"
-msgstr "创建一个纯版本库"
+msgstr "创建一个纯库"
 
-#: builtin/clone.c:64
+#: builtin/clone.c:65
 msgid "create a mirror repository (implies bare)"
-msgstr "创建一个镜像版本库(也是纯版本库)"
+msgstr "创建一个镜像仓库(也是纯仓库)"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 msgid "to clone from a local repository"
-msgstr "从本地版本库克隆"
+msgstr "从本地库克隆"
 
-#: builtin/clone.c:68
+#: builtin/clone.c:69
 msgid "don't use local hardlinks, always copy"
 msgstr "不使用本地硬链接,始终复制"
 
-#: builtin/clone.c:70
+#: builtin/clone.c:71
 msgid "setup as shared repository"
-msgstr "设置为共享版本库"
+msgstr "设置为共享库"
 
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
 msgid "initialize submodules in the clone"
 msgstr "在克隆时初始化子模组"
 
-#: builtin/clone.c:75 builtin/init-db.c:500
+#: builtin/clone.c:76 builtin/init-db.c:466
 msgid "template-directory"
 msgstr "模板目录"
 
-#: builtin/clone.c:76 builtin/init-db.c:501
+#: builtin/clone.c:77 builtin/init-db.c:467
 msgid "directory from which templates will be used"
 msgstr "模板目录将被使用"
 
-#: builtin/clone.c:78
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
 msgid "reference repository"
-msgstr "参考版本库"
+msgstr "参考库"
 
-#: builtin/clone.c:80
+#: builtin/clone.c:81
 msgid "use --reference only while cloning"
-msgstr "仅在克隆时参考 --reference 指向的本地版本库"
+msgstr "仅在克隆时参考 --reference 指向的本地库"
 
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "名称"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:83
 msgid "use <name> instead of 'origin' to track upstream"
-msgstr "使用<名称>而不是 'origin' 去跟踪上游"
+msgstr "使用 <名称> 而不是 'origin' 去跟踪上游"
 
-#: builtin/clone.c:84
+#: builtin/clone.c:85
 msgid "checkout <branch> instead of the remote's HEAD"
-msgstr "检出<分支>而不是远程HEAD"
+msgstr "检出 <分支> 而不是远程 HEAD"
 
-#: builtin/clone.c:86
+#: builtin/clone.c:87
 msgid "path to git-upload-pack on the remote"
 msgstr "远程 git-upload-pack 路径"
 
-#: builtin/clone.c:87 builtin/fetch.c:112 builtin/grep.c:659
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
 msgid "depth"
 msgstr "深度"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:89
 msgid "create a shallow clone of that depth"
 msgstr "创建一个指定深度的浅克隆"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:91
 msgid "clone only one branch, HEAD or --branch"
 msgstr "只克隆一个分支、HEAD 或 --branch"
 
-#: builtin/clone.c:91 builtin/init-db.c:509
+#: builtin/clone.c:92 builtin/init-db.c:475
 msgid "gitdir"
 msgstr "git目录"
 
-#: builtin/clone.c:92 builtin/init-db.c:510
+#: builtin/clone.c:93 builtin/init-db.c:476
 msgid "separate git dir from working tree"
 msgstr "git目录和工作区分离"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:94
 msgid "key=value"
 msgstr "key=value"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "set config inside the new repository"
-msgstr "在新版本库中设置配置信息"
+msgstr "在新仓库中设置配置信息"
+
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "只使用 IPv4 地址"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "只使用 IPv6 地址"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"无法猜到目录名。\n"
+"请在命令行指定一个目录"
 
-#: builtin/clone.c:240
+#: builtin/clone.c:305
+#, c-format
+msgid "reference repository '%s' as a linked checkout is not supported yet."
+msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。"
+
+#: builtin/clone.c:307
 #, c-format
 msgid "reference repository '%s' is not a local repository."
-msgstr "参考版本库 '%s' 不是一个本地版本库。"
+msgstr "参考仓库 '%s' 不是一个本地仓库。"
 
-#: builtin/clone.c:244
+#: builtin/clone.c:312
 #, c-format
 msgid "reference repository '%s' is shallow"
-msgstr "参考版本库 '%s' 是一个浅克隆"
+msgstr "参考库 '%s' 是一个浅克隆"
 
-#: builtin/clone.c:247
+#: builtin/clone.c:315
 #, c-format
 msgid "reference repository '%s' is grafted"
-msgstr "参考版本库 '%s' 已被嫁接"
-
-#: builtin/clone.c:310
-#, c-format
-msgid "failed to create directory '%s'"
-msgstr "无法创建目录 '%s'"
+msgstr "参考仓库 '%s' 已被嫁接"
 
-#: builtin/clone.c:312 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "无法枚举 '%s' 状态"
 
-#: builtin/clone.c:314
+#: builtin/clone.c:382
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s 存在且不是一个目录"
 
-#: builtin/clone.c:328
+#: builtin/clone.c:396
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "无法枚举 %s 状态\n"
 
-#: builtin/clone.c:350
+#: builtin/clone.c:418
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "无法创建链接 '%s'"
 
-#: builtin/clone.c:354
+#: builtin/clone.c:422
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "无法拷贝文件至 '%s'"
 
-#: builtin/clone.c:377 builtin/clone.c:551
+#: builtin/clone.c:447 builtin/clone.c:631
 #, c-format
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: builtin/clone.c:389
+#: builtin/clone.c:459
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -4088,123 +4913,128 @@ msgstr ""
 "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n"
 "'git checkout -f HEAD' 重试\n"
 
-#: builtin/clone.c:466
+#: builtin/clone.c:536
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "不能发现要克隆的远程分支 %s。"
 
-#: builtin/clone.c:546
+#: builtin/clone.c:626
 #, c-format
 msgid "Checking connectivity... "
 msgstr "检查连接... "
 
-#: builtin/clone.c:549
+#: builtin/clone.c:629
 msgid "remote did not send all necessary objects"
 msgstr "远程没有发送所有必须的对象"
 
-#: builtin/clone.c:613
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "不能更新 %s"
+
+#: builtin/clone.c:696
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n"
 
-#: builtin/clone.c:644
+#: builtin/clone.c:727
 msgid "unable to checkout working tree"
 msgstr "不能检出工作区"
 
-#: builtin/clone.c:731
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "无法将参数写入配置文件"
+
+#: builtin/clone.c:816
 msgid "cannot repack to clean up"
 msgstr "无法执行 repack 来清理"
 
-#: builtin/clone.c:733
+#: builtin/clone.c:818
 msgid "cannot unlink temporary alternates file"
 msgstr "无法删除临时的 alternates 文件"
 
-#: builtin/clone.c:763
+#: builtin/clone.c:850
 msgid "Too many arguments."
 msgstr "太多参数。"
 
-#: builtin/clone.c:767
+#: builtin/clone.c:854
 msgid "You must specify a repository to clone."
-msgstr "您必须指定一个版本库来克隆。"
+msgstr "您必须指定一个库来克隆。"
 
-#: builtin/clone.c:778
+#: builtin/clone.c:865
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "--bare 和 --origin %s 选项不兼容。"
 
-#: builtin/clone.c:781
+#: builtin/clone.c:868
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare 和 --separate-git-dir 选项不兼容。"
 
-#: builtin/clone.c:794
+#: builtin/clone.c:881
 #, c-format
 msgid "repository '%s' does not exist"
-msgstr "版本库 '%s' 不存在"
+msgstr "库 '%s' 不存在"
 
-#: builtin/clone.c:800 builtin/fetch.c:1160
+#: builtin/clone.c:887 builtin/fetch.c:1174
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "深度 %s 不是一个正数"
 
-#: builtin/clone.c:810
+#: builtin/clone.c:897
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。"
 
-#: builtin/clone.c:820
+#: builtin/clone.c:907
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "工作区 '%s' 已经存在。"
 
-#: builtin/clone.c:835 builtin/clone.c:846 builtin/worktree.c:193
-#: builtin/worktree.c:220
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
 #, c-format
 msgid "could not create leading directories of '%s'"
 msgstr "不能为 '%s' 创建先导目录"
 
-#: builtin/clone.c:838
+#: builtin/clone.c:925
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "不能创建工作区目录 '%s'"
 
-#: builtin/clone.c:856
+#: builtin/clone.c:943
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
-msgstr "克隆到纯版本库 '%s'...\n"
+msgstr "克隆到纯库 '%s'...\n"
 
-#: builtin/clone.c:858
+#: builtin/clone.c:945
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "正克隆到 '%s'...\n"
 
-#: builtin/clone.c:883
-msgid "--dissociate given, but there is no --reference"
-msgstr "提供了参数 --dissociate,但未提供 --reference"
-
-#: builtin/clone.c:900
+#: builtin/clone.c:984
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth 在本地克隆被忽略,改为 file:// 协议试试。"
 
-#: builtin/clone.c:903
+#: builtin/clone.c:987
 msgid "source repository is shallow, ignoring --local"
-msgstr "源版本库是浅克隆,忽略 --local"
+msgstr "源库是浅克隆,忽略 --local"
 
-#: builtin/clone.c:908
+#: builtin/clone.c:992
 msgid "--local is ignored"
 msgstr "--local 被忽略"
 
-#: builtin/clone.c:912
+#: builtin/clone.c:996
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "不知道如何克隆 %s"
 
-#: builtin/clone.c:961 builtin/clone.c:969
+#: builtin/clone.c:1045 builtin/clone.c:1053
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "远程分支 %s 在上游 %s 未发现"
 
-#: builtin/clone.c:972
+#: builtin/clone.c:1056
 msgid "You appear to have cloned an empty repository."
-msgstr "您似乎克隆了一个空版本库。"
+msgstr "您似乎克隆了一个空库。"
 
 #: builtin/column.c:9
 msgid "git column [<options>]"
@@ -4238,15 +5068,15 @@ msgstr "两列之间的填充空间"
 msgid "--command must be the first argument"
 msgstr "--command 必须是第一个参数"
 
-#: builtin/commit.c:37
+#: builtin/commit.c:38
 msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<选项>] [--] <路径规>..."
+msgstr "git commit [<选项>] [--] <路径规>..."
 
-#: builtin/commit.c:42
+#: builtin/commit.c:43
 msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<选项>] [--] <路径规>..."
+msgstr "git status [<选项>] [--] <路径规>..."
 
-#: builtin/commit.c:47
+#: builtin/commit.c:48
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4270,7 +5100,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:60
+#: builtin/commit.c:61
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -4293,7 +5123,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:72
+#: builtin/commit.c:73
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -4302,7 +5132,7 @@ msgstr ""
 "您要修补最近的提交,但这么做会让它成为空提交。您可以重复您的命令并带上\n"
 "--allow-empty 选项,或者您可用命令 \"git reset HEAD^\" 整个删除该提交。\n"
 
-#: builtin/commit.c:77
+#: builtin/commit.c:78
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -4316,11 +5146,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:84
+#: builtin/commit.c:85
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "否则,请使用命令 'git reset'\n"
 
-#: builtin/commit.c:87
+#: builtin/commit.c:88
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -4336,31 +5166,27 @@ msgstr ""
 "然后执行 \"git cherry-pick --continue\" 继续对其余提交执行拣选\n"
 "操作。\n"
 
-#: builtin/commit.c:304
+#: builtin/commit.c:305
 msgid "failed to unpack HEAD tree object"
 msgstr "无法解包 HEAD 树对象"
 
-#: builtin/commit.c:344
+#: builtin/commit.c:346
 msgid "unable to create temporary index"
 msgstr "不能创建临时索引"
 
-#: builtin/commit.c:350
+#: builtin/commit.c:352
 msgid "interactive add failed"
 msgstr "交互式添加失败"
 
-#: builtin/commit.c:361
-msgid "unable to write index file"
-msgstr "无法写入索引文件"
-
-#: builtin/commit.c:363
+#: builtin/commit.c:365
 msgid "unable to update temporary index"
 msgstr "无法更新临时索引"
 
-#: builtin/commit.c:365
+#: builtin/commit.c:367
 msgid "Failed to update main cache tree"
 msgstr "不能更新树的主缓存"
 
-#: builtin/commit.c:389 builtin/commit.c:414 builtin/commit.c:463
+#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463
 msgid "unable to write new_index file"
 msgstr "无法写 new_index 文件"
 
@@ -4410,7 +5236,7 @@ msgstr "无法选择一个未被当前提交说明使用的注释字符"
 msgid "could not lookup commit %s"
 msgstr "不能查询提交 %s"
 
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(正从标准输入中读取日志信息)\n"
@@ -4432,11 +5258,6 @@ msgstr "不能读取 MERGE_MSG"
 msgid "could not read SQUASH_MSG"
 msgstr "不能读取 SQUASH_MSG"
 
-#: builtin/commit.c:738 builtin/merge.c:1079
-#, c-format
-msgid "could not read '%s'"
-msgstr "不能读取 '%s'"
-
 #: builtin/commit.c:785
 msgid "could not write commit template"
 msgstr "不能写提交模版"
@@ -4514,7 +5335,7 @@ msgstr "无法读取索引"
 msgid "Error building trees"
 msgstr "无法创建树对象"
 
-#: builtin/commit.c:953 builtin/tag.c:495
+#: builtin/commit.c:953 builtin/tag.c:266
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "请使用 -m 或 -F 选项提供提交说明。\n"
@@ -4575,13 +5396,13 @@ msgstr "参数 --include/--only 不跟路径没有意义。"
 
 #: builtin/commit.c:1195
 msgid "Clever... amending the last one with dirty index."
-msgstr "聪明... 在索引不干净下修补最后的提交。"
+msgstr "聪明... 用脏索引修补最后一个提交。"
 
 #: builtin/commit.c:1197
 msgid "Explicit paths specified without -i or -o; assuming --only paths..."
 msgstr "指定了明确的路径而没有使用 -i 或 -o 选项,认为是 --only paths..."
 
-#: builtin/commit.c:1209 builtin/tag.c:728
+#: builtin/commit.c:1209 builtin/tag.c:475
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "无效的清理模式 %s"
@@ -4590,32 +5411,33 @@ msgstr "无效的清理模式 %s"
 msgid "Paths with -a does not make sense."
 msgstr "路径和 -a 选项同时使用没有意义。"
 
-#: builtin/commit.c:1324 builtin/commit.c:1603
+#: builtin/commit.c:1324 builtin/commit.c:1605
 msgid "show status concisely"
 msgstr "以简洁的格式显示状态"
 
-#: builtin/commit.c:1326 builtin/commit.c:1605
+#: builtin/commit.c:1326 builtin/commit.c:1607
 msgid "show branch information"
 msgstr "显示分支信息"
 
-#: builtin/commit.c:1328 builtin/commit.c:1607 builtin/push.c:509
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
 msgid "machine-readable output"
 msgstr "机器可读的输出"
 
-#: builtin/commit.c:1331 builtin/commit.c:1609
+#: builtin/commit.c:1331 builtin/commit.c:1611
 msgid "show status in long format (default)"
 msgstr "以长格式显示状态(默认)"
 
-#: builtin/commit.c:1334 builtin/commit.c:1612
+#: builtin/commit.c:1334 builtin/commit.c:1614
 msgid "terminate entries with NUL"
-msgstr "条目以NUL字符结尾"
+msgstr "条目以 NUL 字符结尾"
 
-#: builtin/commit.c:1336 builtin/commit.c:1615 builtin/fast-export.c:980
-#: builtin/fast-export.c:983 builtin/tag.c:603
+#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:353
 msgid "mode"
 msgstr "模式"
 
-#: builtin/commit.c:1337 builtin/commit.c:1615
+#: builtin/commit.c:1337 builtin/commit.c:1617
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)"
 
@@ -4623,7 +5445,7 @@ msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、
 msgid "show ignored files"
 msgstr "显示忽略的文件"
 
-#: builtin/commit.c:1341 parse-options.h:152
+#: builtin/commit.c:1341 parse-options.h:155
 msgid "when"
 msgstr "何时"
 
@@ -4655,324 +5477,324 @@ msgstr "分离头指针"
 msgid " (root-commit)"
 msgstr "(根提交)"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1575
 msgid "suppress summary after successful commit"
 msgstr "提交成功后不显示概述信息"
 
-#: builtin/commit.c:1574
+#: builtin/commit.c:1576
 msgid "show diff in commit message template"
 msgstr "在提交说明模板里显示差异"
 
-#: builtin/commit.c:1576
+#: builtin/commit.c:1578
 msgid "Commit message options"
 msgstr "提交说明选项"
 
-#: builtin/commit.c:1577 builtin/tag.c:601
+#: builtin/commit.c:1579 builtin/tag.c:351
 msgid "read message from file"
 msgstr "从文件中读取提交说明"
 
-#: builtin/commit.c:1578
+#: builtin/commit.c:1580
 msgid "author"
 msgstr "作者"
 
-#: builtin/commit.c:1578
+#: builtin/commit.c:1580
 msgid "override author for commit"
 msgstr "提交时覆盖作者"
 
-#: builtin/commit.c:1579 builtin/gc.c:280
+#: builtin/commit.c:1581 builtin/gc.c:326
 msgid "date"
 msgstr "日期"
 
-#: builtin/commit.c:1579
+#: builtin/commit.c:1581
 msgid "override date for commit"
 msgstr "提交时覆盖日期"
 
-#: builtin/commit.c:1580 builtin/merge.c:218 builtin/notes.c:391
-#: builtin/notes.c:554 builtin/tag.c:599
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
 msgid "message"
 msgstr "说明"
 
-#: builtin/commit.c:1580
+#: builtin/commit.c:1582
 msgid "commit message"
 msgstr "提交说明"
 
-#: builtin/commit.c:1581
+#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585
+#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79
+msgid "commit"
+msgstr "提交"
+
+#: builtin/commit.c:1583
 msgid "reuse and edit message from specified commit"
 msgstr "重用并编辑指定提交的提交说明"
 
-#: builtin/commit.c:1582
+#: builtin/commit.c:1584
 msgid "reuse message from specified commit"
 msgstr "重用指定提交的提交说明"
 
-#: builtin/commit.c:1583
+#: builtin/commit.c:1585
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr "使用 autosquash 格式的提交说明用以修正指定的提交"
 
-#: builtin/commit.c:1584
+#: builtin/commit.c:1586
 msgid "use autosquash formatted message to squash specified commit"
 msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交"
 
-#: builtin/commit.c:1585
+#: builtin/commit.c:1587
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)"
 
-#: builtin/commit.c:1586 builtin/log.c:1191 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "添加 Signed-off-by: 签名"
 
-#: builtin/commit.c:1587
+#: builtin/commit.c:1589
 msgid "use specified template file"
 msgstr "使用指定的模板文件"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1590
 msgid "force edit of commit"
 msgstr "强制编辑提交"
 
 #  译者:可选值,不能翻译(或是原文中笔误,应为 mode)
-#: builtin/commit.c:1589
+#: builtin/commit.c:1591
 msgid "default"
 msgstr "default"
 
-#: builtin/commit.c:1589 builtin/tag.c:604
+#: builtin/commit.c:1591 builtin/tag.c:354
 msgid "how to strip spaces and #comments from message"
 msgstr "设置如何删除提交说明里的空格和#注释"
 
-#: builtin/commit.c:1590
+#: builtin/commit.c:1592
 msgid "include status in commit message template"
 msgstr "在提交说明模板里包含状态信息"
 
-#: builtin/commit.c:1591 builtin/merge.c:225 builtin/revert.c:92
-#: builtin/tag.c:605
-msgid "key-id"
-msgstr "key-id"
-
-#: builtin/commit.c:1592 builtin/merge.c:226 builtin/revert.c:93
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
+#: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "GPG 提交签名"
 
-#: builtin/commit.c:1595
+#: builtin/commit.c:1597
 msgid "Commit contents options"
 msgstr "提交内容选项"
 
-#: builtin/commit.c:1596
+#: builtin/commit.c:1598
 msgid "commit all changed files"
 msgstr "提交所有改动的文件"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1599
 msgid "add specified files to index for commit"
 msgstr "添加指定的文件到索引区等待提交"
 
-#: builtin/commit.c:1598
+#: builtin/commit.c:1600
 msgid "interactively add files"
 msgstr "交互式添加文件"
 
-#: builtin/commit.c:1599
+#: builtin/commit.c:1601
 msgid "interactively add changes"
 msgstr "交互式添加变更"
 
-#: builtin/commit.c:1600
+#: builtin/commit.c:1602
 msgid "commit only specified files"
 msgstr "只提交指定的文件"
 
-#: builtin/commit.c:1601
+#: builtin/commit.c:1603
 msgid "bypass pre-commit hook"
 msgstr "绕过 pre-commit 钩子"
 
-#: builtin/commit.c:1602
+#: builtin/commit.c:1604
 msgid "show what would be committed"
 msgstr "显示将要提交的内容"
 
-#: builtin/commit.c:1613
+#: builtin/commit.c:1615
 msgid "amend previous commit"
 msgstr "修改先前的提交"
 
-#: builtin/commit.c:1614
+#: builtin/commit.c:1616
 msgid "bypass post-rewrite hook"
 msgstr "绕过 post-rewrite 钩子"
 
-#: builtin/commit.c:1619
+#: builtin/commit.c:1621
 msgid "ok to record an empty change"
 msgstr "允许一个空提交"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1623
 msgid "ok to record a change with an empty message"
 msgstr "允许空的提交说明"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1652
 msgid "could not parse HEAD commit"
-msgstr "不能解析 HEAD 提交"
-
-#: builtin/commit.c:1689 builtin/merge.c:1076
-#, c-format
-msgid "could not open '%s' for reading"
-msgstr "不能为读入打开 '%s'"
+msgstr "不能解析 HEAD 提交"
 
-#: builtin/commit.c:1696
+#: builtin/commit.c:1698
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "损坏的 MERGE_HEAD 文件(%s)"
 
-#: builtin/commit.c:1703
+#: builtin/commit.c:1705
 msgid "could not read MERGE_MODE"
 msgstr "不能读取 MERGE_MODE"
 
-#: builtin/commit.c:1722
+#: builtin/commit.c:1724
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "不能读取提交说明:%s"
 
-#: builtin/commit.c:1733
+#: builtin/commit.c:1735
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "终止提交;您未更改来自模版的提交说明。\n"
 
-#: builtin/commit.c:1738
+#: builtin/commit.c:1740
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "终止提交因为提交说明为空。\n"
 
-#: builtin/commit.c:1753 builtin/merge.c:829 builtin/merge.c:854
-msgid "failed to write commit object"
-msgstr "无法写提交对象"
-
-#: builtin/commit.c:1786
+#: builtin/commit.c:1788
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
 "not exceeded, and then \"git reset HEAD\" to recover."
 msgstr ""
-"版本库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
+"库已更新,但无法写 new_index 文件。检查是否磁盘已满\n"
 "或磁盘配额已耗尽,然后执行 \"git reset HEAD\" 恢复。"
 
-#: builtin/config.c:8
+#: builtin/config.c:9
 msgid "git config [<options>]"
 msgstr "git config [<选项>]"
 
-#: builtin/config.c:53
+#: builtin/config.c:56
 msgid "Config file location"
 msgstr "配置文件位置"
 
-#: builtin/config.c:54
+#: builtin/config.c:57
 msgid "use global config file"
 msgstr "使用全局配置文件"
 
-#: builtin/config.c:55
+#: builtin/config.c:58
 msgid "use system config file"
 msgstr "使用系统级配置文件"
 
-#: builtin/config.c:56
+#: builtin/config.c:59
 msgid "use repository config file"
-msgstr "使用版本库级配置文件"
+msgstr "使用库级配置文件"
 
-#: builtin/config.c:57
+#: builtin/config.c:60
 msgid "use given config file"
 msgstr "使用指定的配置文件"
 
-#: builtin/config.c:58
+#: builtin/config.c:61
 msgid "blob-id"
-msgstr "数据对象ID"
+msgstr "数据对象 ID"
 
-#: builtin/config.c:58
+#: builtin/config.c:61
 msgid "read config from given blob object"
 msgstr "从给定的数据对象读取配置"
 
-#: builtin/config.c:59
+#: builtin/config.c:62
 msgid "Action"
 msgstr "操作"
 
-#: builtin/config.c:60
+#: builtin/config.c:63
 msgid "get value: name [value-regex]"
 msgstr "获取值:name [value-regex]"
 
-#: builtin/config.c:61
+#: builtin/config.c:64
 msgid "get all values: key [value-regex]"
 msgstr "获得所有的值:key [value-regex]"
 
-#: builtin/config.c:62
+#: builtin/config.c:65
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "根据正则表达式获得值:name-regex [value-regex]"
 
-#: builtin/config.c:63
+#: builtin/config.c:66
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "获得 URL 取值:section[.var] URL"
 
-#: builtin/config.c:64
+#: builtin/config.c:67
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "替换所有匹配的变量:name value [value_regex]"
 
-#: builtin/config.c:65
+#: builtin/config.c:68
 msgid "add a new variable: name value"
 msgstr "添加一个新的变量:name value"
 
-#: builtin/config.c:66
+#: builtin/config.c:69
 msgid "remove a variable: name [value-regex]"
 msgstr "删除一个变量:name [value-regex]"
 
-#: builtin/config.c:67
+#: builtin/config.c:70
 msgid "remove all matches: name [value-regex]"
 msgstr "删除所有匹配项:name [value-regex]"
 
-#: builtin/config.c:68
+#: builtin/config.c:71
 msgid "rename section: old-name new-name"
 msgstr "重命名小节:old-name new-name"
 
-#: builtin/config.c:69
+#: builtin/config.c:72
 msgid "remove a section: name"
 msgstr "删除一个小节:name"
 
-#: builtin/config.c:70
+#: builtin/config.c:73
 msgid "list all"
 msgstr "列出所有"
 
-#: builtin/config.c:71
+#: builtin/config.c:74
 msgid "open an editor"
 msgstr "打开一个编辑器"
 
-#: builtin/config.c:72
+#: builtin/config.c:75
 msgid "find the color configured: slot [default]"
 msgstr "获得配置的颜色:配置 [默认]"
 
-#: builtin/config.c:73
+#: builtin/config.c:76
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "获得颜色设置:配置 [stdout-is-tty]"
 
-#: builtin/config.c:74
+#: builtin/config.c:77
 msgid "Type"
 msgstr "类型"
 
-#: builtin/config.c:75
+#: builtin/config.c:78
 msgid "value is \"true\" or \"false\""
 msgstr "值是 \"true\" 或 \"false\""
 
-#: builtin/config.c:76
+#: builtin/config.c:79
 msgid "value is decimal number"
 msgstr "值是十进制数"
 
-#: builtin/config.c:77
+#: builtin/config.c:80
 msgid "value is --bool or --int"
 msgstr "值是 --bool or --int"
 
-#: builtin/config.c:78
+#: builtin/config.c:81
 msgid "value is a path (file or directory name)"
 msgstr "值是一个路径(文件或目录名)"
 
-#: builtin/config.c:79
+#: builtin/config.c:82
 msgid "Other"
 msgstr "其它"
 
-#: builtin/config.c:80
+#: builtin/config.c:83
 msgid "terminate values with NUL byte"
-msgstr "终止值是NUL字节"
+msgstr "终止值是 NUL 字节"
 
-#: builtin/config.c:81
+#: builtin/config.c:84
+msgid "show variable names only"
+msgstr "只显示变量名"
+
+#: builtin/config.c:85
 msgid "respect include directives on lookup"
 msgstr "查询时参照 include 指令递归查找"
 
-#: builtin/config.c:316
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)"
+
+#: builtin/config.c:328
 msgid "unable to parse default color value"
-msgstr "不能解析缺省的颜色值"
+msgstr "不能解析默认颜色值"
 
-#: builtin/config.c:457
+#: builtin/config.c:469
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -4987,16 +5809,16 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:587
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "不能创建配置文件 %s"
 
-#: builtin/count-objects.c:55
+#: builtin/count-objects.c:77
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
 
-#: builtin/count-objects.c:65
+#: builtin/count-objects.c:87
 msgid "print sizes in human readable format"
 msgstr "以用户可读的格式显示大小"
 
@@ -5011,19 +5833,19 @@ msgstr "git describe [<选项>] --dirty"
 #: builtin/describe.c:217
 #, c-format
 msgid "annotated tag %s not available"
-msgstr "注释 tag %s 无效"
+msgstr "附注标签 %s 无效"
 
 #: builtin/describe.c:221
 #, c-format
 msgid "annotated tag %s has no embedded name"
-msgstr "注释 tag %s 没有嵌入名称"
+msgstr "附注标签 %s 没有嵌入名称"
 
 #: builtin/describe.c:223
 #, c-format
 msgid "tag '%s' is really '%s' here"
-msgstr "tag '%s' 的确是在 '%s'"
+msgstr "标签 '%s' 的确是在 '%s'"
 
-#: builtin/describe.c:250 builtin/log.c:452
+#: builtin/describe.c:250 builtin/log.c:459
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "不是一个有效的对象名 %s"
@@ -5036,7 +5858,7 @@ msgstr "%s 不是一个有效的 '%s' 对象"
 #: builtin/describe.c:270
 #, c-format
 msgid "no tag exactly matches '%s'"
-msgstr "没有 tag 准确匹配 '%s'"
+msgstr "没有标签准确匹配 '%s'"
 
 #: builtin/describe.c:272
 #, c-format
@@ -5054,8 +5876,8 @@ msgid ""
 "No annotated tags can describe '%s'.\n"
 "However, there were unannotated tags: try --tags."
 msgstr ""
-"没有注释 tag 能描述 '%s'。\n"
-"然而,有非注释 tag:尝试 --tags。"
+"没有附注标签能描述 '%s'。\n"
+"然而,存在未附注标签:尝试 --tags。"
 
 #: builtin/describe.c:350
 #, c-format
@@ -5063,8 +5885,8 @@ msgid ""
 "No tags can describe '%s'.\n"
 "Try --always, or create some tags."
 msgstr ""
-"没æ\9c\89注é\87\8a tag 能描述 '%s'。\n"
-"尝试 --always,或者创建一些 tag。"
+"没æ\9c\89æ \87ç­¾能描述 '%s'。\n"
+"尝试 --always,或者创建一些标签。"
 
 #: builtin/describe.c:371
 #, c-format
@@ -5077,12 +5899,12 @@ msgid ""
 "more than %i tags found; listed %i most recent\n"
 "gave up search at %s\n"
 msgstr ""
-"发现多于 %i 个 tag,列出最近的 %i 个\n"
+"发现多于 %i 个标签,列出最近的 %i 个\n"
 "在 %s 放弃搜索\n"
 
 #: builtin/describe.c:396
 msgid "find the tag that comes after the commit"
-msgstr "寻找提交之后的 tag(用于描述提交)"
+msgstr "寻找该提交之后的标签"
 
 #: builtin/describe.c:397
 msgid "debug search strategy on stderr"
@@ -5094,7 +5916,7 @@ msgstr "使用任意引用"
 
 #: builtin/describe.c:399
 msgid "use any tag, even unannotated"
-msgstr "使用任意 tag,即使未带注解"
+msgstr "使用任意标签,即使未附带注释"
 
 #: builtin/describe.c:400
 msgid "always use long format"
@@ -5110,13 +5932,13 @@ msgstr "只输出精确匹配"
 
 #: builtin/describe.c:406
 msgid "consider <n> most recent tags (default: 10)"
-msgstr "考虑最近 <n> 个 tags(默认:10)"
+msgstr "考虑最近 <n> 个标签(默认:10)"
 
 #: builtin/describe.c:408
 msgid "only consider tags matching <pattern>"
-msgstr "只考虑匹配 <模式> 的 tags"
+msgstr "只考虑匹配 <模式> 的标签"
 
-#: builtin/describe.c:410 builtin/name-rev.c:318
+#: builtin/describe.c:410 builtin/name-rev.c:314
 msgid "show abbreviated commit object as fallback"
 msgstr "显示简写的提交号作为后备"
 
@@ -5126,7 +5948,7 @@ msgstr "标记"
 
 #: builtin/describe.c:412
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
-msgstr "若工作区脏(有变更)在结尾添加 <标记>(默认:\"-dirty\")"
+msgstr "对于脏工作区,追加 <标记>(默认:\"-dirty\")"
 
 #: builtin/describe.c:430
 msgid "--long is incompatible with --abbrev=0"
@@ -5152,7 +5974,7 @@ msgstr "无效选项:%s"
 
 #: builtin/diff.c:358
 msgid "Not a git repository"
-msgstr "不是一个 git 版本库"
+msgstr "不是一个 git 库"
 
 #: builtin/diff.c:401
 #, c-format
@@ -5162,238 +5984,242 @@ msgstr "提供了无效对象 '%s'。"
 #: builtin/diff.c:410
 #, c-format
 msgid "more than two blobs given: '%s'"
-msgstr "提供了超过两个数据(blob)对象:'%s'"
+msgstr "提供了超过两个数据对象:'%s'"
 
 #: builtin/diff.c:417
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "无法处理的对象 '%s'。"
 
-#: builtin/fast-export.c:24
+#: builtin/fast-export.c:25
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:979
+#: builtin/fast-export.c:980
 msgid "show progress after <n> objects"
 msgstr "在 <n> 个对象之后显示进度"
 
-#: builtin/fast-export.c:981
+#: builtin/fast-export.c:982
 msgid "select handling of signed tags"
-msgstr "选择如何处理签名 tags"
+msgstr "选择如何处理签名标签"
 
-#: builtin/fast-export.c:984
+#: builtin/fast-export.c:985
 msgid "select handling of tags that tag filtered objects"
-msgstr "选择当 tag 指向被过滤时 tags 的处理方式"
+msgstr "选择当标签指向被过滤对象时该标签的处理方式"
 
-#: builtin/fast-export.c:987
+#: builtin/fast-export.c:988
 msgid "Dump marks to this file"
 msgstr "把标记存储到这个文件"
 
-#: builtin/fast-export.c:989
+#: builtin/fast-export.c:990
 msgid "Import marks from this file"
 msgstr "从这个文件导入标记"
 
-#: builtin/fast-export.c:991
+#: builtin/fast-export.c:992
 msgid "Fake a tagger when tags lack one"
-msgstr "当 tags 缺少标记者字段时,假装提供一个"
+msgstr "当标签缺少标记者字段时,假装提供一个"
 
-#: builtin/fast-export.c:993
+#: builtin/fast-export.c:994
 msgid "Output full tree for each commit"
 msgstr "每次提交都输出整个树"
 
-#: builtin/fast-export.c:995
+#: builtin/fast-export.c:996
 msgid "Use the done feature to terminate the stream"
 msgstr "使用 done 功能来终止流"
 
-#: builtin/fast-export.c:996
+#: builtin/fast-export.c:997
 msgid "Skip output of blob data"
 msgstr "跳过数据对象的输出"
 
-#: builtin/fast-export.c:997
+#: builtin/fast-export.c:998
 msgid "refspec"
-msgstr "å¼\95ç\94¨è¡¨è¾¾å¼\8f"
+msgstr "å¼\95ç\94¨è§\84æ ¼"
 
-#: builtin/fast-export.c:998
+#: builtin/fast-export.c:999
 msgid "Apply refspec to exported refs"
-msgstr "对导å\87ºç\9a\84å¼\95ç\94¨åº\94ç\94¨å¼\95ç\94¨è¡¨è¾¾å¼\8f"
+msgstr "对导å\87ºç\9a\84å¼\95ç\94¨åº\94ç\94¨å¼\95ç\94¨è§\84æ ¼"
 
-#: builtin/fast-export.c:999
+#: builtin/fast-export.c:1000
 msgid "anonymize output"
 msgstr "匿名输出"
 
-#: builtin/fetch.c:19
+#: builtin/fetch.c:20
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr "git fetch [<选项>] [<版本库> [<引用规则>...]]"
+msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/fetch.c:20
+#: builtin/fetch.c:21
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<选项>] <组>"
 
-#: builtin/fetch.c:21
+#: builtin/fetch.c:22
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr "git fetch --multiple [<选项>] [(<版本库> | <组>)...]"
+msgstr "git fetch --multiple [<选项>] [(<库> | <组>)...]"
 
-#: builtin/fetch.c:22
+#: builtin/fetch.c:23
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<选项>]"
 
-#: builtin/fetch.c:89
+#: builtin/fetch.c:92 builtin/pull.c:166
 msgid "fetch from all remotes"
 msgstr "从所有的远程抓取"
 
-#: builtin/fetch.c:91
+#: builtin/fetch.c:94 builtin/pull.c:169
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它"
 
-#: builtin/fetch.c:93
+#: builtin/fetch.c:96 builtin/pull.c:172
 msgid "path to upload pack on remote end"
 msgstr "上传包到远程的路径"
 
-#: builtin/fetch.c:94
+#: builtin/fetch.c:97 builtin/pull.c:174
 msgid "force overwrite of local branch"
 msgstr "强制覆盖本地分支"
 
-#: builtin/fetch.c:96
+#: builtin/fetch.c:99
 msgid "fetch from multiple remotes"
 msgstr "从多个远程抓取"
 
-#: builtin/fetch.c:98
+#: builtin/fetch.c:101 builtin/pull.c:176
 msgid "fetch all tags and associated objects"
-msgstr "抓取所有的 tags 和关联对象"
+msgstr "抓取所有的标签和关联对象"
 
-#: builtin/fetch.c:100
+#: builtin/fetch.c:103
 msgid "do not fetch all tags (--no-tags)"
-msgstr "不抓取任何 tags (--no-tags)"
+msgstr "不抓取任何标签(--no-tags)"
+
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "子模组获取的并发数"
 
-#: builtin/fetch.c:102
+#: builtin/fetch.c:107 builtin/pull.c:179
 msgid "prune remote-tracking branches no longer on remote"
 msgstr "清除远程已经不存在的分支的跟踪分支"
 
 #  译者:可选值,不能翻译
-#: builtin/fetch.c:103
+#: builtin/fetch.c:108 builtin/pull.c:182
 msgid "on-demand"
 msgstr "on-demand"
 
-#: builtin/fetch.c:104
+#: builtin/fetch.c:109 builtin/pull.c:183
 msgid "control recursive fetching of submodules"
 msgstr "控制子模组的递归抓取"
 
-#: builtin/fetch.c:108
+#: builtin/fetch.c:113 builtin/pull.c:191
 msgid "keep downloaded pack"
 msgstr "保持下载包"
 
-#: builtin/fetch.c:110
+#: builtin/fetch.c:115
 msgid "allow updating of HEAD ref"
 msgstr "允许更新 HEAD 引用"
 
-#: builtin/fetch.c:113
+#: builtin/fetch.c:118 builtin/pull.c:194
 msgid "deepen history of shallow clone"
 msgstr "深化浅克隆的历史"
 
-#: builtin/fetch.c:115
+#: builtin/fetch.c:120 builtin/pull.c:197
 msgid "convert to a complete repository"
-msgstr "转换为一个完整的版本库"
+msgstr "转换为一个完整的库"
 
-#: builtin/fetch.c:117 builtin/log.c:1208
+#: builtin/fetch.c:122 builtin/log.c:1236
 msgid "dir"
 msgstr "目录"
 
-#: builtin/fetch.c:118
+#: builtin/fetch.c:123
 msgid "prepend this to submodule path output"
 msgstr "在子模组路径输出的前面加上此目录"
 
-#: builtin/fetch.c:121
+#: builtin/fetch.c:126
 msgid "default mode for recursion"
 msgstr "递归的默认模式"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:128 builtin/pull.c:200
 msgid "accept refs that update .git/shallow"
 msgstr "接受更新 .git/shallow 的引用"
 
-#: builtin/fetch.c:124
+#: builtin/fetch.c:129 builtin/pull.c:202
 msgid "refmap"
 msgstr "引用映射"
 
-#: builtin/fetch.c:125
+#: builtin/fetch.c:130 builtin/pull.c:203
 msgid "specify fetch refmap"
 msgstr "指定获取操作的引用映射"
 
-#: builtin/fetch.c:377
+#: builtin/fetch.c:386
 msgid "Couldn't find remote ref HEAD"
 msgstr "无法发现远程 HEAD 引用"
 
-#: builtin/fetch.c:457
+#: builtin/fetch.c:466
 #, c-format
 msgid "object %s not found"
 msgstr "对象 %s 未发现"
 
-#: builtin/fetch.c:462
+#: builtin/fetch.c:471
 msgid "[up to date]"
 msgstr "[最新]"
 
-#: builtin/fetch.c:476
+#: builtin/fetch.c:485
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
 msgstr "! %-*s %-*s -> %s  (在当前分支下不能获取)"
 
-#: builtin/fetch.c:477 builtin/fetch.c:563
+#: builtin/fetch.c:486 builtin/fetch.c:574
 msgid "[rejected]"
 msgstr "[已拒绝]"
 
-#: builtin/fetch.c:488
+#: builtin/fetch.c:497
 msgid "[tag update]"
-msgstr "[tag更新]"
+msgstr "[标签更新]"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:490 builtin/fetch.c:525 builtin/fetch.c:543
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
 msgid "  (unable to update local ref)"
 msgstr "  (不能更新本地引用)"
 
-#: builtin/fetch.c:508
+#: builtin/fetch.c:517
 msgid "[new tag]"
-msgstr "[新tag]"
+msgstr "[新标签]"
 
-#: builtin/fetch.c:511
+#: builtin/fetch.c:520
 msgid "[new branch]"
 msgstr "[新分支]"
 
-#: builtin/fetch.c:514
+#: builtin/fetch.c:523
 msgid "[new ref]"
 msgstr "[新引用]"
 
-#: builtin/fetch.c:559
+#: builtin/fetch.c:569
 msgid "unable to update local ref"
 msgstr "不能更新本地引用"
 
-#: builtin/fetch.c:559
+#: builtin/fetch.c:569
 msgid "forced update"
 msgstr "强制更新"
 
-#: builtin/fetch.c:565
+#: builtin/fetch.c:576
 msgid "(non-fast-forward)"
 msgstr "(非快进式)"
 
-#: builtin/fetch.c:599 builtin/fetch.c:832
+#: builtin/fetch.c:610 builtin/fetch.c:851
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "无法打开 %s:%s\n"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:619
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s 未发送所有必须的对象\n"
 
-#: builtin/fetch.c:626
+#: builtin/fetch.c:637
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "拒绝 %s 因为浅克隆不允许被更新"
 
-#: builtin/fetch.c:714 builtin/fetch.c:797
+#: builtin/fetch.c:724 builtin/fetch.c:816
 #, c-format
 msgid "From %.*s\n"
 msgstr "来自 %.*s\n"
 
-#: builtin/fetch.c:725
+#: builtin/fetch.c:735
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -5403,275 +6229,298 @@ msgstr ""
 " 'git remote prune %s' 来删除旧的、有冲突的分支"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:777
+#: builtin/fetch.c:787
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s 将成为摇摆状态)"
 
 #  译者:注意保持前导空格
-#: builtin/fetch.c:778
+#: builtin/fetch.c:788
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s 已成为摇摆状态)"
 
-#: builtin/fetch.c:802
+#: builtin/fetch.c:820
 msgid "[deleted]"
 msgstr "[已删除]"
 
-#: builtin/fetch.c:803 builtin/remote.c:1057
+#: builtin/fetch.c:821 builtin/remote.c:1025
 msgid "(none)"
 msgstr "(无)"
 
-#: builtin/fetch.c:822
+#: builtin/fetch.c:841
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
-msgstr "拒绝获取到非纯版本库的当前分支 %s"
+msgstr "拒绝获取到非纯库的当前分支 %s"
 
-#: builtin/fetch.c:841
+#: builtin/fetch.c:860
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的"
 
-#: builtin/fetch.c:844
+#: builtin/fetch.c:863
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "选项 \"%s\" 为 %s 所忽略\n"
 
-#: builtin/fetch.c:900
+#: builtin/fetch.c:920
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "不知道如何从 %s 获取"
 
-#: builtin/fetch.c:1063
+#: builtin/fetch.c:1080
 #, c-format
 msgid "Fetching %s\n"
 msgstr "正在获取 %s\n"
 
-#: builtin/fetch.c:1065 builtin/remote.c:90
+#: builtin/fetch.c:1082 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "不能获取 %s"
 
-#: builtin/fetch.c:1083
+#: builtin/fetch.c:1100
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
-msgstr "未指定远程版本库。请通过一个URL或远程版本库名指定,用以获取新提交。"
+msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。"
 
-#: builtin/fetch.c:1106
+#: builtin/fetch.c:1123
 msgid "You need to specify a tag name."
-msgstr "您需要指定一个 tag 名称。"
+msgstr "您需要指定一个标签名称。"
 
-#: builtin/fetch.c:1148
+#: builtin/fetch.c:1165
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth 和 --unshallow 不能同时使用"
 
-#: builtin/fetch.c:1150
+#: builtin/fetch.c:1167
 msgid "--unshallow on a complete repository does not make sense"
-msgstr "对于一个完整的版本库,参数 --unshallow 没有意义"
+msgstr "对于一个完整的库,参数 --unshallow 没有意义"
 
-#: builtin/fetch.c:1173
+#: builtin/fetch.c:1187
 msgid "fetch --all does not take a repository argument"
-msgstr "fetch --all 不能带一个版本库参数"
+msgstr "fetch --all 不能带一个库参数"
 
-#: builtin/fetch.c:1175
+#: builtin/fetch.c:1189
 msgid "fetch --all does not make sense with refspecs"
-msgstr "fetch --all 带引用规没有任何意义"
+msgstr "fetch --all 带引用规没有任何意义"
 
-#: builtin/fetch.c:1186
+#: builtin/fetch.c:1200
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "没有这样的远程或远程组:%s"
 
-#: builtin/fetch.c:1194
+#: builtin/fetch.c:1208
 msgid "Fetching a group and specifying refspecs does not make sense"
-msgstr "获取组并指定引用规没有意义"
+msgstr "获取组并指定引用规没有意义"
 
-#: builtin/fmt-merge-msg.c:13
+#: builtin/fmt-merge-msg.c:14
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr "git fmt-merge-msg [-m <说明>] [--log[=<n>] | --no-log] [--file <文件>]"
 
-#: builtin/fmt-merge-msg.c:668 builtin/fmt-merge-msg.c:671 builtin/grep.c:698
-#: builtin/merge.c:198 builtin/repack.c:178 builtin/repack.c:182
-#: builtin/show-branch.c:664 builtin/show-ref.c:180 builtin/tag.c:590
-#: parse-options.h:131 parse-options.h:238
-msgid "n"
-msgstr "n"
-
-#: builtin/fmt-merge-msg.c:669
+#: builtin/fmt-merge-msg.c:667
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:670
 msgid "alias for --log (deprecated)"
 msgstr "参数 --log 的别名(已弃用)"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:673
 msgid "text"
 msgstr "文本"
 
-#: builtin/fmt-merge-msg.c:676
+#: builtin/fmt-merge-msg.c:674
 msgid "use <text> as start of message"
 msgstr "使用 <文本> 作为提交说明的开始"
 
-#: builtin/fmt-merge-msg.c:677
+#: builtin/fmt-merge-msg.c:675
 msgid "file to read from"
 msgstr "从文件中读取"
 
-#: builtin/for-each-ref.c:687
-msgid "unable to parse format"
-msgstr "不能解析格式"
-
-#: builtin/for-each-ref.c:1083
+#: builtin/for-each-ref.c:9
 msgid "git for-each-ref [<options>] [<pattern>]"
 msgstr "git for-each-ref [<选项>] [<模式>]"
 
-#: builtin/for-each-ref.c:1098
+#: builtin/for-each-ref.c:10
+msgid "git for-each-ref [--points-at <object>]"
+msgstr "git for-each-ref [--points-at <对象>]"
+
+#: builtin/for-each-ref.c:11
+msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
+msgstr "git for-each-ref [(--merged | --no-merged) [<对象>]]"
+
+#: builtin/for-each-ref.c:12
+msgid "git for-each-ref [--contains [<object>]]"
+msgstr "git for-each-ref [--contains [<对象>]]"
+
+#: builtin/for-each-ref.c:27
 msgid "quote placeholders suitably for shells"
 msgstr "引用占位符适用于 shells"
 
-#: builtin/for-each-ref.c:1100
+#: builtin/for-each-ref.c:29
 msgid "quote placeholders suitably for perl"
 msgstr "引用占位符适用于 perl"
 
-#: builtin/for-each-ref.c:1102
+#: builtin/for-each-ref.c:31
 msgid "quote placeholders suitably for python"
 msgstr "引用占位符适用于 python"
 
-#: builtin/for-each-ref.c:1104
+#: builtin/for-each-ref.c:33
 msgid "quote placeholders suitably for Tcl"
 msgstr "引用占位符适用于 Tcl"
 
-#: builtin/for-each-ref.c:1107
+#: builtin/for-each-ref.c:36
 msgid "show only <n> matched refs"
 msgstr "只显示 <n> 个匹配的引用"
 
-#: builtin/for-each-ref.c:1108 builtin/replace.c:438
-msgid "format"
-msgstr "格式"
-
-#: builtin/for-each-ref.c:1108
+#: builtin/for-each-ref.c:37 builtin/tag.c:372
 msgid "format to use for the output"
 msgstr "输出格式"
 
-#: builtin/for-each-ref.c:1109
-msgid "key"
-msgstr "key"
+#: builtin/for-each-ref.c:41
+msgid "print only refs which points at the given object"
+msgstr "只打印指向给定对象的引用"
 
-#: builtin/for-each-ref.c:1110
-msgid "field name to sort on"
-msgstr "排序的字段名"
+#: builtin/for-each-ref.c:43
+msgid "print only refs that are merged"
+msgstr "只打印已经合并的引用"
+
+#: builtin/for-each-ref.c:44
+msgid "print only refs that are not merged"
+msgstr "只打印没有合并的引用"
 
-#: builtin/fsck.c:147 builtin/prune.c:137
+#: builtin/for-each-ref.c:45
+msgid "print only refs which contain the commit"
+msgstr "只打印包含该提交的引用"
+
+#: builtin/fsck.c:156 builtin/prune.c:140
 msgid "Checking connectivity"
 msgstr "检查连接中"
 
-#: builtin/fsck.c:548
+#: builtin/fsck.c:486
 msgid "Checking object directories"
 msgstr "检查对象目录中"
 
-#: builtin/fsck.c:611
+#: builtin/fsck.c:553
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<选项>] [<对象>...]"
 
-#: builtin/fsck.c:617
+#: builtin/fsck.c:559
 msgid "show unreachable objects"
 msgstr "显示不可达的对象"
 
-#: builtin/fsck.c:618
+#: builtin/fsck.c:560
 msgid "show dangling objects"
 msgstr "显示摇摆的对象"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:561
 msgid "report tags"
-msgstr "报告 tags"
+msgstr "报告标签"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:562
 msgid "report root nodes"
 msgstr "报告根节点"
 
-#: builtin/fsck.c:621
+#: builtin/fsck.c:563
 msgid "make index objects head nodes"
 msgstr "将索引亦作为检查的头节点"
 
-#: builtin/fsck.c:622
+#: builtin/fsck.c:564
 msgid "make reflogs head nodes (default)"
 msgstr "将引用日志作为检查的头节点(默认)"
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:565
 msgid "also consider packs and alternate objects"
 msgstr "也考虑包和备用对象"
 
-#: builtin/fsck.c:624
+#: builtin/fsck.c:566
+msgid "check only connectivity"
+msgstr "仅检查连通性"
+
+#: builtin/fsck.c:567
 msgid "enable more strict checking"
 msgstr "启用更严格的检查"
 
-#: builtin/fsck.c:626
+#: builtin/fsck.c:569
 msgid "write dangling objects in .git/lost-found"
 msgstr "将摇摆对象写入 .git/lost-found 中"
 
-#: builtin/fsck.c:627 builtin/prune.c:107
+#: builtin/fsck.c:570 builtin/prune.c:107
 msgid "show progress"
 msgstr "显示进度"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:631
 msgid "Checking objects"
 msgstr "检查对象中"
 
-#: builtin/gc.c:24
+#: builtin/gc.c:25
 msgid "git gc [<options>]"
 msgstr "git gc [<选项>]"
 
-#: builtin/gc.c:67
+#: builtin/gc.c:72
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "无效 %s:'%s'"
 
-#: builtin/gc.c:112
+#: builtin/gc.c:139
 #, c-format
 msgid "insanely long object directory %.*s"
 msgstr "不正常的长对象目录 %.*s"
 
-#: builtin/gc.c:281
+#: builtin/gc.c:290
+#, c-format
+msgid ""
+"The last gc run reported the following. Please correct the root cause\n"
+"and remove %s.\n"
+"Automatic cleanup will not be performed until the file is removed.\n"
+"\n"
+"%s"
+msgstr ""
+"最后一次 gc 操作报告如下信息。请检查原因并删除 %s。\n"
+"在该文件被删除之前,自动清理将不会执行。\n"
+"\n"
+"%s"
+
+#: builtin/gc.c:327
 msgid "prune unreferenced objects"
 msgstr "清除未引用的对象"
 
-#: builtin/gc.c:283
+#: builtin/gc.c:329
 msgid "be more thorough (increased runtime)"
 msgstr "更彻底(增加运行时间)"
 
-#: builtin/gc.c:284
+#: builtin/gc.c:330
 msgid "enable auto-gc mode"
 msgstr "启用自动垃圾回收模式"
 
-#: builtin/gc.c:285
+#: builtin/gc.c:331
 msgid "force running gc even if there may be another gc running"
 msgstr "强制执行 gc 即使另外一个 gc 正在执行"
 
-#: builtin/gc.c:327
+#: builtin/gc.c:373
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
-msgstr "自动在后台执行版本库打包以求最佳性能。\n"
+msgstr "自动在后台执行库打包以求最佳性能。\n"
 
-#: builtin/gc.c:329
+#: builtin/gc.c:375
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
-msgstr "自动打包版本库以求最佳性能。\n"
+msgstr "自动打包库以求最佳性能。\n"
 
-#: builtin/gc.c:330
+#: builtin/gc.c:376
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "手工维护参见 \"git help gc\"。\n"
 
-#: builtin/gc.c:348
+#: builtin/gc.c:397
 #, 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:376
+#: builtin/gc.c:441
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
@@ -5680,229 +6529,239 @@ msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。"
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]"
 
-#: builtin/grep.c:218
+#: builtin/grep.c:219
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep:无法创建线程:%s"
 
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "为 %2$s 设定的线程数 (%1$d) 无效"
+
+#: builtin/grep.c:452 builtin/grep.c:487
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "无法读取树(%s)"
 
-#: builtin/grep.c:491
+#: builtin/grep.c:502
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "无法抓取来自于 %s 类型的对象"
 
-#: builtin/grep.c:547
+#: builtin/grep.c:558
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "开关 `%c' 期望一个数字值"
 
-#: builtin/grep.c:564
+#: builtin/grep.c:575
 #, c-format
 msgid "cannot open '%s'"
 msgstr "不能打开 '%s'"
 
-#: builtin/grep.c:638
+#: builtin/grep.c:644
 msgid "search in index instead of in the work tree"
 msgstr "在索引区搜索而不是在工作区"
 
-#: builtin/grep.c:640
+#: builtin/grep.c:646
 msgid "find in contents not managed by git"
 msgstr "在未被 git 管理的内容中查找"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/grep.c:642
+#: builtin/grep.c:648
 msgid "search in both tracked and untracked files"
 msgstr "在跟踪和未跟踪的文件中搜索"
 
-#: builtin/grep.c:644
+#: builtin/grep.c:650
 msgid "ignore files specified via '.gitignore'"
 msgstr "忽略 '.gitignore' 包含的文件"
 
-#: builtin/grep.c:647
+#: builtin/grep.c:653
 msgid "show non-matching lines"
 msgstr "显示未匹配的行"
 
-#: builtin/grep.c:649
+#: builtin/grep.c:655
 msgid "case insensitive matching"
 msgstr "不区分大小写匹配"
 
-#: builtin/grep.c:651
+#: builtin/grep.c:657
 msgid "match patterns only at word boundaries"
 msgstr "只在单词边界匹配模式"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:659
 msgid "process binary files as text"
 msgstr "把二进制文件当做文本处理"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:661
 msgid "don't match patterns in binary files"
 msgstr "不在二进制文件中匹配模式"
 
-#: builtin/grep.c:658
+#: builtin/grep.c:664
 msgid "process binary files with textconv filters"
 msgstr "用 textconv 过滤器处理二进制文件"
 
-#: builtin/grep.c:660
+#: builtin/grep.c:666
 msgid "descend at most <depth> levels"
 msgstr "最多以指定的深度向下寻找"
 
-#: builtin/grep.c:664
+#: builtin/grep.c:670
 msgid "use extended POSIX regular expressions"
 msgstr "使用扩展的 POSIX 正则表达式"
 
-#: builtin/grep.c:667
+#: builtin/grep.c:673
 msgid "use basic POSIX regular expressions (default)"
 msgstr "使用基本的 POSIX 正则表达式(默认)"
 
-#: builtin/grep.c:670
+#: builtin/grep.c:676
 msgid "interpret patterns as fixed strings"
 msgstr "把模式解析为固定的字符串"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:679
 msgid "use Perl-compatible regular expressions"
 msgstr "使用 Perl 兼容的正则表达式"
 
-#: builtin/grep.c:676
+#: builtin/grep.c:682
 msgid "show line numbers"
 msgstr "显示行号"
 
-#: builtin/grep.c:677
+#: builtin/grep.c:683
 msgid "don't show filenames"
 msgstr "不显示文件名"
 
-#: builtin/grep.c:678
+#: builtin/grep.c:684
 msgid "show filenames"
 msgstr "显示文件名"
 
-#: builtin/grep.c:680
+#: builtin/grep.c:686
 msgid "show filenames relative to top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:688
 msgid "show only filenames instead of matching lines"
 msgstr "只显示文件名而不显示匹配的行"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:690
 msgid "synonym for --files-with-matches"
 msgstr "和 --files-with-matches 同义"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:693
 msgid "show only the names of files without match"
 msgstr "只显示未匹配的文件名"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:695
 msgid "print NUL after filenames"
 msgstr "在文件名后输出 NUL 字符"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:697
 msgid "show the number of matches instead of matching lines"
 msgstr "显示总匹配行数,而不显示匹配的行"
 
-#: builtin/grep.c:692
+#: builtin/grep.c:698
 msgid "highlight matches"
 msgstr "高亮显示匹配项"
 
-#: builtin/grep.c:694
+#: builtin/grep.c:700
 msgid "print empty line between matches from different files"
 msgstr "在不同文件的匹配项之间打印空行"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:702
 msgid "show filename only once above matches from same file"
 msgstr "只在同一文件的匹配项的上面显示一次文件名"
 
-#: builtin/grep.c:699
+#: builtin/grep.c:705
 msgid "show <n> context lines before and after matches"
 msgstr "显示匹配项前后的 <n> 行上下文"
 
-#: builtin/grep.c:702
+#: builtin/grep.c:708
 msgid "show <n> context lines before matches"
 msgstr "显示匹配项前 <n> 行上下文"
 
-#: builtin/grep.c:704
+#: builtin/grep.c:710
 msgid "show <n> context lines after matches"
 msgstr "显示匹配项后 <n> 行上下文"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "使用 <n> 个工作线程"
+
+#: builtin/grep.c:713
 msgid "shortcut for -C NUM"
 msgstr "快捷键 -C 数字"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:716
 msgid "show a line with the function name before matches"
 msgstr "在匹配的前面显示一行函数名"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:718
 msgid "show the surrounding function"
 msgstr "显示所在函数的前后内容"
 
-#: builtin/grep.c:713
+#: builtin/grep.c:721
 msgid "read patterns from file"
 msgstr "从文件读取模式"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:723
 msgid "match <pattern>"
 msgstr "匹配 <模式>"
 
-#: builtin/grep.c:717
+#: builtin/grep.c:725
 msgid "combine patterns specified with -e"
 msgstr "组合用 -e 参数设定的模式"
 
-#: builtin/grep.c:729
+#: builtin/grep.c:737
 msgid "indicate hit with exit status without output"
 msgstr "不输出,而用退出码标识命中状态"
 
-#: builtin/grep.c:731
+#: builtin/grep.c:739
 msgid "show only matches from files that match all patterns"
 msgstr "只显示匹配所有模式的文件中的匹配"
 
-#: builtin/grep.c:733
+#: builtin/grep.c:741
 msgid "show parse tree for grep expression"
 msgstr "显示 grep 表达式的解析树"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:745
 msgid "pager"
 msgstr "分页"
 
-#: builtin/grep.c:737
+#: builtin/grep.c:745
 msgid "show matching files in the pager"
 msgstr "分页显示匹配的文件"
 
-#: builtin/grep.c:740
+#: builtin/grep.c:748
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "允许调用 grep(1)(本次构建忽略)"
 
-#: builtin/grep.c:741 builtin/show-ref.c:189
-msgid "show usage"
-msgstr "显示用法"
-
-#: builtin/grep.c:808
+#: builtin/grep.c:811
 msgid "no pattern given."
 msgstr "未提供模式匹配。"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "指定的线程数无效(%d)"
+
+#: builtin/grep.c:873
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager 仅用于工作区"
 
-#: builtin/grep.c:892
+#: builtin/grep.c:899
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached 或 --untracked 不能与 --no-index 同时使用。"
 
-#: builtin/grep.c:897
+#: builtin/grep.c:904
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index 或 --untracked 不能和版本同时使用。"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:907
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard 不能用于已跟踪内容。"
 
-#: builtin/grep.c:908
+#: builtin/grep.c:915
 msgid "both --cached and trees are given."
 msgstr "同时给出了 --cached 和树对象。"
 
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -5910,36 +6769,36 @@ msgstr ""
 "git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters] [--stdin] "
 "[--] <文件>..."
 
-#: builtin/hash-object.c:81
-msgid "git hash-object  --stdin-paths < <list-of-paths>"
-msgstr "git hash-object  --stdin-paths < <路径列表>"
+#: builtin/hash-object.c:82
+msgid "git hash-object  --stdin-paths"
+msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:92 builtin/tag.c:612
+#: builtin/hash-object.c:93
 msgid "type"
 msgstr "类型"
 
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
 msgid "object type"
 msgstr "对象类型"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "write the object into the object database"
 msgstr "将对象写入对象数据库"
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "read the object from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "store file as is without filters"
 msgstr "原样存储文件不使用过滤器"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "允许对任意随机垃圾数据做散列来创建损坏的对象以便调试 Git"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "process file as it were from this path"
 msgstr "处理文件并假设其来自于此路径"
 
@@ -5985,12 +6844,12 @@ msgstr "无法解析 emacsclient 版本。"
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "emacsclient 版本 '%d' 太老(< 22)。"
 
-#: builtin/help.c:130 builtin/help.c:158 builtin/help.c:167 builtin/help.c:175
+#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
 #, c-format
 msgid "failed to exec '%s': %s"
 msgstr "无法执行 '%s':%s"
 
-#: builtin/help.c:215
+#: builtin/help.c:205
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -5999,7 +6858,7 @@ msgstr ""
 "'%s':不支持的 man 手册查看器的路径。\n"
 "请使用 'man.<工具>.cmd'。"
 
-#: builtin/help.c:227
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -6008,188 +6867,188 @@ msgstr ""
 "'%s': 支持的 man 手册查看器命令。\n"
 "请使用 'man.<工具>.path'。"
 
-#: builtin/help.c:354
+#: builtin/help.c:334
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "'%s':未知的 man 查看器。"
 
-#: builtin/help.c:371
+#: builtin/help.c:351
 msgid "no man viewer handled the request"
 msgstr "没有 man 查看器处理此请求"
 
-#: builtin/help.c:379
+#: builtin/help.c:359
 msgid "no info viewer handled the request"
 msgstr "没有 info 查看器处理此请求"
 
-#: builtin/help.c:428
+#: builtin/help.c:408
 msgid "Defining attributes per path"
 msgstr "定义路径的属性"
 
-#: builtin/help.c:429
+#: builtin/help.c:409
 msgid "Everyday Git With 20 Commands Or So"
 msgstr "每一天 Git 常用的约 20 条命令"
 
-#: builtin/help.c:430
+#: builtin/help.c:410
 msgid "A Git glossary"
 msgstr "Git 词汇表"
 
-#: builtin/help.c:431
+#: builtin/help.c:411
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "忽略指定的未跟踪文件"
 
-#: builtin/help.c:432
+#: builtin/help.c:412
 msgid "Defining submodule properties"
 msgstr "定义子模组属性"
 
-#: builtin/help.c:433
+#: builtin/help.c:413
 msgid "Specifying revisions and ranges for Git"
 msgstr "指定 Git 的版本和版本范围"
 
-#: builtin/help.c:434
+#: builtin/help.c:414
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
 msgstr "一个 Git 教程(针对 1.5.1 或更新版本)"
 
-#: builtin/help.c:435
+#: builtin/help.c:415
 msgid "An overview of recommended workflows with Git"
 msgstr "Git 推荐的工作流概览"
 
-#: builtin/help.c:447
+#: builtin/help.c:427
 msgid "The common Git guides are:\n"
 msgstr "最常用的 Git 向导有:\n"
 
-#: builtin/help.c:468 builtin/help.c:485
+#: builtin/help.c:448 builtin/help.c:465
 #, c-format
 msgid "usage: %s%s"
 msgstr "用法:%s%s"
 
-#: builtin/help.c:501
+#: builtin/help.c:481
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "`git %s' 是 `%s' 的别名"
 
-#: builtin/index-pack.c:151
+#: builtin/index-pack.c:152
 #, c-format
 msgid "unable to open %s"
 msgstr "不能打开 %s"
 
-#: builtin/index-pack.c:201
+#: builtin/index-pack.c:202
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "%s 的对象类型不匹配"
 
-#: builtin/index-pack.c:221
+#: builtin/index-pack.c:222
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "未能获取期望的对象 %s"
 
-#: builtin/index-pack.c:224
+#: builtin/index-pack.c:225
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "对象 %s:期待类型 %s,却是 %s"
 
-#: builtin/index-pack.c:266
+#: builtin/index-pack.c:267
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "无法填充 %d 字节"
 msgstr[1] "无法填充 %d 字节"
 
-#: builtin/index-pack.c:276
+#: builtin/index-pack.c:277
 msgid "early EOF"
 msgstr "过早的文件结束符(EOF)"
 
-#: builtin/index-pack.c:277
+#: builtin/index-pack.c:278
 msgid "read error on input"
 msgstr "输入上的读错误"
 
-#: builtin/index-pack.c:289
+#: builtin/index-pack.c:290
 msgid "used more bytes than were available"
 msgstr "用掉了超过可用的字节"
 
-#: builtin/index-pack.c:296
+#: builtin/index-pack.c:297
 msgid "pack too large for current definition of off_t"
 msgstr "包太大超过了当前 off_t 的定义"
 
-#: builtin/index-pack.c:312
+#: builtin/index-pack.c:313
 #, c-format
 msgid "unable to create '%s'"
 msgstr "不能创建 '%s'"
 
-#: builtin/index-pack.c:317
+#: builtin/index-pack.c:318
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "无法打开包文件 '%s'"
 
-#: builtin/index-pack.c:331
+#: builtin/index-pack.c:332
 msgid "pack signature mismatch"
 msgstr "包签名不匹配"
 
-#: builtin/index-pack.c:333
+#: builtin/index-pack.c:334
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "不支持包版本 %<PRIu32>"
 
-#: builtin/index-pack.c:351
+#: builtin/index-pack.c:352
 #, c-format
 msgid "pack has bad object at offset %lu: %s"
 msgstr "包中有错误的对象位于 %lu:%s"
 
-#: builtin/index-pack.c:472
+#: builtin/index-pack.c:473
 #, c-format
 msgid "inflate returned %d"
 msgstr "解压缩返回 %d"
 
-#: builtin/index-pack.c:521
+#: builtin/index-pack.c:522
 msgid "offset value overflow for delta base object"
 msgstr "偏移值覆盖了 delta 基准对象"
 
-#: builtin/index-pack.c:529
+#: builtin/index-pack.c:530
 msgid "delta base offset is out of bound"
 msgstr "delta 基准偏移越界"
 
-#: builtin/index-pack.c:537
+#: builtin/index-pack.c:538
 #, c-format
 msgid "unknown object type %d"
 msgstr "未知对象类型 %d"
 
-#: builtin/index-pack.c:568
+#: builtin/index-pack.c:569
 msgid "cannot pread pack file"
 msgstr "无法读取包文件"
 
-#: builtin/index-pack.c:570
+#: builtin/index-pack.c:571
 #, c-format
 msgid "premature end of pack file, %lu byte missing"
 msgid_plural "premature end of pack file, %lu bytes missing"
 msgstr[0] "包文件过早结束,缺少 %lu 字节"
 msgstr[1] "包文件过早结束,缺少 %lu 字节"
 
-#: builtin/index-pack.c:596
+#: builtin/index-pack.c:597
 msgid "serious inflate inconsistency"
 msgstr "解压缩严重的不一致"
 
-#: builtin/index-pack.c:742 builtin/index-pack.c:748 builtin/index-pack.c:771
-#: builtin/index-pack.c:805 builtin/index-pack.c:814
+#: builtin/index-pack.c:743 builtin/index-pack.c:749 builtin/index-pack.c:772
+#: builtin/index-pack.c:806 builtin/index-pack.c:815
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "发现 %s 出现 SHA1 冲突!"
 
-#: builtin/index-pack.c:745 builtin/pack-objects.c:162
+#: builtin/index-pack.c:746 builtin/pack-objects.c:162
 #: builtin/pack-objects.c:254
 #, c-format
 msgid "unable to read %s"
 msgstr "不能读 %s"
 
-#: builtin/index-pack.c:811
+#: builtin/index-pack.c:812
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "不能读取现存对象 %s"
 
-#: builtin/index-pack.c:825
+#: builtin/index-pack.c:826
 #, c-format
 msgid "invalid blob object %s"
-msgstr "无效的数据(blob)对象 %s"
+msgstr "无效的数据对象 %s"
 
-#: builtin/index-pack.c:839
+#: builtin/index-pack.c:840
 #, c-format
 msgid "invalid %s"
 msgstr "无效的 %s"
@@ -6298,144 +7157,114 @@ msgstr "无法存储索引文件"
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "坏的 pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "指定的线程数无效(%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1658
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "没有线程支持,忽略 %s"
 
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "无法打开现存包文件 '%s'"
 
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "无法为 %s 打开包索引文件"
 
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
 #, 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:1593
+#: builtin/index-pack.c:1594
 #, 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:1622
+#: builtin/index-pack.c:1624
 msgid "Cannot come back to cwd"
 msgstr "无法返回当前工作目录"
 
-#: builtin/index-pack.c:1670 builtin/index-pack.c:1673
-#: builtin/index-pack.c:1685 builtin/index-pack.c:1689
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
 #, c-format
 msgid "bad %s"
 msgstr "错误选项 %s"
 
-#: builtin/index-pack.c:1703
+#: builtin/index-pack.c:1709
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin 不能和 --stdin 同时使用"
 
-#: builtin/index-pack.c:1707 builtin/index-pack.c:1716
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
-msgstr "包名 '%s' 没有以 '.pack' 结尾"
+msgstr "包文件名 '%s' 没有以 '.pack' 结尾"
 
-#: builtin/index-pack.c:1724
+#: builtin/index-pack.c:1730
 msgid "--verify with no packfile name given"
-msgstr "--verify 没有提供包名参数"
-
-#: builtin/init-db.c:35
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr "不能设置 %s 为组可写"
+msgstr "--verify 没有提供包文件名参数"
 
-#: builtin/init-db.c:62
-#, c-format
-msgid "insanely long template name %s"
-msgstr "太长的模版名 %s"
-
-#: builtin/init-db.c:67
+#: builtin/init-db.c:55
 #, c-format
 msgid "cannot stat '%s'"
 msgstr "不能枚举 '%s' 状态"
 
-#: builtin/init-db.c:73
+#: builtin/init-db.c:61
 #, c-format
 msgid "cannot stat template '%s'"
 msgstr "不能枚举模版 '%s' 状态"
 
-#: builtin/init-db.c:80
+#: builtin/init-db.c:66
 #, c-format
 msgid "cannot opendir '%s'"
 msgstr "不能打开目录 '%s'"
 
-#: builtin/init-db.c:97
+#: builtin/init-db.c:77
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "不能读取链接 '%s'"
 
-#: builtin/init-db.c:99
-#, c-format
-msgid "insanely long symlink %s"
-msgstr "太长的符号链接 %s"
-
-#: builtin/init-db.c:102
+#: builtin/init-db.c:79
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "不能自 '%s' 到 '%s' 创建符号链接"
 
-#: builtin/init-db.c:106
+#: builtin/init-db.c:85
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "不能拷贝 '%s' 至 '%s'"
 
-#: builtin/init-db.c:110
+#: builtin/init-db.c:89
 #, c-format
 msgid "ignoring template %s"
 msgstr "忽略模版 %s"
 
-#: builtin/init-db.c:136
-#, c-format
-msgid "insanely long template path %s"
-msgstr "太长的模版路径 %s"
-
-#: builtin/init-db.c:144
+#: builtin/init-db.c:118
 #, c-format
 msgid "templates not found %s"
 msgstr "模版未找到 %s"
 
-#: builtin/init-db.c:157
+#: builtin/init-db.c:131
 #, c-format
 msgid "not copying templates of a wrong format version %d from '%s'"
 msgstr "没有从 '%2$s' 复制带有错误版本 %1$d 的模版"
 
-#: builtin/init-db.c:211
-#, c-format
-msgid "insane git directory %s"
-msgstr "不正常的 git 目录 %s"
-
-#: builtin/init-db.c:343 builtin/init-db.c:346
+#: builtin/init-db.c:309 builtin/init-db.c:312
 #, c-format
 msgid "%s already exists"
 msgstr "%s 已经存在"
 
-#: builtin/init-db.c:374
+#: builtin/init-db.c:340
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "不能处理 %d 类型的文件"
 
-#: builtin/init-db.c:377
+#: builtin/init-db.c:343
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "不能移动 %s 至 %s"
@@ -6443,25 +7272,25 @@ msgstr "不能移动 %s 至 %s"
 #. TRANSLATORS: The first '%s' is either "Reinitialized
 #. existing" or "Initialized empty", the second " shared" or
 #. "", and the last '%s%s' is the verbatim directory name.
-#: builtin/init-db.c:433
+#: builtin/init-db.c:399
 #, c-format
 msgid "%s%s Git repository in %s%s\n"
-msgstr "%s%s Git 版本库于 %s%s\n"
+msgstr "%s%s Git 库于 %s%s\n"
 
-#: builtin/init-db.c:434
+#: builtin/init-db.c:400
 msgid "Reinitialized existing"
 msgstr "重新初始化现存的"
 
-#: builtin/init-db.c:434
+#: builtin/init-db.c:400
 msgid "Initialized empty"
 msgstr "初始化空的"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/init-db.c:435
+#: builtin/init-db.c:401
 msgid " shared"
 msgstr "共享"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:448
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -6469,466 +7298,519 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<模板目录>] [--shared[=<权限>]] "
 "[<目录>]"
 
-#: builtin/init-db.c:505
+#: builtin/init-db.c:471
 msgid "permissions"
 msgstr "权限"
 
-#: builtin/init-db.c:506
+#: builtin/init-db.c:472
 msgid "specify that the git repository is to be shared amongst several users"
-msgstr "指定 git 版本库是多个用户之间共享的"
+msgstr "指定 git 库是多个用户之间共享的"
 
-#: builtin/init-db.c:508 builtin/prune-packed.c:57 builtin/repack.c:171
-msgid "be quiet"
-msgstr "保持安静"
-
-#: builtin/init-db.c:540 builtin/init-db.c:545
+#: builtin/init-db.c:506 builtin/init-db.c:511
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "不能创建目录 %s"
 
-#: builtin/init-db.c:549
+#: builtin/init-db.c:515
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "不能切换目录到 %s"
 
-#: builtin/init-db.c:570
+#: builtin/init-db.c:536
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
 "dir=<directory>)"
 msgstr "不允许 %s(或 --work-tree=<目录>)而没有指定 %s(或 --git-dir=<目录>)"
 
-#: builtin/init-db.c:598
+#: builtin/init-db.c:564
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "不能访问工作区 '%s'"
 
 #: builtin/interpret-trailers.c:15
 msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
 msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <键>[(=|:)<值>])...] [<文件"
-">...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <键>[(=|:)<值"
+">])...] [<文件>...]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "在原位编辑文件"
 
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:27
 msgid "trim empty trailers"
 msgstr "删除空签名"
 
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
 msgid "trailer"
 msgstr "签名"
 
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
 msgid "trailer(s) to add"
 msgstr "要添加的签名"
 
-#: builtin/log.c:41
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "没有给出要原位编辑的文件"
+
+#: builtin/log.c:43
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]"
 
-#: builtin/log.c:42
+#: builtin/log.c:44
 msgid "git show [<options>] <object>..."
 msgstr "git show [<选项>] <对象>..."
 
-#: builtin/log.c:81
+#: builtin/log.c:83
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "无效的 --decorate 选项:%s"
 
-#: builtin/log.c:127
+#: builtin/log.c:131
 msgid "suppress diff output"
 msgstr "不显示差异输出"
 
-#: builtin/log.c:128
+#: builtin/log.c:132
 msgid "show source"
 msgstr "显示源"
 
-#: builtin/log.c:129
+#: builtin/log.c:133
 msgid "Use mail map file"
 msgstr "使用邮件映射文件"
 
-#: builtin/log.c:130
+#: builtin/log.c:134
 msgid "decorate options"
 msgstr "修饰选项"
 
-#: builtin/log.c:133
+#: builtin/log.c:137
 msgid "Process line range n,m in file, counting from 1"
 msgstr "处理文件中第 n 到 m 之间的行,从 1 开始"
 
-#: builtin/log.c:229
+#: builtin/log.c:233
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "最终输出:%d %s\n"
 
-#: builtin/log.c:458
+#: builtin/log.c:465
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: 损坏的文件"
 
-#: builtin/log.c:472 builtin/log.c:564
+#: builtin/log.c:479 builtin/log.c:572
 #, c-format
 msgid "Could not read object %s"
 msgstr "不能读取对象 %s"
 
-#: builtin/log.c:588
+#: builtin/log.c:596
 #, c-format
 msgid "Unknown type: %d"
 msgstr "未知类型:%d"
 
-#: builtin/log.c:689
+#: builtin/log.c:715
 msgid "format.headers without value"
 msgstr "format.headers 没有值"
 
-#: builtin/log.c:773
+#: builtin/log.c:801
 msgid "name of output directory is too long"
 msgstr "输出目录名太长"
 
-#: builtin/log.c:789
+#: builtin/log.c:816
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "无法打开补丁文件 %s"
 
-#: builtin/log.c:803
+#: builtin/log.c:830
 msgid "Need exactly one range."
 msgstr "只需要一个范围。"
 
-#: builtin/log.c:813
+#: builtin/log.c:840
 msgid "Not a range."
 msgstr "不是一个范围。"
 
-#: builtin/log.c:919
+#: builtin/log.c:946
 msgid "Cover letter needs email format"
 msgstr "信封需要邮件地址格式"
 
-#: builtin/log.c:998
+#: builtin/log.c:1025
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "不正常的 in-reply-to:%s"
 
-#: builtin/log.c:1026
+#: builtin/log.c:1053
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<选项>] [<从> | <版本范围>]"
 
-#: builtin/log.c:1071
+#: builtin/log.c:1098
 msgid "Two output directories?"
 msgstr "两个输出目录?"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1214
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "使用 [PATCH n/m],即使只有一个补丁"
 
-#: builtin/log.c:1189
+#: builtin/log.c:1217
 msgid "use [PATCH] even with multiple patches"
 msgstr "使用 [PATCH],即使有多个补丁"
 
-#: builtin/log.c:1193
+#: builtin/log.c:1221
 msgid "print patches to standard out"
 msgstr "打印补丁到标准输出"
 
-#: builtin/log.c:1195
+#: builtin/log.c:1223
 msgid "generate a cover letter"
 msgstr "生成一封附信"
 
-#: builtin/log.c:1197
+#: builtin/log.c:1225
 msgid "use simple number sequence for output file names"
 msgstr "使用简单的数字序列作为输出文件名"
 
-#: builtin/log.c:1198
+#: builtin/log.c:1226
 msgid "sfx"
 msgstr "后缀"
 
-#: builtin/log.c:1199
+#: builtin/log.c:1227
 msgid "use <sfx> instead of '.patch'"
 msgstr "使用 <后缀> 代替 '.patch'"
 
-#: builtin/log.c:1201
+#: builtin/log.c:1229
 msgid "start numbering patches at <n> instead of 1"
 msgstr "补丁以 <n> 开始编号,而不是1"
 
-#: builtin/log.c:1203
+#: builtin/log.c:1231
 msgid "mark the series as Nth re-roll"
 msgstr "标记补丁系列是第几次重制"
 
-#: builtin/log.c:1205
+#: builtin/log.c:1233
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "使用 [<前缀>] 代替 [PATCH]"
 
-#: builtin/log.c:1208
+#: builtin/log.c:1236
 msgid "store resulting files in <dir>"
 msgstr "把结果文件存储在 <目录>"
 
-#: builtin/log.c:1211
+#: builtin/log.c:1239
 msgid "don't strip/add [PATCH]"
 msgstr "不删除/添加 [PATCH]"
 
-#: builtin/log.c:1214
+#: builtin/log.c:1242
 msgid "don't output binary diffs"
 msgstr "不输出二进制差异"
 
-#: builtin/log.c:1216
+#: builtin/log.c:1244
+msgid "output all-zero hash in From header"
+msgstr "在 From 头信息中输出全为零的哈希值"
+
+#: builtin/log.c:1246
 msgid "don't include a patch matching a commit upstream"
 msgstr "不包含已在上游提交中的补丁"
 
-#: builtin/log.c:1218
+#: builtin/log.c:1248
 msgid "show patch format instead of default (patch + stat)"
 msgstr "显示纯补丁格式而非默认的(补丁+状态)"
 
-#: builtin/log.c:1220
+#: builtin/log.c:1250
 msgid "Messaging"
 msgstr "邮件发送"
 
-#: builtin/log.c:1221
+#: builtin/log.c:1251
 msgid "header"
 msgstr "header"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1252
 msgid "add email header"
 msgstr "添加邮件头"
 
-#: builtin/log.c:1223 builtin/log.c:1225
+#: builtin/log.c:1253 builtin/log.c:1255
 msgid "email"
 msgstr "邮件地址"
 
-#: builtin/log.c:1223
+#: builtin/log.c:1253
 msgid "add To: header"
 msgstr "添加收件人"
 
-#: builtin/log.c:1225
+#: builtin/log.c:1255
 msgid "add Cc: header"
 msgstr "添加抄送"
 
-#: builtin/log.c:1227
+#: builtin/log.c:1257
 msgid "ident"
 msgstr "标识"
 
-#: builtin/log.c:1228
+#: builtin/log.c:1258
 msgid "set From address to <ident> (or committer ident if absent)"
-msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者ID做为地址)"
+msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)"
 
-#: builtin/log.c:1230
+#: builtin/log.c:1260
 msgid "message-id"
 msgstr "邮件标识"
 
-#: builtin/log.c:1231
+#: builtin/log.c:1261
 msgid "make first mail a reply to <message-id>"
 msgstr "使第一封邮件作为对 <邮件标识> 的回复"
 
-#: builtin/log.c:1232 builtin/log.c:1235
+#: builtin/log.c:1262 builtin/log.c:1265
 msgid "boundary"
 msgstr "边界"
 
-#: builtin/log.c:1233
+#: builtin/log.c:1263
 msgid "attach the patch"
 msgstr "附件方式添加补丁"
 
-#: builtin/log.c:1236
+#: builtin/log.c:1266
 msgid "inline the patch"
 msgstr "内联显示补丁"
 
-#: builtin/log.c:1240
+#: builtin/log.c:1270
 msgid "enable message threading, styles: shallow, deep"
 msgstr "启用邮件线索,风格:浅,深"
 
-#: builtin/log.c:1242
+#: builtin/log.c:1272
 msgid "signature"
 msgstr "签名"
 
-#: builtin/log.c:1243
+#: builtin/log.c:1273
 msgid "add a signature"
 msgstr "添加一个签名"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1275
 msgid "add a signature from a file"
 msgstr "从文件添加一个签名"
 
-#: builtin/log.c:1246
+#: builtin/log.c:1276
 msgid "don't print the patch filenames"
 msgstr "不要打印补丁文件名"
 
-#: builtin/log.c:1320
-#, c-format
-msgid "invalid ident line: %s"
-msgstr "包含无效的身份标识:%s"
-
-#: builtin/log.c:1335
+#: builtin/log.c:1365
 msgid "-n and -k are mutually exclusive."
 msgstr "-n 和 -k 互斥。"
 
-#: builtin/log.c:1337
+#: builtin/log.c:1367
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix 和 -k 互斥。"
 
-#: builtin/log.c:1345
+#: builtin/log.c:1375
 msgid "--name-only does not make sense"
 msgstr "--name-only 无意义"
 
-#: builtin/log.c:1347
+#: builtin/log.c:1377
 msgid "--name-status does not make sense"
 msgstr "--name-status 无意义"
 
-#: builtin/log.c:1349
+#: builtin/log.c:1379
 msgid "--check does not make sense"
 msgstr "--check 无意义"
 
-#: builtin/log.c:1372
+#: builtin/log.c:1407
 msgid "standard output, or directory, which one?"
 msgstr "标准输出或目录,哪一个?"
 
-#: builtin/log.c:1374
+#: builtin/log.c:1409
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1506
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "无法读取签名文件 '%s'"
 
-#: builtin/log.c:1535
+#: builtin/log.c:1569
 msgid "Failed to create output files"
 msgstr "无法创建输出文件"
 
-#: builtin/log.c:1583
+#: builtin/log.c:1617
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]"
 
-#: builtin/log.c:1637
+#: builtin/log.c:1671
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "不能找到跟踪的远程分支,请手工指定 <上游>。\n"
 
-#: builtin/log.c:1648 builtin/log.c:1650 builtin/log.c:1662
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
 #, c-format
 msgid "Unknown commit %s"
 msgstr "未知提交 %s"
 
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<选项>] [<文件>...]"
 
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
 msgid "identify the file status with tags"
 msgstr "用标签标识文件的状态"
 
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr "使用小写字母表示 '假设未改变的' 文件"
 
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
 msgid "show cached files in the output (default)"
 msgstr "显示缓存的文件(默认)"
 
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
 msgid "show deleted files in the output"
 msgstr "显示已删除的文件"
 
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
 msgid "show modified files in the output"
 msgstr "显示已修改的文件"
 
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
 msgid "show other files in the output"
 msgstr "显示其它文件"
 
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
 msgid "show ignored files in the output"
 msgstr "显示忽略的文件"
 
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
 msgid "show staged contents' object name in the output"
 msgstr "显示暂存区内容的对象名称"
 
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
 msgid "show files on the filesystem that need to be removed"
 msgstr "显示文件系统需要删除的文件"
 
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
 msgid "show 'other' directories' names only"
 msgstr "只显示“其他”目录的名称"
 
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "显示文件换行符格式"
+
+#: builtin/ls-files.c:450
 msgid "don't show empty directories"
 msgstr "不显示空目录"
 
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
 msgid "show unmerged files in the output"
 msgstr "显示未合并的文件"
 
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
 msgid "show resolve-undo information"
 msgstr "显示 resolve-undo 信息"
 
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
 msgid "skip files matching pattern"
 msgstr "匹配排除文件的模式"
 
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
 msgid "exclude patterns are read from <file>"
 msgstr "从 <文件> 中读取排除模式"
 
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "从 <文件> 读取额外的每个目录的排除模式"
 
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
 msgid "add the standard git exclusions"
 msgstr "添加标准的 git 排除"
 
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
 msgid "make the output relative to the project top directory"
 msgstr "显示相对于顶级目录的文件名"
 
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "如果任何 <文件> 都不在索引区,视为错误"
 
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
 msgid "tree-ish"
 msgstr "树或提交"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr "假装自从 <树或提交> 之后删除的路径仍然存在"
 
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
 msgid "show debugging data"
 msgstr "显示调试数据"
 
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"                     [-q | --quiet] [--exit-code] [--get-url]\n"
+"                     [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"                     [-q | --quiet] [--exit-code] [--get-url]\n"
+"                     [--symref] [<仓库> [<引用>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "不打印远程 URL"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exec"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "远程主机上的 git-upload-pack 路径"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "仅限于标签"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "仅限于分支"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "不显示已解析的标签"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "参考 url.<base>.insteadOf 设置"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "若未找到匹配的引用则以退出码2退出"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "除了显示指向的对象外,显示指向的引用名"
+
 #: builtin/ls-tree.c:28
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]"
 
-#: builtin/ls-tree.c:127
+#: builtin/ls-tree.c:128
 msgid "only show trees"
 msgstr "只显示树"
 
-#: builtin/ls-tree.c:129
+#: builtin/ls-tree.c:130
 msgid "recurse into subtrees"
 msgstr "递归到子树"
 
-#: builtin/ls-tree.c:131
+#: builtin/ls-tree.c:132
 msgid "show trees when recursing"
 msgstr "当递归时显示树"
 
-#: builtin/ls-tree.c:134
+#: builtin/ls-tree.c:135
 msgid "terminate entries with NUL byte"
-msgstr "条目以NUL字符终止"
+msgstr "条目以 NUL 字符终止"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:136
 msgid "include object size"
 msgstr "包括对象大小"
 
-#: builtin/ls-tree.c:137 builtin/ls-tree.c:139
+#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
 msgid "list only filenames"
 msgstr "只列出文件名"
 
-#: builtin/ls-tree.c:142
+#: builtin/ls-tree.c:143
 msgid "use full path names"
 msgstr "使用文件的全路径"
 
-#: builtin/ls-tree.c:144
+#: builtin/ls-tree.c:145
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "列出整个树;不仅仅当前目录(隐含 --full-name)"
 
@@ -6963,31 +7845,31 @@ msgstr "可用的策略有:"
 msgid "Available custom strategies are:"
 msgstr "可用的自定义策略有:"
 
-#: builtin/merge.c:193
+#: builtin/merge.c:193 builtin/pull.c:123
 msgid "do not show a diffstat at the end of the merge"
 msgstr "在合并的最后不显示差异统计"
 
-#: builtin/merge.c:196
+#: builtin/merge.c:196 builtin/pull.c:126
 msgid "show a diffstat at the end of the merge"
 msgstr "在合并的最后显示差异统计"
 
-#: builtin/merge.c:197
+#: builtin/merge.c:197 builtin/pull.c:129
 msgid "(synonym to --stat)"
 msgstr "(和 --stat 同义)"
 
-#: builtin/merge.c:199
+#: builtin/merge.c:199 builtin/pull.c:132
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "在合并提交信息中添加(最多 <n> 条)精简提交记录"
 
-#: builtin/merge.c:202
+#: builtin/merge.c:202 builtin/pull.c:135
 msgid "create a single commit instead of doing a merge"
 msgstr "创建一个单独的提交而不是做一次合并"
 
-#: builtin/merge.c:204
+#: builtin/merge.c:204 builtin/pull.c:138
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "如果合并成功,执行一次提交(默认)"
 
-#: builtin/merge.c:206
+#: builtin/merge.c:206 builtin/pull.c:141
 msgid "edit message before committing"
 msgstr "在提交前编辑提交说明"
 
@@ -6995,7 +7877,7 @@ msgstr "在提交前编辑提交说明"
 msgid "allow fast-forward (default)"
 msgstr "允许快进(默认)"
 
-#: builtin/merge.c:209
+#: builtin/merge.c:209 builtin/pull.c:147
 msgid "abort if fast-forward is not possible"
 msgstr "如果不能快进就放弃合并"
 
@@ -7003,19 +7885,20 @@ msgstr "如果不能快进就放弃合并"
 msgid "Verify that the named commit has a valid GPG signature"
 msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
 
-#: builtin/merge.c:214 builtin/notes.c:753 builtin/revert.c:89
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
+#: builtin/revert.c:89
 msgid "strategy"
 msgstr "策略"
 
-#: builtin/merge.c:215
+#: builtin/merge.c:215 builtin/pull.c:153
 msgid "merge strategy to use"
 msgstr "要使用的合并策略"
 
-#: builtin/merge.c:216
+#: builtin/merge.c:216 builtin/pull.c:156
 msgid "option=value"
 msgstr "option=value"
 
-#: builtin/merge.c:217
+#: builtin/merge.c:217 builtin/pull.c:157
 msgid "option for selected merge strategy"
 msgstr "所选的合并策略的选项"
 
@@ -7054,6 +7937,12 @@ msgstr " (无可压缩)"
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "压缩提交 -- 未更新 HEAD\n"
 
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
+#, c-format
+msgid "Could not write to '%s'"
+msgstr "不能写入 '%s'"
+
 #: builtin/merge.c:372
 msgid "Writing SQUASH_MSG"
 msgstr "写入 SQUASH_MSG"
@@ -7067,45 +7956,41 @@ msgstr "完成 SQUASH_MSG"
 msgid "No merge message -- not updating HEAD\n"
 msgstr "无合并信息 -- 未更新 HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:448
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' 没有指向一个提交"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:538
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "坏的 branch.%s.mergeoptions 字符串:%s"
 
-#: builtin/merge.c:632
-msgid "git write-tree failed to write a tree"
-msgstr "git write-tree 无法写入一树对象"
-
-#: builtin/merge.c:656
+#: builtin/merge.c:657
 msgid "Not handling anything other than two heads merge."
 msgstr "不能处理两个头合并之外的任何操作。"
 
-#: builtin/merge.c:670
+#: builtin/merge.c:671
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "merge-recursive 的未知选项:-X%s"
 
-#: builtin/merge.c:683
+#: builtin/merge.c:684
 #, c-format
 msgid "unable to write %s"
 msgstr "不能写 %s"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:773
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "不能从 '%s' 读取"
 
-#: builtin/merge.c:781
+#: builtin/merge.c:782
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr "未提交合并,使用 'git commit' 完成此次合并。\n"
 
-#: builtin/merge.c:787
+#: builtin/merge.c:788
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -7119,52 +8004,52 @@ msgstr ""
 "\n"
 "以 '%c' 开头的行将被忽略,而且空提交说明将会终止提交。\n"
 
-#: builtin/merge.c:811
+#: builtin/merge.c:812
 msgid "Empty commit message."
 msgstr "空提交信息。"
 
-#: builtin/merge.c:823
+#: builtin/merge.c:824
 #, c-format
 msgid "Wonderful.\n"
 msgstr "太棒了。\n"
 
-#: builtin/merge.c:878
+#: builtin/merge.c:879
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr "自动合并失败,修正冲突然后提交修正的结果。\n"
 
-#: builtin/merge.c:894
+#: builtin/merge.c:895
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "'%s' 不是一个提交"
 
-#: builtin/merge.c:935
+#: builtin/merge.c:936
 msgid "No current branch."
 msgstr "没有当前分支。"
 
-#: builtin/merge.c:937
+#: builtin/merge.c:938
 msgid "No remote for the current branch."
-msgstr "当前分支没有对应的远程版本库。"
+msgstr "当前分支没有对应的远程库。"
 
-#: builtin/merge.c:939
+#: builtin/merge.c:940
 msgid "No default upstream defined for the current branch."
 msgstr "当前分支没有定义默认的上游分支。"
 
-#: builtin/merge.c:944
+#: builtin/merge.c:945
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "对于 %s 没有来自 %s 的远程跟踪分支"
 
-#: builtin/merge.c:1081
+#: builtin/merge.c:1080
 #, c-format
 msgid "could not close '%s'"
 msgstr "不能关闭 '%s'"
 
-#: builtin/merge.c:1208
+#: builtin/merge.c:1207
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "没有要终止的合并(MERGE_HEAD 丢失)。"
 
-#: builtin/merge.c:1224
+#: builtin/merge.c:1223
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7172,11 +8057,7 @@ msgstr ""
 "您尚未结束您的合并(存在 MERGE_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1227 git-pull.sh:74
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。"
-
-#: builtin/merge.c:1231
+#: builtin/merge.c:1230
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7184,100 +8065,100 @@ msgstr ""
 "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n"
 "请在合并前先提交您的修改。"
 
-#: builtin/merge.c:1234
+#: builtin/merge.c:1233
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。"
 
-#: builtin/merge.c:1243
+#: builtin/merge.c:1242
 msgid "You cannot combine --squash with --no-ff."
 msgstr "您不能将 --squash 与 --no-ff 同时使用。"
 
-#: builtin/merge.c:1251
+#: builtin/merge.c:1250
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "未指定提交并且 merge.defaultToUpstream 未设置。"
 
-#: builtin/merge.c:1268
+#: builtin/merge.c:1267
 msgid "Squash commit into empty head not supported yet"
 msgstr "尚不支持到空分支的压缩提交"
 
-#: builtin/merge.c:1270
+#: builtin/merge.c:1269
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "到空分支的非快进式提交没有意义"
 
-#: builtin/merge.c:1276
+#: builtin/merge.c:1275
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - 不能被合并"
 
-#: builtin/merge.c:1278
+#: builtin/merge.c:1277
 msgid "Can merge only exactly one commit into empty head"
 msgstr "只能将一个提交合并到空分支上"
 
-#: builtin/merge.c:1333
+#: builtin/merge.c:1332
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1336
+#: builtin/merge.c:1335
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。"
 
-#: builtin/merge.c:1339
+#: builtin/merge.c:1338
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "提交 %s 没有一个 GPG 签名。"
 
-#: builtin/merge.c:1342
+#: builtin/merge.c:1341
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n"
 
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "更新 %s..%s\n"
 
-#: builtin/merge.c:1462
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "尝试非常小的索引内合并...\n"
 
-#: builtin/merge.c:1469
+#: builtin/merge.c:1468
 #, c-format
 msgid "Nope.\n"
 msgstr "无。\n"
 
-#: 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"
@@ -7320,7 +8201,7 @@ msgstr "第一个是其他的祖先提交么?"
 
 #: builtin/merge-base.c:222
 msgid "find where <commit> forked from reflog of <ref>"
-msgstr "æ\9f¥æ\89¾ <æ\8f\90交> ä»\8e<å¼\95ç\94¨>æ\97¥å¿\97ç\9a\84ä½\95å¤\84å\88\86æ\94¯ç\9a\84"
+msgstr "æ ¹æ\8d® <å¼\95ç\94¨> ç\9a\84å¼\95ç\94¨æ\97¥å¿\97æ\9f¥æ\89¾ <æ\8f\90交> ç\9a\84æ´¾ç\94\9få¤\84"
 
 #: builtin/merge-file.c:8
 msgid ""
@@ -7362,19 +8243,19 @@ msgstr "不要警告冲突"
 msgid "set labels for file1/orig-file/file2"
 msgstr "为 文件1/初始文件/文件2 设置标签"
 
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
 msgid "input is NUL terminated"
 msgstr "输入以 NUL 字符终止"
 
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
 msgid "allow missing objects"
 msgstr "允许丢失的对象"
 
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
 msgid "allow creation of more than one tree"
 msgstr "允许创建一个以上的树"
 
@@ -7382,139 +8263,139 @@ msgstr "允许创建一个以上的树"
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<选项>] <源>... <目标>"
 
-#: builtin/mv.c:69
+#: builtin/mv.c:70
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "目录 %s 在索引中并且不是子模组?"
 
-#: builtin/mv.c:71
+#: builtin/mv.c:72
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr "请将您的修改存到 .gitmodules 中或保存进度后再继续"
+msgstr "请将您的修改存到 .gitmodules 中或保存进度后再继续"
 
-#: builtin/mv.c:89
+#: builtin/mv.c:90
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s 在索引中"
 
-#: builtin/mv.c:111
+#: builtin/mv.c:112
 msgid "force move/rename even if target exists"
 msgstr "强制移动/重命令,即使目标存在"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:113
 msgid "skip move/rename errors"
 msgstr "跳过移动/重命名错误"
 
-#: builtin/mv.c:151
+#: builtin/mv.c:152
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "目标 '%s' 不是一个目录"
 
-#: builtin/mv.c:162
+#: builtin/mv.c:163
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "检查 '%s' 到 '%s' 的重命名\n"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:167
 msgid "bad source"
 msgstr "坏的源"
 
-#: builtin/mv.c:169
+#: builtin/mv.c:170
 msgid "can not move directory into itself"
 msgstr "不能将目录移动到自身"
 
-#: builtin/mv.c:172
+#: builtin/mv.c:173
 msgid "cannot move directory over file"
 msgstr "不能将目录移动到文件"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:182
 msgid "source directory is empty"
 msgstr "源目录为空"
 
-#: builtin/mv.c:206
+#: builtin/mv.c:207
 msgid "not under version control"
 msgstr "不在版本控制之下"
 
-#: builtin/mv.c:209
+#: builtin/mv.c:210
 msgid "destination exists"
 msgstr "目标已存在"
 
-#: builtin/mv.c:217
+#: builtin/mv.c:218
 #, c-format
 msgid "overwriting '%s'"
 msgstr "覆盖 '%s'"
 
-#: builtin/mv.c:220
+#: builtin/mv.c:221
 msgid "Cannot overwrite"
 msgstr "不能覆盖"
 
-#: builtin/mv.c:223
+#: builtin/mv.c:224
 msgid "multiple sources for the same target"
 msgstr "同一目标具有多个源"
 
-#: builtin/mv.c:225
+#: builtin/mv.c:226
 msgid "destination directory does not exist"
 msgstr "目标目录不存在"
 
-#: builtin/mv.c:232
+#: builtin/mv.c:233
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s,源=%s,目标=%s"
 
-#: builtin/mv.c:253
+#: builtin/mv.c:254
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "重命名 %s 至 %s\n"
 
-#: builtin/mv.c:256 builtin/remote.c:725 builtin/repack.c:361
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "重命名 '%s' 失败"
 
-#: builtin/name-rev.c:255
+#: builtin/name-rev.c:251
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<选项>] <提交>..."
 
-#: builtin/name-rev.c:256
+#: builtin/name-rev.c:252
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<选项>] --all"
 
-#: builtin/name-rev.c:257
+#: builtin/name-rev.c:253
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<选项>] --stdin"
 
-#: builtin/name-rev.c:309
+#: builtin/name-rev.c:305
 msgid "print only names (no SHA-1)"
 msgstr "只打印名称(无 SHA-1)"
 
-#: builtin/name-rev.c:310
+#: builtin/name-rev.c:306
 msgid "only use tags to name the commits"
-msgstr "只使用 tags 来命名提交"
+msgstr "只使用标签来命名提交"
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:308
 msgid "only use refs matching <pattern>"
 msgstr "只使用和 <模式> 相匹配的引用"
 
-#: builtin/name-rev.c:314
+#: builtin/name-rev.c:310
 msgid "list all commits reachable from all refs"
 msgstr "列出可以从所有引用访问的提交"
 
-#: builtin/name-rev.c:315
+#: builtin/name-rev.c:311
 msgid "read from stdin"
 msgstr "从标准输入读取"
 
-#: builtin/name-rev.c:316
+#: builtin/name-rev.c:312
 msgid "allow to print `undefined` names (default)"
 msgstr "允许打印 `未定义` 的名称(默认)"
 
-#: builtin/name-rev.c:322
+#: builtin/name-rev.c:318
 msgid "dereference tags in the input (internal use)"
-msgstr "反向解析输入中的 tags(内部使用)"
+msgstr "反向解析输入中的标签(内部使用)"
 
-#: builtin/notes.c:24
+#: builtin/notes.c:25
 msgid "git notes [--ref <notes-ref>] [list [<object>]]"
 msgstr "git notes [--ref <注解引用>] [list [<对象>]]"
 
-#: builtin/notes.c:25
+#: builtin/notes.c:26
 msgid ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
 "| (-c | -C) <object>] [<object>]"
@@ -7522,11 +8403,11 @@ msgstr ""
 "git notes [--ref <注解引用>] add [-f] [--allow-empty] [-m <说明> | -F <文件> "
 "| (-c | -C) <对象>] [<对象>]"
 
-#: builtin/notes.c:26
+#: builtin/notes.c:27
 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
 msgstr "git notes [--ref <注解引用>] copy [-f] <源对象> <目标对象>"
 
-#: builtin/notes.c:27
+#: builtin/notes.c:28
 msgid ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
 "(-c | -C) <object>] [<object>]"
@@ -7534,243 +8415,228 @@ msgstr ""
 "git notes [--ref <注解引用>] append [--allow-empty] [-m <说明> | -F <文件> | "
 "(-c | -C) <对象>] [<对象>]"
 
-#: builtin/notes.c:28
+#: builtin/notes.c:29
 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
 msgstr "git notes [--ref <注解引用>] edit [--allow-empty] [<对象>]"
 
-#: builtin/notes.c:29
+#: builtin/notes.c:30
 msgid "git notes [--ref <notes-ref>] show [<object>]"
 msgstr "git notes [--ref <注解引用>] show [<对象>]"
 
-#: builtin/notes.c:30
+#: builtin/notes.c:31
 msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr "git notes [--ref <注解引用>] merge [-v | -q] [-s <策略> ] <注解引用>"
 
-#: builtin/notes.c:31
+#: builtin/notes.c:32
 msgid "git notes merge --commit [-v | -q]"
 msgstr "git notes merge --commit [-v | -q]"
 
-#: builtin/notes.c:32
+#: builtin/notes.c:33
 msgid "git notes merge --abort [-v | -q]"
 msgstr "git notes merge --abort [-v | -q]"
 
-#: builtin/notes.c:33
+#: builtin/notes.c:34
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <注解引用>] remove [<对象>...]"
 
-#: builtin/notes.c:34
+#: builtin/notes.c:35
 msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
 msgstr "git notes [--ref <注解引用>] prune [-n | -v]"
 
-#: builtin/notes.c:35
+#: builtin/notes.c:36
 msgid "git notes [--ref <notes-ref>] get-ref"
 msgstr "git notes [--ref <注解引用>] get-ref"
 
-#: builtin/notes.c:40
+#: builtin/notes.c:41
 msgid "git notes [list [<object>]]"
 msgstr "git notes [list [<对象>]]"
 
-#: builtin/notes.c:45
+#: builtin/notes.c:46
 msgid "git notes add [<options>] [<object>]"
 msgstr "git notes add [<选项>] [<对象>]"
 
-#: builtin/notes.c:50
+#: builtin/notes.c:51
 msgid "git notes copy [<options>] <from-object> <to-object>"
 msgstr "git notes copy [<选项>] <源对象> <目标对象>"
 
-#: builtin/notes.c:51
+#: builtin/notes.c:52
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
 msgstr "git notes copy --stdin [<源对象> <目标对象>]..."
 
-#: builtin/notes.c:56
+#: builtin/notes.c:57
 msgid "git notes append [<options>] [<object>]"
 msgstr "git notes append [<选项>] [<对象>]"
 
-#: builtin/notes.c:61
+#: builtin/notes.c:62
 msgid "git notes edit [<object>]"
 msgstr "git notes edit [<对象>]"
 
-#: builtin/notes.c:66
+#: builtin/notes.c:67
 msgid "git notes show [<object>]"
 msgstr "git notes show [<对象>]"
 
-#: builtin/notes.c:71
+#: builtin/notes.c:72
 msgid "git notes merge [<options>] <notes-ref>"
 msgstr "git notes merge [<选项>] <注解引用>"
 
-#: builtin/notes.c:72
+#: builtin/notes.c:73
 msgid "git notes merge --commit [<options>]"
 msgstr "git notes merge --commit [<选项>]"
 
-#: builtin/notes.c:73
+#: builtin/notes.c:74
 msgid "git notes merge --abort [<options>]"
 msgstr "git notes merge --abort [<选项>]"
 
-#: builtin/notes.c:78
+#: builtin/notes.c:79
 msgid "git notes remove [<object>]"
 msgstr "git notes remove [<对象>]"
 
-#: builtin/notes.c:83
+#: builtin/notes.c:84
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<选项>]"
 
-#: builtin/notes.c:88
+#: builtin/notes.c:89
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:146
+#: builtin/notes.c:147
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "不能为对象 '%s' 开始 'show'"
 
-#: builtin/notes.c:150
+#: builtin/notes.c:151
 msgid "could not read 'show' output"
 msgstr "不能读取 'show' 的输出"
 
-#: builtin/notes.c:158
+#: builtin/notes.c:159
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "无法为对象 '%s' 完成 'show'"
 
-#: builtin/notes.c:173 builtin/tag.c:477
+#: builtin/notes.c:174 builtin/tag.c:248
 #, c-format
 msgid "could not create file '%s'"
 msgstr "不能创建文件 '%s'"
 
-#: builtin/notes.c:192
+#: builtin/notes.c:193
 msgid "Please supply the note contents using either -m or -F option"
 msgstr "请通过 -m 或 -F 选项为注解提供内容"
 
-#: builtin/notes.c:201
+#: builtin/notes.c:202
 msgid "unable to write note object"
 msgstr "不能写注解对象"
 
-#: builtin/notes.c:203
+#: builtin/notes.c:204
 #, c-format
 msgid "The note contents have been left in %s"
 msgstr "注解内容被留在 %s 中"
 
-#: builtin/notes.c:231 builtin/tag.c:693
+#: builtin/notes.c:232 builtin/tag.c:440
 #, c-format
 msgid "cannot read '%s'"
 msgstr "不能读取 '%s'"
 
-#: builtin/notes.c:233 builtin/tag.c:696
+#: builtin/notes.c:234 builtin/tag.c:443
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "不能打开或读取 '%s'"
 
-#: builtin/notes.c:252 builtin/notes.c:303 builtin/notes.c:305
-#: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:506
-#: builtin/notes.c:511 builtin/notes.c:589 builtin/notes.c:652
-#: builtin/notes.c:854 builtin/tag.c:709
+#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "无法解析 '%s' 为一个有效引用。"
 
-#: builtin/notes.c:255
+#: builtin/notes.c:256
 #, c-format
 msgid "Failed to read object '%s'."
 msgstr "无法读取对象 '%s'。"
 
-#: builtin/notes.c:259
+#: builtin/notes.c:260
 #, c-format
 msgid "Cannot read note data from non-blob object '%s'."
 msgstr "不能从非数据对象 '%s' 中读取注解数据"
 
-#: builtin/notes.c:299
-#, c-format
-msgid "Malformed input line: '%s'."
-msgstr "非法的输入行:'%s'。"
-
-#: builtin/notes.c:314
-#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
-msgstr "无法从 '%s' 到 '%s' 拷贝注解"
-
-#: builtin/notes.c:358 builtin/notes.c:413 builtin/notes.c:489
-#: builtin/notes.c:501 builtin/notes.c:577 builtin/notes.c:645
-#: builtin/notes.c:919
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
 msgid "too many parameters"
 msgstr "参数太多"
 
-#: builtin/notes.c:371 builtin/notes.c:658
+#: builtin/notes.c:375 builtin/notes.c:662
 #, c-format
 msgid "No note found for object %s."
 msgstr "未发现对象 %s 的注解。"
 
-#: builtin/notes.c:392 builtin/notes.c:555
+#: builtin/notes.c:396 builtin/notes.c:559
 msgid "note contents as a string"
 msgstr "注解内容作为一个字符串"
 
-#: builtin/notes.c:395 builtin/notes.c:558
+#: builtin/notes.c:399 builtin/notes.c:562
 msgid "note contents in a file"
 msgstr "注解内容到一个文件中"
 
-#: builtin/notes.c:397 builtin/notes.c:400 builtin/notes.c:560
-#: builtin/notes.c:563 builtin/tag.c:628
-msgid "object"
-msgstr "对象"
-
-#: builtin/notes.c:398 builtin/notes.c:561
+#: builtin/notes.c:402 builtin/notes.c:565
 msgid "reuse and edit specified note object"
 msgstr "重用和编辑指定的注解对象"
 
-#: builtin/notes.c:401 builtin/notes.c:564
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "reuse specified note object"
 msgstr "重用指定的注解对象"
 
-#: builtin/notes.c:404 builtin/notes.c:567
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "allow storing empty note"
 msgstr "允许保存空白注释"
 
-#: builtin/notes.c:405 builtin/notes.c:476
+#: builtin/notes.c:409 builtin/notes.c:480
 msgid "replace existing notes"
 msgstr "替换已存在的注解"
 
-#: builtin/notes.c:430
+#: builtin/notes.c:434
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能添加注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:445 builtin/notes.c:524
+#: builtin/notes.c:449 builtin/notes.c:528
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "覆盖对象 %s 现存注解\n"
 
-#: builtin/notes.c:456 builtin/notes.c:617 builtin/notes.c:859
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "删除对象 %s 的注解\n"
 
-#: builtin/notes.c:477
+#: builtin/notes.c:481
 msgid "read objects from stdin"
 msgstr "从标准输入读取对象"
 
-#: builtin/notes.c:479
+#: builtin/notes.c:483
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "重新加载 <命令> 的配置(隐含 --stdin)"
 
-#: builtin/notes.c:497
+#: builtin/notes.c:501
 msgid "too few parameters"
 msgstr "参数太少"
 
-#: builtin/notes.c:518
+#: builtin/notes.c:522
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
 "existing notes"
 msgstr "不能拷贝注解。发现对象 %s 已存在注解。使用 '-f' 覆盖现存注解"
 
-#: builtin/notes.c:530
+#: builtin/notes.c:534
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
 msgstr "源对象 %s 缺少注解。不能拷贝。"
 
-#: builtin/notes.c:582
+#: builtin/notes.c:586
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -7779,244 +8645,241 @@ msgstr ""
 "子命令 'edit' 的选项 -m/-F/-c/-C 已弃用。\n"
 "请换用 'git notes add -f -m/-F/-c/-C'。\n"
 
-#: builtin/notes.c:750
+#: builtin/notes.c:767
 msgid "General options"
 msgstr "通用选项"
 
-#: builtin/notes.c:752
+#: builtin/notes.c:769
 msgid "Merge options"
 msgstr "合并选项"
 
-#: builtin/notes.c:754
+#: builtin/notes.c:771
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
 msgstr "使用指定的策略解决注解冲突 (manual/ours/theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:756
+#: builtin/notes.c:773
 msgid "Committing unmerged notes"
 msgstr "提交未合并的注解"
 
-#: builtin/notes.c:758
+#: builtin/notes.c:775
 msgid "finalize notes merge by committing unmerged notes"
 msgstr "通过提交未合并的注解来完成注解合并"
 
-#: builtin/notes.c:760
+#: builtin/notes.c:777
 msgid "Aborting notes merge resolution"
 msgstr "中止注解合并的方案"
 
-#: builtin/notes.c:762
+#: builtin/notes.c:779
 msgid "abort notes merge"
 msgstr "中止注解合并"
 
-#: builtin/notes.c:857
+#: builtin/notes.c:856
+#, c-format
+msgid "A notes merge into %s is already in-progress at %s"
+msgstr "一个到 %s 的注解合并已经在 %s 执行中"
+
+#: builtin/notes.c:883
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "对象 %s 没有注解\n"
 
-#: builtin/notes.c:869
+#: builtin/notes.c:895
 msgid "attempt to remove non-existent note is not an error"
 msgstr "尝试删除不存在的注解不是一个错误"
 
-#: builtin/notes.c:872
+#: builtin/notes.c:898
 msgid "read object names from the standard input"
 msgstr "从标准输入读取对象名称"
 
-#: builtin/notes.c:953
+#: builtin/notes.c:979
 msgid "notes-ref"
 msgstr "注解引用"
 
-#: builtin/notes.c:954
+#: builtin/notes.c:980
 msgid "use notes from <notes-ref>"
 msgstr "从 <注解引用> 使用注解"
 
-#: builtin/notes.c:989 builtin/remote.c:1618
+#: builtin/notes.c:1015 builtin/remote.c:1626
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "未知子命令:%s"
 
 #: builtin/pack-objects.c:28
-msgid "git pack-objects --stdout [options...] [< ref-list | < object-list]"
-msgstr "git pack-objects --stdout [选项...] [< 引用列表 | < 对象列表]"
+msgid ""
+"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
 
 #: builtin/pack-objects.c:29
-msgid "git pack-objects [options...] base-name [< ref-list | < object-list]"
-msgstr "git pack-objects [选项...] base-name [< 引用列表 | < 对象列表]"
+msgid ""
+"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects [<选项>...] <base-name> [< <引用列表> | < <对象列表>]"
 
 #: builtin/pack-objects.c:175 builtin/pack-objects.c:178
 #, c-format
 msgid "deflate error (%d)"
 msgstr "压缩错误 (%d)"
 
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
 msgid "Writing objects"
 msgstr "写入对象中"
 
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "禁用 bitmap 写入,因为一些对象将不会被打包"
 
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
 msgid "Compressing objects"
 msgstr "压缩对象中"
 
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
 #, c-format
 msgid "unsupported index version %s"
 msgstr "不支持的索引版本 %s"
 
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
 #, c-format
 msgid "bad index version '%s'"
 msgstr "坏的索引版本 '%s'"
 
-#: builtin/pack-objects.c:2595
-#, c-format
-msgid "option %s does not accept negative form"
-msgstr "选项 %s 不接受否定格式"
-
-#: builtin/pack-objects.c:2599
-#, c-format
-msgid "unable to parse value '%s' for option %s"
-msgstr "不能解析选项 %1$s 的值 '%2$s'"
-
-#: builtin/pack-objects.c:2619
+#: builtin/pack-objects.c:2592
 msgid "do not show progress meter"
 msgstr "不显示进度表"
 
-#: builtin/pack-objects.c:2621
+#: builtin/pack-objects.c:2594
 msgid "show progress meter"
 msgstr "显示进度表"
 
-#: builtin/pack-objects.c:2623
+#: builtin/pack-objects.c:2596
 msgid "show progress meter during object writing phase"
 msgstr "在对象写入阶段显示进度表"
 
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2599
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "当进度表显示时类似于 --all-progress"
 
-#: builtin/pack-objects.c:2627
+#: builtin/pack-objects.c:2600
 msgid "version[,offset]"
 msgstr "版本[,偏移]"
 
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2601
 msgid "write the pack index file in the specified idx format version"
 msgstr "用指定的 idx 格式版本来写包索引文件"
 
-#: builtin/pack-objects.c:2631
+#: builtin/pack-objects.c:2604
 msgid "maximum size of each output pack file"
 msgstr "每个输出包的最大尺寸"
 
-#: builtin/pack-objects.c:2633
+#: builtin/pack-objects.c:2606
 msgid "ignore borrowed objects from alternate object store"
-msgstr "忽略从替代对象存储里借用对象"
+msgstr "忽略从备用对象存储里借用对象"
 
-#: builtin/pack-objects.c:2635
+#: builtin/pack-objects.c:2608
 msgid "ignore packed objects"
 msgstr "忽略包对象"
 
-#: builtin/pack-objects.c:2637
+#: builtin/pack-objects.c:2610
 msgid "limit pack window by objects"
 msgstr "限制打包窗口的对象数"
 
-#: builtin/pack-objects.c:2639
+#: builtin/pack-objects.c:2612
 msgid "limit pack window by memory in addition to object limit"
 msgstr "除对象数量限制外设置打包窗口的内存限制"
 
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2614
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "打包允许的 delta 链的最大长度"
 
-#: builtin/pack-objects.c:2643
+#: builtin/pack-objects.c:2616
 msgid "reuse existing deltas"
 msgstr "重用已存在的 deltas"
 
-#: builtin/pack-objects.c:2645
+#: builtin/pack-objects.c:2618
 msgid "reuse existing objects"
 msgstr "重用已存在的对象"
 
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2620
 msgid "use OFS_DELTA objects"
 msgstr "使用 OFS_DELTA 对象"
 
-#: builtin/pack-objects.c:2649
+#: builtin/pack-objects.c:2622
 msgid "use threads when searching for best delta matches"
 msgstr "使用线程查询最佳 delta 匹配"
 
-#: builtin/pack-objects.c:2651
+#: builtin/pack-objects.c:2624
 msgid "do not create an empty pack output"
 msgstr "不创建空的包输出"
 
-#: builtin/pack-objects.c:2653
+#: builtin/pack-objects.c:2626
 msgid "read revision arguments from standard input"
 msgstr "从标准输入读取版本号参数"
 
-#: builtin/pack-objects.c:2655
+#: builtin/pack-objects.c:2628
 msgid "limit the objects to those that are not yet packed"
 msgstr "限制那些尚未打包的对象"
 
-#: builtin/pack-objects.c:2658
+#: builtin/pack-objects.c:2631
 msgid "include objects reachable from any reference"
 msgstr "包括可以从任何引用访问到的对象"
 
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2634
 msgid "include objects referred by reflog entries"
 msgstr "包括被引用日志引用到的对象"
 
-#: builtin/pack-objects.c:2664
+#: builtin/pack-objects.c:2637
 msgid "include objects referred to by the index"
 msgstr "包括被索引引用到的对象"
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2640
 msgid "output pack to stdout"
 msgstr "输出包到标准输出"
 
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2642
 msgid "include tag objects that refer to objects to be packed"
-msgstr "包括引用了打包对象的 tag"
+msgstr "包括那些引用了待打包对象的标签对象"
 
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2644
 msgid "keep unreachable objects"
 msgstr "维持不可达的对象"
 
-#: builtin/pack-objects.c:2672 parse-options.h:139
+#: builtin/pack-objects.c:2645 parse-options.h:142
 msgid "time"
 msgstr "时间"
 
-#: builtin/pack-objects.c:2673
+#: builtin/pack-objects.c:2646
 msgid "unpack unreachable objects newer than <time>"
 msgstr "将比给定 <时间> 新的无法访问的对象解包"
 
-#: builtin/pack-objects.c:2676
+#: builtin/pack-objects.c:2649
 msgid "create thin packs"
 msgstr "创建精简包"
 
-#: builtin/pack-objects.c:2678
+#: builtin/pack-objects.c:2651
 msgid "create packs suitable for shallow fetches"
-msgstr "创建适合浅克隆版本库获取的包"
+msgstr "创建适合浅克隆库获取的包"
 
-#: builtin/pack-objects.c:2680
+#: builtin/pack-objects.c:2653
 msgid "ignore packs that have companion .keep file"
 msgstr "忽略配有 .keep 文件的包"
 
-#: builtin/pack-objects.c:2682
+#: builtin/pack-objects.c:2655
 msgid "pack compression level"
 msgstr "打包压缩级别"
 
-#: builtin/pack-objects.c:2684
+#: builtin/pack-objects.c:2657
 msgid "do not hide commits by grafts"
 msgstr "显示被嫁接隐藏的提交"
 
-#: builtin/pack-objects.c:2686
+#: builtin/pack-objects.c:2659
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "使用 bitmap 索引(如果有的话)以提高对象计数时的速度"
 
-#: builtin/pack-objects.c:2688
+#: builtin/pack-objects.c:2661
 msgid "write a bitmap index together with the pack index"
 msgstr "在建立包索引的同时创建 bitmap 索引"
 
-#: builtin/pack-objects.c:2779
+#: builtin/pack-objects.c:2752
 msgid "Counting objects"
 msgstr "对象计数中"
 
@@ -8044,31 +8907,186 @@ msgstr "正在删除重复对象"
 msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--expire <时间>] [--] [<头>...]"
 
-#: builtin/prune.c:105 builtin/worktree.c:112
+#: builtin/prune.c:105 builtin/worktree.c:124
 msgid "do not remove, show only"
 msgstr "不删除,只显示"
 
-#: builtin/prune.c:106 builtin/worktree.c:113
+#: builtin/prune.c:106 builtin/worktree.c:125
 msgid "report pruned objects"
 msgstr "报告清除的对象"
 
-#: builtin/prune.c:109 builtin/worktree.c:115
+#: builtin/prune.c:109 builtin/worktree.c:127
 msgid "expire objects older than <time>"
 msgstr "使早于给定时间的对象过期"
 
-#: builtin/push.c:14
+#: builtin/prune.c:123
+msgid "cannot prune in a precious-objects repo"
+msgstr "不能在珍品仓库中执行清理操作"
+
+#: builtin/pull.c:72
+msgid "git pull [<options>] [<repository> [<refspec>...]]"
+msgstr "git pull [<选项>] [<仓库> [<引用规格>...]]"
+
+#: builtin/pull.c:117
+msgid "Options related to merging"
+msgstr "和合并相关的选项"
+
+#: builtin/pull.c:120
+msgid "incorporate changes by rebasing rather than merging"
+msgstr "使用变基操作取代合并操作以合入修改"
+
+#: builtin/pull.c:144 builtin/revert.c:105
+msgid "allow fast-forward"
+msgstr "允许快进式"
+
+#: builtin/pull.c:150
+msgid "verify that the named commit has a valid GPG signature"
+msgstr "验证指定的提交是否包含一个有效的 GPG 签名"
+
+#: builtin/pull.c:164
+msgid "Options related to fetching"
+msgstr "和获取相关的参数"
+
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "并发拉取的子模组的数量"
+
+#: builtin/pull.c:275
+#, c-format
+msgid "Invalid value for pull.ff: %s"
+msgstr "pull.ff 的取值无效:%s"
+
+#: builtin/pull.c:359
+msgid "Cannot pull with rebase: You have unstaged changes."
+msgstr "无法通过变基方式拉取:您有未暂存的变更。"
+
+#: builtin/pull.c:365
+msgid "Additionally, your index contains uncommitted changes."
+msgstr "而且您的索引中包含未提交的变更。"
+
+#: builtin/pull.c:367
+msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+msgstr "无法通过变基方式拉取:您的索引中包含未提交的变更。"
+
+#: builtin/pull.c:443
+msgid ""
+"There is no candidate for rebasing against among the refs that you just "
+"fetched."
+msgstr "在您刚刚获取到的引用中没有变基操作的候选。"
+
+#: builtin/pull.c:445
+msgid ""
+"There are no candidates for merging among the refs that you just fetched."
+msgstr "在您刚刚获取到的引用中没有合并操作的候选。"
+
+#: builtin/pull.c:446
+msgid ""
+"Generally this means that you provided a wildcard refspec which had no\n"
+"matches on the remote end."
+msgstr "通常这意味着您提供了一个通配符引用规格但未能和远端匹配。"
+
+#: builtin/pull.c:449
+#, c-format
+msgid ""
+"You asked to pull from the remote '%s', but did not specify\n"
+"a branch. Because this is not the default configured remote\n"
+"for your current branch, you must specify a branch on the command line."
+msgstr ""
+"您要求从远程 '%s' 拉取,但是未指定一个分支。因为这不是当前\n"
+"分支默认的远程仓库,您必须在命令行中指定一个分支名。"
+
+#: builtin/pull.c:454
+msgid "You are not currently on a branch."
+msgstr "您当前不在一个分支上。"
+
+#: builtin/pull.c:456 builtin/pull.c:471
+msgid "Please specify which branch you want to rebase against."
+msgstr "请指定您要变基到哪一个分支。"
+
+#: builtin/pull.c:458 builtin/pull.c:473
+msgid "Please specify which branch you want to merge with."
+msgstr "请指定您要合并哪一个分支。"
+
+#: builtin/pull.c:459 builtin/pull.c:474
+msgid "See git-pull(1) for details."
+msgstr "详见 git-pull(1)。"
+
+#: builtin/pull.c:469
+msgid "There is no tracking information for the current branch."
+msgstr "当前分支没有跟踪信息。"
+
+#: builtin/pull.c:478
+#, c-format
+msgid ""
+"If you wish to set tracking information for this branch you can do so with:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+msgstr ""
+"如果您想要为此分支创建跟踪信息,您可以执行:\n"
+"\n"
+"    git branch --set-upstream-to=%s/<branch> %s\n"
+
+#: builtin/pull.c:483
+#, c-format
+msgid ""
+"Your configuration specifies to merge with the ref '%s'\n"
+"from the remote, but no such ref was fetched."
+msgstr ""
+"您的配置中指定要合并远程的引用 '%s',\n"
+"但是没有获取到这个引用。"
+
+#: builtin/pull.c:841
+msgid "Updating an unborn branch with changes added to the index."
+msgstr "更新尚未诞生的分支,变更添加至索引。"
+
+#: builtin/pull.c:870
+#, c-format
+msgid ""
+"fetch updated the current branch head.\n"
+"fast-forwarding your working tree from\n"
+"commit %s."
+msgstr ""
+"fetch 更新了当前的分支。快进您的工作区\n"
+"至提交 %s。"
+
+#: builtin/pull.c:875
+#, c-format
+msgid ""
+"Cannot fast-forward your working tree.\n"
+"After making sure that you saved anything precious from\n"
+"$ git diff %s\n"
+"output, run\n"
+"$ git reset --hard\n"
+"to recover."
+msgstr ""
+"您当前的工作区无法执行快进操作。\n"
+"首先执行如下命令:\n"
+"$ git diff %s\n"
+"以确认所有有用的数据均已保存。然后执行下面的命令\n"
+"$ git reset --hard\n"
+"恢复之前的状态。"
+
+#: builtin/pull.c:890
+msgid "Cannot merge multiple branches into empty head."
+msgstr "无法将多个分支合并到空分支。"
+
+#: builtin/pull.c:894
+msgid "Cannot rebase onto multiple branches."
+msgstr "无法变基到多个分支。"
+
+#: builtin/push.c:16
 msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr "git push [<选项>] [<版本库> [<引用规则>...]]"
+msgstr "git push [<选项>] [<仓库> [<引用规格>...]]"
 
-#: builtin/push.c:85
+#: builtin/push.c:89
 msgid "tag shorthand without <tag>"
-msgstr "tag 后面未提供 <标签> 参数"
+msgstr "标签后面未提供 <标签> 参数"
 
-#: builtin/push.c:95
+#: builtin/push.c:99
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete 只接受简单的目标引用名"
 
-#: builtin/push.c:139
+#: builtin/push.c:143
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -8076,7 +9094,7 @@ msgstr ""
 "\n"
 "为了永久地选择任一选项,参见 'git help config' 中的 push.default。"
 
-#: builtin/push.c:142
+#: builtin/push.c:146
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -8100,7 +9118,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:157
+#: builtin/push.c:161
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -8114,7 +9132,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<远程分支名字>\n"
 
-#: builtin/push.c:171
+#: builtin/push.c:175
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -8127,12 +9145,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:179
+#: builtin/push.c:183
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "当前分支 %s 有多个上游分支,拒绝推送。"
 
-#: builtin/push.c:182
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -8142,56 +9160,12 @@ msgstr ""
 "您正推送至远程 '%s'(其并非当前分支 '%s' 的上游),\n"
 "而没有告诉我要推送什么、更新哪个远程分支。"
 
-#  译者:字符串首行行首要添加“warning: ”字串,故此首行要较其余行短
-#: builtin/push.c:205
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-"  git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-"  git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching'\n"
-"变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:\n"
-"\n"
-"  git config --global push.default matching\n"
-"\n"
-"若要不再显示本信息并从现在开始采用新的使用习惯,设置:\n"
-"\n"
-"  git config --global push.default simple\n"
-"\n"
-"当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有\n"
-"本地分支。\n"
-"\n"
-"从 Git 2.0 开始,Git 缺省采用更为保守的 'simple' 模式,只推送当前\n"
-"分支到远程关联的同名分支,即 'git push' 推送当前分支。\n"
-"\n"
-"参见 'git help config' 并查找 'push.default' 以获取更多信息。\n"
-"('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,\n"
-"为保持兼容,请用 'current' 代替 'simple')"
-
-#: builtin/push.c:272
+#: builtin/push.c:242
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr "您没有为推送指定任何引用规,并且 push.default 为 \"nothing\"。"
+msgstr "您没有为推送指定任何引用规,并且 push.default 为 \"nothing\"。"
 
-#: builtin/push.c:279
+#: builtin/push.c:249
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8202,7 +9176,7 @@ msgstr ""
 "再次推送前,先与远程变更合并(如 'git pull ...')。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:285
+#: builtin/push.c:255
 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"
@@ -8213,7 +9187,7 @@ msgstr ""
 "检出该分支并整合远程变更(如 'git pull ...'),然后再推送。详见\n"
 "'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:291
+#: builtin/push.c:261
 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"
@@ -8221,16 +9195,16 @@ msgid ""
 "(e.g., 'git pull ...') before pushing again.\n"
 "See the 'Note about fast-forwards' in 'git push --help' for details."
 msgstr ""
-"更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外\n"
-"一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更\n"
+"更新被拒绝,因为远程库包含您本地尚不存在的提交。这通常是因为另外\n"
+"一个库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更\n"
 "(如 'git pull ...')。\n"
 "详见 'git push --help' 中的 'Note about fast-forwards' 小节。"
 
-#: builtin/push.c:298
+#: builtin/push.c:268
 msgid "Updates were rejected because the tag already exists in the remote."
-msgstr "更新被拒绝因为 tag 在远程已经存在。"
+msgstr "更新被拒绝,因为该标签在远程已经存在。"
 
-#: builtin/push.c:301
+#: builtin/push.c:271
 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"
@@ -8239,22 +9213,22 @@ msgstr ""
 "如果不使用 '--force' 参数,您不能更新一个指向非提交对象的远程引用,\n"
 "也不能更新远程引用让其指向一个非提交对象。\n"
 
-#: builtin/push.c:360
+#: builtin/push.c:331
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "推送到 %s\n"
 
-#: builtin/push.c:364
+#: builtin/push.c:335
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "无法推送一些引用到 '%s'"
 
-#: builtin/push.c:394
+#: builtin/push.c:365
 #, c-format
 msgid "bad repository '%s'"
-msgstr "坏的版本库 '%s'"
+msgstr "坏的库 '%s'"
 
-#: builtin/push.c:395
+#: builtin/push.c:366
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -8267,119 +9241,120 @@ msgid ""
 "    git push <name>\n"
 msgstr ""
 "没有配置推送目标。\n"
-"或通过命令行指定URL,或用下面命令配置一个远程版本库\n"
+"或通过命令行指定 URL,或用下面命令配置一个远程仓库\n"
 "\n"
 "    git remote add <名称> <地址>\n"
 "\n"
-"然后使用该远程版本库名执行推送\n"
+"然后使用该远程库名执行推送\n"
 "\n"
 "    git push <名称>\n"
 
-#: builtin/push.c:410
+#: builtin/push.c:381
 msgid "--all and --tags are incompatible"
 msgstr "--all 和 --tags 不兼容"
 
-#: builtin/push.c:411
+#: builtin/push.c:382
 msgid "--all can't be combined with refspecs"
-msgstr "--all 不能和引用规同时使用"
+msgstr "--all 不能和引用规同时使用"
 
-#: builtin/push.c:416
+#: builtin/push.c:387
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror 和 --tags 不兼容"
 
-#: builtin/push.c:417
+#: builtin/push.c:388
 msgid "--mirror can't be combined with refspecs"
-msgstr "--mirror 不能和引用规同时使用"
+msgstr "--mirror 不能和引用规同时使用"
 
-#: builtin/push.c:422
+#: builtin/push.c:393
 msgid "--all and --mirror are incompatible"
 msgstr "--all 和 --mirror 不兼容"
 
-#: builtin/push.c:502
+#: builtin/push.c:505
 msgid "repository"
-msgstr "版本库"
+msgstr "库"
 
-#: builtin/push.c:503
+#: builtin/push.c:506 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "推送所有引用"
 
-#: builtin/push.c:504
+#: builtin/push.c:507 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "镜像所有引用"
 
-#: builtin/push.c:506
+#: builtin/push.c:509
 msgid "delete refs"
 msgstr "删除引用"
 
-#: builtin/push.c:507
+#: builtin/push.c:510
 msgid "push tags (can't be used with --all or --mirror)"
-msgstr "推送 tags(不能使用 --all or --mirror)"
+msgstr "推送标签(不能使用 --all or --mirror)"
 
-#: builtin/push.c:510
+#: builtin/push.c:513 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "强制更新"
 
-#: builtin/push.c:512
+#: builtin/push.c:515 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "引用名>:<期望值"
 
-#: builtin/push.c:513
+#: builtin/push.c:516 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "要求引用旧的取值为设定值"
 
-#: builtin/push.c:516
+#: builtin/push.c:519
 msgid "control recursive pushing of submodules"
 msgstr "控制子模组的递归推送"
 
-#: builtin/push.c:518
+#: builtin/push.c:521 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "使用精简打包"
 
-#: builtin/push.c:519 builtin/push.c:520
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
+#: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "接收包程序"
 
-#: builtin/push.c:521
+#: builtin/push.c:524
 msgid "set upstream for git pull/status"
 msgstr "设置 git pull/status 的上游"
 
-#: builtin/push.c:524
+#: builtin/push.c:527
 msgid "prune locally removed refs"
 msgstr "清除本地删除的引用"
 
-#: builtin/push.c:526
+#: builtin/push.c:529
 msgid "bypass pre-push hook"
 msgstr "绕过 pre-push 钩子"
 
-#: builtin/push.c:527
+#: builtin/push.c:530
 msgid "push missing but relevant tags"
-msgstr "推送缺失的有关的 tags"
+msgstr "推送缺失但有关的标签"
 
-#: builtin/push.c:529
+#: builtin/push.c:533 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "用 GPG 为推送签名"
 
-#: builtin/push.c:530
+#: builtin/push.c:535 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "需要远端支持原子事务"
 
-#: builtin/push.c:539
+#: builtin/push.c:549
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete 与 --all、--mirror 及 --tags 不兼容"
 
-#: builtin/push.c:541
+#: builtin/push.c:551
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete 未接任何引用没有意义"
 
 #: builtin/read-tree.c:37
 msgid ""
-"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] "
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
 "index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
 msgstr ""
-"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<前缀>] [-"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<前缀>) [-"
 "u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
-"index-output=<文件>] (--empty | <树或提交1> [<树或提交2> [<树或提交3>]])"
+"index-output=<文件>] (--empty | <树对象1> [<树对象2> [<树对象3>]])"
 
 #: builtin/read-tree.c:110
 msgid "write resulting index to <file>"
@@ -8399,11 +9374,11 @@ msgstr "读取之余再执行一个合并"
 
 #: builtin/read-tree.c:119
 msgid "3-way merge if no file level merging required"
-msgstr "如果没有文件级合并需要,执行三合并"
+msgstr "如果没有文件级合并需要,执行三合并"
 
 #: builtin/read-tree.c:121
 msgid "3-way merge in presence of adds and removes"
-msgstr "存在添加和删除时,也执行三合并"
+msgstr "存在添加和删除时,也执行三合并"
 
 #: builtin/read-tree.c:123
 msgid "same as -m, but discard unmerged entries"
@@ -8445,12 +9420,12 @@ msgstr "跳过应用稀疏检出过滤器"
 msgid "debug unpack-trees"
 msgstr "调试 unpack-trees"
 
-#: builtin/reflog.c:430
+#: builtin/reflog.c:423
 #, c-format
-msgid "%s' for '%s' is not a valid timestamp"
+msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "'%2$s' 的值 '%1$s' 不是一个有效的时间戳"
 
-#: builtin/reflog.c:547 builtin/reflog.c:552
+#: builtin/reflog.c:540 builtin/reflog.c:545
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' 不是一个有效的时间戳"
@@ -8467,15 +9442,15 @@ msgstr ""
 "git remote add [-t <分支>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <名称> <地址>"
 
-#: builtin/remote.c:14 builtin/remote.c:33
+#: builtin/remote.c:14 builtin/remote.c:34
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <旧名称> <新名称>"
 
-#: builtin/remote.c:15 builtin/remote.c:38
+#: builtin/remote.c:15 builtin/remote.c:39
 msgid "git remote remove <name>"
 msgstr "git remote remove <名称>"
 
-#: builtin/remote.c:16 builtin/remote.c:43
+#: builtin/remote.c:16 builtin/remote.c:44
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <名称> (-a | --auto | -d | --delete | <分支>)"
 
@@ -8496,48 +9471,52 @@ msgstr "git remote [-v | --verbose] update [-p | --prune] [(<组> | <远程>)...
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <名称> <分支>..."
 
-#: builtin/remote.c:21 builtin/remote.c:69
+#: builtin/remote.c:21 builtin/remote.c:70
+msgid "git remote get-url [--push] [--all] <name>"
+msgstr "git remote get-url [--push] [--all] <名称>"
+
+#: builtin/remote.c:22 builtin/remote.c:75
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <名称> <新的地址> [<旧的地址>]"
 
-#: builtin/remote.c:22 builtin/remote.c:70
+#: builtin/remote.c:23 builtin/remote.c:76
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <名称> <新的地址>"
 
-#: builtin/remote.c:23 builtin/remote.c:71
+#: builtin/remote.c:24 builtin/remote.c:77
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <名称> <地址>"
 
-#: builtin/remote.c:28
+#: builtin/remote.c:29
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<选项>] <名称> <地址>"
 
-#: builtin/remote.c:48
+#: builtin/remote.c:49
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <名称> <分支>..."
 
-#: builtin/remote.c:49
+#: builtin/remote.c:50
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <名称> <分支>..."
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<选项>] <名称>"
 
-#: builtin/remote.c:59
+#: builtin/remote.c:60
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<选项>] <名称>"
 
-#: builtin/remote.c:64
+#: builtin/remote.c:65
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<选项>] [<组> | <远程>]..."
 
-#: builtin/remote.c:88
+#: builtin/remote.c:94
 #, c-format
 msgid "Updating %s"
 msgstr "更新 %s 中"
 
-#: builtin/remote.c:120
+#: builtin/remote.c:126
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -8545,132 +9524,107 @@ msgstr ""
 "--mirror 选项危险且过时,请使用 --mirror=fetch\n"
 "\t 或 --mirror=push"
 
-#: builtin/remote.c:137
+#: builtin/remote.c:143
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "未知的镜像参数:%s"
 
-#: builtin/remote.c:153
+#: builtin/remote.c:159
 msgid "fetch the remote branches"
 msgstr "抓取远程的分支"
 
-#: builtin/remote.c:155
+#: builtin/remote.c:161
 msgid "import all tags and associated objects when fetching"
-msgstr "抓取时导入所有的 tags 和关联对象"
+msgstr "抓取时导入所有的标签和关联对象"
 
-#: builtin/remote.c:158
+#: builtin/remote.c:164
 msgid "or do not fetch any tag at all (--no-tags)"
-msgstr "或不抓取任何 tag(--no-tags)"
+msgstr "或不抓取任何标签(--no-tags)"
 
-#: builtin/remote.c:160
+#: builtin/remote.c:166
 msgid "branch(es) to track"
 msgstr "跟踪的分支"
 
-#: builtin/remote.c:161
+#: builtin/remote.c:167
 msgid "master branch"
 msgstr "主线分支"
 
-#: builtin/remote.c:162
+#: builtin/remote.c:168
 msgid "push|fetch"
 msgstr "push|fetch"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:169
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "把远程设置为用以推送或抓取的镜像"
 
-#: builtin/remote.c:175
+#: builtin/remote.c:181
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "指定一个 master 分支并使用 --mirror 选项没有意义"
 
-#: builtin/remote.c:177
+#: builtin/remote.c:183
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "指定要跟踪的分支只在与获取镜像同时使用才有意义"
 
-#: builtin/remote.c:187 builtin/remote.c:640
+#: builtin/remote.c:190 builtin/remote.c:633
 #, c-format
 msgid "remote %s already exists."
 msgstr "远程 %s 已经存在。"
 
-#: builtin/remote.c:191 builtin/remote.c:644
+#: builtin/remote.c:194 builtin/remote.c:637
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' 不是一个有效的远程名称"
 
-#: builtin/remote.c:235
+#: builtin/remote.c:234
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "无法设置 master '%s'"
 
-#: builtin/remote.c:335
+#: builtin/remote.c:336
 #, c-format
 msgid "Could not get fetch map for refspec %s"
-msgstr "无法得到引用规 %s 的获取列表"
+msgstr "无法得到引用规 %s 的获取列表"
 
-#: builtin/remote.c:436 builtin/remote.c:444
+#: builtin/remote.c:437 builtin/remote.c:445
 msgid "(matching)"
 msgstr "(匹配)"
 
-#: builtin/remote.c:448
+#: builtin/remote.c:449
 msgid "(delete)"
 msgstr "(删除)"
 
-#: builtin/remote.c:589 builtin/remote.c:595 builtin/remote.c:601
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "不能添加 '%s' 至 '%s'"
-
-#: builtin/remote.c:633 builtin/remote.c:792 builtin/remote.c:892
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
 #, c-format
 msgid "No such remote: %s"
 msgstr "没有这样的远程:%s"
 
-#: builtin/remote.c:650
+#: builtin/remote.c:643
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "不能重命名配置小节 '%s' 到 '%s'"
 
-#: builtin/remote.c:656 builtin/remote.c:844
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "不能移除配置小节 '%s'"
-
-#: builtin/remote.c:671
+#: builtin/remote.c:663
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
 "\t%s\n"
 "\tPlease update the configuration manually if necessary."
 msgstr ""
-"没有更新非默认的获取引用规\n"
+"没有更新非默认的获取引用规\n"
 "\t%s\n"
 "\t如果必要请手动更新配置。"
 
-#: builtin/remote.c:677
-#, c-format
-msgid "Could not append '%s'"
-msgstr "不能追加 '%s'"
-
-#: builtin/remote.c:688
-#, c-format
-msgid "Could not set '%s'"
-msgstr "不能设置 '%s'"
-
-#: builtin/remote.c:710
+#: builtin/remote.c:699
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "删除 '%s' 失败"
 
-#: builtin/remote.c:744
+#: builtin/remote.c:733
 #, c-format
 msgid "creating '%s' failed"
 msgstr "创建 '%s' 失败"
 
-#: builtin/remote.c:763
-#, c-format
-msgid "Could not remove branch %s"
-msgstr "无法移除分支 %s"
-
-#: builtin/remote.c:830
+#: builtin/remote.c:796
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -8680,126 +9634,131 @@ msgid_plural ""
 msgstr[0] "注意:ref/remotes 层级之外的一个分支未被移除。要删除它,使用:"
 msgstr[1] "注意:ref/remotes 层级之外的一些分支未被移除。要删除它们,使用:"
 
-#: builtin/remote.c:945
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "不能移除配置小节 '%s'"
+
+#: builtin/remote.c:911
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " 新的(下一次获取将存储于 remotes/%s)"
 
-#: builtin/remote.c:948
+#: builtin/remote.c:914
 msgid " tracked"
 msgstr " 已跟踪"
 
-#: builtin/remote.c:950
+#: builtin/remote.c:916
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " 过时(使用 'git remote prune' 来移除)"
 
-#: builtin/remote.c:952
+#: builtin/remote.c:918
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:993
+#: builtin/remote.c:959
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "无效的 branch.%s.merge,不能变基到一个以上的分支"
 
-#: builtin/remote.c:1000
+#: builtin/remote.c:967
 #, c-format
-msgid "rebases onto remote %s"
-msgstr "变基到远程 %s"
+msgid "rebases interactively onto remote %s"
+msgstr "交互式变基到远程 %s"
 
-#: builtin/remote.c:1003
+#: builtin/remote.c:971
 #, c-format
 msgid " merges with remote %s"
 msgstr " 与远程 %s 合并"
 
-#: builtin/remote.c:1004
+#: builtin/remote.c:972
 msgid "    and with remote"
 msgstr "    且有远程"
 
-#: builtin/remote.c:1006
+#: builtin/remote.c:974
 #, c-format
 msgid "merges with remote %s"
 msgstr "与远程 %s 合并"
 
-#: builtin/remote.c:1007
+#: builtin/remote.c:975
 msgid "   and with remote"
 msgstr "   且有远程"
 
-#: builtin/remote.c:1053
+#: builtin/remote.c:1021
 msgid "create"
 msgstr "创建"
 
-#: builtin/remote.c:1056
+#: builtin/remote.c:1024
 msgid "delete"
 msgstr "删除"
 
-#: builtin/remote.c:1060
+#: builtin/remote.c:1028
 msgid "up to date"
 msgstr "最新"
 
-#: builtin/remote.c:1063
+#: builtin/remote.c:1031
 msgid "fast-forwardable"
 msgstr "可快进"
 
-#: builtin/remote.c:1066
+#: builtin/remote.c:1034
 msgid "local out of date"
 msgstr "本地已过时"
 
-#: builtin/remote.c:1073
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s 强制推送至 %-*s (%s)"
 
-#: builtin/remote.c:1076
+#: builtin/remote.c:1044
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s 推送至 %-*s (%s)"
 
-#: builtin/remote.c:1080
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s 强制推送至 %s"
 
-#: builtin/remote.c:1083
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s 推送至 %s"
 
-#: builtin/remote.c:1151
+#: builtin/remote.c:1119
 msgid "do not query remotes"
 msgstr "不查询远程"
 
-#: builtin/remote.c:1178
+#: builtin/remote.c:1146
 #, c-format
 msgid "* remote %s"
 msgstr "* 远程 %s"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1147
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  获取地址:%s"
 
-#: builtin/remote.c:1180 builtin/remote.c:1331
+#: builtin/remote.c:1148 builtin/remote.c:1299
 msgid "(no URL)"
 msgstr "(无 URL)"
 
-#: builtin/remote.c:1189 builtin/remote.c:1191
+#: builtin/remote.c:1157 builtin/remote.c:1159
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  推送地址:%s"
 
-#: builtin/remote.c:1193 builtin/remote.c:1195 builtin/remote.c:1197
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
 #, c-format
 msgid "  HEAD branch: %s"
-msgstr "  HEAD分支:%s"
+msgstr "  HEAD 分支:%s"
 
-#: builtin/remote.c:1199
+#: builtin/remote.c:1167
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  HEAD 分支(远程 HEAD 模糊,可能是下列中的一个):\n"
 
-#: builtin/remote.c:1211
+#: builtin/remote.c:1179
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
@@ -8807,138 +9766,151 @@ msgstr[0] "  远程分支:%s"
 msgstr[1] "  远程分支:%s"
 
 #  译者:中文字符串拼接,可删除前导空格
-#: builtin/remote.c:1214 builtin/remote.c:1241
+#: builtin/remote.c:1182 builtin/remote.c:1209
 msgid " (status not queried)"
 msgstr "(状态未查询)"
 
-#: builtin/remote.c:1223
+#: builtin/remote.c:1191
 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:1231
+#: builtin/remote.c:1199
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  本地引用将在 'git push' 时被镜像"
 
-#: builtin/remote.c:1238
+#: builtin/remote.c:1206
 #, 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:1259
+#: builtin/remote.c:1227
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1229
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "删除 refs/remotes/<名称>/HEAD"
 
-#: builtin/remote.c:1276
+#: builtin/remote.c:1244
 msgid "Cannot determine remote HEAD"
 msgstr "无法确定远程 HEAD"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1246
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "多个远程 HEAD 分支。请明确地选择一个用命令:"
 
-#: builtin/remote.c:1288
+#: builtin/remote.c:1256
 #, c-format
 msgid "Could not delete %s"
 msgstr "无法删除 %s"
 
-#: builtin/remote.c:1296
+#: builtin/remote.c:1264
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "不是一个有效引用:%s"
 
-#: builtin/remote.c:1298
+#: builtin/remote.c:1266
 #, c-format
 msgid "Could not setup %s"
 msgstr "不能设置 %s"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1316
+#: builtin/remote.c:1284
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s 将成为摇摆状态!"
 
 #  译者:注意保持前导空格
-#: builtin/remote.c:1317
+#: builtin/remote.c:1285
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s 已成为摇摆状态!"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1295
 #, c-format
 msgid "Pruning %s"
 msgstr "修剪 %s"
 
-#: builtin/remote.c:1328
+#: builtin/remote.c:1296
 #, c-format
 msgid "URL: %s"
 msgstr "URL:%s"
 
-#: builtin/remote.c:1351
+#: builtin/remote.c:1312
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [将删除] %s"
 
-#: builtin/remote.c:1354
+#: builtin/remote.c:1315
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [已删除] %s"
 
-#: builtin/remote.c:1399
+#: builtin/remote.c:1360
 msgid "prune remotes after fetching"
 msgstr "抓取后清除远程"
 
-#: builtin/remote.c:1465 builtin/remote.c:1539
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
 msgstr "没有此远程 '%s'"
 
-#: builtin/remote.c:1485
+#: builtin/remote.c:1439
 msgid "add branch"
 msgstr "添加分支"
 
-#: builtin/remote.c:1492
+#: builtin/remote.c:1446
 msgid "no remote specified"
 msgstr "未指定远程"
 
-#: builtin/remote.c:1514
+#: builtin/remote.c:1463
+msgid "query push URLs rather than fetch URLs"
+msgstr "查询推送 URL 地址,而非获取 URL 地址"
+
+#: builtin/remote.c:1465
+msgid "return all URLs"
+msgstr "返回所有 URL 地址"
+
+#: builtin/remote.c:1493
+#, c-format
+msgid "no URLs configured for remote '%s'"
+msgstr "没有给远程仓库 '%s' 设定 URL"
+
+#: builtin/remote.c:1519
 msgid "manipulate push URLs"
 msgstr "操作推送 URLS"
 
-#: builtin/remote.c:1516
+#: builtin/remote.c:1521
 msgid "add URL"
 msgstr "添加 URL"
 
-#: builtin/remote.c:1518
+#: builtin/remote.c:1523
 msgid "delete URLs"
 msgstr "删除 URLS"
 
-#: builtin/remote.c:1525
+#: builtin/remote.c:1530
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete 无意义"
 
-#: builtin/remote.c:1565
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
-msgstr "无效的旧URL匹配模版:%s"
+msgstr "无效的旧 URL 匹配模版:%s"
 
-#: builtin/remote.c:1573
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
-msgstr "未找到此URL:%s"
+msgstr "未找到此 URL:%s"
 
-#: builtin/remote.c:1575
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
-msgstr "将不会删除所有非推送URL地址"
+msgstr "将不会删除所有非推送 URL 地址"
 
-#: builtin/remote.c:1589
+#: builtin/remote.c:1595
 msgid "be verbose; must be placed before a subcommand"
 msgstr "冗长输出;必须置于子命令之前"
 
@@ -9004,13 +9976,17 @@ msgstr "限制最大增量深度"
 
 #: builtin/repack.c:185
 msgid "maximum size of each packfile"
-msgstr "每个包的最大尺寸"
+msgstr "每个包文件的最大尺寸"
 
 #: builtin/repack.c:187
 msgid "repack objects in packs marked with .keep"
 msgstr "对标记为 .keep 的包中的对象重新打包"
 
-#: builtin/repack.c:377
+#: builtin/repack.c:197
+msgid "cannot delete packs in a precious-objects repo"
+msgstr "不能删除珍品仓库中的打包文件"
+
+#: builtin/repack.c:381
 #, c-format
 msgid "removing '%s' failed"
 msgstr "删除 '%s' 失败"
@@ -9043,19 +10019,19 @@ msgstr "不是一个有效的对象名:'%s'"
 #: builtin/replace.c:355
 #, c-format
 msgid "bad mergetag in commit '%s'"
-msgstr "提交 '%s' 中损坏的 mergetag"
+msgstr "提交 '%s' 中含有损坏的合并标签"
 
 #: builtin/replace.c:357
 #, c-format
 msgid "malformed mergetag in commit '%s'"
-msgstr "提交 '%s' 中非法的 mergetag"
+msgstr "提交 '%s' 中含有非法的合并标签"
 
 #: builtin/replace.c:368
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
 "instead of --graft"
-msgstr "原始提交 '%s' 包含已经丢弃的 mergetag '%s',使用 --edit 代替 --graft"
+msgstr "原始提交 '%s' 包含已经丢弃的合并标签 '%s',使用 --edit 代替 --graft"
 
 #: builtin/replace.c:401
 #, c-format
@@ -9103,7 +10079,7 @@ msgstr "使用此格式"
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
 
-#: builtin/rerere.c:57
+#: builtin/rerere.c:58
 msgid "register clean resolutions in index"
 msgstr "在索引中注册干净的解决方案"
 
@@ -9193,11 +10169,6 @@ msgstr "将删除的路径标记为稍后添加"
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "无法将 '%s' 解析为一个有效的版本。"
 
-#: builtin/reset.c:308 builtin/reset.c:316
-#, c-format
-msgid "Could not parse object '%s'."
-msgstr "不能解析对象 '%s'。"
-
 #: builtin/reset.c:313
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
@@ -9221,7 +10192,7 @@ msgstr "不能带路径进行%s重置。"
 #: builtin/reset.c:343
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
-msgstr "不能对纯版本库进行%s重置"
+msgstr "不能对纯库进行%s重置"
 
 #: builtin/reset.c:347
 msgid "-N can only be used with --mixed"
@@ -9229,7 +10200,7 @@ msgstr "-N 只能和 --mixed 同时使用"
 
 #: builtin/reset.c:364
 msgid "Unstaged changes after reset:"
-msgstr "重置后撤出暂存区的变更:"
+msgstr "重置后取消暂存的变更:"
 
 #: builtin/reset.c:370
 #, c-format
@@ -9240,19 +10211,23 @@ msgstr "不能重置索引文件至版本 '%s'。"
 msgid "Could not write new index file."
 msgstr "不能写入新的索引文件。"
 
-#: builtin/rev-parse.c:361
+#: builtin/rev-list.c:350
+msgid "rev-list does not support display of notes"
+msgstr "rev-list 不支持显示注解"
+
+#: builtin/rev-parse.c:358
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<选项>] -- [<参数>...]"
 
-#: builtin/rev-parse.c:366
+#: builtin/rev-parse.c:363
 msgid "keep the `--` passed as an arg"
 msgstr "保持 `--` 作为一个参数传递"
 
-#: builtin/rev-parse.c:368
+#: builtin/rev-parse.c:365
 msgid "stop parsing after the first non-option argument"
 msgstr "遇到第一个非选项参数后停止解析"
 
-#: builtin/rev-parse.c:371
+#: builtin/rev-parse.c:368
 msgid "output in stuck long form"
 msgstr "以固定长格式输出"
 
@@ -9331,10 +10306,6 @@ msgstr "合并策略的选项"
 msgid "append commit name"
 msgstr "追加提交名称"
 
-#: builtin/revert.c:105
-msgid "allow fast-forward"
-msgstr "允许快进式"
-
 #: builtin/revert.c:106
 msgid "preserve initially empty commits"
 msgstr "保留初始化的空提交"
@@ -9402,8 +10373,8 @@ msgstr ""
 #: builtin/rm.c:239
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
-msgstr[0] "如下文件相对索引区的内容有修改"
-msgstr[1] "如下文件相对索引区的内容有修改"
+msgstr[0] "下列文件索引中有变更"
+msgstr[1] "下列文件索引中有变更"
 
 #: builtin/rm.c:243 builtin/rm.c:254
 msgid ""
@@ -9453,36 +10424,58 @@ msgstr "未提供 -r 选项不会递归删除 '%s'"
 msgid "git rm: unable to remove %s"
 msgstr "git rm:不能删除 %s"
 
+#: builtin/send-pack.c:18
+msgid ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
+"[<ref>...]\n"
+"  --all and explicit <ref> specification are mutually exclusive."
+msgstr ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<主机>:]<目录> [<引用>...]\n"
+"  --all 和明确的 <引用> 互斥。"
+
+#: builtin/send-pack.c:160
+msgid "remote name"
+msgstr "远程名称"
+
+#: builtin/send-pack.c:171
+msgid "use stateless RPC protocol"
+msgstr "使用无状态的 RPC 协议"
+
+#: builtin/send-pack.c:172
+msgid "read refs from stdin"
+msgstr "从标准输入读取引用"
+
+#: builtin/send-pack.c:173
+msgid "print status from remote helper"
+msgstr "打印来自远程 helper 的状态"
+
 #: builtin/shortlog.c:13
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]"
 
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "缺少作者:%s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
 msgid "sort output according to the number of commits per author"
 msgstr "根据每个作者的提交数量排序"
 
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "隐藏提交说明,只提供提交数量"
 
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
 msgid "Show the email address of each author"
 msgstr "显示每个作者的电子邮件地址"
 
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
 msgid "Linewrap output"
 msgstr "折行输出"
 
-#: builtin/show-branch.c:9
+#: builtin/show-branch.c:10
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -9494,71 +10487,71 @@ msgstr ""
 "\t\t[--more=<n> | --list | --independent | --merge-base]\n"
 "\t\t[--no-name | --sha1-name] [--topics] [(<版本> | <通配符>)...]"
 
-#: builtin/show-branch.c:13
+#: builtin/show-branch.c:14
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<引用>]"
 
-#: builtin/show-branch.c:659
+#: builtin/show-branch.c:640
 msgid "show remote-tracking and local branches"
 msgstr "显示远程跟踪的和本地的分支"
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:642
 msgid "show remote-tracking branches"
 msgstr "显示远程跟踪的分支"
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:644
 msgid "color '*!+-' corresponding to the branch"
 msgstr "着色 '*!+-' 到相应的分支"
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:646
 msgid "show <n> more commits after the common ancestor"
 msgstr "显示共同祖先后的 <n> 个提交"
 
-#: builtin/show-branch.c:667
+#: builtin/show-branch.c:648
 msgid "synonym to more=-1"
 msgstr "和 more=-1 同义"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:649
 msgid "suppress naming strings"
 msgstr "不显示字符串命名"
 
-#: builtin/show-branch.c:670
+#: builtin/show-branch.c:651
 msgid "include the current branch"
 msgstr "包括当前分支"
 
-#: builtin/show-branch.c:672
+#: builtin/show-branch.c:653
 msgid "name commits with their object names"
 msgstr "以对象名字命名提交"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:655
 msgid "show possible merge bases"
 msgstr "显示可能合并的基线"
 
-#: builtin/show-branch.c:676
+#: builtin/show-branch.c:657
 msgid "show refs unreachable from any other ref"
 msgstr "显示没有任何引用的的引用"
 
-#: builtin/show-branch.c:678
+#: builtin/show-branch.c:659
 msgid "show commits in topological order"
 msgstr "以拓扑顺序显示提交"
 
-#: builtin/show-branch.c:681
+#: builtin/show-branch.c:662
 msgid "show only commits not on the first branch"
 msgstr "只显示不在第一个分支上的提交"
 
-#: builtin/show-branch.c:683
+#: builtin/show-branch.c:664
 msgid "show merges reachable from only one tip"
 msgstr "显示仅一个分支可访问的合并提交"
 
-#: builtin/show-branch.c:685
+#: builtin/show-branch.c:666
 msgid "topologically sort, maintaining date order where possible"
 msgstr "拓扑方式排序,并尽可能地保持日期顺序"
 
-#: builtin/show-branch.c:688
+#: builtin/show-branch.c:669
 msgid "<n>[,<base>]"
 msgstr "<n>[,<base>]"
 
-#: builtin/show-branch.c:689
+#: builtin/show-branch.c:670
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "显示从 base 开始的 <n> 条最近的引用日志记录"
 
@@ -9571,40 +10564,132 @@ msgstr ""
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<模式>...]"
 
 #: builtin/show-ref.c:11
-msgid "git show-ref --exclude-existing[=pattern] < ref-list"
-msgstr "git show-ref --exclude-existing[=模式] < 引用列表"
+msgid "git show-ref --exclude-existing[=<pattern>]"
+msgstr "git show-ref --exclude-existing[=<模式>]"
 
-#: builtin/show-ref.c:170
+#: builtin/show-ref.c:165
 msgid "only show tags (can be combined with heads)"
-msgstr "只显示 tags(可以和头共用)"
+msgstr "只显示标签(可以和头共用)"
 
-#: builtin/show-ref.c:171
+#: builtin/show-ref.c:166
 msgid "only show heads (can be combined with tags)"
-msgstr "只显示头(可以和 tags 共用)"
+msgstr "只显示头(可以和标签共用)"
 
-#: builtin/show-ref.c:172
+#: builtin/show-ref.c:167
 msgid "stricter reference checking, requires exact ref path"
 msgstr "更严格的引用检测,需要精确的引用路径"
 
-#: builtin/show-ref.c:175 builtin/show-ref.c:177
+#: builtin/show-ref.c:170 builtin/show-ref.c:172
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "显示 HEAD 引用,即使被过滤掉"
 
-#: builtin/show-ref.c:179
+#: builtin/show-ref.c:174
 msgid "dereference tags into object IDs"
-msgstr "转换 tags 到对象ID"
+msgstr "转换标签到对象 ID"
 
-#: builtin/show-ref.c:181
+#: builtin/show-ref.c:176
 msgid "only show SHA1 hash using <n> digits"
 msgstr "只显示使用 <n> 个数字的 SHA1 哈希"
 
-#: builtin/show-ref.c:185
+#: builtin/show-ref.c:180
 msgid "do not print results to stdout (useful with --verify)"
 msgstr "不打印结果到标准输出(例如与 --verify 参数共用)"
 
-#: builtin/show-ref.c:187
+#: builtin/show-ref.c:182
 msgid "show refs from stdin that aren't in local repository"
-msgstr "显示从标准输入中读入的不在本地版本库中的引用"
+msgstr "显示从标准输入中读入的不在本地仓库中的引用"
+
+#: builtin/stripspace.c:17
+msgid "git stripspace [-s | --strip-comments]"
+msgstr "git stripspace [-s | --strip-comments]"
+
+#: builtin/stripspace.c:18
+msgid "git stripspace [-c | --comment-lines]"
+msgstr "git stripspace [-c | --comment-lines]"
+
+#: builtin/stripspace.c:35
+msgid "skip and remove all lines starting with comment character"
+msgstr "跳过和移除所有的注释行"
+
+#: builtin/stripspace.c:38
+msgid "prepend comment character and space to each line"
+msgstr "为每一行的行首添加注释符和空格"
+
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
+msgid "alternative anchor for relative paths"
+msgstr "相对路径的替代锚记(anchor)"
+
+#: builtin/submodule--helper.c:78
+msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper list [--prefix=<路径>] [<路径>...]"
+
+#: builtin/submodule--helper.c:108
+msgid "git submodule--helper name <path>"
+msgstr "git submodule--helper name <路径>"
+
+#: builtin/submodule--helper.c:114
+#, c-format
+msgid "no submodule mapping found in .gitmodules for path '%s'"
+msgstr "在 .gitmodules 中没有发现路径 '%s' 的子模组映射"
+
+#: builtin/submodule--helper.c:164
+msgid "where the new submodule will be cloned to"
+msgstr "新的子模组将要克隆的路径"
+
+#: builtin/submodule--helper.c:167
+msgid "name of the new submodule"
+msgstr "新子模组的名称"
+
+#: builtin/submodule--helper.c:170
+msgid "url where to clone the submodule from"
+msgstr "克隆子模组的 url 地址"
+
+#: builtin/submodule--helper.c:176
+msgid "depth for shallow clones"
+msgstr "浅克隆的深度"
+
+#: builtin/submodule--helper.c:182
+msgid ""
+"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
+"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
+msgstr ""
+"git submodule--helper clone [--prefix=<路径>] [--quiet] [--reference <仓库>] "
+"[--name <名字>] [--url <地址>][--depth <深度>] [--] [<路径>...]"
+
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
+#, c-format
+msgid "could not create directory '%s'"
+msgstr "不能创建目录 '%s'"
+
+#: builtin/submodule--helper.c:198
+#, c-format
+msgid "clone of '%s' into submodule path '%s' failed"
+msgstr "无法克隆 '%s' 到子模组路径 '%s'"
+
+#: builtin/submodule--helper.c:221
+#, c-format
+msgid "cannot open file '%s'"
+msgstr "无法打开文件 '%s'"
+
+#: builtin/submodule--helper.c:226
+#, c-format
+msgid "could not close file %s"
+msgstr "无法关闭文件 %s"
+
+#: builtin/submodule--helper.c:241
+#, c-format
+msgid "could not get submodule directory for '%s'"
+msgstr "无法得到 '%s' 的子模组目录"
+
+#: builtin/submodule--helper.c:267
+msgid "fatal: submodule--helper subcommand must be called with a subcommand"
+msgstr "严重错误:submodule-helper 子命令必须由另外的子命令调用"
+
+#: builtin/submodule--helper.c:274
+#, c-format
+msgid "fatal: '%s' is not a valid submodule--helper subcommand"
+msgstr "严重错误:'%s' 不是一个有效的 submodule--helper 子命令"
 
 #: builtin/symbolic-ref.c:7
 msgid "git symbolic-ref [<options>] <name> [<ref>]"
@@ -9626,62 +10711,58 @@ msgstr "删除符号引用"
 msgid "shorten ref output"
 msgstr "简短的引用输出"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:358
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason"
 msgstr "原因"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:358
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
 msgid "reason of the update"
 msgstr "更新的原因"
 
-#: builtin/tag.c:22
+#: builtin/tag.c:23
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
 "[<head>]"
 msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <说明> | -F <文件>] <标签名> [<头>]"
 
-#: builtin/tag.c:23
+#: builtin/tag.c:24
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <标签名>..."
 
-#: builtin/tag.c:24
+#: builtin/tag.c:25
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
-"\t\t[<pattern>...]"
+"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
-"git tag -l [-n[<数字>]] [--contains <提交>] [--points-at <对象>] [<模式>...]"
+"git tag -l [-n[<数字>]] [--contains <提交>] [--points-at <对象>]\n"
+"\t\t[--format=<格式>] [--[no-]merged [<提交>]] [<模式>...]"
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid "git tag -v <tagname>..."
 msgstr "git tag -v <标签名>..."
 
-#: builtin/tag.c:69
-#, c-format
-msgid "malformed object at '%s'"
-msgstr "非法的对象于 '%s'"
-
-#: builtin/tag.c:301
+#: builtin/tag.c:80
 #, c-format
 msgid "tag name too long: %.*s..."
-msgstr "tag 名字太长:%.*s..."
+msgstr "标签名称太长:%.*s..."
 
-#: builtin/tag.c:306
+#: builtin/tag.c:85
 #, c-format
 msgid "tag '%s' not found."
-msgstr "tag '%s' 未发现。"
+msgstr "未发现标签 '%s'。"
 
-#: builtin/tag.c:321
+#: builtin/tag.c:100
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
-msgstr "已删除 tag '%s'(曾为 %s)\n"
+msgstr "已删除标签 '%s'(曾为 %s)\n"
 
-#: builtin/tag.c:333
+#: builtin/tag.c:112
 #, c-format
 msgid "could not verify the tag '%s'"
-msgstr "不能校验 tag '%s'"
+msgstr "不能校验该标签 '%s'"
 
-#: builtin/tag.c:343
+#: builtin/tag.c:122
 #, c-format
 msgid ""
 "\n"
@@ -9690,11 +10771,11 @@ msgid ""
 "Lines starting with '%c' will be ignored.\n"
 msgstr ""
 "\n"
-"输入一个 tag 说明:\n"
+"输入一个标签说明:\n"
 "  %s\n"
 "以 '%c' 开头的行将被忽略。\n"
 
-#: builtin/tag.c:347
+#: builtin/tag.c:126
 #, c-format
 msgid ""
 "\n"
@@ -9704,343 +10785,345 @@ msgid ""
 "want to.\n"
 msgstr ""
 "\n"
-"输入一个 tag 说明:\n"
+"输入一个标签说明:\n"
 "  %s\n"
 "以 '%c' 开头的行将被保留,如果您愿意也可以删除它们。\n"
 
-#: builtin/tag.c:371
-#, c-format
-msgid "unsupported sort specification '%s'"
-msgstr "不支持的排序规格 '%s'"
-
-#: builtin/tag.c:373
-#, c-format
-msgid "unsupported sort specification '%s' in variable '%s'"
-msgstr "不支持变量 '%2$s' 的排序规格 '%1$s'"
-
-#: builtin/tag.c:428
+#: builtin/tag.c:199
 msgid "unable to sign the tag"
-msgstr "无法签署 tag"
+msgstr "无法签署标签"
 
-#: builtin/tag.c:430
+#: builtin/tag.c:201
 msgid "unable to write tag file"
-msgstr "无法写 tag 文件"
+msgstr "无法写标签文件"
 
-#: builtin/tag.c:455
+#: builtin/tag.c:226
 msgid "bad object type."
 msgstr "坏的对象类型。"
 
-#: builtin/tag.c:468
+#: builtin/tag.c:239
 msgid "tag header too big."
-msgstr "tag 头信息太大。"
+msgstr "标签头信息太大。"
 
-#: builtin/tag.c:504
+#: builtin/tag.c:275
 msgid "no tag message?"
-msgstr "无 tag 说明?"
+msgstr "无标签说明?"
 
-#: builtin/tag.c:510
+#: builtin/tag.c:281
 #, c-format
 msgid "The tag message has been left in %s\n"
-msgstr "tag 说明被保留在 %s\n"
-
-#: builtin/tag.c:559
-msgid "switch 'points-at' requires an object"
-msgstr "开关 'points-at' 需要一个对象"
-
-#: builtin/tag.c:561
-#, c-format
-msgid "malformed object name '%s'"
-msgstr "非法的对象名 '%s'"
+msgstr "标签说明被保留在 %s\n"
 
-#: builtin/tag.c:589
+#: builtin/tag.c:339
 msgid "list tag names"
-msgstr "列出tag名称"
+msgstr "列出标签名称"
 
-#: builtin/tag.c:591
+#: builtin/tag.c:341
 msgid "print <n> lines of each tag message"
-msgstr "每个 tag 信息打印 <n> 行"
+msgstr "每个标签信息打印 <n> 行"
 
-#: builtin/tag.c:593
+#: builtin/tag.c:343
 msgid "delete tags"
-msgstr "删除 tags"
+msgstr "删除标签"
 
-#: builtin/tag.c:594
+#: builtin/tag.c:344
 msgid "verify tags"
-msgstr "验证 tags"
+msgstr "验证标签"
 
-#: builtin/tag.c:596
+#: builtin/tag.c:346
 msgid "Tag creation options"
-msgstr "Tag 创建选项"
+msgstr "标签创建选项"
 
-#: builtin/tag.c:598
+#: builtin/tag.c:348
 msgid "annotated tag, needs a message"
-msgstr "注解 tag,需要一个说明"
+msgstr "附注标签,需要一个说明"
 
-#: builtin/tag.c:600
+#: builtin/tag.c:350
 msgid "tag message"
-msgstr "tag 说明"
+msgstr "标签说明"
 
-#: builtin/tag.c:602
+#: builtin/tag.c:352
 msgid "annotated and GPG-signed tag"
-msgstr "注解并 GPG 签名的 tag"
+msgstr "附注并附加 GPG 签名的标签"
 
-#: builtin/tag.c:606
+#: builtin/tag.c:356
 msgid "use another key to sign the tag"
-msgstr "使用另外的私钥签名 tag"
+msgstr "使用另外的私钥签名该标签"
 
-#: builtin/tag.c:607
+#: builtin/tag.c:357
 msgid "replace the tag if exists"
-msgstr "如果存在,替换现有的 tag"
+msgstr "如果存在,替换现有的标签"
+
+#: builtin/tag.c:358 builtin/update-ref.c:368
+msgid "create a reflog"
+msgstr "创建引用日志"
 
-#: builtin/tag.c:609
+#: builtin/tag.c:360
 msgid "Tag listing options"
-msgstr "Tag 列表选项"
+msgstr "标签列表选项"
 
-#: builtin/tag.c:610
+#: builtin/tag.c:361
 msgid "show tag list in columns"
-msgstr "以列的方式显示 tag"
+msgstr "以列的方式显示标签列表"
 
-#: builtin/tag.c:612
-msgid "sort tags"
-msgstr "排序 tags"
-
-#: builtin/tag.c:617 builtin/tag.c:623
+#: builtin/tag.c:362 builtin/tag.c:363
 msgid "print only tags that contain the commit"
-msgstr "只打印包含提交的tags"
+msgstr "只打印包含提交的标签"
+
+#: builtin/tag.c:364
+msgid "print only tags that are merged"
+msgstr "只打印已经合并的标签"
 
-#: builtin/tag.c:629
+#: builtin/tag.c:365
+msgid "print only tags that are not merged"
+msgstr "只打印尚未合并的标签"
+
+#: builtin/tag.c:370
 msgid "print only tags of the object"
-msgstr "只打印tags对象"
+msgstr "只打印对象的标签"
 
-#: builtin/tag.c:655
+#: builtin/tag.c:399
 msgid "--column and -n are incompatible"
 msgstr "--column 和 -n 不兼容"
 
-#: builtin/tag.c:667
-msgid "--sort and -n are incompatible"
-msgstr "--sort 和 -n 不兼容"
-
-#: builtin/tag.c:674
+#: builtin/tag.c:419
 msgid "-n option is only allowed with -l."
 msgstr "-n 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:676
+#: builtin/tag.c:421
 msgid "--contains option is only allowed with -l."
 msgstr "--contains 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:678
+#: builtin/tag.c:423
 msgid "--points-at option is only allowed with -l."
 msgstr "--points-at 选项只允许和 -l 同时使用。"
 
-#: builtin/tag.c:686
+#: builtin/tag.c:425
+msgid "--merged and --no-merged option are only allowed with -l"
+msgstr "选项 --merged 和 --no-merged 只能和 -l 共用"
+
+#: builtin/tag.c:433
 msgid "only one -F or -m option is allowed."
 msgstr "只允许一个 -F 或 -m 选项。"
 
-#: builtin/tag.c:706
+#: builtin/tag.c:453
 msgid "too many params"
 msgstr "太多参数"
 
-#: builtin/tag.c:712
+#: builtin/tag.c:459
 #, c-format
 msgid "'%s' is not a valid tag name."
-msgstr "'%s' 不是一个有效的tag名称。"
+msgstr "'%s' 不是一个有效的标签名称。"
 
-#: builtin/tag.c:717
+#: builtin/tag.c:464
 #, c-format
 msgid "tag '%s' already exists"
-msgstr "tag '%s' 已存在"
+msgstr "标签 '%s' 已存在"
 
-#: builtin/tag.c:741
+#: builtin/tag.c:489
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
-msgstr "已更新tag '%s'(曾为 %s)\n"
+msgstr "已更新标签 '%s'(曾为 %s)\n"
 
-#: builtin/unpack-objects.c:489
+#: builtin/unpack-objects.c:490
 msgid "Unpacking objects"
 msgstr "展开对象中"
 
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
 #, c-format
 msgid "failed to create directory %s"
 msgstr "无法创建目录 %s"
 
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
 #, c-format
 msgid "failed to stat %s"
 msgstr "无法枚举 %s 状态"
 
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
 #, c-format
 msgid "failed to create file %s"
 msgstr "无法创建文件 %s"
 
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
 #, c-format
 msgid "failed to delete file %s"
 msgstr "无法删除文件 %s"
 
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "无法删除目录 %s"
 
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
 #, c-format
-msgid "Testing "
-msgstr "正在测试 "
+msgid "Testing mtime in '%s' "
+msgstr "在 '%s' 中测试 mtime "
 
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
 msgid "directory stat info does not change after adding a new file"
 msgstr "添加一个新文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
 msgid "directory stat info does not change after adding a new directory"
 msgstr "添加一个新目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
 msgid "directory stat info changes after updating a file"
 msgstr "更新一个文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr "在子目录中添加文件后,目录的状态信息被修改"
 
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
 msgid "directory stat info does not change after deleting a file"
 msgstr "删除一个文件后,目录的状态信息未改变"
 
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
 msgid "directory stat info does not change after deleting a directory"
 msgstr "删除一个目录后,目录的状态信息未改变"
 
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<选项>] [--] [<文件>...]"
 
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
 msgid "continue refresh even when index needs update"
 msgstr "当索引需要更新时继续刷新"
 
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
 msgid "refresh: ignore submodules"
 msgstr "刷新:忽略子模组"
 
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
 msgid "do not ignore new files"
 msgstr "不忽略新的文件"
 
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
 msgid "let files replace directories and vice-versa"
 msgstr "让文件替换目录(反之亦然)"
 
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
 msgid "notice files missing from worktree"
 msgstr "通知文件从工作区丢失"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
 msgid "refresh even if index contains unmerged entries"
 msgstr "即使索引区包含未合并的条目也执行刷新"
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
 msgid "refresh stat information"
 msgstr "刷新统计信息"
 
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置"
 
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
 msgid "<mode>,<object>,<path>"
 msgstr "<存取模式>,<对象>,<路径>"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
 msgid "add the specified entry to the index"
 msgstr "添加指定的条目到索引区"
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
 msgid "override the executable bit of the listed files"
 msgstr "覆盖列表里文件的可执行位"
 
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
 msgid "mark files as \"not changing\""
 msgstr "把文件标记为 \"没有变更\""
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
 msgid "clear assumed-unchanged bit"
 msgstr "清除 assumed-unchanged 位"
 
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
 msgid "mark files as \"index-only\""
 msgstr "把文件标记为 \"仅索引\""
 
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
 msgid "clear skip-worktree bit"
 msgstr "清除 skip-worktree 位"
 
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
 msgid "add to index only; do not add content to object database"
 msgstr "只添加到索引区;不添加对象到对象库"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
 msgid "remove named paths even if present in worktree"
 msgstr "即使存在工作区里,也删除路径"
 
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "携带 --stdin:输入的行以 null 字符终止"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
 msgid "read list of paths to be updated from standard input"
 msgstr "从标准输入中读取需要更新的路径列表"
 
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
 msgid "add entries from standard input to the index"
 msgstr "从标准输入添加条目到索引区"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "为指定文件重新生成第2和第3暂存区"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
 msgid "only update entries that differ from HEAD"
 msgstr "只更新与 HEAD 不同的条目"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
 msgid "ignore files missing from worktree"
 msgstr "忽略工作区丢失的文件"
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
 msgid "report actions to standard output"
 msgstr "在标准输出显示操作"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(for porcelains) 忘记保存的未解决的冲突"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
 msgid "write index in this format"
 msgstr "以这种格式写入索引区"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
 msgid "enable or disable split index"
 msgstr "启用或禁用索引拆分"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
 msgid "enable/disable untracked cache"
 msgstr "启用/禁用对未跟踪文件的缓存"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "测试文件系统是否支持未跟踪文件缓存"
+
+#: builtin/update-index.c:1014
 msgid "enable untracked cache without testing the filesystem"
 msgstr "无需检测文件系统,启用对未跟踪文件的缓存"
 
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "缓存未跟踪文件被禁用"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "缓存未跟踪文件在 '%s' 启用"
+
 #: builtin/update-ref.c:9
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [<选项>] -d <引用名> [<旧值>]"
@@ -10053,19 +11136,19 @@ msgstr "git update-ref [<选项>]    <引用名> <新值> [<旧值>]"
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<选项>] --stdin [-z]"
 
-#: builtin/update-ref.c:359
+#: builtin/update-ref.c:363
 msgid "delete the reference"
 msgstr "删除引用"
 
-#: builtin/update-ref.c:361
+#: builtin/update-ref.c:365
 msgid "update <refname> not the one it points to"
 msgstr "更新 <引用名> 本身而不是它指向的引用"
 
-#: builtin/update-ref.c:362
+#: builtin/update-ref.c:366
 msgid "stdin has NUL-terminated arguments"
 msgstr "标准输入有以 NUL 字符终止的参数"
 
-#: builtin/update-ref.c:363
+#: builtin/update-ref.c:367
 msgid "read updates from stdin"
 msgstr "从标准输入读取更新"
 
@@ -10081,10 +11164,14 @@ msgstr "从头开始更新文件信息"
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <提交>..."
 
-#: builtin/verify-commit.c:75
+#: builtin/verify-commit.c:72
 msgid "print commit contents"
 msgstr "打印提交内容"
 
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:84
+msgid "print raw gpg status output"
+msgstr "打印原始 gpg 状态输出"
+
 #: builtin/verify-pack.c:54
 msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
 msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <包>..."
@@ -10101,86 +11188,86 @@ msgstr "只显示统计"
 msgid "git verify-tag [-v | --verbose] <tag>..."
 msgstr "git verify-tag [-v | --verbose] <标签>..."
 
-#: builtin/verify-tag.c:73
+#: builtin/verify-tag.c:83
 msgid "print tag contents"
-msgstr "打印 tag 内容"
+msgstr "打印标签内容"
 
-#: builtin/worktree.c:11
-msgid "git worktree add [<options>] <path> <branch>"
-msgstr "git worktree add [<选项>] <路径> <分支>"
+#: builtin/worktree.c:15
+msgid "git worktree add [<options>] <path> [<branch>]"
+msgstr "git worktree add [<选项>] <路径> [<分支>]"
 
-#: builtin/worktree.c:12
+#: builtin/worktree.c:16
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<选项>]"
 
-#: builtin/worktree.c:27
+#: builtin/worktree.c:17
+msgid "git worktree list [<options>]"
+msgstr "git worktree list [<选项>]"
+
+#: builtin/worktree.c:39
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "删除工作区/%s:不是一个有效的目录"
 
-#: builtin/worktree.c:33
+#: builtin/worktree.c:45
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "删除 worktrees/%s:gitdir 文件不存在"
 
-#: builtin/worktree.c:38
+#: builtin/worktree.c:50
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "删除 worktrees/%s:无法读取 gitdir 文件 (%s)"
 
-#: builtin/worktree.c:49
+#: builtin/worktree.c:61
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "删除 worktrees/%s:无效的 gitdir 文件"
 
-#: builtin/worktree.c:65
+#: builtin/worktree.c:77
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "删除 worktrees/%s:gitdir 文件的指向不存在"
 
-#: builtin/worktree.c:100
+#: builtin/worktree.c:112
 #, c-format
 msgid "failed to remove: %s"
 msgstr "无法删除:%s"
 
-#: builtin/worktree.c:186
+#: builtin/worktree.c:201
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' 已经存在"
 
-#: builtin/worktree.c:207
+#: builtin/worktree.c:233
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "不能创建目录 '%s'"
 
-#: builtin/worktree.c:241
-msgid "unable to resolve HEAD"
-msgstr "不能解析 HEAD"
-
-#: builtin/worktree.c:249
+#: builtin/worktree.c:269
 #, c-format
-msgid "Enter %s (identifier %s)"
-msgstr "输入 %s (标识符 %s)"
+msgid "Preparing %s (identifier %s)"
+msgstr "准备 %s (标识符 %s)"
 
-#: builtin/worktree.c:281
+#: builtin/worktree.c:317
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "检出分支 <branch> 即使已经被检出到其它工作区"
 
-#: builtin/worktree.c:283
+#: builtin/worktree.c:319
 msgid "create a new branch"
 msgstr "创建一个新分支"
 
-#: builtin/worktree.c:285
+#: builtin/worktree.c:321
 msgid "create or reset a branch"
 msgstr "创建或重置一个分支"
 
-#: builtin/worktree.c:286
+#: builtin/worktree.c:322
 msgid "detach HEAD at named commit"
 msgstr "HEAD 从指定的提交分离"
 
-#: builtin/worktree.c:292
-msgid "-b and -B are mutually exclusive"
-msgstr "-b 和 -B 互斥"
+#: builtin/worktree.c:329
+msgid "-b, -B, and --detach are mutually exclusive"
+msgstr "-b、-B 和 --detach 是互斥的"
 
 #: builtin/write-tree.c:13
 msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
@@ -10198,7 +11285,7 @@ msgstr "将 <前缀> 子目录内容写到一个树对象"
 msgid "only useful for debugging"
 msgstr "只对调试有用"
 
-#: credential-cache--daemon.c:267
+#: credential-cache--daemon.c:262
 msgid "print debugging messages to stderr"
 msgstr "调试信息输出到标准错误"
 
@@ -10212,306 +11299,139 @@ msgstr ""
 "查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的\n"
 "帮助。"
 
-#: common-cmds.h:10
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "不支持公钥文件锁定,因为 cURL < 7.44.0"
+
+#: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "开始一个工作区(参见:git help tutorial)"
 
-#: common-cmds.h:11
+#: common-cmds.h:10
 msgid "work on the current change (see also: git help everyday)"
 msgstr "在当前变更上工作(参见:git help everyday)"
 
-#: common-cmds.h:12
+#: common-cmds.h:11
 msgid "examine the history and state (see also: git help revisions)"
 msgstr "检查历史和状态(参见:git help revisions)"
 
-#: common-cmds.h:13
+#: common-cmds.h:12
 msgid "grow, mark and tweak your common history"
 msgstr "扩展、标记和调校您的历史记录"
 
-#: common-cmds.h:14
+#: common-cmds.h:13
 msgid "collaborate (see also: git help workflows)"
 msgstr "协同(参见:git help workflows)"
 
-#: common-cmds.h:18
+#: common-cmds.h:17
 msgid "Add file contents to the index"
 msgstr "添加文件内容至索引"
 
-#: common-cmds.h:19
-msgid "Find by binary search the change that introduced a bug"
-msgstr "通过二分查找定位引入 bug 的变更"
+#: common-cmds.h:18
+msgid "Use binary search to find the commit that introduced a bug"
+msgstr "通过二分查找定位引入 bug 的提交"
 
-#: common-cmds.h:20
+#: common-cmds.h:19
 msgid "List, create, or delete branches"
 msgstr "列出、创建或删除分支"
 
-#: common-cmds.h:21
+#: common-cmds.h:20
 msgid "Switch branches or restore working tree files"
 msgstr "切换分支或恢复工作区文件"
 
-#: common-cmds.h:22
+#: common-cmds.h:21
 msgid "Clone a repository into a new directory"
-msgstr "克隆一个版本库到一个新目录"
+msgstr "克隆一个库到一个新目录"
 
-#: common-cmds.h:23
+#: common-cmds.h:22
 msgid "Record changes to the repository"
-msgstr "记录变更到版本库"
+msgstr "记录变更到库"
 
-#: common-cmds.h:24
+#: common-cmds.h:23
 msgid "Show changes between commits, commit and working tree, etc"
 msgstr "显示提交之间、提交和工作区之间等的差异"
 
-#: common-cmds.h:25
+#: common-cmds.h:24
 msgid "Download objects and refs from another repository"
-msgstr "从另外一个版本库下载对象和引用"
+msgstr "从另外一个库下载对象和引用"
 
-#: common-cmds.h:26
+#: common-cmds.h:25
 msgid "Print lines matching a pattern"
 msgstr "输出和模式匹配的行"
 
-#: common-cmds.h:27
+#: common-cmds.h:26
 msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr "创建一个空的 Git 版本库或重新初始化一个已存在的版本库"
+msgstr "创建一个空的 Git 仓库或重新初始化一个已存在的仓库"
 
-#: common-cmds.h:28
+#: common-cmds.h:27
 msgid "Show commit logs"
 msgstr "显示提交日志"
 
-#: common-cmds.h:29
+#: common-cmds.h:28
 msgid "Join two or more development histories together"
 msgstr "合并两个或更多开发历史"
 
-#: common-cmds.h:30
+#: common-cmds.h:29
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "移动或重命名一个文件、目录或符号链接"
 
-#: common-cmds.h:31
+#: common-cmds.h:30
 msgid "Fetch from and integrate with another repository or a local branch"
-msgstr "获取并整合另外的版本库或一个本地分支"
+msgstr "获取并整合另外的库或一个本地分支"
 
-#: common-cmds.h:32
+#: common-cmds.h:31
 msgid "Update remote refs along with associated objects"
 msgstr "更新远程引用和相关的对象"
 
-#: common-cmds.h:33
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "本地提交转移至更新后的上游分支中"
+#: common-cmds.h:32
+msgid "Reapply commits on top of another base tip"
+msgstr "在另一个分支上重新应用提交"
 
-#: common-cmds.h:34
+#: common-cmds.h:33
 msgid "Reset current HEAD to the specified state"
-msgstr "重置当前HEAD到指定状态"
+msgstr "重置当前 HEAD 到指定状态"
 
-#: common-cmds.h:35
+#: common-cmds.h:34
 msgid "Remove files from the working tree and from the index"
 msgstr "从工作区和索引中删除文件"
 
-#: common-cmds.h:36
+#: common-cmds.h:35
 msgid "Show various types of objects"
 msgstr "显示各种类型的对象"
 
-#: common-cmds.h:37
+#: common-cmds.h:36
 msgid "Show the working tree status"
 msgstr "显示工作区状态"
 
-#: common-cmds.h:38
+#: common-cmds.h:37
 msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr "创建、列出、删除或校验一个GPG签名的 tag 对象"
+msgstr "创建、列出、删除或校验一个 GPG 签名的标签对象"
 
-#: parse-options.h:142
+#: parse-options.h:145
 msgid "expiry-date"
 msgstr "到期时间"
 
-#: parse-options.h:157
+#: parse-options.h:160
 msgid "no-op (backward compatibility)"
 msgstr "空操作(向后兼容)"
 
-#: parse-options.h:231
+#: parse-options.h:237
 msgid "be more verbose"
 msgstr "更加详细"
 
-#: parse-options.h:233
+#: parse-options.h:239
 msgid "be more quiet"
 msgstr "更加安静"
 
-#: parse-options.h:239
+#: parse-options.h:245
 msgid "use <n> digits to display SHA-1s"
 msgstr "用 <n> 位数字显示 SHA-1 哈希值"
 
-#: rerere.h:27
+#: rerere.h:38
 msgid "update the index with reused conflict resolution if possible"
 msgstr "如果可能,重用冲突解决更新索引"
 
-#: git-am.sh:53
-msgid "You need to set your committer info first"
-msgstr "您需要先设置你的提交者信息"
-
-#: git-am.sh:100
-msgid ""
-"You seem to have moved HEAD since the last 'am' failure.\n"
-"Not rewinding to ORIG_HEAD"
-msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD"
-
-#: git-am.sh:110
-#, sh-format
-msgid ""
-"When you have resolved this problem, run \"$cmdline --continue\".\n"
-"If you prefer to skip this patch, run \"$cmdline --skip\" instead.\n"
-"To restore the original branch and stop patching, run \"$cmdline --abort\"."
-msgstr ""
-"当您解决了此问题后,执行 \"$cmdline --continue\"。\n"
-"如果您想跳过此补丁,则执行 \"$cmdline --skip\"。\n"
-"要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
-
-#: git-am.sh:126
-msgid "Cannot fall back to three-way merge."
-msgstr "无法求助于三路合并。"
-
-#: git-am.sh:142
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr "版本库缺乏必要的数据(blob)对象以进行三路合并。"
-
-#: git-am.sh:144
-msgid "Using index info to reconstruct a base tree..."
-msgstr "使用索引来重建一个(三路合并的)基础目录树..."
-
-#: git-am.sh:159
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-"您是否曾手动编辑过您的补丁?\n"
-"无法应用补丁到索引中的数据(blob)对象上。"
-
-#: git-am.sh:168
-msgid "Falling back to patching base and 3-way merge..."
-msgstr "转而在基础版本上打补丁及进行三路合并..."
-
-#: git-am.sh:185
-msgid "Failed to merge in the changes."
-msgstr "无法合并变更。"
-
-#: git-am.sh:280
-msgid "Only one StGIT patch series can be applied at once"
-msgstr "一次只能有一个 StGIT 补丁队列被应用"
-
-#: git-am.sh:367
-#, sh-format
-msgid "Patch format $patch_format is not supported."
-msgstr "不支持 $patch_format 补丁格式。"
-
-#: git-am.sh:369
-msgid "Patch format detection failed."
-msgstr "补丁格式检测失败。"
-
-#: git-am.sh:407
-msgid ""
-"The -b/--binary option has been a no-op for long time, and\n"
-"it will be removed. Please do not use it anymore."
-msgstr ""
-"参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被删除。\n"
-"请不要再使用它了。"
-
-#: git-am.sh:507
-#, sh-format
-msgid "previous rebase directory $dotest still exists but mbox given."
-msgstr "之前的变基目录 $dotest 仍然存在,但却提供了 mbox。"
-
-#: git-am.sh:512
-msgid "Please make up your mind. --skip or --abort?"
-msgstr "请下决心。--skip 或是 --abort ?"
-
-#: git-am.sh:560
-#, sh-format
-msgid ""
-"Stray $dotest directory found.\n"
-"Use \"git am --abort\" to remove it."
-msgstr ""
-"发现了错误的 $dotest 目录。\n"
-"使用 \"git am --abort\" 删除它。"
-
-#: git-am.sh:568
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr "解决操作未进行,我们不会继续。"
-
-#: git-am.sh:635
-#, sh-format
-msgid "Dirty index: cannot apply patches (dirty: $files)"
-msgstr "脏的索引:不能应用补丁(脏文件:$files)"
-
-#: git-am.sh:747
-#, sh-format
-msgid ""
-"Patch is empty.  Was it split wrong?\n"
-"If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
-"To restore the original branch and stop patching run \"$cmdline --abort\"."
-msgstr ""
-"补丁为空。是不是切分错误?\n"
-"如果您想要跳过这个补丁,执行 \"$cmdline --skip\"。\n"
-"要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
-
-#: git-am.sh:774
-msgid "Patch does not have a valid e-mail address."
-msgstr "补丁中没有一个有效的邮件地址。"
-
-#: git-am.sh:821
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr "标准输入没有和终端关联,不能进行交互式操作。"
-
-#: git-am.sh:825
-msgid "Commit Body is:"
-msgstr "提交内容为:"
-
-#  译者:注意保持句尾空格
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#: git-am.sh:832
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
-msgstr "应用?[y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
-
-#: git-am.sh:868
-#, sh-format
-msgid "Applying: $FIRSTLINE"
-msgstr "正应用:$FIRSTLINE"
-
-#: git-am.sh:889
-msgid ""
-"No changes - did you forget to use 'git add'?\n"
-"If there is nothing left to stage, chances are that something else\n"
-"already introduced the same changes; you might want to skip this patch."
-msgstr ""
-"没有变更 —— 您是不是忘了执行 'git add'?\n"
-"如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n"
-"您也许想要跳过这个补丁。"
-
-#: git-am.sh:897
-msgid ""
-"You still have unmerged paths in your index\n"
-"did you forget to use 'git add'?"
-msgstr "您的索引中仍有未合并的路径。您是否忘了执行 'git add'?"
-
-#: git-am.sh:913
-msgid "No changes -- Patch already applied."
-msgstr "没有变更 —— 补丁已经应用过。"
-
-#: git-am.sh:923
-#, sh-format
-msgid "Patch failed at $msgnum $FIRSTLINE"
-msgstr "补丁失败于 $msgnum $FIRSTLINE"
-
-#: git-am.sh:926
-#, sh-format
-msgid ""
-"The copy of the patch that failed is found in:\n"
-"   $dotest/patch"
-msgstr ""
-"失败的补丁文件副本位于:\n"
-"   $dotest/patch"
-
-#: git-am.sh:945
-msgid "applying to an empty history"
-msgstr "正应用到一个空历史上"
-
-#: git-bisect.sh:48
+#: git-bisect.sh:55
 msgid "You need to start by \"git bisect start\""
 msgstr "您需要执行 \"git bisect start\" 来开始"
 
@@ -10519,101 +11439,105 @@ msgstr "您需要执行 \"git bisect start\" 来开始"
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:54
+#: git-bisect.sh:61
 msgid "Do you want me to do it for you [Y/n]? "
 msgstr "您想让我为您这样做么[Y/n]? "
 
-#: git-bisect.sh:95
+#: git-bisect.sh:122
 #, sh-format
 msgid "unrecognised option: '$arg'"
 msgstr "未能识别的选项:'$arg'"
 
-#: git-bisect.sh:99
+#: git-bisect.sh:126
 #, sh-format
 msgid "'$arg' does not appear to be a valid revision"
 msgstr "'$arg' 看起来不像是一个有效的版本"
 
-#: git-bisect.sh:117
+#: git-bisect.sh:155
 msgid "Bad HEAD - I need a HEAD"
 msgstr "坏的 HEAD - 我需要一个 HEAD"
 
-#: git-bisect.sh:130
+#: git-bisect.sh:168
 #, sh-format
 msgid ""
 "Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'."
 msgstr "检出 '$start_head' 失败。尝试 'git bisect reset <有效分支>'。"
 
-#: git-bisect.sh:140
+#: git-bisect.sh:178
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "不会在做了 cg-seek 的树上做二分查找"
 
-#: git-bisect.sh:144
+#: git-bisect.sh:182
 msgid "Bad HEAD - strange symbolic ref"
 msgstr "坏的 HEAD - 奇怪的符号引用"
 
-#: git-bisect.sh:189
+#: git-bisect.sh:234
 #, sh-format
 msgid "Bad bisect_write argument: $state"
 msgstr "坏的 bisect_write 参数:$state"
 
-#: git-bisect.sh:218
+#: git-bisect.sh:263
 #, sh-format
 msgid "Bad rev input: $arg"
 msgstr "输入坏的版本:$arg"
 
-#: git-bisect.sh:232
+#: git-bisect.sh:278
 msgid "Please call 'bisect_state' with at least one argument."
 msgstr "请在调用 'bisect_state' 时跟至少一个参数。"
 
-#: git-bisect.sh:244
+#: git-bisect.sh:290
 #, sh-format
 msgid "Bad rev input: $rev"
 msgstr "输入坏的版本:$rev"
 
-#: git-bisect.sh:253
-msgid "'git bisect bad' can take only one argument."
-msgstr "'git bisect bad' 只能带一个参数。"
+#: git-bisect.sh:299
+#, sh-format
+msgid "'git bisect $TERM_BAD' can take only one argument."
+msgstr "'git bisect $TERM_BAD' 只能带一个参数。"
 
-#: git-bisect.sh:276
-msgid "Warning: bisecting only with a bad commit."
-msgstr "警告:在仅有一个坏提交下进行二分查找。"
+#: git-bisect.sh:322
+#, sh-format
+msgid "Warning: bisecting only with a $TERM_BAD commit."
+msgstr "警告:在仅有一个坏($TERM_BAD)提交下进行二分查找。"
 
 #  译者:注意保持句尾空格
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-bisect.sh:282
+#: git-bisect.sh:328
 msgid "Are you sure [Y/n]? "
 msgstr "您确认么[Y/n]? "
 
-#: git-bisect.sh:292
+#: git-bisect.sh:340
+#, sh-format
 msgid ""
-"You need to give me at least one good and one bad revision.\n"
-"(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
+"You need to give me at least one $bad_syn and one $good_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
 "您需要给我至少一个好版本和一个坏版本。\n"
-"(为此您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令。)"
+"(为此您可以用 \"git bisect $bad_syn\" 和 \"git bisect $good_syn\" 命令。)"
 
-#: git-bisect.sh:295
+#: git-bisect.sh:343
+#, sh-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
-"You then need to give me at least one good and one bad revision.\n"
-"(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
+"You then need to give me at least one $good_syn and one $bad_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
 msgstr ""
 "您需要执行 \"git bisect start\" 来开始。\n"
 "然后需要提供我至少一个好版本和一个坏版本。\n"
-"(为此您可以用 \"git bisect bad\" 和 \"git bisect good\" 命令。)"
+"(为此您可以用 \"git bisect $bad_syn\" 和 \"git bisect $good_syn\" 命令。)"
 
-#: git-bisect.sh:366 git-bisect.sh:493
+#: git-bisect.sh:414 git-bisect.sh:546
 msgid "We are not bisecting."
 msgstr "我们没有在二分查找。"
 
-#: git-bisect.sh:373
+#: git-bisect.sh:421
 #, sh-format
 msgid "'$invalid' is not a valid commit"
 msgstr "'$invalid' 不是一个有效的提交"
 
-#: git-bisect.sh:382
+#: git-bisect.sh:430
 #, sh-format
 msgid ""
 "Could not check out original HEAD '$branch'.\n"
@@ -10622,25 +11546,25 @@ msgstr ""
 "不能检出原始 HEAD '$branch'。\n"
 "尝试 'git bisect reset <提交>'。"
 
-#: git-bisect.sh:409
+#: git-bisect.sh:458
 msgid "No logfile given"
 msgstr "未提供日志文件"
 
-#: git-bisect.sh:410
+#: git-bisect.sh:459
 #, sh-format
 msgid "cannot read $file for replaying"
 msgstr "不能读取 $file 来重放"
 
-#: git-bisect.sh:427
+#: git-bisect.sh:480
 msgid "?? what are you talking about?"
 msgstr "?? 您在说什么?"
 
-#: git-bisect.sh:439
+#: git-bisect.sh:492
 #, sh-format
 msgid "running $command"
 msgstr "运行 $command"
 
-#: git-bisect.sh:446
+#: git-bisect.sh:499
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -10649,11 +11573,11 @@ msgstr ""
 "二分查找运行失败:\n"
 "命令 '$command' 的退出码 $res 小于 0 或大于等于 128"
 
-#: git-bisect.sh:472
+#: git-bisect.sh:525
 msgid "bisect run cannot continue any more"
 msgstr "二分查找不能继续运行"
 
-#: git-bisect.sh:478
+#: git-bisect.sh:531
 #, sh-format
 msgid ""
 "bisect run failed:\n"
@@ -10662,52 +11586,46 @@ msgstr ""
 "二分查找运行失败:\n"
 "'bisect_state $state' 退出码为 $res"
 
-#: git-bisect.sh:485
+#: git-bisect.sh:538
 msgid "bisect run success"
 msgstr "二分查找运行成功"
 
-#: git-pull.sh:61
-msgid ""
-"Pull is not possible because you have unmerged files.\n"
-"Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution and make a commit."
-msgstr ""
-"Pull 不可用,因为您尚有未合并的文件。请先在工作区改正文件,\n"
-"然后酌情使用 'git add/rm <文件>' 标记解决方案,再做提交。"
+#: git-bisect.sh:565
+msgid "please use two different terms"
+msgstr "请使用两个不同的术语"
 
-#: git-pull.sh:65
-msgid "Pull is not possible because you have unmerged files."
-msgstr "Pull 不可用,因为您尚有未合并的文件。"
+#: git-bisect.sh:575
+#, sh-format
+msgid "'$term' is not a valid term"
+msgstr "'$term' 不是一个有效的名称"
 
-#: git-pull.sh:71
-msgid ""
-"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you can merge."
-msgstr ""
-"您尚未结束您的合并(存在 MERGE_HEAD)。\n"
-"请在合并前先提交您的修改。"
+#: git-bisect.sh:578
+#, sh-format
+msgid "can't use the builtin command '$term' as a term"
+msgstr "不能使用内置命令 '$term' 作为术语"
 
-#: git-pull.sh:285
-msgid "updating an unborn branch with changes added to the index"
-msgstr "更新尚未诞生的分支,变更添加至索引"
+#: git-bisect.sh:587 git-bisect.sh:593
+#, sh-format
+msgid "can't change the meaning of term '$term'"
+msgstr "不能修改术语 '$term' 的含义"
 
-#: git-pull.sh:311
+#: git-bisect.sh:606
 #, sh-format
-msgid ""
-"Warning: fetch updated the current branch head.\n"
-"Warning: fast-forwarding your working tree from\n"
-"Warning: commit $orig_head."
-msgstr ""
-"警告:fetch 更新了当前的分支。您的工作区\n"
-"警告:从原提交 $orig_head 快进。"
+msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
+msgstr "无效的命令:您当前正处于一个 $TERM_BAD/$TERM_GOOD 二分查找。"
 
-#: git-pull.sh:336
-msgid "Cannot merge multiple branches into empty head"
-msgstr "æ\97 æ³\95å°\86å¤\9a个å\88\86æ\94¯å\90\88并å\88°ç©ºå\88\86æ\94¯"
+#: git-bisect.sh:636
+msgid "no terms defined"
+msgstr "æ\9cªå®\9aä¹\89æ\9c¯è¯­"
 
-#: git-pull.sh:340
-msgid "Cannot rebase onto multiple branches"
-msgstr "无法变基到多个分支"
+#: git-bisect.sh:653
+#, sh-format
+msgid ""
+"invalid argument $arg for 'git bisect terms'.\n"
+"Supported options are: --term-good|--term-old and --term-bad|--term-new."
+msgstr ""
+"参数 $arg 对命令 'git bisect terms' 无效。\n"
+"支持的选项有:--term-good|--term-old 和 --term-bad|--term-new。"
 
 #: git-rebase.sh:57
 msgid ""
@@ -10747,23 +11665,23 @@ msgstr "钩子 pre-rebase 拒绝变基操作。"
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr "似乎正处于在 git-am 的执行过程中。无法变基。"
 
-#: git-rebase.sh:351
+#: git-rebase.sh:354
 msgid "The --exec option must be used with the --interactive option"
 msgstr "选项 --exec 必须和选项 --interactive 同时使用"
 
-#: git-rebase.sh:356
+#: git-rebase.sh:359
 msgid "No rebase in progress?"
 msgstr "没有正在进行的变基?"
 
-#: git-rebase.sh:367
+#: git-rebase.sh:370
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr "动作 --edit-todo 只能用在交互式变基过程中。"
 
-#: git-rebase.sh:374
+#: git-rebase.sh:377
 msgid "Cannot read HEAD"
 msgstr "不能读取 HEAD"
 
-#: git-rebase.sh:377
+#: git-rebase.sh:380
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -10771,12 +11689,12 @@ msgstr ""
 "您必须编辑所有的合并冲突,然后通过 git add\n"
 "命令将它们标记为已解决"
 
-#: git-rebase.sh:395
+#: git-rebase.sh:398
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "无法移回 $head_name"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:417
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -10795,64 +11713,64 @@ msgstr ""
 "\t$cmd_clear_stale_rebase\n"
 "然后再重新执行变基操作。 为避免丢失重要数据,我已经停止当前操作。"
 
-#: git-rebase.sh:465
+#: git-rebase.sh:468
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "无效的上游 $upstream_name"
 
-#: git-rebase.sh:489
+#: git-rebase.sh:492
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: 有一个以上的合并基准"
 
-#: git-rebase.sh:492 git-rebase.sh:496
+#: git-rebase.sh:495 git-rebase.sh:499
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: 没有合并基准"
 
-#: git-rebase.sh:501
+#: git-rebase.sh:504
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "没有指向一个有效的提交:$onto_name"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:527
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "严重错误:无此分支:$branch_name"
 
-#: git-rebase.sh:557
+#: git-rebase.sh:560
 msgid "Cannot autostash"
 msgstr "无法 autostash"
 
-#: git-rebase.sh:562
+#: git-rebase.sh:565
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "创建了 autostash: $stash_abbrev"
 
-#: git-rebase.sh:566
+#: git-rebase.sh:569
 msgid "Please commit or stash them."
 msgstr "请提交或为它们保存进度。"
 
-#: git-rebase.sh:586
+#: git-rebase.sh:589
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "当前分支 $branch_name 是最新的。"
 
-#: git-rebase.sh:590
+#: git-rebase.sh:593
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "当前分支 $branch_name 是最新的,强制变基。"
 
-#: git-rebase.sh:601
+#: git-rebase.sh:604
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "变更从 $mb 到 $onto:"
 
-#: git-rebase.sh:610
+#: git-rebase.sh:613
 msgid "First, rewinding head to replay your work on top of it..."
-msgstr "首先,重置头指针以便在上面重放您的工作..."
+msgstr "首先,回退分支以便在上面重放您的工作..."
 
-#: git-rebase.sh:620
+#: git-rebase.sh:623
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "快进 $branch_name 至 $onto_name。"
@@ -10885,7 +11803,7 @@ msgstr "无法删除临时索引(不应发生)"
 msgid "Cannot record working tree state"
 msgstr "不能记录工作区状态"
 
-#: git-stash.sh:191
+#: git-stash.sh:189
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "无法用 $w_commit 更新 $ref_stash"
@@ -10900,7 +11818,7 @@ msgstr "无法用 $w_commit 更新 $ref_stash"
 #. $ git stash save --blah-blah 2>&1 | head -n 2
 #. error: unknown option for 'stash save': --blah-blah
 #. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:241
+#: git-stash.sh:239
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
@@ -10909,128 +11827,113 @@ msgstr ""
 "错误:'stash save' 的未知选项:$option\n"
 "      要提供一个描述信息,使用 git stash save -- '$option'"
 
-#: git-stash.sh:262
+#: git-stash.sh:260
 msgid "No local changes to save"
 msgstr "没有要保存的本地修改"
 
-#: git-stash.sh:266
+#: git-stash.sh:264
 msgid "Cannot initialize stash"
 msgstr "无法初始化 stash"
 
-#: git-stash.sh:270
+#: git-stash.sh:268
 msgid "Cannot save the current status"
 msgstr "无法保存当前状态"
 
-#: git-stash.sh:288
+#: git-stash.sh:286
 msgid "Cannot remove worktree changes"
 msgstr "无法删除工作区变更"
 
-#: git-stash.sh:389
+#: git-stash.sh:405
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "未知选项: $opt"
 
-#: git-stash.sh:399
+#: git-stash.sh:415
 msgid "No stash found."
 msgstr "未发现 stash。"
 
-#: git-stash.sh:406
+#: git-stash.sh:422
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "指定了太多的版本:$REV"
 
-#: git-stash.sh:412
+#: git-stash.sh:428
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference 不是一个有效的引用"
 
-#: git-stash.sh:440
+#: git-stash.sh:456
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' 不是 stash 样提交"
 
-#: git-stash.sh:451
+#: git-stash.sh:467
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' 不是一个 stash 引用"
 
-#: git-stash.sh:459
+#: git-stash.sh:475
 msgid "unable to refresh index"
 msgstr "无法刷新索引"
 
-#: git-stash.sh:463
+#: git-stash.sh:479
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "无法在合并过程中恢复进度"
 
-#: git-stash.sh:471
+#: git-stash.sh:487
 msgid "Conflicts in index. Try without --index."
 msgstr "索引中有冲突。尝试不使用 --index。"
 
-#: git-stash.sh:473
+#: git-stash.sh:489
 msgid "Could not save index tree"
 msgstr "不能保存索引树"
 
-#: git-stash.sh:507
+#: git-stash.sh:523
 msgid "Cannot unstage modified files"
-msgstr "无法还原修改的文件"
+msgstr "无法将修改的文件取消暂存"
 
-#: git-stash.sh:522
+#: git-stash.sh:538
 msgid "Index was not unstashed."
 msgstr "索引的进度没有被恢复。"
 
-#: git-stash.sh:545
+#: git-stash.sh:561
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "丢弃了 ${REV} ($s)"
 
-#: git-stash.sh:546
+#: git-stash.sh:562
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}:不能丢弃进度条目"
 
-#: git-stash.sh:554
+#: git-stash.sh:570
 msgid "No branch name specified"
 msgstr "未指定分支名"
 
-#: git-stash.sh:626
+#: git-stash.sh:642
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(为恢复数据输入 \"git stash apply\")"
 
-#: git-submodule.sh:95
+#: git-submodule.sh:104
 #, sh-format
 msgid "cannot strip one component off url '$remoteurl'"
 msgstr "无法从 url '$remoteurl' 剥离一个组件"
 
-#: git-submodule.sh:237
-#, sh-format
-msgid "No submodule mapping found in .gitmodules for path '$sm_path'"
-msgstr "未在 .gitmodules 中发现路径 '$sm_path' 的子模组映射"
-
-#: git-submodule.sh:287
-#, sh-format
-msgid "Clone of '$url' into submodule path '$sm_path' failed"
-msgstr "无法克隆 '$url' 到子模组路径 '$sm_path'"
-
-#: git-submodule.sh:296
-#, sh-format
-msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
-msgstr "Gitdir '$a' 在子模组路径 '$b' 之下或相反"
-
-#: git-submodule.sh:406
+#: git-submodule.sh:281
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr "只能在工作区的顶级目录中使用相对路径"
 
-#: git-submodule.sh:416
+#: git-submodule.sh:291
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
-msgstr "版本库URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
+msgstr "仓库 URL:'$repo' 必须是绝对路径或以 ./|../ 起始"
 
-#: git-submodule.sh:433
+#: git-submodule.sh:308
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' 已经存在于索引中"
 
-#: git-submodule.sh:437
+#: git-submodule.sh:312
 #, sh-format
 msgid ""
 "The following path is ignored by one of your .gitignore files:\n"
@@ -11041,134 +11944,134 @@ msgstr ""
 "$sm_path\n"
 "如果您确实想添加它,使用 -f 参数。"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:330
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
-msgstr "添加位于 '$sm_path' 的现存版本库到索引"
+msgstr "添加位于 '$sm_path' 的现存库到索引"
 
-#: git-submodule.sh:457
+#: git-submodule.sh:332
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
-msgstr "'$sm_path' 已存在且不是一个有效的 git 版本库"
+msgstr "'$sm_path' 已存在且不是一个有效的 git 库"
 
-#: git-submodule.sh:465
+#: git-submodule.sh:340
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
-msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程版本库:"
+msgstr "本地发现 '$sm_name' 的一个 git 目录,与其对应的远程库:"
 
-#: git-submodule.sh:467
+#: git-submodule.sh:342
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from"
 msgstr "如果您想重用此本地 git 目录而不是重新克隆自"
 
-#: git-submodule.sh:469
+#: git-submodule.sh:344
 #, sh-format
 msgid ""
 "use the '--force' option. If the local git directory is not the correct repo"
-msgstr "使用 '--force' 参数。如果本地 git 目录不是正确的版本库"
+msgstr "使用 '--force' 参数。如果本地 git 目录不是正确的库"
 
-#: git-submodule.sh:470
+#: git-submodule.sh:345
 #, sh-format
 msgid ""
 "or you are unsure what this means choose another name with the '--name' "
 "option."
 msgstr "或者您不确定其中含义使用 '--name' 参数选择另外一个名称。"
 
-#: git-submodule.sh:472
+#: git-submodule.sh:347
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "激活本地 git 目录到子模组 '$sm_name'。"
 
-#: git-submodule.sh:484
+#: git-submodule.sh:359
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "不能检出子模组 '$sm_path'"
 
-#: git-submodule.sh:489
+#: git-submodule.sh:364
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "无法添加子模组 '$sm_path'"
 
-#: git-submodule.sh:498
+#: git-submodule.sh:373
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "无法注册子模组 '$sm_path'"
 
-#: git-submodule.sh:542
+#: git-submodule.sh:417
 #, sh-format
 msgid "Entering '$prefix$displaypath'"
 msgstr "正在进入 '$prefix$displaypath'"
 
-#: git-submodule.sh:562
+#: git-submodule.sh:437
 #, sh-format
 msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
 msgstr "停止于 '$prefix$displaypath',脚本返回非零值。"
 
-#: git-submodule.sh:608
+#: git-submodule.sh:483
 #, sh-format
 msgid "No url found for submodule path '$displaypath' in .gitmodules"
 msgstr "在 .gitmodules 中未找到子模组路径 '$displaypath' 的 url"
 
-#: git-submodule.sh:617
+#: git-submodule.sh:492
 #, sh-format
 msgid "Failed to register url for submodule path '$displaypath'"
 msgstr "无法为子模组路径 '$displaypath' 注册 url"
 
-#: git-submodule.sh:619
+#: git-submodule.sh:494
 #, sh-format
 msgid "Submodule '$name' ($url) registered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:511
 #, sh-format
 msgid "Failed to register update mode for submodule path '$displaypath'"
 msgstr "无法为子模组路径 '$displaypath' 注册更新模式"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:549
 #, sh-format
 msgid "Use '.' if you really want to deinitialize all submodules"
 msgstr "使用 '.' 如果您真的想要对所有子模组取消初始化"
 
-#: git-submodule.sh:691
+#: git-submodule.sh:566
 #, sh-format
 msgid "Submodule work tree '$displaypath' contains a .git directory"
 msgstr "子模组工作区 '$displaypath' 包含一个 .git 目录"
 
-#: git-submodule.sh:692
+#: git-submodule.sh:567
 #, sh-format
 msgid ""
 "(use 'rm -rf' if you really want to remove it including all of its history)"
 msgstr "(使用 'rm -rf' 命令如果您真的想删除它及其全部历史)"
 
-#: git-submodule.sh:698
+#: git-submodule.sh:573
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
 "discard them"
 msgstr "子模组工作区 '$displaypath' 包含本地修改;使用 '-f' 丢弃它们"
 
-#: git-submodule.sh:701
+#: git-submodule.sh:576
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "已清除目录 '$displaypath'"
 
-#: git-submodule.sh:702
+#: git-submodule.sh:577
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "无法移除子模组工作区 '$displaypath'"
 
-#: git-submodule.sh:705
+#: git-submodule.sh:580
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "不能创建空的子模组目录 '$displaypath'"
 
-#: git-submodule.sh:714
+#: git-submodule.sh:589
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "子模组 '$name' ($url) 未对路径 '$displaypath' 注册"
 
-#: git-submodule.sh:830
+#: git-submodule.sh:723
 #, sh-format
 msgid ""
 "Submodule path '$displaypath' not initialized\n"
@@ -11177,104 +12080,292 @@ msgstr ""
 "子模组路径 '$displaypath' 没有初始化\n"
 "也许您想用 'update --init'?"
 
-#: git-submodule.sh:843
+#: git-submodule.sh:736
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中找到当前版本"
 
-#: git-submodule.sh:852
+#: git-submodule.sh:745
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "无法在子模组路径 '$sm_path' 中获取"
 
-#: git-submodule.sh:876
+#: git-submodule.sh:768
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中获取"
 
-#: git-submodule.sh:890
+#: git-submodule.sh:788
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中检出 '$sha1'"
 
-#: git-submodule.sh:891
+#: git-submodule.sh:789
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "子模组路径 '$displaypath':检出 '$sha1'"
 
-#: git-submodule.sh:895
+#: git-submodule.sh:793
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "无法在子模组路径 '$displaypath' 中变基 '$sha1'"
 
-#: git-submodule.sh:896
+#: git-submodule.sh:794
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "子模组路径 '$displaypath':变基至 '$sha1'"
 
-#: git-submodule.sh:901
+#: git-submodule.sh:799
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "无法合并 '$sha1' 到子模组路径 '$displaypath' 中"
 
-#: git-submodule.sh:902
+#: git-submodule.sh:800
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "子模组路径 '$displaypath':已合并入 '$sha1'"
 
-#: git-submodule.sh:907
+#: git-submodule.sh:805
 #, sh-format
 msgid ""
-"Execution of '$command $sha1' failed in submodule  path '$prefix$sm_path'"
+"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
 msgstr "在子模组路径 '$prefix$sm_path' 中执行 '$command $sha1' 失败"
 
-#: git-submodule.sh:908
+#: git-submodule.sh:806
 #, sh-format
 msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
 msgstr "子模组路径 '$prefix$sm_path': '$command $sha1'"
 
-#: git-submodule.sh:938
+#: git-submodule.sh:836
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "无法递归进子模组路径 '$displaypath'"
 
-#: git-submodule.sh:1046
+#: git-submodule.sh:944
 msgid "The --cached option cannot be used with the --files option"
 msgstr "选项 --cached 不能和选项 --files 同时使用"
 
-#: git-submodule.sh:1098
+#: git-submodule.sh:996
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "意外的模式 $mod_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1118
+#: git-submodule.sh:1016
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  警告:$display_name 未包含提交 $sha1_src"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1121
+#: git-submodule.sh:1019
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_dst"
 
 #  译者:注意保持前导空格
-#: git-submodule.sh:1124
+#: git-submodule.sh:1022
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  警告:$display_name 未包含提交 $sha1_src 和 $sha1_dst"
 
-#: git-submodule.sh:1149
+#: git-submodule.sh:1047
 msgid "blob"
 msgstr "数据对象"
 
-#: git-submodule.sh:1267
+#: git-submodule.sh:1165
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "无法递归进子模组路径 '$sm_path'"
 
-#: git-submodule.sh:1331
+#: git-submodule.sh:1229
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "为 '$displaypath' 同步子模组 url"
+
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr "本地提交转移至更新后的上游分支中"
+
+#~ msgid "unable to parse format"
+#~ msgstr "不能解析格式"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "输入了不正确的格式 align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "不能在 %s 中设置 core.worktree"
+
+#  译者:字符串首行行首要添加“warning: ”字串,故此首行要较其余行短
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ "  git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ "  git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching'\n"
+#~ "变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:\n"
+#~ "\n"
+#~ "  git config --global push.default matching\n"
+#~ "\n"
+#~ "若要不再显示本信息并从现在开始采用新的使用习惯,设置:\n"
+#~ "\n"
+#~ "  git config --global push.default simple\n"
+#~ "\n"
+#~ "当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有\n"
+#~ "本地分支。\n"
+#~ "\n"
+#~ "从 Git 2.0 开始,Git 默认采用更为保守的 'simple' 模式,只推送当前\n"
+#~ "分支到远程关联的同名分支,即 'git push' 推送当前分支。\n"
+#~ "\n"
+#~ "参见 'git help config' 并查找 'push.default' 以获取更多信息。\n"
+#~ "('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,\n"
+#~ "为保持兼容,请用 'current' 代替 'simple')"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "不能追加 '%s'"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "不能设置 '%s'"
+
+#  译者:可选值,不能翻译
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "缺少作者:%s"
+
+#~ msgid "Testing "
+#~ msgstr "正在测试 "
+
+#~ msgid "unable to look up current user in the passwd file: %s"
+#~ msgstr "无法在口令文件中查询到当前用户:%s"
+
+#~ msgid "no such user"
+#~ msgstr "无此用户"
+
+#~ msgid "show usage"
+#~ msgstr "显示用法"
+
+#~ msgid "branch '%s' does not point at a commit"
+#~ msgstr "分支 '%s' 未指向一个提交"
+
+#~ msgid "object '%s' does not point to a commit"
+#~ msgstr "对象 '%s' 没有指向一个提交"
+
+#~ msgid "print only merged branches"
+#~ msgstr "只打印合并的分支"
+
+#~ msgid "--dissociate given, but there is no --reference"
+#~ msgstr "提供了参数 --dissociate,但未提供 --reference"
+
+#~ msgid "insanely long template name %s"
+#~ msgstr "太长的模版名 %s"
+
+#~ msgid "insanely long symlink %s"
+#~ msgstr "太长的符号链接 %s"
+
+#~ msgid "insanely long template path %s"
+#~ msgstr "太长的模版路径 %s"
+
+#~ msgid "insane git directory %s"
+#~ msgstr "不正常的 git 目录 %s"
+
+#~ msgid "unsupported sort specification '%s'"
+#~ msgstr "不支持的排序规格 '%s'"
+
+#~ msgid "unsupported sort specification '%s' in variable '%s'"
+#~ msgstr "不支持变量 '%2$s' 的排序规格 '%1$s'"
+
+#~ msgid "switch 'points-at' requires an object"
+#~ msgstr "开关 'points-at' 需要一个对象"
+
+#~ msgid "sort tags"
+#~ msgstr "排序标签"
+
+#~ msgid "--sort and -n are incompatible"
+#~ msgstr "--sort 和 -n 不兼容"
+
+#~ msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
+#~ msgstr "Gitdir '$a' 在子模组路径 '$b' 之下或相反"
+
+#~ msgid "false|true|preserve"
+#~ msgstr "false|true|preserve"
+
+#~ msgid "BUG: reopen a lockfile that is still open"
+#~ msgstr "BUG: 重新打开一个仍打开着的锁文件"
+
+#~ msgid "BUG: reopen a lockfile that has been committed"
+#~ msgstr "BUG: 重新打开一个已提交的锁文件"
+
+#~ msgid "option %s does not accept negative form"
+#~ msgstr "选项 %s 不接受否定格式"
+
+#~ msgid "unable to parse value '%s' for option %s"
+#~ msgstr "不能解析选项 %1$s 的值 '%2$s'"
+
+#~ msgid "-b and -B are mutually exclusive"
+#~ msgstr "-b 和 -B 互斥"
+
+#~ msgid "You need to set your committer info first"
+#~ msgstr "您需要先设置你的提交者信息"
+
+#~ msgid ""
+#~ "When you have resolved this problem, run \"$cmdline --continue\".\n"
+#~ "If you prefer to skip this patch, run \"$cmdline --skip\" instead.\n"
+#~ "To restore the original branch and stop patching, run \"$cmdline --abort"
+#~ "\"."
+#~ msgstr ""
+#~ "当您解决了此问题后,执行 \"$cmdline --continue\"。\n"
+#~ "如果您想跳过此补丁,则执行 \"$cmdline --skip\"。\n"
+#~ "要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
+
+#~ msgid "Patch format $patch_format is not supported."
+#~ msgstr "不支持 $patch_format 补丁格式。"
+
+#~ msgid "Please make up your mind. --skip or --abort?"
+#~ msgstr "请下决心。--skip 或是 --abort ?"
+
+#~ msgid ""
+#~ "Patch is empty.  Was it split wrong?\n"
+#~ "If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
+#~ "To restore the original branch and stop patching run \"$cmdline --abort\"."
+#~ msgstr ""
+#~ "补丁为空。是不是切分错误?\n"
+#~ "如果您想要跳过这个补丁,执行 \"$cmdline --skip\"。\n"
+#~ "要恢复原分支并停止打补丁,执行 \"$cmdline --abort\"。"
+
+#~ msgid "Patch does not have a valid e-mail address."
+#~ msgstr "补丁中没有一个有效的邮件地址。"
+
+#~ msgid "Applying: $FIRSTLINE"
+#~ msgstr "正应用:$FIRSTLINE"
+
+#~ msgid "Patch failed at $msgnum $FIRSTLINE"
+#~ msgstr "补丁失败于 $msgnum $FIRSTLINE"
+
+#~ msgid ""
+#~ "Pull is not possible because you have unmerged files.\n"
+#~ "Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
+#~ "as appropriate to mark resolution and make a commit."
+#~ msgstr ""
+#~ "Pull 不可用,因为您尚有未合并的文件。请先在工作区改正文件,\n"
+#~ "然后酌情使用 'git add/rm <文件>' 标记解决方案,再做提交。"
+
+#~ msgid "Pull is not possible because you have unmerged files."
+#~ msgstr "Pull 不可用,因为您尚有未合并的文件。"