t9300: correct expected object names
[gitweb.git] / po / vi.po
index 11b491279158f50ae39dd5f3db4ea4e1771ec0fc..05420eb470f449df98b6befb0fdd28c4caf19323 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,14 +1,15 @@
 # Vietnamese translation for GIT-CORE.
+# 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.
 # First translated by Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2013.
 # Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git-v1.8.4-rc1-22-gb8ecf23\n"
+"Project-Id-Version: git-v1.8.5-rc0-24-g727b957\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-08-06 14:10+0800\n"
-"PO-Revision-Date: 2013-08-06 14:28+0700\n"
+"POT-Creation-Date: 2013-11-02 08:06+0800\n"
+"PO-Revision-Date: 2013-11-02 13:15+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: vi\n"
@@ -24,7 +25,7 @@ msgstr ""
 #: advice.c:57
 #, c-format
 msgid "hint: %.*s\n"
-msgstr "gợi ý: %.*s\n"
+msgstr "tìm thấy: %.*s\n"
 
 #.
 #. * Message used both when 'git commit' fails and when
@@ -61,71 +62,76 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:323
+#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328
+#, c-format
+msgid "pathspec '%s' did not match any files"
+msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
+
+#: archive.c:327
 msgid "fmt"
 msgstr "fmt"
 
-#: archive.c:323
+#: archive.c:327
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:324 builtin/log.c:1173
+#: archive.c:328 builtin/log.c:1193
 msgid "prefix"
 msgstr "tiền tố"
 
-#: archive.c:325
+#: archive.c:329
 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:326 builtin/archive.c:88 builtin/blame.c:2292
-#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673
-#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77
-#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408
-#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152
+#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264
+#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680
+#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77
+#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408
+#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154
 msgid "file"
 msgstr "tập-tin"
 
-#: archive.c:327 builtin/archive.c:89
+#: archive.c:331 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "ghi kho lưu vào tập tin này"
 
-#: archive.c:329
+#: archive.c:333
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:330
+#: archive.c:334
 msgid "report archived files on stderr"
 msgstr "liệt kê các tập tin được lưu trữ vào stderr (đầu ra lỗi tiêu chuẩn)"
 
-#: archive.c:331
+#: archive.c:335
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:332
+#: archive.c:336
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:340
+#: archive.c:344
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:343
+#: archive.c:347
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85
+#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:346 builtin/archive.c:91
+#: archive.c:350 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho lưu từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487
+#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:348 builtin/archive.c:93
+#: archive.c:352 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
@@ -208,19 +214,19 @@ msgstr "Đã có nhánh mang tên “%s”."
 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:216
+#: branch.c:215
 #, 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 vết; điểm bắt đầu “%s” không phải là một "
 "nhánh."
 
-#: branch.c:218
+#: branch.c:217
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
-msgstr "nhánh dòng ngược đã yêu cầu “%s” chưa sẵn có"
+msgstr "nhánh thượng nguồn đã yêu cầu “%s” chưa sẵn có"
 
-#: branch.c:220
+#: branch.c:219
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -232,34 +238,34 @@ msgid ""
 "\"git push -u\" to set the upstream config as you push."
 msgstr ""
 "\n"
-"Nếu bạn có ý định trên cơ sở công việc của bạn trên nhánh dòng ngược\n"
+"Nếu bạn có ý định cải tổ công việc của bạn trên nhánh thượng nguồn\n"
 "(upstream) cái mà đã sẵn có trên máy chủ, bạn cần chạy\n"
 "lệnh \"git fetch\" để lấy nó về.\n"
 "\n"
-"Nếu bạn có ý định push lênh một nhánh nội bộ mới cái mà\n"
+"Nếu bạn có ý định push lên một nhánh nội bộ mới cái mà\n"
 "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 dòng ngược bạn muốn push."
+"\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:265
+#: branch.c:264
 #, 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:285
+#: branch.c:284
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:290
+#: branch.c:289
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:296
+#: branch.c:295
 msgid "Failed to lock ref for update"
 msgstr "Gặp lỗi khi khóa tham chiếu (ref) để cập nhật"
 
-#: branch.c:314
+#: branch.c:313
 msgid "Failed to write ref"
 msgstr "Gặp lỗi khi ghi tham chiếu (ref)"
 
@@ -273,7 +279,7 @@ msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump c
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu (header) không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:89 builtin/commit.c:697
+#: bundle.c:89 builtin/commit.c:706
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -282,9 +288,9 @@ 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 (commit) cần trước hết này:"
 
-#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331
-#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364
-#: builtin/shortlog.c:156
+#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332
+#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364
+#: builtin/shortlog.c:158
 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"
 
@@ -310,7 +316,7 @@ msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) này:"
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259
+#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -460,7 +466,7 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3487
+#: diff.c:3490
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -469,7 +475,7 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3501
+#: diff.c:3504
 #, 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”"
@@ -496,17 +502,17 @@ msgstr "không thể tạo tập tin tạm thời “%s”: %s"
 msgid "failed writing detached signature to '%s': %s"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”: %s"
 
-#: grep.c:1623
+#: grep.c:1695
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1640
+#: grep.c:1712
 #, c-format
 msgid "'%s': %s"
 msgstr "“%s”: %s"
 
-#: grep.c:1651
+#: grep.c:1723
 #, c-format
 msgid "'%s': short read %s"
 msgstr "“%s”: đọc ngắn %s"
@@ -577,10 +583,10 @@ msgstr "%s: %s - %s"
 
 #: merge.c:56
 msgid "failed to read the cache"
-msgstr "gặp lỗi khi đọc bộ nhớ tạm"
+msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566
-#: builtin/clone.c:656
+#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559
+#: builtin/clone.c:655
 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"
 
@@ -629,7 +635,7 @@ msgstr "không thể đọc đối tượng %s “%s”"
 msgid "blob expected for %s '%s'"
 msgstr "đối tượng blob được mong đợi cho %s “%s”"
 
-#: merge-recursive.c:774 builtin/clone.c:312
+#: merge-recursive.c:774 builtin/clone.c:311
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
@@ -637,7 +643,7 @@ msgstr "gặp lỗi khi mở “%s”"
 #: merge-recursive.c:782
 #, c-format
 msgid "failed to symlink '%s'"
-msgstr "gặp lỗi khi tạo liên kết tượng trưng (symlink) “%s”"
+msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”"
 
 #: merge-recursive.c:785
 #, c-format
@@ -764,7 +770,7 @@ msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1634 git-submodule.sh:1118
+#: merge-recursive.c:1634 git-submodule.sh:1125
 msgid "submodule"
 msgstr "mô-đun-con"
 
@@ -863,58 +869,125 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài của refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object.c:204
+#: object.c:202
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
-#: parse-options.c:489
+#: parse-options.c:537
 msgid "..."
 msgstr "..."
 
-#: parse-options.c:507
+#: parse-options.c:555
 #, c-format
 msgid "usage: %s"
 msgstr "cách dùng: %s"
 
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation
-#: parse-options.c:511
+#: parse-options.c:559
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:514
+#: parse-options.c:562
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:548
+#: parse-options.c:596
 msgid "-NUM"
 msgstr "-SỐ"
 
-#: pathspec.c:83
+#: pathspec.c:118
+msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
+msgstr ""
+"các cài đặt đặc tả đường dẫn “glob” và “noglob” toàn cục là xung khắc nhau"
+
+#: pathspec.c:128
+msgid ""
+"global 'literal' pathspec setting is incompatible with all other global "
+"pathspec settings"
+msgstr ""
+"cài đặt đặc tả đường dẫn “literal” toàn cục là xung khắc với các cài đặt đặc "
+"tả đường dẫn toàn cục khác"
+
+#: pathspec.c:158
+msgid "invalid parameter for pathspec magic 'prefix'"
+msgstr "tham số không hợp lệ cho “tiền tố” màu nhiệm đặc tả đường đẫn"
+
+#: pathspec.c:164
+#, c-format
+msgid "Invalid pathspec magic '%.*s' in '%s'"
+msgstr "Số màu nhiệm đặc tả đường dẫn không hợp lệ “%.*s” trong “%s”"
+
+#: pathspec.c:168
+#, c-format
+msgid "Missing ')' at the end of pathspec magic in '%s'"
+msgstr "Thiếu “)” tại cuối của số màu nhiệm đặc tả đường dẫn trong “%s”"
+
+#: pathspec.c:186
 #, c-format
-msgid "Path '%s' is in submodule '%.*s'"
-msgstr "Đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
+msgid "Unimplemented pathspec magic '%c' in '%s'"
+msgstr "Chưa viết mã cho số màu nhiệm đặc tả đường dẫn “%c” trong “%s”"
+
+#: pathspec.c:211
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: “literal” và “glob” xung khắc nhau"
+
+#: pathspec.c:222
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: “%s” ngoài một kho chứa"
+
+#: pathspec.c:278
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
+
+#.
+#. * We may want to substitute "this command" with a command
+#. * name. E.g. when add--interactive dies when running
+#. * "checkout -p"
+#.
+#: pathspec.c:340
+#, c-format
+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:415
+#, 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"
+
+#: remote.c:1833
+#, 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"
 
-#: pathspec.c:99
+#: remote.c:1837
+msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
+
+#: remote.c:1840
 #, c-format
-msgid "'%s' is beyond a symbolic link"
-msgstr "“%s” nằm ngoài một liên kết tượng trưng"
+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:1788
+#: remote.c:1844
 #, 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 là đầu của “%s” bởi %d lần chuyển giao (commit).\n"
 msgstr[1] "Nhánh của bạn là đầu của “%s” bởi %d lần chuyển giao (commit).\n"
 
-#: remote.c:1794
+#: remote.c:1850
 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:1797
+#: remote.c:1853
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -926,11 +999,11 @@ msgstr[1] ""
 "Nhánh của bạn thì ở đằng sau “%s” bởi %d lần chuyển giao (commit), và có thể "
 "được fast-forward.\n"
 
-#: remote.c:1805
+#: remote.c:1861
 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:1808
+#: remote.c:1864
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -946,7 +1019,7 @@ msgstr[1] ""
 "Your branch and “%s” have diverged,\n"
 "and have %d and %d different commit each, respectively.\n"
 
-#: remote.c:1818
+#: remote.c:1874
 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 "
@@ -991,7 +1064,7 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao (commit) kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:245 sequencer.c:869 sequencer.c:952
+#: sequencer.c:245 sequencer.c:870 sequencer.c:953
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
@@ -1014,46 +1087,46 @@ msgid "Commit your changes or stash them to proceed."
 msgstr "Chuyển giao (commit) các thay đổi của bạn hay stash chúng để xử lý."
 
 #. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:324
+#: sequencer.c:325
 #, 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:355
+#: sequencer.c:356
 msgid "Could not resolve HEAD commit\n"
 msgstr "Không thể phân giải commit (lần chuyển giao) HEAD\n"
 
-#: sequencer.c:377
+#: sequencer.c:378
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:422
+#: sequencer.c:423
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) %s\n"
 
-#: sequencer.c:427
+#: sequencer.c:428
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) cha mẹ %s\n"
 
-#: sequencer.c:493
+#: sequencer.c:494
 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:512
+#: sequencer.c:513
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr ""
 "Lần chuyển giao (commit) %s là một lần hòa trộn nhưng không đưa ra tùy chọn -"
 "m."
 
-#: sequencer.c:520
+#: sequencer.c:521
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "Lần chuyển giao (commit) %s không có cha mẹ %d"
 
-#: sequencer.c:524
+#: sequencer.c:525
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr ""
@@ -1062,153 +1135,153 @@ msgstr ""
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:537
+#: sequencer.c:538
 #, 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:541
+#: sequencer.c:542
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "Không thể lấy thông điệp lần chuyển giao (commit) cho %s"
 
-#: sequencer.c:627
+#: sequencer.c:628
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:628
+#: sequencer.c:629
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:664
+#: sequencer.c:665
 msgid "empty commit set passed"
 msgstr "lần chuyển giao (commit) trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:672
+#: sequencer.c:673
 #, 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:677
+#: sequencer.c:678
 #, 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:735
+#: sequencer.c:736
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:757
+#: sequencer.c:758
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:762
+#: sequencer.c:763
 msgid "No commits parsed."
 msgstr "Không có lần chuyển giao (commit) nào được phân tích."
 
-#: sequencer.c:775
+#: sequencer.c:776
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:779
+#: sequencer.c:780
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:786
+#: sequencer.c:787
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:814
+#: sequencer.c:815
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:817
+#: sequencer.c:818
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:829
+#: sequencer.c:830
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:850
+#: sequencer.c:851
 msgid "a cherry-pick or revert is already in progress"
 msgstr "một thao tác cherry-pick hoặc revert đang được thực hiện"
 
-#: sequencer.c:851
+#: sequencer.c:852
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:855
+#: sequencer.c:856
 #, 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:871 sequencer.c:956
+#: sequencer.c:872 sequencer.c:957
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:890 sequencer.c:1024
+#: sequencer.c:891 sequencer.c:1025
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:892
+#: sequencer.c:893
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:894
+#: sequencer.c:895
 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:916 builtin/apply.c:4061
+#: sequencer.c:917 builtin/apply.c:4061
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:919
+#: sequencer.c:920
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:920
+#: sequencer.c:921
 msgid "unexpected end of file"
 msgstr "kết thúc tập tin đột xuất"
 
-#: sequencer.c:926
+#: sequencer.c:927
 #, 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:949
+#: sequencer.c:950
 #, c-format
 msgid "Could not format %s."
 msgstr "Không thể định dạng %s."
 
-#: sequencer.c:1092
+#: sequencer.c:1093
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:1095
+#: sequencer.c:1096
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:1129
+#: sequencer.c:1130
 msgid "Can't revert as initial commit"
 msgstr "Không thể revert một lần chuyển giao (commit) khởi tạo"
 
-#: sequencer.c:1130
+#: sequencer.c:1131
 msgid "Can't cherry-pick into empty head"
 msgstr "Không thể cherry-pick vào một đầu (head) trống rỗng"
 
@@ -1236,265 +1309,359 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: sha1_name.c:1097
+#: sha1_name.c:1112
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: sha1_name.c:1100
+#: sha1_name.c:1115
 #, c-format
 msgid "No such branch: '%s'"
 msgstr "Không có nhánh nào như thế: “%s”"
 
-#: sha1_name.c:1102
+#: sha1_name.c:1117
 #, c-format
 msgid "No upstream configured for branch '%s'"
 msgstr "Không có thượng nguồn (upstream) được cấu hình cho nhánh “%s”"
 
-#: sha1_name.c:1106
+#: sha1_name.c:1121
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "Nhánh thượng nguồn (upstream) “%s” không được lưu lại như là một nhánh "
 "“remote-tracking”"
 
-#: wrapper.c:408
+#: submodule.c:64 submodule.c:98
+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:68 submodule.c:102
+#, 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"
+
+#. Maybe the user already did that, don't error out here
+#: submodule.c:76
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "Không thể cập nhật mục .gitmodules %s"
+
+#. Maybe the user already did that, don't error out here
+#: submodule.c:109
+#, 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:127
+msgid "could not find .gitmodules in index"
+msgstr "không tìm thấy .gitmodules trong bảng mục lục"
+
+#: submodule.c:133
+msgid "reading updated .gitmodules failed"
+msgstr "gặp lỗi khi đọc cập nhật .gitmodules"
+
+#: submodule.c:135
+msgid "unable to stat updated .gitmodules"
+msgstr "không thể lấy thống kê .gitmodules đã cập nhật"
+
+#: submodule.c:139
+msgid "unable to remove .gitmodules from index"
+msgstr "không thể gỡ bỏ .gitmodules từ mục lục"
+
+#: submodule.c:141
+msgid "adding updated .gitmodules failed"
+msgstr "gặp lỗi khi thêm .gitmodules đã cập nhật"
+
+#: submodule.c:143
+msgid "staging updated .gitmodules failed"
+msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
+
+#: submodule.c:1144 builtin/init-db.c:363
+#, c-format
+msgid "Could not create git link %s"
+msgstr "Không thể tạo liên kết git “%s”"
+
+#: submodule.c:1155
+#, c-format
+msgid "Could not set core.worktree in %s"
+msgstr "Không thể đặt cây thư mục làm việc “core.worktree” trong “%s”."
+
+#: urlmatch.c:120
+msgid "invalid URL scheme name or missing '://' suffix"
+msgstr "tên lược đồ URL không hợp lệ hay thiếu hậu tố “://”"
+
+#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#, c-format
+msgid "invalid %XX escape sequence"
+msgstr "thoát chuỗi %XX không hợp lệ"
+
+#: urlmatch.c:172
+msgid "missing host and scheme is not 'file:'"
+msgstr "thiếu máy chủ và lược đồ thì không phải là giao thức “file:”"
+
+#: urlmatch.c:189
+msgid "a 'file:' URL may not have a port number"
+msgstr "URL kiểu “file:” không được chứa cổng"
+
+#: urlmatch.c:199
+msgid "invalid characters in host name"
+msgstr "có các ký tự không hợp lệ trong tên máy"
+
+#: urlmatch.c:244 urlmatch.c:255
+msgid "invalid port number"
+msgstr "tên cổng không hợp lệ"
+
+#: urlmatch.c:322
+msgid "invalid '..' path segment"
+msgstr "đoạn đường dẫn “..” không hợp lệ"
+
+#: wrapper.c:422
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "không thể truy cập “%s”: %s"
 
-#: wrapper.c:429
+#: wrapper.c:443
 #, c-format
 msgid "unable to access '%s'"
 msgstr "không thể truy cập “%s”"
 
-#: wrapper.c:440
+#: wrapper.c:454
 #, 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:441
+#: wrapper.c:455
 msgid "no such user"
 msgstr "không có người dùng như vậy"
 
-#: wt-status.c:141
+#: wt-status.c:146
 msgid "Unmerged paths:"
 msgstr "Những đường dẫn chưa được hòa trộn:"
 
-#: wt-status.c:168 wt-status.c:195
+#: wt-status.c:173 wt-status.c:200
 #, c-format
 msgid "  (use \"git reset %s <file>...\" to unstage)"
 msgstr "  (dùng \"git reset %s <tập-tin>...\" để bỏ một stage (trạng thái))"
 
