OSDN Git Service

l10n: vi.po(3198t): Updated Vietnamese translation for v2.13.0-rc0
authorTran Ngoc Quan <vnwildman@gmail.com>
Tue, 25 Apr 2017 08:09:06 +0000 (15:09 +0700)
committerTran Ngoc Quan <vnwildman@gmail.com>
Tue, 25 Apr 2017 08:09:06 +0000 (15:09 +0700)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
po/vi.po

index dd70018..2589c77 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.12.0-rc1\n"
+"Project-Id-Version: git v2.13.0\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2017-02-18 01:00+0800\n"
-"PO-Revision-Date: 2017-02-18 07:07+0700\n"
+"POT-Creation-Date: 2017-04-23 09:54+0800\n"
+"PO-Revision-Date: 2017-04-25 15:05+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"
@@ -72,7 +72,7 @@ msgstr ""
 msgid "Exiting because of an unresolved conflict."
 msgstr "Thoát ra bởi vì xung đột không thể giải quyết."
 
-#: advice.c:114 builtin/merge.c:1206
+#: advice.c:114 builtin/merge.c:1185
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại)."
 
@@ -344,7 +344,7 @@ msgstr "gặp lỗi khi vá: %s:%ld"
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:248
+#: apply.c:3381 apply.c:3392 apply.c:3438 setup.c:253
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
@@ -467,7 +467,7 @@ msgstr "thay đổi chế độ cho %s, cái mà không phải là HEAD hiện t
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "thông tin sha1 còn thiếu hay không dùng được(%s)."
 
-#: apply.c:4081 builtin/checkout.c:233 builtin/reset.c:135
+#: apply.c:4081 builtin/checkout.c:252 builtin/reset.c:135
 #, 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”"
@@ -542,7 +542,7 @@ msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối…"
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt ngắn tên tập tin .rej thành %.*s.rej"
 
-#: apply.c:4531 builtin/fetch.c:737 builtin/fetch.c:986
+#: apply.c:4531 builtin/fetch.c:739 builtin/fetch.c:988
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
@@ -570,162 +570,162 @@ 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"
 
-#: apply.c:4824
+#: apply.c:4823
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4849
+#: apply.c:4850
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: apply.c:4855 apply.c:4870
+#: apply.c:4856 apply.c:4871
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
 msgstr[0] "%d dòng thêm khoảng trắng lỗi."
 
-#: apply.c:4863
+#: apply.c:4864
 #, c-format
 msgid "%d line applied after fixing whitespace errors."
 msgid_plural "%d lines applied after fixing whitespace errors."
 msgstr[0] "%d dòng được áp dụng sau khi sửa các lỗi khoảng trắng."
 
-#: apply.c:4879 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
+#: apply.c:4880 builtin/add.c:463 builtin/mv.c:298 builtin/rm.c:391
 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"
 
-#: apply.c:4910 apply.c:4913 builtin/am.c:2277 builtin/am.c:2280
-#: builtin/clone.c:95 builtin/fetch.c:98 builtin/pull.c:180
-#: builtin/submodule--helper.c:281 builtin/submodule--helper.c:591
-#: builtin/submodule--helper.c:594 builtin/submodule--helper.c:960
-#: builtin/submodule--helper.c:963 builtin/submodule--helper.c:1104
+#: apply.c:4911 apply.c:4914 builtin/am.c:2277 builtin/am.c:2280
+#: builtin/clone.c:113 builtin/fetch.c:98 builtin/pull.c:180
+#: builtin/submodule--helper.c:304 builtin/submodule--helper.c:629
+#: builtin/submodule--helper.c:632 builtin/submodule--helper.c:973
+#: builtin/submodule--helper.c:976 builtin/submodule--helper.c:1161
 #: git-add--interactive.perl:239
 msgid "path"
 msgstr "đường-dẫn"
 
-#: apply.c:4911
+#: apply.c:4912
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4914
+#: apply.c:4915
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: apply.c:4916 builtin/am.c:2286
+#: apply.c:4917 builtin/am.c:2286
 msgid "num"
 msgstr "số"
 
-#: apply.c:4917
+#: apply.c:4918
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> dấu gạch chéo dẫn đầu từ đường dẫn diff cổ điển"
 
-#: apply.c:4920
+#: apply.c:4921
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần bổ xung được tạo ra bởi miếng vá"
 
-#: apply.c:4922
+#: apply.c:4923
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: apply.c:4926
+#: apply.c:4927
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: apply.c:4928
+#: apply.c:4929
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: apply.c:4930
+#: apply.c:4931
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: apply.c:4932
+#: apply.c:4933
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: apply.c:4934
+#: apply.c:4935
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:4936
+#: apply.c:4937
 msgid "accept a patch that touches outside the working area"
 msgstr "chấp nhận một miếng vá mà không động chạm đến cây làm việc"
 
-#: apply.c:4938
+#: apply.c:4939
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr ""
 "đồng thời áp dụng miếng vá (dùng với tùy chọn --stat/--summary/--check)"
 
-#: apply.c:4940
+#: apply.c:4941
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
 
-#: apply.c:4942
+#: apply.c:4943
 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"
 
-#: apply.c:4945 builtin/checkout-index.c:169 builtin/ls-files.c:507
+#: apply.c:4946 builtin/checkout-index.c:169 builtin/ls-files.c:508
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
-#: apply.c:4947
+#: apply.c:4948
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: apply.c:4948 builtin/am.c:2265
+#: apply.c:4949 builtin/am.c:2265
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:4949
+#: apply.c:4950
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: apply.c:4952 apply.c:4955
+#: apply.c:4953 apply.c:4956
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: apply.c:4958
+#: apply.c:4959
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:4960
+#: apply.c:4961
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: apply.c:4962
+#: apply.c:4963
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: apply.c:4964
+#: apply.c:4965
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:4965 builtin/add.c:267 builtin/check-ignore.c:19
+#: apply.c:4966 builtin/add.c:267 builtin/check-ignore.c:19
 #: builtin/commit.c:1337 builtin/count-objects.c:94 builtin/fsck.c:651
-#: builtin/log.c:1860 builtin/mv.c:122 builtin/read-tree.c:114
+#: builtin/log.c:1867 builtin/mv.c:122 builtin/read-tree.c:134
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:4967
+#: apply.c:4968
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "đã dò tìm thấy dung sai không chính xác thiếu dòng mới tại cuối tập tin"
 
-#: apply.c:4970
+#: apply.c:4971
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: apply.c:4972 builtin/am.c:2274
+#: apply.c:4973 builtin/am.c:2274
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:4973
+#: apply.c:4974
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
@@ -748,103 +748,108 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:344 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
+#: archive.c:332 builtin/add.c:152 builtin/add.c:442 builtin/rm.c:300
 #, 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:429
+#: archive.c:417
 msgid "fmt"
 msgstr "định_dạng"
 
-#: archive.c:429
+#: archive.c:417
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:430 builtin/log.c:1429
+#: archive.c:418 builtin/log.c:1436
 msgid "prefix"
 msgstr "tiền_tố"
 
-#: archive.c:431
+#: archive.c:419
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:432 builtin/blame.c:2607 builtin/blame.c:2608 builtin/config.c:59
-#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1054
-#: builtin/hash-object.c:101 builtin/ls-files.c:541 builtin/ls-files.c:544
-#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:109
+#: archive.c:420 builtin/blame.c:2598 builtin/blame.c:2599 builtin/config.c:59
+#: builtin/fast-export.c:987 builtin/fast-export.c:989 builtin/grep.c:1061
+#: builtin/hash-object.c:101 builtin/ls-files.c:542 builtin/ls-files.c:545
+#: builtin/notes.c:401 builtin/notes.c:564 builtin/read-tree.c:129
 #: parse-options.h:153
 msgid "file"
 msgstr "tập_tin"
 
-#: archive.c:433 builtin/archive.c:89
+#: archive.c:421 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:435
+#: archive.c:423
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:436
+#: archive.c:424
 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:437
+#: archive.c:425
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:438
+#: archive.c:426
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:446
+#: archive.c:434
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:449
+#: archive.c:437
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:85 builtin/clone.c:88
-#: builtin/submodule--helper.c:603 builtin/submodule--helper.c:969
+#: archive.c:439 builtin/archive.c:90 builtin/clone.c:103 builtin/clone.c:106
+#: builtin/submodule--helper.c:641 builtin/submodule--helper.c:982
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:452 builtin/archive.c:91
+#: archive.c:440 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:485
+#: archive.c:441 builtin/archive.c:92 builtin/notes.c:485
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:454 builtin/archive.c:93
+#: archive.c:442 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ủ"
 
-#: archive.c:461
+#: archive.c:449
 msgid "Unexpected option --remote"
 msgstr "Gặp tùy chọn --remote không cần"
 
-#: archive.c:463
+#: archive.c:451
 msgid "Option --exec can only be used together with --remote"
 msgstr "Tùy chọn --exec chỉ có thể được dùng cùng với --remote"
 
-#: archive.c:465
+#: archive.c:453
 msgid "Unexpected option --output"
 msgstr "Gặp tùy chọn không cần --output"
 
-#: archive.c:487
+#: archive.c:475
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Không hiểu định dạng “%s”"
 
-#: archive.c:494
+#: archive.c:482
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
 
-#: attr.c:263
+#: attr.c:212
+#, c-format
+msgid "%.*s is not a valid attribute name"
+msgstr "%.*s không phải tên thuộc tính hợp lệ"
+
+#: attr.c:408
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -852,27 +857,27 @@ msgstr ""
 "Các mẫu dạng phủ định bị cấm dùng cho các thuộc tính của git\n"
 "Dùng “\\!” cho các chuỗi văn bản có dấu chấm than dẫn đầu."
 
-#: bisect.c:441
+#: bisect.c:443
 #, c-format
 msgid "Could not open file '%s'"
 msgstr "Không thể mở tập tin “%s”"
 
-#: bisect.c:446
+#: bisect.c:448
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "nội dung được trích dẫn sai tập tin “%s”: %s"
 
-#: bisect.c:655
+#: bisect.c:656
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Chúng tôi không bisect thêm nữa!\n"
 
-#: bisect.c:708
+#: bisect.c:709
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "Không phải tên đối tượng commit %s hợp lệ"
 
-#: bisect.c:732
+#: bisect.c:733
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -881,7 +886,7 @@ msgstr ""
 "Hòa trộn trên %s là sai.\n"
 "Điều đó có nghĩa là lỗi đã được sửa chữa giữa %s và [%s].\n"
 
-#: bisect.c:737
+#: bisect.c:738
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -890,7 +895,7 @@ msgstr ""
 "Hòa trộn trên %s là mới.\n"
 "Gần như chắc chắn là có thay đổi giữa %s và [%s].\n"
 
-#: bisect.c:742
+#: bisect.c:743
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -899,7 +904,7 @@ msgstr ""
 "Hòa trộn trên %s là %s.\n"
 "Điều đó có nghĩa là lần chuyển giao “%s” đầu tiên là giữa %s và [%s].\n"
 
-#: bisect.c:750
+#: bisect.c:751
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -910,7 +915,7 @@ msgstr ""
 "git bisect không thể làm việc đúng đắn trong trường hợp này.\n"
 "Liệu có phải bạn nhầm lẫn các điểm %s và %s không?\n"
 
-#: bisect.c:763
+#: bisect.c:764
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -922,36 +927,36 @@ msgstr ""
 "%s.\n"
 "Chúng tôi vẫn cứ tiếp tục."
 
-#: bisect.c:798
+#: bisect.c:799
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bisecting: nền hòa trộn cần phải được kiểm tra\n"
 
-#: bisect.c:849
+#: bisect.c:850
 #, c-format
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:262
+#: bisect.c:867 builtin/notes.c:174 builtin/tag.c:255
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:917
+#: bisect.c:918
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
 
-#: bisect.c:947
+#: bisect.c:948
 msgid "reading bisect refs failed"
 msgstr "việc đọc tham chiếu bisect gặp lỗi"
 
-#: bisect.c:967
+#: bisect.c:968
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s là cả %s và %s\n"
 
-#: bisect.c:975
+#: bisect.c:976
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -960,7 +965,7 @@ msgstr ""
 "không tìm thấy lần chuyển giao kiểm tra được nào.\n"
 "Có lẽ bạn bắt đầu với các tham số đường dẫn sai?\n"
 
-#: bisect.c:994
+#: bisect.c:995
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -968,7 +973,7 @@ msgstr[0] "(ước chừng %d bước)"
 
 #. TRANSLATORS: the last %s will be replaced with
 #. "(roughly %d steps)" translation
-#: bisect.c:998
+#: bisect.c:999
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
@@ -1108,7 +1113,7 @@ msgstr "Nhánh không hợp lệ: “%s”."
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã được lấy ra tại “%s” rồi"
 
-#: branch.c:363
+#: branch.c:364
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "HEAD của cây làm việc %s chưa được cập nhật"
@@ -1123,7 +1128,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 không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:87 sequencer.c:1331 sequencer.c:1752 builtin/commit.c:777
+#: bundle.c:87 sequencer.c:1339 sequencer.c:1760 builtin/commit.c:777
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -1132,10 +1137,10 @@ msgstr "không thể mở “%s”"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết này:"
 
-#: bundle.c:163 ref-filter.c:1499 sequencer.c:1154 sequencer.c:2290
-#: builtin/blame.c:2820 builtin/commit.c:1061 builtin/log.c:348
-#: builtin/log.c:890 builtin/log.c:1340 builtin/log.c:1666 builtin/log.c:1909
-#: builtin/merge.c:360 builtin/shortlog.c:177
+#: bundle.c:163 ref-filter.c:1852 sequencer.c:1162 sequencer.c:2299
+#: builtin/blame.c:2811 builtin/commit.c:1061 builtin/log.c:353
+#: builtin/log.c:897 builtin/log.c:1347 builtin/log.c:1673 builtin/log.c:1916
+#: builtin/merge.c:359 builtin/shortlog.c:176
 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"
 
@@ -1172,7 +1177,7 @@ msgstr "rev-list đã chết"
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "th.chiếu “%s” bị loại trừ bởi các tùy chọn rev-list"
 
-#: bundle.c:443 builtin/log.c:165 builtin/log.c:1572 builtin/shortlog.c:282
+#: bundle.c:443 builtin/log.c:170 builtin/log.c:1579 builtin/shortlog.c:281
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
@@ -1195,7 +1200,7 @@ msgstr "mục lục gói đã chết"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit.c:40 sequencer.c:1564 builtin/am.c:421 builtin/am.c:457
+#: commit.c:40 sequencer.c:1572 builtin/am.c:421 builtin/am.c:457
 #: builtin/am.c:1493 builtin/am.c:2127
 #, c-format
 msgid "could not parse %s"
@@ -1206,7 +1211,7 @@ msgstr "không thể phân tích cú pháp %s"
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần chuyển giao!"
 
-#: commit.c:1514
+#: commit.c:1511
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
@@ -1220,135 +1225,155 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:518
+#: config.c:191
+msgid "relative config include conditionals must come from files"
+msgstr "các điều kiện bao gồm cấu hình liên quan phải đến từ các tập tin"
+
+#: config.c:701
 #, c-format
 msgid "bad config line %d in blob %s"
 msgstr "tập tin cấu hình sai tại dòng %d trong blob %s"
 
-#: config.c:522
+#: config.c:705
 #, c-format
 msgid "bad config line %d in file %s"
 msgstr "cấu hình sai tại dòng %d trong tập tin %s"
 
-#: config.c:526
+#: config.c:709
 #, c-format
 msgid "bad config line %d in standard input"
 msgstr "cấu hình sai tại dòng %d trong đầu vào tiêu chuẩn"
 
-#: config.c:530
+#: config.c:713
 #, c-format
 msgid "bad config line %d in submodule-blob %s"
 msgstr "cấu hình sai tại dòng %d trong blob-mô-đun-con %s"
 
-#: config.c:534
+#: config.c:717
 #, c-format
 msgid "bad config line %d in command line %s"
 msgstr "cấu hình sai tại dòng %d trong dòng lệnh %s"
 
-#: config.c:538
+#: config.c:721
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:657
+#: config.c:840
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:657
+#: config.c:840
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:663
+#: config.c:846
 #, c-format
 msgid "bad numeric config value '%s' for '%s': %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s”: %s"
 
-#: config.c:668
+#: config.c:851
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in blob %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong blob %s: %s"
 
-#: config.c:671
+#: config.c:854
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in file %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong tập tin %s: %s"
 
-#: config.c:674
+#: config.c:857
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in standard input: %s"
 msgstr ""
 "sai giá trị bằng số của cấu hình “%s” cho “%s” trong đầu vào tiêu chuẩn: %s"
 
-#: config.c:677
+#: config.c:860
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s"
 msgstr ""
 "sai giá trị bằng số của cấu hình “%s” cho “%s” trong submodule-blob %s: %s"
 
-#: config.c:680
+#: config.c:863
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong dòng lệnh %s: %s"
 
-#: config.c:683
+#: config.c:866
 #, c-format
 msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr "sai giá trị bằng số của cấu hình “%s” cho “%s” trong %s: %s"
 
-#: config.c:770
+#: config.c:953
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "gặp lỗi mở rộng thư mục người dùng trong: “%s”"
 
-#: config.c:865 config.c:876
+#: config.c:1048 config.c:1059
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:993
+#: config.c:1176
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "chế độ không hợp lệ đối với việc tạo đối tượng: %s"
 
-#: config.c:1149
+#: config.c:1332
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1339
+#: config.c:1522
 msgid "unable to parse command-line config"
 msgstr "không thể phân tích cấu hình dòng lệnh"
 
-#: config.c:1389
+#: config.c:1572
 msgid "unknown error occurred while reading the configuration files"
 msgstr "đã có lỗi chưa biết xảy ra trong khi đọc các tập tin cấu hình"
 
-#: config.c:1743
+#: config.c:1931
+#, c-format
+msgid "Invalid %s: '%s'"
+msgstr "%s không hợp lệ: “%s”"
+
+#: config.c:1952
+#, c-format
+msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
+msgstr ""
+"không hiểu giá trị core.untrackedCache “%s”; dùng giá trị mặc định “keep”"
+
+#: config.c:1978
+#, c-format
+msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
+msgstr "giá trị splitIndex.maxPercentChange “%d” phải nằm giữa 0 và 100"
+
+#: config.c:1989
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr "không thể phân tích “%s” từ cấu hình dòng lệnh"
 
-#: config.c:1745
+#: config.c:1991
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "sai biến cấu hình “%s” trong tập tin “%s” tại dòng %d"
 
-#: config.c:1804
+#: config.c:2050
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2225 config.c:2450
+#: config.c:2384 config.c:2609
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2343
+#: config.c:2502
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2345
+#: config.c:2504 builtin/remote.c:774
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
@@ -1510,20 +1535,20 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3085
+#: diff.c:3102
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "phần mềm diff ở bên ngoài đã chết, dừng tại %s"
 
-#: diff.c:3411
+#: diff.c:3428
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check và -s loại từ lẫn nhau"
 
-#: diff.c:3501
+#: diff.c:3518
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:3664
+#: diff.c:3681
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1532,22 +1557,22 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:3678
+#: diff.c:3695
 #, 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”"
 
-#: diff.c:4696
+#: diff.c:4719
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "nhận thấy đổi tên không chính xác đã bị bỏ qua bởi có quá nhiều tập tin."
 
-#: diff.c:4699
+#: diff.c:4722
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "chỉ tìm thấy các bản sao từ đường dẫn đã sửa đổi bởi vì có quá nhiều tập tin."
 
-#: diff.c:4702
+#: diff.c:4725
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1555,186 +1580,207 @@ msgstr ""
 "bạn có lẽ muốn đặt biến %s của bạn thành ít nhất là %d và thử lại lệnh lần "
 "nữa."
 
-#: dir.c:1862
+#: dir.c:1899
 msgid "failed to get kernel name and information"
 msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 
-#: dir.c:1981
+#: dir.c:2018
 msgid "Untracked cache is disabled on this system or location."
 msgstr "Bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này."
 
-#: dir.c:2759
+#: dir.c:2776 dir.c:2781
+#, c-format
+msgid "could not create directories for %s"
+msgstr "không thể tạo thư mục cho %s"
+
+#: dir.c:2806
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di cư thư mục git từ “%s” sang “%s”"
 
-#: fetch-pack.c:213
+#: entry.c:280
+#, c-format
+msgid "could not stat file '%s'"
+msgstr "không thể lấy thống kê tập tin “%s”"
+
+#: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: cần danh sách shallow"
 
-#: fetch-pack.c:225
+#: fetch-pack.c:261
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được EOF"
 
-#: fetch-pack.c:243
+#: fetch-pack.c:279
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:295
+#: fetch-pack.c:331
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:381
+#: fetch-pack.c:417
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:387
+#: fetch-pack.c:423
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:389
+#: fetch-pack.c:425
 #, c-format
 msgid "object not found: %s"
 msgstr "Không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:392
+#: fetch-pack.c:428
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:394
+#: fetch-pack.c:430
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:397
+#: fetch-pack.c:433
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
 
-#: fetch-pack.c:436
+#: fetch-pack.c:472
 #, c-format
 msgid "got %s %d %s"
 msgstr "nhận %s %d - %s"
 
-#: fetch-pack.c:450
+#: fetch-pack.c:486
 #, c-format
 msgid "invalid commit %s"
 msgstr "lần chuyển giao %s không hợp lệ"
 
-#: fetch-pack.c:483
+#: fetch-pack.c:519
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:493 progress.c:235
+#: fetch-pack.c:529 progress.c:235
 msgid "done"
 msgstr "xong"
 
-#: fetch-pack.c:505
+#: fetch-pack.c:541
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "nhận %s (%d) %s"
 
-#: fetch-pack.c:551
+#: fetch-pack.c:587
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:697
+#: fetch-pack.c:735
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:735
+#: fetch-pack.c:773
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:743
+#: fetch-pack.c:781
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:799
+#: fetch-pack.c:837
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:815
+#: fetch-pack.c:853
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:817
+#: fetch-pack.c:855
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:844
+#: fetch-pack.c:882
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:848
+#: fetch-pack.c:886
 msgid "Server supports multi_ack_detailed"
 msgstr "Máy chủ hỗ trợ multi_ack_detailed"
 
-#: fetch-pack.c:851
+#: fetch-pack.c:889
 msgid "Server supports no-done"
 msgstr "Máy chủ hỗ trợ no-done"
 
-#: fetch-pack.c:857
+#: fetch-pack.c:895
 msgid "Server supports multi_ack"
 msgstr "Máy chủ hỗ trợ multi_ack"
 
-#: fetch-pack.c:861
+#: fetch-pack.c:899
 msgid "Server supports side-band-64k"
 msgstr "Máy chủ hỗ trợ side-band-64k"
 
-#: fetch-pack.c:865
+#: fetch-pack.c:903
 msgid "Server supports side-band"
 msgstr "Máy chủ hỗ trợ side-band"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:907
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-tip-sha1-in-want"
 
-#: fetch-pack.c:873
+#: fetch-pack.c:911
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:883
+#: fetch-pack.c:921
 msgid "Server supports ofs-delta"
 msgstr "Máy chủ hỗ trợ ofs-delta"
 
-#: fetch-pack.c:890
+#: fetch-pack.c:928
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:896
+#: fetch-pack.c:934
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:900
+#: fetch-pack.c:938
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:902
+#: fetch-pack.c:940
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:913
+#: fetch-pack.c:951
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:925
+#: fetch-pack.c:963
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1087
+#: fetch-pack.c:1125
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
+#: fetch-pack.c:1147
+#, c-format
+msgid "no such remote ref %s"
+msgstr "Không có máy chủ tham chiếu nào như %s"
+
+#: fetch-pack.c:1150
+#, c-format
+msgid "Server does not allow request for unadvertised object %s"
+msgstr ""
+"Máy phục vụ không cho phép yêu cầu cho đối tượng không được báo trước %s"
+
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
@@ -1753,17 +1799,17 @@ msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
 
-#: grep.c:1794
+#: grep.c:1796
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
+#: grep.c:1813 builtin/clone.c:399 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:1822
+#: grep.c:1824
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
@@ -1829,7 +1875,7 @@ msgstr[0] ""
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: ident.c:334
+#: ident.c:343
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -1855,6 +1901,39 @@ msgstr ""
 "Bỏ tùy chọn --global nếu chỉ định danh riêng cho kho này.\n"
 "\n"
 
+#: ident.c:367
+msgid "no email was given and auto-detection is disabled"
+msgstr "không đưa ra địa chỉ thư điện tử và auto-detection bị tắt"
+
+#: ident.c:372
+#, c-format
+msgid "unable to auto-detect email address (got '%s')"
+msgstr "không thể tự dò tìm địa chỉ thư điện tử (nhận “%s”)"
+
+#: ident.c:382
+msgid "no name was given and auto-detection is disabled"
+msgstr "chưa chỉ ra tên và tự-động-dò-tìm bị tắt"
+
+#: ident.c:388
+#, c-format
+msgid "unable to auto-detect name (got '%s')"
+msgstr "không thể dò-tìm-tự động tên (đã nhận “%s”)"
+
+#: ident.c:396
+#, c-format
+msgid "empty ident name (for <%s>) not allowed"
+msgstr "không cho phép tên định danh là rỗng (cho <%s>)"
+
+#: ident.c:402
+#, c-format
+msgid "name consists only of disallowed characters: %s"
+msgstr "tên chỉ được phép bao gồm các ký tự sau: %s"
+
+#: ident.c:417 builtin/commit.c:611
+#, c-format
+msgid "invalid date format: %s"
+msgstr "ngày tháng không hợp lệ: %s"
+
 #: lockfile.c:152
 #, c-format
 msgid ""
@@ -1883,8 +1962,8 @@ msgstr "Không thể tạo “%s.lock”: %s"
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:374
-#: builtin/checkout.c:588 builtin/clone.c:731
+#: merge.c:96 builtin/am.c:2000 builtin/am.c:2035 builtin/checkout.c:393
+#: builtin/checkout.c:607 builtin/clone.c:749
 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"
 
@@ -1954,7 +2033,7 @@ msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-recursive.c:1088 merge-recursive.c:1102
+#: merge-recursive.c:1092
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1963,7 +2042,16 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1094 merge-recursive.c:1107
+#: merge-recursive.c:1097
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
+"của %s còn lại trong cây (tree)."
+
+#: merge-recursive.c:1104
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -1972,20 +2060,29 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1109
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
+"left in tree at %s."
+msgstr ""
+"XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s đến %s trong %s. Phiên bản %s "
+"của %s còn lại trong cây (tree) tại %s."
+
+#: merge-recursive.c:1143
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1150
+#: merge-recursive.c:1143
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1207
+#: merge-recursive.c:1200
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s là một thư mục trong %s thay vào đó thêm vào như là %s"
 
-#: merge-recursive.c:1232
+#: merge-recursive.c:1225
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -1994,136 +2091,136 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên \"%s\"->\"%s\" trong nhánh \"%s\" đổi "
 "tên \"%s\"->\"%s\" trong \"%s\"%s"
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1230
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1299
+#: merge-recursive.c:1292
 #, c-format
 msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s. Đổi tên %s->%s trong %s"
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1325
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
 
-#: merge-recursive.c:1535
+#: merge-recursive.c:1528
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
 
-#: merge-recursive.c:1550
+#: merge-recursive.c:1543
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:1557 merge-recursive.c:1771
+#: merge-recursive.c:1550 merge-recursive.c:1780
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:1614
+#: merge-recursive.c:1607
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:1617
+#: merge-recursive.c:1610
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:1670
+#: merge-recursive.c:1679
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:1680
+#: merge-recursive.c:1689
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:1687
+#: merge-recursive.c:1696
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:1723
+#: merge-recursive.c:1732
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "Đã bỏ qua %s (đã có sẵn lần hòa trộn này)"
 
-#: merge-recursive.c:1737
+#: merge-recursive.c:1746
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1741 git-submodule.sh:930
+#: merge-recursive.c:1750 git-submodule.sh:944
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:1742
+#: merge-recursive.c:1751
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:1836
+#: merge-recursive.c:1845
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:1862
+#: merge-recursive.c:1871
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:1868
+#: merge-recursive.c:1877
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:1874
+#: merge-recursive.c:1883
 #, c-format
 msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
 msgstr ""
 "XUNG ĐỘT (%s): Ở đây không có thư mục nào có tên %s trong %s. Thêm %s như là "
 "%s"
 
-#: merge-recursive.c:1883
+#: merge-recursive.c:1892
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:1920
+#: merge-recursive.c:1929
 msgid "Already up-to-date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:1929
+#: merge-recursive.c:1938
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "hòa trộn các cây %s và %s gặp lỗi"
 
-#: merge-recursive.c:2012
+#: merge-recursive.c:2021
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:2025
+#: merge-recursive.c:2034
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "tìm thấy %u tổ tiên chung:"
 
-#: merge-recursive.c:2064
+#: merge-recursive.c:2073
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:2127
+#: merge-recursive.c:2136
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:2141 builtin/merge.c:645 builtin/merge.c:792
+#: merge-recursive.c:2150 builtin/merge.c:645 builtin/merge.c:792
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
@@ -2202,17 +2299,35 @@ msgstr "-SỐ"
 msgid "malformed object name '%s'"
 msgstr "tên đối tượng dị hình “%s”"
 
-#: path.c:826
+#: path.c:805
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Không thể làm %s được ghi bởi nhóm"
 
-#: pathspec.c:142
+#: pathspec.c:125
+msgid "Escape character '\\' not allowed as last character in attr value"
+msgstr ""
+"Ký tự thoát chuỗi “\\” không được phép là ký tự cuối trong giá trị thuộc tính"
+
+#: pathspec.c:143
+msgid "Only one 'attr:' specification is allowed."
+msgstr "chỉ có một đặc tả “attr:” là được phép."
+
+#: pathspec.c:146
+msgid "attr spec must not be empty"
+msgstr "đặc tả attr phải không được để trống"
+
+#: pathspec.c:189
+#, c-format
+msgid "invalid attribute name %s"
+msgstr "tên thuộc tính không hợp lệ %s"
+
+#: pathspec.c:254
 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:149
