regex: use regexec_buf()
[gitweb.git] / po / vi.po
index f3fee996404638f45d1870fe6faca01683aa4ec2..edd8e29322ca7926694ea99114b6ee19ee86b1c3 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,16 +2,16 @@
 # Bản dịch tiếng Việt dành cho GIT-CORE.
 # This file is distributed under the same license as the git-core package.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.7.0-rc0\n"
+"Project-Id-Version: git v2.8.0-rc0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-11 23:36+0800\n"
-"PO-Revision-Date: 2015-12-12 14:31+0700\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-21 07:14+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
-"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -36,7 +36,7 @@ msgstr ""
 "và sau đó dùng lệnh “git add/rm <tập-tin>”\n"
 "dành riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao."
 
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại)."
 
@@ -80,7 +80,7 @@ msgstr "định_dạng"
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:430 builtin/log.c:1228
+#: archive.c:430 builtin/log.c:1232
 msgid "prefix"
 msgstr "tiền_tố"
 
@@ -88,10 +88,10 @@ msgstr "tiền_tố"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: 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 "tập_tin"
@@ -124,7 +124,7 @@ msgstr "nén nhỏ hơn"
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
 msgid "repo"
 msgstr "kho"
 
@@ -132,7 +132,7 @@ msgstr "kho"
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
 msgid "command"
 msgstr "lệnh"
 
@@ -140,7 +140,7 @@ msgstr "lệnh"
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
-#: attr.c:265
+#: attr.c:263
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -148,84 +148,101 @@ msgstr ""
 "Các mẫu dạng phủ định bị cấm dùng cho các thuộc tính của git\n"
 "Dùng “\\!” cho các chuỗi văn bản có dấu chấm than dẫn đầu."
 
-#: branch.c:61
+#: 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"
+"Sau khi sửa nguyên nhân lỗi bạn có lẻ cần thử sửa\n"
+"thông tin theo dõi máy chủ bằng cách gọi lệnh\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "Chưa cài đặt nhánh %s như là thượng nguồn của nó."
 
-#: branch.c:84
+#: branch.c:93
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s từ %s bằng cách rebase."
 
-#: branch.c:85
+#: branch.c:94
 #, c-format
 msgid "Branch %s set up to track remote branch %s from %s."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s từ %s."
 
-#: branch.c:89
+#: branch.c:98
 #, c-format
 msgid "Branch %s set up to track local branch %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh nội bộ %s bằng cách rebase."
 
-#: branch.c:90
+#: branch.c:99
 #, c-format
 msgid "Branch %s set up to track local branch %s."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh nội bộ %s."
 
-#: branch.c:95
+#: branch.c:104
 #, c-format
 msgid "Branch %s set up to track remote ref %s by rebasing."
 msgstr "Nhánh %s cài đặt để theo dõi nhánh máy chủ %s bằng cách rebase."
 
-#: branch.c:96
+#: branch.c:105
 #, c-format
 msgid "Branch %s set up to track remote ref %s."
 msgstr "Nhánh %s cài đặt để theo dõi tham chiếu máy chủ %s."
 
-#: branch.c:100
+#: branch.c:109
 #, c-format
 msgid "Branch %s set up to track local ref %s by rebasing."
 msgstr ""
 "Nhánh %s cài đặt để theo dõi vết tham chiếu nội bộ %s bằng cách rebase."
 
-#: branch.c:101
+#: branch.c:110
 #, c-format
 msgid "Branch %s set up to track local ref %s."
 msgstr "Nhánh %s cài đặt để theo dõi tham chiếu nội bộ %s."
 
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "Không thể ghi cấu hình nhánh thượng nguồn"
+
+#: branch.c:156
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
 
-#: branch.c:163
+#: branch.c:185
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "“%s” không phải là một tên nhánh hợp lệ."
 
-#: branch.c:168
+#: branch.c:190
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Đã có nhánh mang tên “%s”."
 
-#: branch.c:176
+#: branch.c:198
 msgid "Cannot force update the current branch."
 msgstr "Không thể ép buộc cập nhật nhánh hiện hành."
 
-#: branch.c:196
+#: branch.c:218
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "Không thể cài đặt thông tin theo dõi; điểm bắt đầu “%s” không phải là một "
 "nhánh."
 
-#: branch.c:198
+#: branch.c:220
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "nhánh thượng nguồn đã yêu cầu “%s” không tồn tại"
 
-#: branch.c:200
+#: branch.c:222
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -245,22 +262,22 @@ msgstr ""
 "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n"
 "\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:244
+#: branch.c:266
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Không phải tên đối tượng hợp lệ: “%s”."
 
-#: branch.c:264
+#: branch.c:286
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:269
+#: branch.c:291
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:322
+#: branch.c:344
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã sẵn được lấy ra tại “%s”"
@@ -284,10 +301,10 @@ msgstr "không thể mở “%s”"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết này:"
 
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1456 builtin/log.c:1689 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 "cài đặt việc di chuyển qua các điểm xét duyệt gặp lỗi"
 
@@ -324,7 +341,7 @@ msgstr "rev-list đã chết"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "th.chiếu “%s” bị loại trừ bởi các tùy chọn rev-list"
 
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1366 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 "đối số không được thừa nhận: %s"
@@ -347,8 +364,8 @@ msgstr "mục lục gói đã chết"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: 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 "không thể phân tích cú pháp %s"
@@ -362,59 +379,64 @@ msgstr "%s %s không phải là một lần chuyển giao!"
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
 #, c-format
-msgid "bad config file line %d in %s"
-msgstr "tập tin cấu hình sai tại dòng %d trong %s"
+msgid "bad config line %d in %s %s"
+msgstr "tập tin cấu hình sai tại dòng %d trong %s %s"
 
-#: config.c:592
+#: config.c:593
 #, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s %s: %s"
 
-#: config.c:594
+#: config.c:595
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s”: %s"
 
-#: config.c:679
+#: config.c:680
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "gặp lỗi mở rộng thư mục người dùng trong: “%s”"
 
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:890
+#: config.c:891
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
 
-#: config.c:1216
+#: config.c:1220
 msgid "unable to parse command-line config"
 msgstr "không thể phân tích cấu hình dòng lệnh"
 
-#: config.c:1277
+#: config.c:1281
 msgid "unknown error occured while reading the configuration files"
 msgstr "đã có lỗi chưa biết xảy ra trong khi đọc các tập tin cấu hình"
 
-#: config.c:1601
+#: config.c:1629
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "không thể phân tích “%s” từ cấu hình dòng lệnh"
 
-#: config.c:1603
+#: config.c:1631
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "sai biến cấu hình “%s” trong tập tin “%s” tại dòng %d"
 
-#: config.c:1662
+#: config.c:1690
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "Không thể đặt “%s” thành “%s”"
+
 #: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
@@ -521,16 +543,16 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3000
+#: diff.c:2997
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "phần mềm diff ở bên ngoài đã chết, dừng tại %s"
 
-#: diff.c:3396
+#: diff.c:3393
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:3559
+#: diff.c:3556
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -539,18 +561,18 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3573
+#: diff.c:3570
 #, c-format
 msgid "Failed to parse --submodule option parameter: '%s'"
 msgstr "Gặp lỗi khi phân tích đối số tùy chọn --submodule: “%s”"
 
-#: dir.c:1915
+#: dir.c:2004
 msgid "failed to get kernel name and information"
 msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "Bộ nhớ tạm không theo vết bị tắt trên hệ thống này."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "Bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này."
 
 #: gpg-interface.c:166 gpg-interface.c:237
 msgid "could not run gpg."
@@ -589,20 +611,20 @@ msgstr "“%s”: %s"
 msgid "'%s': short read %s"
 msgstr "“%s”: đọc ngắn %s"
 
-#: help.c:207
+#: help.c:205
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "các lệnh git sẵn có trong thư mục “%s”:"
 
-#: help.c:214
+#: help.c:212
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 
-#: help.c:246
+#: help.c:244
 msgid "These are common Git commands used in various situations:"
 msgstr "Có các lệnh Git chung được sử dụng trong các tình huống khác nhau:"
 
-#: help.c:311
+#: help.c:309
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -611,11 +633,11 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:368
+#: help.c:366
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:390
+#: help.c:388
 #, c-format
 msgid ""
 "WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -624,17 +646,17 @@ msgstr ""
 "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn.\n"
 "Tiếp tục và coi rằng ý bạn là “%s”"
 
-#: help.c:395
+#: help.c:393
 #, c-format
 msgid "in %0.1f seconds automatically..."
 msgstr "trong %0.1f giây một cách tự động…"
 
-#: help.c:402
+#: help.c:400
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
 msgid ""
 "\n"
 "Did you mean this?"
@@ -645,7 +667,7 @@ msgstr[0] ""
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: help.c:462
+#: help.c:460
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
@@ -654,8 +676,8 @@ msgstr "%s: %s - %s"
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: 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 "không thể ghi tập tin lưu bảng mục lục mới"
 
@@ -673,64 +695,64 @@ msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”"
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:686
+#: merge-recursive.c:689
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "gặp lỗi khi tạo đường dẫn “%s”%s"
 
-#: merge-recursive.c:697
+#: merge-recursive.c:700
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
 
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:722
+#: merge-recursive.c:725
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:762
+#: merge-recursive.c:765
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:764
+#: merge-recursive.c:767
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: merge-recursive.c:795
+#: merge-recursive.c:798
 #, c-format
 msgid "failed to symlink '%s'"
 msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”"
 
-#: merge-recursive.c:798
+#: merge-recursive.c:801
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "không hiểu phải làm gì với %06o %s “%s”"
 
-#: merge-recursive.c:936
+#: merge-recursive.c:939
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:940
+#: merge-recursive.c:943
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-recursive.c:956
+#: merge-recursive.c:959
 msgid "unsupported object type in the tree"
 msgstr "kiểu đối tượng không được hỗ trợ trong cây (tree)"
 
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: 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 "
@@ -739,7 +761,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: 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 "
@@ -748,20 +770,20 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
 
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -770,145 +792,145 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
 "tên \"%s\"->\"%s\" trong \"%s\"%s"
 
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
 
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
 
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
 
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
 "%s"
 
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
 msgid "Fatal merge failure, shouldn't happen."
 msgstr "Việc hòa trộn hỏng nghiêm trọng, không nên để xảy ra."
 
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
 msgid "Already up-to-date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "hòa trộn các cây %s và %s gặp lỗi"
 
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
 #, c-format
 msgid "Unprocessed path??? %s"
 msgstr "Đường dẫn chưa được xử lý??? %s"
 
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "tìm thấy %u tổ tiên chung:"
 
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
@@ -1027,12 +1049,12 @@ msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ trợ bởi lệnh này: %s"
 
-#: pathspec.c:432
+#: pathspec.c:433
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
-#: pathspec.c:441
+#: pathspec.c:442
 msgid ""
 "There is nothing to exclude from by :(exclude) patterns.\n"
 "Perhaps you forgot to add either ':/' or '.' ?"
@@ -1066,164 +1088,249 @@ msgstr ""
 "GIT_INDEX_VERSION được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: 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 "Không thể mở “%s” để ghi"
 
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "không thể xóa bỏ tham chiếu %s: %s"
 
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
 #, c-format
 msgid "could not delete references: %s"
 msgstr "không thể xóa bỏ tham chiếu: %s"
 
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
 #, c-format
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: ref-filter.c:245
+#: ref-filter.c:55
 #, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
+msgid "expected format: %%(color:<color>)"
+msgstr "cần định dạng: %%(color:<color>)"
 
-#: ref-filter.c:704
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "không nhận ra màu: %%(màu:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "không nhận ra định dạng: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) không nhận các đối số"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) không nhận các đối số"
+
+#: ref-filter.c:101
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "cần nội dung mang giá trị dương:lines=%s"
 
-#: ref-filter.c:833
+#: ref-filter.c:103
 #, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "cần định dạng: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "không thể phân tích định dạng"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "đối số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:870
+#: ref-filter.c:135
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: ref-filter.c:893
+#: ref-filter.c:147
 #, c-format
-msgid "improper format entered align:%s"
-msgstr "định dạng không đúng chỗ căn chỉnh:%s"
+msgid "unrecognized position:%s"
+msgstr "vị trí không được thừa nhận:%s"
 
-#: ref-filter.c:898
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "chiều rộng không được thừa nhận:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "đối số không được thừa nhận %%(align): %s"
+
+#: ref-filter.c:161
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "tên trường dị hình: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "không hiểu tên trường: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "chuỗi định dạng dị hình %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= cần một đối số nguyên dương"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "tham chiếu “%s” không có %ld thành phần để mà :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "Không hiểu định dạng %.*s %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "thiếu đối tượng %s cho %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
+
+#: ref-filter.c:1311
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "đang lờ đi tham chiếu với tên hỏng %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "đang lờ đi tham chiếu hỏng %s"
+
+#: ref-filter.c:1651
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:1615
+#: ref-filter.c:1705
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: remote.c:756
+#: remote.c:745
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: remote.c:760
+#: remote.c:749
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s thường theo dõi %s, không phải %s"
 
-#: remote.c:764
+#: remote.c:753
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#: remote.c:772
+#: remote.c:761
 msgid "Internal error"
 msgstr "Lỗi nội bộ"
 
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: remote.c:1696
+#: remote.c:1686
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "không có nhánh nào như thế: “%s”"
 
-#: remote.c:1699
+#: remote.c:1689
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "không có thượng nguồn được cấu hình cho nhánh “%s”"
 
-#: remote.c:1705
+#: remote.c:1695
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "nhánh thượng nguồn “%s” không được lưu lại như là một nhánh theo dõi máy chủ"
 
-#: remote.c:1720
+#: remote.c:1710
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "đẩy lên đích “%s” trên máy chủ “%s” không có nhánh theo dõi nội bộ"
 
-#: remote.c:1735
+#: remote.c:1725
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "nhánh “%s” không có máy chủ để đẩy lên"
 
-#: remote.c:1746
+#: remote.c:1736
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "đẩy refspecs cho “%s” không bao gồm “%s”"
 
-#: remote.c:1759
+#: remote.c:1749
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
 
-#: remote.c:1781
+#: remote.c:1771
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "không thể phân giải đẩy “đơn giản” đến một đích đơn"
 
-#: remote.c:2083
+#: remote.c:2073
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Nhánh của bạn dựa trên cơ sở là “%s”, nhưng trên thượng nguồn không còn.\n"
 
-#: remote.c:2087
+#: remote.c:2077
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:2090
+#: remote.c:2080
 #, c-format
 msgid "Your branch is up-to-date with '%s'.\n"
 msgstr "Nhánh của bạn đã cập nhật với “%s”.\n"
 