-#: wt-status.c:170 wt-status.c:197
+#: wt-status.c:175 wt-status.c:202
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (dùng \"git rm --cached <tập-tin>...\" để bỏ trạng thái (stage))"
 
-#: wt-status.c:174
+#: wt-status.c:179
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (dùng \"git add <tập-tin>...\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:176 wt-status.c:180
+#: wt-status.c:181 wt-status.c:185
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>...\" như là một cách  thích hợp để đánh dấu "
 "là cần được giải quyết)"
 
-#: wt-status.c:178
+#: wt-status.c:183
 msgid "  (use \"git rm <file>...\" to mark resolution)"
 msgstr "  (dùng \"git rm <tập-tin>...\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:189
+#: wt-status.c:194
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:207
+#: wt-status.c:212
 msgid "Changes not staged for commit:"
 msgstr ""
 "Các thay đổi không được đặt trạng thái (stage) cho lần chuyển giao (commit):"
 
-#: wt-status.c:211
+#: wt-status.c:216
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr ""
 "  (dùng \"git add <tập-tin>...\" để cập nhật những gì cần chuyển giao "
 "(commit))"
 
-#: wt-status.c:213
+#: wt-status.c:218
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>...\" để cập nhật những gì sẽ được chuyển giao)"
 
-#: wt-status.c:214
+#: wt-status.c:219
 msgid ""
 "  (use \"git checkout -- <file>...\" to discard changes in working directory)"
 msgstr ""
 "  (dùng \"git checkout -- <tập-tin>...\" để bỏ thay đổi trong thư mục làm "
 "việc)"
 
-#: wt-status.c:216
+#: wt-status.c:221
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (chuyển giao (commit) hoặc là loại bỏ các nội dung không-bị-theo-vết hay "
 "đã bị chỉnh sửa trong mô-đun-con)"
 
-#: wt-status.c:228
+#: wt-status.c:233
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (dùng \"git %s <tập-tin>...\" để thêm vào những gì cần chuyển giao "
 "(commit))"
 
-#: wt-status.c:245
+#: wt-status.c:250
 msgid "bug"
 msgstr "lỗi"
 
-#: wt-status.c:250
+#: wt-status.c:255
 msgid "both deleted:"
 msgstr "bị xóa bởi cả hai:"
 
-#: wt-status.c:251
+#: wt-status.c:256
 msgid "added by us:"
 msgstr "được thêm vào bởi chúng ta:"
 
-#: wt-status.c:252
+#: wt-status.c:257
 msgid "deleted by them:"
 msgstr "bị xóa đi bởi họ:"
 
-#: wt-status.c:253
+#: wt-status.c:258
 msgid "added by them:"
 msgstr "được thêm vào bởi họ:"
 
-#: wt-status.c:254
+#: wt-status.c:259
 msgid "deleted by us:"
 msgstr "bị xóa bởi chúng ta:"
 
-#: wt-status.c:255
+#: wt-status.c:260
 msgid "both added:"
 msgstr "được thêm vào bởi cả hai:"
 
-#: wt-status.c:256
+#: wt-status.c:261
 msgid "both modified:"
 msgstr "bị sửa bởi cả hai:"
 
-#: wt-status.c:286
+#: wt-status.c:291
 msgid "new commits, "
 msgstr "lần chuyển giao (commit) mới, "
 
-#: wt-status.c:288
+#: wt-status.c:293
 msgid "modified content, "
 msgstr "nội dung bị sửa đổi, "
 
-#: wt-status.c:290
+#: wt-status.c:295
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:307
+#: wt-status.c:312
 #, c-format
 msgid "new file:   %s"
 msgstr "tập tin mới:   %s"
 
-#: wt-status.c:310
+#: wt-status.c:315
 #, c-format
 msgid "copied:     %s -> %s"
-msgstr "đã sao chép:     %s -> %s"
+msgstr "đã sao chép:   %s -> %s"
 
-#: wt-status.c:313
+#: wt-status.c:318
 #, c-format
 msgid "deleted:    %s"
-msgstr "đã xóa:    %s"
+msgstr "đã xóa:        %s"
 
-#: wt-status.c:316
+#: wt-status.c:321
 #, c-format
 msgid "modified:   %s"
-msgstr "đã sửa đổi:   %s"
+msgstr "đã sửa đổi:    %s"
 
-#: wt-status.c:319
+#: wt-status.c:324
 #, c-format
 msgid "renamed:    %s -> %s"
 msgstr "đã đổi tên:    %s -> %s"
 
-#: wt-status.c:322
+#: wt-status.c:327
 #, c-format
 msgid "typechange: %s"
-msgstr "đổi-kiểu: %s"
+msgstr "đổi-kiểu:      %s"
 
-#: wt-status.c:325
+#: wt-status.c:330
 #, c-format
 msgid "unknown:    %s"
 msgstr "không hiểu:    %s"
 
-#: wt-status.c:328
+#: wt-status.c:333
 #, c-format
 msgid "unmerged:   %s"
-msgstr "chưa hòa trộn:   %s"
+msgstr "chưa hòa trộn: %s"
 
-#: wt-status.c:331
+#: wt-status.c:336
 #, c-format
 msgid "bug: unhandled diff status %c"
 msgstr "lỗi: không lấy được trạng thái lệnh diff %c"
 
-#: wt-status.c:803
+#: wt-status.c:703
+msgid "Submodules changed but not updated:"
+msgstr "Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
+
+#: wt-status.c:705
+msgid "Submodule changes to be committed:"
+msgstr "Những mô-đun-con thay đổi đã được chuyển giao (commit):"
+
+#: wt-status.c:848
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:806
+#: wt-status.c:851
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột sau đó chạy \"git commit\")"
 
-#: wt-status.c:809
+#: wt-status.c:854
 msgid "All conflicts fixed but you are still merging."
 msgstr "Tất cả các xung đột đã được giải quyết nhưng bạn vẫn đang hòa trộn."
 
-#: wt-status.c:812
+#: wt-status.c:857
 msgid "  (use \"git commit\" to conclude merge)"
 msgstr "  (dùng \"git commit\" để hoàn tất việc hòa trộn)"
 
-#: wt-status.c:822
+#: wt-status.c:867
 msgid "You are in the middle of an am session."
 msgstr "Bạn đang ở giữa của một phiên “am”."
 
-#: wt-status.c:825
+#: wt-status.c:870
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:829
+#: wt-status.c:874
 msgid "  (fix conflicts and then run \"git am --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git am --continue\")"
 
-#: wt-status.c:831
+#: wt-status.c:876
 msgid "  (use \"git am --skip\" to skip this patch)"
 msgstr "  (dùng \"git am --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:833
+#: wt-status.c:878
 msgid "  (use \"git am --abort\" to restore the original branch)"
 msgstr "  (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thủy)"
 
-#: wt-status.c:893 wt-status.c:910
+#: wt-status.c:938 wt-status.c:955
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
 msgstr "Bạn hiện nay đang thực hiện việc rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:898 wt-status.c:915
+#: wt-status.c:943 wt-status.c:960
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc rebase (tái cấu trúc)."
 
-#: wt-status.c:901
+#: wt-status.c:946
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git rebase --continue\")"
 
-#: wt-status.c:903
+#: wt-status.c:948
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:905
+#: wt-status.c:950
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr "  (dùng \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:918
+#: wt-status.c:963
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git rebase --continue\")"
 
-#: wt-status.c:922
+#: wt-status.c:967
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -1502,126 +1669,127 @@ msgstr ""
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao (commit) "
 "trong khi đang rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:927
+#: wt-status.c:972
 msgid "You are currently splitting a commit during a rebase."
 msgstr ""
 "Bạn hiện tại đang cắt đôi một lần chuyển giao trong khi đang thực hiện việc "
 "rebase."
 
-#: wt-status.c:930
+#: wt-status.c:975
 msgid "  (Once your working directory is clean, run \"git rebase --continue\")"
 msgstr ""
 "  (Một khi thư mục làm việc của bạn đã gọn gàng, chạy \"git rebase --continue"
 "\")"
 
-#: wt-status.c:934
+#: wt-status.c:979
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc sửa chữa một lần chuyển giao (commit) trong "
 "khi đang rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:939
+#: wt-status.c:984
 msgid "You are currently editing a commit during a rebase."
 msgstr "Bạn hiện đang sửa một lần chuyển giao trong khi bạn thực hiện rebase."
 
-#: wt-status.c:942
+#: wt-status.c:987
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr ""
 "  (dùng \"git commit --amend\" để tu bổ lần chuyển giao (commit) hiện tại)"
 
-#: wt-status.c:944
+#: wt-status.c:989
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (dùng \"git rebase --continue\" một khi bạn cảm thấy hài lòng về những "
 "thay đổi của mình)"
 
-#: wt-status.c:954
-msgid "You are currently cherry-picking."
-msgstr "Bạn hiện nay đang thực hiện việc cherry-pick."
+#: wt-status.c:999
+#, c-format
+msgid "You are currently cherry-picking commit %s."
+msgstr "Bạn hiện nay đang thực hiện việc cherry-pick lần chuyển giao %s."
 
-#: wt-status.c:958
+#: wt-status.c:1004
 msgid "  (fix conflicts and run \"git cherry-pick --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh \"git cherry-pick --continue\")"
 
-#: wt-status.c:961
+#: wt-status.c:1007
 msgid "  (all conflicts fixed: run \"git cherry-pick --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git cherry-pick --"
 "continue\")"
 
-#: wt-status.c:963
+#: wt-status.c:1009
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (dùng \"git cherry-pick --abort\" để hủy bỏ thao tác cherry-pick)"
 
-#: wt-status.c:972
+#: wt-status.c:1018
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác revert lần chuyển giao “%s”."
 
-#: wt-status.c:977
+#: wt-status.c:1023
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:980
+#: wt-status.c:1026
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git revert --continue\")"
 
-#: wt-status.c:982
+#: wt-status.c:1028
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác revert)"
 
-#: wt-status.c:993
+#: wt-status.c:1039
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện thao tác di chuyển nửa bước (bisect), bắt đầu từ "
 "nhánh “%s”."
 
-#: wt-status.c:997
+#: wt-status.c:1043
 msgid "You are currently bisecting."
-msgstr "Bạn hiện tại đang thực hiện việc bisect (chia đôi)."
+msgstr "Bạn hiện tại đang thực hiện việc bisect (di chuyển nửa bước)."
 
-#: wt-status.c:1000
+#: wt-status.c:1046
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thủy)"
 
-#: wt-status.c:1173
+#: wt-status.c:1221
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1180
+#: wt-status.c:1228
 msgid "rebase in progress; onto "
-msgstr "rebase đang được thực hiện: lên trên"
+msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1187
+#: wt-status.c:1235
 msgid "HEAD detached at "
-msgstr "HEAD được tách rời tại"
+msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1189
+#: wt-status.c:1237
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ"
 
-#: wt-status.c:1192
+#: wt-status.c:1240
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1209
+#: wt-status.c:1257
 msgid "Initial commit"
 msgstr "Lần chuyển giao (commit) khởi đầu"
 
-#: wt-status.c:1223
+#: wt-status.c:1271
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1225
+#: wt-status.c:1273
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1229
+#: wt-status.c:1277
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -1633,32 +1801,32 @@ msgstr ""
 "có lẽ làm nó nhanh hơn, nhưng bạn phải cẩn thận đừng quên mình phải\n"
 "tự thêm các tập tin mới (xem “git help status”.."
 
-#: wt-status.c:1235
+#: wt-status.c:1283
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin không bị theo vết không được liệt kê ra %s"
 
-#: wt-status.c:1237
+#: wt-status.c:1285
 msgid " (use -u option to show untracked files)"
 msgstr " (dùng tùy chọn -u để hiển thị các tập tin chưa được theo dõi)"
 
-#: wt-status.c:1243
+#: wt-status.c:1291
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1248
+#: wt-status.c:1296
 #, c-format
 msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
 msgstr ""
 "không có thay đổi nào được thêm vào commit (dùng \"git add\" và/hoặc \"git "
 "commit -a\")\n"
 
-#: wt-status.c:1251
+#: wt-status.c:1299
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào lần chuyển giao (commit)\n"
 
-#: wt-status.c:1254
+#: wt-status.c:1302
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -1667,58 +1835,62 @@ msgstr ""
 "không có gì được thêm vào lần chuyển giao (commit) nhưng có những tập tin "
 "không được theo dấu vết hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1257
+#: wt-status.c:1305
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "không có gì được thêm vào lần chuyển giao (commit) nhưng có những tập tin "
 "không được theo dấu vết hiện diện\n"
 
-#: wt-status.c:1260
+#: wt-status.c:1308
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 " không có gì để commit (tạo/sao-chép các tập tin và dùng \"git add\" để theo "
 "dõi dấu vết)\n"
 
-#: wt-status.c:1263 wt-status.c:1268
+#: wt-status.c:1311 wt-status.c:1316
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao (commit)\n"
 
-#: wt-status.c:1266
+#: wt-status.c:1314
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (commit) (dùng -u để bỏ các tập tin cần theo dấu "
 "vết)\n"
 
-#: wt-status.c:1270
+#: wt-status.c:1318
 #, c-format
 msgid "nothing to commit, working directory clean\n"
 msgstr "không có gì để chuyển giao (commit), thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1378
+#: wt-status.c:1427
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1384
+#: wt-status.c:1433
 msgid "Initial commit on "
 msgstr "Lần chuyển giao (commit) khởi tạo trên "
 
-#: wt-status.c:1399
+#: wt-status.c:1463
+msgid "gone"
+msgstr "đã ra đi"
+
+#: wt-status.c:1465
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1402 wt-status.c:1405
+#: wt-status.c:1468 wt-status.c:1471
 msgid "ahead "
 msgstr "phía trước "
 
-#: wt-status.c:1407
+#: wt-status.c:1473
 msgid ", behind "
 msgstr ", đằng sau "
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:351
+#: compat/precompose_utf8.c:55 builtin/clone.c:350
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "bỏ liên kết (unlink) %s không thành công"
@@ -1806,7 +1978,7 @@ msgstr ""
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:149 builtin/commit.c:252
+#: builtin/add.c:149 builtin/commit.c:260
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
@@ -1815,147 +1987,142 @@ msgstr "Cập nhật tập tin gặp lỗi"
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:253
+#: builtin/add.c:237
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Các thay đổi không được lưu trạng thái sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr "pathspec “%s” không khớp với bất kỳ tập tin nào"
-
-#: builtin/add.c:339
+#: builtin/add.c:299
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:350
+#: builtin/add.c:310
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Không thể mở “%s” để ghi."
 
-#: builtin/add.c:354
+#: builtin/add.c:314
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:359
+#: builtin/add.c:319
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "không thể lấy trạng thái về “%s”"
 
-#: builtin/add.c:361
+#: builtin/add.c:321
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Đã bỏ qua."
 
-#: builtin/add.c:367
+#: builtin/add.c:327
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể apply (áp dụng miếng vá) “%s”"
 
-#: builtin/add.c:377
+#: builtin/add.c:337
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 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:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63
-#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253
-#: builtin/rm.c:268
+#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66
+#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253
+#: builtin/rm.c:269
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19
-#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613
-#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113
+#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19
+#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612
+#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: builtin/add.c:397
+#: builtin/add.c:357
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261
+#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272
 msgid "select hunks interactively"
 msgstr "chọn “hunks” một cách tương tác"
 
-#: builtin/add.c:399
+#: builtin/add.c:359
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:400
+#: builtin/add.c:360
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:401
+#: builtin/add.c:361
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo vết"
 
-#: builtin/add.c:402
+#: builtin/add.c:362
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:403
+#: builtin/add.c:363
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
 #. takes no arguments
-#: builtin/add.c:406
+#: builtin/add.c:366
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "lờ đi các đường dẫn bị gỡ bỏ trong cây thư mục làm việc (giống với --no-all)"
 
-#: builtin/add.c:408
+#: builtin/add.c:368
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:409
+#: builtin/add.c:369
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:410
+#: builtin/add.c:370
 msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 "kiểm tra xem - thậm chí thiếu - tập tin bị bỏ qua trong quá trình chạy thử"
 
-#: builtin/add.c:432
+#: builtin/add.c:392
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "Sử dụng tùy chọn -f nếu bạn thực sự muốn thêm chúng vào.\n"
 
-#: builtin/add.c:433
+#: builtin/add.c:393
 msgid "no files added"
 msgstr "chưa có tập tin nào được thêm vào"
 
-#: builtin/add.c:439
+#: builtin/add.c:399
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:478
+#: builtin/add.c:438
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:496
+#: builtin/add.c:456
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Tùy chọn --ignore-missing chỉ có thể được dùng cùng với --dry-run"
 
-#: builtin/add.c:526
+#: builtin/add.c:486
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 
-#: builtin/add.c:527
+#: builtin/add.c:487
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ bạn muốn là “git add .” phải không?\n"
 
-#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919
-#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297
+#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919
+#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432
+#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432
 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"
 
@@ -2211,7 +2378,7 @@ msgstr "%s: miếng vá không được áp dụng"
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127
+#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry gặp lỗi đối với đường dẫn “%s”"
@@ -2239,7 +2406,7 @@ msgstr "không thể tạo “backing store” cho tập tin được tạo mớ
 #: builtin/apply.c:3863 builtin/apply.c:3971
 #, c-format
 msgid "unable to add cache entry for %s"
-msgstr "không thể thêm mục nhớ tạm cho %s"
+msgstr "không thể thêm mục nhớ đệm cho %s"
 
 #: builtin/apply.c:3896
 #, c-format
@@ -2271,7 +2438,7 @@ msgstr[1] "Đang áp dụng miếng vá %%s với %d lần từ chối..."
 #: builtin/apply.c:4053
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
-msgstr "đang cắt cụt tên tập tin .rej thành %.*s.rej"
+msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
 #: builtin/apply.c:4074
 #, c-format
@@ -2291,8 +2458,8 @@ 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:4357 builtin/apply.c:4360 builtin/clone.c:91
-#: builtin/fetch.c:63
+#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90
+#: builtin/fetch.c:77
 msgid "path"
 msgstr "đường-dẫn"
 
@@ -2356,7 +2523,7 @@ 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:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462
+#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
@@ -2455,7 +2622,7 @@ msgstr "git archive: Máy chủ không có địa chỉ URL"
 
 #: builtin/archive.c:58
 msgid "git archive: expected ACK/NAK, got EOF"
-msgstr "git archive: mong đợi ACK/NAK, nhận EOF"
+msgstr "git archive: cần ACK/NAK, nhưng lại nhận được EOF"
 
 #: builtin/archive.c:61
 #, c-format
@@ -2473,7 +2640,7 @@ msgstr "git archive: lỗi giao thức"
 
 #: builtin/archive.c:68
 msgid "git archive: expected a flush"
-msgstr "git archive: đã mong chờ một flush"
+msgstr "git archive: cần một flush (đẩy dữ liệu lên đĩa)"
 
 #: builtin/bisect--helper.c:7
 msgid "git bisect--helper --next-all [--no-checkout]"
@@ -2489,105 +2656,105 @@ msgstr ""
 "cập nhật BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao (commit) "
 "hiện hành"
 
-#: builtin/blame.c:26
+#: builtin/blame.c:27
 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:31
+#: builtin/blame.c:32
 msgid "[rev-opts] are documented in git-rev-list(1)"
 msgstr "[rev-opts] được mô tả trong git-rev-list(1)"
 
-#: builtin/blame.c:2276
+#: builtin/blame.c:2248
 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:2277
+#: builtin/blame.c:2249
 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:2278
+#: builtin/blame.c:2250
 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:2279
+#: builtin/blame.c:2251
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2280
+#: builtin/blame.c:2252
 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:2281
+#: builtin/blame.c:2253
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2282
+#: builtin/blame.c:2254
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2283
+#: builtin/blame.c:2255
 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:2284
+#: builtin/blame.c:2256
 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:2285
+#: builtin/blame.c:2257
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra vóigit-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2286
+#: builtin/blame.c:2258
 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:2287
+#: builtin/blame.c:2259
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao (commit) dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:2288
+#: builtin/blame.c:2260
 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:2289
+#: builtin/blame.c:2261
 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:2290
+#: builtin/blame.c:2262
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2291
+#: builtin/blame.c:2263
 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:2292
+#: builtin/blame.c:2264
 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:2293
+#: builtin/blame.c:2265
 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:2294 builtin/blame.c:2295
+#: builtin/blame.c:2266 builtin/blame.c:2267
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2294
+#: builtin/blame.c:2266
 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:2295
+#: builtin/blame.c:2267
 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:2296
+#: builtin/blame.c:2268
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2296
+#: builtin/blame.c:2268
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
@@ -2674,7 +2841,7 @@ msgstr "Gặp lỗi khi đang xóa nhánh trên máy chủ “%s”"
 #: builtin/branch.c:256
 #, c-format
 msgid "Error deleting branch '%s'"
-msgstr "Lỗi khi xoá bỏ nhánh “%s”"
+msgstr "Gặp lỗi khi xoá bỏ nhánh “%s”"
 
 #: builtin/branch.c:263
 #, c-format
@@ -2693,279 +2860,289 @@ msgstr "nhánh “%s” không chỉ đến một lần chuyển giao (commit) n
 
 #: builtin/branch.c:453
 #, c-format
+msgid "[%s: gone]"
+msgstr "[%s: đã ra đi]"
+
+#: builtin/branch.c:456
+#, c-format
+msgid "[%s]"
+msgstr "[%s]"
+
+#: builtin/branch.c:459
+#, c-format
 msgid "[%s: behind %d]"
 msgstr "[%s: đằng sau %d]"
 
-#: builtin/branch.c:455
+#: builtin/branch.c:461
 #, c-format
 msgid "[behind %d]"
 msgstr "[đằng sau %d]"
 
-#: builtin/branch.c:459
+#: builtin/branch.c:465
 #, c-format
 msgid "[%s: ahead %d]"
 msgstr "[%s: phía trước %d]"
 
-#: builtin/branch.c:461
+#: builtin/branch.c:467
 #, c-format
 msgid "[ahead %d]"
 msgstr "[phía trước %d]"
 
-#: builtin/branch.c:464
+#: builtin/branch.c:470
 #, c-format
 msgid "[%s: ahead %d, behind %d]"
 msgstr "[%s: trước %d, sau %d]"
 
-#: builtin/branch.c:467
+#: builtin/branch.c:473
 #, c-format
 msgid "[ahead %d, behind %d]"
 msgstr "[trước %d, sau %d]"
 
-#: builtin/branch.c:490
+#: builtin/branch.c:496
 msgid " **** invalid ref ****"
 msgstr " **** tham chiếu sai ****"
 
-#: builtin/branch.c:582
+#: builtin/branch.c:588
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang rebase %s)"
 
-#: builtin/branch.c:585
+#: builtin/branch.c:591
 #, c-format
 msgid "(no branch, bisect started on %s)"
 msgstr "(không nhánh, bisect được bắt đầu tại %s)"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:594
 #, c-format
 msgid "(detached from %s)"
 msgstr "(được tách rời từ %s)"
 
-#: builtin/branch.c:591
+#: builtin/branch.c:597
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:643
 #, c-format
 msgid "object '%s' does not point to a commit"
 msgstr "đối tượng “%s” không chỉ đến một lần chuyển giao (commit) nào cả"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:675
 msgid "some refs could not be read"
 msgstr "một số tham chiếu đã không thể đọc được"
 
-#: builtin/branch.c:682
+#: builtin/branch.c:688
 msgid "cannot rename the current branch while not on any."
 msgstr "không thể đổi tên nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:692
+#: builtin/branch.c:698
 #, c-format
 msgid "Invalid branch name: '%s'"
-msgstr "Sai tên nhánh: “%s”"
+msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:707
+#: builtin/branch.c:713
 msgid "Branch rename failed"
-msgstr "Đổi tên nhánh gặp lỗi"
+msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:711
+#: builtin/branch.c:717
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:715
+#: builtin/branch.c:721
 #, c-format
 msgid "Branch renamed to %s, but HEAD is not updated!"
 msgstr "Nhánh bị đổi tên thành %s, nhưng HEAD lại không được cập nhật!"
 
-#: builtin/branch.c:722
+#: builtin/branch.c:728
 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:737
+#: builtin/branch.c:743
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: builtin/branch.c:761
+#: builtin/branch.c:767
 #, 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:791
+#: builtin/branch.c:797
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:799
 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:794
+#: builtin/branch.c:800
 msgid "suppress informational messages"
 msgstr "Thu hồi các thông điệp thông tin"
 
-#: builtin/branch.c:795
+#: builtin/branch.c:801
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo vết (xem git-pull(1))"
 
-#: builtin/branch.c:797
+#: builtin/branch.c:803
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn (upstream)"
 
-#: builtin/branch.c:801
+#: builtin/branch.c:807
 msgid "use colored output"
 msgstr "sử dụng kết xuất có tô màu"
 
-#: builtin/branch.c:802
+#: builtin/branch.c:808
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832
-#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434
-#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468
+#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838
+#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461
+#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468
 msgid "commit"
 msgstr "commit"
 
-#: builtin/branch.c:806 builtin/branch.c:812
+#: builtin/branch.c:812 builtin/branch.c:818
 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:818
+#: builtin/branch.c:824
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:819
+#: builtin/branch.c:825
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:827
 msgid "delete fully merged branch"
 msgstr "xóa một cách đầy đủ nhánh đã hòa trộn"
 
-#: builtin/branch.c:822
+#: builtin/branch.c:828
 msgid "delete branch (even if not merged)"
 msgstr "xoá nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:823
+#: builtin/branch.c:829
 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:824
+#: builtin/branch.c:830
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh, thậm chí cả khi đích đã có sẵn"
 
-#: builtin/branch.c:825
+#: builtin/branch.c:831
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:826
+#: builtin/branch.c:832
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:828
+#: builtin/branch.c:834
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:829
+#: builtin/branch.c:835
 msgid "force creation (when already exists)"
 msgstr "ép buộc tạo (khi đã sẵn tồn tại rồi)"
 
-#: builtin/branch.c:832
+#: builtin/branch.c:838
 msgid "print only not merged branches"
 msgstr "chỉ hiển thị các nhánh chưa được hòa trộn"
 
-#: builtin/branch.c:838
+#: builtin/branch.c:844
 msgid "print only merged branches"
 msgstr "chỉ hiển thị các nhánh được hòa trộn"
 
-#: builtin/branch.c:842
+#: builtin/branch.c:848
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:855
+#: builtin/branch.c:861
 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 (ref) hợp lệ."
 
-#: builtin/branch.c:860 builtin/clone.c:630
+#: builtin/branch.c:866 builtin/clone.c:629
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:883
+#: builtin/branch.c:890
 msgid "--column and --verbose are incompatible"
 msgstr "--column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:889 builtin/branch.c:928
+#: builtin/branch.c:896 builtin/branch.c:935
 msgid "branch name required"
 msgstr "cần tên nhánh"
 
-#: builtin/branch.c:904
+#: builtin/branch.c:911
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:909
+#: builtin/branch.c:916
 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:916
+#: builtin/branch.c:923
 #, 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:919
+#: builtin/branch.c:926
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:934
+#: builtin/branch.c:941
 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:939
+#: builtin/branch.c:946
 msgid "too many branches to set new upstream"
-msgstr "quá nhiều nhánh được đặt cho dòng ngược (upstream) mới"
+msgstr "quá nhiều nhánh được đặt cho thượng nguồn (upstream) mới"
 
-#: builtin/branch.c:943
+#: builtin/branch.c:950
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
 msgstr ""
-"không thể đặt dòng ngược (upstream) của HEAD thành %s khi mà nó chẳng chỉ "
+"không thể đặt thượng nguồn (upstream) của HEAD thành %s khi mà nó chẳng chỉ "
 "đến nhánh nào cả."
 
-#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990
+#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:950
+#: builtin/branch.c:957
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "nhánh “%s” chưa sẵn có"
 
-#: builtin/branch.c:962
+#: builtin/branch.c:969
 msgid "too many branches to unset upstream"
 msgstr "quá nhiều nhánh để bỏ đặt ngược dòng (upstream)"
 
-#: builtin/branch.c:966
+#: builtin/branch.c:973
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr ""
 "không thể bỏ đặt ngược dòng (upstream) của HEAD không chỉ đến một nhánh nào "
 "cả."
 
-#: builtin/branch.c:972
+#: builtin/branch.c:979
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn (upstream)"
 
-#: builtin/branch.c:987
+#: builtin/branch.c:994
 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:993
+#: builtin/branch.c:1000
 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:996
+#: builtin/branch.c:1003
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -2974,7 +3151,7 @@ msgstr ""
 "Cờ --set-upstream bị phản đối và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:1013
+#: builtin/branch.c:1020
 #, c-format
 msgid ""
 "\n"
@@ -2985,12 +3162,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:1014
+#: builtin/branch.c:1021
 #, c-format
 msgid "    git branch -d %s\n"
 msgstr "    git branch -d %s\n"
 
-#: builtin/branch.c:1015
+#: builtin/branch.c:1022
 #, c-format
 msgid "    git branch --set-upstream-to %s\n"
 msgstr "    git branch --set-upstream-to %s\n"
@@ -3008,44 +3185,44 @@ msgstr "Cần một kho chứa để mà tạo một bundle."
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để mà bung một bundle."
 
-#: builtin/cat-file.c:285
+#: builtin/cat-file.c:312
 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>"
 msgstr "git cat-file (-t|-s|-e|-p|<kiểu>|--textconv) <đối tượng>"
 
-#: builtin/cat-file.c:286
+#: builtin/cat-file.c:313
 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>"
 msgstr "git cat-file (--batch|--batch-check) < <danh-sách-đối-tượng>"
 
-#: builtin/cat-file.c:323
+#: builtin/cat-file.c:350
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<kiểu> là một trong số: blob, tree, commit, tag"
 
-#: builtin/cat-file.c:324
+#: builtin/cat-file.c:351
 msgid "show object type"
 msgstr "hiển thị kiểu đối tượng"
 
-#: builtin/cat-file.c:325
+#: builtin/cat-file.c:352
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:327
+#: builtin/cat-file.c:354
 msgid "exit with zero when there's no error"
 msgstr "thoát với 0 khi không có lỗi"
 
-#: builtin/cat-file.c:328
+#: builtin/cat-file.c:355
 msgid "pretty-print object's content"
 msgstr "in nội dung đối tượng dạng dễ đọc"
 
-#: builtin/cat-file.c:330
+#: builtin/cat-file.c:357
 msgid "for blob objects, run textconv on object's content"
 msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:332
+#: builtin/cat-file.c:359
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
 
-#: builtin/cat-file.c:335
+#: builtin/cat-file.c:362
 msgid "show info about objects fed from the standard input"
 msgstr "hiển thị các thông tin về đối tượng fed  từ đầu vào tiêu chuẩn"
 
@@ -3071,10 +3248,10 @@ msgid "read file names from stdin"
 msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
 #: builtin/check-attr.c:23 builtin/check-ignore.c:24
-msgid "input paths are terminated by a null character"
-msgstr "các đường dẫn được  ngăn cách bởi ký tự null"
+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:1054 builtin/gc.c:177
+#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -3082,27 +3259,31 @@ msgstr "chặn các báo cáo tiến trình hoạt động"
 msgid "show non-matching input paths"
 msgstr "hiển thị những đường dẫn đầu vào không khớp với mẫu"
 
-#: builtin/check-ignore.c:143
+#: builtin/check-ignore.c:28
+msgid "ignore index when checking"
+msgstr "bỏ qua mục lục khi kiểm tra"
+
+#: builtin/check-ignore.c:154
 msgid "cannot specify pathnames with --stdin"
 msgstr "không thể chỉ định các tên đường dẫn với --stdin"
 
-#: builtin/check-ignore.c:146
+#: builtin/check-ignore.c:157
 msgid "-z only makes sense with --stdin"
 msgstr "-z chỉ hợp lý với --stdin"
 
-#: builtin/check-ignore.c:148
+#: builtin/check-ignore.c:159
 msgid "no path specified"
-msgstr "chưa ghi rõ đường dẫn"
+msgstr "chưa chỉ ra đường dẫn"
 
-#: builtin/check-ignore.c:152
+#: builtin/check-ignore.c:163
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet chỉ hợp lệ với tên đường dẫn đơn"
 
-#: builtin/check-ignore.c:154
+#: builtin/check-ignore.c:165
 msgid "cannot have both --quiet and --verbose"
 msgstr "không thể dùng cả hai tùy chọn --quiet và --verbose"
 
-#: builtin/check-ignore.c:157
+#: builtin/check-ignore.c:168
 msgid "--non-matching is only valid with --verbose"
 msgstr "tùy-chọn --non-matching chỉ hợp lệ khi dùng với --verbose"
 
@@ -3176,107 +3357,107 @@ msgstr "git checkout [các-tùy-chọn] <nhánh>"
 msgid "git checkout [options] [<branch>] -- <file>..."
 msgstr "git checkout [các-tùy-chọn] [<nhánh>] -- <tập-tin>..."
 
-#: builtin/checkout.c:117 builtin/checkout.c:150
+#: builtin/checkout.c:114 builtin/checkout.c:147
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "đường dẫn “%s” không có các phiên bản của chúng ta"
 
-#: builtin/checkout.c:119 builtin/checkout.c:152
+#: builtin/checkout.c:116 builtin/checkout.c:149
 #, c-format
 msgid "path '%s' does not have their version"
 msgstr "đường dẫn “%s” không có các phiên bản của chúng"
 
-#: builtin/checkout.c:135
+#: builtin/checkout.c:132
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "đường dẫn “%s” không có tất cả các phiên bản cần thiết"
 
-#: builtin/checkout.c:179
+#: builtin/checkout.c:176
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "đường dẫn “%s” không có các phiên bản cần thiết"
 
-#: builtin/checkout.c:196
+#: builtin/checkout.c:193
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:213
+#: builtin/checkout.c:210
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Không thể thêm kết quả hòa trộn cho “%s”"
 
-#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243
-#: builtin/checkout.c:246
+#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238
+#: builtin/checkout.c:241
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "“%s” không thể được sử dụng với các đường dẫn cập nhật"
 
-#: builtin/checkout.c:249 builtin/checkout.c:252
+#: builtin/checkout.c:244 builtin/checkout.c:247
 #, c-format
 msgid "'%s' cannot be used with %s"
-msgstr "“%s” không thể được sử dụng với %s"
+msgstr "“%s” không thể được dùng cùng với %s"
 
-#: builtin/checkout.c:255
+#: builtin/checkout.c:250
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Không thể cập nhật các đường dẫn và chuyển đến nhánh “%s” cùng một lúc."
 
-#: builtin/checkout.c:266 builtin/checkout.c:458
+#: builtin/checkout.c:261 builtin/checkout.c:451
 msgid "corrupt index file"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/checkout.c:329 builtin/checkout.c:336
+#: builtin/checkout.c:322 builtin/checkout.c:329
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:480
+#: builtin/checkout.c:473
 msgid "you need to resolve your current index first"
 msgstr "bạn cần phải phân giải bảng mục lục hiện tại của bạn trước đã"
 
-#: builtin/checkout.c:601
+#: builtin/checkout.c:594
 #, c-format
 msgid "Can not do reflog for '%s'\n"
 msgstr "Không thể thực hiện reflog cho “%s”\n"
 
-#: builtin/checkout.c:639
+#: builtin/checkout.c:632
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:646
+#: builtin/checkout.c:639
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:649
+#: builtin/checkout.c:642
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:653
+#: builtin/checkout.c:646
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và reset nhánh “%s”\n"
 
-#: builtin/checkout.c:655 builtin/checkout.c:997
+#: builtin/checkout.c:648 builtin/checkout.c:1033
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:657
+#: builtin/checkout.c:650
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:713
+#: builtin/checkout.c:706
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... và nhiều hơn %d.\n"
 
 #. The singular version
-#: builtin/checkout.c:719
+#: builtin/checkout.c:712
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -3301,7 +3482,7 @@ msgstr[1] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:737
+#: builtin/checkout.c:730
 #, c-format
 msgid ""
 "If you want to keep them by creating a new branch, this may be a good time\n"
@@ -3317,138 +3498,142 @@ msgstr ""
 " git branch tên_nhánh_mới %s\n"
 "\n"
 
-#: builtin/checkout.c:767
+#: builtin/checkout.c:760
 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:771
+#: builtin/checkout.c:764
 msgid "Previous HEAD position was"
 msgstr "Vị trí kế trước của HEAD là"
 
-#: builtin/checkout.c:798 builtin/checkout.c:992
+#: builtin/checkout.c:791 builtin/checkout.c:1028
 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"
 
-#. case (1)
-#: builtin/checkout.c:928
+#: builtin/checkout.c:935
+#, 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:974
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu sai: %s"
 
 #. case (1): want a tree
-#: builtin/checkout.c:967
+#: builtin/checkout.c:1003
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây (tree):%s"
 
-#: builtin/checkout.c:1006
+#: builtin/checkout.c:1042
 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:1009 builtin/checkout.c:1013
+#: builtin/checkout.c:1045 builtin/checkout.c:1049
 #, 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:1017 builtin/checkout.c:1020 builtin/checkout.c:1025
-#: builtin/checkout.c:1028
+#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061
+#: builtin/checkout.c:1064
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được sử dụng với “%s”"
 
-#: builtin/checkout.c:1033
+#: builtin/checkout.c:1069
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một non-commit “%s”"
 
-#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89
+#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88
 #: builtin/remote.c:169 builtin/remote.c:171
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1056
+#: builtin/checkout.c:1092
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1058
+#: builtin/checkout.c:1094
 msgid "create/reset and checkout a branch"
 msgstr "create/reset và checkout một nhánh"
 
-#: builtin/checkout.c:1059
+#: builtin/checkout.c:1095
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1060
+#: builtin/checkout.c:1096
 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:1061
+#: builtin/checkout.c:1097
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn (upstream) cho nhánh mới"
 
-#: builtin/checkout.c:1063
+#: builtin/checkout.c:1099
 msgid "new branch"
 msgstr "nhánh mới"
 
-#: builtin/checkout.c:1063
+#: builtin/checkout.c:1099
 msgid "new unparented branch"
 msgstr "nhánh mồ côi mới"
 
-#: builtin/checkout.c:1064
+#: builtin/checkout.c:1100
 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:1066
+#: builtin/checkout.c:1102
 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:1068
+#: builtin/checkout.c:1104
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (checkout) (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1069
+#: builtin/checkout.c:1105
 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:1070 builtin/merge.c:232
+#: builtin/checkout.c:1106 builtin/merge.c:232
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249
+#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1072
+#: builtin/checkout.c:1108
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hay diff3)"
 
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1111
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn pathspecs chỉ thành các mục thưa thớt"
 
-#: builtin/checkout.c:1077
+#: builtin/checkout.c:1113
 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:1101
+#: builtin/checkout.c:1136
 msgid "-b, -B and --orphan are mutually exclusive"
-msgstr "Tùy chọn -b|-B và --orphan loại từ lẫn nhau"
+msgstr "Tùy chọn -b-B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1118
+#: builtin/checkout.c:1153
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1125
+#: builtin/checkout.c:1160
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1160
+#: builtin/checkout.c:1197
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1167
+#: builtin/checkout.c:1204
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -3458,12 +3643,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 (commit)?"
 
-#: builtin/checkout.c:1172
+#: builtin/checkout.c:1209
 #, 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:1176
+#: builtin/checkout.c:1213
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -3471,38 +3656,38 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/clean.c:25
+#: builtin/clean.c:26
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <đường-dẫn>..."
 
-#: builtin/clean.c:29
+#: builtin/clean.c:30
 #, c-format
 msgid "Removing %s\n"
 msgstr "Đang gỡ bỏ %s\n"
 
-#: builtin/clean.c:30
+#: builtin/clean.c:31
 #, c-format
 msgid "Would remove %s\n"
 msgstr "Có thể gỡ bỏ %s\n"
 
-#: builtin/clean.c:31
+#: builtin/clean.c:32
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "Đang bỏ qua kho chứa %s\n"
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "Nên bỏ qua kho chứa %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:293
+#: builtin/clean.c:294
 msgid ""
 "Prompt help:\n"
 "1          - select a numbered item\n"
@@ -3514,7 +3699,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (trống rỗng) không chọn gì cả"
 
-#: builtin/clean.c:297
+#: builtin/clean.c:298
 msgid ""
 "Prompt help:\n"
 "1          - select a single item\n"
@@ -3534,35 +3719,35 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (trống rỗng) kết thúc việc chọn"
 
-#: builtin/clean.c:515
+#: builtin/clean.c:516
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: builtin/clean.c:658
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin cần lờ đi đầu vào>>"
 
-#: builtin/clean.c:695
+#: builtin/clean.c:696
 #, 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:716
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
-#: builtin/clean.c:756
+#: builtin/clean.c:757
 #, c-format
 msgid "remove %s? "
 msgstr "gỡ bỏ “%s”?"
 
-#: builtin/clean.c:781
+#: builtin/clean.c:782
 msgid "Bye."
 msgstr "Tạm biệt."
 
-#: builtin/clean.c:789
+#: builtin/clean.c:790
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -3580,21 +3765,21 @@ 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:816
+#: builtin/clean.c:817
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:817
+#: builtin/clean.c:818
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:825
+#: builtin/clean.c:826
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ mục sau đây không:"
 msgstr[1] "Có muốn gỡ bỏ các mục sau đây không:"
 
-#: builtin/clean.c:842
+#: builtin/clean.c:843
 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."
 
@@ -3614,8 +3799,8 @@ msgstr "sửa bằng cách tương tác"
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716
-#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186
+#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718
+#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185
 msgid "pattern"
 msgstr "mẫu"
 
@@ -3655,8 +3840,8 @@ msgstr ""
 msgid "git clone [options] [--] <repo> [<dir>]"
 msgstr "git clone [các-tùy-chọn] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229
-#: builtin/push.c:462
+#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229
+#: builtin/push.c:474
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến trình"
 
@@ -3666,125 +3851,125 @@ msgstr "không tạo một checkout"
 
 #: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:488
 msgid "create a bare repository"
-msgstr "tạo kho chứa bare"
+msgstr "tạo kho thuần (bare)"
 
-#: builtin/clone.c:72
+#: builtin/clone.c:71
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (mirror) (ngụ ý là bare)"
 
-#: builtin/clone.c:74
+#: builtin/clone.c:73
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:76
+#: builtin/clone.c:75
 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:78
+#: builtin/clone.c:77
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:80 builtin/clone.c:82
+#: builtin/clone.c:79 builtin/clone.c:81
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:83 builtin/init-db.c:485
+#: builtin/clone.c:82 builtin/init-db.c:485
 msgid "template-directory"
 msgstr "thư-mục-tạm"
 
-#: builtin/clone.c:84 builtin/init-db.c:486
+#: builtin/clone.c:83 builtin/init-db.c:486
 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:86
+#: builtin/clone.c:85
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:88
+#: builtin/clone.c:87
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay vì “origin” để theo dõi thượng nguồn (uptream)"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:89
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra nhánh (checkout <nhánh>) thay vì HEAD của máy chủ"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:91
 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:93 builtin/fetch.c:83 builtin/grep.c:661
+#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663
 msgid "depth"
 msgstr "độ sâu"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:93
 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:96
+#: builtin/clone.c:95
 msgid "clone only one branch, HEAD or --branch"
 msgstr "nhân bản (clone) chỉ một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:97 builtin/init-db.c:494
+#: builtin/clone.c:96 builtin/init-db.c:494
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:98 builtin/init-db.c:495
+#: builtin/clone.c:97 builtin/init-db.c:495
 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:99
+#: builtin/clone.c:98
 msgid "key=value"
 msgstr "khóa=giá trị"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:99
 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:253
+#: builtin/clone.c:252
 #, 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:316
+#: builtin/clone.c:315
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/clone.c:318 builtin/diff.c:77
+#: builtin/clone.c:317 builtin/diff.c:77
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi stat (lấy trạng thái về) “%s”"
 
-#: builtin/clone.c:320
+#: builtin/clone.c:319
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s tồn tại nhưng không phải là một thư mục"
 
-#: builtin/clone.c:334
+#: builtin/clone.c:333
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "lỗi stat (lấy trạng thái về) %s\n"
 
-#: builtin/clone.c:356
+#: builtin/clone.c:355
 #, 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:360
+#: builtin/clone.c:359
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi chép tập tin tới “%s”"
 
-#: builtin/clone.c:383
+#: builtin/clone.c:382 builtin/clone.c:559
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:396
+#: builtin/clone.c:395
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -3794,104 +3979,99 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử checkout với lệnh “git checkout -f HEAD”\n"
 
-#: builtin/clone.c:475
+#: builtin/clone.c:474
 #, 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:555
+#: builtin/clone.c:554
 #, c-format
 msgid "Checking connectivity... "
 msgstr "Đang kiểm tra kết nối..."
 
-#: builtin/clone.c:558
+#: builtin/clone.c:557
 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:560
-#, c-format
-msgid "done\n"
-msgstr "xong.\n"
-
-#: builtin/clone.c:621
+#: builtin/clone.c:620
 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ể checkout.\n"
 
-#: builtin/clone.c:652
+#: builtin/clone.c:651
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:760
+#: builtin/clone.c:759
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:764
+#: builtin/clone.c:763
 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:775
+#: builtin/clone.c:774
 #, 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:778
+#: builtin/clone.c:777
 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:791
+#: builtin/clone.c:790
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:796
+#: builtin/clone.c:795
 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:798
+#: builtin/clone.c:797
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:808
+#: builtin/clone.c:807
 #, 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:818
+#: builtin/clone.c:817
 #, 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:831 builtin/clone.c:843
+#: builtin/clone.c:830 builtin/clone.c:842
 #, 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:834
+#: builtin/clone.c:833
 #, 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:853
+#: builtin/clone.c:852
 #, 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:855
+#: builtin/clone.c:854
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”...\n"
 
-#: builtin/clone.c:890
+#: builtin/clone.c:888
 #, 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:942
+#: builtin/clone.c:939 builtin/clone.c:947
 #, 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 (upstream) %s"
 
-#: builtin/clone.c:949
+#: builtin/clone.c:950
 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."
 
@@ -3913,11 +4093,11 @@ msgstr "Độ rộng tối đa"
 
 #: builtin/column.c:30
 msgid "Padding space on left border"
-msgstr "Chèn thêm khoảng trống vào bờ bên trái"
+msgstr "Chèn thêm khoảng trống vào bên trái"
 
 #: builtin/column.c:31
 msgid "Padding space on right border"
-msgstr "Chèn thêm khoảng trắng vào tiếp giáp bên phải"
+msgstr "Chèn thêm khoảng trắng vào bên phải"
 
 #: builtin/column.c:32
 msgid "Padding space between columns"
@@ -3927,15 +4107,15 @@ msgstr "Chèn thêm khoảng trắng giữa các cột"
 msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
-#: builtin/commit.c:35
+#: builtin/commit.c:36
 msgid "git commit [options] [--] <pathspec>..."
 msgstr "git commit [các-tùy-chọn] [--] <pathspec>..."
 
-#: builtin/commit.c:40
+#: builtin/commit.c:41
 msgid "git status [options] [--] <pathspec>..."
 msgstr "git status [các-tùy-chọn] [--] <pathspec>..."
 
-#: builtin/commit.c:45
+#: builtin/commit.c:46
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -3959,11 +4139,11 @@ msgstr ""
 "    git config --global user.email you@example.com\n"
 "\n"
 "Sau khi thực hiện xong, bạn có thể sửa chữa định danh được sử dụng cho lần "
-"chuyển giao (commit) này với lệnh:\n"
+"chuyển giao này với lệnh:\n"
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: builtin/commit.c:57
+#: builtin/commit.c:58
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -3976,7 +4156,7 @@ msgstr ""
 "hoặc là bạn gỡ bỏ các lần chuyển giao một cách hoàn toàn bằng lệnh:\n"
 "\"git reset HEAD^\".\n"
 
-#: builtin/commit.c:62
+#: builtin/commit.c:63
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -3991,11 +4171,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:69
+#: builtin/commit.c:70
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "Nếu không được thì dùng lệnh \"git reset\"\n"
 
-#: builtin/commit.c:72
+#: builtin/commit.c:73
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -4011,97 +4191,97 @@ msgstr ""
 "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n"
 "những lần chuyển giao còn lại.\n"
 
-#: builtin/commit.c:279
+#: builtin/commit.c:287
 msgid "failed to unpack HEAD tree object"
 msgstr "gặp lỗi khi tháo dỡ HEAD đối tượng cây"
 
-#: builtin/commit.c:321
+#: builtin/commit.c:329
 msgid "unable to create temporary index"
 msgstr "không thể tạo bảng mục lục tạm thời"
 
-#: builtin/commit.c:327
+#: builtin/commit.c:335
 msgid "interactive add failed"
 msgstr "việc thêm tương tác gặp lỗi"
 
-#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431
+#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439
 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 (new_index)"
 
-#: builtin/commit.c:412
+#: builtin/commit.c:420
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao (commit) cục bộ trong khi đang được hòa "
 "trộn."
 
-#: builtin/commit.c:414
+#: builtin/commit.c:422
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao (commit) bộ phận trong khi đang cherry-"
 "pick."
 
-#: builtin/commit.c:424
+#: builtin/commit.c:432
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:444
+#: builtin/commit.c:452
 msgid "unable to write temporary index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục tạm thời"
 
-#: builtin/commit.c:535 builtin/commit.c:541
+#: builtin/commit.c:543 builtin/commit.c:549
 #, c-format
 msgid "invalid commit: %s"
 msgstr "lần chuyển giao (commit) không hợp lệ: %s"
 
-#: builtin/commit.c:563
+#: builtin/commit.c:571
 msgid "malformed --author parameter"
 msgstr "đối số --author bị dị hình"
 
-#: builtin/commit.c:583
+#: builtin/commit.c:591
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "Chuỗi thụt lề đầu dòng dị hình: “%s”"
 
-#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982
+#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:633 builtin/shortlog.c:271
+#: builtin/commit.c:642 builtin/shortlog.c:273
 #, 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"
 
-#: builtin/commit.c:635
+#: builtin/commit.c:644
 msgid "could not read log from standard input"
 msgstr "không thể đọc nhật ký từ đầu vào tiêu chuẩn"
 
-#: builtin/commit.c:639
+#: builtin/commit.c:648
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:645
+#: builtin/commit.c:654
 msgid "commit has empty message"
 msgstr "lần chuyển giao (commit) có ghi chú trống rỗng"
 
-#: builtin/commit.c:661
+#: builtin/commit.c:670
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:665
+#: builtin/commit.c:674
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:669
+#: builtin/commit.c:678
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: builtin/commit.c:730
+#: builtin/commit.c:749
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu commit"
 
-#: builtin/commit.c:741
+#: builtin/commit.c:760
 #, c-format
 msgid ""
 "\n"
@@ -4116,7 +4296,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:746
+#: builtin/commit.c:765
 #, c-format
 msgid ""
 "\n"
@@ -4131,7 +4311,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:758
+#: builtin/commit.c:777
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4142,7 +4322,7 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua, nếu phần chú thích rỗng sẽ hủy bỏ lần "
 "chuyển giao (commit).\n"
 
-#: builtin/commit.c:763
+#: builtin/commit.c:782
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -4154,148 +4334,148 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn thế.\n"
 "Phần chú thích này nếu trống rỗng sẽ hủy bỏ lần chuyển giao (commit).\n"
 
-#: builtin/commit.c:776
+#: builtin/commit.c:795
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%sTác giả:    %s"
 
-#: builtin/commit.c:783
+#: builtin/commit.c:802
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%sNgười chuyển giao (commit): %s"
 
-#: builtin/commit.c:803
+#: builtin/commit.c:822
 msgid "Cannot read index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:845
+#: builtin/commit.c:865
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:860 builtin/tag.c:359
+#: builtin/commit.c:880 builtin/tag.c:359
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
-msgstr "Xin hãy áp dụng thông điệp sử dụng hoặc là tùy chọn -m hoặc là -F.\n"
+msgstr "Xin hãy cung cấp lời chú giải hoặc là dùng tùy chọn -m hoặc là -F.\n"
 
-#: builtin/commit.c:957
+#: builtin/commit.c:982
 #, c-format
 msgid "No existing author found with '%s'"
 msgstr "Không tìm thấy tác giả có sẵn với “%s”"
 
-#: builtin/commit.c:972 builtin/commit.c:1208
+#: builtin/commit.c:997 builtin/commit.c:1237
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin không bị theo vết không hợp lệ “%s”"
 
-#: builtin/commit.c:1009
+#: builtin/commit.c:1034
 msgid "--long and -z are incompatible"
 msgstr "hai tùy chọn -long và -z không tương thích với nhau"
 
-#: builtin/commit.c:1039
+#: builtin/commit.c:1064
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
 
-#: builtin/commit.c:1050
+#: builtin/commit.c:1075
 msgid "You have nothing to amend."
 msgstr "Không có gì để amend (tu bổ) cả."
 
-#: builtin/commit.c:1053
+#: builtin/commit.c:1078
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện amend (tu bổ)."
 
-#: builtin/commit.c:1055
+#: builtin/commit.c:1080
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện amend (tu "
 "bổ)."
 
-#: builtin/commit.c:1058
+#: builtin/commit.c:1083
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
 
-#: builtin/commit.c:1068
+#: builtin/commit.c:1093
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Chỉ một tùy chọn trong số -c/-C/-F/--fixup được sử dụng"
 
-#: builtin/commit.c:1070
+#: builtin/commit.c:1095
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F/--fixup."
 
-#: builtin/commit.c:1078
+#: builtin/commit.c:1103
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1095
+#: builtin/commit.c:1120
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được "
 "sử dụng."
 
-#: builtin/commit.c:1097
+#: builtin/commit.c:1122
 msgid "No paths with --include/--only does not make sense."
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
-#: builtin/commit.c:1099
+#: builtin/commit.c:1124
 msgid "Clever... amending the last one with dirty index."
-msgstr "Giỏi...  tu bổ cái cuối với bảng mục lục phi nghĩa."
+msgstr "Giỏi...  tu bổ cái cuối với bảng mục lục bẩn."
 
-#: builtin/commit.c:1101
+#: builtin/commit.c:1126
 msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
 msgstr ""
 "Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; đang "
 "giả định --only những-đường-dẫn..."
 
-#: builtin/commit.c:1111 builtin/tag.c:575
+#: builtin/commit.c:1136 builtin/tag.c:572
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1116
+#: builtin/commit.c:1141
 msgid "Paths with -a does not make sense."
 msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
 
-#: builtin/commit.c:1222 builtin/commit.c:1455
+#: builtin/commit.c:1251 builtin/commit.c:1482
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1224 builtin/commit.c:1457
+#: builtin/commit.c:1253 builtin/commit.c:1484
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452
+#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1229 builtin/commit.c:1461
+#: builtin/commit.c:1258 builtin/commit.c:1488
 msgid "show status in long format (default)"
 msgstr "hiển thị trạng thái ở định dạng dài (mặc định)"
 
-#: builtin/commit.c:1232 builtin/commit.c:1464
+#: builtin/commit.c:1261 builtin/commit.c:1491
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667
-#: builtin/fast-export.c:670 builtin/tag.c:459
+#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674
+#: builtin/fast-export.c:677 builtin/tag.c:459
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1235 builtin/commit.c:1467
+#: builtin/commit.c:1264 builtin/commit.c:1494
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "hiển thị các tập tin chưa được theo dõi  dấu vết, các chế độ tùy chọn:  all, "
 "normal, no. (Mặc định: all)"
 
-#: builtin/commit.c:1238
+#: builtin/commit.c:1267
 msgid "show ignored files"
 msgstr "hiển thị các tập tin ẩn"
 
-#: builtin/commit.c:1239 parse-options.h:154
+#: builtin/commit.c:1268 parse-options.h:156
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1240
+#: builtin/commit.c:1269
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -4303,223 +4483,223 @@ msgstr ""
 "bỏ qua các thay đổi trong mô-đun-con, tùy chọn khi: all, dirty, untracked. "
 "(Mặc định: all)"
 
-#: builtin/commit.c:1242
+#: builtin/commit.c:1271
 msgid "list untracked files in columns"
 msgstr "hiển thị danh sách các tập-tin chưa được theo dõi trong các cột"
 
-#: builtin/commit.c:1313
+#: builtin/commit.c:1340
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao (commit) mới hơn đã được tạo"
 
-#: builtin/commit.c:1315
+#: builtin/commit.c:1342
 msgid "could not parse newly created commit"
 msgstr ""
 "không thể phân tích cú pháp của đối tượng chuyển giao mới hơn đã được tạo"
 
-#: builtin/commit.c:1356
+#: builtin/commit.c:1383
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1358
+#: builtin/commit.c:1385
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1425
+#: builtin/commit.c:1452
 msgid "suppress summary after successful commit"
 msgstr "không hiển thị tổng kết sau khi chuyển giao thành công"
 
-#: builtin/commit.c:1426
+#: builtin/commit.c:1453
 msgid "show diff in commit message template"
 msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 
-#: builtin/commit.c:1428
+#: builtin/commit.c:1455
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1429 builtin/tag.c:457
+#: builtin/commit.c:1456 builtin/tag.c:457
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1430
+#: builtin/commit.c:1457
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1430
+#: builtin/commit.c:1457
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1431 builtin/gc.c:178
+#: builtin/commit.c:1458 builtin/gc.c:260
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1431
+#: builtin/commit.c:1458
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho commit"
 
-#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405
+#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405
 #: builtin/notes.c:562 builtin/tag.c:455
 msgid "message"
 msgstr "thông điệp"
 
-#: builtin/commit.c:1432
+#: builtin/commit.c:1459
 msgid "commit message"
 msgstr "chú thích của lần commit"
 
-#: builtin/commit.c:1433
+#: builtin/commit.c:1460
 msgid "reuse and edit message from specified commit"
 msgstr ""
 "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1434
+#: builtin/commit.c:1461
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho"
 
-#: builtin/commit.c:1435
+#: builtin/commit.c:1462
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1436
+#: builtin/commit.c:1463
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "dùng lời nhắn có định dạng tự động nén để nén lại các lần chuyển giao đã chỉ "
 "ra"
 
-#: builtin/commit.c:1437
+#: builtin/commit.c:1464
 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:1438 builtin/log.c:1160 builtin/revert.c:111
+#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86
 msgid "add Signed-off-by:"
 msgstr "thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1439
+#: builtin/commit.c:1466
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1440
+#: builtin/commit.c:1467
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1441
+#: builtin/commit.c:1468
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1441 builtin/tag.c:460
+#: builtin/commit.c:1468 builtin/tag.c:460
 msgid "how to strip spaces and #comments from message"
 msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩu tin nhắn"
 
-#: builtin/commit.c:1442
+#: builtin/commit.c:1469
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái ghi mẫu ghi chú chuyển giao (commit)"
 
-#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461
+#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461
 msgid "key id"
 msgstr "id khóa"
 
-#: builtin/commit.c:1444 builtin/merge.c:231
+#: builtin/commit.c:1471 builtin/merge.c:231
 msgid "GPG sign commit"
 msgstr "ký lần commit dùng GPG"
 
 #. end commit message options
-#: builtin/commit.c:1447
+#: builtin/commit.c:1474
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1448
+#: builtin/commit.c:1475
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1449
+#: builtin/commit.c:1476
 msgid "add specified files to index for commit"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục để chuyển giao (commit)"
 
-#: builtin/commit.c:1450
+#: builtin/commit.c:1477
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1451
+#: builtin/commit.c:1478
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1452
+#: builtin/commit.c:1479
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1453
+#: builtin/commit.c:1480
 msgid "bypass pre-commit hook"
 msgstr "vòng qua móc (hook) pre-commit"
 
-#: builtin/commit.c:1454
+#: builtin/commit.c:1481
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1465
+#: builtin/commit.c:1492
 msgid "amend previous commit"
 msgstr "tu bổ (amend) lần commit trước"
 
-#: builtin/commit.c:1466
+#: builtin/commit.c:1493
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1471
+#: builtin/commit.c:1498
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1474
+#: builtin/commit.c:1500
 msgid "ok to record a change with an empty message"
 msgstr "ok để ghi các thay đổi với lời nhắn trống rỗng"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1529
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1545 builtin/merge.c:525
+#: builtin/commit.c:1567 builtin/merge.c:525
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: builtin/commit.c:1552
+#: builtin/commit.c:1574
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1559
+#: builtin/commit.c:1581
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1578
+#: builtin/commit.c:1600
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc thông điệp (message) commit (lần chuyển giao): %s"
 
-#: builtin/commit.c:1592
+#: builtin/commit.c:1614
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao (commit); bạn đã không biên soạn thông điệp "
 "(message).\n"
 
-#: builtin/commit.c:1597
+#: builtin/commit.c:1619
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr ""
 "Đang bỏ qua lần chuyển giao (commit) bởi vì thông điệp của nó trống rỗng.\n"
 
-#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886
+#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao (commit)"
 
-#: builtin/commit.c:1633
+#: builtin/commit.c:1655
 msgid "cannot lock HEAD ref"
 msgstr "không thể khóa HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1659
 msgid "cannot update HEAD ref"
 msgstr "không thể cập nhật ref (tham chiếu) HEAD"
 
-#: builtin/commit.c:1648
+#: builtin/commit.c:1670
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -4530,127 +4710,131 @@ msgstr ""
 "hay quota (hạn nghạch đĩa cứng) bị vượt quá, và sau đó \"git reset HEAD\" để "
 "khắc phục."
 
-#: builtin/config.c:7
+#: builtin/config.c:8
 msgid "git config [options]"
 msgstr "git config [các-tùy-chọn]"
 
-#: builtin/config.c:52
+#: builtin/config.c:54
 msgid "Config file location"
 msgstr "Vị trí tập tin cấu hình"
 
-#: builtin/config.c:53
+#: builtin/config.c:55
 msgid "use global config file"
 msgstr "đặt tập tin cấu hình cần toàn cục"
 
-#: builtin/config.c:54
+#: builtin/config.c:56
 msgid "use system config file"
 msgstr "sử dụng tập tin cấu hình hệ thống"
 
-#: builtin/config.c:55
+#: builtin/config.c:57
 msgid "use repository config file"
 msgstr "dùng tập tin cấu hình của kho"
 
-#: builtin/config.c:56
+#: builtin/config.c:58
 msgid "use given config file"
 msgstr "sử dụng tập tin cấu hình đã cho"
 
-#: builtin/config.c:57
+#: builtin/config.c:59
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:57
+#: builtin/config.c:59
 msgid "read config from given blob object"
 msgstr "đọc cấu hình từ đối tượng blob đã cho"
 
-#: builtin/config.c:58
+#: builtin/config.c:60
 msgid "Action"
 msgstr "Hành động"
 
-#: builtin/config.c:59
+#: builtin/config.c:61
 msgid "get value: name [value-regex]"
 msgstr "lấy giá-trị: tên [value-regex]"
 
-#: builtin/config.c:60
+#: builtin/config.c:62
 msgid "get all values: key [value-regex]"
 msgstr "lấy tất cả giá-trị: khóa [value-regex]"
 
-#: builtin/config.c:61
+#: builtin/config.c:63
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "lấy giá trị cho regexp: name-regex [value-regex]"
 
-#: builtin/config.c:62
+#: builtin/config.c:64
+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
 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:63
+#: builtin/config.c:66
 msgid "add a new variable: name value"
 msgstr "thêm biến mới: tên giá-trị"
 
-#: builtin/config.c:64
+#: builtin/config.c:67
 msgid "remove a variable: name [value-regex]"
 msgstr "gỡ bỏ biến: tên [value-regex]"
 
-#: builtin/config.c:65
+#: builtin/config.c:68
 msgid "remove all matches: name [value-regex]"
 msgstr "gỡ bỏ mọi cái khớp: tên [value-regex]"
 
-#: builtin/config.c:66
+#: builtin/config.c:69
 msgid "rename section: old-name new-name"
 msgstr "đổi tên chương: tên-cũ tên-mới"
 
-#: builtin/config.c:67
+#: builtin/config.c:70
 msgid "remove a section: name"
 msgstr "gỡ bỏ chương: tên"
 
-#: builtin/config.c:68
+#: builtin/config.c:71
 msgid "list all"
 msgstr "liệt kê tất"
 
-#: builtin/config.c:69
+#: builtin/config.c:72
 msgid "open an editor"
 msgstr "mở một trình biên soạn"
 
-#: builtin/config.c:70 builtin/config.c:71
+#: builtin/config.c:73 builtin/config.c:74
 msgid "slot"
 msgstr "khe"
 
-#: builtin/config.c:70
+#: builtin/config.c:73
 msgid "find the color configured: [default]"
 msgstr "tìm cấu hình màu sắc: [mặc định]"
 
-#: builtin/config.c:71
+#: builtin/config.c:74
 msgid "find the color setting: [stdout-is-tty]"
 msgstr "tìm các cài đặt về màu sắc: [stdout-là-tty]"
 
-#: builtin/config.c:72
+#: builtin/config.c:75
 msgid "Type"
 msgstr "Kiểu"
 
-#: builtin/config.c:73
+#: builtin/config.c:76
 msgid "value is \"true\" or \"false\""
 msgstr "giá trị là \"true\" hoặc \"false\""
 
-#: builtin/config.c:74
+#: builtin/config.c:77
 msgid "value is decimal number"
 msgstr "giá trị ở dạng số thập phân"
 
-#: builtin/config.c:75
+#: builtin/config.c:78
 msgid "value is --bool or --int"
 msgstr "giá trị là --bool hoặc --int"
 
-#: builtin/config.c:76
+#: builtin/config.c:79
 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:77
+#: builtin/config.c:80
 msgid "Other"
 msgstr "Khác"
 
-#: builtin/config.c:78
+#: builtin/config.c:81
 msgid "terminate values with NUL byte"
 msgstr "chấm dứt giá trị với byte NUL"
 
-#: builtin/config.c:79
+#: builtin/config.c:82
 msgid "respect include directives on lookup"
 msgstr "tôn trọng kể cà các hướng trong tìm kiếm"
 
@@ -4800,17 +4984,17 @@ msgstr "Không tìm thấy các tên, không thể mô tả gì cả."
 
 #: builtin/describe.c:489
 msgid "--dirty is incompatible with commit-ishes"
-msgstr "--dirty là xung khắc với các tùy chọn dành cho chuyển giao (commit)"
+msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
 #: builtin/diff.c:79
 #, c-format
 msgid "'%s': not a regular file or symlink"
-msgstr "“%s”: không phải tập tin bình thường hay liên kết tượng trưng"
+msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 
 #: builtin/diff.c:230
 #, c-format
 msgid "invalid option: %s"
-msgstr "tùy chọn sai: %s"
+msgstr "tùy chọn không hợp lệ: %s"
 
 #: builtin/diff.c:307
 msgid "Not a git repository"
@@ -4835,39 +5019,39 @@ msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:666
+#: builtin/fast-export.c:673
 msgid "show progress after <n> objects"
 msgstr "hiển thị tiến triển sau <n> đối tượng"
 
-#: builtin/fast-export.c:668
+#: builtin/fast-export.c:675
 msgid "select handling of signed tags"
 msgstr "chọn điều khiển của thẻ đã ký"
 
-#: builtin/fast-export.c:671
+#: builtin/fast-export.c:678
 msgid "select handling of tags that tag filtered objects"
 msgstr "chọn sự xử lý của các thẻ, cái mà đánh thẻ các đối tượng được lọc ra"
 
-#: builtin/fast-export.c:674
+#: builtin/fast-export.c:681
 msgid "Dump marks to this file"
 msgstr "Đổ các đánh dấu này vào tập-tin"
 
-#: builtin/fast-export.c:676
+#: builtin/fast-export.c:683
 msgid "Import marks from this file"
 msgstr "nhập vào đánh dấu từ tập tin này"
 
-#: builtin/fast-export.c:678
+#: builtin/fast-export.c:685
 msgid "Fake a tagger when tags lack one"
 msgstr "Làm giả một cái thẻ khi thẻ bị thiếu một cái"
 
-#: builtin/fast-export.c:680
+#: builtin/fast-export.c:687
 msgid "Output full tree for each commit"
 msgstr "Xuất ra toàn bộ cây cho mỗi lần chuyển giao"
 
-#: builtin/fast-export.c:682
+#: builtin/fast-export.c:689
 msgid "Use the done feature to terminate the stream"
 msgstr "Sử dụng tính năng done để chấm dứt luồng dữ liệu"
 
-#: builtin/fast-export.c:683
+#: builtin/fast-export.c:690
 msgid "Skip output of blob data"
 msgstr "Bỏ qua kết xuất của dữ liệu blob"
 
@@ -4887,146 +5071,146 @@ 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:60
+#: builtin/fetch.c:74
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:62
+#: builtin/fetch.c:76
 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:64
+#: builtin/fetch.c:78
 msgid "path to upload pack on remote end"
 msgstr "đường dẫn đến gói (pack) tải lên trên máy chủ cuối"
 
-#: builtin/fetch.c:65
+#: builtin/fetch.c:79
 msgid "force overwrite of local branch"
 msgstr "ép buộc ghi đè lên nhánh nội bộ"
 
-#: builtin/fetch.c:67
+#: builtin/fetch.c:81
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:69
+#: builtin/fetch.c:83
 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:71
+#: builtin/fetch.c:85
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:73
+#: builtin/fetch.c:87
 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:74
+#: builtin/fetch.c:88
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:75
+#: builtin/fetch.c:89
 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:79
+#: builtin/fetch.c:93
 msgid "keep downloaded pack"
 msgstr "giữ các gói đã tải về"
 
-#: builtin/fetch.c:81
+#: builtin/fetch.c:95
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:84
+#: builtin/fetch.c:98
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:86
+#: builtin/fetch.c:100
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:88 builtin/log.c:1177
+#: builtin/fetch.c:102 builtin/log.c:1197
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/fetch.c:89
+#: builtin/fetch.c:103
 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:92
+#: builtin/fetch.c:106
 msgid "default mode for recursion"
 msgstr "chế độ mặc định cho đệ qui"
 
-#: builtin/fetch.c:220
+#: builtin/fetch.c:236
 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:273
+#: builtin/fetch.c:290
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:278
+#: builtin/fetch.c:295
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:292
+#: builtin/fetch.c:309
 #, 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:293 builtin/fetch.c:379
+#: builtin/fetch.c:310 builtin/fetch.c:396
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:304
+#: builtin/fetch.c:321
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359
+#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376
 msgid "  (unable to update local ref)"
 msgstr "  (không thể cập nhật tham chiếu (ref) nội bộ)"
 
-#: builtin/fetch.c:324
+#: builtin/fetch.c:341
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:327
+#: builtin/fetch.c:344
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:330
+#: builtin/fetch.c:347
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:375
+#: builtin/fetch.c:392
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu (ref) nội bộ"
 
-#: builtin/fetch.c:375
+#: builtin/fetch.c:392
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:381
+#: builtin/fetch.c:398
 msgid "(non-fast-forward)"
 msgstr "(non-fast-forward)"
 
-#: builtin/fetch.c:412 builtin/fetch.c:718
+#: builtin/fetch.c:429 builtin/fetch.c:735
 #, c-format
 msgid "cannot open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: builtin/fetch.c:421
+#: builtin/fetch.c:438
 #, 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:520
+#: builtin/fetch.c:537
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:531
+#: builtin/fetch.c:548
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -5035,57 +5219,57 @@ msgstr ""
 "một số tham chiếu (refs) 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:581
+#: builtin/fetch.c:598
 #, 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:582
+#: builtin/fetch.c:599
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:589
+#: builtin/fetch.c:606
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:590 builtin/remote.c:1055
+#: builtin/fetch.c:607 builtin/remote.c:1055
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:708
+#: builtin/fetch.c:725
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy (fetch) 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:742
-#, 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:823
+#: builtin/fetch.c:744
 #, 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:826
+#: builtin/fetch.c:747
 #, 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:928
+#: builtin/fetch.c:801
+#, 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:976
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy về %s\n"
 
-#: builtin/fetch.c:930 builtin/remote.c:100
+#: builtin/fetch.c:978 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể lấy về %s"
 
-#: builtin/fetch.c:949
+#: builtin/fetch.c:997
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -5093,32 +5277,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:969
+#: builtin/fetch.c:1020
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1015
+#: builtin/fetch.c:1068
 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:1017
+#: builtin/fetch.c:1070
 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:1036
+#: builtin/fetch.c:1089
 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:1038
+#: builtin/fetch.c:1091
 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:1049
+#: builtin/fetch.c:1102
 #, 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:1057
+#: builtin/fetch.c:1110
 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ý"
 
@@ -5127,9 +5311,9 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <thông điệp>] [--log[=<n>]|--no-log] [--file <tập-tin>]"
 
-#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700
-#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179
-#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243
+#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702
+#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178
+#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245
 msgid "n"
 msgstr "n"
 
@@ -5153,117 +5337,121 @@ msgstr "dùng <văn bản thường> để bắt đầu ghi chú"
 msgid "file to read from"
 msgstr "tập tin để đọc dữ liệu từ đó"
 
-#: builtin/for-each-ref.c:979
+#: builtin/for-each-ref.c:995
 msgid "git for-each-ref [options] [<pattern>]"
 msgstr "git for-each-ref [các-tùy-chọn] [<mẫu>]"
 
-#: builtin/for-each-ref.c:994
+#: builtin/for-each-ref.c:1010
 msgid "quote placeholders suitably for shells"
 msgstr "trích dẫn để phù hợp cho hệ vỏ (shell)"
 
-#: builtin/for-each-ref.c:996
+#: builtin/for-each-ref.c:1012
 msgid "quote placeholders suitably for perl"
 msgstr "trích dẫn để phù hợp cho perl"
 
-#: builtin/for-each-ref.c:998
+#: builtin/for-each-ref.c:1014
 msgid "quote placeholders suitably for python"
 msgstr "trích dẫn để phù hợp cho python"
 
-#: builtin/for-each-ref.c:1000
+#: builtin/for-each-ref.c:1016
 msgid "quote placeholders suitably for tcl"
 msgstr "trích dẫn để phù hợp cho tcl"
 
-#: builtin/for-each-ref.c:1003
+#: builtin/for-each-ref.c:1019
 msgid "show only <n> matched refs"
 msgstr "hiển thị chỉ <n> tham chiếu khớp"
 
-#: builtin/for-each-ref.c:1004
+#: builtin/for-each-ref.c:1020
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/for-each-ref.c:1004
+#: builtin/for-each-ref.c:1020
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/for-each-ref.c:1005
+#: builtin/for-each-ref.c:1021
 msgid "key"
 msgstr "khóa"
 
-#: builtin/for-each-ref.c:1006
+#: builtin/for-each-ref.c:1022
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
-#: builtin/fsck.c:608
+#: builtin/fsck.c:607
 msgid "git fsck [options] [<object>...]"
 msgstr "git fsck [các-tùy-chọn] [<đối-tượng>...]"
 
-#: builtin/fsck.c:614
+#: builtin/fsck.c:613
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:615
+#: builtin/fsck.c:614
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:616
+#: builtin/fsck.c:615
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:617
+#: builtin/fsck.c:616
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:618
+#: builtin/fsck.c:617
 msgid "make index objects head nodes"
 msgstr "tạo “ index objects head nodes”"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:618
 msgid "make reflogs head nodes (default)"
 msgstr "tạo  reflogs head nodes (mặc định)"
 
-#: builtin/fsck.c:620
+#: builtin/fsck.c:619
 msgid "also consider packs and alternate objects"
 msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 
-#: builtin/fsck.c:621
+#: builtin/fsck.c:620
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:623
+#: builtin/fsck.c:622
 msgid "write dangling objects in .git/lost-found"
 msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
 
-#: builtin/fsck.c:624 builtin/prune.c:134
+#: builtin/fsck.c:623 builtin/prune.c:134
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/gc.c:22
+#: builtin/gc.c:23
 msgid "git gc [options]"
 msgstr "git gc [các-tùy-chọn]"
 
-#: builtin/gc.c:63
+#: builtin/gc.c:79
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: builtin/gc.c:90
+#: builtin/gc.c:106
 #, c-format
 msgid "insanely long object directory %.*s"
 msgstr "thư mục đối tượng dài một cách điên rồ  %.*s"
 
-#: builtin/gc.c:179
+#: builtin/gc.c:261
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:181
+#: builtin/gc.c:263
 msgid "be more thorough (increased runtime)"
 msgstr "cẩn thận hơn nữa (tăng thời gian chạy)"
 
-#: builtin/gc.c:182
+#: builtin/gc.c:264
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:222
+#: builtin/gc.c:265
+msgid "force running gc even if there may be another gc running"
+msgstr "buộc gc chạy ngay cả khi có tiến trình gc khác đang chạy"
+
+#: builtin/gc.c:305
 #, c-format
 msgid ""
 "Auto packing the repository for optimum performance. You may also\n"
@@ -5273,43 +5461,52 @@ msgstr ""
 "chạy lệnh \"git gc\" một cách thủ công. Hãy xem \"git help gc\" để biết thêm "
 "chi tiết.\n"
 
-#: builtin/gc.c:249
+#. be quiet on --auto
+#: builtin/gc.c:315
+#, c-format
+msgid ""
+"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
+msgstr ""
+"gc đang được thực hiện trên máy “%s” pid %<PRIuMAX> (dùng --force nếu không "
+"phải thế)"
+
+#: builtin/gc.c:340
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Có quá nhiều đối tượng tự do không được dùng đến; hãy chạy lệnh “git prune” "
 "để xóa bỏ chúng đi."
 
-#: builtin/grep.c:22
+#: builtin/grep.c:23
 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:217
+#: builtin/grep.c:218
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 
-#: builtin/grep.c:364
+#: builtin/grep.c:365
 #, c-format
 msgid "Failed to chdir: %s"
 msgstr "Gặp lỗi với lệnh chdir: %s"
 
-#: builtin/grep.c:442 builtin/grep.c:477
+#: builtin/grep.c:443 builtin/grep.c:478
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:492
+#: builtin/grep.c:493
 #, 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:550
+#: builtin/grep.c:551
 #, 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:567
+#: builtin/grep.c:568
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
@@ -5351,161 +5548,165 @@ 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:662
+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:664
 msgid "descend at most <depth> levels"
 msgstr "giảm xuống ít nhất mức <sâu>"
 
-#: builtin/grep.c:666
+#: builtin/grep.c:668
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:669
+#: builtin/grep.c:671
 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:672
+#: builtin/grep.c:674
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:675
+#: builtin/grep.c:677
 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:678
+#: builtin/grep.c:680
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:679
+#: builtin/grep.c:681
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:680
+#: builtin/grep.c:682
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:682
+#: builtin/grep.c:684
 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:684
+#: builtin/grep.c:686
 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:686
+#: builtin/grep.c:688
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:689
+#: builtin/grep.c:691
 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:691
+#: builtin/grep.c:693
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:693
+#: builtin/grep.c:695
 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:694
+#: builtin/grep.c:696
 msgid "highlight matches"
 msgstr "tô sáng cái khớp"
 
-#: builtin/grep.c:696
+#: builtin/grep.c:698
 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:698
+#: builtin/grep.c:700
 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:701
+#: builtin/grep.c:703
 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:704
+#: builtin/grep.c:706
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:706
+#: builtin/grep.c:708
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:707
+#: builtin/grep.c:709
 msgid "shortcut for -C NUM"
 msgstr "Dạng tắt cho -C SỐ"
 
-#: builtin/grep.c:710
+#: builtin/grep.c:712
 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:712
+#: builtin/grep.c:714
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:715
+#: builtin/grep.c:717
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:717
+#: builtin/grep.c:719
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:719
+#: builtin/grep.c:721
 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:731
+#: builtin/grep.c:733
 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:733
+#: builtin/grep.c:735
 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:735
+#: builtin/grep.c:737
 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:739
+#: builtin/grep.c:741
 msgid "pager"
 msgstr "trang giấy"
 
-#: builtin/grep.c:739
+#: builtin/grep.c:741
 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:742
+#: builtin/grep.c:744
 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:743 builtin/show-ref.c:188
+#: builtin/grep.c:745 builtin/show-ref.c:187
 msgid "show usage"
 msgstr "hiển thị cách dùng"
 
-#: builtin/grep.c:810
+#: builtin/grep.c:812
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:865
+#: builtin/grep.c:870
 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:888
+#: builtin/grep.c:893
 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:893
+#: builtin/grep.c:898
 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:896
+#: builtin/grep.c:901
 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:904
+#: builtin/grep.c:909
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
@@ -5658,7 +5859,7 @@ msgstr "Các chỉ dẫn chung về cách dùng Git là:\n"
 #: builtin/help.c:460 builtin/help.c:476
 #, c-format
 msgid "usage: %s%s"
-msgstr "cách sử dụng: %s%s"
+msgstr "cách ng: %s%s"
 
 #: builtin/help.c:492
 #, c-format
@@ -5760,8 +5961,8 @@ msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:669 builtin/pack-objects.c:170
-#: builtin/pack-objects.c:262
+#: builtin/index-pack.c:669 builtin/pack-objects.c:171
+#: builtin/pack-objects.c:263
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
@@ -5790,155 +5991,155 @@ msgstr "Lỗi trong đối tượng"
 msgid "Not all child objects of %s are reachable"
 msgstr "Không phải tất cả các đối tượng con của %s là có thể với tới được"
 
-#: builtin/index-pack.c:838 builtin/index-pack.c:868
+#: builtin/index-pack.c:839 builtin/index-pack.c:869
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1009
+#: builtin/index-pack.c:1010
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1009
+#: builtin/index-pack.c:1010
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1035
+#: builtin/index-pack.c:1036
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "pack bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1040
+#: builtin/index-pack.c:1041
 msgid "cannot fstat packfile"
 msgstr "không thể fstat packfile"
 
-#: builtin/index-pack.c:1043
+#: builtin/index-pack.c:1044
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1054
+#: builtin/index-pack.c:1055
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "lộn xộn hơn cả điên rồ khi chạy hàm parse_pack_objects()"
 
-#: builtin/index-pack.c:1077
+#: builtin/index-pack.c:1078
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1087
+#: builtin/index-pack.c:1088
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1129
+#: builtin/index-pack.c:1130
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1137
+#: builtin/index-pack.c:1138
 #, c-format
 msgid "completed with %d local objects"
 msgstr "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1147
+#: builtin/index-pack.c:1148
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Tổng kiểm tra tail không như mong đợi cho %s (đĩa hỏng?)"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1152
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "pack có %d delta chưa được giải quyết"
 msgstr[1] "pack có %d delta chưa được giải quyết"
 
-#: builtin/index-pack.c:1176
+#: builtin/index-pack.c:1177
 #, c-format
 msgid "unable to deflate appended object (%d)"
-msgstr "không thể xả đối tượng nối thêm (%d)"
+msgstr "không thể xả nén đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1255
+#: builtin/index-pack.c:1256
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1279
+#: builtin/index-pack.c:1280
 msgid "error while closing pack file"
-msgstr "gặp lỗi trong khi đóng tập tin pack"
+msgstr "gặp lỗi trong khi đóng tập tin gói (pack)"
 
-#: builtin/index-pack.c:1292
+#: builtin/index-pack.c:1293
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1300
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "cannot close written keep file '%s'"
 msgstr "không thể đóng tập tin giữ lại đã được ghi “%s”"
 
-#: builtin/index-pack.c:1313
+#: builtin/index-pack.c:1314
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin pack"
 
-#: builtin/index-pack.c:1324
+#: builtin/index-pack.c:1325
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1357
+#: builtin/index-pack.c:1358
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1363
+#: builtin/index-pack.c:1364
 #, 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:1367 builtin/index-pack.c:1545
+#: builtin/index-pack.c:1368 builtin/index-pack.c:1546
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1425
+#: builtin/index-pack.c:1426
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin pack đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1427
+#: builtin/index-pack.c:1428
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin “pack idx” cho “%s”"
 
-#: builtin/index-pack.c:1474
+#: builtin/index-pack.c:1475
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "không delta: %d đối tượng"
 msgstr[1] "không delta: %d đối tượng"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1482
 #, 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"
 msgstr[1] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1509
+#: builtin/index-pack.c:1510
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1557 builtin/index-pack.c:1560
-#: builtin/index-pack.c:1572 builtin/index-pack.c:1576
+#: builtin/index-pack.c:1558 builtin/index-pack.c:1561
+#: builtin/index-pack.c:1573 builtin/index-pack.c:1577
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1590
+#: builtin/index-pack.c:1591
 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:1594 builtin/index-pack.c:1604
+#: builtin/index-pack.c:1595 builtin/index-pack.c:1605
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin packfile “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1613
+#: builtin/index-pack.c:1614
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -6027,11 +6228,6 @@ msgstr "không thể nắm (handle) tập tin kiểu %d"
 msgid "unable to move %s to %s"
 msgstr "không di chuyển được %s vào %s"
 
-#: builtin/init-db.c:363
-#, c-format
-msgid "Could not create git link %s"
-msgstr "Không thể tạo liên kết git “%s”"
-
 #.
 #. * TRANSLATORS: The first '%s' is either "Reinitialized
 #. * existing" or "Initialized empty", the second " shared" or
@@ -6060,8 +6256,8 @@ msgstr "không nói chuyện được với lệnh cwd"
 
 #: builtin/init-db.c:467
 msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared"
-"[=<permissions>]] [directory]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
+"shared[=<permissions>]] [directory]"
 msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
 "quyền>]] [thư-mục]"
@@ -6074,7 +6270,7 @@ msgstr "các quyền"
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiều người dùng"
 
-#: builtin/init-db.c:493 builtin/prune-packed.c:75
+#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155
 msgid "be quiet"
 msgstr "im lặng"
 
@@ -6114,247 +6310,247 @@ msgstr "git log [<các-tùy-chọn>] [<vùng xem xét>] [[--] <đường-dẫn>.
 msgid "   or: git show [options] <object>..."
 msgstr "  hay: git show [các-tùy-chọn] <đối-tượng>..."
 
-#: builtin/log.c:124
+#: builtin/log.c:125
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: builtin/log.c:125
+#: builtin/log.c:126
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:126
+#: builtin/log.c:127
 msgid "Use mail map file"
 msgstr "Sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:127
+#: builtin/log.c:128
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:230
+#: builtin/log.c:231
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:453 builtin/log.c:545
+#: builtin/log.c:473 builtin/log.c:565
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:569
+#: builtin/log.c:589
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:669
+#: builtin/log.c:689
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:751
+#: builtin/log.c:771
 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:767
+#: builtin/log.c:787
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:781
+#: builtin/log.c:801
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:789
+#: builtin/log.c:809
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:891
+#: builtin/log.c:911
 msgid "Cover letter needs email format"
 msgstr "”Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:967
+#: builtin/log.c:987
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:995
+#: builtin/log.c:1015
 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:1040
+#: builtin/log.c:1060
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1155
+#: builtin/log.c:1175
 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:1158
+#: builtin/log.c:1178
 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:1162
+#: builtin/log.c:1182
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1164
+#: builtin/log.c:1184
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1166
+#: builtin/log.c:1186
 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:1167
+#: builtin/log.c:1187
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1168
+#: builtin/log.c:1188
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1170
+#: builtin/log.c:1190
 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:1172
+#: builtin/log.c:1192
 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:1174
+#: builtin/log.c:1194
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1177
+#: builtin/log.c:1197
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1180
+#: builtin/log.c:1200
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1183
+#: builtin/log.c:1203
 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:1185
+#: builtin/log.c:1205
 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:1187
+#: builtin/log.c:1207
 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:1189
+#: builtin/log.c:1209
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1190
+#: builtin/log.c:1210
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1191
+#: builtin/log.c:1211
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1192 builtin/log.c:1194
+#: builtin/log.c:1212 builtin/log.c:1214
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1192
+#: builtin/log.c:1212
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1194
+#: builtin/log.c:1214
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1196
+#: builtin/log.c:1216
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1197
+#: builtin/log.c:1217
 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)"
+"đặ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:1199
+#: builtin/log.c:1219
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1200
+#: builtin/log.c:1220
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1201 builtin/log.c:1204
+#: builtin/log.c:1221 builtin/log.c:1224
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1202
+#: builtin/log.c:1222
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1205
+#: builtin/log.c:1225
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1209
+#: builtin/log.c:1229
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1211
+#: builtin/log.c:1231
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1212
+#: builtin/log.c:1232
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1214
+#: builtin/log.c:1233
 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:1288
+#: builtin/log.c:1307
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/log.c:1303
+#: builtin/log.c:1322
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1305
+#: builtin/log.c:1324
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1313
+#: builtin/log.c:1332
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1315
+#: builtin/log.c:1334
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1317
+#: builtin/log.c:1336
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1340
+#: builtin/log.c:1359
 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:1342
+#: builtin/log.c:1361
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1490
+#: builtin/log.c:1509
 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:1539
+#: builtin/log.c:1558
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<head> [<giới-hạn>]]]"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1613
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -6362,139 +6558,139 @@ msgstr ""
 "Không tìm thấy nhánh mạng bị theo vết, hãy chỉ định <thượng-nguồn> một cách "
 "thủ công.\n"
 
-#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621
+#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao (commit) %s"
 
-#: builtin/ls-files.c:408
+#: builtin/ls-files.c:398
 msgid "git ls-files [options] [<file>...]"
 msgstr "git ls-files [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/ls-files.c:465
+#: builtin/ls-files.c:455
 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:467
+#: builtin/ls-files.c:457
 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:469
+#: builtin/ls-files.c:459
 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:471
+#: builtin/ls-files.c:461
 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:473
+#: builtin/ls-files.c:463
 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:475
+#: builtin/ls-files.c:465
 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:477
+#: builtin/ls-files.c:467
 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:480
+#: builtin/ls-files.c:470
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được lưu trạng thái ở kết xuất"
 
-#: builtin/ls-files.c:482
+#: builtin/ls-files.c:472
 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:484
+#: builtin/ls-files.c:474
 msgid "show 'other' directories' name only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:487
+#: builtin/ls-files.c:477
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:490
+#: builtin/ls-files.c:480
 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:492
+#: builtin/ls-files.c:482
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:494
+#: builtin/ls-files.c:484
 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:497
+#: builtin/ls-files.c:487
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:500
+#: builtin/ls-files.c:490
 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:502
+#: builtin/ls-files.c:492
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:505
+#: builtin/ls-files.c:495
 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:508
+#: builtin/ls-files.c:498
 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:509
+#: builtin/ls-files.c:499
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:510
+#: builtin/ls-files.c:500
 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:512
+#: builtin/ls-files.c:502
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
-#: builtin/ls-tree.c:27
+#: 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>...]"
 
-#: builtin/ls-tree.c:125
+#: builtin/ls-tree.c:126
 msgid "only show trees"
 msgstr "chỉ hiển thị các tree"
 
-#: builtin/ls-tree.c:127
+#: builtin/ls-tree.c:128
 msgid "recurse into subtrees"
 msgstr "đệ quy vào các thư mục con"
 
-#: builtin/ls-tree.c:129
+#: builtin/ls-tree.c:130
 msgid "show trees when recursing"
 msgstr "hiển thị cây khi đệ quy"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:133
 msgid "terminate entries with NUL byte"
 msgstr "chấm dứt mục tin với byte NUL"
 
-#: builtin/ls-tree.c:133
+#: builtin/ls-tree.c:134
 msgid "include object size"
 msgstr "gồm cả kích thước đối tượng"
 
-#: builtin/ls-tree.c:135 builtin/ls-tree.c:137
+#: builtin/ls-tree.c:136 builtin/ls-tree.c:138
 msgid "list only filenames"
 msgstr "chỉ liệt kê tên tập tin"
 
-#: builtin/ls-tree.c:140
+#: builtin/ls-tree.c:141
 msgid "use full path names"
 msgstr "dùng tên đường dẫn đầy đủ"
 
-#: builtin/ls-tree.c:142
+#: builtin/ls-tree.c:143
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
@@ -6569,7 +6765,7 @@ msgstr "bỏ qua nếu fast-forward 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:219 builtin/notes.c:738 builtin/revert.c:114
+#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89
 msgid "strategy"
 msgstr "chiến lược"
 
@@ -6950,76 +7146,87 @@ msgstr "cho phép thiếu đối tượng"
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
-#: builtin/mv.c:14
+#: builtin/mv.c:15
 msgid "git mv [options] <source>... <destination>"
 msgstr "git mv [các-tùy-chọn] <nguồn>... <đích>"
 
-#: builtin/mv.c:64
+#: builtin/mv.c:67
 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:65
+#: builtin/mv.c:68
 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:108
+#: builtin/mv.c:113
 #, 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:112
+#: builtin/mv.c:117
 msgid "bad source"
 msgstr "nguồn sai"
 
-#: builtin/mv.c:115
+#: builtin/mv.c:120
 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:118
+#: builtin/mv.c:123
 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:128
+#: builtin/mv.c:129
+#, c-format
+msgid "Huh? Directory %s is in index and no submodule?"
+msgstr "Hả? Thư mục “%s” trong chỉ mục và không mô-đun con?"
+
+#: builtin/mv.c:131 builtin/rm.c:318
+msgid "Please, stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Hãy lưu các thay đổi của bạn vào “.gitmodules” hay ghi vào vùng nhớ tạm "
+"(stash) chúng để xử lý"
+
+#: builtin/mv.c:147
 #, c-format
 msgid "Huh? %.*s is in index?"
 msgstr "Hả? %.*s trong bảng mục lục à?"
 
-#: builtin/mv.c:140
+#: builtin/mv.c:159
 msgid "source directory is empty"
 msgstr "thư mục nguồn là trống rỗng"
 
-#: builtin/mv.c:171
+#: builtin/mv.c:191
 msgid "not under version control"
 msgstr "không nằm dưới sự quản lý mã nguồn"
 
-#: builtin/mv.c:173
+#: builtin/mv.c:193
 msgid "destination exists"
 msgstr "đích đã tồn tại sẵn rồi"
 
-#: builtin/mv.c:181
+#: builtin/mv.c:201
 #, c-format
 msgid "overwriting '%s'"
 msgstr "đang ghi đè lên “%s”"
 
-#: builtin/mv.c:184
+#: builtin/mv.c:204
 msgid "Cannot overwrite"
 msgstr "Không thể ghi đè"
 
-#: builtin/mv.c:187
+#: builtin/mv.c:207
 msgid "multiple sources for the same target"
 msgstr "Nhiều nguồn cho cùng một đích"
 
-#: builtin/mv.c:202
+#: builtin/mv.c:222
 #, c-format
 msgid "%s, source=%s, destination=%s"
 msgstr "%s, nguồn=%s, đích=%s"
 
-#: builtin/mv.c:212
+#: builtin/mv.c:232
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:215 builtin/remote.c:731
+#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "đổi tên %s gặp lỗi"
@@ -7058,8 +7265,8 @@ msgid "read from stdin"
 msgstr "đọc từ đầu vào tiêu chuẩn"
 
 #: builtin/name-rev.c:320
-msgid "allow to print `undefined` names"
-msgstr "cho phép hiển thị các tên “chưa định nghĩa“"
+msgid "allow to print `undefined` names (default)"
+msgstr "cho phép in các tên “chưa định nghĩa” (mặc định)"
 
 #: builtin/name-rev.c:326
 msgid "dereference tags in the input (internal use)"
@@ -7213,12 +7420,12 @@ msgstr "không thể ghi đối tượng ghi chú (note)"
 msgid "The note contents has been left in %s"
 msgstr "Nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:248 builtin/tag.c:540
+#: builtin/notes.c:248 builtin/tag.c:537
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:250 builtin/tag.c:543
+#: builtin/notes.c:250 builtin/tag.c:540
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -7226,7 +7433,7 @@ msgstr "không thể mở hay đọc “%s”"
 #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318
 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515
 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637
-#: builtin/notes.c:839 builtin/tag.c:556
+#: builtin/notes.c:839 builtin/tag.c:553
 #, 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 (ref) hợp lệ."
@@ -7239,7 +7446,7 @@ msgstr "Gặp lỗi khi đọc đối tượng “%s”."
 #: builtin/notes.c:312
 #, c-format
 msgid "Malformed input line: '%s'."
-msgstr "Dòng nhập vào dị hình: “%s”."
+msgstr "Dòng đầu vào dị hình: “%s”."
 
 #: builtin/notes.c:327
 #, c-format
@@ -7403,149 +7610,149 @@ msgstr ""
 "git pack-objects [các-tùy-chọn...] base-name [< danh-sách-ref | < danh-sách-"
 "đối-tượng]"
 
-#: builtin/pack-objects.c:183 builtin/pack-objects.c:186
+#: builtin/pack-objects.c:184 builtin/pack-objects.c:187
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:2397
+#: builtin/pack-objects.c:2398
 #, 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:2401
+#: builtin/pack-objects.c:2402
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2424
+#: builtin/pack-objects.c:2425
 #, c-format
 msgid "option %s does not accept negative form"
 msgstr "tùy chọn %s không chấp nhận dạng thức âm"
 
-#: builtin/pack-objects.c:2428
+#: builtin/pack-objects.c:2429
 #, c-format
 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"
 
-#: builtin/pack-objects.c:2447
+#: builtin/pack-objects.c:2448
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2449
+#: builtin/pack-objects.c:2450
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2451
+#: builtin/pack-objects.c:2452
 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:2454
+#: builtin/pack-objects.c:2455
 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:2455
+#: builtin/pack-objects.c:2456
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2456
+#: builtin/pack-objects.c:2457
 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:2459
+#: builtin/pack-objects.c:2460
 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:2461
+#: builtin/pack-objects.c:2462
 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:2463
+#: builtin/pack-objects.c:2464
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2465
+#: builtin/pack-objects.c:2466
 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:2467
+#: builtin/pack-objects.c:2468
 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:2469
+#: builtin/pack-objects.c:2470
 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:2471
+#: builtin/pack-objects.c:2472
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2473
+#: builtin/pack-objects.c:2474
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2475
+#: builtin/pack-objects.c:2476
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2477
+#: builtin/pack-objects.c:2478
 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:2479
+#: builtin/pack-objects.c:2480
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói (pack) trống rỗng"
 
-#: builtin/pack-objects.c:2481
+#: builtin/pack-objects.c:2482
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2483
+#: builtin/pack-objects.c:2484
 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:2486
+#: builtin/pack-objects.c:2487
 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:2489
+#: builtin/pack-objects.c:2490
 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:2492
+#: builtin/pack-objects.c:2493
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2494
+#: builtin/pack-objects.c:2495
 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:2496
+#: builtin/pack-objects.c:2497
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2497 parse-options.h:141
+#: builtin/pack-objects.c:2498 parse-options.h:143
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/pack-objects.c:2498
+#: builtin/pack-objects.c:2499
 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:2501
+#: builtin/pack-objects.c:2502
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2503
+#: builtin/pack-objects.c:2504
 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:2505
+#: builtin/pack-objects.c:2506
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2507
+#: builtin/pack-objects.c:2508
 msgid "do not hide commits by grafts"
 msgstr "không ẩn các lần chuyển giao bởi “grafts”"
 
@@ -7585,15 +7792,15 @@ msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<các-tùy-chọn>] [<kho-chứa> [<refspec>...]]"
 