+#: pathspec.c:261
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -2220,51 +2335,51 @@ 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:188
+#: pathspec.c:301
 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:201
+#: pathspec.c:322
 #, 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:206
+#: pathspec.c:327
 #, 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:238
+#: pathspec.c:365
 #, c-format
 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:293 pathspec.c:315
+#: pathspec.c:421 pathspec.c:443
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: pathspec.c:350
+#: pathspec.c:483
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: “literal” và “glob” xung khắc nhau"
 
-#: pathspec.c:363
+#: pathspec.c:496
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s: “%s” ngoài một kho chứa"
 
-#: pathspec.c:451
+#: pathspec.c:584
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "“%s” (mnemonic: “%c”)"
 
-#: pathspec.c:461
+#: pathspec.c:594
 #, 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:511
+#: pathspec.c:644
 msgid ""
 "empty strings as pathspecs will be made invalid in upcoming releases. please "
 "use . instead if you meant to match all paths"
@@ -2272,19 +2387,11 @@ msgstr ""
 "chuỗi rỗng làm đặc tả đường dẫn không hợp lệ ở lần phát hành kế tiếp. Vui "
 "lòng dùng . để thay thế nếu ý bạn là khớp mọi đường dẫn"
 
-#: pathspec.c:535
+#: pathspec.c:668
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
-#: pathspec.c:544
-msgid ""
-"There is nothing to exclude from by :(exclude) patterns.\n"
-"Perhaps you forgot to add either ':/' or '.' ?"
-msgstr ""
-"Ở đây không có gì bị loại trừ bởi: các mẫu (loại trừ).\n"
-"Có lẽ bạn đã quên thêm hoặc là “:/” hoặc là “.”?"
-
 #: pretty.c:982
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
@@ -2307,161 +2414,264 @@ msgstr ""
 "GIT_INDEX_VERSION được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: refs.c:576 builtin/merge.c:844
+#: read-cache.c:2232
+#, c-format
+msgid "could not stat '%s"
+msgstr "không thể lấy thông tin thống kê về “%s"
+
+#: read-cache.c:2245
+#, c-format
+msgid "unable to open git dir: %s"
+msgstr "không thể mở thư mục git: %s"
+
+#: read-cache.c:2257
+#, c-format
+msgid "unable to unlink: %s"
+msgstr "không thể bỏ liên kết (unlink): “%s”"
+
+#: refs.c:619 builtin/merge.c:844
 #, c-format
 msgid "Could not open '%s' for writing"
 msgstr "Không thể mở “%s” để ghi"
 
-#: refs/files-backend.c:2481
+#: refs/files-backend.c:2531
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "không thể xóa bỏ tham chiếu %s: %s"
 
-#: refs/files-backend.c:2484
+#: refs/files-backend.c:2534
 #, c-format
 msgid "could not delete references: %s"
 msgstr "không thể xóa bỏ tham chiếu: %s"
 
-#: refs/files-backend.c:2493
+#: refs/files-backend.c:2543
 #, c-format
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: ref-filter.c:56
+#: ref-filter.c:35 wt-status.c:1780
+msgid "gone"
+msgstr "đã ra đi"
+
+#: ref-filter.c:36
+#, c-format
+msgid "ahead %d"
+msgstr "phía trước %d"
+
+#: ref-filter.c:37
+#, c-format
+msgid "behind %d"
+msgstr "đằng sau %d"
+
+#: ref-filter.c:38
+#, c-format
+msgid "ahead %d, behind %d"
+msgstr "trước %d, sau %d"
+
+#: ref-filter.c:104
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "cần định dạng: %%(color:<color>)"
 
-#: ref-filter.c:58
+#: ref-filter.c:106
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "không nhận ra màu: %%(màu:%s)"
 
-#: ref-filter.c:72
+#: ref-filter.c:120
+#, c-format
+msgid "Integer value expected refname:lstrip=%s"
+msgstr "Giá trị nguyên cần tên tham chiếu:lstrip=%s"
+
+#: ref-filter.c:124
+#, c-format
+msgid "Integer value expected refname:rstrip=%s"
+msgstr "Giá trị nguyên cần tên tham chiếu:rstrip=%s"
+
+#: ref-filter.c:126
 #, c-format
-msgid "unrecognized format: %%(%s)"
-msgstr "không nhận ra định dạng: %%(%s)"
+msgid "unrecognized %%(%s) argument: %s"
+msgstr "đối số không được thừa nhận %%(%s): %s"
 
-#: ref-filter.c:78
+#: ref-filter.c:166
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) không nhận các đối số"
 
-#: ref-filter.c:85
+#: ref-filter.c:173
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) không nhận các đối số"
 
-#: ref-filter.c:92
+#: ref-filter.c:180
 #, c-format
 msgid "%%(trailers) does not take arguments"
 msgstr "%%(trailers) không nhận các đối số"
 
-#: ref-filter.c:111
+#: ref-filter.c:199
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "cần nội dung mang giá trị dương:lines=%s"
 
-#: ref-filter.c:113
+#: ref-filter.c:201
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: ref-filter.c:123
+#: ref-filter.c:214
+#, c-format
+msgid "positive value expected objectname:short=%s"
+msgstr "cần nội dung mang giá trị dương:shot=%s"
+
+#: ref-filter.c:218
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "đối số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:145
+#: ref-filter.c:245
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: ref-filter.c:157
+#: ref-filter.c:257
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "vị trí không được thừa nhận:%s"
 
-#: ref-filter.c:161
+#: ref-filter.c:261
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "chiều rộng không được thừa nhận:%s"
 
-#: ref-filter.c:167
+#: ref-filter.c:267
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "đối số không được thừa nhận %%(align): %s"
 
-#: ref-filter.c:171
+#: ref-filter.c:271
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 
-#: ref-filter.c:255
+#: ref-filter.c:286
+#, c-format
+msgid "unrecognized %%(if) argument: %s"
+msgstr "đối số không được thừa nhận %%(if): %s"
+
+#: ref-filter.c:371
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "tên trường dị hình: %.*s"
 
-#: ref-filter.c:281
+#: ref-filter.c:397
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "không hiểu tên trường: %.*s"
 
-#: ref-filter.c:383
+#: ref-filter.c:501
+#, c-format
+msgid "format: %%(if) atom used without a %%(then) atom"
+msgstr "định dạng: nguyên tử %%(if) được dùng mà không có nguyên tử %%(then)"
+
+#: ref-filter.c:561
+#, c-format
+msgid "format: %%(then) atom used without an %%(if) atom"
+msgstr "định dạng: nguyên tử %%(then) được dùng mà không có nguyên tử %%(if)"
+
+#: ref-filter.c:563
+#, c-format
+msgid "format: %%(then) atom used more than once"
+msgstr "định dạng: nguyên tử %%(then) được dùng nhiều hơn một lần"
+
+#: ref-filter.c:565
+#, c-format
+msgid "format: %%(then) atom used after %%(else)"
+msgstr "định dạng: nguyên tử %%(then) được dùng sau %%(else)"
+
+#: ref-filter.c:591
+#, c-format
+msgid "format: %%(else) atom used without an %%(if) atom"
+msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(if)"
+
+#: ref-filter.c:593
+#, c-format
+msgid "format: %%(else) atom used without a %%(then) atom"
+msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(then)"
+
+#: ref-filter.c:595
+#, c-format
+msgid "format: %%(else) atom used more than once"
+msgstr "định dạng: nguyên tử %%(else) được dùng nhiều hơn một lần"
+
+#: ref-filter.c:608
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
 
-#: ref-filter.c:435
+#: ref-filter.c:663
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:898
-msgid ":strip= requires a positive integer argument"
-msgstr ":strip= cần một đối số nguyên dương"
+#: ref-filter.c:1247
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(không nhánh, đang cải tổ %s)"
 
-#: ref-filter.c:903
+#: ref-filter.c:1250
 #, c-format
-msgid "ref '%s' does not have %ld components to :strip"
-msgstr "tham chiếu “%s” không có %ld thành phần để mà :strip"
+msgid "(no branch, bisect started on %s)"
+msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
 
-#: ref-filter.c:1066
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached at " in wt-status.c
+#: ref-filter.c:1256
 #, c-format
-msgid "unknown %.*s format %s"
-msgstr "Không hiểu định dạng %.*s %s"
+msgid "(HEAD detached at %s)"
+msgstr "(HEAD được tách rời tại %s)"
 
-#: ref-filter.c:1086 ref-filter.c:1117
+#. TRANSLATORS: make sure this matches
+#. "HEAD detached from " in wt-status.c
+#: ref-filter.c:1261
+#, c-format
+msgid "(HEAD detached from %s)"
+msgstr "(HEAD được tách rời từ %s)"
+
+#: ref-filter.c:1265
+msgid "(no branch)"
+msgstr "(không nhánh)"
+
+#: ref-filter.c:1420 ref-filter.c:1451
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1089 ref-filter.c:1120
+#: ref-filter.c:1423 ref-filter.c:1454
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer gặp lỗi trên %s cho %s"
 
-#: ref-filter.c:1343
+#: ref-filter.c:1692
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1410
+#: ref-filter.c:1759
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "đang lờ đi tham chiếu với tên hỏng %s"
 
-#: ref-filter.c:1415
+#: ref-filter.c:1764
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: ref-filter.c:1670
+#: ref-filter.c:2028
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:1734
+#: ref-filter.c:2109
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
@@ -2607,15 +2817,25 @@ msgstr "gặp lỗi khi mở “/dev/null”"
 msgid "dup2(%d,%d) failed"
 msgstr "dup2(%d,%d) gặp lỗi"
 
-#: send-pack.c:297
+#: send-pack.c:150
+#, c-format
+msgid "unable to parse remote unpack status: %s"
+msgstr "không thể phân tích tình trạng unpack máy chủ: %s"
+
+#: send-pack.c:152
+#, c-format
+msgid "remote unpack failed: %s"
+msgstr "máy chủ gặp lỗi unpack: %s"
+
+#: send-pack.c:315
 msgid "failed to sign the push certificate"
 msgstr "gặp lỗi khi ký chứng thực đẩy"
 
-#: send-pack.c:410
+#: send-pack.c:428
 msgid "the receiving end does not support --signed push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
 
-#: send-pack.c:412
+#: send-pack.c:430
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -2623,11 +2843,11 @@ msgstr ""
 "đừng gửi giấy chứng nhận đẩy trước khi kết thúc nhận không hỗ trợ đẩy --"
 "signed"
 
-#: send-pack.c:424
+#: send-pack.c:442
 msgid "the receiving end does not support --atomic push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: send-pack.c:429
+#: send-pack.c:447
 msgid "the receiving end does not support push options"
 msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
@@ -2666,12 +2886,12 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:294 sequencer.c:1667
+#: sequencer.c:294 sequencer.c:1675
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:297 sequencer.c:1545 sequencer.c:1672 sequencer.c:1686
+#: sequencer.c:297 sequencer.c:1553 sequencer.c:1680 sequencer.c:1694
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
@@ -2681,13 +2901,13 @@ msgstr "không thể ghi vào “%s”"
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:305 sequencer.c:1550 sequencer.c:1674
+#: sequencer.c:305 sequencer.c:1558 sequencer.c:1682
 #, c-format
 msgid "failed to finalize '%s'."
 msgstr "gặp lỗi khi finalize “%s”"
 
-#: sequencer.c:329 sequencer.c:808 sequencer.c:1571 builtin/am.c:259
-#: builtin/commit.c:749 builtin/merge.c:1036
+#: sequencer.c:329 sequencer.c:814 sequencer.c:1579 builtin/am.c:259
+#: builtin/commit.c:749 builtin/merge.c:1018
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
@@ -2751,17 +2971,17 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:688
+#: sequencer.c:694
 #, c-format
 msgid "could not parse commit %s\n"
 msgstr "không thể phân tích lần chuyển giao %s\n"
 
-#: sequencer.c:693
+#: sequencer.c:699
 #, c-format
 msgid "could not parse parent commit %s\n"
 msgstr "không thể phân tích lần chuyển giao cha mẹ “%s”\n"
 
-#: sequencer.c:815
+#: sequencer.c:821
 #, c-format
 msgid ""
 "unexpected 1st line of squash message:\n"
@@ -2772,7 +2992,7 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:821
+#: sequencer.c:827
 #, c-format
 msgid ""
 "invalid 1st line of squash message:\n"
@@ -2783,233 +3003,233 @@ msgstr ""
 "\n"
 "\t%.*s"
 
-#: sequencer.c:827 sequencer.c:852
+#: sequencer.c:833 sequencer.c:858
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Đây là tổ hợp của %d lần chuyển giao."
 
-#: sequencer.c:836
+#: sequencer.c:842
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:838
+#: sequencer.c:844
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:840
+#: sequencer.c:846
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:846
+#: sequencer.c:852
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:855 git-rebase--interactive.sh:445
+#: sequencer.c:861 git-rebase--interactive.sh:445
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:863
+#: sequencer.c:869
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "không thể đọc phần chú thích (message) của %s"
 
-#: sequencer.c:870
+#: sequencer.c:876
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ #%d:"
 
-#: sequencer.c:875
+#: sequencer.c:881
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Chú thích cho lần chuyển giao thứ #%d sẽ bị bỏ qua:"
 
-#: sequencer.c:880
+#: sequencer.c:886
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:946
+#: sequencer.c:952
 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:964
+#: sequencer.c:970
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "lần chuyển giao %s là một lần hòa trộn nhưng không đưa ra tùy chọn -m."
 
-#: sequencer.c:972
+#: sequencer.c:978
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "lần chuyển giao %s không có cha mẹ %d"
 
-#: sequencer.c:976
+#: sequencer.c:982
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "luồng chính đã được chỉ ra nhưng lần chuyển giao %s không phải là một lần "
 "hòa trộn."
 
-#: sequencer.c:982
+#: sequencer.c:988
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "không thể lấy ghi chú lần chuyển giao cho %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1001
+#: sequencer.c:1009
 #, 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:1063 sequencer.c:1812
+#: sequencer.c:1071 sequencer.c:1820
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:1114
+#: sequencer.c:1122
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:1115
+#: sequencer.c:1123
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:1157
+#: sequencer.c:1165
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:1167
+#: sequencer.c:1175
 #, 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:1174
+#: sequencer.c:1182
 #, 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:1294
+#: sequencer.c:1302
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:1302
+#: sequencer.c:1310
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "không thể “%s” thể mà không có lần chuyển giao kế trước"
 
-#: sequencer.c:1334
+#: sequencer.c:1342
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:1341
+#: sequencer.c:1349
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "vui lòng sửa lỗi này bằng cách dùng “git rebase --edit-todo”."
 
-#: sequencer.c:1343
+#: sequencer.c:1351
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:1348
+#: sequencer.c:1356
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:1359
+#: sequencer.c:1367
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:1361
+#: sequencer.c:1369
 msgid "cannot revert during a cherry-pick."
 msgstr "không thể thực hiện việc hoàn nguyên trong khi đang cherry-pick."
 
-#: sequencer.c:1424
+#: sequencer.c:1432
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
 
-#: sequencer.c:1427
+#: sequencer.c:1435
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:1484
+#: sequencer.c:1492
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:1522
+#: sequencer.c:1530
 msgid "a cherry-pick or revert is already in progress"
 msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
 
-#: sequencer.c:1523
+#: sequencer.c:1531
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:1526
+#: sequencer.c:1534
 #, 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:1540
+#: sequencer.c:1548
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:1596 sequencer.c:2150
+#: sequencer.c:1604 sequencer.c:2159
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay hoàn nguyên trong tiến trình"
 
-#: sequencer.c:1598
+#: sequencer.c:1606
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:1600 sequencer.c:1634
+#: sequencer.c:1608 sequencer.c:1642
 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:1620 builtin/grep.c:904
+#: sequencer.c:1628 builtin/grep.c:910
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:1622
+#: sequencer.c:1630
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:1623
+#: sequencer.c:1631
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:1629
+#: sequencer.c:1637
 #, 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:1640
+#: sequencer.c:1648
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi, Không thể tua, kiểm tra HEAD của "
 "bạn!"
 
-#: sequencer.c:1777 sequencer.c:2049
+#: sequencer.c:1785 sequencer.c:2058
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1817 builtin/difftool.c:574
+#: sequencer.c:1825 builtin/difftool.c:616
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:1833
+#: sequencer.c:1841
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
-#: sequencer.c:1838
+#: sequencer.c:1846
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3024,11 +3244,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1844
+#: sequencer.c:1852
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "và tạo các thay đổi bảng mục lục và/hay cây làm việc\n"
 
-#: sequencer.c:1850
+#: sequencer.c:1858
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3045,17 +3265,17 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:1905 git-rebase.sh:168
+#: sequencer.c:1913 git-rebase.sh:168
 #, c-format
 msgid "Applied autostash."
 msgstr "Đã áp dụng autostash."
 
-#: sequencer.c:1917
+#: sequencer.c:1925
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:1919 git-rebase.sh:172
+#: sequencer.c:1927 git-rebase.sh:172
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3067,57 +3287,57 @@ msgstr ""
 "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc "
 "nào.\n"
 
-#: sequencer.c:2000
+#: sequencer.c:2009
 #, c-format
-msgid "stopped at %s... %.*s"
-msgstr "dừng lại ở %s… %.*s"
+msgid "Stopped at %s...  %.*s\n"
+msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:2027
+#: sequencer.c:2036
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:2057
+#: sequencer.c:2066
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:2061
+#: sequencer.c:2070
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:2068
+#: sequencer.c:2077
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:2075
+#: sequencer.c:2084
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:2159
+#: sequencer.c:2168
 msgid "cannot rebase: You have unstaged changes."
 msgstr "không thể cải tổ: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: sequencer.c:2164
+#: sequencer.c:2173
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:2173
+#: sequencer.c:2182
 msgid "cannot amend non-existing commit"
 msgstr "không thể tu bỏ một lần chuyển giao không tồn tại"
 
-#: sequencer.c:2175
+#: sequencer.c:2184
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:2177
+#: sequencer.c:2186
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:2180
+#: sequencer.c:2189
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3127,25 +3347,25 @@ msgstr ""
 "Bạn có các thay đổi chưa chuyển giao trong thư mục làm việc. Vui lòng\n"
 "chuyển giao chúng trước và sau đó chạy lệnh “git rebase --continue” lần nữa."
 
-#: sequencer.c:2190
+#: sequencer.c:2199
 msgid "could not commit staged changes."
 msgstr "không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: sequencer.c:2270
+#: sequencer.c:2279
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:2274
+#: sequencer.c:2283
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:2307
+#: sequencer.c:2316
 msgid "can't revert as initial commit"
 msgstr "không thể hoàn nguyên một lần chuyển giao khởi tạo"
 
-#: setup.c:160
+#: setup.c:165
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -3155,7 +3375,7 @@ msgstr ""
 "Dùng “git <lệnh> -- <đường/dẫn>…” để chỉ định đường dẫn mà nó không tồn tại "
 "một cách nội bộ."
 
-#: setup.c:173
+#: setup.c:178
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -3167,7 +3387,7 @@ msgstr ""
 "Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
 "“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: setup.c:223
+#: setup.c:228
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -3178,29 +3398,34 @@ msgstr ""
 "Dùng “--” để ngăn cách các đường dẫn khỏi điểm xem xét, như thế này:\n"
 "“git <lệnh> [<điểm xem xét>…] -- [<tập tin>…]”"
 
-#: setup.c:470
+#: setup.c:475
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Cần phiên bản kho git <= %d, nhưng lại nhận được %d"
 
-#: setup.c:478
+#: setup.c:483
 msgid "unknown repository extensions found:"
 msgstr "tìm thấy phần mở rộng kho chưa biết:"
 
-#: setup.c:768
+#: setup.c:776
 #, c-format
 msgid "Not a git repository (or any of the parent directories): %s"
 msgstr "Không phải là kho git (hoặc bất kỳ thư mục cha mẹ nào): %s"
 
-#: setup.c:770 setup.c:922 builtin/index-pack.c:1643
+#: setup.c:778 builtin/index-pack.c:1646
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: setup.c:852
+#: setup.c:1010
 msgid "Unable to read current working directory"
 msgstr "Không thể đọc thư mục làm việc hiện hành"
 
-#: setup.c:927
+#: setup.c:1022 setup.c:1028
+#, c-format
+msgid "Cannot change to '%s'"
+msgstr "Không thể chuyển sang “%s”"
+
+#: setup.c:1041
 #, c-format
 msgid ""
 "Not a git repository (or any parent up to mount point %s)\n"
@@ -3210,12 +3435,7 @@ msgstr ""
 "Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
 "đặt)."
 
-#: setup.c:934
-#, c-format
-msgid "Cannot change to '%s/..'"
-msgstr "Không thể chuyển sang “%s/..”"
-
-#: setup.c:996
+#: setup.c:1106
 #, c-format
 msgid ""
 "Problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -3224,56 +3444,56 @@ msgstr ""
 "Gặp vấn đề với gía trị chế độ tập tin core.sharedRepository (0%.3o).\n"
 "người sở hữu tập tin phải luôn có quyền đọc và ghi."
 
-#: sha1_file.c:490
+#: sha1_file.c:559
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "đường dẫn “%s” không tồn tại"
 
-#: sha1_file.c:516
+#: sha1_file.c:585
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr "kho tham chiếu “%s” như là lấy ra liên kết vẫn chưa được hỗ trợ."
 
-#: sha1_file.c:522
+#: sha1_file.c:591
 #, 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ộ."
 
-#: sha1_file.c:528
+#: sha1_file.c:597
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: sha1_file.c:536
+#: sha1_file.c:605
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: sha1_file.c:1176
+#: sha1_file.c:1245
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
 
-#: sha1_file.c:2637
+#: sha1_file.c:2721
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "vị trí tương đối nằm trước chỉ mục gói cho %s (mục lục bị hỏng à?)"
 
-#: sha1_file.c:2641
+#: sha1_file.c:2725
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "vị trí tương đối vượt quá cuối của chỉ mục gói cho %s (mục lục bị cắt cụt à?)"
 
-#: sha1_name.c:407
+#: sha1_name.c:409
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "tóm lược SHA1 %s chưa rõ ràng"
 
-#: sha1_name.c:418
+#: sha1_name.c:420
 msgid "The candidates are:"
 msgstr "Các ứng cử là:"
 
-#: sha1_name.c:578
+#: sha1_name.c:580
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -3297,46 +3517,56 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: submodule.c:65 submodule.c:99
+#: submodule.c:67 submodule.c:101
 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:69 submodule.c:103
+#: submodule.c:71 submodule.c:105
 #, c-format
 msgid "Could not find section in .gitmodules where path=%s"
 msgstr "Không thể tìm thấy phần trong .gitmodules nơi mà đường_dẫn=%s"
 
-#: submodule.c:77
+#: submodule.c:79
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
 
-#: submodule.c:110
+#: submodule.c:112
 #, 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:121
+#: submodule.c:123
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:159
+#: submodule.c:161
 msgid "negative values not allowed for submodule.fetchJobs"
 msgstr "không cho phép giá trị âm ở submodule.fetchJobs"
 
-#: submodule.c:1184
+#: submodule.c:1194
+#, c-format
+msgid "'%s' not recognized as a git repository"
+msgstr "không nhận ra “%s” là một kho git"
+
+#: submodule.c:1332
 #, c-format
-msgid "could not start 'git status in submodule '%s'"
-msgstr "không thể khởi chạy “git status trong mô-đun-con cho “%s”"
+msgid "could not start 'git status' in submodule '%s'"
+msgstr "không thể lấy thống kê “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1197
+#: submodule.c:1345
 #, c-format
-msgid "could not run 'git status in submodule '%s'"
-msgstr "không thể chạy “git status trong mô-đun-con “%s”"
+msgid "could not run 'git status' in submodule '%s'"
+msgstr "không thể chạy “git status trong mô-đun-con “%s”"
 
-#: submodule.c:1398
+#: submodule.c:1421
+#, c-format
+msgid "submodule '%s' has dirty index"
+msgstr "mô-đun-con “%s” có mục lục còn bẩn"
+
+#: submodule.c:1679
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -3344,18 +3574,18 @@ msgstr ""
 "relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
 "được hỗ trợ"
 
-#: submodule.c:1410 submodule.c:1471
+#: submodule.c:1691 submodule.c:1747
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "không thể tìm kiếm tên cho mô-đun-con “%s”"
 
-#: submodule.c:1414 submodule.c:1474 builtin/submodule--helper.c:640
-#: builtin/submodule--helper.c:650
+#: submodule.c:1695 builtin/submodule--helper.c:678
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
 
-#: submodule.c:1420
+#: submodule.c:1698
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -3366,12 +3596,25 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:1512
+#: submodule.c:1782
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule-config.c:360
+#: submodule.c:1826
+msgid "could not start ls-files in .."
+msgstr "không thể lấy thông tin thống kê về ls-files trong .."
+
+#: submodule.c:1846
+msgid "BUG: returned path string doesn't match cwd?"
+msgstr "LỖI: trả về chuỗi đường dẫn không khớp cwd?"
+
+#: submodule.c:1865
+#, c-format
+msgid "ls-tree returned unexpected return code %d"
+msgstr "ls-tree trả về mã không như mong đợi %d"
+
+#: submodule-config.c:380
 #, c-format
 msgid "invalid value for %s"
 msgstr "giá trị cho %s không hợp lệ"
@@ -3440,7 +3683,7 @@ msgstr "Không thể đặt thượng nguồn của “%s” thành “%s” c
 msgid "transport: invalid depth option '%s'"
 msgstr "vận chuyển: tùy chọn độ sâu “%s” không hợp lệ"
 
-#: transport.c:885
+#: transport.c:889
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -3449,7 +3692,7 @@ msgstr ""
 "Các đường dẫn mô-đun-con sau đây có chứa các thay đổi cái mà\n"
 "có thể được tìm thấy trên mọi máy phục vụ:\n"
 
-#: transport.c:889
+#: transport.c:893
 #, c-format
 msgid ""
 "\n"
@@ -3476,11 +3719,11 @@ msgstr ""
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:897
+#: transport.c:901
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport-helper.c:1082
+#: transport-helper.c:1080
 #, c-format
 msgid "Could not read ref %s"
 msgstr "Không thể đọc tham chiếu %s"
@@ -3501,7 +3744,7 @@ msgstr "tên tập tin trống rỗng trong mục tin cây"
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
-#: unpack-trees.c:99
+#: unpack-trees.c:104
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3512,7 +3755,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn "
 "chuyển nhánh."
 
-#: unpack-trees.c:101
+#: unpack-trees.c:106
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -3522,7 +3765,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:104
+#: unpack-trees.c:109
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3533,7 +3776,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn hòa "
 "trộn."
 
-#: unpack-trees.c:106
+#: unpack-trees.c:111
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3543,7 +3786,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:109
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3553,7 +3796,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn %s."
 
-#: unpack-trees.c:111
+#: unpack-trees.c:116
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -3563,7 +3806,7 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:121
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -3573,7 +3816,7 @@ msgstr ""
 "trong nó:\n"
 "%s"
 
-#: unpack-trees.c:120
+#: unpack-trees.c:125
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3583,7 +3826,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:122
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -3593,7 +3836,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:125
+#: unpack-trees.c:130
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3603,7 +3846,7 @@ msgstr ""
 "trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:127
+#: unpack-trees.c:132
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -3613,7 +3856,7 @@ msgstr ""
 "trộn:\n"
 "%%s"
 
-#: unpack-trees.c:130
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3622,7 +3865,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:132
+#: unpack-trees.c:137
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -3631,7 +3874,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:142
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3642,7 +3885,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:144
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -3653,7 +3896,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:147
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3663,7 +3906,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -3673,7 +3916,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:147
+#: unpack-trees.c:152
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3683,7 +3926,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:149
+#: unpack-trees.c:154
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -3693,12 +3936,12 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:156
+#: unpack-trees.c:161
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Mục “%s” đè lên “%s”. Không thể buộc."
 
-#: unpack-trees.c:159
+#: unpack-trees.c:164
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up-to-date:\n"
@@ -3707,7 +3950,7 @@ msgstr ""
 "Không thể cập nhật checkout rải rác: các mục tin sau đây chưa cập nhật:\n"
 "%s"
 
-#: unpack-trees.c:161
+#: unpack-trees.c:166
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -3718,7 +3961,7 @@ msgstr ""
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:163
+#: unpack-trees.c:168
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -3729,45 +3972,59 @@ msgstr ""
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:240
+#: unpack-trees.c:170
+#, c-format
+msgid ""
+"Cannot update submodule:\n"
+"%s"
+msgstr ""
+"Không thể cập nhật mô-đun-con:\n"
+"%s"
+
+#: unpack-trees.c:247
 #, c-format
 msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
-#: unpack-trees.c:270
+#: unpack-trees.c:272
+#, c-format
+msgid "submodule update strategy not supported for submodule '%s'"
+msgstr "chiến lược cập nhật mô-đun-con không được hỗ trợ cho mô-đun-con “%s”"
+
+#: unpack-trees.c:340
 msgid "Checking out files"
 msgstr "Đang lấy ra các tập tin"
 
-#: urlmatch.c:120
+#: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "tên lược đồ URL không hợp lệ, hoặc thiếu hậu tố “://”"
 
-#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#: urlmatch.c:187 urlmatch.c:346 urlmatch.c:405
 #, c-format
 msgid "invalid %XX escape sequence"
 msgstr "thoát chuỗi %XX không hợp lệ"
 
-#: urlmatch.c:172
+#: urlmatch.c:215
 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
+#: urlmatch.c:232
 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
+#: urlmatch.c:247
 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
+#: urlmatch.c:292 urlmatch.c:303
 msgid "invalid port number"
 msgstr "tên cổng không hợp lệ"
 
-#: urlmatch.c:322
+#: urlmatch.c:371
 msgid "invalid '..' path segment"
 msgstr "đoạn đường dẫn “..” không hợp lệ"
 
-#: worktree.c:282
+#: worktree.c:285
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
@@ -3783,27 +4040,27 @@ msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
 #: wrapper.c:226 wrapper.c:396 builtin/am.c:320 builtin/am.c:759