-#: remote.c:2094
+#: 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] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:2100
+#: remote.c:2090
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (dùng \"git push\" để xuất bản các lần chuyển giao nội bộ của bạn)\n"
 
-#: remote.c:2103
+#: remote.c:2093
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -1232,11 +1339,11 @@ msgstr[0] ""
 "Nhánh của bạn đứng đằng sau “%s” %d lần chuyển giao, và có thể được chuyển-"
 "tiếp-nhanh.\n"
 
-#: remote.c:2111
+#: remote.c:2101
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (dùng \"git pull\" để cập nhật nhánh nội bộ của bạn)\n"
 
-#: remote.c:2114
+#: remote.c:2104
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -1249,30 +1356,30 @@ msgstr[0] ""
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:2124
+#: remote.c:2114
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
 "bạn)\n"
 
-#: revision.c:2191
+#: revision.c:2131
 msgid "your current branch appears to be broken"
 msgstr "nhánh hiện tại của bạn có vẻ như bị hỏng"
 
-#: revision.c:2194
+#: revision.c:2134
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "nhánh hiện tại của bạn “%s” không có một lần chuyển giao nào cả"
 
-#: revision.c:2388
+#: revision.c:2328
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
-#: run-command.c:90
+#: run-command.c:92
 msgid "open /dev/null failed"
 msgstr "gặp lỗi khi mở “/dev/null”"
 
-#: run-command.c:92
+#: run-command.c:94
 #, c-format
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) gặp lỗi"
@@ -1297,7 +1404,7 @@ msgstr ""
 msgid "the receiving end does not support --atomic push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: sequencer.c:183
+#: sequencer.c:174
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -1305,7 +1412,7 @@ msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:186
+#: sequencer.c:177
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1315,67 +1422,67 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
 
-#: sequencer.c:202
+#: sequencer.c:193
 #, c-format
 msgid "Error wrapping up %s"
 msgstr "Lỗi bao bọc %s"
 
-#: sequencer.c:217
+#: sequencer.c:208
 msgid "Your local changes would be overwritten by cherry-pick."
 msgstr "Các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh cherry-pick."
 
-#: sequencer.c:219
+#: sequencer.c:210
 msgid "Your local changes would be overwritten by revert."
 msgstr "Các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh hoàn nguyên."
 
-#: sequencer.c:222
+#: sequencer.c:213
 msgid "Commit your changes or stash them to proceed."
 msgstr "Chuyển giao các thay đổi của bạn hay tạm cất (stash) chúng để xử lý."
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:327
+#: sequencer.c:318
 msgid "Could not resolve HEAD commit\n"
 msgstr "Không thể phân giải lần chuyển giao HEAD\n"
 
-#: sequencer.c:347
+#: sequencer.c:338
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:399
+#: sequencer.c:390
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "Không thể phân tích lần chuyển giao %s\n"
 
-#: sequencer.c:404
+#: sequencer.c:395
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "Không thể phân tích lần chuyển giao cha mẹ “%s”\n"
 
-#: sequencer.c:469
+#: sequencer.c:460
 msgid "Your index file is unmerged."
 msgstr "Tập tin lưu mục lục của bạn không được hòa trộn."
 
-#: sequencer.c:488
+#: sequencer.c:479
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "Lần chuyển giao %s là một lần hòa trộn nhưng không đưa ra tùy chọn -m."
 
-#: sequencer.c:496
+#: sequencer.c:487
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "Lần chuyển giao %s không có cha mẹ %d"
 
-#: sequencer.c:500
+#: sequencer.c:491
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -1384,162 +1491,177 @@ msgstr ""
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
 
-#: sequencer.c:517
+#: sequencer.c:508
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "Không thể lấy ghi chú lần chuyển giao cho %s"
 
-#: sequencer.c:603
+#: sequencer.c:594
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:604
+#: sequencer.c:595
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:639
+#: sequencer.c:630
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:647
+#: sequencer.c:638
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:651
+#: sequencer.c:642
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: gặp lỗi khi làm tươi mới bảng mục lục"
 
-#: sequencer.c:711
+#: sequencer.c:702
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:733
+#: sequencer.c:724
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:738
+#: sequencer.c:729
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:750
+#: sequencer.c:741
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:754
+#: sequencer.c:745
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:761
+#: sequencer.c:752
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:791
+#: sequencer.c:782
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:804
+#: sequencer.c:795
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:823
+#: sequencer.c:814
 msgid "a cherry-pick or revert is already in progress"
 msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
 
-#: sequencer.c:824
+#: sequencer.c:815
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:828
+#: sequencer.c:819
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "Không thể tạo thư mục xếp dãy %s"
 
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay hoàn nguyên trong tiến trình"
 
-#: sequencer.c:865
+#: sequencer.c:856
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:867
+#: sequencer.c:858
 msgid "cannot abort from a branch yet to be born"
 msgstr "không thể hủy bỏ từ một nhánh mà nó còn chưa được tạo ra"
 
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:890
+#: sequencer.c:881
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:891
+#: sequencer.c:882
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:897
+#: sequencer.c:888
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "tập tin HEAD “pre-cherry-pick” đã lưu “%s” bị hỏng"
 
-#: sequencer.c:919
+#: sequencer.c:910
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng “%s”."
 
-#: sequencer.c:1064
+#: sequencer.c:1055
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:1067
+#: sequencer.c:1058
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:1101
+#: sequencer.c:1092
 msgid "Can't revert as initial commit"
 msgstr "Không thể hoàn nguyên một lần chuyển giao khởi tạo"
 
-#: sequencer.c:1102
+#: sequencer.c:1093
 msgid "Can't cherry-pick into empty head"
 msgstr "Không thể cherry-pick vào một đầu (head) trống rỗng"
 
-#: setup.c:248
+#: setup.c:246
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "vị trí tương đối nằm trước chỉ mục gói cho %s (mục lục bị hỏng à?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+"vị trí tương đối vượt quá cuối của chỉ mục gói cho %s (mục lục bị cắt cụt à?)"
+
+#: 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"
@@ -1563,62 +1685,86 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
 "Không thể thay đổi .gitmodules chưa hòa trộn, hãy giải quyết xung đột trộn "
 "trước"
 
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Không thể tìm thấy phần trong .gitmodules nơi mà đường_dẫn=%s"
 
-#: submodule.c:73
+#: submodule.c:74
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
 
-#: submodule.c:106
+#: submodule.c:107
 #, c-format
 msgid "Could not remove .gitmodules entry for %s"
 msgstr "Không thể gỡ bỏ mục .gitmodules dành cho %s"
 
-#: submodule.c:117
+#: submodule.c:118
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:1040
+#: trailer.c:237
 #, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "Không thể đặt “core.worktree” trong “%s”."
+msgid "running trailer command '%s' failed"
+msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
 
-#: 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 "không hiểu giá trị “%s” cho khóa “%s”"
 
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
 #, c-format
 msgid "more than one %s"
 msgstr "nhiều hơn một %s"
 
-#: trailer.c:581
+#: trailer.c:582
 #, c-format
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
 
-#: trailer.c:701
+#: trailer.c:702
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "không đọc được tập tin đầu vào “%s”"
 
-#: trailer.c:704
+#: trailer.c:705
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "không thể lấy thông tin thống kê về %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "\"%s\" không phải là tập tin bình thường"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "tập tin %s người dùng không thể ghi được"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "không thể tạo tập tin tạm thời"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "không thể đổi tên tập tin tạm thời thành %s"
+
+#: transport-helper.c:1041
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Không thể đọc tham chiếu %s"
@@ -1656,56 +1802,47 @@ msgstr "tên cổng không hợp lệ"
 msgid "invalid '..' path segment"
 msgstr "đoạn đường dẫn “..” không hợp lệ"
 
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "không thể mở “%s” để đọc và ghi"
 
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: 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 "không thể mở “%s” để đọc"
 
-#: wrapper.c:579
+#: wrapper.c:611
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "không thể truy cập “%s”: %s"
 
-#: wrapper.c:600
+#: wrapper.c:632
 #, c-format
 msgid "unable to access '%s'"
 msgstr "không thể truy cập “%s”"
 
-#: wrapper.c:611
-#, c-format
-msgid "unable to look up current user in the passwd file: %s"
-msgstr "không tìm thấy người dùng hiện tại trong tập tin passwd: %s"
-
-#: wrapper.c:612
-msgid "no such user"
-msgstr "không có người dùng như vậy"
-
-#: wrapper.c:620
+#: wrapper.c:640
 msgid "unable to get current working directory"
 msgstr "Không thể lấy thư mục làm việc hiện hành"
 
-#: wrapper.c:647
+#: wrapper.c:667
 #, c-format
 msgid "could not open %s for writing"
 msgstr "không thể mở %s để ghi"
 
-#: wrapper.c:658 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
 #, c-format
 msgid "could not write to %s"
 msgstr "không thể ghi vào %s"
 
-#: wrapper.c:664
+#: wrapper.c:684
 #, c-format
 msgid "could not close %s"
 msgstr "không thể đóng %s"
@@ -2188,7 +2325,11 @@ msgstr "đã ra đi"
 msgid "behind "
 msgstr "đằng sau "
 
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "phía trước "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
@@ -2216,7 +2357,7 @@ msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: 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 "Không thể đọc bảng mục lục"
 
@@ -2253,15 +2394,15 @@ msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:545
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: 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 "chạy thử"
 
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: 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:1640 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
 msgid "be verbose"
 msgstr "chi tiết"
 
@@ -2269,7 +2410,7 @@ msgstr "chi tiết"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -2340,137 +2481,132 @@ msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
 
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: 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 "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/add.c:439 builtin/apply.c:4669 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 "Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "không thể lấy thông tin thống kê về %s"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: builtin/am.c:445
+#: builtin/am.c:430
 msgid "could not parse author script"
 msgstr "không thể phân tích cú pháp văn lệnh tác giả"
 
-#: builtin/am.c:522
+#: builtin/am.c:507
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "“%s” bị xóa bởi móc applypatch-msg"
 
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Gặp lỗi khi sao chép ghi chú (note) từ “%s” tới “%s”"
 
-#: builtin/am.c:626
+#: builtin/am.c:611
 msgid "fseek failed"
 msgstr "fseek gặp lỗi"
 
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
 #, c-format
 msgid "could not open '%s' for reading: %s"
 msgstr "không thể mở “%s” để đọc: %s"
 
-#: builtin/am.c:794
+#: builtin/am.c:779
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "Không thể mở “%s” để ghi: %s"
 
-#: builtin/am.c:803
+#: builtin/am.c:788
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/am.c:868
+#: builtin/am.c:853
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: builtin/am.c:916
+#: builtin/am.c:901
 msgid "invalid timestamp"
 msgstr "dấu thời gian không hợp lệ"
 
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
 msgid "invalid Date line"
 msgstr "dòng Ngày tháng không hợp lệ"
 
-#: builtin/am.c:924
+#: builtin/am.c:909
 msgid "invalid timezone offset"
 msgstr "độ lệch múi giờ không hợp lệ"
 
-#: builtin/am.c:1011
+#: builtin/am.c:996
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/am.c:1020
+#: builtin/am.c:1005
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
-#: builtin/am.c:1203
+#: builtin/am.c:1188
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Khi bạn đã phân giải xong trục trặc này, hãy chạy \"%s --continue\"."
 
-#: builtin/am.c:1204
+#: builtin/am.c:1189
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 "Nếu bạn muốn bỏ qua miếng vá này, hãy chạy lệnh \"%s --skip\" để thay thế."
 
-#: builtin/am.c:1205
+#: builtin/am.c:1190
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "Để phục hồi lại nhánh gốc và dừng vá, hãy chạy \"%s --abort\"."
 
-#: builtin/am.c:1343
+#: builtin/am.c:1328
 msgid "Patch is empty. Was it split wrong?"
 msgstr "Miếng vá trống rỗng. Quá trình chia nhỏ miếng vá có lỗi?"
 
-#: builtin/am.c:1417 builtin/log.c:1344
+#: builtin/am.c:1402 builtin/log.c:1350
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/am.c:1444
+#: builtin/am.c:1429
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: builtin/am.c:1646
+#: builtin/am.c:1631
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
 
-#: builtin/am.c:1648
+#: builtin/am.c:1633
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Sử dụng thông tin trong bảng mục lục để cấu trúc lại một cây (tree) cơ sở…"
 
-#: builtin/am.c:1667
+#: builtin/am.c:1652
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -2478,38 +2614,38 @@ msgstr ""
 "Bạn đã sửa miếng vá của mình bằng cách thủ công à?\n"
 "Nó không thể áp dụng các blob đã được ghi lại trong bảng mục lục của nó."
 
-#: builtin/am.c:1673
+#: builtin/am.c:1658
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang trở lại để vá cơ sở và “hòa trộn 3-đường”…"
 
-#: builtin/am.c:1688
+#: builtin/am.c:1673
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
 msgid "git write-tree failed to write a tree"
 msgstr "lệnh git write-tree gặp lỗi khi ghi một cây"
 
-#: builtin/am.c:1719
+#: builtin/am.c:1704
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "không thể phục hồi: %s không tồn tại."
 
-#: builtin/am.c:1784
+#: builtin/am.c:1769
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr ""
 "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối"
 
-#: builtin/am.c:1789
+#: builtin/am.c:1774
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -2517,37 +2653,37 @@ msgstr "Thân của lần chuyển giao là:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 "Áp dụng? đồng ý [y]/khô[n]g/chỉnh sửa [e]/hiển thị miếng [v]á/chấp nhận tất "
 "cả [a]: "
 
-#: builtin/am.c:1849
+#: builtin/am.c:1834
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Bảng mục lục bẩn: không thể áp dụng các miếng vá (bẩn: %s)"
 
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1900
+#: builtin/am.c:1885
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
-#: builtin/am.c:1908
+#: builtin/am.c:1893
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
 
-#: builtin/am.c:1914
+#: builtin/am.c:1899
 #, c-format
 msgid "The copy of the patch that failed is found in: %s"
 msgstr "Bản sao chép của miếng vá mà nó gặp lỗi thì được tìm thấy trong: %s"
 
-#: builtin/am.c:1958
+#: 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"
@@ -2558,7 +2694,7 @@ msgstr ""
 "đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng "
 "vá này."
 
-#: builtin/am.c:1965
+#: builtin/am.c:1951
 msgid ""
 "You still have unmerged paths in your index.\n"
 "Did you forget to use 'git add'?"
@@ -2566,17 +2702,17 @@ msgstr ""
 "Bạn vẫn có những đường dẫn chưa được hòa trộn trong bảng mục lục của mình.\n"
 "Bạn đã quên sử dụng lệnh “git add” à?"
 
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: 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 "không thể phân tích đối tượng “%s”."
 
-#: builtin/am.c:2125
+#: builtin/am.c:2111
 msgid "failed to clean index"
 msgstr "gặp lỗi khi dọn bảng mục lục"
 
-#: builtin/am.c:2159
+#: builtin/am.c:2145
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -2584,153 +2720,153 @@ msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần “am” thất bại cuối cùng.\n"
 "Không thể chuyển tới ORIG_HEAD"
 
-#: builtin/am.c:2220
+#: builtin/am.c:2206
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Giá trị không hợp lệ cho --patch-format: %s"
 
-#: builtin/am.c:2253
+#: builtin/am.c:2239
 msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
 msgstr "git am [<các-tùy-chọn>] [(<mbox>|<Maildir>)…]"
 
-#: builtin/am.c:2254
+#: builtin/am.c:2240
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<các-tùy-chọn>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2260
+#: builtin/am.c:2246
 msgid "run interactively"
 msgstr "chạy kiểu tương tác"
 
-#: builtin/am.c:2262
+#: builtin/am.c:2248
 msgid "historical option -- no-op"
 msgstr "tùy chọn lịch sử -- không-toán-tử"
 
-#: builtin/am.c:2264
+#: builtin/am.c:2250
 msgid "allow fall back on 3way merging if needed"
 msgstr "cho phép quay trở lại để hòa trộn kiểu “3way” nếu cần"
 
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
 #: builtin/repack.c:171
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/am.c:2267
+#: builtin/am.c:2253
 msgid "add a Signed-off-by line to the commit message"
 msgstr "Thêm dòng Signed-off-by cho ghi chú của lần chuyển giao"
 
-#: builtin/am.c:2270
+#: builtin/am.c:2256
 msgid "recode into utf8 (default)"
 msgstr "chuyển mã thành utf8 (mặc định)"
 
-#: builtin/am.c:2272
+#: builtin/am.c:2258
 msgid "pass -k flag to git-mailinfo"
 msgstr "chuyển cờ -k cho git-mailinfo"
 
-#: builtin/am.c:2274
+#: builtin/am.c:2260
 msgid "pass -b flag to git-mailinfo"
 msgstr "chuyển cờ -b cho git-mailinfo"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2262
 msgid "pass -m flag to git-mailinfo"
 msgstr "chuyển cờ -m cho git-mailinfo"
 
-#: builtin/am.c:2278
+#: builtin/am.c:2264
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "chuyển cờ --keep-cr cho git-mailsplit với định dạng mbox"
 
-#: builtin/am.c:2281
+#: builtin/am.c:2267
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "đừng chuyển cờ --keep-cr cho git-mailsplit không phụ thuộc vào am.keepcr"
 
-#: builtin/am.c:2284
+#: builtin/am.c:2270
 msgid "strip everything before a scissors line"
 msgstr "cắt mọi thứ trước dòng scissors"
 
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
 msgid "action"
 msgstr "hành động"
 
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: 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 "chuyển nó qua git-apply"
 
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
 msgid "root"
 msgstr "gốc"
 
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: 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 "đường-dẫn"
 
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: 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:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
 msgid "num"
 msgstr "số"
 
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
 #: builtin/tag.c:372
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/am.c:2310
+#: builtin/am.c:2296
 msgid "format the patch(es) are in"
 msgstr "định dạng (các) miếng vá theo"
 
-#: builtin/am.c:2316
+#: builtin/am.c:2302
 msgid "override error message when patch failure occurs"
 msgstr "đè lên các lời nhắn lỗi khi xảy ra lỗi vá nghiêm trọng"
 
-#: builtin/am.c:2318
+#: builtin/am.c:2304
 msgid "continue applying patches after resolving a conflict"
 msgstr "tiếp tục áp dụng các miếng vá sau khi giải quyết xung đột"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2307
 msgid "synonyms for --continue"
 msgstr "đồng nghĩa với --continue"
 
-#: builtin/am.c:2324
+#: builtin/am.c:2310
 msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
-#: builtin/am.c:2327
+#: builtin/am.c:2313
 msgid "restore the original branch and abort the patching operation."
 msgstr "phục hồi lại nhánh gốc và loại bỏ thao tác vá."
 
-#: builtin/am.c:2331
+#: builtin/am.c:2317
 msgid "lie about committer date"
 msgstr "nói dối về ngày chuyển giao"
 
-#: builtin/am.c:2333
+#: builtin/am.c:2319
 msgid "use current timestamp for author date"
 msgstr "dùng dấu thời gian hiện tại cho ngày tác giả"
 
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: 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 "mã-số-khóa"
 
-#: builtin/am.c:2336
+#: builtin/am.c:2322
 msgid "GPG-sign commits"
 msgstr "lần chuyển giao ký-GPG"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2325
 msgid "(internal use for git-rebase)"
 msgstr "(dùng nội bộ cho git-rebase)"
 
-#: builtin/am.c:2354
+#: 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."
@@ -2738,16 +2874,16 @@ msgstr ""
 "Tùy chọn -b/--binary đã không dùng từ lâu rồi, và\n"
 "nó sẽ được bỏ đi. Xin đừng sử dụng nó thêm nữa."
 
-#: builtin/am.c:2361
+#: builtin/am.c:2347
 msgid "failed to read the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/am.c:2376
+#: builtin/am.c:2362
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "thư mục rebase trước %s không sẵn có nhưng mbox lại đưa ra."
 
-#: builtin/am.c:2400
+#: builtin/am.c:2386
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -2756,7 +2892,7 @@ msgstr ""
 "Tìm thấy thư mục lạc %s.\n"
 "Dùng \"git am --abort\" để loại bỏ nó đi."
 
-#: builtin/am.c:2406
+#: builtin/am.c:2392
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Thao tác phân giải không được tiến hành, chúng ta không phục hồi lại."
 
@@ -3101,135 +3237,135 @@ msgstr "không thừa nhận đầu vào"
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> dấu gạch chéo dẫn đầu từ đường dẫn diff cổ điển"
 
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần bổ xung được tạo ra bởi miếng vá"
 
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
 msgid "accept a patch that touches outside the working area"
 msgstr "chấp nhận một miếng vá mà không động chạm đến cây làm việc"
 
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 "đồng thời áp dụng miếng vá (dùng với tùy chọn --stat/--summary/--check)"
 
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
 
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "xây dựng bảng mục lục tạm thời trên cơ sở thông tin bảng mục lục được nhúng"
 
-#: builtin/apply.c:4550 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 "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "đã dò tìm thấy dung sai không chính xác thiếu dòng mới tại cuối tập tin"
 
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "không thể mở miếng vá “%s”"
 
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -3283,105 +3419,113 @@ msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 "cập nhật BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao hiện hành"
 
-#: builtin/blame.c:32
+#: builtin/blame.c:33
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<các-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
 
-#: builtin/blame.c:37
+#: builtin/blame.c:38
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> được mô tả trong tài liệu git-rev-list(1)"
 
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Các dòng blame"
+
+#: builtin/blame.c:2530
 msgid "Show blame entries as we find them, incrementally"
 msgstr "Hiển thị các mục “blame” như là chúng ta thấy chúng, tăng dần"
 
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Không coi các lần chuyển giao gốc là giới hạn (Mặc định: off)"
 
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Ép buộc báo cáo tiến triển công việc"
+
+#: builtin/blame.c:2535
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
 msgid "Show porcelain format with per-line commit information"
 msgstr "Hiển thị định dạng “porcelain” với thông tin chuyển giao mỗi dòng"
 
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra với git-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
 msgid "Show raw timestamp (Default: off)"
 msgstr "Hiển thị dấu vết thời gian dạng thô (Mặc định: off)"
 
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Không hiển thị tên tác giả và dấu vết thời gian (Mặc định: off)"
 
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
 msgid "Show author email instead of name (Default: off)"
 msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc định: off)"
 
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
 msgid "Spend extra cycles to find better match"
 msgstr "Tiêu thụ thêm năng tài nguyên máy móc để tìm kiếm tốt hơn nữa"
 
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
 msgid "Use <file>'s contents as the final image"
 msgstr "Sử dụng nội dung của <tập tin> như là ảnh cuối cùng"
 
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
 msgid "Find line copies within and across files"
 msgstr "Tìm các bản sao chép dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
 msgid "Find line movements within and across files"
 msgstr "Tìm các di chuyển dòng trong và ngang qua tập tin"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