-#: builtin/push.c:45
+#: builtin/push.c:47
 msgid "tag shorthand without <tag>"
 msgstr "dùng tốc ký tag không có <thẻ>"
 
-#: builtin/push.c:64
+#: builtin/push.c:66
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete chỉ chấp nhận các tên tham chiếu (ref) dạng thường"
 
-#: builtin/push.c:99
+#: builtin/push.c:101
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -7602,7 +7809,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:102
+#: builtin/push.c:104
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -7627,7 +7834,7 @@ msgstr ""
 "    git push %s %s\n"
 "%s"
 
-#: builtin/push.c:117
+#: builtin/push.c:119
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -7642,7 +7849,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<tên-của-nhánh-máy-chủ>\n"
 
-#: builtin/push.c:131
+#: builtin/push.c:133
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -7656,12 +7863,12 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:139
+#: builtin/push.c:141
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr "Nhánh hiện tại %s có đa nhánh thượng nguồn (upstream), từ chối push."
 
-#: builtin/push.c:142
+#: builtin/push.c:144
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -7673,7 +7880,7 @@ 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:165
+#: builtin/push.c:167
 msgid ""
 "push.default is unset; its implicit value is changing in\n"
 "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
@@ -7706,14 +7913,14 @@ msgstr ""
 "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:225