-#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1033
+#: builtin/am.c:847 builtin/commit.c:1700 builtin/merge.c:1015
 #: builtin/pull.c:341
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: wrapper.c:605 wrapper.c:626
+#: wrapper.c:581 wrapper.c:602
 #, c-format
 msgid "unable to access '%s'"
 msgstr "không thể truy cập “%s”"
 
-#: wrapper.c:634
+#: wrapper.c:610
 msgid "unable to get current working directory"
 msgstr "Không thể lấy thư mục làm việc hiện hành"
 
-#: wrapper.c:658
+#: wrapper.c:634
 #, c-format
 msgid "could not write to %s"
 msgstr "không thể ghi vào %s"
 
-#: wrapper.c:660
+#: wrapper.c:636
 #, c-format
 msgid "could not close %s"
 msgstr "không thể đóng %s"
@@ -3835,11 +4092,11 @@ msgstr ""
 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:199 wt-status.c:945
+#: wt-status.c:199 wt-status.c:958
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:217 wt-status.c:954
+#: wt-status.c:217 wt-status.c:967
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
@@ -3943,15 +4200,15 @@ msgstr "nội dung bị sửa đổi, "
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:818
+#: wt-status.c:831
 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:820
+#: wt-status.c:833
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:901
+#: wt-status.c:914
 msgid ""
 "Do not touch the line above.\n"
 "Everything below will be removed."
@@ -3959,109 +4216,109 @@ msgstr ""
 "Không động đến đường ở trên.\n"
 "Mọi thứ phía dưới sẽ được xóa bỏ."
 
-#: wt-status.c:1013
+#: wt-status.c:1026
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1016
+#: wt-status.c:1029
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1018
+#: wt-status.c:1031
 msgid "  (use \"git merge --abort\" to abort the merge)"
 msgstr "  (dùng \"git merge --abort\" để bãi bỏ việc hòa trộn)"
 
-#: wt-status.c:1023
+#: wt-status.c:1036
 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:1026
+#: wt-status.c:1039
 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:1036
+#: wt-status.c:1049
 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:1039
+#: wt-status.c:1052
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1043
+#: wt-status.c:1056
 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:1045
+#: wt-status.c:1058
 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:1047
+#: wt-status.c:1060
 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:1176
+#: wt-status.c:1189
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo"
 
-#: wt-status.c:1178
+#: wt-status.c:1191
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1181
+#: wt-status.c:1194
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Lệnh thực hiện cuối (%d lệnh được thực thi):"
 
-#: wt-status.c:1192
+#: wt-status.c:1205
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1197
+#: wt-status.c:1210
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1200
+#: wt-status.c:1213
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Lệnh cần làm kế tiếp (%d lệnh còn lại):"
 
-#: wt-status.c:1208
+#: wt-status.c:1221
 msgid "  (use \"git rebase --edit-todo\" to view and edit)"
 msgstr "  (dùng lệnh \"git rebase --edit-todo\" để xem và sửa)"
 
-#: wt-status.c:1221
+#: wt-status.c:1234
 #, 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:1226
+#: wt-status.c:1239
 msgid "You are currently rebasing."
 msgstr "Bạn hiện nay đang thực hiện việc “rebase” (“cải tổ”)."
 
-#: wt-status.c:1240
+#: wt-status.c:1253
 msgid "  (fix conflicts and then run \"git rebase --continue\")"
 msgstr ""
 "  (sửa các xung đột và sau đó chạy lệnh “cải tổ” \"git rebase --continue\")"
 
-#: wt-status.c:1242
+#: wt-status.c:1255
 msgid "  (use \"git rebase --skip\" to skip this patch)"
 msgstr "  (dùng lệnh “cải tổ” \"git rebase --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1244
+#: wt-status.c:1257
 msgid "  (use \"git rebase --abort\" to check out the original branch)"
 msgstr ""
 "  (dùng lệnh “cải tổ” \"git rebase --abort\" để check-out nhánh nguyên thủy)"
 
-#: wt-status.c:1250
+#: wt-status.c:1263
 msgid "  (all conflicts fixed: run \"git rebase --continue\")"
 msgstr ""
 "  (khi tất cả các xung đột đã sửa xong: chạy lệnh “cải tổ” \"git rebase --"
 "continue\")"
 
-#: wt-status.c:1254
+#: wt-status.c:1267
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -4069,130 +4326,130 @@ msgstr ""
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao trong khi "
 "đang “rebase” nhánh “%s” trên “%s”."
 
-#: wt-status.c:1259
+#: wt-status.c:1272
 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:1262
+#: wt-status.c:1275
 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 lệnh “cải tổ” \"git "
 "rebase --continue\")"
 
-#: wt-status.c:1266
+#: wt-status.c:1279
 #, 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 trong khi đang "
 "rebase nhánh “%s” trên “%s”."
 
-#: wt-status.c:1271
+#: wt-status.c:1284
 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:1274
+#: wt-status.c:1287
 msgid "  (use \"git commit --amend\" to amend the current commit)"
 msgstr "  (dùng \"git commit --amend\" để “tu bổ” lần chuyển giao hiện tại)"
 
-#: wt-status.c:1276
+#: wt-status.c:1289
 msgid ""
 "  (use \"git rebase --continue\" once you are satisfied with your changes)"
 msgstr ""
 "  (chạy lệnh “cải tổ” \"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:1286
+#: wt-status.c:1299
 #, 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:1291
+#: wt-status.c:1304
 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:1294
+#: wt-status.c:1307
 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:1296
+#: wt-status.c:1309
 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:1305
+#: wt-status.c:1318
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Bạn hiện nay đang thực hiện thao tác hoàn nguyên lần chuyển giao “%s”."
 
-#: wt-status.c:1310
+#: wt-status.c:1323
 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:1313
+#: wt-status.c:1326
 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:1315
+#: wt-status.c:1328
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (dùng \"git revert --abort\" để hủy bỏ thao tác hoàn nguyên)"
 
-#: wt-status.c:1326
+#: wt-status.c:1339
 #, 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:1330
+#: wt-status.c:1343
 msgid "You are currently bisecting."
 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:1333
+#: wt-status.c:1346
 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:1530
+#: wt-status.c:1543
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1536
+#: wt-status.c:1549
 msgid "interactive rebase in progress; onto "
 msgstr "rebase ở chế độ tương tác đang được thực hiện; lên trên "
 
-#: wt-status.c:1538
+#: wt-status.c:1551
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1543
+#: wt-status.c:1556
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1545
+#: wt-status.c:1558
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1548
+#: wt-status.c:1561
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1566
+#: wt-status.c:1579
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1580
+#: wt-status.c:1593
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1582
+#: wt-status.c:1595
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1586
+#: wt-status.c:1599
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -4204,32 +4461,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:1592
+#: wt-status.c:1605
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Những tập tin chưa được theo dõi không được liệt kê ra %s"
 
-#: wt-status.c:1594
+#: wt-status.c:1607
 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:1600
+#: wt-status.c:1613
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1605
+#: wt-status.c:1618
 #, 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 để chuyển giao (dùng \"git add\" và/hoặc "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1608
+#: wt-status.c:1621
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "không có thay đổi nào được thêm vào để chuyển giao\n"
 
-#: wt-status.c:1611
+#: wt-status.c:1624
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -4238,74 +4495,70 @@ msgstr ""
 "không có gì được thêm vào lần chuyển giao nhưng có những tập tin chưa được "
 "theo dõi hiện diện (dùng \"git add\" để đưa vào theo dõi)\n"
 
-#: wt-status.c:1614
+#: wt-status.c:1627
 #, 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 nhưng có những tập tin chưa được "
 "theo dõi hiện diện\n"
 
-#: wt-status.c:1617
+#: wt-status.c:1630
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
 "không có gì để chuyển giao (tạo/sao-chép các tập tin và dùng \"git add\" để "
 "đưa vào theo dõi)\n"
 
-#: wt-status.c:1620 wt-status.c:1625
+#: wt-status.c:1633 wt-status.c:1638
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1623
+#: wt-status.c:1636
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "không có gì để chuyển giao (dùng -u xem các tập tin chưa được theo dõi)\n"
 
-#: wt-status.c:1627
+#: wt-status.c:1640
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "không có gì để chuyển giao, thư mục làm việc sạch sẽ\n"
 
-#: wt-status.c:1734
+#: wt-status.c:1749
 msgid "Initial commit on "
 msgstr "Lần chuyển giao khởi tạo trên "
 
-#: wt-status.c:1738
+#: wt-status.c:1753
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1767
-msgid "gone"
-msgstr "đã ra đi"
-
-#: wt-status.c:1769 wt-status.c:1777
+#: wt-status.c:1782 wt-status.c:1790
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1772 wt-status.c:1775
+#: wt-status.c:1785 wt-status.c:1788
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2277
+#: wt-status.c:2280
 #, c-format
 msgid "cannot %s: You have unstaged changes."
 msgstr "không thể %s: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: wt-status.c:2283
+#: wt-status.c:2286
 msgid "additionally, your index contains uncommitted changes."
 msgstr ""
 "thêm vào đó, bảng mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: wt-status.c:2285
+#: wt-status.c:2288
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 "không thể %s: Mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: compat/precompose_utf8.c:57 builtin/clone.c:414
+#: compat/precompose_utf8.c:57 builtin/clone.c:432
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
@@ -4333,7 +4586,7 @@ msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:209 builtin/rev-parse.c:845
+#: builtin/add.c:209 builtin/rev-parse.c:872
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
@@ -4370,9 +4623,9 @@ 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:266 builtin/clean.c:870 builtin/fetch.c:115 builtin/mv.c:123
+#: builtin/add.c:266 builtin/clean.c:876 builtin/fetch.c:115 builtin/mv.c:123
 #: builtin/prune-packed.c:55 builtin/pull.c:198 builtin/push.c:524
-#: builtin/remote.c:1326 builtin/rm.c:241 builtin/send-pack.c:162
+#: builtin/remote.c:1328 builtin/rm.c:241 builtin/send-pack.c:163
 msgid "dry run"
 msgstr "chạy thử"
 
@@ -4380,7 +4633,7 @@ msgstr "chạy thử"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:270 builtin/checkout.c:1159 builtin/reset.c:286
+#: builtin/add.c:270 builtin/checkout.c:1177 builtin/reset.c:286
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -4424,11 +4677,11 @@ 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:283 builtin/update-index.c:947
+#: builtin/add.c:283 builtin/update-index.c:951
 msgid "(+/-)x"
 msgstr "(+/-)x"
 
-#: builtin/add.c:283 builtin/update-index.c:948
+#: builtin/add.c:283 builtin/update-index.c:952
 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ê"
 
@@ -4464,8 +4717,8 @@ msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
 
-#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:279
-#: builtin/checkout.c:472 builtin/clean.c:914 builtin/commit.c:350
+#: builtin/add.c:380 builtin/check-ignore.c:172 builtin/checkout.c:298
+#: builtin/checkout.c:491 builtin/clean.c:920 builtin/commit.c:350
 #: builtin/mv.c:143 builtin/reset.c:235 builtin/rm.c:271
 #: builtin/submodule--helper.c:244
 msgid "index file corrupt"
@@ -4519,7 +4772,7 @@ msgstr "độ lệch múi giờ không hợp lệ"
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:989 builtin/clone.c:379
+#: builtin/am.c:989 builtin/clone.c:397
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
@@ -4552,7 +4805,7 @@ msgstr "Để phục hồi lại nhánh gốc và dừng vá, hãy chạy \"%s -
 msgid "Patch is empty. Was it split wrong?"
 msgstr "Miếng vá trống rỗng. Quá trình chia nhỏ miếng vá có lỗi?"
 
-#: builtin/am.c:1390 builtin/log.c:1550
+#: builtin/am.c:1390 builtin/log.c:1557
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
@@ -4587,7 +4840,7 @@ msgstr "Đang trở lại để vá cơ sở và “hòa trộn 3-đường”
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1686 builtin/merge.c:632
+#: builtin/am.c:1686 builtin/merge.c:631
 msgid "git write-tree failed to write a tree"
 msgstr "lệnh git write-tree gặp lỗi khi ghi một cây"
 
@@ -4755,15 +5008,15 @@ msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
 #: builtin/am.c:2283 builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665
-#: builtin/grep.c:1038 builtin/merge.c:202 builtin/pull.c:135
+#: builtin/grep.c:1045 builtin/merge.c:201 builtin/pull.c:135
 #: builtin/pull.c:194 builtin/repack.c:187 builtin/repack.c:191
-#: builtin/show-branch.c:644 builtin/show-ref.c:169 builtin/tag.c:355
+#: builtin/show-branch.c:637 builtin/show-ref.c:169 builtin/tag.c:398
 #: parse-options.h:132 parse-options.h:134 parse-options.h:245
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2289 builtin/for-each-ref.c:37 builtin/replace.c:438
-#: builtin/tag.c:387 builtin/verify-tag.c:38
+#: builtin/am.c:2289 builtin/branch.c:592 builtin/for-each-ref.c:37
+#: builtin/replace.c:442 builtin/tag.c:433 builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
 
@@ -4799,8 +5052,8 @@ msgstr "nói dối về ngày chuyển giao"
 msgid "use current timestamp for author date"
 msgstr "dùng dấu thời gian hiện tại cho ngày tác giả"
 
-#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:233
-#: builtin/pull.c:165 builtin/revert.c:92 builtin/tag.c:370
+#: builtin/am.c:2315 builtin/commit.c:1600 builtin/merge.c:232
+#: builtin/pull.c:165 builtin/revert.c:111 builtin/tag.c:413
 msgid "key-id"
 msgstr "mã-số-khóa"
 
@@ -4902,113 +5155,113 @@ msgstr "git blame [<các-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> được mô tả trong tài liệu git-rev-list(1)"
 
-#: builtin/blame.c:1786
+#: builtin/blame.c:1777
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
-#: builtin/blame.c:2582
+#: builtin/blame.c:2573
 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:2583
+#: builtin/blame.c:2574
 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:2584
+#: builtin/blame.c:2575
 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:2585
+#: builtin/blame.c:2576
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:2586
+#: builtin/blame.c:2577
 msgid "Force progress reporting"
 msgstr "Ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:2587
+#: builtin/blame.c:2578
 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:2588
+#: builtin/blame.c:2579
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:2589
+#: builtin/blame.c:2580
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:2590
+#: builtin/blame.c:2581
 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:2591
+#: builtin/blame.c:2582
 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:2592
+#: builtin/blame.c:2583
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Dùng cùng chế độ xuất ra với git-annotate (Mặc định: off)"
 
-#: builtin/blame.c:2593
+#: builtin/blame.c:2584
 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:2594
+#: builtin/blame.c:2585
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Hiển thị SHA1 của lần chuyển giao dạng dài (Mặc định: off)"
 
-#: builtin/blame.c:2595
+#: builtin/blame.c:2586
 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:2596
+#: builtin/blame.c:2587
 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:2597
+#: builtin/blame.c:2588
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:2604
+#: builtin/blame.c:2595
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Dùng một phỏng đoán thử nghiệm để tăng cường các diff"
 
-#: builtin/blame.c:2606
+#: builtin/blame.c:2597
 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:2607
+#: builtin/blame.c:2598
 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:2608
+#: builtin/blame.c:2599
 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:2609 builtin/blame.c:2610
+#: builtin/blame.c:2600 builtin/blame.c:2601
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:2609
+#: builtin/blame.c:2600
 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:2610
+#: builtin/blame.c:2601
 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:2611
+#: builtin/blame.c:2602
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:2611
+#: builtin/blame.c:2602
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
-#: builtin/blame.c:2658
+#: builtin/blame.c:2649
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress không được dùng cùng với --incremental hay các định dạng porcelain"
@@ -5019,41 +5272,41 @@ msgstr ""
 #. takes 22 places, is the longest among various forms of
 #. relative timestamps, but your language may need more or
 #. fewer display columns.
-#: builtin/blame.c:2706
+#: builtin/blame.c:2697
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:2786
+#: builtin/blame.c:2777
 msgid "--contents and --reverse do not blend well."
 msgstr "tùy chọn--contents và --reverse không được trộn vào nhau."
 
-#: builtin/blame.c:2806
+#: builtin/blame.c:2797
 msgid "cannot use --contents with final commit object name"
 msgstr "không thể dùng --contents với tên đối tượng chuyển giao cuối cùng"
 
-#: builtin/blame.c:2811
+#: builtin/blame.c:2802
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse và --first-parent cùng nhau cần chỉ định lần chuyển giao cuối"
 
-#: builtin/blame.c:2838
+#: builtin/blame.c:2829
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent cùng nhau yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: builtin/blame.c:2849
+#: builtin/blame.c:2840
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: builtin/blame.c:2860
+#: builtin/blame.c:2851
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
 
-#: builtin/blame.c:2879
+#: builtin/blame.c:2870
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
@@ -5079,7 +5332,11 @@ msgstr "git branch [<các-tùy-chọn>] (-m | -M) [<nhánh-cũ>] <nhánh-mới>"
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:143
+#: builtin/branch.c:31
+msgid "git branch [<options>] [-r | -a] [--format]"
+msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--format]"
+
+#: builtin/branch.c:144
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -5088,7 +5345,7 @@ msgstr ""
 "đang xóa nhánh “%s” mà nó lại đã được hòa trộn vào\n"
 "         “%s”, nhưng vẫn chưa được hòa trộn vào HEAD."
 
-#: builtin/branch.c:147
+#: builtin/branch.c:148
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -5097,12 +5354,12 @@ msgstr ""
 "không xóa nhánh “%s” cái mà chưa được hòa trộn vào\n"
 "         “%s”, cho dù là nó đã được hòa trộn vào HEAD."
 
-#: builtin/branch.c:161
+#: builtin/branch.c:162
 #, c-format
 msgid "Couldn't look up commit object for '%s'"
 msgstr "Không thể tìm kiếm đối tượng chuyển giao cho “%s”"
 
-#: builtin/branch.c:165
+#: builtin/branch.c:166
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -5111,163 +5368,91 @@ msgstr ""
 "Nhánh “%s” không được trộn một cách đầy đủ.\n"
 "Nếu bạn thực sự muốn xóa nó, thì chạy lệnh “git branch -D %s”."
 
-#: builtin/branch.c:178
+#: builtin/branch.c:179
 msgid "Update of config-file failed"
 msgstr "Cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:206
+#: builtin/branch.c:210
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:212
+#: builtin/branch.c:216
 msgid "Couldn't look up commit object for HEAD"
 msgstr "Không thể tìm kiếm đối tượng chuyển giao cho HEAD"
 
-#: builtin/branch.c:226
+#: builtin/branch.c:230
 #, c-format
 msgid "Cannot delete branch '%s' checked out at '%s'"
 msgstr "Không thể xóa nhánh “%s” đã được lấy ra tại “%s”"
 
-#: builtin/branch.c:241
+#: builtin/branch.c:245
 #, c-format
 msgid "remote-tracking branch '%s' not found."
 msgstr "không tìm thấy nhánh theo dõi máy chủ “%s”."
 
-#: builtin/branch.c:242
+#: builtin/branch.c:246
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:257
+#: builtin/branch.c:261
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Gặp lỗi khi đang xóa nhánh theo dõi máy chủ “%s”"
 
-#: builtin/branch.c:258
+#: builtin/branch.c:262
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Gặp lỗi khi xóa bỏ nhánh “%s”"
 
-#: builtin/branch.c:265
+#: builtin/branch.c:269
 #, c-format
 msgid "Deleted remote-tracking branch %s (was %s).\n"
 msgstr "Đã xóa nhánh theo dõi máy chủ \"%s\" (từng là %s).\n"
 
-#: builtin/branch.c:266
+#: builtin/branch.c:270
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:312
-#, c-format
-msgid "[%s: gone]"
-msgstr "[%s: đã ra đi]"
-
-#: builtin/branch.c:317
-#, c-format
-msgid "[%s]"
-msgstr "[%s]"
-
-#: builtin/branch.c:322
-#, c-format
-msgid "[%s: behind %d]"
-msgstr "[%s: đứng sau %d]"
-
-#: builtin/branch.c:324
-#, c-format
-msgid "[behind %d]"
-msgstr "[đằng sau %d]"
-
-#: builtin/branch.c:328
-#, c-format
-msgid "[%s: ahead %d]"
-msgstr "[%s: phía trước %d]"
-
-#: builtin/branch.c:330
-#, c-format
-msgid "[ahead %d]"
-msgstr "[phía trước %d]"
-
-#: builtin/branch.c:333
-#, c-format
-msgid "[%s: ahead %d, behind %d]"
-msgstr "[%s: trước %d, sau %d]"
-
-#: builtin/branch.c:336
-#, c-format
-msgid "[ahead %d, behind %d]"
-msgstr "[trước %d, sau %d]"
-
-#: builtin/branch.c:349
-msgid " **** invalid ref ****"
-msgstr " **** tham chiếu không hợp lệ ****"
-
-#: builtin/branch.c:375
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr "(không nhánh, đang cải tổ %s)"
-
-#: builtin/branch.c:378
-#, c-format
-msgid "(no branch, bisect started on %s)"
-msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s)"
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached at " in wt-status.c
-#: builtin/branch.c:384
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr "(HEAD được tách rời tại %s)"
-
-#. TRANSLATORS: make sure this matches
-#. "HEAD detached from " in wt-status.c
-#: builtin/branch.c:389
-#, c-format
-msgid "(HEAD detached from %s)"
-msgstr "(HEAD được tách rời từ %s)"
-
-#: builtin/branch.c:393
-msgid "(no branch)"
-msgstr "(không nhánh)"
-
-#: builtin/branch.c:535
+#: builtin/branch.c:441
 #, c-format
 msgid "Branch %s is being rebased at %s"
 msgstr "Nhánh %s đang được cải tổ lại tại %s"
 
-#: builtin/branch.c:539
+#: builtin/branch.c:445
 #, c-format
 msgid "Branch %s is being bisected at %s"
 msgstr "Nhánh %s đang được di chuyển phân đôi (bisect) tại %s"
 
-#: builtin/branch.c:554
+#: builtin/branch.c:460
 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:564
+#: builtin/branch.c:470
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:581
+#: builtin/branch.c:487
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:585
+#: builtin/branch.c:490
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:588
+#: builtin/branch.c:493
 #, 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:595
+#: builtin/branch.c:502
 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:611
+#: builtin/branch.c:518
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -5278,167 +5463,176 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:551
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:553
 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:646
+#: builtin/branch.c:554
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:555
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:557
 msgid "change upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:651
+#: builtin/branch.c:559
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:652
+#: builtin/branch.c:560
 msgid "Unset the upstream info"
 msgstr "Bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:653
+#: builtin/branch.c:561
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:654
+#: builtin/branch.c:562
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:656 builtin/branch.c:657
+#: builtin/branch.c:564 builtin/branch.c:566
 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:660
+#: builtin/branch.c:565 builtin/branch.c:567
+msgid "print only branches that don't contain the commit"
+msgstr "chỉ hiển thị những nhánh mà nó không chứa lần chuyển giao"
+
+#: builtin/branch.c:570
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:571
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:663
+#: builtin/branch.c:573
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:664
+#: builtin/branch.c:574
 msgid "delete branch (even if not merged)"
 msgstr "xóa nhánh (cho dù là chưa được hòa trộn)"
 
-#: builtin/branch.c:665
+#: builtin/branch.c:575
 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:666
+#: builtin/branch.c:576
 msgid "move/rename a branch, even if target exists"
 msgstr "di chuyển hoặc đổi tên một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:577
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:578
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:670
+#: builtin/branch.c:580
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:581
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:582
 msgid "print only branches that are merged"
 msgstr "chỉ hiển thị những nhánh mà nó được hòa trộn"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:583
 msgid "print only branches that are not merged"
 msgstr "chỉ hiển thị những nhánh mà nó không được hòa trộn"
 
-#: builtin/branch.c:674
+#: builtin/branch.c:584
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:675 builtin/for-each-ref.c:38 builtin/tag.c:381
+#: builtin/branch.c:585 builtin/for-each-ref.c:38 builtin/tag.c:426
 msgid "key"
 msgstr "khóa"
 
-#: builtin/branch.c:676 builtin/for-each-ref.c:39 builtin/tag.c:382
+#: builtin/branch.c:586 builtin/for-each-ref.c:39 builtin/tag.c:427
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
-#: builtin/branch.c:678 builtin/for-each-ref.c:41 builtin/notes.c:404
+#: builtin/branch.c:588 builtin/for-each-ref.c:41 builtin/notes.c:404
 #: builtin/notes.c:407 builtin/notes.c:567 builtin/notes.c:570
-#: builtin/tag.c:384
+#: builtin/tag.c:429
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:679
+#: builtin/branch.c:589
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:681 builtin/for-each-ref.c:46 builtin/tag.c:388
+#: builtin/branch.c:591 builtin/for-each-ref.c:47 builtin/tag.c:434
 msgid "sorting and filtering are case insensitive"
 msgstr "sắp xếp và lọc là phân biệt HOA thường"
 
-#: builtin/branch.c:698
+#: builtin/branch.c:592 builtin/for-each-ref.c:37 builtin/tag.c:433
+#: builtin/verify-tag.c:38
+msgid "format to use for the output"
+msgstr "định dạng sẽ dùng cho đầu ra"
+
+#: builtin/branch.c:611
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: builtin/branch.c:702 builtin/clone.c:706
+#: builtin/branch.c:615 builtin/clone.c:724
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:724
+#: builtin/branch.c:638
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:735 builtin/branch.c:787
+#: builtin/branch.c:649 builtin/branch.c:701
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:763
+#: builtin/branch.c:677
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:768
+#: builtin/branch.c:682
 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:775
+#: builtin/branch.c:689
 #, 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:778
+#: builtin/branch.c:692
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:793
+#: builtin/branch.c:707
 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:798
+#: builtin/branch.c:712
 msgid "too many branches to set new upstream"
 msgstr "quá nhiều nhánh được đặt cho thượng nguồn mới"
 
-#: builtin/branch.c:802
+#: builtin/branch.c:716
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -5446,40 +5640,40 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành %s khi mà nó chẳng chỉ đến nhánh "
 "nào cả."
 
-#: builtin/branch.c:805 builtin/branch.c:827 builtin/branch.c:848
+#: builtin/branch.c:719 builtin/branch.c:741 builtin/branch.c:762
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:809
+#: builtin/branch.c:723
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:821
+#: builtin/branch.c:735
 msgid "too many branches to unset upstream"
 msgstr "quá nhiều nhánh để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:825
+#: builtin/branch.c:739
 msgid "could not unset upstream of HEAD when it does not point to any branch."
 msgstr "không thể bỏ đặt thượng nguồn của HEAD không chỉ đến một nhánh nào cả."
 
-#: builtin/branch.c:831
+#: builtin/branch.c:745
 #, c-format
 msgid "Branch '%s' has no upstream information"
 msgstr "Nhánh “%s” không có thông tin thượng nguồn"
 
-#: builtin/branch.c:845
+#: builtin/branch.c:759
 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:851
+#: builtin/branch.c:765
 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:854
+#: builtin/branch.c:768
 #, c-format
 msgid ""
 "The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -5488,7 +5682,7 @@ msgstr ""
 "Cờ --set-upstream đã lạc hậu và sẽ bị xóa bỏ. Nên dùng --track hoặc --set-"
 "upstream-to\n"
 
-#: builtin/branch.c:871
+#: builtin/branch.c:785
 #, c-format
 msgid ""
 "\n"
@@ -5499,16 +5693,16 @@ msgstr ""
 "Nếu bạn muốn “%s” theo dõi “%s”, thực hiện lệnh sau:\n"
 "\n"
 
-#: builtin/bundle.c:51
+#: builtin/bundle.c:45
 #, c-format
 msgid "%s is okay\n"
 msgstr "“%s” tốt\n"
 
-#: builtin/bundle.c:64
+#: builtin/bundle.c:58
 msgid "Need a repository to create a bundle."
 msgstr "Cần một kho chứa để có thể tạo một bundle."
 
-#: builtin/bundle.c:68
+#: builtin/bundle.c:62
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để có thể giải nén một bundle."
 
@@ -5556,7 +5750,7 @@ msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung củ
 msgid "for blob objects, run filters on object's content"
 msgstr "với đối tượng blob, chạy lệnh filters trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:561 git-submodule.sh:929
+#: builtin/cat-file.c:561 git-submodule.sh:943
 msgid "blob"
 msgstr "blob"
 
@@ -5613,7 +5807,7 @@ msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 msgid "terminate input and output records by a NUL character"
 msgstr "chấm dứt các bản ghi vào và ra bằng ký tự NULL"
 
-#: builtin/check-ignore.c:18 builtin/checkout.c:1140 builtin/gc.c:332
+#: builtin/check-ignore.c:18 builtin/checkout.c:1158 builtin/gc.c:352
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -5704,9 +5898,9 @@ msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
 #: builtin/checkout-index.c:174 builtin/column.c:30
-#: builtin/submodule--helper.c:597 builtin/submodule--helper.c:600
-#: builtin/submodule--helper.c:606 builtin/submodule--helper.c:967
-#: builtin/worktree.c:471
+#: builtin/submodule--helper.c:635 builtin/submodule--helper.c:638
+#: builtin/submodule--helper.c:644 builtin/submodule--helper.c:980
+#: builtin/worktree.c:472
 msgid "string"
 msgstr "chuỗi"
 
@@ -5718,114 +5912,114 @@ msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 msgid "copy out the files from named stage"
 msgstr "sao chép ra các tập tin từ bệ phóng có tên"
 
-#: builtin/checkout.c:25
+#: builtin/checkout.c:27
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<các-tùy-chọn>] <nhánh>"
 
-#: builtin/checkout.c:26
+#: builtin/checkout.c:28
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<các-tùy-chọn>] [<nhánh>] -- <tập-tin>…"
 
-#: builtin/checkout.c:134 builtin/checkout.c:167
+#: builtin/checkout.c:153 builtin/checkout.c:186
 #, 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:136 builtin/checkout.c:169
+#: builtin/checkout.c:155 builtin/checkout.c:188
 #, 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:152
+#: builtin/checkout.c:171
 #, 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:196
+#: builtin/checkout.c:215
 #, 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:213
+#: builtin/checkout.c:232
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:230
+#: builtin/checkout.c:249
 #, 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:250 builtin/checkout.c:253 builtin/checkout.c:256