@@ -3391,7 +3535,7 @@ msgstr "Xử lý chỉ dòng vùng n,m, tính từ 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:2620
+#: builtin/blame.c:2640
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
@@ -3589,156 +3733,156 @@ msgstr "Nhánh bị đổi tên thành %s, nhưng HEAD lại không được c
 msgid "Branch is renamed, but update of config-file failed"
 msgstr "Nhánh bị đổi tên, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:587
+#: builtin/branch.c:586
 #, c-format
 msgid "could not write branch description template: %s"
 msgstr "không thể ghi vào mẫu mô tả nhánh: %s"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:615
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:617
 msgid "show hash and subject, give twice for upstream branch"
 msgstr "hiển thị mã băm và chủ đề, đưa ra hai lần cho nhánh thượng nguồn"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:618
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:619
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:621
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:626
+#: builtin/branch.c:625
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:627
+#: builtin/branch.c:626
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
 msgid "print only branches that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:632
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:634
+#: builtin/branch.c:633
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:636
+#: builtin/branch.c:635
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:636
 msgid "delete branch (even if not merged)"
 msgstr "xóa nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:638
+#: builtin/branch.c:637
 msgid "move/rename a branch and its reflog"
 msgstr "di chuyển hay đổi tên một nhánh và reflog của nó"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:638
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:639
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:641
+#: builtin/branch.c:640
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:642
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:643
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:644
 msgid "print only branches that are merged"
 msgstr "chỉ hiển thị những nhánh mà nó được hòa trộn"
 
-#: builtin/branch.c:646
+#: builtin/branch.c:645
 msgid "print only branches that are not merged"
 msgstr "chỉ hiển thị những nhánh mà nó không được hòa trộn"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:646
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
 msgid "key"
 msgstr "khóa"
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: 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 "đối tượng"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:651
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:670
+#: builtin/branch.c:669
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:694
+#: builtin/branch.c:693
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:723
+#: builtin/branch.c:722
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:728
+#: builtin/branch.c:727
 msgid "cannot edit description of more than one branch"
 msgstr "không thể sửa mô tả cho nhiều hơn một nhánh"
 
-#: builtin/branch.c:735
+#: builtin/branch.c:734
 #, c-format
 msgid "No commit on branch '%s' yet."
 msgstr "Vẫn chưa chuyển giao trên nhánh “%s”."
 
-#: builtin/branch.c:738
+#: builtin/branch.c:737
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:753
+#: builtin/branch.c:752
 msgid "too many branches for a rename operation"
 msgstr "quá nhiều nhánh dành cho thao tác đổi tên"
 
-#: builtin/branch.c:758
+#: builtin/branch.c:757
 msgid "too many branches to set new upstream"
 msgstr "quá nhiều nhánh được đặt cho thượng nguồn mới"
 
-#: builtin/branch.c:762
+#: builtin/branch.c:761
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -3746,40 +3890,40 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:768
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:781
+#: builtin/branch.c:780
 msgid "too many branches to unset upstream"
 msgstr "quá nhiều nhánh để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:785
+#: builtin/branch.c:784
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:791
+#: builtin/branch.c:790
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn"
 
-#: builtin/branch.c:805
+#: builtin/branch.c:804
 msgid "it does not make sense to create 'HEAD' manually"
 msgstr "không hợp lý khi tạo “HEAD” thủ công"
 
-#: builtin/branch.c:811
+#: builtin/branch.c:810
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
 "nhánh"
 
-#: builtin/branch.c:814
+#: builtin/branch.c:813
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3788,7 +3932,7 @@ msgstr ""
 "Cờ --set-upstream đã lạc hậu và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:831
+#: builtin/branch.c:830
 #, c-format
 msgid ""
 "\n"
@@ -3799,12 +3943,12 @@ msgstr ""
 "Nếu bạn muốn “%s” theo dõi “%s”, thực hiện lệnh sau:\n"
 "\n"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:831
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:833
+#: builtin/branch.c:832
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3899,7 +4043,7 @@ msgstr "báo cáo tất cả các thuộc tính đặt trên tập tin"
 msgid "use .gitattributes only from the index"
 msgstr "chỉ dùng .gitattributes từ bảng mục lục"
 
-#: 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 "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
@@ -3907,7 +4051,7 @@ msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -3960,50 +4104,54 @@ msgstr "không thể phân tích danh bạ: “%s”"
 msgid "no contacts specified"
 msgstr "chưa chỉ ra danh bạ"
 
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
 
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "stage nên giữa 1 và 3 hay all"
+
+#: builtin/checkout-index.c:160
 msgid "check out all files in the index"
 msgstr "lấy ra toàn bộ các tập tin trong bảng mục lục"
 
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
 msgid "force overwrite of existing files"
 msgstr "ép buộc ghi đè lên tập tin đã sẵn có từ trước"
 
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "không cảnh báo cho những tập tin tồn tại và không có trong bảng mục lục"
 
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
 msgid "don't checkout new files"
 msgstr "không checkout các tập tin mới"
 
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
 msgid "update stat information in the index file"
 msgstr "cập nhật thông tin thống kê trong tập tin lưu bảng mục lục mới"
 
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
 msgid "read list of paths from the standard input"
 msgstr "đọc danh sách đường dẫn từ đầu vào tiêu chuẩn"
 
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
 msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
-#: 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
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
 msgid "string"
 msgstr "chuỗi"
 
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
 msgid "when creating files, prepend <string>"
 msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
 msgid "copy out the files from named stage"
 msgstr "sao chép ra các tập tin từ bệ phóng có tên"
 
@@ -4084,37 +4232,41 @@ msgstr "Không thể thực hiện reflog cho “%s”: %s\n"
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "không thể cập nhật HEAD"
+
+#: builtin/checkout.c:669
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -4133,7 +4285,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:756
+#: 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"
@@ -4154,152 +4306,152 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
 msgid "internal error in revision walk"
 msgstr "lỗi nội bộ trong khi di chuyển qua các điểm xét duyệt"
 
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
 msgid "You are on a branch yet to be born"
 msgstr "Bạn tại nhánh mà nó chưa hề được sinh ra"
 
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
 #, c-format
 msgid "only one reference expected, %d given."
 msgstr "chỉ cần một tham chiếu, nhưng lại đưa ra %d."
 
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây:%s"
 
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
 msgid "paths cannot be used with switching branches"
 msgstr "các đường dẫn không thể dùng cùng với các nhánh chuyển"
 
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
 #, c-format
 msgid "'%s' cannot be used with switching branches"
 msgstr "“%s” không thể được sử dụng với các nhánh chuyển"
 
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: 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” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một thứ không phải là lần chuyển giao “%s”"
 
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: 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 "nhánh"
 
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
 msgid "detach the HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao danh nghĩa"
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
 msgid "checkout our version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng ta cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
 msgid "checkout their version for unmerged files"
 msgstr ""
 "lấy ra (checkout) phiên bản của chúng họ cho các tập tin chưa được hòa trộn"
 
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
 msgid "perform a 3-way merge with the new branch"
 msgstr "thực hiện hòa trộn kiểu 3-way với nhánh mới"
 
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1151 builtin/log.c:1263 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục thưa thớt"
 
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
 msgid "do not check if another worktree is holding the given ref"
 msgstr "không kiểm tra nếu cây làm việc khác đang giữ tham chiếu đã cho"
 
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:560
+#: 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 "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4309,12 +4461,12 @@ msgstr ""
 "Bạn đã có ý định checkout “%s” cái mà không thể được phân giải như là lần "
 "chuyển giao?"
 
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
 #, c-format
 msgid "git checkout: --detach does not take a path argument '%s'"
 msgstr "git checkout: --detach không nhận một đối số đường dẫn “%s”"
 
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -4353,7 +4505,7 @@ msgstr "Nên bỏ qua kho chứa %s\n"
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:315
+#: builtin/clean.c:291
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
@@ -4365,7 +4517,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (để trống) không chọn gì cả"
 