+#: builtin/push.c:227
 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 để push, và push.default là \"không là "
 "gì cả\"."
 
-#: builtin/push.c:232
+#: builtin/push.c:234
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -7727,7 +7934,7 @@ msgstr ""
 "Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:238
+#: builtin/push.c:240
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. If you did not intend to push that branch, you may want to\n"
@@ -7742,7 +7949,7 @@ msgstr ""
 "thành “simple”, “current” hoặc “upstream” để chỉ push nhánh hiện hành mà "
 "thôi."
 
-#: builtin/push.c:244
+#: builtin/push.c:246
 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"
@@ -7756,7 +7963,7 @@ msgstr ""
 "Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:250
+#: builtin/push.c:252
 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"
@@ -7771,11 +7978,11 @@ msgstr ""
 "Xem “Note about fast-forwards” từ lệnh “git push --help” để có thông tin chi "
 "tiết."
 
-#: builtin/push.c:257
+#: builtin/push.c:259
 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:260
+#: builtin/push.c:262
 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"
@@ -7787,22 +7994,22 @@ msgstr ""
 "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:320
+#: builtin/push.c:328
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Đang push (đẩy) lên %s\n"
 
-#: builtin/push.c:324
+#: builtin/push.c:332
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi push (đẩy lên) một số tham chiếu (ref) đến “%s”"
 