-#: builtin/checkout.c:259
+#: builtin/checkout.c:269 builtin/checkout.c:272 builtin/checkout.c:275
+#: builtin/checkout.c:278
 #, c-format
 msgid "'%s' cannot be used with updating paths"
 msgstr "không được dùng “%s” với các đường dẫn cập nhật"
 
-#: builtin/checkout.c:262 builtin/checkout.c:265
+#: builtin/checkout.c:281 builtin/checkout.c:284
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:268
+#: builtin/checkout.c:287
 #, 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:339 builtin/checkout.c:346
+#: builtin/checkout.c:358 builtin/checkout.c:365
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:494
+#: builtin/checkout.c:513
 msgid "you need to resolve your current index first"
 msgstr "bạn cần phải giải quyết bảng mục lục hiện tại của bạn trước đã"
 
-#: builtin/checkout.c:625
+#: builtin/checkout.c:644
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Không thể thực hiện reflog cho “%s”: %s\n"
 
-#: builtin/checkout.c:666
+#: builtin/checkout.c:685
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:670 builtin/clone.c:660
+#: builtin/checkout.c:689 builtin/clone.c:678
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:674
+#: builtin/checkout.c:693
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:677
+#: builtin/checkout.c:696
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:681
+#: builtin/checkout.c:700
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Đã chuyển tới và đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:683 builtin/checkout.c:1072
+#: builtin/checkout.c:702 builtin/checkout.c:1090
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:685
+#: builtin/checkout.c:704
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:736
+#: builtin/checkout.c:755
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:742
+#: builtin/checkout.c:761
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -5844,7 +6038,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:761
+#: builtin/checkout.c:780
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -5865,152 +6059,152 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:797
+#: builtin/checkout.c:816
 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:801
+#: builtin/checkout.c:820
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:828 builtin/checkout.c:1067
+#: builtin/checkout.c:847 builtin/checkout.c:1085
 msgid "You are on a branch yet to be born"
 msgstr "Bạn tại nhánh mà nó chưa hề được sinh ra"
 
-#: builtin/checkout.c:973
+#: builtin/checkout.c:991
 #, 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:1013 builtin/worktree.c:214
+#: builtin/checkout.c:1031 builtin/worktree.c:214
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1042
+#: builtin/checkout.c:1060
 #, c-format
 msgid "reference is not a tree: %s"
 msgstr "tham chiếu không phải là một cây:%s"
 
-#: builtin/checkout.c:1081
+#: builtin/checkout.c:1099
 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:1084 builtin/checkout.c:1088
+#: builtin/checkout.c:1102 builtin/checkout.c:1106
 #, 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:1092 builtin/checkout.c:1095 builtin/checkout.c:1100
-#: builtin/checkout.c:1103
+#: builtin/checkout.c:1110 builtin/checkout.c:1113 builtin/checkout.c:1118
+#: builtin/checkout.c:1121
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1108
+#: builtin/checkout.c:1126
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Không thể chuyển nhánh đến một thứ không phải là lần chuyển giao “%s”"
 
-#: builtin/checkout.c:1141 builtin/checkout.c:1143 builtin/clone.c:93
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324
-#: builtin/worktree.c:326
+#: builtin/checkout.c:1159 builtin/checkout.c:1161 builtin/clone.c:111
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:325
+#: builtin/worktree.c:327
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1142
+#: builtin/checkout.c:1160
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1162
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1145
+#: builtin/checkout.c:1163
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1146 builtin/worktree.c:328
+#: builtin/checkout.c:1164 builtin/worktree.c:329
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1147
+#: builtin/checkout.c:1165
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1167
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1150
+#: builtin/checkout.c:1168
 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:1152
+#: builtin/checkout.c:1170
 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:1154
+#: builtin/checkout.c:1172
 msgid "force checkout (throw away local modifications)"
 msgstr "ép buộc lấy ra (bỏ đi những thay đổi nội bộ)"
 
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1173
 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:1156 builtin/merge.c:235
+#: builtin/checkout.c:1174 builtin/merge.c:234
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1157 builtin/log.c:1466 parse-options.h:251
+#: builtin/checkout.c:1175 builtin/log.c:1473 parse-options.h:251
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1158
+#: builtin/checkout.c:1176
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1161
+#: builtin/checkout.c:1179
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục thưa thớt"
 
-#: builtin/checkout.c:1163
+#: builtin/checkout.c:1181
 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:1165
+#: builtin/checkout.c:1183
 msgid "do not check if another worktree is holding the given ref"
 msgstr "không kiểm tra nếu cây làm việc khác đang giữ tham chiếu đã cho"
 
-#: builtin/checkout.c:1166 builtin/clone.c:63 builtin/fetch.c:119
-#: builtin/merge.c:232 builtin/pull.c:117 builtin/push.c:539
-#: builtin/send-pack.c:168
+#: builtin/checkout.c:1187 builtin/clone.c:78 builtin/fetch.c:119
+#: builtin/merge.c:231 builtin/pull.c:117 builtin/push.c:539
+#: builtin/send-pack.c:172
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/checkout.c:1197
+#: builtin/checkout.c:1224
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1214
+#: builtin/checkout.c:1241
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1219
+#: builtin/checkout.c:1246
 msgid "Missing branch name; try -b"
 msgstr "Thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1255
+#: builtin/checkout.c:1282
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1262
+#: builtin/checkout.c:1289
 #, c-format
 msgid ""
 "Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -6020,12 +6214,12 @@ msgstr ""
 "Bạn đã có ý định checkout “%s” cái mà không thể được phân giải như là lần "
 "chuyển giao?"
 
-#: builtin/checkout.c:1267
+#: builtin/checkout.c:1294
 #, 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:1271
+#: builtin/checkout.c:1298
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -6064,7 +6258,7 @@ msgstr "Nên bỏ qua kho chứa %s\n"
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:291 git-add--interactive.perl:623
+#: builtin/clean.c:297 git-add--interactive.perl:614
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6077,7 +6271,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (để trống) không chọn gì cả\n"
 
-#: builtin/clean.c:295 git-add--interactive.perl:632
+#: builtin/clean.c:301 git-add--interactive.perl:623
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -6098,38 +6292,38 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (để trống) kết thúc việc chọn\n"
 
-#: builtin/clean.c:511 git-add--interactive.perl:598
-#: git-add--interactive.perl:603
+#: builtin/clean.c:517 git-add--interactive.perl:589
+#: git-add--interactive.perl:594
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hả (%s)?\n"
 
-#: builtin/clean.c:653
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin đầu vào cần lờ đi>> "
 
-#: builtin/clean.c:690
+#: 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:711
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:752
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:777 git-add--interactive.perl:1669
+#: builtin/clean.c:783 git-add--interactive.perl:1660
 #, c-format
 msgid "Bye.\n"
 msgstr "Tạm biệt.\n"
 
-#: builtin/clean.c:785
+#: builtin/clean.c:791
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -6147,61 +6341,62 @@ 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:812 git-add--interactive.perl:1745
+#: builtin/clean.c:818 git-add--interactive.perl:1736
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:813 git-add--interactive.perl:1742
+#: builtin/clean.c:819 git-add--interactive.perl:1733
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:821
+#: builtin/clean.c:827
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ (các) mục sau đây không:"
 
-#: builtin/clean.c:838
+#: builtin/clean.c:844
 msgid "No more files to clean, exiting."
 msgstr "Không còn tập-tin nào để dọn dẹp, đang thoát ra."
 
-#: builtin/clean.c:869
+#: builtin/clean.c:875
 msgid "do not print names of files removed"
 msgstr "không hiển thị tên của các tập tin đã gỡ bỏ"
 
-#: builtin/clean.c:871
+#: builtin/clean.c:877
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:872
+#: builtin/clean.c:878
 msgid "interactive cleaning"
 msgstr "dọn bằng kiểu tương tác"
 
-#: builtin/clean.c:874
+#: builtin/clean.c:880
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:1056
-#: builtin/ls-files.c:538 builtin/name-rev.c:313 builtin/show-ref.c:176
+#: builtin/clean.c:881 builtin/describe.c:449 builtin/describe.c:451
+#: builtin/grep.c:1063 builtin/ls-files.c:539 builtin/name-rev.c:348
+#: builtin/name-rev.c:350 builtin/show-ref.c:176
 msgid "pattern"
 msgstr "mẫu"
 
-#: builtin/clean.c:876
+#: builtin/clean.c:882
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:877
+#: builtin/clean.c:883
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:879
+#: builtin/clean.c:885
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:897
+#: builtin/clean.c:903
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clean.c:901
+#: builtin/clean.c:907
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -6209,7 +6404,7 @@ msgstr ""
 "clean.requireForce được đặt thành true và không đưa ra tùy chọn -i, -n mà "
 "cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:904
+#: builtin/clean.c:910
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -6221,129 +6416,134 @@ msgstr ""
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các-tùy-chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:65
+#: builtin/clone.c:80
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:66 builtin/clone.c:68 builtin/init-db.c:478
+#: builtin/clone.c:81 builtin/clone.c:83 builtin/init-db.c:478
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:70
+#: builtin/clone.c:85
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:72
+#: builtin/clone.c:87
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:74
+#: builtin/clone.c:89
 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:76
+#: builtin/clone.c:91
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:78 builtin/clone.c:80
+#: builtin/clone.c:93 builtin/clone.c:97
+msgid "pathspec"
+msgstr "đặc-tả-đường-dẫn"
+
+#: builtin/clone.c:93 builtin/clone.c:97
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:82
+#: builtin/clone.c:100
 msgid "number of submodules cloned in parallel"
 msgstr "số lượng mô-đun-con được nhân bản đồng thời"
 
-#: builtin/clone.c:83 builtin/init-db.c:475
+#: builtin/clone.c:101 builtin/init-db.c:475
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:84 builtin/init-db.c:476
+#: builtin/clone.c:102 builtin/init-db.c:476
 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:88 builtin/submodule--helper.c:604
-#: builtin/submodule--helper.c:970
+#: builtin/clone.c:104 builtin/clone.c:106 builtin/submodule--helper.c:642
+#: builtin/submodule--helper.c:983
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:108
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: builtin/clone.c:91 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:109 builtin/column.c:26 builtin/merge-file.c:43
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:110
 msgid "use <name> instead of 'origin' to track upstream"
 msgstr "dùng <tên> thay cho “origin” để theo dõi thượng nguồn"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:112
 msgid "checkout <branch> instead of the remote's HEAD"
 msgstr "lấy ra <nhánh> thay cho HEAD của máy chủ"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:114
 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:97 builtin/fetch.c:120 builtin/grep.c:999 builtin/pull.c:202
+#: builtin/clone.c:115 builtin/fetch.c:120 builtin/grep.c:1006
+#: builtin/pull.c:202
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:116
 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:99 builtin/fetch.c:122 builtin/pack-objects.c:2836
+#: builtin/clone.c:117 builtin/fetch.c:122 builtin/pack-objects.c:2918
 #: parse-options.h:142
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:100
+#: builtin/clone.c:118
 msgid "create a shallow clone since a specific time"
 msgstr "tạo bản sao không đầy đủ từ thời điểm đã cho"
 
-#: builtin/clone.c:101 builtin/fetch.c:124
+#: builtin/clone.c:119 builtin/fetch.c:124
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:102 builtin/fetch.c:125
+#: builtin/clone.c:120 builtin/fetch.c:125
 msgid "deepen history of shallow clone, excluding rev"
 msgstr "làm sâu hơn lịch sử của bản sao shallow, bằng điểm xét duyệt loại trừ"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:122
 msgid "clone only one branch, HEAD or --branch"
 msgstr "chỉ nhân bản một nhánh, HEAD hoặc --branch"
 
-#: builtin/clone.c:106
+#: builtin/clone.c:124
 msgid "any cloned submodules will be shallow"
 msgstr "mọi mô-đun-con nhân bản sẽ là shallow (nông)"
 
-#: builtin/clone.c:107 builtin/init-db.c:484
+#: builtin/clone.c:125 builtin/init-db.c:484
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:108 builtin/init-db.c:485
+#: builtin/clone.c:126 builtin/init-db.c:485
 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:109
+#: builtin/clone.c:127
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:110
+#: builtin/clone.c:128
 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:111 builtin/fetch.c:140 builtin/push.c:550
+#: builtin/clone.c:129 builtin/fetch.c:140 builtin/push.c:550
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:113 builtin/fetch.c:142 builtin/push.c:552
+#: builtin/clone.c:131 builtin/fetch.c:142 builtin/push.c:552
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:250
+#: builtin/clone.c:268
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -6351,42 +6551,42 @@ msgstr ""
 "Không đoán được thư mục tên là gì.\n"
 "Vui lòng chỉ định tên một thư mục trên dòng lệnh"
 
-#: builtin/clone.c:303
+#: builtin/clone.c:321
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "thông tin: không thể thêm thay thế cho “%s”: %s\n"
 
-#: builtin/clone.c:375
+#: builtin/clone.c:393
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: builtin/clone.c:383
+#: builtin/clone.c:401
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s có tồn tại nhưng lại không phải là một thư mục"
 
-#: builtin/clone.c:397
+#: builtin/clone.c:415
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
 
-#: builtin/clone.c:419
+#: builtin/clone.c:437
 #, 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:423
+#: builtin/clone.c:441
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "gặp lỗi khi sao chép tập tin và “%s”"
 
-#: builtin/clone.c:448
+#: builtin/clone.c:466
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:460
+#: builtin/clone.c:478
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -6396,100 +6596,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ử lấy ra với lệnh “git checkout -f HEAD”\n"
 
-#: builtin/clone.c:537
+#: builtin/clone.c:555
 #, 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:632
+#: builtin/clone.c:650
 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:648
+#: builtin/clone.c:666
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:697
+#: builtin/clone.c:715
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr "refers HEAD máy chủ  chỉ đến ref không tồn tại, không thể lấy ra.\n"
 
-#: builtin/clone.c:728
+#: builtin/clone.c:746
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:768
+#: builtin/clone.c:786
 msgid "unable to write parameters to config file"
 msgstr "không thể ghi các tham số vào tập tin cấu hình"
 
-#: builtin/clone.c:831
+#: builtin/clone.c:849
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:833
+#: builtin/clone.c:851
 msgid "cannot unlink temporary alternates file"
 msgstr "không thể bỏ liên kết tập tin thay thế tạm thời"
 
-#: builtin/clone.c:866 builtin/receive-pack.c:1895
+#: builtin/clone.c:884 builtin/receive-pack.c:1901
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:870
+#: builtin/clone.c:888
 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:883
+#: builtin/clone.c:901
 #, 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:886
+#: builtin/clone.c:904
 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:899
+#: builtin/clone.c:917
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:905 builtin/fetch.c:1335
+#: builtin/clone.c:923 builtin/fetch.c:1337
 #, c-format
 msgid "depth %s is not a positive number"
 msgstr "độ sâu %s không phải là một số nguyên dương"
 
-#: builtin/clone.c:915
+#: builtin/clone.c:933
 #, 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:925
+#: builtin/clone.c:943
 #, 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:940 builtin/clone.c:951 builtin/difftool.c:252
-#: builtin/submodule--helper.c:659 builtin/worktree.c:222
-#: builtin/worktree.c:249
+#: builtin/clone.c:958 builtin/clone.c:969 builtin/difftool.c:252
+#: builtin/worktree.c:222 builtin/worktree.c:249
 #, 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:943
+#: builtin/clone.c:961
 #, 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:955
+#: builtin/clone.c:973
 #, 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:957
+#: builtin/clone.c:975
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:963
+#: builtin/clone.c:999
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -6497,41 +6696,41 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1019
+#: builtin/clone.c:1055
 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:1021
+#: builtin/clone.c:1057
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay "
 "thế."
 
-#: builtin/clone.c:1023
+#: builtin/clone.c:1059
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay "
 "thế."
 
-#: builtin/clone.c:1026
+#: builtin/clone.c:1062
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1031
+#: builtin/clone.c:1067
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1035
+#: builtin/clone.c:1071
 #, 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:1090 builtin/clone.c:1098
+#: builtin/clone.c:1126 builtin/clone.c:1134
 #, c-format
 msgid "Remote branch %s not found in upstream %s"
 msgstr "Nhánh máy chủ %s không tìm thấy trong thượng nguồn %s"
 
-#: builtin/clone.c:1101
+#: builtin/clone.c:1137
 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."
 
@@ -6738,11 +6937,6 @@ msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạn
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:611
-#, c-format
-msgid "invalid date format: %s"
-msgstr "ngày tháng không hợp lệ: %s"
-
 #: builtin/commit.c:655
 msgid ""
 "unable to select a comment character that is not used\n"
@@ -6756,7 +6950,7 @@ msgstr ""
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:704 builtin/shortlog.c:295
+#: builtin/commit.c:704 builtin/shortlog.c:294
 #, 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"
@@ -6858,7 +7052,7 @@ msgstr "Không đọc được bảng mục lục"
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:968 builtin/tag.c:280
+#: builtin/commit.c:968 builtin/tag.c:273
 #, c-format
 msgid "Please supply the message using either -m or -F option.\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"
@@ -6932,7 +7126,7 @@ 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; coi "
 "là --only những đường dẫn"
 
-#: builtin/commit.c:1224 builtin/tag.c:495
+#: builtin/commit.c:1224 builtin/tag.c:551
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
@@ -6954,7 +7148,7 @@ msgid "version"
 msgstr "phiên bản"
 
 #: builtin/commit.c:1343 builtin/commit.c:1616 builtin/push.c:525
-#: builtin/worktree.c:442
+#: builtin/worktree.c:443
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
@@ -6967,7 +7161,7 @@ msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
 #: builtin/commit.c:1351 builtin/commit.c:1624 builtin/fast-export.c:981
-#: builtin/fast-export.c:984 builtin/tag.c:368
+#: builtin/fast-export.c:984 builtin/tag.c:411
 msgid "mode"
 msgstr "chế độ"
 
@@ -7026,7 +7220,7 @@ msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1586 builtin/tag.c:366
+#: builtin/commit.c:1586 builtin/tag.c:409
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
@@ -7038,7 +7232,7 @@ msgstr "tác giả"
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1588 builtin/gc.c:333
+#: builtin/commit.c:1588 builtin/gc.c:353
 msgid "date"
 msgstr "ngày tháng"
 
@@ -7046,8 +7240,8 @@ msgstr "ngày tháng"
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1589 builtin/merge.c:222 builtin/notes.c:398
-#: builtin/notes.c:561 builtin/tag.c:364
+#: builtin/commit.c:1589 builtin/merge.c:221 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/tag.c:407
 msgid "message"
 msgstr "chú thích"
 
@@ -7056,7 +7250,7 @@ msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
 #: builtin/commit.c:1590 builtin/commit.c:1591 builtin/commit.c:1592
-#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:81
+#: builtin/commit.c:1593 parse-options.h:257 ref-filter.h:77
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
@@ -7084,7 +7278,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "lần chuyển giao nhận tôi là tác giả (được dùng với tùy chọn -C/-c/--amend)"
 
-#: builtin/commit.c:1595 builtin/log.c:1413 builtin/revert.c:86
+#: builtin/commit.c:1595 builtin/log.c:1420 builtin/revert.c:104
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
@@ -7100,7 +7294,7 @@ msgstr "ép buộc sửa lần commit"
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1598 builtin/tag.c:369
+#: builtin/commit.c:1598 builtin/tag.c:412
 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"
 
@@ -7108,8 +7302,8 @@ msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩ
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1601 builtin/merge.c:234 builtin/pull.c:166
-#: builtin/revert.c:93
+#: builtin/commit.c:1601 builtin/merge.c:233 builtin/pull.c:166
+#: builtin/revert.c:112
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
 
@@ -7355,12 +7549,12 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:613
+#: builtin/config.c:611
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "không thể tạo tập tin cấu hình “%s”"
 
-#: builtin/config.c:625
+#: builtin/config.c:623
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -7377,55 +7571,67 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
 
-#: builtin/describe.c:17
+#: builtin/describe.c:18
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<các-tùy-chọn>] <commit-ish>*"
 
-#: builtin/describe.c:18
+#: builtin/describe.c:19
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<các-tùy-chọn>] --dirty"
 
-#: builtin/describe.c:217
+#: builtin/describe.c:53
+msgid "head"
+msgstr "phía trước "
+
+#: builtin/describe.c:53
+msgid "lightweight"
+msgstr "hạng nhẹ"
+
+#: builtin/describe.c:53
+msgid "annotated"
+msgstr "có diễn giải"
+
+#: builtin/describe.c:250
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "thẻ đã được ghi chú %s không sẵn để dùng"
 
-#: builtin/describe.c:221
+#: builtin/describe.c:254
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "thẻ được chú giải %s không có tên nhúng"
 
-#: builtin/describe.c:223
+#: builtin/describe.c:256
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
-#: builtin/describe.c:250 builtin/log.c:480
+#: builtin/describe.c:283 builtin/log.c:487
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Không phải tên đối tượng %s hợp lệ"
 
-#: builtin/describe.c:253
+#: builtin/describe.c:286
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s không phải là một đối tượng “%s” hợp lệ"
 
-#: builtin/describe.c:270
+#: builtin/describe.c:303
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "không có thẻ nào khớp chính xác với “%s”"
 
-#: builtin/describe.c:272
+#: builtin/describe.c:305
 #, c-format
 msgid "searching to describe %s\n"
 msgstr "Đang tìm kiếm để mô tả %s\n"
 
-#: builtin/describe.c:319
+#: builtin/describe.c:352
 #, c-format
 msgid "finished search at %s\n"
 msgstr "việc tìm kiếm đã kết thúc tại %s\n"
 
-#: builtin/describe.c:346
+#: builtin/describe.c:379
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -7434,7 +7640,7 @@ msgstr ""
 "Không có thẻ được chú giải nào được mô tả là “%s”.\n"
 "Tuy nhiên, ở đây có những thẻ không được chú giải: hãy thử --tags."
 
-#: builtin/describe.c:350
+#: builtin/describe.c:383
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -7443,12 +7649,12 @@ msgstr ""
 "Không có thẻ có thể mô tả “%s”.\n"
 "Hãy thử --always, hoặc tạo một số thẻ."
 
-#: builtin/describe.c:371
+#: builtin/describe.c:413
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "đã xuyên %lu qua lần chuyển giao\n"
 
-#: builtin/describe.c:374
+#: builtin/describe.c:416
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -7457,66 +7663,78 @@ msgstr ""
 "tìm thấy nhiều hơn %i thẻ; đã liệt kê %i cái gần\n"
 "đây nhất bỏ đi tìm kiếm tại %s\n"
 
-#: builtin/describe.c:396
+#: builtin/describe.c:438
 msgid "find the tag that comes after the commit"
 msgstr "tìm các thẻ mà nó đến trước lần chuyển giao"
 
-#: builtin/describe.c:397
+#: builtin/describe.c:439
 msgid "debug search strategy on stderr"
 msgstr "chiến lược tìm kiếm gỡ lỗi trên đầu ra lỗi chuẩn stderr"
 
-#: builtin/describe.c:398
+#: builtin/describe.c:440
 msgid "use any ref"
 msgstr "dùng ref bất kỳ"
 
-#: builtin/describe.c:399
+#: builtin/describe.c:441
 msgid "use any tag, even unannotated"
 msgstr "dùng thẻ bất kỳ, cả khi “unannotated”"
 
-#: builtin/describe.c:400
+#: builtin/describe.c:442
 msgid "always use long format"
 msgstr "luôn dùng định dạng dài"
 
-#: builtin/describe.c:401
+#: builtin/describe.c:443
 msgid "only follow first parent"
 msgstr "chỉ theo cha mẹ đầu tiên"
 
-#: builtin/describe.c:404
+#: builtin/describe.c:446
 msgid "only output exact matches"
 msgstr "chỉ xuất những gì khớp chính xác"
 
-#: builtin/describe.c:406
+#: builtin/describe.c:448
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "coi như <n> thẻ gần đây nhất (mặc định: 10)"
 
-#: builtin/describe.c:408
+#: builtin/describe.c:450
 msgid "only consider tags matching <pattern>"
 msgstr "chỉ cân nhắc đến những thẻ khớp với <mẫu>"
 
-#: builtin/describe.c:410 builtin/name-rev.c:320
+#: builtin/describe.c:452
+msgid "do not consider tags matching <pattern>"
+msgstr "không coi rằng các thẻ khớp với <mẫu>"
+
+#: builtin/describe.c:454 builtin/name-rev.c:357
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
-#: builtin/describe.c:411
+#: builtin/describe.c:455 builtin/describe.c:458
 msgid "mark"
 msgstr "dấu"
 
-#: builtin/describe.c:412
+#: builtin/describe.c:456
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "thêm <dấu> trên cây thư mục làm việc bẩn (mặc định \"-dirty\")"
 
-#: builtin/describe.c:430
+#: builtin/describe.c:459
+msgid "append <mark> on broken working tree (default: \"-broken\")"
+msgstr "thêm <dấu> trên cây thư mục làm việc bị hỏng (mặc định \"-broken\")"
+
+#: builtin/describe.c:477
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
 
-#: builtin/describe.c:456
+#: builtin/describe.c:506
 msgid "No names found, cannot describe anything."
 msgstr "Không tìm thấy các tên, không thể mô tả gì cả."
 
-#: builtin/describe.c:476
+#: builtin/describe.c:549
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
+#: builtin/describe.c:551
+msgid "--broken is incompatible with commit-ishes"
+msgstr "--broken là xung khắc với commit-ishes"
+
 #: builtin/diff.c:83
 #, c-format
 msgid "'%s': not a regular file or symlink"
@@ -7557,7 +7775,22 @@ msgstr ""
 msgid "failed: %d"
 msgstr "gặp lỗi: %d"
 
-#: builtin/difftool.c:342
+#: builtin/difftool.c:283
+#, c-format
+msgid "could not read symlink %s"
+msgstr "không thể đọc liên kết mềm %s"
+
+#: builtin/difftool.c:285
+#, c-format
+msgid "could not read symlink file %s"
+msgstr "không đọc được tập tin liên kết mềm %s"
+
+#: builtin/difftool.c:293
+#, c-format
+msgid "could not read object %s for symlink %s"
+msgstr "Không thể đọc đối tượng %s cho liên kết mềm %s"
+
+#: builtin/difftool.c:395
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -7565,53 +7798,53 @@ msgstr ""
 "các định dạng diff tổ hợp(“-c” và “--cc”) chưa được hỗ trợ trong\n"
 "chế độ diff thư mục(“-d” và “--dir-diff”)."
 
-#: builtin/difftool.c:567
+#: builtin/difftool.c:609
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "cả hai tập tin đã bị sửa: “%s” và “%s”."
 
-#: builtin/difftool.c:569
+#: builtin/difftool.c:611
 msgid "working tree file has been left."
 msgstr "cây làm việc ở bên trái."
 
-#: builtin/difftool.c:580
+#: builtin/difftool.c:622
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "các tập tin tạm đã sẵn có trong “%s”."
 
-#: builtin/difftool.c:581
+#: builtin/difftool.c:623
 msgid "you may want to cleanup or recover these."
 msgstr "bạn có lẽ muốn dọn dẹp hay "
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:669
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "dùng “diff.guitool“ thay vì dùng “diff.tool“"
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:671
 msgid "perform a full-directory diff"
 msgstr "thực hiện một diff toàn thư mục"
 
-#: builtin/difftool.c:630
+#: builtin/difftool.c:673
 msgid "do not prompt before launching a diff tool"
 msgstr "đừng nhắc khi khởi chạy công cụ diff"
 
-#: builtin/difftool.c:636
+#: builtin/difftool.c:679
 msgid "use symlinks in dir-diff mode"
 msgstr "dùng liên kết mềm trong diff-thư-mục"
 
-#: builtin/difftool.c:637
+#: builtin/difftool.c:680
 msgid "<tool>"
 msgstr "<công_cụ>"
 
-#: builtin/difftool.c:638
+#: builtin/difftool.c:681
 msgid "use the specified diff tool"
 msgstr "dùng công cụ diff đã cho"
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:683
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "in ra danh sách các công cụ dif cái mà có thẻ dùng với “--tool“"
 
-#: builtin/difftool.c:643
+#: builtin/difftool.c:686
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -7619,19 +7852,19 @@ msgstr ""
 "làm cho “git-difftool” thoát khi gọi công cụ diff trả về mã không phải số "
 "không"
 
-#: builtin/difftool.c:645
+#: builtin/difftool.c:688
 msgid "<command>"
 msgstr "<lệnh>"
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:689
 msgid "specify a custom command for viewing diffs"
 msgstr "chỉ định một lệnh tùy ý để xem diff"
 
-#: builtin/difftool.c:670
+#: builtin/difftool.c:713
 msgid "no <tool> given for --tool=<tool>"
 msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 
-#: builtin/difftool.c:677
+#: builtin/difftool.c:720
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
@@ -7769,7 +8002,7 @@ msgstr "làm sâu hơn lịch sử của kho bản sao shallow dựa trên thờ
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:131 builtin/log.c:1433
+#: builtin/fetch.c:131 builtin/log.c:1440
 msgid "dir"
 msgstr "tmục"
 
@@ -7797,73 +8030,73 @@ msgstr "chỉ ra refmap cần lấy về"
 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:511
+#: builtin/fetch.c:513
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "phần cấu hình fetch.output có chứa giá-trị không hợp lệ %s"
 
-#: builtin/fetch.c:604
+#: builtin/fetch.c:606
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:610
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:621 builtin/fetch.c:701
+#: builtin/fetch.c:623 builtin/fetch.c:703
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:622
+#: builtin/fetch.c:624
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:631
+#: builtin/fetch.c:633
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:632 builtin/fetch.c:665 builtin/fetch.c:681
-#: builtin/fetch.c:696
+#: builtin/fetch.c:634 builtin/fetch.c:667 builtin/fetch.c:683
+#: builtin/fetch.c:698
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:651
+#: builtin/fetch.c:653
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:654
+#: builtin/fetch.c:656
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:659
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:696
+#: builtin/fetch.c:698
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:701
+#: builtin/fetch.c:703
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:748
 #, 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:766