-#: builtin/clean.c:319
+#: builtin/clean.c:295
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -4385,36 +4537,36 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (để trống) kết thúc việc chọn"
 
-#: builtin/clean.c:535
+#: builtin/clean.c:511
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: builtin/clean.c:677
+#: builtin/clean.c:653
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin đầu vào cần lờ đi>> "
 
-#: builtin/clean.c:714
+#: builtin/clean.c:690
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "CẢNH BÁO: Không tìm thấy các mục được khớp bởi: %s"
 
-#: builtin/clean.c:735
+#: builtin/clean.c:711
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:801
+#: builtin/clean.c:777
 msgid "Bye."
 msgstr "Tạm biệt."
 
-#: builtin/clean.c:809
+#: builtin/clean.c:785
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -4432,61 +4584,61 @@ msgstr ""
 "help                - hiển thị chính trợ giúp này\n"
 "?                   - trợ giúp dành cho chọn bằng cách nhắc"
 
-#: builtin/clean.c:836
+#: builtin/clean.c:812
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:837
+#: builtin/clean.c:813
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:845
+#: builtin/clean.c:821
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ (các) mục sau đây không:"
 
-#: builtin/clean.c:862
+#: builtin/clean.c:838
 msgid "No more files to clean, exiting."
 msgstr "Không còn tập-tin nào để dọn dẹp, đang thoát ra."
 
-#: builtin/clean.c:893
+#: builtin/clean.c:869
 msgid "do not print names of files removed"
 msgstr "không hiển thị tên của các tập tin đã gỡ bỏ"
 
-#: builtin/clean.c:895
+#: builtin/clean.c:871
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:896
+#: builtin/clean.c:872
 msgid "interactive cleaning"
 msgstr "dọn bằng kiểu tương tác"
 
-#: builtin/clean.c:898
+#: builtin/clean.c:874
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: 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 "mẫu"
 
-#: builtin/clean.c:900
+#: builtin/clean.c:876
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:901
+#: builtin/clean.c:877
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:903
+#: builtin/clean.c:879
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:921
+#: builtin/clean.c:897
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clean.c:925
+#: builtin/clean.c:901
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -4494,7 +4646,7 @@ msgstr ""
 "clean.requireForce được đặt thành true và không đưa ra tùy chọn -i, -n mà "
 "cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:928
+#: builtin/clean.c:904
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -4506,145 +4658,161 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các-tùy-chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:59
+#: builtin/clone.c:60
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:64
+#: builtin/clone.c:65
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:66
+#: builtin/clone.c:67
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:68
+#: builtin/clone.c:69
 msgid "don't use local hardlinks, always copy"
 msgstr "không sử dụng liên kết cứng nội bộ, luôn sao chép"
 
-#: builtin/clone.c:70
+#: builtin/clone.c:71
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
 msgid "directory from which templates will be used"
 msgstr "thư mục mà tại đó các mẫu sẽ được dùng"
 
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:80
+#: builtin/clone.c:81
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: 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 "tên"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:83
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay cho “origin” để theo dõi thượng nguồn"
 
-#: builtin/clone.c:84
+#: builtin/clone.c:85
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra <nhánh> thay cho HEAD của máy chủ"
 
-#: builtin/clone.c:86
+#: builtin/clone.c:87
 msgid "path to git-upload-pack on the remote"
 msgstr "đường dẫn đến git-upload-pack trên máy chủ"
 
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:89
 msgid "create a shallow clone of that depth"
 msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:91
 msgid "clone only one branch, HEAD or --branch"
 msgstr "chỉ nhân bản một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
 msgid "separate git dir from working tree"
 msgstr "không dùng chung thư mục dành riêng cho git và thư mục làm việc"
 
-#: builtin/clone.c:93
+#: builtin/clone.c:94
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "set config inside the new repository"
 msgstr "đặt cấu hình bên trong một kho chứa mới"
 
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "chỉ dùng địa chỉ IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "chỉ dùng địa chỉ IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Không đoán được thư mục tên là gì.\n"
+"Vui lòng chỉ định tên một thư mục trên dòng lệnh"
+
+#: builtin/clone.c:305
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
 
-#: builtin/clone.c:302
+#: builtin/clone.c:307
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "kho tham chiếu “%s” không phải là một kho nội bộ."
 
-#: builtin/clone.c:307
+#: builtin/clone.c:312
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: builtin/clone.c:310
+#: builtin/clone.c:315
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: builtin/clone.c:377
+#: builtin/clone.c:382
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s có tồn tại nhưng lại không phải là một thư mục"
 
-#: builtin/clone.c:391
+#: builtin/clone.c:396
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
 
-#: builtin/clone.c:413
+#: builtin/clone.c:418
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "gặp lỗi khi tạo được liên kết mềm %s"
 
-#: builtin/clone.c:417
+#: builtin/clone.c:422
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi sao chép tập tin và “%s”"
 
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:454
+#: builtin/clone.c:459
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -4654,117 +4822,126 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử lấy ra với lệnh “git checkout -f HEAD”\n"
 
-#: builtin/clone.c:531
+#: builtin/clone.c:536
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Không tìm thấy nhánh máy chủ %s để nhân bản (clone)."
 
-#: builtin/clone.c:621
+#: builtin/clone.c:626
 #, c-format
 msgid "Checking connectivity... "
 msgstr "Đang kiểm tra kết nối… "
 
-#: builtin/clone.c:624
+#: builtin/clone.c:629
 msgid "remote did not send all necessary objects"
 msgstr "máy chủ đã không gửi tất cả các đối tượng cần thiết"
 
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "không thể cập nhật %s"
+
+#: builtin/clone.c:696
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
 
-#: builtin/clone.c:719
+#: builtin/clone.c:727
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "không thể ghi các tham số vào tập tin cấu hình"
+
+#: builtin/clone.c:816
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:810
+#: builtin/clone.c:818
 msgid "cannot unlink temporary alternates file"
 msgstr "không thể bỏ liên kết tập tin thay thế tạm thời"
 
-#: builtin/clone.c:842
+#: builtin/clone.c:850
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:846
+#: builtin/clone.c:854
 msgid "You must specify a repository to clone."
 msgstr "Bạn phải chỉ định một kho để mà nhân bản (clone)."
 
-#: builtin/clone.c:857
+#: builtin/clone.c:865
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "tùy chọn --bare và --origin %s xung khắc nhau."
 
-#: builtin/clone.c:860
+#: builtin/clone.c:868
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "tùy chọn --bare và --separate-git-dir xung khắc nhau."
 
-#: builtin/clone.c:873
+#: builtin/clone.c:881
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "độ sâu %s không phải là một số nguyên dương"
 
-#: builtin/clone.c:889
+#: builtin/clone.c:897
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "đường dẫn đích “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:899
+#: builtin/clone.c:907
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: 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 "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: builtin/clone.c:917
+#: builtin/clone.c:925
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "không thể tạo cây thư mục làm việc dir “%s”"
 
-#: builtin/clone.c:935
+#: builtin/clone.c:943
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Đang nhân bản thành kho chứa bare “%s”…\n"
 
-#: builtin/clone.c:937
+#: builtin/clone.c:945
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:975
+#: builtin/clone.c:984
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr "--depth bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay thế."
 
-#: builtin/clone.c:978
+#: builtin/clone.c:987
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:983
+#: builtin/clone.c:992
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:996
 #, c-format
 msgid "Don't know how to clone %s"
 msgstr "Không biết làm cách nào để nhân bản (clone) %s"
 
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Nhánh máy chủ %s không tìm thấy trong thượng nguồn %s"
 
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
 msgid "You appear to have cloned an empty repository."
 msgstr "Bạn hình như là đã nhân bản một kho trống rỗng."
 
@@ -4989,7 +5166,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %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 "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
@@ -5186,8 +5363,8 @@ msgstr "hiển thị trạng thái ở dạng súc tích"
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:546
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
@@ -5279,8 +5456,8 @@ msgstr "ngày tháng"
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
 msgid "message"
 msgstr "chú thích"
 
@@ -5317,7 +5494,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "lần chuyển giao nhận tôi là tác giả (được dùng với tùy chọn -C/-c/--amend)"
 
-#: builtin/commit.c:1588 builtin/log.c:1215 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
@@ -5341,7 +5518,7 @@ msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩ
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
 #: builtin/revert.c:93
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
@@ -5435,139 +5612,145 @@ msgstr ""
 "có bị đầy quá hay quota (hạn nghạch đĩa cứng) bị vượt quá,\n"
 "và sau đó \"git reset HEAD\" để khắc phục."
 
-#: builtin/config.c:8
+#: builtin/config.c:9
 msgid "git config [<options>]"
 msgstr "git config [<các-tùy-chọn>]"
 
-#: builtin/config.c:54
+#: builtin/config.c:56
 msgid "Config file location"
 msgstr "Vị trí tập tin cấu hình"
 
-#: builtin/config.c:55
+#: builtin/config.c:57
 msgid "use global config file"
 msgstr "dùng tập tin cấu hình toàn cục"
 
-#: builtin/config.c:56
+#: builtin/config.c:58
 msgid "use system config file"
 msgstr "sử dụng tập tin cấu hình hệ thống"
 
-#: builtin/config.c:57
+#: builtin/config.c:59
 msgid "use repository config file"
 msgstr "dùng tập tin cấu hình của kho"
 
-#: builtin/config.c:58
+#: builtin/config.c:60
 msgid "use given config file"
 msgstr "sử dụng tập tin cấu hình đã cho"
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "read config from given blob object"
 msgstr "đọc cấu hình từ đối tượng blob đã cho"
 
-#: builtin/config.c:60
+#: builtin/config.c:62
 msgid "Action"
 msgstr "Hành động"
 
-#: builtin/config.c:61
+#: builtin/config.c:63
 msgid "get value: name [value-regex]"
 msgstr "lấy giá-trị: tên [value-regex]"
 
-#: builtin/config.c:62
+#: builtin/config.c:64
 msgid "get all values: key [value-regex]"
 msgstr "lấy tất cả giá-trị: khóa [value-regex]"
 
-#: builtin/config.c:63
+#: builtin/config.c:65
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "lấy giá trị cho regexp: name-regex [value-regex]"
 
-#: builtin/config.c:64
+#: builtin/config.c:66
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "lấy đặc tả giá trị cho URL: phần[.biến] URL"
 
-#: builtin/config.c:65
+#: builtin/config.c:67
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "thay thế tất cả các biến khớp mẫu: tên giá-trị [value_regex]"
 
-#: builtin/config.c:66
+#: builtin/config.c:68
 msgid "add a new variable: name value"
 msgstr "thêm biến mới: tên giá-trị"
 
-#: builtin/config.c:67
+#: builtin/config.c:69
 msgid "remove a variable: name [value-regex]"
 msgstr "gỡ bỏ biến: tên [value-regex]"
 
-#: builtin/config.c:68
+#: builtin/config.c:70
 msgid "remove all matches: name [value-regex]"
 msgstr "gỡ bỏ mọi cái khớp: tên [value-regex]"
 
-#: builtin/config.c:69
+#: builtin/config.c:71
 msgid "rename section: old-name new-name"
 msgstr "đổi tên phần: tên-cũ tên-mới"
 
-#: builtin/config.c:70
+#: builtin/config.c:72
 msgid "remove a section: name"
 msgstr "gỡ bỏ phần: tên"
 
-#: builtin/config.c:71
+#: builtin/config.c:73
 msgid "list all"
 msgstr "liệt kê tất"
 
-#: builtin/config.c:72
+#: builtin/config.c:74
 msgid "open an editor"
 msgstr "mở một trình biên soạn"
 
-#: builtin/config.c:73
+#: builtin/config.c:75
 msgid "find the color configured: slot [default]"
 msgstr "tìm cấu hình màu sắc: slot [mặc định]"
 
-#: builtin/config.c:74
+#: builtin/config.c:76
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "tìm các cài đặt về màu sắc: slot [stdout-là-tty]"
 
-#: builtin/config.c:75
+#: builtin/config.c:77
 msgid "Type"
 msgstr "Kiểu"
 
-#: builtin/config.c:76
+#: builtin/config.c:78
 msgid "value is \"true\" or \"false\""
 msgstr "giá trị là \"true\" hoặc \"false\""
 
-#: builtin/config.c:77
+#: builtin/config.c:79
 msgid "value is decimal number"
 msgstr "giá trị ở dạng số thập phân"
 
-#: builtin/config.c:78
+#: builtin/config.c:80
 msgid "value is --bool or --int"
 msgstr "giá trị là --bool hoặc --int"
 
-#: builtin/config.c:79
+#: builtin/config.c:81
 msgid "value is a path (file or directory name)"
 msgstr "giá trị là đường dẫn (tên tập tin hay thư mục)"
 
-#: builtin/config.c:80
+#: builtin/config.c:82
 msgid "Other"
 msgstr "Khác"
 
-#: builtin/config.c:81
+#: builtin/config.c:83
 msgid "terminate values with NUL byte"
 msgstr "chấm dứt giá trị với byte NUL"
 
-#: builtin/config.c:82
+#: builtin/config.c:84
 msgid "show variable names only"
 msgstr "chỉ hiển thị các tên biến"
 
-#: builtin/config.c:83
+#: builtin/config.c:85
 msgid "respect include directives on lookup"
 msgstr "tôn trọng kể cà các hướng trong tìm kiếm"
 
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+"hiển thị nguyên gốc của cấu hình (tập tin, đầu vào tiêu chuẩn, blob, dòng "
+"lệnh)"
+
+#: builtin/config.c:328
 msgid "unable to parse default color value"
 msgstr "không thể phân tích giá trị màu mặc định"
 