-#: builtin/push.c:357
+#: builtin/push.c:365
 #, c-format
 msgid "bad repository '%s'"
 msgstr "repository (kho) sai “%s”"
 
-#: builtin/push.c:358
+#: builtin/push.c:366
 msgid ""
 "No configured push destination.\n"
 "Either specify the URL from the command-line or configure a remote "
@@ -7823,88 +8030,96 @@ msgstr ""
 "\n"
 "    git push <tên>\n"
 
-#: builtin/push.c:373
+#: builtin/push.c:381
 msgid "--all and --tags are incompatible"
 msgstr "--all và --tags xung khắc nhau"
 
-#: builtin/push.c:374
+#: 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 refspecs"
+msgstr "--all không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:379
+#: builtin/push.c:387
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror và --tags xung khắc nhau"
 
-#: builtin/push.c:380
+#: 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 refspecs"
+msgstr "--mirror không thể được tổ hợp cùng với đặc tả đường dẫn"
 
-#: builtin/push.c:385
+#: builtin/push.c:393
 msgid "--all and --mirror are incompatible"
 msgstr "--all và --mirror xung khắc nhau"
 
-#: builtin/push.c:445
+#: builtin/push.c:453
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:446
+#: builtin/push.c:454
 msgid "push all refs"
 msgstr "push tất cả refs"
 