+#: builtin/fetch.c:768
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:853 builtin/fetch.c:949
+#: builtin/fetch.c:855 builtin/fetch.c:951
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:864
+#: builtin/fetch.c:866
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -7872,57 +8105,57 @@ msgstr ""
 "một số tham chiếu nội bộ không thể được cập nhật; hãy thử chạy\n"
 " “git remote prune %s” để bỏ đi những nhánh cũ, hay bị xung đột"
 
-#: builtin/fetch.c:919
+#: builtin/fetch.c:921
 #, 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:920
+#: builtin/fetch.c:922
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:952
+#: builtin/fetch.c:954
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:953 builtin/remote.c:1020
+#: builtin/fetch.c:955 builtin/remote.c:1022
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:976
+#: builtin/fetch.c:978
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:995
+#: builtin/fetch.c:997
 #, 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:998
+#: builtin/fetch.c:1000
 #, 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:1074
+#: builtin/fetch.c:1076
 #, 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:1234
+#: builtin/fetch.c:1236
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1236 builtin/remote.c:96
+#: builtin/fetch.c:1238 builtin/remote.c:96
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể “%s” về"
 
-#: builtin/fetch.c:1254
+#: builtin/fetch.c:1256
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -7930,40 +8163,40 @@ 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:1277
+#: builtin/fetch.c:1279
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1319
+#: builtin/fetch.c:1321
 msgid "Negative depth in --deepen is not supported"
 msgstr "Mức sâu là số âm trong --deepen là không được hỗ trợ"
 
-#: builtin/fetch.c:1321
+#: builtin/fetch.c:1323
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "Các tùy chọn--deepen và --depth loại từ lẫn nhau"
 
-#: builtin/fetch.c:1326
+#: builtin/fetch.c:1328
 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:1328
+#: builtin/fetch.c:1330
 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:1350
+#: builtin/fetch.c:1352
 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:1352
+#: builtin/fetch.c:1354
 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:1363
+#: builtin/fetch.c:1365
 #, 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:1371
+#: builtin/fetch.c:1373
 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ý"
 
@@ -8003,12 +8236,14 @@ msgid "git for-each-ref [--points-at <object>]"
 msgstr "git for-each-ref [--points-at <đối tượng>]"
 
 #: builtin/for-each-ref.c:11
-msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
-msgstr "git branch ([--merged | --no-merged) [<đối_tượng>]"
+msgid "git for-each-ref [(--merged | --no-merged) [<commit>]]"
+msgstr "git for-each-ref [(--merged | --no-merged) [<lần-chuyển-giao>]]"
 
 #: builtin/for-each-ref.c:12
-msgid "git for-each-ref [--contains [<object>]]"
-msgstr "git for-each-ref [--contains [<đối_tượng>]]"
+msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
+msgstr ""
+"git for-each-ref [--contains [<lần-chuyển-giao>]] [--no-contains [<lần-"
+"chuyển-giao>]]"
 
 #: builtin/for-each-ref.c:27
 msgid "quote placeholders suitably for shells"
@@ -8030,10 +8265,6 @@ msgstr "trích dẫn để phù hợp cho Tcl"
 msgid "show only <n> matched refs"
 msgstr "hiển thị chỉ <n> tham chiếu khớp"
 
-#: builtin/for-each-ref.c:37 builtin/tag.c:387 builtin/verify-tag.c:38
-msgid "format to use for the output"
-msgstr "định dạng sẽ dùng cho đầu ra"
-
 #: builtin/for-each-ref.c:41
 msgid "print only refs which points at the given object"
 msgstr "chỉ hiển thị các tham chiếu mà nó chỉ đến đối tượng đã cho"
@@ -8050,6 +8281,10 @@ msgstr "chỉ hiển thị những tham chiếu mà nó không được hòa tr
 msgid "print only refs which contain the commit"
 msgstr "chỉ hiển thị những tham chiếu mà nó chứa lần chuyển giao"
 
+#: builtin/for-each-ref.c:46
+msgid "print only refs which don't contain the commit"
+msgstr "chỉ hiển thị những tham chiếu mà nó không chứa lần chuyển giao"
+
 #: builtin/fsck.c:554
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
@@ -8114,17 +8349,17 @@ msgstr "Đang kiểm tra các đối tượng"
 msgid "git gc [<options>]"
 msgstr "git gc [<các-tùy-chọn>]"
 
-#: builtin/gc.c:72
+#: builtin/gc.c:78
 #, c-format
-msgid "Invalid %s: '%s'"
-msgstr "%s không hợp lệ: “%s”"
+msgid "Failed to fstat %s: %s"
+msgstr "Gặp lỗi khi lấy thông tin thống kê về tập tin %s: %s"
 
-#: builtin/gc.c:139
+#: builtin/gc.c:306
 #, 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"
+msgid "Can't stat %s"
+msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:297
+#: builtin/gc.c:315
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -8139,40 +8374,45 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:334
+#: builtin/gc.c:354
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:336
+#: builtin/gc.c:356
 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:337
+#: builtin/gc.c:357
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:338
+#: builtin/gc.c:358
 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:380
+#: builtin/gc.c:375
+#, c-format
+msgid "Failed to parse gc.logexpiry value %s"
+msgstr "Gặp lỗi khi phân tích giá trị gc.logexpiry %s"
+
+#: builtin/gc.c:403
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Tự động đóng gói kho chứa trên nền hệ thống để tối ưu hóa hiệu suất làm "
 "việc.\n"
 
-#: builtin/gc.c:382
+#: builtin/gc.c:405
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
 
-#: builtin/gc.c:383
+#: builtin/gc.c:406
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Xem \"git help gc\" để có hướng dẫn cụ thể về cách dọn dẹp kho git.\n"
 
-#: builtin/gc.c:404
+#: builtin/gc.c:427
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -8180,7 +8420,7 @@ 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:448
+#: builtin/gc.c:471
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -8201,238 +8441,241 @@ msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 
-#: builtin/grep.c:763 builtin/grep.c:804
+#: builtin/grep.c:769 builtin/grep.c:810
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:823
+#: builtin/grep.c:829
 #, 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:887
+#: builtin/grep.c:893
 #, 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:973
+#: builtin/grep.c:980
 msgid "search in index instead of in the work tree"
 msgstr "tìm trong bảng mục lục thay vì trong cây làm việc"
 
-#: builtin/grep.c:975
+#: builtin/grep.c:982
 msgid "find in contents not managed by git"
 msgstr "tìm trong nội dung không được quản lý bởi git"
 
-#: builtin/grep.c:977
+#: builtin/grep.c:984
 msgid "search in both tracked and untracked files"
 msgstr "tìm kiếm các tập tin được và chưa được theo dõi dấu vết"
 
-#: builtin/grep.c:979
+#: builtin/grep.c:986
 msgid "ignore files specified via '.gitignore'"
 msgstr "các tập tin bị bỏ qua được chỉ định thông qua “.gitignore”"
 
-#: builtin/grep.c:981
-msgid "recursivley search in each submodule"
+#: builtin/grep.c:988
+msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:983
+#: builtin/grep.c:990
 msgid "basename"
 msgstr "tên cơ sở"
 
-#: builtin/grep.c:984
+#: builtin/grep.c:991
 msgid "prepend parent project's basename to output"
 msgstr "treo vào trước tên cơ sở cha mẹ của đường dẫn vào kết xuất"
 
-#: builtin/grep.c:987
+#: builtin/grep.c:994
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:989
+#: builtin/grep.c:996
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:991
+#: builtin/grep.c:998
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:993
+#: builtin/grep.c:1000
 msgid "process binary files as text"
 msgstr "xử lý tập tin nhị phân như là dạng văn bản thường"
 
-#: builtin/grep.c:995
+#: builtin/grep.c:1002
 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:998
+#: builtin/grep.c:1005
 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:1000
+#: builtin/grep.c:1007
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:1004
+#: builtin/grep.c:1011
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:1007
+#: builtin/grep.c:1014
 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:1010
+#: builtin/grep.c:1017
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:1013
+#: builtin/grep.c:1020
 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:1016
+#: builtin/grep.c:1023
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:1017
+#: builtin/grep.c:1024
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:1018
+#: builtin/grep.c:1025
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:1020
+#: builtin/grep.c:1027
 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:1022
+#: builtin/grep.c:1029
 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:1024
+#: builtin/grep.c:1031
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:1027
+#: builtin/grep.c:1034
 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:1029
+#: builtin/grep.c:1036
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:1031
+#: builtin/grep.c:1038
 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:1032
+#: builtin/grep.c:1039
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:1041
 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:1036
+#: builtin/grep.c:1043
 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:1039
+#: builtin/grep.c:1046
 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:1042
+#: builtin/grep.c:1049
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:1044
+#: builtin/grep.c:1051
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:1046
+#: builtin/grep.c:1053
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:1047
+#: builtin/grep.c:1054
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:1050
+#: builtin/grep.c:1057
 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:1052
+#: builtin/grep.c:1059
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:1055
+#: builtin/grep.c:1062
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:1057
+#: builtin/grep.c:1064
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:1059
+#: builtin/grep.c:1066
 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:1071
+#: builtin/grep.c:1078
 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:1073
+#: builtin/grep.c:1080
 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:1075
+#: builtin/grep.c:1082
 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:1079
+#: builtin/grep.c:1086
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:1079
+#: builtin/grep.c:1086
 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:1082
+#: builtin/grep.c:1089
 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:1146
+#: builtin/grep.c:1153
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:1178 builtin/index-pack.c:1482
+#: builtin/grep.c:1189
+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 revs"
+
+#: builtin/grep.c:1195
+#, c-format
+msgid "unable to resolve revision: %s"
+msgstr "không thể phân giải điểm xét duyệt: %s"
+
+#: builtin/grep.c:1228 builtin/index-pack.c:1485
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1215
+#: builtin/grep.c:1251
 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:1238
+#: builtin/grep.c:1274
 msgid "option not supported with --recurse-submodules."
 msgstr "tùy chọn không được hỗ trợ với --recurse-submodules."
 
-#: builtin/grep.c:1244
+#: builtin/grep.c:1280
 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:1249
-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:1252
+#: builtin/grep.c:1286
 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:1260
+#: builtin/grep.c:1294
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
@@ -8656,235 +8899,240 @@ msgstr "gói đã vượt quá cỡ tối đa được phép"
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: builtin/index-pack.c:322
+#: builtin/index-pack.c:323
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:336
+#: builtin/index-pack.c:337
 msgid "pack signature mismatch"
 msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:338
+#: builtin/index-pack.c:339
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:356
+#: builtin/index-pack.c:357
 #, c-format
 msgid "pack has bad object at offset %<PRIuMAX>: %s"
 msgstr "gói có đối tượng sai tại khoảng bù %<PRIuMAX>: %s"
 
-#: builtin/index-pack.c:478
+#: builtin/index-pack.c:479
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:527
+#: builtin/index-pack.c:528
 msgid "offset value overflow for delta base object"
 msgstr "tràn giá trị khoảng bù cho đối tượng delta cơ sở"
 
-#: builtin/index-pack.c:535
+#: builtin/index-pack.c:536
 msgid "delta base offset is out of bound"
 msgstr "khoảng bù cơ sở cho delta nằm ngoài phạm vi"
 
-#: builtin/index-pack.c:543
+#: builtin/index-pack.c:544
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:574
+#: builtin/index-pack.c:575
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:576
+#: builtin/index-pack.c:577
 #, c-format
 msgid "premature end of pack file, %<PRIuMAX> byte missing"
 msgid_plural "premature end of pack file, %<PRIuMAX> bytes missing"
 msgstr[0] "tập tin gói bị kết thúc sớm, thiếu %<PRIuMAX> byte"
 
-#: builtin/index-pack.c:602
+#: builtin/index-pack.c:603
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:748 builtin/index-pack.c:754 builtin/index-pack.c:777
-#: builtin/index-pack.c:813 builtin/index-pack.c:822
+#: builtin/index-pack.c:749 builtin/index-pack.c:755 builtin/index-pack.c:778
+#: builtin/index-pack.c:816 builtin/index-pack.c:825
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:751 builtin/pack-objects.c:164
-#: builtin/pack-objects.c:256
+#: builtin/index-pack.c:752 builtin/pack-objects.c:164
+#: builtin/pack-objects.c:257
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:819
+#: builtin/index-pack.c:814
+#, c-format
+msgid "cannot read existing object info %s"
+msgstr "không thể đọc thông tin đối tượng sẵn có %s"
+
+#: builtin/index-pack.c:822
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "không thể đọc đối tượng đã tồn tại %s"
 
-#: builtin/index-pack.c:833
+#: builtin/index-pack.c:836
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:850
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:850
+#: builtin/index-pack.c:853
 msgid "Error in object"
 msgstr "Lỗi trong đối tượng"
 
-#: builtin/index-pack.c:852
+#: builtin/index-pack.c:855
 #, c-format
 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:924 builtin/index-pack.c:955
+#: builtin/index-pack.c:927 builtin/index-pack.c:958
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1125
+#: builtin/index-pack.c:1128
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1162
+#: builtin/index-pack.c:1165
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1165
+#: builtin/index-pack.c:1168
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1176
+#: builtin/index-pack.c:1179
 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:1199
+#: builtin/index-pack.c:1202
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1210
+#: builtin/index-pack.c:1213
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1252
+#: builtin/index-pack.c:1255
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1258
+#: builtin/index-pack.c:1261
 #, c-format
 msgid "completed with %d local object"
 msgid_plural "completed with %d local objects"
 msgstr[0] "đầy đủ với %d đối tượng nội bộ"
 
-#: builtin/index-pack.c:1270
+#: builtin/index-pack.c:1273
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Gặp tổng kiểm tra tail không cần cho %s (đĩa hỏng?)"
 
-#: builtin/index-pack.c:1274
+#: builtin/index-pack.c:1277
 #, c-format
 msgid "pack has %d unresolved delta"
 msgid_plural "pack has %d unresolved deltas"
 msgstr[0] "gói có %d delta chưa được giải quyết"
 
-#: builtin/index-pack.c:1298
+#: builtin/index-pack.c:1301
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "không thể xả nén đối tượng nối thêm (%d)"
 
-#: builtin/index-pack.c:1374
+#: builtin/index-pack.c:1377
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1398
+#: builtin/index-pack.c:1403
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1411
+#: builtin/index-pack.c:1415
 #, c-format
 msgid "cannot write keep file '%s'"
 msgstr "không thể ghi tập tin giữ lại “%s”"
 
-#: builtin/index-pack.c:1419
+#: builtin/index-pack.c:1423
 #, 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:1432
+#: builtin/index-pack.c:1433
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1443
+#: builtin/index-pack.c:1441
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1476
+#: builtin/index-pack.c:1479
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1486 builtin/index-pack.c:1683
+#: builtin/index-pack.c:1489 builtin/index-pack.c:1686
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/index-pack.c:1544
+#: builtin/index-pack.c:1547
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Không thể mở tập tin gói đã sẵn có “%s”"
 
-#: builtin/index-pack.c:1546
+#: builtin/index-pack.c:1549
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Không thể mở tập tin idx của gói cho “%s”"
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1596
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "không delta: %d đối tượng"
 
-#: builtin/index-pack.c:1600
+#: builtin/index-pack.c:1603
 #, c-format
 msgid "chain length = %d: %lu object"
 msgid_plural "chain length = %d: %lu objects"
 msgstr[0] "chiều dài xích = %d: %lu đối tượng"
 
-#: builtin/index-pack.c:1613
+#: builtin/index-pack.c:1616
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1695 builtin/index-pack.c:1698
-#: builtin/index-pack.c:1714 builtin/index-pack.c:1718
+#: builtin/index-pack.c:1698 builtin/index-pack.c:1701
+#: builtin/index-pack.c:1717 builtin/index-pack.c:1721
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1734
+#: builtin/index-pack.c:1737
 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:1736
+#: builtin/index-pack.c:1739
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1744
+#: builtin/index-pack.c:1747
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
@@ -9044,104 +9292,104 @@ msgstr "git log [<các-tùy-chọn>] [<vùng-xem-xét>] [[--] <đường-dẫn>
 msgid "git show [<options>] <object>..."
 msgstr "git show [<các-tùy-chọn>] <đối-tượng>…"
 
-#: builtin/log.c:84
+#: builtin/log.c:89
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn--decorate không hợp lệ: %s"
 
-#: builtin/log.c:139
+#: builtin/log.c:144
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: builtin/log.c:140
+#: builtin/log.c:145
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:141
+#: builtin/log.c:146
 msgid "Use mail map file"
 msgstr "Sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:142
+#: builtin/log.c:147
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:145
+#: builtin/log.c:150
 msgid "Process line range n,m in file, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m trong tập tin, tính từ 1"
 
-#: builtin/log.c:241
+#: builtin/log.c:246
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:486
+#: builtin/log.c:493
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:500 builtin/log.c:594
+#: builtin/log.c:507 builtin/log.c:601
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:618
+#: builtin/log.c:625
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:739
+#: builtin/log.c:746
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:839
+#: builtin/log.c:846
 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:854
+#: builtin/log.c:861
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:868
+#: builtin/log.c:875
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:878
+#: builtin/log.c:885
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:984
+#: builtin/log.c:991
 msgid "Cover letter needs email format"
 msgstr "“Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1063
+#: builtin/log.c:1071
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1091
+#: builtin/log.c:1098
 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:1141
+#: builtin/log.c:1148
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1248 builtin/log.c:1891 builtin/log.c:1893 builtin/log.c:1905
+#: builtin/log.c:1255 builtin/log.c:1898 builtin/log.c:1900 builtin/log.c:1912
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1258 builtin/notes.c:884 builtin/tag.c:476
+#: builtin/log.c:1265 builtin/notes.c:883 builtin/tag.c:532
 #, c-format
 msgid "Failed to resolve '%s' as a valid ref."
 msgstr "Gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
 
-#: builtin/log.c:1263
+#: builtin/log.c:1270
 msgid "Could not find exact merge base."
 msgstr "Không tìm thấy nền hòa trộn chính xác."
 
-#: builtin/log.c:1267
+#: builtin/log.c:1274
 msgid ""
 "Failed to get upstream, if you want to record base commit automatically,\n"
 "please use git branch --set-upstream-to to track a remote branch.\n"
@@ -9152,214 +9400,214 @@ msgstr ""
 "nhánh máy chủ. Hoặc là bạn có thể chỉ định lần chuyển giao nền bằng\n"
 "\"--base=<base-commit-id>\" một cách thủ công."
 
-#: builtin/log.c:1287
+#: builtin/log.c:1294
 msgid "Failed to find exact merge base"
 msgstr "Gặp lỗi khi tìm nền hòa trộn chính xác."
 
-#: builtin/log.c:1298
+#: builtin/log.c:1305
 msgid "base commit should be the ancestor of revision list"
 msgstr "lần chuyển giao nền không là tổ tiên của danh sách điểm xét duyệt"
 
-#: builtin/log.c:1302
+#: builtin/log.c:1309
 msgid "base commit shouldn't be in revision list"
 msgstr "lần chuyển giao nền không được trong danh sách điểm xét duyệt"
 
-#: builtin/log.c:1351
+#: builtin/log.c:1358
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1408
+#: builtin/log.c:1415
 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:1411
+#: builtin/log.c:1418
 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:1415
+#: builtin/log.c:1422
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1417
+#: builtin/log.c:1424
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1419
+#: builtin/log.c:1426
 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:1420
+#: builtin/log.c:1427
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1421
+#: builtin/log.c:1428
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1423
+#: builtin/log.c:1430
 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:1425
+#: builtin/log.c:1432
 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:1427
+#: builtin/log.c:1434
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "Dùng [RFC VÁ] thay cho [VÁ]"
 
-#: builtin/log.c:1430
+#: builtin/log.c:1437
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1433
+#: builtin/log.c:1440
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1436
+#: builtin/log.c:1443
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1439
+#: builtin/log.c:1446
 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:1441
+#: builtin/log.c:1448
 msgid "output all-zero hash in From header"
 msgstr "xuất mọi mã băm all-zero trong phần đầu From"
 
-#: builtin/log.c:1443
+#: builtin/log.c:1450
 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:1445
+#: builtin/log.c:1452
 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:1447
+#: builtin/log.c:1454
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1448
+#: builtin/log.c:1455
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1449
+#: builtin/log.c:1456
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1450 builtin/log.c:1452
+#: builtin/log.c:1457 builtin/log.c:1459
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1457
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1452
+#: builtin/log.c:1459
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1454
+#: builtin/log.c:1461
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1455
+#: builtin/log.c:1462
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "đặt “Địa chỉ gửi” thành <thụ lề> (hoặc thụt lề người commit nếu bỏ quên)"
 
-#: builtin/log.c:1457
+#: builtin/log.c:1464
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1458
+#: builtin/log.c:1465
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1459 builtin/log.c:1462
+#: builtin/log.c:1466 builtin/log.c:1469
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1460
+#: builtin/log.c:1467
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1470
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1467
+#: builtin/log.c:1474
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1476
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1470
+#: builtin/log.c:1477
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1471
+#: builtin/log.c:1478
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1479
 msgid "add prerequisite tree info to the patch series"
 msgstr "add trước hết đòi hỏi thông tin cây tới sê-ri miếng vá"
 
-#: builtin/log.c:1474
+#: builtin/log.c:1481
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1475
+#: builtin/log.c:1482
 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:1565
+#: builtin/log.c:1572
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1567
+#: builtin/log.c:1574
 msgid "--subject-prefix/--rfc and -k are mutually exclusive."
 msgstr "--subject-prefix/--rfc và -k xung khắc nhau."
 
-#: builtin/log.c:1575
+#: builtin/log.c:1582
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1584
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1579
+#: builtin/log.c:1586
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1616
 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:1611
+#: builtin/log.c:1618
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1705
+#: builtin/log.c:1712
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1777
+#: builtin/log.c:1784
 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:1826
+#: builtin/log.c:1833
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:1880
+#: builtin/log.c:1887
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -9367,106 +9615,106 @@ msgstr ""
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:461
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các-tùy-chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:509
+#: builtin/ls-files.c:510
 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:511
+#: builtin/ls-files.c:512
 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:513
+#: builtin/ls-files.c:514
 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:515
+#: builtin/ls-files.c:516
 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:517
+#: builtin/ls-files.c:518
 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:519
+#: builtin/ls-files.c:520
 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:521
+#: builtin/ls-files.c:522
 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:524
+#: builtin/ls-files.c:525
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được đặt lên bệ phóng ra kết xuất"
 
-#: builtin/ls-files.c:526
+#: builtin/ls-files.c:527
 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:528
+#: builtin/ls-files.c:529
 msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:530
+#: builtin/ls-files.c:531
 msgid "show line endings of files"
 msgstr "hiển thị kết thúc dòng của các tập tin"
 
-#: builtin/ls-files.c:532
+#: builtin/ls-files.c:533
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:535
+#: builtin/ls-files.c:536
 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:537
+#: builtin/ls-files.c:538
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:539
+#: builtin/ls-files.c:540
 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:542
+#: builtin/ls-files.c:543
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 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:547
+#: builtin/ls-files.c:548
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:550
+#: builtin/ls-files.c:551
 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:553
+#: builtin/ls-files.c:554
 msgid "recurse through submodules"
 msgstr "đệ quy xuyên qua mô-đun con"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:556
 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:556
+#: builtin/ls-files.c:557
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:558
 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:559
+#: builtin/ls-files.c:560
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
@@ -9480,39 +9728,39 @@ msgstr ""
 "                     [-q | --quiet] [--exit-code] [--get-url]\n"
 "                     [--symref] [<kho> [<các tham chiếu>…]]"
 
-#: builtin/ls-remote.c:50
+#: builtin/ls-remote.c:52
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+#: builtin/ls-remote.c:53 builtin/ls-remote.c:55
 msgid "exec"
 msgstr "thực thi"
 
-#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+#: builtin/ls-remote.c:54 builtin/ls-remote.c:56
 msgid "path of git-upload-pack on the remote host"
 msgstr "đường dẫn của git-upload-pack trên máy chủ"
 
-#: builtin/ls-remote.c:56
+#: builtin/ls-remote.c:58
 msgid "limit to tags"
 msgstr "giới hạn tới các thẻ"
 
-#: builtin/ls-remote.c:57
+#: builtin/ls-remote.c:59
 msgid "limit to heads"
 msgstr "giới hạn cho các đầu"
 
-#: builtin/ls-remote.c:58
+#: builtin/ls-remote.c:60
 msgid "do not show peeled tags"
 msgstr "không hiển thị thẻ bị peel (gọt bỏ)"
 
-#: builtin/ls-remote.c:60
+#: builtin/ls-remote.c:62
 msgid "take url.<base>.insteadOf into account"
 msgstr "lấy url.<base>.insteadOf vào trong tài khoản"
 
-#: builtin/ls-remote.c:62
+#: builtin/ls-remote.c:64
 msgid "exit with exit code 2 if no matching refs are found"
 msgstr "thoát với mã là 2 nếu không tìm thấy tham chiếu nào khớp"
 
-#: builtin/ls-remote.c:64
+#: builtin/ls-remote.c:66
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "hiển thị tham chiếu nằm dưới để thêm vào đối tượng được chỉ bởi nó"
 
@@ -9557,148 +9805,144 @@ msgid "git merge [<options>] [<commit>...]"
 msgstr "git merge [<các-tùy-chọn>] [<commit>…]"
 
 #: builtin/merge.c:47
-msgid "git merge [<options>] <msg> HEAD <commit>"
-msgstr "git merge [<các-tùy-chọn>] <tin-nhắn> HEAD <commit>"
-
-#: builtin/merge.c:48
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:49
+#: builtin/merge.c:48
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:104
+#: builtin/merge.c:103
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:140
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Không tìm thấy chiến lược hòa trộn “%s”.\n"
 
-#: builtin/merge.c:142
+#: builtin/merge.c:141
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:147
+#: builtin/merge.c:146
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
-#: builtin/merge.c:197 builtin/pull.c:127
+#: builtin/merge.c:196 builtin/pull.c:127
 msgid "do not show a diffstat at the end of the merge"
 msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
 
-#: builtin/merge.c:200 builtin/pull.c:130
+#: builtin/merge.c:199 builtin/pull.c:130
 msgid "show a diffstat at the end of the merge"
 msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
 
-#: builtin/merge.c:201 builtin/pull.c:133
+#: builtin/merge.c:200 builtin/pull.c:133
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:203 builtin/pull.c:136
+#: builtin/merge.c:202 builtin/pull.c:136
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
 
-#: builtin/merge.c:206 builtin/pull.c:139
+#: builtin/merge.c:205 builtin/pull.c:139
 msgid "create a single commit instead of doing a merge"
 msgstr "tạo một lần chuyển giao đưon thay vì thực hiện việc hòa trộn"
 
-#: builtin/merge.c:208 builtin/pull.c:142
+#: builtin/merge.c:207 builtin/pull.c:142
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
 
-#: builtin/merge.c:210 builtin/pull.c:145
+#: builtin/merge.c:209 builtin/pull.c:145
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:211
+#: builtin/merge.c:210
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:213 builtin/pull.c:151
+#: builtin/merge.c:212 builtin/pull.c:151
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu chuyển-tiếp-nhanh không thể được"
 
-#: builtin/merge.c:217 builtin/pull.c:154
+#: builtin/merge.c:216 builtin/pull.c:154
 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:218 builtin/notes.c:774 builtin/pull.c:158
-#: builtin/revert.c:89
+#: builtin/merge.c:217 builtin/notes.c:773 builtin/pull.c:158
+#: builtin/revert.c:108
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:219 builtin/pull.c:159
+#: builtin/merge.c:218 builtin/pull.c:159
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:220 builtin/pull.c:162
+#: builtin/merge.c:219 builtin/pull.c:162
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:221 builtin/pull.c:163
+#: builtin/merge.c:220 builtin/pull.c:163
 msgid "option for selected merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn đã chọn"
 
-#: builtin/merge.c:223
+#: builtin/merge.c:222
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "hòa trộn ghi chú của lần chuyển giao (dành cho hòa trộn không-chuyển-tiếp-"
 "nhanh)"
 
-#: builtin/merge.c:227
+#: builtin/merge.c:226
 msgid "abort the current in-progress merge"
 msgstr "bãi bỏ quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:229
+#: builtin/merge.c:228
 msgid "continue the current in-progress merge"
 msgstr "tiếp tục quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:231 builtin/pull.c:170
+#: builtin/merge.c:230 builtin/pull.c:170
 msgid "allow merging unrelated histories"
 msgstr "cho phép hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:258
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:264
+#: builtin/merge.c:263
 msgid "stash failed"
 msgstr "lệnh tạm cất gặp lỗi"
 
-#: builtin/merge.c:269
+#: builtin/merge.c:268
 #, c-format
 msgid "not a valid object: %s"
 msgstr "không phải là một đối tượng hợp lệ: %s"
 
-#: builtin/merge.c:288 builtin/merge.c:305
+#: builtin/merge.c:287 builtin/merge.c:304
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:335
+#: builtin/merge.c:334
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:346
+#: builtin/merge.c:345
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:396
+#: builtin/merge.c:395
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không có lời chú thích hòa trộn -- nên không cập nhật HEAD\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:446
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/merge.c:537
+#: builtin/merge.c:536
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
@@ -9763,65 +10007,60 @@ msgstr ""
 "Việc tự động hòa trộn gặp lỗi; hãy sửa các xung đột sau đó chuyển giao kết "
 "quả.\n"
 
-#: builtin/merge.c:867
-#, c-format
-msgid "'%s' is not a commit"
-msgstr "%s không phải là một lần commit (chuyển giao)"
-
-#: builtin/merge.c:908
+#: builtin/merge.c:890
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:910
+#: builtin/merge.c:892
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:912
+#: builtin/merge.c:894
 msgid "No default upstream defined for the current branch."
 msgstr "Không có thượng nguồn mặc định được định nghĩa cho nhánh hiện hành."
 
-#: builtin/merge.c:917
+#: builtin/merge.c:899
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Không nhánh mạng theo dõi cho %s từ %s"
 
-#: builtin/merge.c:964
+#: builtin/merge.c:946
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Giá trị sai “%s” trong biến môi trường “%s”"
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1020
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: builtin/merge.c:1065
+#: builtin/merge.c:1047
 #, c-format
 msgid "not something we can merge in %s: %s"