-#: builtin/config.c:441
+#: builtin/config.c:469
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -5582,7 +5765,7 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:575
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "không thể tạo tập tin cấu hình “%s”"
@@ -5832,163 +6015,167 @@ msgstr "git fetch --multiple [<các-tùy-chọn>] [(<kho> | <nhóm>)…]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<các-tùy-chọn>]"
 
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "nối thêm vào .git/FETCH_HEAD thay vì ghi đè lên nó"
 
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
 msgid "path to upload pack on remote end"
 msgstr "đường dẫn đến gói tải lên trên máy chủ cuối"
 
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
 msgid "force overwrite of local branch"
 msgstr "ép buộc ghi đè lên nhánh nội bộ"
 
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
 msgid "fetch all tags and associated objects"
 msgstr "lấy tất cả các thẻ cùng với các đối tượng liên quan đến nó"
 
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "số lượng mô-đun-con được lấy đồng thời"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "cắt cụt (prune) các nhánh “remote-tracking” không còn tồn tại trên máy chủ "
 "nữa"
 
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
 msgid "control recursive fetching of submodules"
 msgstr "điều khiển việc lấy về đệ quy trong các mô-đun-con"
 
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:118 builtin/log.c:1232
+#: builtin/fetch.c:122 builtin/log.c:1236
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
 msgid "prepend this to submodule path output"
 msgstr "soạn sẵn cái này cho kết xuất đường dẫn mô-đun-con"
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
 msgid "default mode for recursion"
 msgstr "chế độ mặc định cho đệ qui"
 
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
 #, c-format
 msgid "! %-*s %-*s -> %s  (can't fetch in current branch)"
 msgstr "! %-*s %-*s -> %s  (không thể fetch (lấy) về nhánh hiện hành)"
 
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
 msgid "  (unable to update local ref)"
 msgstr "  (không thể cập nhật tham chiếu nội bộ)"
 
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
 msgid "(non-fast-forward)"
 msgstr "(không-chuyển-tiếp-nhanh)"
 
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s đã không gửi tất cả các đối tượng cần thiết\n"
 
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -5997,57 +6184,57 @@ msgstr ""
 "một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sẽ trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Tùy chọn \"%s\" có giá trị \"%s\" là không hợp lệ cho %s"
 
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Tùy chọn \"%s\" bị bỏ qua với %s\n"
 
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
 #, c-format
 msgid "Don't know how to fetch from %s"
 msgstr "Không biết làm cách nào để lấy về từ %s"
 
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể “%s” về"
 
-#: builtin/fetch.c:1092
+#: 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."
@@ -6055,32 +6242,32 @@ msgstr ""
 "Chưa chỉ ra kho chứa máy chủ.  Xin hãy chỉ định hoặc là URL hoặc\n"
 "tên máy chủ từ cái mà những điểm xét duyệt mới có thể được fetch (lấy về)."
 
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
 msgid "--depth and --unshallow cannot be used together"
 msgstr "tùy chọn --depth và --unshallow không thể sử dụng cùng với nhau"
 
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow trên kho hoàn chỉnh là không hợp lý"
 
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
 msgid "fetch --all does not take a repository argument"
 msgstr "lệnh lấy về \"fetch --all\" không lấy đối số kho chứa"
 
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
 msgid "fetch --all does not make sense with refspecs"
 msgstr "lệnh lấy về \"fetch --all\" không hợp lý với refspecs"
 
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "không có nhóm máy chủ hay máy chủ như thế: %s"
 
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
@@ -6308,227 +6495,241 @@ msgstr ""
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<các-tùy-chọn>] [-e] <mẫu> [<rev>…] [[--] <đường-dẫn>…]"
 
-#: builtin/grep.c:218
+#: builtin/grep.c:219
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %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 "số tuyến đã cho không hợp lệ (%d) cho %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:491
+#: builtin/grep.c:502
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "không thể thực hiện lệnh grep (lọc tìm) từ đối tượng thuộc kiểu %s"
 
-#: builtin/grep.c:547
+#: builtin/grep.c:558
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "chuyển đến “%c” cần một giá trị bằng số"
 
-#: builtin/grep.c:564
+#: builtin/grep.c:575
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: builtin/grep.c:633
+#: builtin/grep.c:644
 msgid "search in index instead of in the work tree"
 msgstr "tìm trong bảng mục lục thay vì trong cây làm việc"
 
-#: builtin/grep.c:635
+#: builtin/grep.c:646
 msgid "find in contents not managed by git"
 msgstr "tìm trong nội dung không được quản lý bởi git"
 
-#: builtin/grep.c:637
+#: builtin/grep.c:648
 msgid "search in both tracked and untracked files"
 msgstr "tìm kiếm các tập tin được và chưa được theo dõi dấu vết"
 
-#: builtin/grep.c:639
+#: builtin/grep.c:650
 msgid "ignore files specified via '.gitignore'"
 msgstr "các tập tin bị bỏ qua được chỉ định thông qua “.gitignore”"
 
-#: builtin/grep.c:642
+#: builtin/grep.c:653
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:644
+#: builtin/grep.c:655
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:657
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:659
 msgid "process binary files as text"
 msgstr "xử lý tập tin nhị phân như là dạng văn bản thường"
 
-#: builtin/grep.c:650
+#: builtin/grep.c:661
 msgid "don't match patterns in binary files"
 msgstr "không khớp mẫu trong các tập tin nhị phân"
 
-#: builtin/grep.c:653
+#: builtin/grep.c:664
 msgid "process binary files with textconv filters"
 msgstr "xử lý tập tin nhị phân với các bộ lọc “textconv”"
 
-#: builtin/grep.c:655
+#: builtin/grep.c:666
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:659
+#: builtin/grep.c:670
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:662
+#: builtin/grep.c:673
 msgid "use basic POSIX regular expressions (default)"
 msgstr "sử dụng biểu thức chính quy kiểu POSIX (mặc định)"
 
-#: builtin/grep.c:665
+#: builtin/grep.c:676
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:668
+#: builtin/grep.c:679
 msgid "use Perl-compatible regular expressions"
 msgstr "sử dụng biểu thức chính quy tương thích Perl"
 
-#: builtin/grep.c:671
+#: builtin/grep.c:682
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:683
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:673
+#: builtin/grep.c:684
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:675
+#: builtin/grep.c:686
 msgid "show filenames relative to top directory"
 msgstr "hiển thị tên tập tin tương đối với thư mục đỉnh (top)"
 
-#: builtin/grep.c:677
+#: builtin/grep.c:688
 msgid "show only filenames instead of matching lines"
 msgstr "chỉ hiển thị tên tập tin thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:690
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:693
 msgid "show only the names of files without match"
 msgstr "chỉ hiển thị tên cho những tập tin không khớp với mẫu"
 
-#: builtin/grep.c:684
+#: builtin/grep.c:695
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:686
+#: builtin/grep.c:697
 msgid "show the number of matches instead of matching lines"
 msgstr "hiển thị số lượng khớp thay vì những dòng khớp với mẫu"
 
-#: builtin/grep.c:687
+#: builtin/grep.c:698
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:700
 msgid "print empty line between matches from different files"
 msgstr "hiển thị dòng trống giữa các lần khớp từ các tập tin khác biệt"
 
-#: builtin/grep.c:691
+#: builtin/grep.c:702
 msgid "show filename only once above matches from same file"
 msgstr ""
 "hiển thị tên tập tin một lần phía trên các lần khớp từ cùng một tập tin"
 
-#: builtin/grep.c:694
+#: builtin/grep.c:705
 msgid "show <n> context lines before and after matches"
 msgstr "hiển thị <n> dòng nội dung phía trước và sau các lần khớp"
 
-#: builtin/grep.c:697
+#: builtin/grep.c:708
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:699
+#: builtin/grep.c:710
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "dùng <n> tuyến trình làm việc"
+
+#: builtin/grep.c:713
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:703
+#: builtin/grep.c:716
 msgid "show a line with the function name before matches"
 msgstr "hiển thị dòng vói tên hàm trước các lần khớp"
 
-#: builtin/grep.c:705
+#: builtin/grep.c:718
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:708
+#: builtin/grep.c:721
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:723
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:712
+#: builtin/grep.c:725
 msgid "combine patterns specified with -e"
 msgstr "tổ hợp mẫu được chỉ ra với tùy chọn -e"
 
-#: builtin/grep.c:724
+#: builtin/grep.c:737
 msgid "indicate hit with exit status without output"
 msgstr "đưa ra gợi ý với trạng thái thoát mà không có kết xuất"
 
-#: builtin/grep.c:726
+#: builtin/grep.c:739
 msgid "show only matches from files that match all patterns"
 msgstr "chỉ hiển thị những cái khớp từ tập tin mà nó khớp toàn bộ các mẫu"
 
-#: builtin/grep.c:728
+#: builtin/grep.c:741
 msgid "show parse tree for grep expression"
 msgstr "hiển thị cây phân tích cú pháp cho biểu thức “grep” (tìm kiếm)"
 
-#: builtin/grep.c:732
+#: builtin/grep.c:745
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:732
+#: builtin/grep.c:745
 msgid "show matching files in the pager"
 msgstr "hiển thị các tập tin khớp trong trang giấy"
 
-#: builtin/grep.c:735
+#: builtin/grep.c:748
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "cho phép gọi grep(1) (bị bỏ qua bởi lần dịch này)"
 
-#: builtin/grep.c:793
+#: builtin/grep.c:811
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "số tuyến chỉ ra không hợp lệ (%d)"
+
+#: builtin/grep.c:873
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:899
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached hay --untracked không được sử dụng với --no-index."
 
-#: builtin/grep.c:882
+#: builtin/grep.c:904
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr ""
 "--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên "
 "quan đến revs."
 
-#: builtin/grep.c:885
+#: builtin/grep.c:907
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết."
 
-#: builtin/grep.c:893
+#: builtin/grep.c:915
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -6536,36 +6737,36 @@ msgstr ""
 "git hash-object [-t <kiểu>] [-w] [--path=<tập-tin> | --no-filters] [--stdin] "
 "[--] <tập-tin>…"
 
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
 msgid "type"
 msgstr "kiểu"
 
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
 msgid "object type"
 msgstr "kiểu đối tượng"
 
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
 msgid "write the object into the object database"
 msgstr "ghi đối tượng vào dữ liệu đối tượng"
 
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
 msgid "read the object from stdin"
 msgstr "đọc đối tượng từ đầu vào tiêu chuẩn stdin"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "store file as is without filters"
 msgstr "lưu các tập tin mà nó không có các bộ lọc"
 
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "chỉ cần băm rác ngẫu nhiên để tạo một đối tượng hỏng để mà gỡ lỗi Git"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "process file as it were from this path"
 msgstr "xử lý tập tin như là nó đang ở thư mục này"
 
@@ -6616,7 +6817,7 @@ msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 msgid "failed to exec '%s': %s"
 msgstr "gặp lỗi khi thực thi “%s”: %s"
 
-#: builtin/help.c:208
+#: builtin/help.c:205
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -6625,7 +6826,7 @@ msgstr ""
 "“%s”: đường dẫn không hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.cmd” để thay thế."
 
-#: builtin/help.c:220
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -6634,61 +6835,61 @@ msgstr ""
 "“%s”: cmd (lệnh) hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.path” để thay thế."
 
-#: builtin/help.c:337
+#: builtin/help.c:334
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:354
+#: builtin/help.c:351
 msgid "no man viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu cầu"
 
-#: builtin/help.c:362
+#: builtin/help.c:359
 msgid "no info viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng info tiếp hợp với yêu cầu"
 
-#: builtin/help.c:411
+#: builtin/help.c:408
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
-#: builtin/help.c:412
+#: builtin/help.c:409
 msgid "Everyday Git With 20 Commands Or So"
 msgstr "Mỗi ngày học 20 lệnh Git hay hơn"
 
-#: builtin/help.c:413
+#: builtin/help.c:410
 msgid "A Git glossary"
 msgstr "Thuật ngữ chuyên môn Git"
 
-#: builtin/help.c:414
+#: builtin/help.c:411
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Chỉ định các tập tin không cần theo dõi"
 
-#: builtin/help.c:415
+#: builtin/help.c:412
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: builtin/help.c:416
+#: builtin/help.c:413
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: builtin/help.c:417
+#: builtin/help.c:414
 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
 msgstr "Hướng dẫn cách dùng Git ở mức cơ bản (bản 1.5.1 hay mới hơn)"
 
-#: builtin/help.c:418
+#: builtin/help.c:415
 msgid "An overview of recommended workflows with Git"
 msgstr "Tổng quan về luồng công việc khuyến nghị nên dùng với Git."
 
-#: builtin/help.c:430
+#: builtin/help.c:427
 msgid "The common Git guides are:\n"
 msgstr "Các chỉ dẫn chung về cách dùng Git là:\n"
 
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách dùng: %s%s"
 
-#: builtin/help.c:484
+#: builtin/help.c:481
 #, c-format
 msgid "`git %s' is aliased to `%s'"
 msgstr "“git %s” được đặt bí danh thành “%s”"
@@ -6921,58 +7122,53 @@ msgstr "không thể lưu trữ tập tin ghi mục lục"
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "số tuyến chỉ ra không hợp lệ (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin gói đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin idx của gói cho “%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] "không delta: %d đối tượng"
 
-#: 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] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: 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 sai"
 
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin không thể được dùng mà không có --stdin"
 
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -7098,24 +7294,32 @@ msgstr "không thể truy cập cây (tree) làm việc “%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 <thẻ>[(=|:)<giá-trị>])…] "
-"[<tập-tin>…]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<thẻ>[(=|:)<giá-trị>])…] [<tập-tin>…]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "sửa các tập tin tại chỗ"
 
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:27
 msgid "trim empty trailers"
 msgstr "bộ dò vết cắt bỏ phần trống rỗng"
 
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
 msgid "trailer"
 msgstr "bộ dò vết"
 
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
 msgid "trailer(s) to add"
 msgstr "bộ dò vết cần thêm"
 
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "không đưa ra tập tin đầu vào để sửa tại-chỗ"
+
 #: builtin/log.c:43
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<các-tùy-chọn>] [<vùng-xem-xét>] [[--] <đường-dẫn>…]"
@@ -7169,220 +7373,224 @@ msgstr "Không thể đọc đối tượng %s"
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:714
+#: builtin/log.c:715
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:798
+#: builtin/log.c:801
 msgid "name of output directory is too long"
 msgstr "tên của thư mục kết xuất quá dài"
 
-#: builtin/log.c:813
+#: builtin/log.c:816
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:827
+#: builtin/log.c:830
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:837
+#: builtin/log.c:840
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:943
+#: builtin/log.c:946
 msgid "Cover letter needs email format"
 msgstr "“Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1022
+#: builtin/log.c:1025
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1050
+#: builtin/log.c:1053
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<các-tùy-chọn>] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1095
+#: builtin/log.c:1098
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1210
+#: builtin/log.c:1214
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "dùng [PATCH n/m] ngay cả với miếng vá đơn"
 
-#: builtin/log.c:1213
+#: builtin/log.c:1217
 msgid "use [PATCH] even with multiple patches"
 msgstr "dùng [VÁ] ngay cả với các miếng vá phức tạp"
 
-#: builtin/log.c:1217
+#: builtin/log.c:1221
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1219
+#: builtin/log.c:1223
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1221
+#: builtin/log.c:1225
 msgid "use simple number sequence for output file names"
 msgstr "sử dụng chỗi dãy số dạng đơn giản cho tên tập-tin xuất ra"
 
-#: builtin/log.c:1222
+#: builtin/log.c:1226
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1223
+#: builtin/log.c:1227
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1225
+#: builtin/log.c:1229
 msgid "start numbering patches at <n> instead of 1"
 msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1"
 
-#: builtin/log.c:1227
+#: builtin/log.c:1231
 msgid "mark the series as Nth re-roll"
 msgstr "đánh dấu chuỗi nối tiếp dạng thứ-N re-roll"
 