-#: builtin/push.c:447
+#: builtin/push.c:455
 msgid "mirror all refs"
-msgstr "mirror tất cả refs"
+msgstr "mirror tất cả các tham chiếu"
 
-#: builtin/push.c:449
+#: builtin/push.c:457
 msgid "delete refs"
 msgstr "xóa refs"
 
-#: builtin/push.c:450
+#: builtin/push.c:458
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "các thẻ push (không thể sử dụng cùng với các tùy chọn --all hay --mirror)"
 
-#: builtin/push.c:453
+#: builtin/push.c:461
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:454
+#: builtin/push.c:463
+msgid "refname>:<expect"
+msgstr "tên-tham-chiếu>:<cần"
+
+#: builtin/push.c:464
+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:466
 msgid "check"
 msgstr "kiểm tra"
 
-#: builtin/push.c:455
+#: builtin/push.c:467
 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:457
+#: builtin/push.c:469
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:458 builtin/push.c:459
+#: builtin/push.c:470 builtin/push.c:471
 msgid "receive pack program"
 msgstr "nhận về chương trình pack"
 
-#: builtin/push.c:460
+#: builtin/push.c:472
 msgid "set upstream for git pull/status"
 msgstr "đặt thượng nguồn (upstream) cho git pull/status"
 
-#: builtin/push.c:463
+#: builtin/push.c:475
 msgid "prune locally removed refs"
 msgstr "prune (cắt cụt) những tham chiếu (refs) bị gỡ bỏ"
 