-msgstr "không phải là một số thứ chúng tôi có thể hòa trộn trong %s: %s"
+msgstr "không phải là một thứ gì đó mà chúng tôi có thể hòa trộn trong %s: %s"
 
-#: builtin/merge.c:1099
+#: builtin/merge.c:1081
 msgid "not something we can merge"
-msgstr "không phải là một số thứ chúng tôi có thể hòa trộn"
+msgstr "không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1167
+#: builtin/merge.c:1146
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1171
+#: builtin/merge.c:1150
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr ""
 "Ở đây không có lần hòa trộn nào được hủy bỏ giữa chừng cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1183
+#: builtin/merge.c:1162
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1187
+#: builtin/merge.c:1166
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Ở đây không có lần hòa trộn nào đang được xử lý cả (thiếu MERGE_HEAD)."
 
-#: builtin/merge.c:1203
+#: builtin/merge.c:1182
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9829,7 +10068,7 @@ msgstr ""
 "Bạn chưa kết thúc việc hòa trộn (MERGE_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1210
+#: builtin/merge.c:1189
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -9837,115 +10076,115 @@ msgstr ""
 "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại).\n"
 "Hãy chuyển giao các thay đổi trước khi bạn có thể hòa trộn."
 
-#: builtin/merge.c:1213
+#: builtin/merge.c:1192
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Bạn chưa kết thúc việc cherry-pick (CHERRY_PICK_HEAD vẫn tồn tại)."
 
-#: builtin/merge.c:1222
+#: builtin/merge.c:1201
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1230
+#: builtin/merge.c:1209
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Không chỉ ra lần chuyển giao và merge.defaultToUpstream chưa được đặt."
 
-#: builtin/merge.c:1247
+#: builtin/merge.c:1226
 msgid "Squash commit into empty head not supported yet"
 msgstr "Squash commit vào một head trống rỗng vẫn chưa được hỗ trợ"
 
-#: builtin/merge.c:1249
+#: builtin/merge.c:1228
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Chuyển giao không-chuyển-tiếp-nhanh không hợp lý ở trong một head trống rỗng"
 
-#: builtin/merge.c:1254
+#: builtin/merge.c:1233
 #, c-format
 msgid "%s - not something we can merge"
-msgstr "%s - không phải là một số thứ chúng tôi có thể hòa trộn"
+msgstr "%s - không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1256
+#: builtin/merge.c:1235
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Không thể hòa trộn một cách đúng đắn một lần chuyển giao vào một head rỗng"
 
-#: builtin/merge.c:1312
+#: builtin/merge.c:1269
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: builtin/merge.c:1315
+#: builtin/merge.c:1272
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: builtin/merge.c:1318
+#: builtin/merge.c:1275
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: builtin/merge.c:1321
+#: builtin/merge.c:1278
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: builtin/merge.c:1383
+#: builtin/merge.c:1340
 msgid "refusing to merge unrelated histories"
 msgstr "từ chối hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1349
 msgid "Already up-to-date."
 msgstr "Đã cập nhật rồi."
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1359
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1443
+#: builtin/merge.c:1400
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Đang thử hòa trộn kiểu “trivial in-index”…\n"
 
-#: builtin/merge.c:1450
+#: builtin/merge.c:1407
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1475
+#: builtin/merge.c:1432
 msgid "Already up-to-date. Yeeah!"
 msgstr "Đã cập nhật rồi. Yeeah!"
 
-#: builtin/merge.c:1481
+#: builtin/merge.c:1438
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh chuyển-tiếp-nhanh là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1504 builtin/merge.c:1583
+#: builtin/merge.c:1461 builtin/merge.c:1540
 #, c-format
 msgid "Rewinding the tree to pristine...\n"
 msgstr "Đang tua lại cây thành thời xa xưa…\n"
 
-#: builtin/merge.c:1508
+#: builtin/merge.c:1465
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1574
+#: builtin/merge.c:1531
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Không có chiến lược hòa trộn nào được nắm giữ (handle) sự hòa trộn.\n"
 
-#: builtin/merge.c:1576
+#: builtin/merge.c:1533
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Hòa trộn với chiến lược %s gặp lỗi.\n"
 
-#: builtin/merge.c:1585
+#: builtin/merge.c:1542
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Sử dụng %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1554
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -10000,35 +10239,35 @@ msgstr ""
 "git merge-file [<các-tùy-chọn>] [-L <tên1> [-L <gốc> [-L <tên2>]]] <tập-"
 "tin1> <tập-tin-gốc> <tập-tin2>"
 
-#: builtin/merge-file.c:33
+#: builtin/merge-file.c:32
 msgid "send results to standard output"
 msgstr "gửi kết quả vào đầu ra tiêu chuẩn"
 
-#: builtin/merge-file.c:34
+#: builtin/merge-file.c:33
 msgid "use a diff3 based merge"
 msgstr "dùng kiểu hòa dựa trên diff3"
 
-#: builtin/merge-file.c:35
+#: builtin/merge-file.c:34
 msgid "for conflicts, use our version"
 msgstr "để tránh xung đột, sử dụng phiên bản của chúng ta"
 
-#: builtin/merge-file.c:37
+#: builtin/merge-file.c:36
 msgid "for conflicts, use their version"
 msgstr "để tránh xung đột, sử dụng phiên bản của họ"
 
-#: builtin/merge-file.c:39
+#: builtin/merge-file.c:38
 msgid "for conflicts, use a union version"
 msgstr "để tránh xung đột, sử dụng phiên bản kết hợp"
 
-#: builtin/merge-file.c:42
+#: builtin/merge-file.c:41
 msgid "for conflicts, use this marker size"
 msgstr "để tránh xung đột, hãy sử dụng kích thước bộ tạo này"
 
-#: builtin/merge-file.c:43
+#: builtin/merge-file.c:42
 msgid "do not warn about conflicts"
 msgstr "không cảnh báo về các xung đột xảy ra"
 
-#: builtin/merge-file.c:45
+#: builtin/merge-file.c:44
 msgid "set labels for file1/orig-file/file2"
 msgstr "đặt nhãn cho tập-tin-1/tập-tin-gốc/tập-tin-2"
 
@@ -10171,44 +10410,48 @@ msgstr "Đổi tên %s thành %s\n"
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
 
-#: builtin/name-rev.c:257
+#: builtin/name-rev.c:289
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<các-tùy-chọn>] <commit>…"
 
-#: builtin/name-rev.c:258
+#: builtin/name-rev.c:290
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<các-tùy-chọn>] --all"
 
-#: builtin/name-rev.c:259
+#: builtin/name-rev.c:291
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<các-tùy-chọn>] --stdin"
 
-#: builtin/name-rev.c:311
+#: builtin/name-rev.c:346
 msgid "print only names (no SHA-1)"
 msgstr "chỉ hiển thị tên (không SHA-1)"
 
-#: builtin/name-rev.c:312
+#: builtin/name-rev.c:347
 msgid "only use tags to name the commits"
 msgstr "chỉ dùng các thẻ để đặt tên cho các lần chuyển giao"
 
-#: builtin/name-rev.c:314
+#: builtin/name-rev.c:349
 msgid "only use refs matching <pattern>"
 msgstr "chỉ sử dụng các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:316
+#: builtin/name-rev.c:351
+msgid "ignore refs matching <pattern>"
+msgstr "bỏ qua các tham chiếu khớp với <mẫu>"
+
+#: builtin/name-rev.c:353
 msgid "list all commits reachable from all refs"
 msgstr ""
 "liệt kê tất cả các lần chuyển giao có thể đọc được từ tất cả các tham chiếu"
 
-#: builtin/name-rev.c:317
+#: builtin/name-rev.c:354
 msgid "read from stdin"
 msgstr "đọc từ đầu vào tiêu chuẩn"
 
-#: builtin/name-rev.c:318
+#: builtin/name-rev.c:355
 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:324
+#: builtin/name-rev.c:361
 msgid "dereference tags in the input (internal use)"
 msgstr "bãi bỏ tham chiếu các thẻ trong đầu vào (dùng nội bộ)"
 
@@ -10354,19 +10597,19 @@ msgstr "không thể ghi đối tượng ghi chú (note)"
 msgid "the note contents have been left in %s"
 msgstr "nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:233 builtin/tag.c:460
+#: builtin/notes.c:233 builtin/tag.c:516
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:235 builtin/tag.c:463
+#: builtin/notes.c:235 builtin/tag.c:519
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
 
 #: builtin/notes.c:254 builtin/notes.c:305 builtin/notes.c:307
 #: builtin/notes.c:372 builtin/notes.c:427 builtin/notes.c:513
-#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:659
+#: builtin/notes.c:518 builtin/notes.c:596 builtin/notes.c:658
 #, c-format
 msgid "failed to resolve '%s' as a valid ref."
 msgstr "gặp lỗi khi phân giải “%s” như là một tham chiếu hợp lệ."
@@ -10399,12 +10642,12 @@ msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "từ chối %s ghi chú trong %s (nằm ngoài refs/notes/)"
 
 #: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:496
-#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:652
-#: builtin/notes.c:802 builtin/notes.c:949 builtin/notes.c:970
+#: builtin/notes.c:508 builtin/notes.c:584 builtin/notes.c:651
+#: builtin/notes.c:801 builtin/notes.c:948 builtin/notes.c:969
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:378 builtin/notes.c:665
+#: builtin/notes.c:378 builtin/notes.c:664
 #, c-format
 msgid "no note found for object %s."
 msgstr "không tìm thấy ghi chú cho đối tượng %s."
@@ -10447,7 +10690,7 @@ msgstr ""
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Đang ghi đè lên ghi chú cũ cho đối tượng %s\n"
 
-#: builtin/notes.c:463 builtin/notes.c:624 builtin/notes.c:889
+#: builtin/notes.c:463 builtin/notes.c:623 builtin/notes.c:888
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Đang gỡ bỏ ghi chú (note) cho đối tượng %s\n"
@@ -10487,52 +10730,52 @@ msgstr ""
 "Các tùy chọn -m/-F/-c/-C đã cổ không còn dùng nữa cho lệnh con “edit”.\n"
 "Xin hãy sử dụng lệnh sau để thay thế: “git notes add -f -m/-F/-c/-C”.\n"
 
-#: builtin/notes.c:685
+#: builtin/notes.c:684
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "gặp lỗi khi xóa tham chiếu NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:687
+#: builtin/notes.c:686
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "gặp lỗi khi xóa tham chiếu NOTES_MERGE_REF"
 
-#: builtin/notes.c:689
+#: builtin/notes.c:688
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "gặp lỗi khi gỡ bỏ cây làm việc “git notes merge”"
 
-#: builtin/notes.c:709
+#: builtin/notes.c:708
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "gặp lỗi khi đọc tham chiếu NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:711
+#: builtin/notes.c:710
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "không thể tìm thấy lần chuyển giao từ NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:713
+#: builtin/notes.c:712
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "không thể phân tích cú pháp lần chuyển giao từ NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:726
+#: builtin/notes.c:725
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "gặp lỗi khi phân giải NOTES_MERGE_REF"
 
-#: builtin/notes.c:729
+#: builtin/notes.c:728
 msgid "failed to finalize notes merge"
 msgstr "gặp lỗi khi hoàn thành hòa trộn ghi chú"
 
-#: builtin/notes.c:755
+#: builtin/notes.c:754
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "không hiểu chiến lược hòa trộn ghi chú %s"
 
-#: builtin/notes.c:771
+#: builtin/notes.c:770
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:773
+#: builtin/notes.c:772
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:775
+#: builtin/notes.c:774
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -10540,48 +10783,48 @@ msgstr ""
 "phân giải các xung đột “notes” sử dụng chiến lược đã đưa ra (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:777
+#: builtin/notes.c:776
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:779
+#: builtin/notes.c:778
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 "các note cuối cùng được hòa trộn bởi các note chưa hòa trộn của lần chuyển "
 "giao"
 
-#: builtin/notes.c:781
+#: builtin/notes.c:780
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:783
+#: builtin/notes.c:782
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:794
+#: builtin/notes.c:793
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "không thể trộn lẫn --commit, --abort hay -s/--strategy"
 
-#: builtin/notes.c:799
+#: builtin/notes.c:798
 msgid "must specify a notes ref to merge"
 msgstr "bạn phải chỉ định tham chiếu ghi chú để hòa trộn"
 
-#: builtin/notes.c:823
+#: builtin/notes.c:822
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "không hiểu -s/--strategy: %s"
 
-#: builtin/notes.c:860
+#: builtin/notes.c:859
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "một ghi chú hòa trộn vào %s đã sẵn trong quá trình xử lý tại %s"
 
-#: builtin/notes.c:863
+#: builtin/notes.c:862
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr "gặp lỗi khi lưu liên kết đến tham chiếu ghi chú hiện tại (%s)"
 
-#: builtin/notes.c:865
+#: builtin/notes.c:864
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -10592,36 +10835,36 @@ msgstr ""
 "chuyển giao kết quả bằng “git notes merge --commit”, hoặc bãi bỏ việc hòa "
 "trộn bằng “git notes merge --abort”.\n"
 
-#: builtin/notes.c:887
+#: builtin/notes.c:886
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:899
+#: builtin/notes.c:898
 msgid "attempt to remove non-existent note is not an error"
 msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải là một lỗi"
 
-#: builtin/notes.c:902
+#: builtin/notes.c:901
 msgid "read object names from the standard input"
 msgstr "đọc tên đối tượng từ thiết bị nhập chuẩn"
 
-#: builtin/notes.c:940 builtin/prune.c:105 builtin/worktree.c:127
+#: builtin/notes.c:939 builtin/prune.c:105 builtin/worktree.c:127
 msgid "do not remove, show only"
 msgstr "không gỡ bỏ, chỉ hiển thị"
 
-#: builtin/notes.c:941
+#: builtin/notes.c:940
 msgid "report pruned notes"
 msgstr "báo cáo các đối tượng đã prune"
 
-#: builtin/notes.c:983
+#: builtin/notes.c:982
 msgid "notes-ref"
 msgstr "notes-ref"
 
-#: builtin/notes.c:984
+#: builtin/notes.c:983
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1019
+#: builtin/notes.c:1018
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -10645,170 +10888,170 @@ msgstr ""
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: builtin/pack-objects.c:766
+#: builtin/pack-objects.c:770
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr "tắt ghi bitmap, các gói bị chia nhỏ bởi vì pack.packSizeLimit"
 
-#: builtin/pack-objects.c:779
+#: builtin/pack-objects.c:783
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1068
+#: builtin/pack-objects.c:1063
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr "tắt ghi bitmap, như vậy một số đối tượng sẽ không được đóng gói"
 
-#: builtin/pack-objects.c:2344
+#: builtin/pack-objects.c:2426
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2747
+#: builtin/pack-objects.c:2829
 #, 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:2751
+#: builtin/pack-objects.c:2833
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:2781
+#: builtin/pack-objects.c:2863
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2783
+#: builtin/pack-objects.c:2865
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:2785
+#: builtin/pack-objects.c:2867
 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:2788
+#: builtin/pack-objects.c:2870
 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:2789
+#: builtin/pack-objects.c:2871
 msgid "version[,offset]"
 msgstr "phiên bản[,offset]"
 
-#: builtin/pack-objects.c:2790
+#: builtin/pack-objects.c:2872
 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:2793
+#: builtin/pack-objects.c:2875
 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:2795
+#: builtin/pack-objects.c:2877
 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:2797
+#: builtin/pack-objects.c:2879
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:2799
+#: builtin/pack-objects.c:2881
 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:2801
+#: builtin/pack-objects.c:2883
 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:2803
+#: builtin/pack-objects.c:2885
 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:2805
+#: builtin/pack-objects.c:2887
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:2807
+#: builtin/pack-objects.c:2889
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:2809
+#: builtin/pack-objects.c:2891
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:2811
+#: builtin/pack-objects.c:2893
 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:2813
+#: builtin/pack-objects.c:2895
 msgid "do not create an empty pack output"
 msgstr "không thể tạo kết xuất gói trống rỗng"
 
-#: builtin/pack-objects.c:2815
+#: builtin/pack-objects.c:2897
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:2817
+#: builtin/pack-objects.c:2899
 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:2820
+#: builtin/pack-objects.c:2902
 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:2823
+#: builtin/pack-objects.c:2905
 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:2826
+#: builtin/pack-objects.c:2908
 msgid "include objects referred to by the index"
 msgstr "bao gồm các đối tượng được tham chiếu bởi mục lục"
 
-#: builtin/pack-objects.c:2829
+#: builtin/pack-objects.c:2911
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:2831
+#: builtin/pack-objects.c:2913
 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:2833
+#: builtin/pack-objects.c:2915
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2835
+#: builtin/pack-objects.c:2917
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:2837
+#: builtin/pack-objects.c:2919
 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:2840
+#: builtin/pack-objects.c:2922
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:2842
+#: builtin/pack-objects.c:2924
 msgid "create packs suitable for shallow fetches"
 msgstr "tạo gói để phù hợp cho lấy về nông (shallow)"
 
-#: builtin/pack-objects.c:2844
+#: builtin/pack-objects.c:2926
 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:2846
+#: builtin/pack-objects.c:2928
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:2848
+#: builtin/pack-objects.c:2930
 msgid "do not hide commits by grafts"
 msgstr "không ẩn các lần chuyển giao bởi “grafts”"
 
-#: builtin/pack-objects.c:2850
+#: builtin/pack-objects.c:2932
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr "dùng mục lục ánh xạ nếu có thể được để nâng cao tốc độ đếm đối tượng"
 
-#: builtin/pack-objects.c:2852
+#: builtin/pack-objects.c:2934
 msgid "write a bitmap index together with the pack index"
 msgstr "ghi một mục lục ánh xạ cùng với mục lục gói"
 
-#: builtin/pack-objects.c:2979
+#: builtin/pack-objects.c:3061
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
@@ -10865,7 +11108,7 @@ msgstr "Các tùy chọn liên quan đến hòa trộn"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:148 builtin/revert.c:101
+#: builtin/pull.c:148 builtin/rebase--helper.c:18 builtin/revert.c:120
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
@@ -11243,11 +11486,11 @@ msgstr "--all và --mirror xung khắc nhau"
 msgid "repository"
 msgstr "kho"
 
-#: builtin/push.c:519 builtin/send-pack.c:161
+#: builtin/push.c:519 builtin/send-pack.c:162
 msgid "push all refs"
 msgstr "đẩy tất cả các tham chiếu"
 
-#: builtin/push.c:520 builtin/send-pack.c:163
+#: builtin/push.c:520 builtin/send-pack.c:164
 msgid "mirror all refs"
 msgstr "mirror tất cả các tham chiếu"
 
@@ -11259,15 +11502,15 @@ msgstr "xóa các tham chiếu"
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "đẩy các thẻ (không dùng cùng với --all hay --mirror)"
 
-#: builtin/push.c:526 builtin/send-pack.c:164
+#: builtin/push.c:526 builtin/send-pack.c:165
 msgid "force updates"
 msgstr "ép buộc cập nhật"
 
-#: builtin/push.c:528 builtin/send-pack.c:175
+#: builtin/push.c:528 builtin/send-pack.c:179
 msgid "refname>:<expect"
 msgstr "tên-tham-chiếu>:<cần"
 
-#: builtin/push.c:529 builtin/send-pack.c:176
+#: builtin/push.c:529 builtin/send-pack.c:180
 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"
 
@@ -11275,12 +11518,12 @@ msgstr "yêu cầu giá-trị cũ của tham chiếu thì là giá-trị này"
 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:534 builtin/send-pack.c:169
+#: builtin/push.c:534 builtin/send-pack.c:173
 msgid "use thin pack"
 msgstr "tạo gói nhẹ"
 
-#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:158
-#: builtin/send-pack.c:159
+#: builtin/push.c:535 builtin/push.c:536 builtin/send-pack.c:159
+#: builtin/send-pack.c:160
 msgid "receive pack program"
 msgstr "chương trình nhận gói"
 
@@ -11300,19 +11543,19 @@ msgstr "vòng qua móc tiền-đẩy (pre-push)"
 msgid "push missing but relevant tags"
 msgstr "push phần bị thiếu nhưng các thẻ lại thích hợp"
 
-#: builtin/push.c:546 builtin/send-pack.c:166
+#: builtin/push.c:546 builtin/send-pack.c:167
 msgid "GPG sign the push"
 msgstr "ký lần đẩy dùng GPG"
 
-#: builtin/push.c:548 builtin/send-pack.c:170
+#: builtin/push.c:548 builtin/send-pack.c:174
 msgid "request atomic transaction on remote side"
 msgstr "yêu cầu giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:170
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/push.c:549
+#: builtin/push.c:549 builtin/send-pack.c:171
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
@@ -11328,7 +11571,7 @@ msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu nào"
 msgid "push options must not have new line characters"
 msgstr "các tùy chọn push phải không có ký tự dòng mới"
 
-#: builtin/read-tree.c:37
+#: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
 "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
@@ -11339,76 +11582,88 @@ msgstr ""
 "[--index-output=<tập-tin>] (--empty | <tree-ish1> [<tree-ish2> [<tree-"
 "ish3>]])"
 
-#: builtin/read-tree.c:110
+#: builtin/read-tree.c:130
 msgid "write resulting index to <file>"
 msgstr "ghi mục lục kết quả vào <tập-tin>"
 
-#: builtin/read-tree.c:113
+#: builtin/read-tree.c:133
 msgid "only empty the index"
 msgstr "chỉ với bảng mục lục trống rỗng"
 
-#: builtin/read-tree.c:115
+#: builtin/read-tree.c:135
 msgid "Merging"
 msgstr "Hòa trộn"
 
-#: builtin/read-tree.c:117
+#: builtin/read-tree.c:137
 msgid "perform a merge in addition to a read"
 msgstr "thực hiện một hòa trộn thêm vào việc đọc"
 
-#: builtin/read-tree.c:119
+#: builtin/read-tree.c:139
 msgid "3-way merge if no file level merging required"
 msgstr ""
 "hòa trộn kiểu “3-way” nếu không có tập tin mức hòa trộn nào được yêu cầu "
 
-#: builtin/read-tree.c:121
+#: builtin/read-tree.c:141
 msgid "3-way merge in presence of adds and removes"
 msgstr "hòa trộn 3-way trong sự hiện diện của “adds” và “removes”"
 
-#: builtin/read-tree.c:123
+#: builtin/read-tree.c:143
 msgid "same as -m, but discard unmerged entries"
 msgstr "giống với -m, nhưng bỏ qua các mục chưa được hòa trộn"
 
-#: builtin/read-tree.c:124
+#: builtin/read-tree.c:144
 msgid "<subdirectory>/"
 msgstr "<thư-mục-con>/"
 
-#: builtin/read-tree.c:125
+#: builtin/read-tree.c:145
 msgid "read the tree into the index under <subdirectory>/"
 msgstr "đọc cây vào trong bảng mục lục dưới <thư_mục_con>/"
 
-#: builtin/read-tree.c:128
+#: builtin/read-tree.c:148
 msgid "update working tree with merge result"
 msgstr "cập nhật cây làm việc với kết quả hòa trộn"
 
-#: builtin/read-tree.c:130
+#: builtin/read-tree.c:150
 msgid "gitignore"
 msgstr "gitignore"
 
-#: builtin/read-tree.c:131
+#: builtin/read-tree.c:151
 msgid "allow explicitly ignored files to be overwritten"
 msgstr "cho phép các tập tin rõ ràng bị lờ đi được ghi đè"
 
-#: builtin/read-tree.c:134
+#: builtin/read-tree.c:154
 msgid "don't check the working tree after merging"
 msgstr "không kiểm tra cây làm việc sau hòa trộn"
 
-#: builtin/read-tree.c:135
+#: builtin/read-tree.c:155
 msgid "don't update the index or the work tree"
 msgstr "không cập nhật bảng mục lục hay cây làm việc"
 
-#: builtin/read-tree.c:137
+#: builtin/read-tree.c:157
 msgid "skip applying sparse checkout filter"
 msgstr "bỏ qua áp dụng bộ lọc lấy ra (checkout) thưa thớt"
 
-#: builtin/read-tree.c:139
+#: builtin/read-tree.c:159
 msgid "debug unpack-trees"
 msgstr "gỡ lỗi “unpack-trees”"
 
-#: builtin/receive-pack.c:26
+#: builtin/rebase--helper.c:7
+msgid "git rebase--helper [<options>]"
+msgstr "git rebase--helper [<các-tùy-chọn>]"
+
+#: builtin/rebase--helper.c:19
+msgid "continue rebase"
+msgstr "tiếp tục cải tổ"
+
+#: builtin/rebase--helper.c:21
+msgid "abort rebase"
+msgstr "bãi bỏ việc cải tổ"
+
+#: builtin/receive-pack.c:27
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <thư-mục-git>"
 
-#: builtin/receive-pack.c:793
+#: builtin/receive-pack.c:796
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -11438,7 +11693,7 @@ msgstr ""
 "Để chấm dứt lời nhắn này và vẫn giữ cách ứng xử mặc định, hãy đặt\n"
 "biến cấu hình “receive.denyCurrentBranch” thành “refuse”."
 
-#: builtin/receive-pack.c:813
+#: builtin/receive-pack.c:816
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -11459,11 +11714,11 @@ msgstr ""
 "\n"
 "Để chấm dứt lời nhắn này, bạn hãy đặt nó thành “refuse”."
 
-#: builtin/receive-pack.c:1883
+#: builtin/receive-pack.c:1889
 msgid "quiet"
 msgstr "im lặng"
 
-#: builtin/receive-pack.c:1897
+#: builtin/receive-pack.c:1903
 msgid "You must specify a directory."
 msgstr "Bạn phải chỉ định thư mục."
 
@@ -11641,7 +11896,7 @@ msgstr "(khớp)"
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:854
+#: builtin/remote.c:622 builtin/remote.c:757 builtin/remote.c:856
 #, c-format
 msgid "No such remote: %s"
 msgstr "Không có máy chủ nào như thế: %s"
@@ -11672,7 +11927,7 @@ msgstr "gặp lỗi khi xóa “%s”"
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:792
+#: builtin/remote.c:794
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -11684,293 +11939,293 @@ msgstr[0] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:806
+#: builtin/remote.c:808
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
 
-#: builtin/remote.c:907
+#: builtin/remote.c:909
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
-#: builtin/remote.c:910
+#: builtin/remote.c:912
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:912
+#: builtin/remote.c:914
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:914
+#: builtin/remote.c:916
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:955
+#: builtin/remote.c:957
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
-#: builtin/remote.c:963
+#: builtin/remote.c:965
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "thực hiện rebase một cách tương tác trên máy chủ %s"
 
-#: builtin/remote.c:964
+#: builtin/remote.c:966
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "thực hiện rebase trên máy chủ %s"
 
-#: builtin/remote.c:967
+#: builtin/remote.c:969
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:970
+#: builtin/remote.c:972
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:975
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    và với máy chủ %s\n"
 
-#: builtin/remote.c:1016
+#: builtin/remote.c:1018
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1019
+#: builtin/remote.c:1021
 msgid "delete"
 msgstr "xóa"
 
-#: builtin/remote.c:1023
+#: builtin/remote.c:1025
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1026
+#: builtin/remote.c:1028
 msgid "fast-forwardable"
 msgstr "có-thể-chuyển-tiếp-nhanh"
 
-#: builtin/remote.c:1029
+#: builtin/remote.c:1031
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1038
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1041
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1043
+#: builtin/remote.c:1045
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1046
+#: builtin/remote.c:1048
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1114
+#: builtin/remote.c:1116
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1141
+#: builtin/remote.c:1143
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1142
+#: builtin/remote.c:1144
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1143 builtin/remote.c:1156 builtin/remote.c:1295
+#: builtin/remote.c:1145 builtin/remote.c:1158 builtin/remote.c:1297
 msgid "(no URL)"
 msgstr "(không có URL)"
 
 #. TRANSLATORS: the colon ':' should align with
 #. the one in "  Fetch URL: %s" translation
-#: builtin/remote.c:1154 builtin/remote.c:1156
+#: builtin/remote.c:1156 builtin/remote.c:1158
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1158 builtin/remote.c:1160 builtin/remote.c:1162
+#: builtin/remote.c:1160 builtin/remote.c:1162 builtin/remote.c:1164
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1160
 msgid "(not queried)"
 msgstr "(không yêu cầu)"
 
-#: builtin/remote.c:1160
+#: builtin/remote.c:1162
 msgid "(unknown)"
 msgstr "(không hiểu)"
 
-#: builtin/remote.c:1164
+#: builtin/remote.c:1166
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1178
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1179 builtin/remote.c:1205
+#: builtin/remote.c:1181 builtin/remote.c:1207
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1188
+#: builtin/remote.c:1190
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
-#: builtin/remote.c:1196
+#: builtin/remote.c:1198
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
-#: builtin/remote.c:1202
+#: builtin/remote.c:1204
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 
-#: builtin/remote.c:1223
+#: builtin/remote.c:1225
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
 
-#: builtin/remote.c:1225
+#: builtin/remote.c:1227
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1240
+#: builtin/remote.c:1242
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1244
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Nhiều nhánh HEAD máy chủ. Hãy chọn rõ ràng một:"
 
-#: builtin/remote.c:1252
+#: builtin/remote.c:1254
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1260
+#: builtin/remote.c:1262
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1262
+#: builtin/remote.c:1264
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1280
+#: builtin/remote.c:1282
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1283
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1291
+#: builtin/remote.c:1293
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1292
+#: builtin/remote.c:1294
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1308
+#: builtin/remote.c:1310
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1313
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [đã bị xén] %s"
 
-#: builtin/remote.c:1356
+#: builtin/remote.c:1358
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1419 builtin/remote.c:1473 builtin/remote.c:1541
+#: builtin/remote.c:1421 builtin/remote.c:1475 builtin/remote.c:1543
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1435
+#: builtin/remote.c:1437
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1442
+#: builtin/remote.c:1444
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1459
+#: builtin/remote.c:1461
 msgid "query push URLs rather than fetch URLs"
 msgstr "truy vấn đẩy URL thay vì lấy"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1463
 msgid "return all URLs"
 msgstr "trả về mọi URL"
 