-#: builtin/log.c:1229
+#: builtin/log.c:1233
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1232
+#: builtin/log.c:1236
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1235
+#: builtin/log.c:1239
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1238
+#: builtin/log.c:1242
 msgid "don't output binary diffs"
 msgstr "không kết xuất diff (những khác biệt) nhị phân"
 
-#: builtin/log.c:1240
+#: builtin/log.c:1244
+msgid "output all-zero hash in From header"
+msgstr "xuất mọi mã băm all-zero trong phần đầu From"
+
+#: builtin/log.c:1246
 msgid "don't include a patch matching a commit upstream"
 msgstr "không bao gồm miếng vá khớp với một lần chuyển giao thượng nguồn"
 
-#: builtin/log.c:1242
+#: builtin/log.c:1248
 msgid "show patch format instead of default (patch + stat)"
 msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)"
 
-#: builtin/log.c:1244
+#: builtin/log.c:1250
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1245
+#: builtin/log.c:1251
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1246
+#: builtin/log.c:1252
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1247 builtin/log.c:1249
+#: builtin/log.c:1253 builtin/log.c:1255
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1247
+#: builtin/log.c:1253
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1249
+#: builtin/log.c:1255
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1251
+#: builtin/log.c:1257
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1252
+#: builtin/log.c:1258
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "đặt “Địa chỉ gửi” thành <thụ lề> (hoặc thụt lề người commit nếu bỏ quên)"
 
-#: builtin/log.c:1254
+#: builtin/log.c:1260
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1255
+#: builtin/log.c:1261
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1256 builtin/log.c:1259
+#: builtin/log.c:1262 builtin/log.c:1265
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1257
+#: builtin/log.c:1263
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1260
+#: builtin/log.c:1266
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1264
+#: builtin/log.c:1270
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1266
+#: builtin/log.c:1272
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1267
+#: builtin/log.c:1273
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1269
+#: builtin/log.c:1275
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1270
+#: builtin/log.c:1276
 msgid "don't print the patch filenames"
 msgstr "không hiển thị các tên tập tin của miếng vá"
 
-#: builtin/log.c:1359
+#: builtin/log.c:1365
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1361
+#: builtin/log.c:1367
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1369
+#: builtin/log.c:1375
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1371
+#: builtin/log.c:1377
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1373
+#: builtin/log.c:1379
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1396
+#: builtin/log.c:1407
 msgid "standard output, or directory, which one?"
 msgstr "đầu ra chuẩn, hay thư mục, chọn cái nào?"
 
-#: builtin/log.c:1398
+#: builtin/log.c:1409
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1495
+#: builtin/log.c:1506
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1558
+#: builtin/log.c:1569
 msgid "Failed to create output files"
 msgstr "Gặp lỗi khi tạo các tập tin kết xuất"
 
-#: builtin/log.c:1606
+#: builtin/log.c:1617
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:1660
+#: builtin/log.c:1671
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7390,106 +7598,156 @@ msgstr ""
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/log.c:1671 builtin/log.c:1673 builtin/log.c:1685
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
 
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các-tùy-chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
 msgid "identify the file status with tags"
 msgstr "nhận dạng các trạng thái tập tin với thẻ"
 
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "dùng chữ cái viết thường cho các tập tin “assume unchanged” (giả định không "
 "thay đổi)"
 
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
 msgid "show cached files in the output (default)"
 msgstr "hiển thị các tập tin được nhớ tạm vào đầu ra (mặc định)"
 
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
 msgid "show deleted files in the output"
 msgstr "hiển thị các tập tin đã xóa trong kết xuất"
 
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
 msgid "show modified files in the output"
 msgstr "hiển thị các tập tin đã bị sửa đổi ra kết xuất"
 
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
 msgid "show other files in the output"
 msgstr "hiển thị các tập tin khác trong kết xuất"
 
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
 msgid "show ignored files in the output"
 msgstr "hiển thị các tập tin bị bỏ qua trong kết xuất"
 
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được đặt lên bệ phóng ra kết xuất"
 
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
 msgid "show files on the filesystem that need to be removed"
 msgstr "hiển thị các tập tin trên hệ thống tập tin mà nó cần được gỡ bỏ"
 
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
 msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "hiển thị kết thúc dòng của các tập tin"
+
+#: builtin/ls-files.c:450
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
 msgid "show unmerged files in the output"
 msgstr "hiển thị các tập tin chưa hòa trộn trong kết xuất"
 
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
 msgid "skip files matching pattern"
 msgstr "bỏ qua những tập tin khớp với một mẫu"
 
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "đọc thêm các mẫu ngoại trừ mỗi thư mục trong <tập tin>"
 
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
 msgid "make the output relative to the project top directory"
 msgstr "làm cho kết xuất liên quan đến thư mục ở mức cao nhất (gốc) của dự án"
 
-#: 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 "nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi"
 
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện"
 
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
+#: 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] [<kho> [<các tham chiếu>…]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "không hiển thị URL máy chủ"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "thực thi"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "đường dẫn của git-upload-pack trên máy chủ"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "giới hạn tới các thẻ"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "giới hạn cho các đầu"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "không hiển thị thẻ bị peel (gọt bỏ)"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "lấy url.<base>.insteadOf vào trong tài khoản"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "thoát với mã là 2 nếu không tìm thấy tham chiếu nào khớp"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "hiển thị tham chiếu nằm dưới để thêm vào đối tượng được chỉ bởi nó"
+
 #: builtin/ls-tree.c:28
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>…]"
@@ -7557,31 +7815,31 @@ msgstr "Các chiến lược sẵn sàng là:"
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
 msgid "do not show a diffstat at the end of the merge"
 msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
 
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
 msgid "show a diffstat at the end of the merge"
 msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
 
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
 
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
 msgid "create a single commit instead of doing a merge"
 msgstr "tạo một lần chuyển giao đưon thay vì thực hiện việc hòa trộn"
 
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
 
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
@@ -7589,7 +7847,7 @@ msgstr "sửa chú thích trước khi chuyển giao"
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu chuyển-tiếp-nhanh không thể được"
 
@@ -7597,20 +7855,20 @@ msgstr "bỏ qua nếu chuyển-tiếp-nhanh không thể được"
 msgid "Verify that the named commit has a valid GPG signature"
 msgstr "Thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không"
 
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
 #: builtin/revert.c:89
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
 msgid "option for selected merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn đã chọn"
 
@@ -7650,8 +7908,8 @@ msgstr " (không có gì để squash)"
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: 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 "Không thể ghi vào “%s”"
@@ -7669,43 +7927,43 @@ msgstr "Hoàn thành SQUASH_MSG"
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không có lời chú thích hòa trộn -- nên không cập nhật HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:448
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:538
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:656
+#: builtin/merge.c:657
 msgid "Not handling anything other than two heads merge."
 msgstr "Không cầm nắm gì ngoài hai head hòa trộn"
 
-#: builtin/merge.c:670
+#: builtin/merge.c:671
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Không hiểu tùy chọn cho merge-recursive: -X%s"
 
-#: builtin/merge.c:683
+#: builtin/merge.c:684
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:772
+#: builtin/merge.c:773
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:781
+#: builtin/merge.c:782
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Vẫn chưa hòa trộn các lần chuyển giao; sử dụng lệnh “git commit” để hoàn tất "
 "việc hòa trộn.\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"
@@ -7723,55 +7981,55 @@ msgstr ""
 "rỗng\n"
 "sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:811
+#: builtin/merge.c:812
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:823
+#: builtin/merge.c:824
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:878
+#: builtin/merge.c:879
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Việc tự động hòa trộn gặp lỗi; hãy sửa các xung đột sau đó chuyển giao kết "
 "quả.\n"
 
-#: builtin/merge.c:894
+#: builtin/merge.c:895
 #, c-format
 msgid "'%s' is not a commit"
 msgstr "%s không phải là một lần commit (chuyển giao)"
 
-#: builtin/merge.c:935
+#: builtin/merge.c:936
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:937
+#: builtin/merge.c:938
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:939
+#: builtin/merge.c:940
 msgid "No default upstream defined for the current branch."
 msgstr "Không có thượng nguồn mặc định được định nghĩa cho nhánh hiện hành."
 
-#: builtin/merge.c:944
+#: builtin/merge.c:945
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Không nhánh mạng theo dõi cho %s từ %s"
 
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 "Ở đây không có lần hòa trộn nào được hủy bỏ giữa chừng cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7779,7 +8037,7 @@ msgstr ""
 "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -7787,103 +8045,103 @@ msgstr ""
 "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại)."
 
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Không chỉ ra lần chuyển giao và merge.defaultToUpstream chưa được đặt."
 
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
 msgid "Squash commit into empty head not supported yet"
 msgstr "Squash commit vào một head trống rỗng vẫn chưa được hỗ trợ"
 
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao không-chuyển-tiếp-nhanh không hợp lý ở trong một head trống rỗng"
 
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - không phải là một số thứ chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Không thể hòa trộn một cách đúng đắn một lần chuyển giao vào một head rỗng"
 
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Đang thử hòa trộn kiểu “trivial in-index”…\n"
 
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh chuyển-tiếp-nhanh là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Đang tua lại cây thành thời xa xưa…\n"
 
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Không có chiến lược hòa trộn nào được nắm giữ (handle) sự hòa trộn.\n"
 
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Hòa trộn với chiến lược %s gặp lỗi.\n"
 
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Sử dụng %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -7970,19 +8228,19 @@ msgstr "không cảnh báo về các xung đột xảy ra"
 msgid "set labels for file1/orig-file/file2"
 msgstr "đặt nhãn cho tập-tin-1/tập-tin-gốc/tập-tin-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 "đầu vào được chấm dứt bởi NUL"
 
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
 msgid "allow missing objects"
 msgstr "cho phép thiếu đối tượng"
 
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
@@ -7990,91 +8248,91 @@ msgstr "cho phép tạo nhiều hơn một cây"
 msgid "git mv [<options>] <source>... <destination>"
 msgstr "git mv [<các-tùy-chọn>] <nguồn>… <đích>"
 
-#: builtin/mv.c:69
+#: builtin/mv.c:70
 #, c-format
 msgid "Directory %s is in index and no submodule?"
 msgstr "Thư mục “%s” có ở trong chỉ mục mà không có mô-đun con?"
 
-#: builtin/mv.c:71
+#: builtin/mv.c:72
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
 
-#: builtin/mv.c:89
+#: builtin/mv.c:90
 #, c-format
 msgid "%.*s is in index"
 msgstr "%.*s trong bảng mục lục"
 
-#: builtin/mv.c:111
+#: builtin/mv.c:112
 msgid "force move/rename even if target exists"
 msgstr "ép buộc di chuyển hay đổi tên thậm chí cả khi đích đã tồn tại"
 
-#: builtin/mv.c:112
+#: builtin/mv.c:113
 msgid "skip move/rename errors"
 msgstr "bỏ qua các lỗi liên quan đến di chuyển, đổi tên"
 
-#: builtin/mv.c:151
+#: builtin/mv.c:152
 #, c-format
 msgid "destination '%s' is not a directory"
 msgstr "có đích “%s” nhưng đây không phải là một thư mục"
 
-#: builtin/mv.c:162
+#: builtin/mv.c:163
 #, c-format
 msgid "Checking rename of '%s' to '%s'\n"
 msgstr "Đang kiểm tra việc đổi tên của “%s” thành “%s”\n"
 
-#: builtin/mv.c:166
+#: builtin/mv.c:167
 msgid "bad source"
 msgstr "nguồn sai"
 
-#: builtin/mv.c:169
+#: builtin/mv.c:170
 msgid "can not move directory into itself"
 msgstr "không thể di chuyển một thư mục vào trong chính nó được"
 
-#: builtin/mv.c:172
+#: builtin/mv.c:173
 msgid "cannot move directory over file"
 msgstr "không di chuyển được thư mục thông qua tập tin"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:182
 msgid "source directory is empty"
 msgstr "thư mục nguồn là trống rỗng"
 
-#: builtin/mv.c:206
+#: builtin/mv.c:207
 msgid "not under version control"
 msgstr "không nằm dưới sự quản lý mã nguồn"
 
-#: builtin/mv.c:209
+#: builtin/mv.c:210
 msgid "destination exists"
 msgstr "đích đã tồn tại sẵn rồi"
 
-#: builtin/mv.c:217
+#: builtin/mv.c:218
 #, c-format
 msgid "overwriting '%s'"
 msgstr "đang ghi đè lên “%s”"
 
-#: builtin/mv.c:220
+#: builtin/mv.c:221
 msgid "Cannot overwrite"
 msgstr "Không thể ghi đè"
 
-#: builtin/mv.c:223
+#: builtin/mv.c:224
 msgid "multiple sources for the same target"
 msgstr "Nhiều nguồn cho cùng một đích"
 
-#: builtin/mv.c:225
+#: builtin/mv.c:226
 msgid "destination directory does not exist"
 msgstr "thư mục đích không tồn tại"
 
-#: builtin/mv.c:232
+#: builtin/mv.c:233
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, nguồn=%s, đích=%s"
 
-#: builtin/mv.c:253
+#: builtin/mv.c:254
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
@@ -8274,9 +8532,9 @@ msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
 
 #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: 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 "Gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
@@ -8291,42 +8549,42 @@ msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 msgid "Cannot read note data from non-blob object '%s'."
 msgstr "không thể đọc dữ liệu ghi chú từ đối tượng không-blob “%s”."
 
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: 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 "quá nhiều đối số"
 
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
 #, c-format
 msgid "No note found for object %s."
 msgstr "không tìm thấy ghi chú cho đối tượng %s."
 
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
 msgid "note contents as a string"
 msgstr "nội dung ghi chú (note) nằm trong một chuỗi"
 
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
 msgid "note contents in a file"
 msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
 msgid "reuse and edit specified note object"
 msgstr "dùng lại nhưng có sửa chữa đối tượng note đã chỉ ra"
 
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "reuse specified note object"
 msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
 
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "allow storing empty note"
 msgstr "cho lưu trữ ghi chú trống rỗng"
 
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
 msgid "replace existing notes"
 msgstr "thay thế ghi chú trước"
 
-#: builtin/notes.c:431
+#: builtin/notes.c:434
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8335,29 +8593,29 @@ msgstr ""
 "Không thể thêm các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối tượng "
 "%s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Đang ghi đè lên ghi chú cũ cho đối tượng %s\n"
 
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Đang gỡ bỏ ghi chú (note) cho đối tượng %s\n"
 
-#: builtin/notes.c:478
+#: builtin/notes.c:481
 msgid "read objects from stdin"
 msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
 
-#: builtin/notes.c:480
+#: builtin/notes.c:483
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "tải cấu hình chép lại cho <lệnh> (ngầm định là --stdin)"
 
-#: builtin/notes.c:498
+#: builtin/notes.c:501
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:519
+#: builtin/notes.c:522
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8366,12 +8624,12 @@ msgstr ""
 "Không thể sao chép các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối "
 "tượng %s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:531
+#: builtin/notes.c:534
 #, c-format
 msgid "Missing notes on source object %s. Cannot copy."
 msgstr "Thiếu ghi chú trên đối tượng nguồn %s. Không thể sao chép."
 