-#: builtin/push.c:465
+#: builtin/push.c:477
 msgid "bypass pre-push hook"
 msgstr "vòng qua “pre-push hook”"
 
-#: builtin/push.c:466
+#: builtin/push.c:478
 msgid "push missing but relevant tags"
 msgstr "push bị trượt nhưng các thẻ thích hợp"
 
-#: builtin/push.c:476
+#: builtin/push.c:488
 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:478
+#: builtin/push.c:490
 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 (refs) nào"
 
@@ -7982,14 +8197,14 @@ msgstr "bỏ qua áp dụng bộ lọc lấy ra (checkout) thưa thớt"
 
 #: builtin/read-tree.c:138
 msgid "debug unpack-trees"
-msgstr "gỡ lỗi unpack-trees"
+msgstr "gỡ lỗi “unpack-trees”"
 
-#: builtin/reflog.c:500
+#: builtin/reflog.c:499
 #, c-format
 msgid "%s' for '%s' is not a valid timestamp"
-msgstr "%s' cho '%s' không phải là dấu thời gian hợp lệ"
+msgstr "giá trị %s dành cho “%s” không phải là dấu thời gian hợp lệ"
 
-#: builtin/reflog.c:616 builtin/reflog.c:621
+#: builtin/reflog.c:615 builtin/reflog.c:620
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "“%s” không phải là dấu thời gian hợp lệ"
@@ -8014,9 +8229,9 @@ msgstr "git remote rename <tên-cũ> <tên-mới>"
 msgid "git remote remove <name>"
 msgstr "git remote remove <tên>"
 
-#: builtin/remote.c:15 builtin/remote.c:42
-msgid "git remote set-head <name> (-a | -d | <branch>)"
-msgstr "git remote set-head <tên> (-a | -d | <nhánh>)"
+#: builtin/remote.c:15
+msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)"
+msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)"
 
 #: builtin/remote.c:16
 msgid "git remote [-v | --verbose] show [-n] <name>"
@@ -8052,6 +8267,10 @@ msgstr "git remote set-url --delete <tên> <url>"
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<các-tùy-chọn>] <tên> <url>"
 
+#: builtin/remote.c:42
+msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
+msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)"
+
 #: builtin/remote.c:47
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <tên> <nhánh>..."
@@ -8150,7 +8369,7 @@ msgstr "nhiều hơn một %s"
 #: builtin/remote.c:339
 #, c-format
 msgid "Could not get fetch map for refspec %s"
-msgstr "Không thể lấy ánh xạ (map) fetch cho refspec %s"
+msgstr "Không thể lấy ánh xạ (map) fetch cho đặc tả tham chiếu %s"
 
 #: builtin/remote.c:440 builtin/remote.c:448
 msgid "(matching)"
@@ -8242,7 +8461,7 @@ msgstr " được theo vết"
 
 #: builtin/remote.c:948
 msgid " stale (use 'git remote prune' to remove)"
-msgstr " cũ (dùng “git remote prune” để gỡ bỏ)"
+msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
 #: builtin/remote.c:950
 msgid " ???"
@@ -8490,6 +8709,67 @@ msgstr "Sẽ không xóa những địa chỉ URL không-push"
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
+#: builtin/repack.c:15
+msgid "git repack [options]"
+msgstr "git repack [các-tùy-chọn]"
+
+#: builtin/repack.c:143
+msgid "pack everything in a single pack"
+msgstr "đóng gói mọi thứ trong một gói đơn"
+
+#: builtin/repack.c:145
+msgid "same as -a, and turn unreachable objects loose"
+msgstr "giống với -a, và chỉnh sửa các đối tượng không đọc được thiếu sót"
+
+#: builtin/repack.c:148
+msgid "remove redundant packs, and run git-prune-packed"
+msgstr "xóa bỏ các gói dư thừa, và chạy git-prune-packed"
+
+#: builtin/repack.c:150
+msgid "pass --no-reuse-delta to git-pack-objects"
+msgstr "chuyển --no-reuse-delta cho git-pack-objects"
+
+#: builtin/repack.c:152
+msgid "pass --no-reuse-object to git-pack-objects"
+msgstr "chuyển --no-reuse-object cho git-pack-objects"
+
+#: builtin/repack.c:154
+msgid "do not run git-update-server-info"
+msgstr "không chạy git-update-server-info"
+
+#: builtin/repack.c:157
+msgid "pass --local to git-pack-objects"
+msgstr "chuyển --local cho git-pack-objects"
+
+#: builtin/repack.c:158
+msgid "approxidate"
+msgstr "ngày ước tính"
+
+#: builtin/repack.c:159
+msgid "with -A, do not loosen objects older than this"
+msgstr "với -A, các đối tượng cũ hơn khoảng thời gian này thì không bị mất"
+
+#: builtin/repack.c:161
+msgid "size of the window used for delta compression"
+msgstr "kích thước cửa sổ được dùng cho nén “delta”"
+
+#: builtin/repack.c:163
+msgid "same as the above, but limit memory size instead of entries count"
+msgstr "giống như trên, nhưng giới hạn kích thước bộ nhớ hay vì số lượng"
+
+#: builtin/repack.c:165
+msgid "limits the maximum delta depth"
+msgstr "giới hạn độ sâu tối đa của “delta”"
+
+#: builtin/repack.c:167
+msgid "maximum size of each packfile"
+msgstr "kcíh thước tối đa cho từng tập tin gói"
+
+#: builtin/repack.c:345
+#, c-format
+msgid "removing '%s' failed"
+msgstr "gặp lỗi khi xóa bỏ “%s”"
+
 #: builtin/replace.c:17
 msgid "git replace [-f] <object> <replacement>"
 msgstr "git replace [-f] <đối-tượng> <thay-thế>"
@@ -8502,23 +8782,23 @@ msgstr "git replace -d <đối tượng>..."
 msgid "git replace -l [<pattern>]"
 msgstr "git replace -l [<mẫu>]"
 
-#: builtin/replace.c:121
+#: builtin/replace.c:131
 msgid "list replace refs"
 msgstr "liệt kê các refs thay thế"
 
-#: builtin/replace.c:122
+#: builtin/replace.c:132
 msgid "delete replace refs"
 msgstr "xóa tham chiếu (refs) thay thế"
 
-#: builtin/replace.c:123
+#: builtin/replace.c:133
 msgid "replace the ref if it exists"
 msgstr "thay thế tham chiếu (ref) nếu nó đã sẵn có"
 
-#: builtin/rerere.c:11
+#: builtin/rerere.c:12
 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]"
 msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]"
 
-#: builtin/rerere.c:56
+#: builtin/rerere.c:57
 msgid "register clean resolutions in index"
 msgstr "sổ ghi dọn sạch các phân giải trong bản mục lục"
 
@@ -8579,71 +8859,71 @@ msgstr "HEAD hiện giờ tại %s"
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:251
+#: builtin/reset.c:262
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
-#: builtin/reset.c:253
+#: builtin/reset.c:264
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:254
+#: builtin/reset.c:265
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:256 builtin/reset.c:258
+#: builtin/reset.c:267 builtin/reset.c:269
 msgid "reset HEAD, index and working tree"
 msgstr "đặt lại HEAD, bảng mục lục và cây làm việc"
 
-#: builtin/reset.c:260
+#: builtin/reset.c:271
 msgid "reset HEAD but keep local changes"
 msgstr "đặt lại HEAD nhưng giữ lại các thay đổi nội bộ"
 
-#: builtin/reset.c:278
+#: builtin/reset.c:289
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Gặp lỗi khi phân giải “%s” như là điểm xét duyệt hợp lệ."
 
-#: builtin/reset.c:281 builtin/reset.c:289
+#: builtin/reset.c:292 builtin/reset.c:300
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "không thể phân tích đối tượng “%s”."
 
-#: builtin/reset.c:286
+#: builtin/reset.c:297
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Gặp lỗi khi phân giải “%s” như là một cây (tree) hợp lệ."
 
-#: builtin/reset.c:295
+#: builtin/reset.c:306
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch xung khắc với --{hard,mixed,soft}"
 
-#: builtin/reset.c:304
+#: builtin/reset.c:315
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed với các đường dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git "
 "reset -- <đường_dẫn>”."
 
-#: builtin/reset.c:306
+#: builtin/reset.c:317
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Không thể thực hiện lệnh %s reset với các đường dẫn."
 
-#: builtin/reset.c:316
+#: builtin/reset.c:327
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "%s reset không được phép trên kho bare (trên máy chủ)"
 
-#: builtin/reset.c:336
+#: builtin/reset.c:344
+msgid "Unstaged changes after reset:"
+msgstr "Những thay đổi bị bỏ trạng thái (stage) sau khi reset:"
+
+#: builtin/reset.c:350
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét duyệt “%s”."
 
-#: builtin/reset.c:342
-msgid "Unstaged changes after reset:"
-msgstr "Những thay đổi bị bỏ trạng thái (stage) sau khi reset:"
-
-#: builtin/reset.c:347
+#: builtin/reset.c:355
 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."
 
@@ -8689,84 +8969,84 @@ msgstr "git cherry-pick [các-tùy-chọn] <commit-ish>..."
 msgid "git cherry-pick <subcommand>"
 msgstr "git cherry-pick <lệnh-con>"
 
-#: builtin/revert.c:71 builtin/revert.c:94
+#: builtin/revert.c:71
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s: %s không thể được sử dụng với %s"
 
-#: builtin/revert.c:105
+#: builtin/revert.c:80
 msgid "end revert or cherry-pick sequence"
 msgstr "kết thúc cherry-pick hay revert liên tiếp nhau"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:81
 msgid "resume revert or cherry-pick sequence"
 msgstr "phục hồi lại cherry-pick hay revert liên tiếp nhau"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:82
 msgid "cancel revert or cherry-pick sequence"
 msgstr "không cherry-pick hay revert liên tiếp nhau"
 
-#: builtin/revert.c:108
+#: builtin/revert.c:83
 msgid "don't automatically commit"
 msgstr "không commit một cách tự động."
 
-#: builtin/revert.c:109
+#: builtin/revert.c:84
 msgid "edit the commit message"
 msgstr "sửa lại chú thích cho commit"
 
-#: builtin/revert.c:112
+#: builtin/revert.c:87
 msgid "parent number"
 msgstr "số của cha mẹ"
 
-#: builtin/revert.c:114
+#: builtin/revert.c:89
 msgid "merge strategy"
 msgstr "chiến lược hòa trộn"
 
-#: builtin/revert.c:115
+#: builtin/revert.c:90
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/revert.c:116
+#: builtin/revert.c:91
 msgid "option for merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn"
 
-#: builtin/revert.c:127
+#: builtin/revert.c:102
 msgid "append commit name"
 msgstr "nối thêm tên lần chuyển giao (commit)"
 
-#: builtin/revert.c:128
+#: builtin/revert.c:103
 msgid "allow fast-forward"
 msgstr "cho phép fast-forward"
 
-#: builtin/revert.c:129
+#: builtin/revert.c:104
 msgid "preserve initially empty commits"
 msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 
-#: builtin/revert.c:130
+#: builtin/revert.c:105
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao (commit) mà không ghi chú gì"
 
-#: builtin/revert.c:131
+#: builtin/revert.c:106
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:135
+#: builtin/revert.c:110
 msgid "program error"
 msgstr "lỗi chương trình"
 
-#: builtin/revert.c:225
+#: builtin/revert.c:195
 msgid "revert failed"
 msgstr "revert gặp lỗi"
 
-#: builtin/revert.c:240
+#: builtin/revert.c:210
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
-#: builtin/rm.c:16
+#: builtin/rm.c:17
 msgid "git rm [options] [--] <file>..."
 msgstr "git rm [các-tùy-chọn] [--] <tập-tin>..."
 
-#: builtin/rm.c:64
+#: builtin/rm.c:65
 msgid ""
 "the following submodule (or one of its nested submodules)\n"
 "uses a .git directory:"
@@ -8780,7 +9060,7 @@ msgstr[1] ""
 "các mô-đun-con sau đây (hay một trong số mô-đun-con bên trong của nó)\n"
 "dùng một thư mục .git:"
 
-#: builtin/rm.c:70
+#: builtin/rm.c:71
 msgid ""
 "\n"
 "(use 'rm -rf' if you really want to remove it including all of its history)"
@@ -8789,7 +9069,7 @@ msgstr ""
 "(dùng /\"rm -rf/\" nếu bạn thực sự muốn gỡ bỏ nó cùng với tất cả lịch sử của "
 "chúng)"
 
-#: builtin/rm.c:230
+#: builtin/rm.c:231
 msgid ""
 "the following file has staged content different from both the\n"
 "file and the HEAD:"
@@ -8803,7 +9083,7 @@ msgstr[1] ""
 "các tập tin sau đây có trạng thái khác biệt nội dung từ cả tập tin\n"
 "và cả HEAD:"
 
-#: builtin/rm.c:235
+#: builtin/rm.c:236
 msgid ""
 "\n"
 "(use -f to force removal)"
@@ -8811,13 +9091,13 @@ msgstr ""
 "\n"
 "(dùng -f để buộc gỡ bỏ)"
 
-#: builtin/rm.c:239
+#: builtin/rm.c:240
 msgid "the following file has changes staged in the index:"
 msgid_plural "the following files have changes staged in the index:"
 msgstr[0] "tập tin sau đây có thay đổi trạng thái trong bảng mục lục:"
 msgstr[1] "các tập tin sau đây có thay đổi trạng thái trong bảng mục lục:"
 
-#: builtin/rm.c:243 builtin/rm.c:254
+#: builtin/rm.c:244 builtin/rm.c:255
 msgid ""
 "\n"
 "(use --cached to keep the file, or -f to force removal)"
@@ -8825,38 +9105,38 @@ msgstr ""
 "\n"
 "(dùng tùy chọn --cached để giữ tập tin, hoặc -f để ép buộc gỡ bỏ)"
 
-#: builtin/rm.c:251
+#: builtin/rm.c:252
 msgid "the following file has local modifications:"
 msgid_plural "the following files have local modifications:"
 msgstr[0] "tập tin sau đây có những thay đổi nội bộ:"
 msgstr[1] "những tập tin sau đây có những thay đổi nội bộ:"
 
-#: builtin/rm.c:269
+#: builtin/rm.c:270
 msgid "do not list removed files"
 msgstr "không liệt kê các tập tin đã gỡ bỏ"
 
-#: builtin/rm.c:270
+#: builtin/rm.c:271
 msgid "only remove from the index"
 msgstr "chỉ gỡ bỏ từ mục lục"
 
-#: builtin/rm.c:271
+#: builtin/rm.c:272
 msgid "override the up-to-date check"
 msgstr "ghi đè lên kiểm tra cập nhật"
 
-#: builtin/rm.c:272
+#: builtin/rm.c:273
 msgid "allow recursive removal"
 msgstr "cho phép gỡ bỏ đệ qui"
 