-#: builtin/remote.c:1489
+#: builtin/remote.c:1491
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "không có URL nào được cấu hình cho nhánh “%s”"
 
-#: builtin/remote.c:1515
+#: builtin/remote.c:1517
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1517
+#: builtin/remote.c:1519
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1519
+#: builtin/remote.c:1521
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1526
+#: builtin/remote.c:1528
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1567
+#: builtin/remote.c:1569
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1575
+#: builtin/remote.c:1577
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1577
+#: builtin/remote.c:1579
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1593
 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/remote.c:1622
+#: builtin/remote.c:1624
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
@@ -12088,22 +12343,22 @@ msgstr "git replace -d <đối tượng>…"
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<định_dạng>] [-l [<mẫu>]]"
 
-#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
+#: builtin/replace.c:329 builtin/replace.c:367 builtin/replace.c:395
 #, c-format
 msgid "Not a valid object name: '%s'"
 msgstr "Không phải là tên đối tượng hợp lệ: “%s”"
 
-#: builtin/replace.c:355
+#: builtin/replace.c:359
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "thẻ hòa trộn sai trong lần chuyển giao “%s”"
 
-#: builtin/replace.c:357
+#: builtin/replace.c:361
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "thẻ hòa trộn không đúng dạng ở lần chuyển giao “%s”"
 
-#: builtin/replace.c:368
+#: builtin/replace.c:372
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -12112,45 +12367,45 @@ msgstr ""
 "lần chuyển giao gốc “%s” có chứa thẻ hòa trộn “%s” cái mà bị loại bỏ; dùng "
 "tùy chọn --edit thay cho --graft"
 
-#: builtin/replace.c:401
+#: builtin/replace.c:405
 #, c-format
 msgid "the original commit '%s' has a gpg signature."
 msgstr "lần chuyển giao gốc “%s” có chữ ký GPG."
 
-#: builtin/replace.c:402
+#: builtin/replace.c:406
 msgid "the signature will be removed in the replacement commit!"
 msgstr "chữ ký sẽ được bỏ đi trong lần chuyển giao thay thế!"
 
-#: builtin/replace.c:408
+#: builtin/replace.c:412
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "không thể ghi lần chuyển giao thay thế cho: “%s”"
 
-#: builtin/replace.c:432
+#: builtin/replace.c:436
 msgid "list replace refs"
 msgstr "liệt kê các refs thay thế"
 
-#: builtin/replace.c:433
+#: builtin/replace.c:437
 msgid "delete replace refs"
 msgstr "xóa tham chiếu thay thế"
 
-#: builtin/replace.c:434
+#: builtin/replace.c:438
 msgid "edit existing object"
 msgstr "sửa đối tượng sẵn có"
 
-#: builtin/replace.c:435
+#: builtin/replace.c:439
 msgid "change a commit's parents"
 msgstr "thay đổi cha mẹ của lần chuyển giao"
 
-#: builtin/replace.c:436
+#: builtin/replace.c:440
 msgid "replace the ref if it exists"
 msgstr "thay thế tham chiếu nếu nó đã sẵn có"
 
-#: builtin/replace.c:437
+#: builtin/replace.c:441
 msgid "do not pretty-print contents for --edit"
 msgstr "đừng in đẹp các nội dung cho --edit"
 
-#: builtin/replace.c:438
+#: builtin/replace.c:442
 msgid "use this format"
 msgstr "dùng định dạng này"
 
@@ -12295,23 +12550,23 @@ msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 msgid "rev-list does not support display of notes"
 msgstr "rev-list không hỗ trợ hiển thị các ghi chú"
 
-#: builtin/rev-parse.c:391
+#: builtin/rev-parse.c:393
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
 msgstr "git rev-parse --parseopt [<các-tùy-chọn>] -- [<các tham số>…]"
 
-#: builtin/rev-parse.c:396
+#: builtin/rev-parse.c:398
 msgid "keep the `--` passed as an arg"
 msgstr "giữ lại “--” chuyển sang làm tham số"
 
-#: builtin/rev-parse.c:398
+#: builtin/rev-parse.c:400
 msgid "stop parsing after the first non-option argument"
 msgstr "dừng phân tích sau đối số đầu tiên không có tùy chọn"
 
-#: builtin/rev-parse.c:401
+#: builtin/rev-parse.c:403
 msgid "output in stuck long form"
 msgstr "kết xuất trong định dạng gậy dài"
 
-#: builtin/rev-parse.c:532
+#: builtin/rev-parse.c:534
 msgid ""
 "git rev-parse --parseopt [<options>] -- [<args>...]\n"
 "   or: git rev-parse --sq-quote [<arg>...]\n"
@@ -12341,68 +12596,72 @@ 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:89
 #, 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:80
+#: builtin/revert.c:98
 msgid "end revert or cherry-pick sequence"
 msgstr "kết thúc cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:81
+#: builtin/revert.c:99
 msgid "resume revert or cherry-pick sequence"
 msgstr "phục hồi lại cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:82
+#: builtin/revert.c:100
 msgid "cancel revert or cherry-pick sequence"
 msgstr "không cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:83
+#: builtin/revert.c:101
 msgid "don't automatically commit"
 msgstr "không chuyển giao một cách tự động."
 
-#: builtin/revert.c:84
+#: builtin/revert.c:102
 msgid "edit the commit message"
 msgstr "sửa lại chú thích cho lần chuyển giao"
 
-#: builtin/revert.c:87
-msgid "parent number"
-msgstr "số của cha mẹ"
+#: builtin/revert.c:105
+msgid "parent-number"
+msgstr "số-cha-mẹ"
 
-#: builtin/revert.c:89
+#: builtin/revert.c:106
+msgid "select mainline parent"
+msgstr "chọn cha mẹ luồng chính"
+
+#: builtin/revert.c:108
 msgid "merge strategy"
 msgstr "chiến lược hòa trộn"
 
-#: builtin/revert.c:90
+#: builtin/revert.c:109
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/revert.c:91
+#: builtin/revert.c:110
 msgid "option for merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn"
 
-#: builtin/revert.c:100
+#: builtin/revert.c:119
 msgid "append commit name"
 msgstr "nối thêm tên lần chuyển giao"
 
-#: builtin/revert.c:102
+#: builtin/revert.c:121
 msgid "preserve initially empty commits"
 msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 
-#: builtin/revert.c:103
+#: builtin/revert.c:122
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
-#: builtin/revert.c:104
+#: builtin/revert.c:123
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:192
+#: builtin/revert.c:211
 msgid "revert failed"
 msgstr "hoàn nguyên gặp lỗi"
 
-#: builtin/revert.c:205
+#: builtin/revert.c:224
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
@@ -12494,19 +12753,19 @@ msgstr ""
 "chiếu>…]\n"
 "  --all và đặc tả <ref> rõ ràng là loại trừ lẫn nhau."
 
-#: builtin/send-pack.c:160
+#: builtin/send-pack.c:161
 msgid "remote name"
 msgstr "tên máy dịch vụ"
 
-#: builtin/send-pack.c:171
+#: builtin/send-pack.c:175
 msgid "use stateless RPC protocol"
 msgstr "dùng giao thức RPC không ổn định"
 
-#: builtin/send-pack.c:172
+#: builtin/send-pack.c:176
 msgid "read refs from stdin"
 msgstr "đọc tham chiếu từ đầu vào tiêu chuẩn"
 
-#: builtin/send-pack.c:173
+#: builtin/send-pack.c:177
 msgid "print status from remote helper"
 msgstr "in các trạng thái từ phần hướng dẫn trên máy dịch vụ"
 
@@ -12514,27 +12773,27 @@ msgstr "in các trạng thái từ phần hướng dẫn trên máy dịch vụ"
 msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
 msgstr "git shortlog [<các-tùy-chọn>] [<vùng-xét-duyệt>] [[--] [<đường-dẫn>…]]"
 
-#: builtin/shortlog.c:249
+#: builtin/shortlog.c:248
 msgid "Group by committer rather than author"
 msgstr "Nhóm theo người chuyển giao thay vì tác giả"
 
-#: builtin/shortlog.c:251
+#: builtin/shortlog.c:250
 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:253
+#: builtin/shortlog.c:252
 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:255
+#: builtin/shortlog.c:254
 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:256
+#: builtin/shortlog.c:255
 msgid "w[,i1[,i2]]"
 msgstr "w[,i1[,i2]]"
 
-#: builtin/shortlog.c:257
+#: builtin/shortlog.c:256
 msgid "Linewrap output"
 msgstr "Ngắt dòng khi quá dài"
 
@@ -12554,119 +12813,119 @@ msgstr ""
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<nền>]] [--list] [<ref>]"
 
-#: builtin/show-branch.c:375
+#: builtin/show-branch.c:374
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "đang bỏ qua %s; không thể xử lý nhiều hơn %d tham chiếu"
 
-#: builtin/show-branch.c:541
+#: builtin/show-branch.c:536
 #, c-format
 msgid "no matching refs with %s"
 msgstr "không tham chiếu nào khớp với %s"
 
-#: builtin/show-branch.c:639
+#: builtin/show-branch.c:632
 msgid "show remote-tracking and local branches"
 msgstr "hiển thị các nhánh remote-tracking và nội bộ"
 
-#: builtin/show-branch.c:641
+#: builtin/show-branch.c:634
 msgid "show remote-tracking branches"
 msgstr "hiển thị các nhánh remote-tracking"
 
-#: builtin/show-branch.c:643
+#: builtin/show-branch.c:636
 msgid "color '*!+-' corresponding to the branch"
 msgstr "màu “*!+-” tương ứng với nhánh"
 
-#: builtin/show-branch.c:645
+#: builtin/show-branch.c:638
 msgid "show <n> more commits after the common ancestor"
 msgstr "hiển thị thêm <n> lần chuyển giao sau cha mẹ chung"
 
-#: builtin/show-branch.c:647
+#: builtin/show-branch.c:640
 msgid "synonym to more=-1"
 msgstr "đồng nghĩa với more=-1"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:641
 msgid "suppress naming strings"
 msgstr "chặn các chuỗi đặt tên"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:643
 msgid "include the current branch"
 msgstr "bao gồm nhánh hiện hành"
 
-#: builtin/show-branch.c:652
+#: builtin/show-branch.c:645
 msgid "name commits with their object names"
 msgstr "đặt tên các lần chuyển giao bằng các tên của đối tượng của chúng"
 
-#: builtin/show-branch.c:654
+#: builtin/show-branch.c:647
 msgid "show possible merge bases"
 msgstr "hiển thị mọi cơ sở có thể dùng để hòa trộn"
 
-#: builtin/show-branch.c:656
+#: builtin/show-branch.c:649
 msgid "show refs unreachable from any other ref"
 msgstr "hiển thị các tham chiếu không thể được đọc bởi bất kỳ tham chiếu khác"
 
-#: builtin/show-branch.c:658
+#: builtin/show-branch.c:651
 msgid "show commits in topological order"
 msgstr "hiển thị các lần chuyển giao theo thứ tự tôpô"
 
-#: builtin/show-branch.c:661
+#: builtin/show-branch.c:654
 msgid "show only commits not on the first branch"
 msgstr "chỉ hiển thị các lần chuyển giao không nằm trên nhánh đầu tiên"
 
-#: builtin/show-branch.c:663
+#: builtin/show-branch.c:656
 msgid "show merges reachable from only one tip"
 msgstr "hiển thị các lần hòa trộn có thể đọc được chỉ từ một đầu mút"
 
-#: builtin/show-branch.c:665
+#: builtin/show-branch.c:658
 msgid "topologically sort, maintaining date order where possible"
 msgstr "sắp xếp hình thái học, bảo trì thứ tự ngày nếu có thể"
 
-#: builtin/show-branch.c:668
+#: builtin/show-branch.c:661
 msgid "<n>[,<base>]"
 msgstr "<n>[,<cơ_sở>]"
 
-#: builtin/show-branch.c:669
+#: builtin/show-branch.c:662
 msgid "show <n> most recent ref-log entries starting at base"
 msgstr "hiển thị <n> các mục “ref-log” gần nhất kể từ nền (base)"
 
-#: builtin/show-branch.c:703
+#: builtin/show-branch.c:696
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 "--reflog là không tương thích với các tùy chọn --all, --remotes, --"
 "independent hay --merge-base"
 
-#: builtin/show-branch.c:727
+#: builtin/show-branch.c:720
 msgid "no branches given, and HEAD is not valid"
 msgstr "chưa đưa ra nhánh, và HEAD không hợp lệ"
 
-#: builtin/show-branch.c:730
+#: builtin/show-branch.c:723
 msgid "--reflog option needs one branch name"
 msgstr "--reflog cần tên một nhánh"
 
-#: builtin/show-branch.c:733
+#: builtin/show-branch.c:726
 #, c-format
 msgid "only %d entry can be shown at one time."
 msgid_plural "only %d entries can be shown at one time."
 msgstr[0] "chỉ có thể hiển thị cùng lúc %d hạng mục."
 
-#: builtin/show-branch.c:737
+#: builtin/show-branch.c:730
 #, c-format
 msgid "no such ref %s"
 msgstr "không có tham chiếu nào như thế %s"
 
-#: builtin/show-branch.c:829
+#: builtin/show-branch.c:814
 #, c-format
 msgid "cannot handle more than %d rev."
 msgid_plural "cannot handle more than %d revs."
 msgstr[0] "không thể xử lý nhiều hơn %d điểm xét duyệt."
 
-#: builtin/show-branch.c:833
+#: builtin/show-branch.c:818
 #, c-format
 msgid "'%s' is not a valid ref."
 msgstr "“%s” không phải tham chiếu hợp lệ."
 
-#: builtin/show-branch.c:836
+#: builtin/show-branch.c:821
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "không thể tìm thấy lần chuyển giao %s (%s)"
@@ -12735,12 +12994,12 @@ msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
 msgid "prepend comment character and space to each line"
 msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1062
+#: builtin/submodule--helper.c:24 builtin/submodule--helper.c:1075
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1071
+#: builtin/submodule--helper.c:31 builtin/submodule--helper.c:1084
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận được %s"
@@ -12750,94 +13009,103 @@ msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận đượ
 msgid "cannot strip one component off url '%s'"
 msgstr "không thể cắt bỏ một thành phần ra khỏi “%s” url"
 
-#: builtin/submodule--helper.c:282 builtin/submodule--helper.c:592
+#: builtin/submodule--helper.c:305 builtin/submodule--helper.c:630
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
-#: builtin/submodule--helper.c:287
+#: builtin/submodule--helper.c:310
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:333 builtin/submodule--helper.c:347
+#: builtin/submodule--helper.c:356 builtin/submodule--helper.c:382
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con “%s” trong .gitmodules"
 
-#: builtin/submodule--helper.c:373
+#: builtin/submodule--helper.c:395
+#, c-format
+msgid ""
+"could not lookup configuration '%s'. Assuming this repository is its own "
+"authoritative upstream."
+msgstr ""
+"không thể tìm thấy cấu hình “%s”. Coi rằng kho này là thượng nguồn có quyền "
+"sở hữu chính nó."
+
+#: builtin/submodule--helper.c:406
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:377
+#: builtin/submodule--helper.c:410
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:387
+#: builtin/submodule--helper.c:420
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "cảnh báo: chế độ lệnh cập nhật được gợi ý cho mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:394
+#: builtin/submodule--helper.c:427
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:410
+#: builtin/submodule--helper.c:443
 msgid "Suppress output for initializing a submodule"
 msgstr "Chặn kết xuất cho khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:415
+#: builtin/submodule--helper.c:448
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:436
+#: builtin/submodule--helper.c:476
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:442
+#: builtin/submodule--helper.c:482
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr ""
 "Không tìm thấy ánh xạ (mapping) mô-đun-con trong .gitmodules cho đường dẫn "
 "“%s”"
 
-#: builtin/submodule--helper.c:525 builtin/submodule--helper.c:528
+#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:568
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "mô-đun-con “%s” không thể thêm thay thế: %s"
 
-#: builtin/submodule--helper.c:564
+#: builtin/submodule--helper.c:604
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateErrorStrategy không được thừa nhận"
 
-#: builtin/submodule--helper.c:571
+#: builtin/submodule--helper.c:611
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Giá trị “%s” cho submodule.alternateLocation không được thừa nhận"
 
-#: builtin/submodule--helper.c:595
+#: builtin/submodule--helper.c:633
 msgid "where the new submodule will be cloned to"
 msgstr "nhân bản mô-đun-con mới vào chỗ nào"
 
-#: builtin/submodule--helper.c:598
+#: builtin/submodule--helper.c:636
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:601
+#: builtin/submodule--helper.c:639
 msgid "url where to clone the submodule from"
 msgstr "url nơi mà nhân bản mô-đun-con từ đó"
 
-#: builtin/submodule--helper.c:607
+#: builtin/submodule--helper.c:645
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:610 builtin/submodule--helper.c:980
+#: builtin/submodule--helper.c:648 builtin/submodule--helper.c:993
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:615
+#: builtin/submodule--helper.c:653
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -12845,94 +13113,84 @@ msgstr ""
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:646
+#: builtin/submodule--helper.c:684
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Nhân bản “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:662
-#, c-format
-msgid "cannot open file '%s'"
-msgstr "không thể mở tập tin “%s”"
-
-#: builtin/submodule--helper.c:667
-#, c-format
-msgid "could not close file %s"
-msgstr "không thể đóng tập tin %s"
-
-#: builtin/submodule--helper.c:674
+#: builtin/submodule--helper.c:699
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "không thể lấy thư mục mô-đun-con cho “%s”"
 
-#: builtin/submodule--helper.c:742
+#: builtin/submodule--helper.c:764
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Đường dẫn mô-đun-con “%s” chưa được khởi tạo"
 
-#: builtin/submodule--helper.c:746
+#: builtin/submodule--helper.c:768
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Có lẽ bạn là bạn muốn dùng \"update --init\" phải không?"
 
-#: builtin/submodule--helper.c:772
+#: builtin/submodule--helper.c:793
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Bỏ qua các mô-đun-con chưa được hòa trộn %s"
 
-#: builtin/submodule--helper.c:793
+#: builtin/submodule--helper.c:814
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:929
+#: builtin/submodule--helper.c:942
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 
-#: builtin/submodule--helper.c:940
+#: builtin/submodule--helper.c:953
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Gặp lỗi khi nhân bản “%s” lần thứ hai nên bãi bỏ"
 
-#: builtin/submodule--helper.c:961 builtin/submodule--helper.c:1105
+#: builtin/submodule--helper.c:974 builtin/submodule--helper.c:1162
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:964
+#: builtin/submodule--helper.c:977
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr "đường dẫn đến cây làm việc, chéo biên giới mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:981
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:972
+#: builtin/submodule--helper.c:985
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "Tạo một bản sao nông được cắt ngắn thành số lượng điểm xét duyệt đã cho"
 
-#: builtin/submodule--helper.c:975
+#: builtin/submodule--helper.c:988
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:977
+#: builtin/submodule--helper.c:990
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "nhân bản lần đầu có nên theo khuyến nghị là nông hay không"
 
-#: builtin/submodule--helper.c:978
+#: builtin/submodule--helper.c:991
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:985
+#: builtin/submodule--helper.c:998
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 "git submodule--helper update_clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:995
+#: builtin/submodule--helper.c:1008
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:1066
+#: builtin/submodule--helper.c:1079
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -12941,24 +13199,24 @@ msgstr ""
 "Nhánh mô-đun-con (%s) được cấu hình kế thừa nhánh từ siêu dự án, nhưng siêu "
 "dự án lại không trên bất kỳ nhánh nào"
 
-#: builtin/submodule--helper.c:1106
+#: builtin/submodule--helper.c:1163
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1112
+#: builtin/submodule--helper.c:1169
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1157
+#: builtin/submodule--helper.c:1226
 msgid "submodule--helper subcommand must be called with a subcommand"
 msgstr "lệnh con submodule--helper phải được gọi với một lệnh con"
 
-#: builtin/submodule--helper.c:1164
+#: builtin/submodule--helper.c:1233
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
 
-#: builtin/submodule--helper.c:1170
+#: builtin/submodule--helper.c:1239
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -13005,33 +13263,29 @@ msgstr "git tag -d <tên-thẻ>…"
 
 #: builtin/tag.c:25
 msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
+"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
+"points-at <object>]\n"
 "\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
 msgstr ""
-"git tag -l [-n[<số>]] [--contains <lần_chuyển_giao>] [--points-at <đối-"
-"tượng>]\n"
-"\t\t[--format=<định dạng>] [--[no-]merged [<lần_chuyển_giao>]] [<mẫu>…]"
+"git tag -l [-n[<số>]] [--contains <lần_chuyển_giao>] [--no-contains "
+"<lần_chuyển_giao>] [--points-at <đối-tượng>]\n"
+"\t\t[--format=<định_dạng>] [--[no-]merged [<lần_chuyển_giao>]] [<mẫu>…]"
 
 #: builtin/tag.c:27
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:82
-#, c-format
-msgid "tag name too long: %.*s..."
-msgstr "tên thẻ quá dài: %.*s…"
-
-#: builtin/tag.c:87
+#: builtin/tag.c:83
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:102
+#: builtin/tag.c:99
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:131
+#: builtin/tag.c:128
 #, c-format
 msgid ""
 "\n"
@@ -13044,7 +13298,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:135
+#: builtin/tag.c:132
 #, c-format
 msgid ""
 "\n"
@@ -13059,138 +13313,167 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được giữ lại; bạn có thể xóa chúng đi "
 "nếu muốn.\n"
 
-#: builtin/tag.c:213
+#: builtin/tag.c:210
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:215
+#: builtin/tag.c:212
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:240
+#: builtin/tag.c:236
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:253
-msgid "tag header too big."
-msgstr "phần đầu thẻ quá lớn."
-
-#: builtin/tag.c:289
+#: builtin/tag.c:282
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:295
+#: builtin/tag.c:289
 #, c-format
 msgid "The tag message has been left in %s\n"
 msgstr "Nội dung ghi chú còn lại %s\n"
 
-#: builtin/tag.c:354
+#: builtin/tag.c:312
+msgid "tag: tagging "
+msgstr "thẻ: đang đánh thẻ"
+
+#: builtin/tag.c:320
+msgid "object of unknown type"
+msgstr "đối tượng của kiểu chưa biết"
+
+#: builtin/tag.c:327
+msgid "commit object"
+msgstr "đối tượng lần chuyển giao"
+
+#: builtin/tag.c:335
+msgid "tree object"
+msgstr "đối tượng cây"
+
+#: builtin/tag.c:338
+msgid "blob object"
+msgstr "đối tượng blob"
+
+#: builtin/tag.c:341
+msgid "other tag object"
+msgstr "đối tượng thẻ khác"
+
+#: builtin/tag.c:397
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:356
+#: builtin/tag.c:399
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:358
+#: builtin/tag.c:401
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:359
+#: builtin/tag.c:402
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:361
+#: builtin/tag.c:404
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:363
+#: builtin/tag.c:406
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:365
+#: builtin/tag.c:408
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:367
+#: builtin/tag.c:410
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:371
+#: builtin/tag.c:414
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:372
+#: builtin/tag.c:415
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:373 builtin/update-ref.c:368
+#: builtin/tag.c:416 builtin/update-ref.c:368
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:375
+#: builtin/tag.c:418
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:376
+#: builtin/tag.c:419
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:377 builtin/tag.c:378
+#: builtin/tag.c:420 builtin/tag.c:422
 msgid "print only tags that contain the commit"
 msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao"
 
-#: builtin/tag.c:379
+#: builtin/tag.c:421 builtin/tag.c:423
+msgid "print only tags that don't contain the commit"
+msgstr "chỉ hiển thị những thẻ mà nó không chứa lần chuyển giao"
+
+#: builtin/tag.c:424
 msgid "print only tags that are merged"
 msgstr "chỉ hiển thị những thẻ mà nó được hòa trộn"
 
-#: builtin/tag.c:380
+#: builtin/tag.c:425
 msgid "print only tags that are not merged"
 msgstr "chỉ hiển thị những thẻ mà nó không được hòa trộn"
 
-#: builtin/tag.c:385
+#: builtin/tag.c:430
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:415
+#: builtin/tag.c:469
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:437
-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:491
+msgid "-n option is only allowed in list mode"
+msgstr "tùy chọn -n chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:439
-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:493
+msgid "--contains option is only allowed in list mode"
+msgstr "tùy chọn --contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:441
-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:495
+msgid "--no-contains option is only allowed in list mode"
+msgstr "tùy chọn --no-contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:443
-msgid "--merged and --no-merged option are only allowed with -l"
-msgstr "tùy chọn --merged và --no-merged chỉ cho phép dùng với -l."
+#: builtin/tag.c:497
+msgid "--points-at option is only allowed in list mode"
+msgstr "tùy chọn --points-at chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:454
+#: builtin/tag.c:499
+msgid "--merged and --no-merged options are only allowed in list mode"
+msgstr ""
+"tùy chọn --merged và --no-merged chỉ cho phép dùng trong chế độ liệt kê"
+
+#: builtin/tag.c:510
 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:473
+#: builtin/tag.c:529
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:479
+#: builtin/tag.c:535
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:484
+#: builtin/tag.c:540
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:512
+#: builtin/tag.c:570
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
@@ -13219,171 +13502,187 @@ msgstr "gặp lỗi khi tạo tập tin %s"
 msgid "failed to delete file %s"
 msgstr "gặp lỗi khi xóa tập tin %s"
 
-#: builtin/update-index.c:110 builtin/update-index.c:212
+#: builtin/update-index.c:110 builtin/update-index.c:216
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "gặp lỗi khi xóa thư mục %s"
 
-#: builtin/update-index.c:133
+#: builtin/update-index.c:135
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Đang kiểm thử mtime trong “%s”"
 
-#: builtin/update-index.c:145
+#: builtin/update-index.c:149
 msgid "directory stat info does not change after adding a new file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm tập tin mới"
 
-#: builtin/update-index.c:158
+#: builtin/update-index.c:162
 msgid "directory stat info does not change after adding a new directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi thêm thư mục mới"
 
-#: builtin/update-index.c:171
+#: builtin/update-index.c:175
 msgid "directory stat info changes after updating a file"
 msgstr "thông tin thống kê thư mục thay đổi sau khi cập nhật tập tin"
 
-#: builtin/update-index.c:182
+#: builtin/update-index.c:186
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "thông tin thống kê thư mục thay đổi sau khi thêm tập tin mới vào trong thư "
 "mục con"
 
-#: builtin/update-index.c:193
+#: builtin/update-index.c:197
 msgid "directory stat info does not change after deleting a file"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa tập tin"
 
-#: builtin/update-index.c:206
+#: builtin/update-index.c:210
 msgid "directory stat info does not change after deleting a directory"
 msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa thư mục"
 
-#: builtin/update-index.c:213
+#: builtin/update-index.c:217
 msgid " OK"
 msgstr " Đồng ý"
 
-#: builtin/update-index.c:564
+#: builtin/update-index.c:568
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:919
+#: builtin/update-index.c:923
 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:922
+#: builtin/update-index.c:926
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:925
+#: builtin/update-index.c:929
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:927
+#: builtin/update-index.c:931
 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:929
+#: builtin/update-index.c:933
 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:931
+#: builtin/update-index.c:935
 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:934
+#: builtin/update-index.c:938
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:938
+#: builtin/update-index.c:942
 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:942
+#: builtin/update-index.c:946
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:943
+#: builtin/update-index.c:947
 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:952
+#: builtin/update-index.c:956
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:955
+#: builtin/update-index.c:959
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:958
+#: builtin/update-index.c:962
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:961
+#: builtin/update-index.c:965
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:964
+#: builtin/update-index.c:968
 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:966
+#: builtin/update-index.c:970
 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:968
+#: builtin/update-index.c:972
 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:970
+#: builtin/update-index.c:974
 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:974
+#: builtin/update-index.c:978
 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:978
+#: builtin/update-index.c:982
 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:982
+#: builtin/update-index.c:986
 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:986
+#: builtin/update-index.c:990
 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:989
+#: builtin/update-index.c:993
 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:991
+#: builtin/update-index.c:995
 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:995
+#: builtin/update-index.c:999
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:1001
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:999
+#: builtin/update-index.c:1003
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:1005
 msgid "test if the filesystem supports untracked cache"
 msgstr "kiểm tra xem hệ thống tập tin có hỗ trợ đệm không theo dõi hay không"
 
-#: builtin/update-index.c:1003
+#: builtin/update-index.c:1007
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
-#: builtin/update-index.c:1120
+#: builtin/update-index.c:1107
+msgid ""
+"core.splitIndex is set to false; remove or change it, if you really want to "
+"enable split index"
+msgstr ""
+"core.splitIndex được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
+"muốn bật chia tách mục lục"
+
+#: builtin/update-index.c:1116
+msgid ""
+"core.splitIndex is set to true; remove or change it, if you really want to "
+"disable split index"
+msgstr ""
+"core.splitIndex được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
+"muốn tắt chia tách mục lục"
+
+#: builtin/update-index.c:1127
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -13391,11 +13690,11 @@ msgstr ""
 "core.untrackedCache được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực "
 "sự muốn tắt bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1124
+#: builtin/update-index.c:1131
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1132
+#: builtin/update-index.c:1139
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -13403,7 +13702,7 @@ msgstr ""
 "core.untrackedCache được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1136
+#: builtin/update-index.c:1143
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
@@ -13544,50 +13843,50 @@ msgstr "không thể tạo thư mục của “%s”"
 msgid "Preparing %s (identifier %s)"
 msgstr "Đang chuẩn bị %s (định danh %s)"
 
-#: builtin/worktree.c:323
+#: builtin/worktree.c:324
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr "lấy ra <nhánh> ngay cả khi nó đã được lấy ra ở cây làm việc khác"
 
-#: builtin/worktree.c:325
+#: builtin/worktree.c:326
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:327
+#: builtin/worktree.c:328
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:329
+#: builtin/worktree.c:330
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:337
+#: builtin/worktree.c:338
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Các tùy chọn -b, -B, và --detach loại từ lẫn nhau"
 