-#: builtin/notes.c:583
+#: builtin/notes.c:586
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8380,15 +8638,15 @@ msgstr ""
 "Các tùy chọn -m/-F/-c/-C đã cổ không còn dùng nữa cho lệnh con “edit”.\n"
 "Xin hãy sử dụng lệnh sau để thay thế: “git notes add -f -m/-F/-c/-C”.\n"
 
-#: builtin/notes.c:764
+#: builtin/notes.c:767
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:766
+#: builtin/notes.c:769
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:768
+#: builtin/notes.c:771
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -8396,51 +8654,51 @@ msgstr ""
 "phân giải các xung đột “notes” sử dụng chiến lược đã đưa ra (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:770
+#: builtin/notes.c:773
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:772
+#: builtin/notes.c:775
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 "các note cuối cùng được hòa trộn bởi các note chưa hòa trộn của lần chuyển "
 "giao"
 
-#: builtin/notes.c:774
+#: builtin/notes.c:777
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:779
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:853
+#: builtin/notes.c:856
 #, c-format
 msgid "A notes merge into %s is already in-progress at %s"
 msgstr "Các ghi chú hòa trộn vào %s đã sẵn trong quá trình xử lý tại %s"
 
-#: builtin/notes.c:880
+#: builtin/notes.c:883
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:892
+#: builtin/notes.c:895
 msgid "attempt to remove non-existent note is not an error"
 msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải là một lỗi"
 
-#: builtin/notes.c:895
+#: builtin/notes.c:898
 msgid "read object names from the standard input"
 msgstr "đọc tên đối tượng từ thiết bị nhập chuẩn"
 
-#: builtin/notes.c:976
+#: builtin/notes.c:979
 msgid "notes-ref"
 msgstr "notes-ref"
 
-#: builtin/notes.c:977
+#: builtin/notes.c:980
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
@@ -8464,166 +8722,166 @@ msgstr ""
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "tắt ghi bitmap, như vậy một số đối tượng sẽ không được đóng gói"
 
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
 #, c-format
 msgid "unsupported index version %s"
 msgstr "phiên bản mục lục không được hỗ trợ %s"
 
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
 
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
 msgid "write the pack index file in the specified idx format version"
 msgstr "ghi tập tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho"
 
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
 msgid "maximum size of each output pack file"
 msgstr "kcíh thước tối đa cho tập tin gói được tạo"
 
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
 msgid "ignore borrowed objects from alternate object store"
 msgstr "bỏ qua các đối tượng vay mượn từ kho đối tượng thay thế"
 
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
 msgid "limit pack window by objects"
 msgstr "giới hạn cửa sổ đóng gói theo đối tượng"
 
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
 msgid "limit pack window by memory in addition to object limit"
 msgstr "giới hạn cửa sổ đóng gói theo bộ nhớ cộng thêm với giới hạn đối tượng"
 
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr "độ dài tối đa của chuỗi móc xích “delta” được phép trong gói kết quả"
 
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
 msgid "use threads when searching for best delta matches"
 msgstr "sử dụng các tuyến trình khi tìm kiếm cho các mẫu khớp delta tốt nhất"
 
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói trống rỗng"
 
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
 msgid "limit the objects to those that are not yet packed"
 msgstr "giới hạn các đối tượng thành những cái mà chúng vẫn chưa được đóng gói"
 
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
 msgid "include objects reachable from any reference"
 msgstr "bao gồm các đối tượng có thể đọc được từ bất kỳ tham chiếu nào"
 
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
 msgid "include objects referred by reflog entries"
 msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog"
 
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
 msgid "include objects referred to by the index"
 msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục"
 
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
 msgid "include tag objects that refer to objects to be packed"
 msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói"
 
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
 msgid "unpack unreachable objects newer than <time>"
 msgstr ""
 "xả nén (gỡ khỏi gói) các đối tượng không thể đọc được mới hơn <thời-gian>"
 
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
 msgid "create packs suitable for shallow fetches"
 msgstr "tạo gói để phù hợp cho lấy về nông (shallow)"
 
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
 msgid "ignore packs that have companion .keep file"
 msgstr "bỏ qua các gói mà nó có tập tin .keep đi kèm"
 
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
 msgid "do not hide commits by grafts"
 msgstr "không ẩn các lần chuyển giao bởi “grafts”"
 
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "dùng mục lục ánh xạ nếu có thể được để nâng cao tốc độ đếm đối tượng"
 
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
 msgid "write a bitmap index together with the pack index"
 msgstr "ghi một mục lục ánh xạ cùng với mục lục gói"
 
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
@@ -8667,50 +8925,54 @@ msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 msgid "cannot prune in a precious-objects repo"
 msgstr "không thể tỉa bớt trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/pull.c:69
+#: builtin/pull.c:72
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/pull.c:113
+#: builtin/pull.c:117
 msgid "Options related to merging"
 msgstr "Các tùy chọn liên quan đến hòa trộn"
 
-#: builtin/pull.c:116
+#: builtin/pull.c:120
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
-#: builtin/pull.c:146
+#: builtin/pull.c:150
 msgid "verify that the named commit has a valid GPG signature"
 msgstr "thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không"
 
-#: builtin/pull.c:160
+#: builtin/pull.c:164
 msgid "Options related to fetching"
 msgstr "Các tùy chọn liên quan đến lệnh lấy về"
 
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "số lượng mô-đun-con được đẩy lên đồng thời"
+
+#: builtin/pull.c:275
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Giá trị không hợp lệ cho pull.ff: %s"
 
-#: builtin/pull.c:352
+#: builtin/pull.c:359
 msgid "Cannot pull with rebase: You have unstaged changes."
 msgstr ""
 "Không thể pull với cải tổ: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: builtin/pull.c:358
+#: builtin/pull.c:365
 msgid "Additionally, your index contains uncommitted changes."
 msgstr ""
 "Thêm vào đó, bảng mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: builtin/pull.c:360
+#: builtin/pull.c:367
 msgid "Cannot pull with rebase: Your index contains uncommitted changes."
 msgstr "Không thể pull với cải tổ: Bạn có các thay đổi chưa được chuyển giao."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:443
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -8718,14 +8980,14 @@ msgstr ""
 "Ở đây không có ứng cử nào để cải tổ lại trong số các tham chiếu mà bạn vừa "
 "lấy về."
 
-#: builtin/pull.c:438
+#: builtin/pull.c:445
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Ở đây không có ứng cử nào để hòa trộn trong số các tham chiếu mà bạn vừa lấy "
 "về."
 
-#: builtin/pull.c:439
+#: builtin/pull.c:446
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -8734,7 +8996,7 @@ msgstr ""
 "tự\n"
 "đại diện mà nó lại không khớp trên điểm cuối máy phục vụ."
 
-#: builtin/pull.c:442
+#: builtin/pull.c:449
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -8746,27 +9008,27 @@ msgstr ""
 "theo mặc định cho nhánh hiện tại của bạn, bạn phải chỉ định\n"
 "một nhánh trên dòng lệnh."
 
-#: builtin/pull.c:447
+#: builtin/pull.c:454
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
 msgid "Please specify which branch you want to rebase against."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn cải tổ lại."
 
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
 msgid "Please specify which branch you want to merge with."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn hòa trộn vào."
 
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
 msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
-#: builtin/pull.c:462
+#: builtin/pull.c:469
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
-#: builtin/pull.c:471
+#: builtin/pull.c:478
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -8779,7 +9041,7 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/pull.c:476
+#: builtin/pull.c:483
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -8788,13 +9050,13 @@ msgstr ""
 "Các đặc tả cấu hình của bạn để hòa trộn với tham chiếu “%s”\n"
 "từ máy dịch vụ, nhưng không có nhánh nào như thế được lấy về."
 
-#: builtin/pull.c:830
+#: builtin/pull.c:841
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào "
 "bảng mục lục."
 
-#: builtin/pull.c:859
+#: builtin/pull.c:870
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -8805,7 +9067,7 @@ msgstr ""
 "đang chuyển-tiếp-nhanh cây làm việc của bạn từ\n"
 "lần chuyển giaot %s."
 
-#: builtin/pull.c:864
+#: builtin/pull.c:875
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -8823,27 +9085,27 @@ msgstr ""
 "$ git reset --hard\n"
 "để khôi phục lại."
 
-#: builtin/pull.c:879
+#: builtin/pull.c:890
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Không thể hòa trộn nhiều nhánh vào trong một head trống rỗng."
 
-#: builtin/pull.c:883
+#: builtin/pull.c:894
 msgid "Cannot rebase onto multiple branches."
 msgstr "Không thể thực hiện lệnh rebase (cải tổ) trên nhiều nhánh."
 
-#: builtin/push.c:15
+#: builtin/push.c:16
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/push.c:86
+#: builtin/push.c:89
 msgid "tag shorthand without <tag>"
 msgstr "dùng tốc ký thẻ không có <thẻ>"
 
-#: builtin/push.c:96
+#: builtin/push.c:99
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete chỉ chấp nhận các tên tham chiếu dạng thường"
 
-#: builtin/push.c:140
+#: builtin/push.c:143
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -8852,7 +9114,7 @@ msgstr ""
 "Để chọn mỗi tùy chọn một cách cố định, xem push.default trong “git help "
 "config”."
 
-#: builtin/push.c:143
+#: builtin/push.c:146
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -8877,7 +9139,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:158
+#: builtin/push.c:161
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -8892,7 +9154,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<tên-của-nhánh-máy-chủ>\n"
 
-#: builtin/push.c:172
+#: builtin/push.c:175
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -8906,12 +9168,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:180
+#: builtin/push.c:183
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "Nhánh hiện tại %s có nhiều nhánh thượng nguồn, từ chối push."
 
-#: builtin/push.c:183
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -8923,60 +9185,14 @@ msgstr ""
 "nhánh hiện tại “%s” của bạn, mà không báo cho tôi biết là cái gì được push\n"
 "để cập nhật nhánh máy chủ nào."
 
-#: builtin/push.c:206
-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 ""
-"biến push.default chưa được đặt; giá trị ngầm định của nó\n"
-"đã được thay đổi trong Git 2.0 từ “matching” thành “simple”.\n"
-"Để không hiển thị nhắc nhở này và duy trì cách xử lý cũ, hãy chạy lệnh:\n"
-"\n"
-"  git config --global push.default matching\n"
-"\n"
-"Để không hiển thị nhắc nhở này và áp dụng cách ứng xử mới, hãy chạy lệnh:\n"
-"\n"
-"  git config --global push.default simple\n"
-"\n"
-"Khi push.default được đặt thành “matching”, git sẽ đẩy các nhánh nội bộ\n"
-"lên các nhánh trên máy chủ, cái mà đã sẵn có và cùng tên.\n"
-"\n"
-"Trong 2.0, Git sẽ mặc định duy trì các ứng xử “simple”,\n"
-"cái này chỉ đẩy những nhánh hiện hành lên các nhánh tương ứng\n"
-"trên máy chủ cái mà lệnh “git pull” dùng để cập nhật nhánh hiện tại.\n"
-"\n"
-"Xem “git help config” và tìm đến “push.default” để có thêm thông tin.\n"
-"(chế độ “simple” được bắt đầu sử dụng từ Git 1.7.11. Sử dụng chế độ tương "
-"tự\n"
-"“current” thay vì “simple” nếu bạn thỉnh thoảng phải sử dụng bản Git cũ)"
-
-#: builtin/push.c:273
+#: builtin/push.c:242
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Bạn đã không chỉ ra một refspecs nào để đẩy lên, và push.default là \"không "
 "là gì cả\"."
 
-#: builtin/push.c:280
+#: 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"
@@ -8989,7 +9205,7 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:286
+#: 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"
@@ -9003,7 +9219,7 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:292
+#: 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"
@@ -9018,11 +9234,11 @@ msgstr ""
 "Xem “Note about fast-forwards” trong “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:299
+#: builtin/push.c:268
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr "Việc cập nhật bị từ chối bởi vì thẻ đã sẵn có từ trước trên máy chủ."
 
-#: builtin/push.c:302
+#: 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"
@@ -9034,22 +9250,22 @@ msgstr ""
 "đối tượng\n"
 "không phải chuyển giao, mà không sử dụng tùy chọn “--force”.\n"
 
-#: builtin/push.c:361
+#: builtin/push.c:331
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang đẩy lên %s\n"
 
-#: builtin/push.c:365
+#: builtin/push.c:335
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi đẩy tới một số tham chiếu đến “%s”"
 
-#: builtin/push.c:395
+#: builtin/push.c:365
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:396
+#: builtin/push.c:366
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -9070,100 +9286,100 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:411
+#: builtin/push.c:381
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:412
+#: builtin/push.c:382
 msgid "--all can't be combined with refspecs"
 msgstr "--all không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:417
+#: builtin/push.c:387
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:418
+#: builtin/push.c:388
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:423
+#: builtin/push.c:393
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:539
+#: builtin/push.c:505
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:540 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
 msgid "push all refs"
 msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:541 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:543
+#: builtin/push.c:509
 msgid "delete refs"
 msgstr "xóa các tham chiếu"
 
-#: builtin/push.c:544
+#: builtin/push.c:510
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:547 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:549 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
 msgid "refname>:<expect"
 msgstr "tên-tham-chiếu>:<cần"
 
-#: builtin/push.c:550 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
 msgid "require old value of ref to be at this value"
 msgstr "yêu cầu giá-trị cũ của tham chiếu thì là giá-trị này"
 
-#: builtin/push.c:553
+#: builtin/push.c:519
 msgid "control recursive pushing of submodules"
 msgstr "điều khiển việc đẩy lên (push) đệ qui của mô-đun-con"
 
-#: builtin/push.c:555 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:556 builtin/push.c:557 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
 #: builtin/send-pack.c:159
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
-#: builtin/push.c:558
+#: builtin/push.c:524
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn cho git pull/status"
 
-#: builtin/push.c:561
+#: builtin/push.c:527
 msgid "prune locally removed refs"
 msgstr "xén tỉa những tham chiếu bị gỡ bỏ"
 
-#: builtin/push.c:563
+#: builtin/push.c:529
 msgid "bypass pre-push hook"
 msgstr "vòng qua móc tiền-đẩy (pre-push)"
 
-#: builtin/push.c:564
+#: builtin/push.c:530
 msgid "push missing but relevant tags"
 msgstr "push phần bị thiếu nhưng các thẻ lại thích hợp"
 
-#: builtin/push.c:567 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
 msgid "GPG sign the push"
 msgstr "ký lần đẩy dùng GPG"
 
-#: builtin/push.c:569 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
 msgid "request atomic transaction on remote side"
 msgstr "yêu cầu giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/push.c:579
+#: builtin/push.c:549
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete là xung khắc với các tùy chọn --all, --mirror và --tags"
 
-#: builtin/push.c:581
+#: builtin/push.c:551
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu nào"
 