-#: builtin/rm.c:274
+#: builtin/rm.c:275
 msgid "exit with a zero status even if nothing matched"
 msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
-#: builtin/rm.c:345
+#: builtin/rm.c:336
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "không thể gỡ bỏ “%s” một cách đệ qui mà không có tùy chọn -r"
 
-#: builtin/rm.c:384
+#: builtin/rm.c:375
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: không thể gỡ bỏ %s"
@@ -8870,23 +9150,23 @@ msgstr "git shortlog [các-tùy-chọn] [<vùng-xét-duyệt>] [[--] [<đường
 msgid "Missing author: %s"
 msgstr "Thiếu tên tác giả: %s"
 
-#: builtin/shortlog.c:228
+#: builtin/shortlog.c:230
 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:230
+#: builtin/shortlog.c:232
 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:232
+#: builtin/shortlog.c:234
 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:233
+#: builtin/shortlog.c:235
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:236
 msgid "Linewrap output"
 msgstr "Ngắt dòng khi quá dài"
 
@@ -8972,11 +9252,11 @@ msgstr "hiển thị <n> các mục “ref-log” gần nhất kể từ nền (
 
 #: builtin/show-ref.c:10
 msgid ""
-"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
-"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] "
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] "
 msgstr ""
-"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash"
-"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] "
+"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] "
 
 #: builtin/show-ref.c:11
 msgid "git show-ref --exclude-existing[=pattern] < ref-list"
@@ -8996,24 +9276,24 @@ msgstr ""
 "việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu "
 "(ref)"
 
-#: builtin/show-ref.c:173 builtin/show-ref.c:176
+#: builtin/show-ref.c:173 builtin/show-ref.c:175
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "hiển thị tham chiếu HEAD, ngay cả khi nó đã được lọc ra"
 
-#: builtin/show-ref.c:178
+#: builtin/show-ref.c:177
 msgid "dereference tags into object IDs"
 msgstr "bãi bỏ tham chiếu các thẻ thành ra các ID đối tượng"
 
-#: builtin/show-ref.c:180
+#: builtin/show-ref.c:179
 msgid "only show SHA1 hash using <n> digits"
 msgstr "chỉ hiển thị mã băm SHA1 sử dụng <n> chữ số"
 
-#: builtin/show-ref.c:184
+#: builtin/show-ref.c:183
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "không hiển thị kết quả ra đầu ra chuẩn (stdout) (chỉ hữu dụng với --verify)"
 
-#: builtin/show-ref.c:186
+#: builtin/show-ref.c:185
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "hiển thị các tham chiếu (refs) từ đầu vào tiêu chuẩn (stdin) cái mà không ở "
@@ -9040,11 +9320,11 @@ msgstr "xóa tham chiếu (ref) tượng trưng"
 msgid "shorten ref output"
 msgstr "làm ngắn kết xuất ref (tham chiếu)"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254
 msgid "reason"
 msgstr "lý do"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
@@ -9209,187 +9489,199 @@ msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:504
+#: builtin/tag.c:501
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:521
+#: builtin/tag.c:518
 msgid "-n option is only allowed with -l."
 msgstr "tùy chọn -n chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:523
+#: builtin/tag.c:520
 msgid "--contains option is only allowed with -l."
 msgstr "tùy chọn --contains chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:525
+#: builtin/tag.c:522
 msgid "--points-at option is only allowed with -l."
 msgstr "tùy chọn --points-at chỉ cho phép dùng với -l."
 
-#: builtin/tag.c:533
+#: builtin/tag.c:530
 msgid "only one -F or -m option is allowed."
 msgstr "chỉ có một tùy chọn -F hoặc -m là được phép."
 
-#: builtin/tag.c:553
+#: builtin/tag.c:550
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:559
+#: builtin/tag.c:556
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:564
+#: builtin/tag.c:561
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:582
+#: builtin/tag.c:579
 #, c-format
 msgid "%s: cannot lock the ref"
 msgstr "%s: không thể khóa ref (tham chiếu)"
 
-#: builtin/tag.c:584
+#: builtin/tag.c:581
 #, c-format
 msgid "%s: cannot update the ref"
 msgstr "%s: không thể cập nhật ref (tham chiếu)"
 
-#: builtin/tag.c:586
+#: builtin/tag.c:583
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/update-index.c:401
+#: builtin/update-index.c:402
 msgid "git update-index [options] [--] [<file>...]"
 msgstr "git update-index [các-tùy-chọn] [<tập-tin>...]"
 
-#: builtin/update-index.c:718
+#: builtin/update-index.c:720
 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:721
+#: builtin/update-index.c:723
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:724
+#: builtin/update-index.c:726
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:726
+#: builtin/update-index.c:728
 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:728
+#: builtin/update-index.c:730
 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:730
+#: builtin/update-index.c:732
 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:733
+#: builtin/update-index.c:735
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:737
+#: builtin/update-index.c:739
 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:741
+#: builtin/update-index.c:743
 msgid "<mode> <object> <path>"
 msgstr "<mode> <đối tượng> <đường dẫn>"
 
-#: builtin/update-index.c:742
+#: builtin/update-index.c:744
 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:746
+#: builtin/update-index.c:748
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/update-index.c:747
+#: builtin/update-index.c:749
 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:751
+#: builtin/update-index.c:753
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:754
+#: builtin/update-index.c:756
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít  assumed-unchanged"
 
-#: builtin/update-index.c:757
+#: builtin/update-index.c:759
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:760
+#: builtin/update-index.c:762
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:763
+#: builtin/update-index.c:765
 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:765
+#: builtin/update-index.c:767
 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:767
+#: builtin/update-index.c:769
 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:769
+#: builtin/update-index.c:771
 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:773
+#: builtin/update-index.c:775
 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:777
+#: builtin/update-index.c:779
 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:781
+#: builtin/update-index.c:783
 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:785
+#: builtin/update-index.c:787
 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:788
+#: builtin/update-index.c:790
 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:790
+#: builtin/update-index.c:792
 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:794
+#: builtin/update-index.c:796
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-ref.c:7
+#: builtin/update-ref.c:9
 msgid "git update-ref [options] -d <refname> [<oldval>]"
 msgstr "git update-ref [các-tùy-chọn] -d <refname> [<biến-cũ>]"
 
-#: builtin/update-ref.c:8
+#: builtin/update-ref.c:10
 msgid "git update-ref [options]    <refname> <newval> [<oldval>]"
 msgstr "git update-ref [các-tùy-chọn]    <refname> <biến-mới> [<biến-cũ>]"
 
-#: builtin/update-ref.c:19
+#: builtin/update-ref.c:11
+msgid "git update-ref [options] --stdin [-z]"
+msgstr "git update-ref [các-tùy-chọn] --stdin [-z]"
+
+#: builtin/update-ref.c:255
 msgid "delete the reference"
 msgstr "xóa tham chiếu"
 
-#: builtin/update-ref.c:21
+#: builtin/update-ref.c:257
 msgid "update <refname> not the one it points to"
 msgstr "cập nhật <tên-tham-chiếu> không phải cái nó chỉ tới"
 
+#: builtin/update-ref.c:258
+msgid "stdin has NUL-terminated arguments"
+msgstr "đầu vào tiêu chuẩn có các đối số được chấm dứt bởi NUL"
+
+#: builtin/update-ref.c:259
+msgid "read updates from stdin"
+msgstr "đọc cập nhật từ đầu vào tiêu chuẩn"
+
 #: builtin/update-server-info.c:6
 msgid "git update-server-info [--force]"
 msgstr "git update-server-info [--force]"
@@ -9444,23 +9736,23 @@ 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ể."
 
-#: parse-options.h:144
+#: parse-options.h:146
 msgid "expiry date"
 msgstr "ngày hết hạn"
 
-#: parse-options.h:159
+#: parse-options.h:161
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:236
+#: parse-options.h:238
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:238
+#: parse-options.h:240
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:244
+#: parse-options.h:246
 msgid "use <n> digits to display SHA-1s"
 msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
 
@@ -9669,7 +9961,7 @@ msgstr ""
 
 #: git-am.sh:725
 msgid "Patch does not have a valid e-mail address."
-msgstr "Miếng vá không có địa chỉ e-mail hợp lệ."
+msgstr "Miếng vá không có địa chỉ thư điện tử hợp lệ."
 
 #: git-am.sh:772
 msgid "cannot be interactive without stdin connected to a terminal."
@@ -9686,8 +9978,8 @@ msgstr "Thân của lần chuyển giao (commit) là:"
 #: git-am.sh:783
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
 msgstr ""
-"Áp dụng? đồng ý [y]/không [n]/chỉnh sửa [e]/hiển thị miếng [v]á/đồng ý tất "
-"cả [a] "
+"Áp dụng? đồng ý [y]/khô[n]g/chỉnh sửa [e]/hiển thị miếng [v]á/đồng ý tất cả "
+"[a] "
 
 #: git-am.sh:819
 #, sh-format
@@ -9720,7 +10012,7 @@ msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồ
 #: git-am.sh:874
 #, sh-format
 msgid "Patch failed at $msgnum $FIRSTLINE"
-msgstr "Vá gặp lỗi tại $msgnum $FIRSTLINE"
+msgstr "Gặp lỗi khi vá tại $msgnum $FIRSTLINE"
 
 #: git-am.sh:877
 #, sh-format
@@ -9910,7 +10202,7 @@ msgid "Pull is not possible because you have unmerged files."
 msgstr ""
 "Full là không thể thực hiện bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: git-pull.sh:203
+#: git-pull.sh:223
 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 "
@@ -9920,7 +10212,7 @@ msgstr ""
 #. The working tree and the index file is still based on the
 #. $orig_head commit, but we are merging into $curr_head.
 #. First update the working tree to match $curr_head.
-#: git-pull.sh:235
+#: git-pull.sh:255
 #, sh-format
 msgid ""
 "Warning: fetch updated the current branch head.\n"
@@ -9931,11 +10223,11 @@ msgstr ""
 "Cảnh báo: đang fast-forward cây làm việc của bạn từ\n"
 "Cảnh báo: commit $orig_head."
 
-#: git-pull.sh:260
+#: git-pull.sh:280
 msgid "Cannot merge multiple branches into empty head"
 msgstr "Không thể hòa trộn nhiều nhánh và trong một head trống rỗng"
 
-#: git-pull.sh:264
+#: git-pull.sh:284
 msgid "Cannot rebase onto multiple branches"
 msgstr "Không thể thực hiện lệnh rebase (cơ cấu lại) trên nhiều nhánh"
 
@@ -9972,35 +10264,35 @@ msgstr ""
 "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
 "nào.\n"
 
-#: git-rebase.sh:190
+#: git-rebase.sh:199
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: git-rebase.sh:195
+#: git-rebase.sh:204
 msgid "It looks like git-am is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh git-am. Không thể chạy lệnh "
 "rebase."
 
-#: git-rebase.sh:329
+#: git-rebase.sh:338
 msgid "The --exec option must be used with the --interactive option"
 msgstr "Tùy chọn --exec phải được sử dụng cùng với tùy chọn --interactive"
 
-#: git-rebase.sh:334
+#: git-rebase.sh:343
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: git-rebase.sh:345
+#: git-rebase.sh:354
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: git-rebase.sh:352
+#: git-rebase.sh:361
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: git-rebase.sh:355
+#: git-rebase.sh:364
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -10008,12 +10300,12 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: git-rebase.sh:373
+#: git-rebase.sh:382
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Không thể quay trở lại $head_name"
 
-#: git-rebase.sh:392
+#: git-rebase.sh:401
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -10036,66 +10328,66 @@ msgstr ""
 "\n"
 "TÔI: là lệnh bạn vừa gọi!"
 
-#: git-rebase.sh:437
+#: git-rebase.sh:446
 #, sh-format
 msgid "invalid upstream $upstream_name"
 msgstr "thượng nguồn không hợp lệ $upstream_name"
 
-#: git-rebase.sh:461
+#: git-rebase.sh:470
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: ở đây có nhiều hơn một nền móng hòa trộn"
 
-#: git-rebase.sh:464 git-rebase.sh:468
+#: git-rebase.sh:473 git-rebase.sh:477
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: ở đây không có nền móng hòa trộn nào"
 
-#: git-rebase.sh:473
+#: git-rebase.sh:482
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Không chỉ đến một lần chuyển giao (commit) không hợp lệ: $onto_name"
 
-#: git-rebase.sh:496
+#: git-rebase.sh:505
 #, sh-format
 msgid "fatal: no such branch: $branch_name"
 msgstr "nghiêm trọng: không có nhánh như thế: $branch_name"
 
-#: git-rebase.sh:519
+#: git-rebase.sh:528
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: git-rebase.sh:524
+#: git-rebase.sh:533
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Đã tạo autostash: $stash_abbrev"
 
-#: git-rebase.sh:528
+#: git-rebase.sh:537
 msgid "Please commit or stash them."
 msgstr "Xin hãy commit hoặc tạm cất (stash) chúng."
 
-#: git-rebase.sh:548
+#: git-rebase.sh:557
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi."
 
-#: git-rebase.sh:552
+#: git-rebase.sh:561
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi, lệnh rebase ép buộc."
 
-#: git-rebase.sh:563
+#: git-rebase.sh:572
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Thay đổi từ $mb thành $onto:"
 
 #. Detach HEAD and reset the tree
-#: git-rebase.sh:572
+#: git-rebase.sh:581
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó..."
 
-#: git-rebase.sh:582
+#: git-rebase.sh:591
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Fast-forward $branch_name thành $onto_name."
@@ -10144,7 +10436,7 @@ msgstr "Không thể cập nhật $ref_stash với $w_commit"
 #. $ git stash save --blah-blah 2>&1 | head -n 2
 #. error: unknown option for 'stash save': --blah-blah
 #. To provide a message, use git stash save -- '--blah-blah'
-#: git-stash.sh:241
+#: git-stash.sh:237
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
@@ -10154,99 +10446,85 @@ msgstr ""
 "     Để dùng thông điệp có chứa -- ở đầu, sử dụng git stash save -- \"$option"
 "\""
 
-#: git-stash.sh:262
+#: git-stash.sh:258
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: git-stash.sh:268
-msgid ""
-"The following untracked files would NOT be saved but need to be removed by "
-"stash save:"
-msgstr ""
-"Các tập tin chưa được theo dõi sau đây KHÔNG được ghi lại nhưng cần được gỡ "
-"bỏ bởi việc ghi lại stash:"
-
-#: git-stash.sh:270
-msgid ""
-"Aborting. Consider using either the --force or --include-untracked option."
-msgstr ""
-"Bãi bỏ. Cân nhắc dùng một trong hai tùy chọn --force và --include-untracked."
-
-#: git-stash.sh:274
+#: git-stash.sh:262
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: git-stash.sh:278
+#: git-stash.sh:266
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: git-stash.sh:296
+#: git-stash.sh:284
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: git-stash.sh:395
+#: git-stash.sh:383
 msgid "No stash found."
 msgstr "Không tìm thấy stash nào."
 
-#: git-stash.sh:402
+#: git-stash.sh:390
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Chỉ ra quá nhiều điểm xét duyệt: $REV"
 
-#: git-stash.sh:408
+#: git-stash.sh:396
 #, sh-format
 msgid "$reference is not valid reference"
 msgstr "$reference không phải là tham chiếu hợp lệ"
 
-#: git-stash.sh:436
+#: git-stash.sh:424
 #, sh-format
 msgid "'$args' is not a stash-like commit"
-msgstr "”$args” không phải là lần chuyển giao (commit) giống-stash"
+msgstr "”$args” không phải là lần chuyển giao (commit) kiểu-stash"
 
-#: git-stash.sh:447
+#: git-stash.sh:435
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "”$args” không phải tham chiếu đến stash"
 
-#: git-stash.sh:455
+#: git-stash.sh:443
 msgid "unable to refresh index"
 msgstr "không thể làm tươi mới bảng mục lục"
 
-#: git-stash.sh:459
+#: git-stash.sh:447
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Không thể áp dụng một stash ở giữa của quá trình hòa trộn"
 
-#: git-stash.sh:467
+#: git-stash.sh:455
 msgid "Conflicts in index. Try without --index."
 msgstr "Xung đột trong bảng mục lục. Hãy thử mà không dùng tùy chọn --index."
 
-#: git-stash.sh:469
+#: git-stash.sh:457
 msgid "Could not save index tree"
 msgstr "Không thể ghi lại cây chỉ mục"
 
-#: git-stash.sh:503
+#: git-stash.sh:491
 msgid "Cannot unstage modified files"
 msgstr "Không thể bỏ trạng thía của các tập tin đã được sửa chữa"
 
-#: git-stash.sh:518
+#: git-stash.sh:506
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: git-stash.sh:535
+#: git-stash.sh:523
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Đã xóa ${REV} ($s)"
 
-#: git-stash.sh:536
+#: git-stash.sh:524
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-stash.sh:543
+#: git-stash.sh:531
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: git-stash.sh:615
+#: git-stash.sh:603
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
@@ -10424,7 +10702,7 @@ msgstr ""
 #: git-submodule.sh:683
 #, sh-format
 msgid "Cleared directory '$displaypath'"
-msgstr "Đã tạo thư mục '$displaypath'"
+msgstr "Đã tạo thư mục “$displaypath”"
 
 #: git-submodule.sh:684
 #, sh-format
@@ -10521,52 +10799,63 @@ 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"
 
 #. unexpected type
-#: git-submodule.sh:1066
+#: git-submodule.sh:1073
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:1086
+#: git-submodule.sh:1093
 #, 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 (commit) $sha1_src"
 
-#: git-submodule.sh:1089
+#: git-submodule.sh:1096
 #, 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 (commit) $sha1_dst"
 
-#: git-submodule.sh:1092
+#: git-submodule.sh:1099
 #, 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 (commit) "
 "$sha1_src và $sha1_dst"
 
-#: git-submodule.sh:1117
+#: git-submodule.sh:1124
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:1155
-msgid "Submodules changed but not updated:"
-msgstr "Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
-
-#: git-submodule.sh:1157
-msgid "Submodule changes to be committed:"
-msgstr "Những mô-đun-con thay đổi đã được chuyển giao (commit):"
-
-#: git-submodule.sh:1242
+#: git-submodule.sh:1238
 #, 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:1306
+#: git-submodule.sh:1302
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 
+#~ msgid "done\n"
+#~ msgstr "xong\n"
+
+#~ msgid "input paths are terminated by a null character"
+#~ msgstr "các đường dẫn được  ngăn cách bởi ký tự null"
+
+#~ msgid ""
+#~ "The following untracked files would NOT be saved but need to be removed "
+#~ "by stash save:"
+#~ msgstr ""
+#~ "Các tập tin chưa được theo dõi sau đây KHÔNG được ghi lại nhưng cần được "
+#~ "gỡ bỏ bởi việc ghi lại stash:"
+
+#~ msgid ""
+#~ "Aborting. Consider using either the --force or --include-untracked option."
+#~ msgstr ""
+#~ "Bãi bỏ. Cân nhắc dùng một trong hai tùy chọn --force và --include-"
+#~ "untracked."
+
 #~ msgid "  (fix conflicts and then run \"git am --resolved\")"
 #~ msgstr "  (sửa các xung đột và sau đó chạy lệnh \"git am --resolved\")"
 
@@ -10688,9 +10977,6 @@ msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
 #~ msgid "-B cannot be used with -b"
 #~ msgstr "tùy chọn -B không thể dùng -b"
 
-#~ msgid "--patch is incompatible with all other options"
-#~ msgstr "--patch xung khắc với tất cả các tùy chọn khác"
-
 #~ msgid "--detach cannot be used with -b/-B/--orphan"
 #~ msgstr "--detach không thể được sử dụng với tùy chọn -b/-B/--orphan"