-#: builtin/worktree.c:472
+#: builtin/worktree.c:473
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:484 builtin/worktree.c:517
+#: builtin/worktree.c:485 builtin/worktree.c:518
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "%s không phải là cây làm việc"
 
-#: builtin/worktree.c:486 builtin/worktree.c:519
+#: builtin/worktree.c:487 builtin/worktree.c:520
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Cây thư mục làm việc chính không thể khóa hay bỏ khóa được"
 
-#: builtin/worktree.c:491
+#: builtin/worktree.c:492
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:493
+#: builtin/worktree.c:494
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:521
+#: builtin/worktree.c:522
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
@@ -13612,19 +13911,19 @@ msgstr "chỉ hữu ích khi cần gỡ lỗi"
 msgid "git upload-pack [<options>] <dir>"
 msgstr "git upload-pack [<các-tùy-chọn>] </đường/dẫn>"
 
-#: upload-pack.c:1036
+#: upload-pack.c:1040
 msgid "quit after a single request/response exchange"
 msgstr "thoát sau khi một trao đổi yêu cầu hay trả lời đơn"
 
-#: upload-pack.c:1038
+#: upload-pack.c:1042
 msgid "exit immediately after initial ref advertisement"
 msgstr "thoát ngay sau khi khởi tạo quảng cáo tham chiếu"
 
-#: upload-pack.c:1040
+#: upload-pack.c:1044
 msgid "do not try <directory>/.git/ if <directory> is no Git directory"
 msgstr "đừng thử <thư_mục>/.git/ nếu <thư_mục> không phải là thư mục Git"
 
-#: upload-pack.c:1042
+#: upload-pack.c:1046
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "ngắt truyền thông sau <n> giây không hoạt động"
 
@@ -13655,15 +13954,15 @@ msgstr ""
 "hướng dẫn về khái niệm. Xem “git help <lệnh>” hay “git help <khái-niệm>”\n"
 "để xem các đặc tả cho lệnh hay khái niệm cụ thể."
 
-#: http.c:344
+#: http.c:355
 msgid "Delegation control is not supported with cURL < 7.22.0"
 msgstr "Điều khiển giao quyền không được hỗ trợ với cURL < 7.22.0"
 
-#: http.c:353
+#: http.c:364
 msgid "Public key pinning not supported with cURL < 7.44.0"
 msgstr "Chốt khóa công không được hỗ trợ với cURL < 7.44.0"
 
-#: http.c:1713
+#: http.c:1755
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -13674,7 +13973,7 @@ msgstr ""
 "      hỏi cho: %s\n"
 " chuyển hướng: %s"
 
-#: remote-curl.c:319
+#: remote-curl.c:323
 #, c-format
 msgid "redirecting to %s"
 msgstr "chuyển hướng đến %s"
@@ -14187,40 +14486,40 @@ msgstr "Trước tiên, di chuyển head để xem lại các công việc trên
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Chuyển-tiếp-nhanh $branch_name thành $onto_name."
 
-#: git-stash.sh:50
+#: git-stash.sh:53
 msgid "git stash clear with parameters is unimplemented"
 msgstr ""
 "git stash clear với các tham số là chưa được thực hiện (không nhận đối số)"
 
-#: git-stash.sh:73
+#: git-stash.sh:94
 msgid "You do not have the initial commit yet"
 msgstr "Bạn chưa còn có lần chuyển giao khởi tạo"
 
-#: git-stash.sh:88
+#: git-stash.sh:109
 msgid "Cannot save the current index state"
 msgstr "Không thể ghi lại trạng thái bảng mục lục hiện hành"
 
-#: git-stash.sh:103
+#: git-stash.sh:124
 msgid "Cannot save the untracked files"
 msgstr "Không thể ghi lại các tập tin chưa theo dõi"
 
-#: git-stash.sh:123 git-stash.sh:136
+#: git-stash.sh:144 git-stash.sh:157
 msgid "Cannot save the current worktree state"
 msgstr "Không thể ghi lại trạng thái cây-làm-việc hiện hành"
 
-#: git-stash.sh:140
+#: git-stash.sh:161
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
-#: git-stash.sh:143
+#: git-stash.sh:164
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Không thể gỡ bỏ bảng mục lục tạm thời (không thể xảy ra)"
 
-#: git-stash.sh:156
+#: git-stash.sh:177
 msgid "Cannot record working tree state"
 msgstr "Không thể ghi lại trạng thái cây làm việc hiện hành"
 
-#: git-stash.sh:188
+#: git-stash.sh:209
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Không thể cập nhật $ref_stash với $w_commit"
@@ -14235,7 +14534,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:238
+#: git-stash.sh:265
 #, sh-format
 msgid ""
 "error: unknown option for 'stash save': $option\n"
@@ -14245,107 +14544,107 @@ msgstr ""
 "     Để có thể dùng lời chú thích có chứa -- ở đầu,\n"
 "     dùng git stash save -- \"$option\""
 
-#: git-stash.sh:251
+#: git-stash.sh:278
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr "Không thể dùng --patch và --include-untracked hay --all cùng một lúc."
 
-#: git-stash.sh:259
+#: git-stash.sh:286
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: git-stash.sh:263
+#: git-stash.sh:291
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: git-stash.sh:267
+#: git-stash.sh:295
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: git-stash.sh:268
+#: git-stash.sh:296
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục $stash_msg"
 
-#: git-stash.sh:285
+#: git-stash.sh:323
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: git-stash.sh:403
+#: git-stash.sh:471
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "không hiểu tùy chọn: $opt"
 
-#: git-stash.sh:416
+#: git-stash.sh:484
 msgid "No stash found."
 msgstr "Không tìm thấy lần chuyển giao cất đi (stash) nào."
 
-#: git-stash.sh:423
+#: git-stash.sh:491
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Chỉ ra quá nhiều điểm xét duyệt: $REV"
 
-#: git-stash.sh:438
+#: git-stash.sh:506
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference không phải là tham chiếu hợp lệ"
 
-#: git-stash.sh:466
+#: git-stash.sh:534
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "“$args” không phải là lần chuyển giao kiểu-stash (cất đi)"
 
-#: git-stash.sh:477
+#: git-stash.sh:545
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "”$args” không phải tham chiếu đến stash"
 
-#: git-stash.sh:485
+#: git-stash.sh:553
 msgid "unable to refresh index"
 msgstr "không thể làm tươi mới bảng mục lục"
 
-#: git-stash.sh:489
+#: git-stash.sh:557
 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:497
+#: git-stash.sh:565
 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:499
+#: git-stash.sh:567
 msgid "Could not save index tree"
 msgstr "Không thể ghi lại cây chỉ mục"
 
-#: git-stash.sh:508
+#: git-stash.sh:576
 msgid "Could not restore untracked files from stash"
 msgstr "Không thể phục hồi các tập tin chưa theo dõi từ stash"
 
-#: git-stash.sh:533
+#: git-stash.sh:601
 msgid "Cannot unstage modified files"
 msgstr "Không thể bỏ ra khỏi bệ phóng các tập tin đã được sửa chữa"
 
-#: git-stash.sh:548
+#: git-stash.sh:616
 msgid "Index was not unstashed."
 msgstr "Bảng mục lục đã không được bỏ stash."
 
-#: git-stash.sh:562
+#: git-stash.sh:630
 msgid "The stash is kept in case you need it again."
 msgstr "stash được giữ trong trường hợp bạn lại cần nó."
 
-#: git-stash.sh:571
+#: git-stash.sh:639
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "Đã xóa ${REV} ($s)"
 
-#: git-stash.sh:572
+#: git-stash.sh:640
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Không thể xóa bỏ mục stash"
 
-#: git-stash.sh:580
+#: git-stash.sh:648
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: git-stash.sh:652
+#: git-stash.sh:727
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Để phục hồi lại chúng hãy gõ \"git stash apply\")"
 
@@ -14438,27 +14737,27 @@ msgstr "Gặp lỗi khi thêm mô-đun-con “$sm_path”"
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:327
+#: git-submodule.sh:341
 #, sh-format
 msgid "Entering '$displaypath'"
 msgstr "Đang vào “$displaypath”"
 
-#: git-submodule.sh:347
+#: git-submodule.sh:361
 #, sh-format
 msgid "Stopping at '$displaypath'; script returned non-zero status."
 msgstr "Dừng lại tại “$displaypath”; script trả về trạng thái khác không."
 
-#: git-submodule.sh:418
+#: git-submodule.sh:432
 #, sh-format
 msgid "pathspec and --all are incompatible"
 msgstr "đặc tả đường dẫn và --all xung khắc nhau"
 
-#: git-submodule.sh:423
+#: git-submodule.sh:437
 #, sh-format
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr "Dùng “--all” nếu bạn thực sự muốn hủy khởi tạo mọi mô-đun-con"
 
-#: git-submodule.sh:443
+#: git-submodule.sh:457
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains a .git directory\n"
@@ -14468,7 +14767,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)"
 
-#: git-submodule.sh:451
+#: git-submodule.sh:465
 #, sh-format
 msgid ""
 "Submodule work tree '$displaypath' contains local modifications; use '-f' to "
@@ -14477,39 +14776,39 @@ msgstr ""
 "Cây làm việc mô-đun-con “$displaypath” chứa các thay đổi nội bộ; hãy dùng “-"
 "f” để loại bỏ chúng đi"
 
-#: git-submodule.sh:454
+#: git-submodule.sh:468
 #, sh-format
 msgid "Cleared directory '$displaypath'"
 msgstr "Đã tạo thư mục “$displaypath”"
 
-#: git-submodule.sh:455
+#: git-submodule.sh:469
 #, sh-format
 msgid "Could not remove submodule work tree '$displaypath'"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:458
+#: git-submodule.sh:472
 #, sh-format
 msgid "Could not create empty submodule directory '$displaypath'"
 msgstr "Không thể tạo thư mục mô-đun-con rỗng “$displaypath”"
 
-#: git-submodule.sh:467
+#: git-submodule.sh:481
 #, sh-format
 msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
 msgstr "Mô-đun-con “$name” ($url) được bỏ đăng ký cho đường dẫn “$displaypath”"
 
-#: git-submodule.sh:623
+#: git-submodule.sh:637
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:647
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:638
+#: git-submodule.sh:652
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -14518,12 +14817,12 @@ msgstr ""
 "Không thể tìm thấy điểm xét duyệt hiện hành ${remote_name}/${branch} trong "
 "đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:656
+#: git-submodule.sh:670
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:662
+#: git-submodule.sh:676
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -14532,86 +14831,86 @@ msgstr ""
 "Đã lấy về từ đường dẫn mô-đun con “$displaypath”, nhưng nó không chứa $sha1. "
 "Lấy về theo định hướng của lần chuyển giao đó gặp lỗi."
 
-#: git-submodule.sh:669
+#: git-submodule.sh:683
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:670
+#: git-submodule.sh:684
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
 
-#: git-submodule.sh:674
+#: git-submodule.sh:688
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:675
+#: git-submodule.sh:689
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:680
+#: git-submodule.sh:694
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:681
+#: git-submodule.sh:695
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:686
+#: git-submodule.sh:700
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:687
+#: git-submodule.sh:701
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: “$command $sha1”"
 
-#: git-submodule.sh:718
+#: git-submodule.sh:732
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:826
+#: git-submodule.sh:840
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#: git-submodule.sh:878
+#: git-submodule.sh:892
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:898
+#: git-submodule.sh:912
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:901
+#: git-submodule.sh:915
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:904
+#: git-submodule.sh:918
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
 "  Cảnh báo: $display_name không chứa những lần chuyển giao $sha1_src và "
 "$sha1_dst"
 
-#: git-submodule.sh:1051
+#: git-submodule.sh:1064
 #, 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:1118
+#: git-submodule.sh:1136
 #, sh-format
 msgid "Synchronizing submodule url for '$displaypath'"
 msgstr "Url Mô-đun-con đồng bộ hóa cho “$displaypath”"
@@ -14916,11 +15215,11 @@ msgstr ""
 msgid "Or you can abort the rebase with 'git rebase --abort'."
 msgstr "Hoặc là bạn có thể bãi bỏ lần cải tổ với lệnh “git rebase --abort”."
 
-#: git-rebase--interactive.sh:1079
+#: git-rebase--interactive.sh:1083
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:1084
+#: git-rebase--interactive.sh:1088
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -14951,11 +15250,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:1101
+#: git-rebase--interactive.sh:1105
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Lỗi khi cố tìm định danh của tác giả để tu bổ lần chuyển giao"
 
-#: git-rebase--interactive.sh:1106
+#: git-rebase--interactive.sh:1110
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -14964,11 +15263,11 @@ msgstr ""
 "Vui lòng chuyển giao chúng và sau đó chạy lệnh “git rebase --continue” lần "
 "nữa."
 
-#: git-rebase--interactive.sh:1111 git-rebase--interactive.sh:1115
+#: git-rebase--interactive.sh:1115 git-rebase--interactive.sh:1119
 msgid "Could not commit staged changes."
 msgstr "Không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: git-rebase--interactive.sh:1139
+#: git-rebase--interactive.sh:1147
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -14982,39 +15281,39 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: git-rebase--interactive.sh:1147 git-rebase--interactive.sh:1305
+#: git-rebase--interactive.sh:1155 git-rebase--interactive.sh:1313
 msgid "Could not execute editor"
 msgstr "Không thể thực thi trình biên soạn"
 
-#: git-rebase--interactive.sh:1160
+#: git-rebase--interactive.sh:1168
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Không thể checkout $switch_to"
 
-#: git-rebase--interactive.sh:1165
+#: git-rebase--interactive.sh:1173
 msgid "No HEAD?"
 msgstr "Không HEAD?"
 
-#: git-rebase--interactive.sh:1166
+#: git-rebase--interactive.sh:1174
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Không thể tạo thư mục tạm thời $state_dir"
 
-#: git-rebase--interactive.sh:1168
+#: git-rebase--interactive.sh:1176
 msgid "Could not mark as interactive"
 msgstr "Không thể đánh dấu là tương tác"
 
-#: git-rebase--interactive.sh:1178 git-rebase--interactive.sh:1183
+#: git-rebase--interactive.sh:1186 git-rebase--interactive.sh:1191
 msgid "Could not init rewritten commits"
 msgstr "Không thể khởi tạo các lần chuyển giao ghi lại"
 
-#: git-rebase--interactive.sh:1283
+#: git-rebase--interactive.sh:1291
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Cải tổ $shortrevisions vào $shortonto (các lệnh $todocount)"
 
-#: git-rebase--interactive.sh:1288
+#: git-rebase--interactive.sh:1296
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -15023,7 +15322,7 @@ msgstr ""
 "\n"
 "Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
 
-#: git-rebase--interactive.sh:1295
+#: git-rebase--interactive.sh:1303
 msgid "Note that empty commits are commented out"
 msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
 
@@ -15107,64 +15406,64 @@ msgstr "đã đưa lên bệ phóng"
 msgid "unstaged"
 msgstr "chưa đưa lên bệ phóng"
 
-#: git-add--interactive.perl:297 git-add--interactive.perl:322
+#: git-add--interactive.perl:288 git-add--interactive.perl:313
 msgid "binary"
 msgstr "nhị phân"
 
-#: git-add--interactive.perl:306 git-add--interactive.perl:360
+#: git-add--interactive.perl:297 git-add--interactive.perl:351
 msgid "nothing"
 msgstr "không có gì"
 
-#: git-add--interactive.perl:342 git-add--interactive.perl:357
+#: git-add--interactive.perl:333 git-add--interactive.perl:348
 msgid "unchanged"
 msgstr "không thay đổi"
 
-#: git-add--interactive.perl:653
+#: git-add--interactive.perl:644
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "đã thêm %d đường dẫn\n"
 
-#: git-add--interactive.perl:656
+#: git-add--interactive.perl:647
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "đã cập nhật %d đường dẫn\n"
 
-#: git-add--interactive.perl:659
+#: git-add--interactive.perl:650
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:653
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d đường dẫn đã touch (chạm)\n"
 
-#: git-add--interactive.perl:671
+#: git-add--interactive.perl:662
 msgid "Update"
 msgstr "Cập nhật"
 
-#: git-add--interactive.perl:683
+#: git-add--interactive.perl:674
 msgid "Revert"
 msgstr "Hoàn nguyên"
 
-#: git-add--interactive.perl:706
+#: git-add--interactive.perl:697
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
 
-#: git-add--interactive.perl:717
+#: git-add--interactive.perl:708
 msgid "Add untracked"
 msgstr "Thêm các cái chưa được theo dõi"
 
-#: git-add--interactive.perl:723
+#: git-add--interactive.perl:714
 msgid "No untracked files.\n"
 msgstr "Không có tập tin nào chưa được theo dõi.\n"
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1030
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
@@ -15172,7 +15471,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1042
+#: git-add--interactive.perl:1033
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
@@ -15180,7 +15479,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để tạm cất."
 
-#: git-add--interactive.perl:1045
+#: git-add--interactive.perl:1036
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
@@ -15188,7 +15487,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để bỏ chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1048 git-add--interactive.perl:1057
+#: git-add--interactive.perl:1039 git-add--interactive.perl:1048
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
@@ -15196,15 +15495,7 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để áp dụng."
 
-#: git-add--interactive.perl:1051
-msgid ""
-"If the patch applies cleanly, the edited hunk will immediately be\n"
-"marked for discarding"
-msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
-"được đánh dấu để loại bỏ"
-
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1042 git-add--interactive.perl:1045
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
@@ -15212,16 +15503,16 @@ msgstr ""
 "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để loại bỏ."
 
-#: git-add--interactive.perl:1067
+#: git-add--interactive.perl:1058
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "gặp lỗi khi tập tin sửa hunk để ghi: %s"
 
-#: git-add--interactive.perl:1068
+#: git-add--interactive.perl:1059
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr "Chế độ sửa hunk bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
 
-#: git-add--interactive.perl:1074
+#: git-add--interactive.perl:1065
 #, perl-format
 msgid ""
 "---\n"
@@ -15235,7 +15526,7 @@ msgstr ""
 "Những dòng bắt đầu bằng %s sẽ bị loại bỏ.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1082
+#: git-add--interactive.perl:1073
 msgid ""
 "If it does not apply cleanly, you will be given an opportunity to\n"
 "edit again.  If all lines of the hunk are removed, then the edit is\n"
@@ -15245,7 +15536,7 @@ msgstr ""
 "để sửa lần nữa. Nếu mọi dòng của hunk bị xóa bỏ, thế thì những\n"
 "sửa dổi sẽ bị loại bỏ, và hunk vẫn giữ nguyên.\n"
 
-#: git-add--interactive.perl:1096
+#: git-add--interactive.perl:1087
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "gặp lỗi khi mở tập tin hunk để đọc: %s"
@@ -15256,14 +15547,14 @@ msgstr "gặp lỗi khi mở tập tin hunk để đọc: %s"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: git-add--interactive.perl:1187
+#: git-add--interactive.perl:1178
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 "Hunk đã sửa của bạn không được áp dụng. Sửa lại lần nữa (nói \"n\" để loại "
 "bỏ!) [y/n]? "
 
-#: git-add--interactive.perl:1196
+#: git-add--interactive.perl:1187
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -15278,7 +15569,7 @@ msgstr ""
 "d - đừng đưa lên bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong tập "
 "tin"
 
-#: git-add--interactive.perl:1202
+#: git-add--interactive.perl:1193
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -15292,7 +15583,7 @@ msgstr ""
 "a - tạm cất hunk này và tất cả các hunk sau này trong tập tin\n"
 "d - đừng tạm cất hunk này cũng như bất kỳ cái nào còn lại trong tập tin"
 
-#: git-add--interactive.perl:1208
+#: git-add--interactive.perl:1199
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -15308,7 +15599,7 @@ msgstr ""
 "d - đừng đưa ra khỏi bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong "
 "tập tin"
 
-#: git-add--interactive.perl:1214
+#: git-add--interactive.perl:1205
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -15322,7 +15613,7 @@ msgstr ""
 "a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
 "d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1220
+#: git-add--interactive.perl:1211
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -15336,7 +15627,7 @@ msgstr ""
 "a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
 "d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1226
+#: git-add--interactive.perl:1217
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -15350,7 +15641,7 @@ msgstr ""
 "a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
 "d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1232
+#: git-add--interactive.perl:1223
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -15364,7 +15655,7 @@ msgstr ""
 "a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
 "d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1241
+#: git-add--interactive.perl:1232
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -15386,200 +15677,200 @@ msgstr ""
 "e - sửa bằng tay hunk hiện hành\n"
 "? - in trợ giúp\n"
 
-#: git-add--interactive.perl:1272
+#: git-add--interactive.perl:1263
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Các hunk đã chọn không được áp dụng vào bảng mục lục!\n"
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1264
 msgid "Apply them to the worktree anyway? "
 msgstr "Vẫn áp dụng chúng cho cây làm việc? "
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1267
 msgid "Nothing was applied.\n"
 msgstr "Đã không áp dụng gì cả.\n"
 
-#: git-add--interactive.perl:1287
+#: git-add--interactive.perl:1278
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s\n"
 
-#: git-add--interactive.perl:1296
+#: git-add--interactive.perl:1287
 msgid "Only binary files changed.\n"
 msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
 
-#: git-add--interactive.perl:1298
+#: git-add--interactive.perl:1289
 msgid "No changes.\n"
 msgstr "Không có thay đổi nào.\n"
 
-#: git-add--interactive.perl:1306
+#: git-add--interactive.perl:1297
 msgid "Patch update"
 msgstr "Cập nhật miếng vá"
 
-#: git-add--interactive.perl:1358
+#: git-add--interactive.perl:1349
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Thay đổi chế độ bệ phóng [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1359
+#: git-add--interactive.perl:1350
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Xóa khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1360
+#: git-add--interactive.perl:1351
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Đưa lên bệ phóng hunk này [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1363
+#: git-add--interactive.perl:1354
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Thay đổi chế độ tạm cất đi [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1364
+#: git-add--interactive.perl:1355
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Xóa tạm cất [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1365
+#: git-add--interactive.perl:1356
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Tạm cất hunk này [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1368
+#: git-add--interactive.perl:1359
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d,/%s,?]? "
 msgstr "Thay đổi chế độ bỏ ra khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1369
+#: git-add--interactive.perl:1360
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d,/%s,?]? "
 msgstr "Xóa bỏ việc bỏ ra khỏi bệ phóng [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1370
+#: git-add--interactive.perl:1361
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d,/%s,?]? "
 msgstr "Bỏ ra khỏi bệ phóng hunk này [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1373
+#: git-add--interactive.perl:1364
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d,/%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho mục lục [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1374
+#: git-add--interactive.perl:1365
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d,/%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1375
+#: git-add--interactive.perl:1366
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d,/%s,?]? "
 msgstr "Áo dụng hunk này vào mục lục [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1378
+#: git-add--interactive.perl:1369
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ các thay đổi chế độ từ cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1379
+#: git-add--interactive.perl:1370
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1380
+#: git-add--interactive.perl:1371
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ hunk này khỏi cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1383
+#: git-add--interactive.perl:1374
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ thay đổi chế độ từ mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1384
+#: git-add--interactive.perl:1375
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1385
+#: git-add--interactive.perl:1376
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Loại bỏ hunk này khỏi mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1388
+#: git-add--interactive.perl:1379
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr ""
 "Áp dụng thay đổi chế độ cho mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1389
+#: git-add--interactive.perl:1380
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1381
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d,/%s,?]? "
 msgstr "Áp dụng hunk này vào mục lục và cây làm việc [y,n,q,a,d,/%s,?]? "
 
-#: git-add--interactive.perl:1493
+#: git-add--interactive.perl:1484
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "nhảy đến hunk nào (<ret> để xem thêm)? "
 
-#: git-add--interactive.perl:1495
+#: git-add--interactive.perl:1486
 msgid "go to which hunk? "
 msgstr "nhảy đến hunk nào?"
 
-#: git-add--interactive.perl:1504
+#: git-add--interactive.perl:1495
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Số không hợp lệ: “%s”\n"
 
-#: git-add--interactive.perl:1509
+#: git-add--interactive.perl:1500
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "Rất tiếc, chỉ có sẵn %d hunk..\n"
 
-#: git-add--interactive.perl:1535
+#: git-add--interactive.perl:1526
 msgid "search for regex? "
 msgstr "tìm kiếm cho regex? "
 
-#: git-add--interactive.perl:1548
+#: git-add--interactive.perl:1539
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s\n"
 
-#: git-add--interactive.perl:1558
+#: git-add--interactive.perl:1549
 msgid "No hunk matches the given pattern\n"
 msgstr "Không thấy hunk nào khớp mẫu đã cho\n"
 
-#: git-add--interactive.perl:1570 git-add--interactive.perl:1592
+#: git-add--interactive.perl:1561 git-add--interactive.perl:1583
 msgid "No previous hunk\n"
 msgstr "Không có hunk kế trước\n"
 
-#: git-add--interactive.perl:1579 git-add--interactive.perl:1598
+#: git-add--interactive.perl:1570 git-add--interactive.perl:1589
 msgid "No next hunk\n"
 msgstr "Không có hunk kế tiếp\n"
 
-#: git-add--interactive.perl:1606
+#: git-add--interactive.perl:1597
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "Chi nhỏ thành %d hunks.\n"
 
-#: git-add--interactive.perl:1658
+#: git-add--interactive.perl:1649
 msgid "Review diff"
 msgstr "Xem xét lại diff"
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1677
+#: git-add--interactive.perl:1668
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
 "revert        - revert staged set of changes back to the HEAD version\n"
 "patch         - pick hunks and update selectively\n"
-"diff\t      - view diff between HEAD and index\n"
+"diff          - view diff between HEAD and index\n"
 "add untracked - add contents of untracked files to the staged set of "
 "changes\n"
 msgstr ""
@@ -15593,18 +15884,18 @@ msgstr ""
 "add untracked - thêm nội dung các các tập tin chưa theo dõi và tập hợp các "
 "thay đổi đã đặt lên bệ phóng\n"
 
-#: git-add--interactive.perl:1694 git-add--interactive.perl:1699
-#: git-add--interactive.perl:1702 git-add--interactive.perl:1709
-#: git-add--interactive.perl:1713 git-add--interactive.perl:1719
+#: git-add--interactive.perl:1685 git-add--interactive.perl:1690
+#: git-add--interactive.perl:1693 git-add--interactive.perl:1700
+#: git-add--interactive.perl:1704 git-add--interactive.perl:1710
 msgid "missing --"
 msgstr "thiếu --"
 
-#: git-add--interactive.perl:1715
+#: git-add--interactive.perl:1706
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "không hiểu chế độ --patch: %s"
 
-#: git-add--interactive.perl:1721 git-add--interactive.perl:1727
+#: git-add--interactive.perl:1712 git-add--interactive.perl:1718
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "đối số không hợp lệ %s, cần --"
@@ -15962,6 +16253,71 @@ msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Bạn có thực sự muốn gửi %s? [y|N]: "
 
+#~ msgid ""
+#~ "There is nothing to exclude from by :(exclude) patterns.\n"
+#~ "Perhaps you forgot to add either ':/' or '.' ?"
+#~ msgstr ""
+#~ "Ở đây không có gì bị loại trừ bởi: các mẫu (loại trừ).\n"
+#~ "Có lẽ bạn đã quên thêm hoặc là “:/” hoặc là “.”?"
+
+#~ msgid "unrecognized format: %%(%s)"
+#~ msgstr "không nhận ra định dạng: %%(%s)"
+
+#~ msgid ":strip= requires a positive integer argument"
+#~ msgstr ":strip= cần một đối số nguyên dương"
+
+#~ msgid "ref '%s' does not have %ld components to :strip"
+#~ msgstr "tham chiếu “%s” không có %ld thành phần để mà :strip"
+
+#~ msgid "unknown %.*s format %s"
+#~ msgstr "Không hiểu định dạng %.*s %s"
+
+#~ msgid "[%s: gone]"
+#~ msgstr "[%s: đã ra đi]"
+
+#~ msgid "[%s]"
+#~ msgstr "[%s]"
+
+#~ msgid "[%s: behind %d]"
+#~ msgstr "[%s: đứng sau %d]"
+
+#~ msgid "[%s: ahead %d]"
+#~ msgstr "[%s: phía trước %d]"
+
+#~ msgid "[%s: ahead %d, behind %d]"
+#~ msgstr "[%s: trước %d, sau %d]"
+
+#~ msgid " **** invalid ref ****"
+#~ msgstr " **** tham chiếu không hợp lệ ****"
+
+#~ msgid "insanely long object directory %.*s"
+#~ msgstr "thư mục đối tượng dài một cách điên rồ %.*s"
+
+#~ msgid "git merge [<options>] <msg> HEAD <commit>"
+#~ msgstr "git merge [<các-tùy-chọn>] <tin-nhắn> HEAD <commit>"
+
+#~ msgid "'%s' is not a commit"
+#~ msgstr "%s không phải là một lần commit (chuyển giao)"
+
+#~ msgid "cannot open file '%s'"
+#~ msgstr "không thể mở tập tin “%s”"
+
+#~ msgid "could not close file %s"
+#~ msgstr "không thể đóng tập tin %s"
+
+#~ msgid "tag name too long: %.*s..."
+#~ msgstr "tên thẻ quá dài: %.*s…"
+
+#~ msgid "tag header too big."
+#~ msgstr "phần đầu thẻ quá lớn."
+
+#~ msgid ""
+#~ "If the patch applies cleanly, the edited hunk will immediately be\n"
+#~ "marked for discarding"
+#~ msgstr ""
+#~ "Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+#~ "được đánh dấu để loại bỏ"
+
 #~ msgid "Use an experimental blank-line-based heuristic to improve diffs"
 #~ msgstr ""
 #~ "Dùng một phỏng đoán dựa trên dòng trắng thử nghiệm để tăng cường các diff"
@@ -16538,9 +16894,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N]: "
 #~ msgid "Failed to chdir: %s"
 #~ msgstr "Gặp lỗi với lệnh chdir: %s"
 
-#~ msgid "cannot tell cwd"
-#~ msgstr "không nói chuyện được với lệnh cwd"
-
 #~ msgid "%s: cannot lock the ref"
 #~ msgstr "%s: không thể khóa ref (tham chiếu)"