@@ -9243,12 +9459,12 @@ msgstr "bỏ qua áp dụng bộ lọc lấy ra (checkout) thưa thớt"
 msgid "debug unpack-trees"
 msgstr "gỡ lỗi “unpack-trees”"
 
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "“%s” dành cho “%s” không phải là dấu vết thời gian hợp lệ"
 
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "“%s” không phải là dấu thời gian hợp lệ"
@@ -9389,55 +9605,45 @@ msgstr "đang chỉ định một nhánh master không hợp lý với tùy ch
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "chỉ định những nhánh để theo dõi chỉ hợp lý với các “fetch mirror”"
 
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
 #, c-format
 msgid "remote %s already exists."
 msgstr "máy chủ %s đã tồn tại rồi."
 
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
 
-#: builtin/remote.c:241
+#: builtin/remote.c:234
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Không thể cài đặt nhánh master “%s”"
 
-#: builtin/remote.c:341
+#: builtin/remote.c:336
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "Không thể lấy ánh xạ (map) fetch cho đặc tả tham chiếu %s"
 
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
 msgid "(matching)"
 msgstr "(khớp)"
 
-#: builtin/remote.c:454
+#: builtin/remote.c:449
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "Không thể nối thêm “%s” vào “%s”"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
 #, c-format
 msgid "No such remote: %s"
 msgstr "Không có máy chủ nào như thế: %s"
 
-#: builtin/remote.c:653
+#: builtin/remote.c:643
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Không thể đổi tên phần của cấu hình từ “%s” thành “%s”"
 
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -9448,27 +9654,17 @@ msgstr ""
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "Không thể nối thêm “%s”"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "Không thể đặt “%s”"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/remote.c:747
+#: builtin/remote.c:733
 #, c-format
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:813
+#: builtin/remote.c:796
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -9480,272 +9676,277 @@ msgstr[0] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
+
+#: builtin/remote.c:911
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
-#: builtin/remote.c:931
+#: builtin/remote.c:914
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:933
+#: builtin/remote.c:916
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:935
+#: builtin/remote.c:918
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:959
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:967
 #, c-format
-msgid "rebases onto remote %s"
-msgstr "thực hiện rebase trên máy chủ %s"
+msgid "rebases interactively onto remote %s"
+msgstr "thực hiện rebase một cách tương tác trên máy chủ %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:971
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:987
+#: builtin/remote.c:972
 msgid "    and with remote"
 msgstr "    và với máy chủ"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:974
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:990
+#: builtin/remote.c:975
 msgid "   and with remote"
 msgstr "   và với máy chủ"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
 msgid "delete"
 msgstr "xóa"
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
 msgid "fast-forwardable"
 msgstr "có-thể-chuyển-tiếp-nhanh"
 
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
 msgid "(no URL)"
 msgstr "(không có URL)"
 
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
-#: builtin/remote.c:1221
+#: 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] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Nhiều nhánh HEAD máy chủ. Hãy chọn rõ ràng một:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [đã bị xén] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
 msgid "query push URLs rather than fetch URLs"
 msgstr "truy vấn đẩy URL thay vì lấy"
 
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
 msgid "return all URLs"
 msgstr "trả về mọi URL"
 
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "không có URL nào được cấu hình cho nhánh “%s”"
 
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
@@ -10049,7 +10250,7 @@ msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
 msgid "rev-list does not support display of notes"
 msgstr "rev-list không hỗ trợ hiển thị các ghi chú"
 
@@ -10297,28 +10498,23 @@ msgstr "in các trạng thái từ phần hướng dẫn trên máy dịch vụ"
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<các-tùy-chọn>] [<vùng-xét-duyệt>] [[--] [<đường-dẫn>…]]"
 
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "Thiếu tên tác giả: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
 msgid "sort output according to the number of commits per author"
 msgstr "sắp xếp kết xuất tuân theo số lượng chuyển giao trên mỗi tác giả"
 
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
 msgid "Suppress commit descriptions, only provides commit count"
 msgstr "Chặn mọi mô tả lần chuyển giao, chỉ đưa ra số lượng lần chuyển giao"
 
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
 msgid "Show the email address of each author"
 msgstr "Hiển thị thư điện tử cho từng tác giả"
 
-#: 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 "Ngắt dòng khi quá dài"
 
@@ -10463,45 +10659,45 @@ msgid "skip and remove all lines starting with comment character"
 msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
 
 #: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "treo trước ký tự ghi chú và để trắng cho từng dòng"
+msgid "prepend comment character and space to each line"
+msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<đường/dẫn>] [<đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <đường/dẫn>"
 
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“%s”"
 
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
 msgid "where the new submodule will be cloned to"
 msgstr "nhân bản mô-đun-con mới vào chỗ nào"
 
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
 msgid "url where to clone the submodule from"
 msgstr "url nơi mà nhân bản mô-đun-con từ đó"
 
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10509,38 +10705,38 @@ msgstr ""
 "git submodule--helper clone [--prefix=<đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--url <url>][--depth <đường/dẫn>] [--] [<đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
 
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Nhân bản “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
 #, c-format
 msgid "cannot open file '%s'"
 msgstr "không thể mở tập tin “%s”"
 
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
 #, c-format
 msgid "could not close file %s"
 msgstr "không thể đóng tập tin %s"
 
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "không thể lấy thư mục mô-đun-con cho “%s”"
 
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
 msgid "fatal: submodule--helper subcommand must be called with a subcommand"
 msgstr ""
 "lỗi nghiêm trọng: lệnh con submodule--helper phải được gói với một lệnh con"
 
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
 #, c-format
 msgid "fatal: '%s' is not a valid submodule--helper subcommand"
 msgstr "lỗi nghiêm trọng: “%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -10786,194 +10982,207 @@ msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
 
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
 #, c-format
 msgid "failed to create directory %s"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
 #, c-format
 msgid "failed to stat %s"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
 
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
 #, c-format
 msgid "failed to create file %s"
 msgstr "gặp lỗi khi tạo tập tin %s"
 
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
 #, c-format
 msgid "failed to delete file %s"
 msgstr "gặp lỗi khi xóa tập tin %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 "gặp lỗi khi xóa thư mục %s"
 
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
 #, c-format
-msgid "Testing "
-msgstr "Đang thử"
+msgid "Testing mtime in '%s' "
+msgstr "Đang kiểm thử mtime trong “%s”"
 
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
 msgid "directory stat info does not change after adding a new file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm tập tin mới"
 
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
 msgid "directory stat info does not change after adding a new directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm thư mục mới"
 
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
 msgid "directory stat info changes after updating a file"
 msgstr "thông tin thống kê thư mục thay đổi sau khi cập nhật tập tin"
 
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "thông tin thống kê thư mục thay đổi sau khi thêm tập tin mới vào trong thư "
 "mục con"
 
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
 msgid "directory stat info does not change after deleting a file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa tập tin"
 
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
 msgid "directory stat info does not change after deleting a directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa thư mục"
 
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
 msgid " OK"
 msgstr " Đồng ý"
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
 msgid "continue refresh even when index needs update"
 msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
 msgid "let files replace directories and vice-versa"
 msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
 
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
 msgid "notice files missing from worktree"
 msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
 
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
 
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
 msgid "add the specified entry to the index"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
 
-#: 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 "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
 msgid "clear skip-worktree bit"
 msgstr "xóa bít 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 ""
 "chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
 "làm việc"
 
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
 msgid "read list of paths to be updated from standard input"
 msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
 msgid "add entries from standard input to the index"
 msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
 msgid "only update entries that differ from HEAD"
 msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
 msgid "ignore files missing from worktree"
 msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
 msgid "report actions to standard output"
 msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "kiểm tra xem hệ thống tập tin có hỗ trợ đệm không theo dõi hay không"
+
+#: builtin/update-index.c:1014
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "Nhớ đệm không theo vết bị tắt"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "Nhớ đệm không theo vết được bật cho “%s”"
+
 #: builtin/update-ref.c:9
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
 msgstr "git update-ref [<các-tùy-chọn>] -d <refname> [<biến-cũ>]"
@@ -11089,33 +11298,33 @@ msgstr "gặp lỗi khi gỡ bỏ: %s"
 msgid "'%s' already exists"
 msgstr "“%s” đã có từ trước rồi"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "không thể tạo thư mục của “%s”"
 
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
 #, c-format
 msgid "Preparing %s (identifier %s)"
 msgstr "Đang chuẩn bị %s (định danh %s)"
 
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "lấy ra <nhánh> ngay cả khi nó đã được lấy ra ở cây làm việc khác"
 
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Các tùy chọn -b, -B, và --detach loại từ lẫn nhau"
 
@@ -11135,7 +11344,7 @@ msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
 msgid "print debugging messages to stderr"
 msgstr "in thông tin gỡ lỗi ra đầu ra lỗi tiêu chuẩn"
 
@@ -11149,6 +11358,10 @@ msgstr ""
 "hướng dẫn về khái niệm. Xem “git help <lệnh>” hay “git help <khái-niệm>”\n"
 "để xem các đặc tả cho lệnh hay khái niệm cụ thể."
 
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "Chốt khóa công không được hỗ trợ với cURL < 7.44.0"
+
 #: common-cmds.h:9
 msgid "start a working area (see also: git help tutorial)"
 msgstr "bắt đầu một vùng làm việc (xem thêm: git help tutorial)"
@@ -11232,9 +11445,8 @@ msgid "Update remote refs along with associated objects"
 msgstr "Cập nhật th.chiếu máy chủ cùng với các đối tượng liên quan đến nó"
 
 #: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr ""
-"Chuyển tiếp những lần chuyển giao nội bộ tới head thượng nguồn đã cập nhật"
+msgid "Reapply commits on top of another base tip"
+msgstr "Thu hoạch các lần chuyển giao trên đỉnh của đầu mút cơ sở khác"
 
 #: common-cmds.h:33
 msgid "Reset current HEAD to the specified state"
@@ -11950,7 +12162,7 @@ msgstr "Không thể tạo thư mục mô-đun-con rỗng “$displaypath”"
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Mô-đun-con “$name” ($url) được bỏ đăng ký cho đường dẫn “$displaypath”"
 
-#: git-submodule.sh:705
+#: git-submodule.sh:723
 #, sh-format
 msgid ""
 "Submodule path '$displaypath' not initialized\n"
@@ -11959,55 +12171,55 @@ msgstr ""
 "Đường dẫn mô-đun-con “$displaypath” chưa được khởi tạo.\n"
 "Có lẽ bạn muốn sử dụng lệnh “update --init”?"
 
-#: git-submodule.sh:718
+#: git-submodule.sh:736
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:727
+#: git-submodule.sh:745
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:751
+#: git-submodule.sh:768
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:765
+#: git-submodule.sh:788
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:766
+#: git-submodule.sh:789
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
 
-#: git-submodule.sh:770
+#: git-submodule.sh:793
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:771
+#: git-submodule.sh:794
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:776
+#: git-submodule.sh:799
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:777
+#: git-submodule.sh:800
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:782
+#: git-submodule.sh:805
 #, sh-format
 msgid ""
 "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12015,56 +12227,133 @@ msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$prefix$sm_path”"
 
-#: git-submodule.sh:783
+#: git-submodule.sh:806
 #, sh-format
 msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$prefix$sm_path”: “$command $sha1”"
 
-#: git-submodule.sh:813
+#: git-submodule.sh:836
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:921
+#: git-submodule.sh:944
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#: git-submodule.sh:973
+#: git-submodule.sh:996
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Cảnh báo: $display_name không chứa những lần chuyển giao $sha1_src và "
 "$sha1_dst"
 
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "Chuyển tiếp những lần chuyển giao nội bộ tới head thượng nguồn đã cập nhật"
+
+#~ msgid "unable to parse format"
+#~ msgstr "không thể phân tích định dạng"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "định dạng không đúng chỗ căn chỉnh:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "Không thể đặt “core.worktree” trong “%s”."
+
+#~ 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 ""
+#~ "biến push.default chưa được đặt; giá trị ngầm định của nó\n"
+#~ "đã được thay đổi trong Git 2.0 từ “matching” thành “simple”.\n"
+#~ "Để không hiển thị nhắc nhở này và duy trì cách xử lý cũ, hãy chạy lệnh:\n"
+#~ "\n"
+#~ "  git config --global push.default matching\n"
+#~ "\n"
+#~ "Để không hiển thị nhắc nhở này và áp dụng cách ứng xử mới, hãy chạy "
+#~ "lệnh:\n"
+#~ "\n"
+#~ "  git config --global push.default simple\n"
+#~ "\n"
+#~ "Khi push.default được đặt thành “matching”, git sẽ đẩy các nhánh nội bộ\n"
+#~ "lên các nhánh trên máy chủ, cái mà đã sẵn có và cùng tên.\n"
+#~ "\n"
+#~ "Trong 2.0, Git sẽ mặc định duy trì các ứng xử “simple”,\n"
+#~ "cái này chỉ đẩy những nhánh hiện hành lên các nhánh tương ứng\n"
+#~ "trên máy chủ cái mà lệnh “git pull” dùng để cập nhật nhánh hiện tại.\n"
+#~ "\n"
+#~ "Xem “git help config” và tìm đến “push.default” để có thêm thông tin.\n"
+#~ "(chế độ “simple” được bắt đầu sử dụng từ Git 1.7.11. Sử dụng chế độ tương "
+#~ "tự\n"
+#~ "“current” thay vì “simple” nếu bạn thỉnh thoảng phải sử dụng bản Git cũ)"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "Không thể nối thêm “%s”"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "Không thể đặt “%s”"
+
+#~ msgid "unable to look up current user in the passwd file: %s"
+#~ msgstr "không tìm thấy người dùng hiện tại trong tập tin passwd: %s"
+
+#~ msgid "no such user"
+#~ msgstr "không có người dùng như vậy"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "Thiếu tên tác giả: %s"
+
+#~ msgid "Testing "
+#~ msgstr "Đang thử"
+
 #~ msgid "branch '%s' does not point at a commit"
 #~ msgstr "nhánh “%s” không chỉ đến một lần chuyển giao nào cả"
 
@@ -12129,9 +12418,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "unable to parse value '%s' for option %s"
 #~ msgstr "không thể phân tích giá trị “%s” cho tùy chọn %s"
 
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "không thể phân giải HEAD"
-
 #~ msgid "-b and -B are mutually exclusive"
 #~ msgstr "-b và -B loại từ lẫn nhau."
 
@@ -12201,9 +12487,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "prune .git/worktrees"
 #~ msgstr "xén .git/worktrees"
 
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees không nhận các đối số thêm"
-
 #~ msgid "The most commonly used git commands are:"
 #~ msgstr "Những lệnh git hay được dùng nhất là:"
 
@@ -12234,9 +12517,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "force creation (when already exists)"
 #~ msgstr "ép buộc tạo (khi đã có nhánh cùng tên)"
 
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
-
 #~ msgid "slot"
 #~ msgstr "khe"
 
@@ -12285,9 +12565,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "bug"
 #~ msgstr "lỗi"
 
-#~ msgid "ahead "
-#~ msgstr "phía trước "
-
 #~ msgid ", behind "
 #~ msgstr ", đằng sau "