summary refs log tree commit diff
diff options
context:
space:
mode:
authorTran Ngoc Quan <vnwildman@gmail.com>2022-04-14 13:58:46 +0700
committerTran Ngoc Quan <vnwildman@gmail.com>2022-04-14 15:34:48 +0700
commit2a7f398a6ef0a80d95ae9c9ce24d9e82e8d57482 (patch)
tree5c5f5ff0a870131a84c86718b4f657f1f4d283c0
parentdd6cf19403bc4f4a805069c13dbeac4d0ac075ca (diff)
l10n: vi(5285t): v2.36.0 round 2
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
-rw-r--r--po/vi.po8689
1 files changed, 4752 insertions, 3937 deletions
diff --git a/po/vi.po b/po/vi.po
index 0d5b14438a..69c3b93154 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.35.0 round 2\n"
+"Project-Id-Version: git v2.36.0 round 2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-01-17 08:31+0800\n"
-"PO-Revision-Date: 2022-01-17 14:14+0700\n"
+"POT-Creation-Date: 2022-04-13 14:52+0800\n"
+"PO-Revision-Date: 2022-04-14 15:34+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"
@@ -21,216 +21,215 @@ msgstr ""
 "X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
 "X-Generator: Poedit 3.0.1\n"
 
-#: add-interactive.c:380
+#: add-interactive.c:382
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hả (%s)?"
 
-#: add-interactive.c:533 add-interactive.c:834 reset.c:65 sequencer.c:3509
-#: sequencer.c:3974 sequencer.c:4136 builtin/rebase.c:1233
-#: builtin/rebase.c:1642
+#: add-interactive.c:535 add-interactive.c:836 reset.c:136 sequencer.c:3505
+#: sequencer.c:3970 sequencer.c:4127 builtin/rebase.c:1261
+#: builtin/rebase.c:1671
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
-#: add-interactive.c:588 git-add--interactive.perl:269
+#: add-interactive.c:590 git-add--interactive.perl:269
 #: git-add--interactive.perl:294
 msgid "binary"
 msgstr "nhị phân"
 
-#: add-interactive.c:646 git-add--interactive.perl:278
+#: add-interactive.c:648 git-add--interactive.perl:278
 #: git-add--interactive.perl:332
 msgid "nothing"
 msgstr "không có gì"
 
-#: add-interactive.c:647 git-add--interactive.perl:314
+#: add-interactive.c:649 git-add--interactive.perl:314
 #: git-add--interactive.perl:329
 msgid "unchanged"
 msgstr "không thay đổi"
 
-#: add-interactive.c:684 git-add--interactive.perl:641
+#: add-interactive.c:686 git-add--interactive.perl:641
 msgid "Update"
 msgstr "Cập nhật"
 
-#: add-interactive.c:701 add-interactive.c:889
+#: add-interactive.c:703 add-interactive.c:891
 #, c-format
 msgid "could not stage '%s'"
 msgstr "không thể đưa “%s” lên bệ phóng"
 
-#: add-interactive.c:707 add-interactive.c:896 reset.c:89 sequencer.c:3713
+#: add-interactive.c:709 add-interactive.c:898 reset.c:160 sequencer.c:3709
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
-#: add-interactive.c:710 git-add--interactive.perl:626
+#: add-interactive.c:712 git-add--interactive.perl:626
 #, c-format, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "đã cập nhật %d đường dẫn\n"
 
-#: add-interactive.c:728 git-add--interactive.perl:676
+#: add-interactive.c:730 git-add--interactive.perl:676
 #, c-format, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
 
-#: add-interactive.c:733 apply.c:4151 builtin/checkout.c:306
+#: add-interactive.c:735 apply.c:4133 builtin/checkout.c:311
 #: builtin/reset.c:167
 #, 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”"
 
-#: add-interactive.c:763 git-add--interactive.perl:653
+#: add-interactive.c:765 git-add--interactive.perl:653
 msgid "Revert"
 msgstr "Hoàn nguyên"
 
-#: add-interactive.c:779
+#: add-interactive.c:781
 msgid "Could not parse HEAD^{tree}"
 msgstr "Không thể phân tích cú pháp HEAD^{tree}"
 
-#: add-interactive.c:817 git-add--interactive.perl:629
+#: add-interactive.c:819 git-add--interactive.perl:629
 #, c-format, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
 
-#: add-interactive.c:868 git-add--interactive.perl:693
+#: add-interactive.c:870 git-add--interactive.perl:693
 #, c-format
 msgid "No untracked files.\n"
 msgstr "Không có tập tin nào chưa được theo dõi.\n"
 
-#: add-interactive.c:872 git-add--interactive.perl:687
+#: add-interactive.c:874 git-add--interactive.perl:687
 msgid "Add untracked"
 msgstr "Thêm các cái chưa được theo dõi"
 
-#: add-interactive.c:899 git-add--interactive.perl:623
+#: add-interactive.c:901 git-add--interactive.perl:623
 #, c-format, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "đã thêm %d đường dẫn\n"
 
-#: add-interactive.c:929
+#: add-interactive.c:931
 #, c-format
 msgid "ignoring unmerged: %s"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s"
 
-#: add-interactive.c:941 add-patch.c:1752 git-add--interactive.perl:1371
+#: add-interactive.c:943 add-patch.c:1758 git-add--interactive.perl:1371
 #, c-format
 msgid "Only binary files changed.\n"
 msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
 
-#: add-interactive.c:943 add-patch.c:1750 git-add--interactive.perl:1373
+#: add-interactive.c:945 add-patch.c:1756 git-add--interactive.perl:1373
 #, c-format
 msgid "No changes.\n"
 msgstr "Không có thay đổi nào.\n"
 
-#: add-interactive.c:947 git-add--interactive.perl:1381
+#: add-interactive.c:949 git-add--interactive.perl:1381
 msgid "Patch update"
 msgstr "Cập nhật miếng vá"
 
-#: add-interactive.c:986 git-add--interactive.perl:1794
+#: add-interactive.c:988 git-add--interactive.perl:1794
 msgid "Review diff"
 msgstr "Xem xét lại diff"
 
-#: add-interactive.c:1014
+#: add-interactive.c:1016
 msgid "show paths with changes"
 msgstr "hiển thị đường dẫn với các thay đổi"
 
-#: add-interactive.c:1016
+#: add-interactive.c:1018
 msgid "add working tree state to the staged set of changes"
 msgstr ""
 "thêm trạng thái cây làm việc vào tập hợp các thay đổi đã được đưa lên bệ "
 "phóng"
 
-#: add-interactive.c:1018
+#: add-interactive.c:1020
 msgid "revert staged set of changes back to the HEAD version"
 msgstr ""
 "hoàn nguyên lại tập hợp các thay đổi đã được đưa lên bệ phóng trở lại phiên "
 "bản HEAD"
 
-#: add-interactive.c:1020
+#: add-interactive.c:1022
 msgid "pick hunks and update selectively"
 msgstr "chọn các “khúc” và cập nhật có tuyển chọn"
 
-#: add-interactive.c:1022
+#: add-interactive.c:1024
 msgid "view diff between HEAD and index"
 msgstr "xem khác biệt giữa HEAD và mục lục"
 
-#: add-interactive.c:1024
+#: add-interactive.c:1026
 msgid "add contents of untracked files to the staged set of changes"
 msgstr ""
 "thêm nội dung của các tập tin chưa được theo dõi vào tập hợp các thay đổi đã "
 "được đưa lên bệ phóng"
 
-#: add-interactive.c:1032 add-interactive.c:1081
+#: add-interactive.c:1034 add-interactive.c:1083
 msgid "Prompt help:"
 msgstr "Trợ giúp về nhắc:"
 
-#: add-interactive.c:1034
+#: add-interactive.c:1036
 msgid "select a single item"
 msgstr "chọn một mục đơn"
 
-#: add-interactive.c:1036
+#: add-interactive.c:1038
 msgid "select a range of items"
 msgstr "chọn một vùng các mục"
 
-#: add-interactive.c:1038
+#: add-interactive.c:1040
 msgid "select multiple ranges"
 msgstr "chọn nhiều vùng"
 
-#: add-interactive.c:1040 add-interactive.c:1085
+#: add-interactive.c:1042 add-interactive.c:1087
 msgid "select item based on unique prefix"
 msgstr "chọn mục dựa trên tiền tố duy nhất"
 
-#: add-interactive.c:1042
+#: add-interactive.c:1044
 msgid "unselect specified items"
 msgstr "bỏ chọn các mục đã cho"
 
-#: add-interactive.c:1044
+#: add-interactive.c:1046
 msgid "choose all items"
 msgstr "chọn tất cả các mục"
 
-#: add-interactive.c:1046
+#: add-interactive.c:1048
 msgid "(empty) finish selecting"
 msgstr "(để trống) hoàn tất chọn lựa"
 
-#: add-interactive.c:1083
+#: add-interactive.c:1085
 msgid "select a numbered item"
 msgstr "tùy chọn mục bằng số"
 
-#: add-interactive.c:1087
+#: add-interactive.c:1089
 msgid "(empty) select nothing"
 msgstr "(để trống) không chọn gì"
 
-#: add-interactive.c:1095 builtin/clean.c:839 git-add--interactive.perl:1898
+#: add-interactive.c:1097 builtin/clean.c:839 git-add--interactive.perl:1898
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: add-interactive.c:1096 builtin/clean.c:840 git-add--interactive.perl:1895
+#: add-interactive.c:1098 builtin/clean.c:840 git-add--interactive.perl:1895
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: add-interactive.c:1148 git-add--interactive.perl:213
+#: add-interactive.c:1150 git-add--interactive.perl:213
 msgid "staged"
 msgstr "đã đưa lên bệ phóng"
 
-#: add-interactive.c:1148 git-add--interactive.perl:213
+#: add-interactive.c:1150 git-add--interactive.perl:213
 msgid "unstaged"
 msgstr "chưa đưa lên bệ phóng"
 
-#: add-interactive.c:1148 apply.c:5020 apply.c:5023 builtin/am.c:2367
-#: builtin/am.c:2370 builtin/bugreport.c:107 builtin/clone.c:128
-#: builtin/fetch.c:153 builtin/merge.c:287 builtin/pull.c:194
-#: builtin/submodule--helper.c:404 builtin/submodule--helper.c:1858
-#: builtin/submodule--helper.c:1861 builtin/submodule--helper.c:2504
-#: builtin/submodule--helper.c:2507 builtin/submodule--helper.c:2574
-#: builtin/submodule--helper.c:2579 builtin/submodule--helper.c:2812
+#: add-interactive.c:1150 apply.c:5002 apply.c:5005 builtin/am.c:2370
+#: builtin/am.c:2373 builtin/bugreport.c:107 builtin/clone.c:132
+#: builtin/fetch.c:154 builtin/merge.c:287 builtin/pull.c:194
+#: builtin/submodule--helper.c:412 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1875 builtin/submodule--helper.c:2709
+#: builtin/submodule--helper.c:2712 builtin/submodule--helper.c:2891
 #: git-add--interactive.perl:213
 msgid "path"
 msgstr "đường-dẫn"
 
-#: add-interactive.c:1155
+#: add-interactive.c:1157
 msgid "could not refresh index"
 msgstr "không thể đọc lại bảng mục lục"
 
-#: add-interactive.c:1169 builtin/clean.c:804 git-add--interactive.perl:1805
+#: add-interactive.c:1171 builtin/clean.c:804 git-add--interactive.perl:1805
 #, c-format
 msgid "Bye.\n"
 msgstr "Tạm biệt.\n"
@@ -544,24 +543,24 @@ msgstr "không thể phân tích cú pháp phần đầu của khúc “%.*s”"
 msgid "could not parse colored hunk header '%.*s'"
 msgstr "không thể phân tích cú pháp phần đầu khúc đã tô màu “%.*s”"
 
-#: add-patch.c:420
+#: add-patch.c:431
 msgid "could not parse diff"
 msgstr "không thể phân tích cú pháp khác biệt"
 
-#: add-patch.c:439
+#: add-patch.c:450
 msgid "could not parse colored diff"
 msgstr "không thể phân tích khác biệt được tô màu"
 
-#: add-patch.c:453
+#: add-patch.c:464
 #, c-format
 msgid "failed to run '%s'"
 msgstr "gặp lỗi khi chạy “%s”"
 
-#: add-patch.c:612
+#: add-patch.c:618
 msgid "mismatched output from interactive.diffFilter"
 msgstr "đầu ra không khớp từ interactive.diffFilter"
 
-#: add-patch.c:613
+#: add-patch.c:619
 msgid ""
 "Your filter must maintain a one-to-one correspondence\n"
 "between its input and output lines."
@@ -569,7 +568,7 @@ msgstr ""
 "Bộ lọc của bạn phải duy trì một quan hệ một-đến-một\n"
 "giữa các dòng đầu vào và đầu ra của nó."
 
-#: add-patch.c:791
+#: add-patch.c:797
 #, c-format
 msgid ""
 "expected context line #%d in\n"
@@ -578,7 +577,7 @@ msgstr ""
 "cần dòng ngữ cảnh #%d trong\n"
 "%.*s"
 
-#: add-patch.c:806
+#: add-patch.c:812
 #, c-format
 msgid ""
 "hunks do not overlap:\n"
@@ -591,11 +590,11 @@ msgstr ""
 "\tkhông được kết thúc bằng:\n"
 "%.*s"
 
-#: add-patch.c:1082 git-add--interactive.perl:1115
+#: add-patch.c:1088 git-add--interactive.perl:1115
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
 msgstr "Chế độ sửa khúc bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
 
-#: add-patch.c:1086
+#: add-patch.c:1092
 #, c-format
 msgid ""
 "---\n"
@@ -609,7 +608,7 @@ msgstr ""
 "Những dòng bắt đầu bằng %c sẽ bị loại bỏ.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: add-patch.c:1100 git-add--interactive.perl:1129
+#: add-patch.c:1106 git-add--interactive.perl:1129
 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"
@@ -619,11 +618,11 @@ msgstr ""
 "để sửa lần nữa. Nếu mọi dòng của khúc bị xóa bỏ, thế thì những\n"
 "sửa dổi sẽ bị loại bỏ, và khúc vẫn giữ nguyên.\n"
 
-#: add-patch.c:1133
+#: add-patch.c:1139
 msgid "could not parse hunk header"
 msgstr "không thể phân tích cú pháp phần đầu khúc"
 
-#: add-patch.c:1178
+#: add-patch.c:1184
 msgid "'git apply --cached' failed"
 msgstr "“git apply --cached” gặp lỗi"
 
@@ -639,26 +638,26 @@ msgstr "“git apply --cached” gặp lỗi"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: add-patch.c:1247 git-add--interactive.perl:1244
+#: add-patch.c:1253 git-add--interactive.perl:1244
 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]? "
 
-#: add-patch.c:1290
+#: add-patch.c:1296
 msgid "The selected hunks do not apply to the index!"
 msgstr "Các khúc đã chọn không được áp dụng vào bảng mục lục!"
 
-#: add-patch.c:1291 git-add--interactive.perl:1348
+#: add-patch.c:1297 git-add--interactive.perl:1348
 msgid "Apply them to the worktree anyway? "
 msgstr "Vẫn áp dụng chúng cho cây làm việc? "
 
-#: add-patch.c:1298 git-add--interactive.perl:1351
+#: add-patch.c:1304 git-add--interactive.perl:1351
 msgid "Nothing was applied.\n"
 msgstr "Đã không áp dụng gì cả.\n"
 
-#: add-patch.c:1355
+#: add-patch.c:1361
 msgid ""
 "j - leave this hunk undecided, see next undecided hunk\n"
 "J - leave this hunk undecided, see next hunk\n"
@@ -680,72 +679,72 @@ msgstr ""
 "e - sửa bằng tay khúc hiện hành\n"
 "? - hiển thị trợ giúp\n"
 
-#: add-patch.c:1517 add-patch.c:1527
+#: add-patch.c:1523 add-patch.c:1533
 msgid "No previous hunk"
 msgstr "Không có khúc kế trước"
 
-#: add-patch.c:1522 add-patch.c:1532
+#: add-patch.c:1528 add-patch.c:1538
 msgid "No next hunk"
 msgstr "Không có khúc kế tiếp"
 
-#: add-patch.c:1538
+#: add-patch.c:1544
 msgid "No other hunks to goto"
 msgstr "Không còn khúc nào để mà nhảy đến"
 
-#: add-patch.c:1549 git-add--interactive.perl:1608
+#: add-patch.c:1555 git-add--interactive.perl:1608
 msgid "go to which hunk (<ret> to see more)? "
 msgstr "nhảy đến khúc nào (<ret> để xem thêm)? "
 
-#: add-patch.c:1550 git-add--interactive.perl:1610
+#: add-patch.c:1556 git-add--interactive.perl:1610
 msgid "go to which hunk? "
 msgstr "nhảy đến khúc nào? "
 
-#: add-patch.c:1561
+#: add-patch.c:1567
 #, c-format
 msgid "Invalid number: '%s'"
 msgstr "Số không hợp lệ: “%s”"
 
-#: add-patch.c:1566
+#: add-patch.c:1572
 #, c-format
 msgid "Sorry, only %d hunk available."
 msgid_plural "Sorry, only %d hunks available."
 msgstr[0] "Rất tiếc, chỉ có sẵn %d khúc."
 
-#: add-patch.c:1575
+#: add-patch.c:1581
 msgid "No other hunks to search"
 msgstr "Không còn khúc nào để mà tìm kiếm"
 
-#: add-patch.c:1581 git-add--interactive.perl:1663
+#: add-patch.c:1587 git-add--interactive.perl:1663
 msgid "search for regex? "
 msgstr "tìm kiếm cho biểu thức chính quy? "
 
-#: add-patch.c:1596
+#: add-patch.c:1602
 #, c-format
 msgid "Malformed search regexp %s: %s"
 msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s"
 
-#: add-patch.c:1613
+#: add-patch.c:1619
 msgid "No hunk matches the given pattern"
 msgstr "Không thấy khúc nào khớp mẫu đã cho"
 
-#: add-patch.c:1620
+#: add-patch.c:1626
 msgid "Sorry, cannot split this hunk"
 msgstr "Rất tiếc, không thể chia nhỏ khúc này"
 
-#: add-patch.c:1624
+#: add-patch.c:1630
 #, c-format
 msgid "Split into %d hunks."
 msgstr "Chi nhỏ thành %d khúc."
 
-#: add-patch.c:1628
+#: add-patch.c:1634
 msgid "Sorry, cannot edit this hunk"
 msgstr "Rất tiếc, không thể sửa khúc này"
 
-#: add-patch.c:1680
+#: add-patch.c:1686
 msgid "'git apply' failed"
 msgstr "“git apply” gặp lỗi"
 
-#: advice.c:78
+#: advice.c:81
 #, c-format
 msgid ""
 "\n"
@@ -754,47 +753,47 @@ msgstr ""
 "\n"
 "Tắt lời nhắn này bằng \"git config advice.%s false\""
 
-#: advice.c:94
+#: advice.c:97
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:178
+#: advice.c:181
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 "Cherry-picking là không thể thực hiện bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:180
+#: advice.c:183
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 "Không thể thực hiện chuyển giao được bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:182
+#: advice.c:185
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 "Không thể thực hiện hòa trộn bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:184
+#: advice.c:187
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 "Không thể thực hiện kéo về bởi vì bạn có những tập tin chưa được hòa trộn."
 
-#: advice.c:186
+#: advice.c:189
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 "Không thể thực hiện hoàn nguyên bởi vì bạn có những tập tin chưa được hòa "
 "trộn."
 
-#: advice.c:188
+#: advice.c:191
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 "Việc này không thể thực hiện với %s bởi vì bạn có những tập tin chưa được "
 "hòa trộn."
 
-#: advice.c:196
+#: advice.c:199
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -802,27 +801,27 @@ msgstr ""
 "Sửa chúng trong cây làm việc, và sau đó dùng lệnh “git add/rm <tập-tin>”\n"
 "dành riêng cho việc đánh dấu cần giải quyết và tạo lần chuyển giao."
 
-#: advice.c:204
+#: advice.c:207
 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:209 builtin/merge.c:1382
+#: advice.c:212 builtin/merge.c:1388
 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)."
 
-#: advice.c:211
+#: advice.c:214
 msgid "Please, commit your changes before merging."
 msgstr "Vui lòng chuyển giao các thay đổi trước khi hòa trộn."
 
-#: advice.c:212
+#: advice.c:215
 msgid "Exiting because of unfinished merge."
 msgstr "Thoát ra bởi vì việc hòa trộn không hoàn tất."
 
-#: advice.c:217
+#: advice.c:220
 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."
 
-#: advice.c:227
+#: advice.c:230
 #, c-format
 msgid ""
 "The following paths and/or pathspecs matched paths that exist\n"
@@ -834,7 +833,7 @@ msgstr ""
 "bên ngoài định nghĩa “sparse-checkout” của bạn, vì vậy sẽ không\n"
 "cập nhật trong chỉ mục:\n"
 
-#: advice.c:234
+#: advice.c:237
 msgid ""
 "If you intend to update such entries, try one of the following:\n"
 "* Use the --sparse option.\n"
@@ -844,7 +843,7 @@ msgstr ""
 "* Sử dụng tùy chọn --sparse.\n"
 "* Vô hiệu hóa hoặc sửa đổi các quy tắc thưa thớt."
 
-#: advice.c:242
+#: advice.c:245
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -904,83 +903,86 @@ msgstr "không nhận ra tùy chọn về khoảng trắng “%s”"
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "không nhận ra tùy chọn bỏ qua khoảng trắng “%s”"
 
-#: apply.c:136 archive.c:584 range-diff.c:559 revision.c:2303 revision.c:2307
-#: revision.c:2316 revision.c:2321 revision.c:2527 revision.c:2870
-#: revision.c:2874 revision.c:2880 revision.c:2883 revision.c:2885
-#: builtin/add.c:510 builtin/add.c:512 builtin/add.c:529 builtin/add.c:541
-#: builtin/branch.c:727 builtin/checkout.c:467 builtin/checkout.c:470
-#: builtin/checkout.c:1644 builtin/checkout.c:1754 builtin/checkout.c:1757
-#: builtin/clone.c:906 builtin/commit.c:358 builtin/commit.c:361
-#: builtin/commit.c:1196 builtin/describe.c:593 builtin/diff-tree.c:155
-#: builtin/difftool.c:733 builtin/fast-export.c:1245 builtin/fetch.c:2038
-#: builtin/fetch.c:2043 builtin/index-pack.c:1852 builtin/init-db.c:560
-#: builtin/log.c:1946 builtin/log.c:1948 builtin/ls-files.c:778
-#: builtin/merge.c:1403 builtin/merge.c:1405 builtin/pack-objects.c:4073
-#: builtin/push.c:592 builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
-#: builtin/rebase.c:1193 builtin/rebase.c:1195 builtin/rebase.c:1199
-#: builtin/repack.c:684 builtin/repack.c:715 builtin/reset.c:426
-#: builtin/reset.c:462 builtin/rev-list.c:541 builtin/show-branch.c:710
-#: builtin/stash.c:1707 builtin/stash.c:1710 builtin/submodule--helper.c:1316
-#: builtin/submodule--helper.c:2975 builtin/tag.c:526 builtin/tag.c:572
-#: builtin/worktree.c:702
+#: apply.c:138 archive.c:584 parse-options.c:1122 range-diff.c:555
+#: revision.c:2314 revision.c:2318 revision.c:2327 revision.c:2332
+#: revision.c:2560 revision.c:2895 revision.c:2899 revision.c:2907
+#: revision.c:2910 revision.c:2912 builtin/add.c:507 builtin/add.c:509
+#: builtin/add.c:515 builtin/add.c:527 builtin/branch.c:755
+#: builtin/checkout.c:472 builtin/checkout.c:475 builtin/checkout.c:1663
+#: builtin/checkout.c:1773 builtin/checkout.c:1776 builtin/clone.c:921
+#: builtin/commit.c:359 builtin/commit.c:362 builtin/commit.c:1200
+#: builtin/commit.c:1256 builtin/commit.c:1273 builtin/describe.c:593
+#: builtin/diff-tree.c:155 builtin/difftool.c:733 builtin/fast-export.c:1245
+#: builtin/fetch.c:2141 builtin/fetch.c:2162 builtin/fetch.c:2167
+#: builtin/help.c:602 builtin/index-pack.c:1858 builtin/init-db.c:560
+#: builtin/log.c:1968 builtin/log.c:1970 builtin/ls-files.c:778
+#: builtin/merge-base.c:163 builtin/merge-base.c:169 builtin/merge.c:1409
+#: builtin/merge.c:1411 builtin/pack-objects.c:4098 builtin/push.c:592
+#: builtin/push.c:630 builtin/push.c:636 builtin/push.c:641
+#: builtin/rebase.c:1221 builtin/rebase.c:1223 builtin/rebase.c:1227
+#: builtin/repack.c:688 builtin/repack.c:719 builtin/reset.c:433
+#: builtin/reset.c:469 builtin/rev-list.c:537 builtin/show-branch.c:711
+#: builtin/stash.c:1696 builtin/stash.c:1699 builtin/submodule--helper.c:1328
+#: builtin/submodule--helper.c:3054 builtin/tag.c:527 builtin/tag.c:573
+#: builtin/worktree.c:779
 #, c-format
 msgid "options '%s' and '%s' cannot be used together"
 msgstr "tùy chọn '%s' và '%s' không thể dùng cùng nhau"
 
-#: apply.c:139 apply.c:150 apply.c:153
+#: apply.c:141 apply.c:152 apply.c:155
 #, c-format
 msgid "'%s' outside a repository"
 msgstr "'%s' ở ngoài một kho chứa"
 
-#: apply.c:800
+#: apply.c:807
 #, c-format
 msgid "Cannot prepare timestamp regexp %s"
 msgstr ""
 "Không thể chuẩn bị biểu thức chính qui dấu vết thời gian (timestamp regexp) "
 "%s"
 
-#: apply.c:809
+#: apply.c:816
 #, c-format
 msgid "regexec returned %d for input: %s"
 msgstr "thi hành biểu thức chính quy trả về %d cho đầu vào: %s"
 
-#: apply.c:883
+#: apply.c:890
 #, c-format
 msgid "unable to find filename in patch at line %d"
 msgstr "không thể tìm thấy tên tập tin trong miếng vá tại dòng %d"
 
-#: apply.c:921
+#: apply.c:928
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
 "git apply: git-diff sai - cần /dev/null, nhưng lại nhận được %s trên dòng %d"
 
-#: apply.c:927
+#: apply.c:934
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin mới không nhất quán trên dòng %d"
 
-#: apply.c:928
+#: apply.c:935
 #, c-format
 msgid "git apply: bad git-diff - inconsistent old filename on line %d"
 msgstr "git apply: git-diff sai - tên tập tin cũ không nhất quán trên dòng %d"
 
-#: apply.c:933
+#: apply.c:940
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: git-diff sai - cần “/dev/null” trên dòng %d"
 
-#: apply.c:962
+#: apply.c:969
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "chế độ không hợp lệ trên dòng %d: %s"
 
-#: apply.c:1281
+#: apply.c:1288
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "phần đầu mâu thuẫn dòng %d và %d"
 
-#: apply.c:1371
+#: apply.c:1378
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -992,91 +994,91 @@ msgstr[0] ""
 "phần đầu diff cho git  thiếu thông tin tên tập tin khi gỡ bỏ đi %d trong "
 "thành phần dẫn đầu tên của đường dẫn (dòng %d)"
 
-#: apply.c:1384
+#: apply.c:1391
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr "phần đầu diff cho git thiếu thông tin tên tập tin (dòng %d)"
 
-#: apply.c:1480
+#: apply.c:1487
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: apply.c:1549
+#: apply.c:1556
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
 msgstr "miếng vá phân mảnh mà không có phần đầu tại dòng %d: %.*s"
 
-#: apply.c:1752
+#: apply.c:1759
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: apply.c:1754
+#: apply.c:1761
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: apply.c:1788
+#: apply.c:1795
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: apply.c:1825
+#: apply.c:1832
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "tập tin mới %s phụ thuộc vào nội dung cũ"
 
-#: apply.c:1827
+#: apply.c:1834
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "tập tin đã xóa %s vẫn còn nội dung"
 
-#: apply.c:1830
+#: apply.c:1837
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** cảnh báo: tập tin %s trở nên trống rỗng nhưng không bị xóa"
 
-#: apply.c:1978
+#: apply.c:1985
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "miếng vá định dạng nhị phân sai hỏng tại dòng %d: %.*s"
 
-#: apply.c:2015
+#: apply.c:2022
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "miếng vá định dạng nhị phân không được nhận ra tại dòng %d"
 
-#: apply.c:2177
+#: apply.c:2184
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2263
+#: apply.c:2270
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2267
+#: apply.c:2274
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2936
+#: apply.c:2943
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3057
+#: apply.c:3064
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "Khối dữ liệu #%d thành công tại %d (offset %d dòng)."
 
-#: apply.c:3069
+#: apply.c:3076
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Ngữ cảnh bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: apply.c:3075
+#: apply.c:3082
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -1085,457 +1087,457 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3097
+#: apply.c:3104
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "thiếu dữ liệu của miếng vá định dạng nhị phân cho “%s”"
 
-#: apply.c:3105
+#: apply.c:3112
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "không thể reverse-apply một miếng vá nhị phân mà không đảo ngược khúc thành "
 "“%s”"
 
-#: apply.c:3152
+#: apply.c:3159
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "không thể áp dụng miếng vá nhị phân thành “%s” mà không có dòng chỉ mục đầy "
 "đủ"
 
-#: apply.c:3163
+#: apply.c:3170
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "miếng vá áp dụng cho “%s” (%s), cái mà không khớp với các nội dung hiện tại."
 
-#: apply.c:3171
+#: apply.c:3178
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "miếng vá áp dụng cho một “%s” trống rỗng nhưng nó lại không trống"
 
-#: apply.c:3189
+#: apply.c:3196
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "không thể đọc postimage %s cần thiết cho “%s”"
 
-#: apply.c:3202
+#: apply.c:3209
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "miếng vá định dạng nhị phân không được áp dụng cho “%s”"
 
-#: apply.c:3209
+#: apply.c:3216
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "vá nhị phân cho “%s” tạo ra kết quả không chính xác (mong chờ %s, lại nhận "
 "%s)"
 
-#: apply.c:3230
+#: apply.c:3237
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3353
+#: apply.c:3360
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:104 pack-revindex.c:214
-#: setup.c:309
+#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:105 pack-revindex.c:214
+#: setup.c:310
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3413
+#: apply.c:3420
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "đọc từ “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:3442 apply.c:3711
+#: apply.c:3449 apply.c:3721
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3549 apply.c:3726
+#: apply.c:3559 apply.c:3736
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s: không tồn tại trong bảng mục lục"
 
-#: apply.c:3558 apply.c:3734 apply.c:3978
+#: apply.c:3568 apply.c:3744 apply.c:3960
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3595
+#: apply.c:3605
 msgid "repository lacks the necessary blob to perform 3-way merge."
 msgstr "kho thiếu đối tượng blob cần thiết để thực hiện hòa trộn “3-way”."
 
-#: apply.c:3598
+#: apply.c:3608
 #, c-format
 msgid "Performing three-way merge...\n"
 msgstr "Đang thực hiện hòa trộn “3-đường”…\n"
 
-#: apply.c:3614 apply.c:3618
+#: apply.c:3624 apply.c:3628
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "không thể đọc nội dung hiện hành của “%s”"
 
-#: apply.c:3630
+#: apply.c:3640
 #, c-format
 msgid "Failed to perform three-way merge...\n"
 msgstr "Gặp lỗi khi thực hiện hòa trộn kiểu “three-way”…\n"
 
-#: apply.c:3644
+#: apply.c:3654
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Đã áp dụng miếng vá %s với các xung đột.\n"
 
-#: apply.c:3649
+#: apply.c:3659
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ.\n"
 
-#: apply.c:3666
+#: apply.c:3676
 #, c-format
 msgid "Falling back to direct application...\n"
 msgstr "Đang trở lại ứng dụng chi phối…\n"
 
-#: apply.c:3678
+#: apply.c:3688
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3751
+#: apply.c:3761
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3753
+#: apply.c:3763
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3918 apply.c:3920 read-cache.c:889 read-cache.c:918
-#: read-cache.c:1381
+#: apply.c:3900 apply.c:3902 read-cache.c:903 read-cache.c:932
+#: read-cache.c:1399
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3976
+#: apply.c:3958
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3980
+#: apply.c:3962
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s: đã sẵn có trong thư mục đang làm việc"
 
-#: apply.c:4000
+#: apply.c:3982
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)"
 
-#: apply.c:4005
+#: apply.c:3987
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o) của %s"
 
-#: apply.c:4025
+#: apply.c:4007
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "tập tin chịu tác động “%s” vượt ra ngoài liên kết mềm"
 
-#: apply.c:4029
+#: apply.c:4011
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:4044
+#: apply.c:4026
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4136
+#: apply.c:4118
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "thông tin sha1 thiếu hoặc không dùng được cho mô-đun %s"
 
-#: apply.c:4143
+#: apply.c:4125
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "thay đổi chế độ cho %s, cái mà không phải là HEAD hiện tại"
 
-#: apply.c:4146
+#: apply.c:4128
 #, c-format
 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:4155
+#: apply.c:4137
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "không thể thêm %s vào chỉ mục tạm thời"
 
-#: apply.c:4165
+#: apply.c:4147
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "không thể ghi mục lục tạm vào %s"
 
-#: apply.c:4303
+#: apply.c:4285
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4337
+#: apply.c:4319
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4343
+#: apply.c:4325
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy thống kê về tập tin %s mới hơn đã được tạo"
 
-#: apply.c:4351
+#: apply.c:4333
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo “kho lưu đằng sau” cho tập tin được tạo mới hơn %s"
 
-#: apply.c:4357 apply.c:4502
+#: apply.c:4339 apply.c:4484
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4400 builtin/bisect--helper.c:540 builtin/gc.c:2258
+#: apply.c:4382 builtin/bisect--helper.c:540 builtin/gc.c:2258
 #: builtin/gc.c:2293
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4404
+#: apply.c:4386
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4474
+#: apply.c:4456
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin “%s” chế độ %o"
 
-#: apply.c:4572
+#: apply.c:4554
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4580
+#: apply.c:4562
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4583
+#: apply.c:4565
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối…"
 
-#: apply.c:4594
+#: apply.c:4576
 #, c-format
 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:4602
+#: apply.c:4584
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4616
+#: apply.c:4598
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4620
+#: apply.c:4602
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4749
+#: apply.c:4731
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Bỏ qua đường dẫn “%s”."
 
-#: apply.c:4758
+#: apply.c:4740
 msgid "No valid patches in input (allow with \"--allow-empty\")"
 msgstr ""
 "Không có miếng vá hợp lệ nào trong đầu vào (cho phép với \"--allow-empty\")"
 
-#: apply.c:4779
+#: apply.c:4761
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4936
+#: apply.c:4918
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4963
+#: apply.c:4945
 #, 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:4969 apply.c:4984
+#: apply.c:4951 apply.c:4966
 #, 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:4977
+#: apply.c:4959
 #, 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:4993 builtin/add.c:704 builtin/mv.c:338 builtin/rm.c:430
+#: apply.c:4975 builtin/add.c:690 builtin/mv.c:338 builtin/rm.c:430
 msgid "Unable to write new index file"
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: apply.c:5021
+#: apply.c:5003
 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:5024
+#: apply.c:5006
 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:5026 builtin/am.c:2376
+#: apply.c:5008 builtin/am.c:2379
 msgid "num"
 msgstr "số"
 
-#: apply.c:5027
+#: apply.c:5009
 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:5030
+#: apply.c:5012
 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:5032
+#: apply.c:5014
 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:5036
+#: apply.c:5018
 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:5038
+#: apply.c:5020
 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:5040
+#: apply.c:5022
 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:5042
+#: apply.c:5024
 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:5044
+#: apply.c:5026
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "đánh dấu các tập tin mới với “git add --intent-to-add”"
 
-#: apply.c:5046
+#: apply.c:5028
 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:5048
+#: apply.c:5030
 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:5051
+#: apply.c:5033
 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:5053
+#: apply.c:5035
 msgid "attempt three-way merge, fall back on normal patch if that fails"
 msgstr ""
 "thử hòa trộn kiểu three-way, quay lại dán bình thường nếu không thể thực "
 "hiện được"
 
-#: apply.c:5055
+#: apply.c:5037
 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:5058 builtin/checkout-index.c:196
+#: apply.c:5040 builtin/checkout-index.c:230
 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:5060
+#: apply.c:5042
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng ngữ cảnh khớp"
 
-#: apply.c:5061 builtin/am.c:2352 builtin/am.c:2355
+#: apply.c:5043 builtin/am.c:2355 builtin/am.c:2358
 #: builtin/interpret-trailers.c:98 builtin/interpret-trailers.c:100
-#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3960
-#: builtin/rebase.c:1051
+#: builtin/interpret-trailers.c:102 builtin/pack-objects.c:3983
+#: builtin/rebase.c:1079
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:5062
+#: apply.c:5044
 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:5065 apply.c:5068
+#: apply.c:5047 apply.c:5050
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi tìm ngữ cảnh"
 
-#: apply.c:5071
+#: apply.c:5053
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:5073
+#: apply.c:5055
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng ngữ cảnh"
 
-#: apply.c:5075
+#: apply.c:5057
 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:5077
+#: apply.c:5059
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5080
+#: apply.c:5062
 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:5083
+#: apply.c:5065
 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:5085 builtin/am.c:2364
+#: apply.c:5067 builtin/am.c:2367
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:5086
+#: apply.c:5068
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
-#: apply.c:5089
+#: apply.c:5071
 msgid "don't return error for empty patches"
 msgstr "đừng trả về lỗi khi các miếng vá trống rỗng"
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:346
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "không thể stream blob “%s”"
 
-#: archive-tar.c:265 archive-zip.c:358
+#: archive-tar.c:265 archive-zip.c:359
 #, c-format
 msgid "unsupported file mode: 0%o (SHA1: %s)"
 msgstr "chế độ tập tin không được hỗ trợ: 0%o (SHA1: %s)"
@@ -1554,22 +1556,22 @@ msgstr "không thể chuyển hướng mô tả"
 msgid "'%s' filter reported error"
 msgstr "bộ lọc “%s” đã báo cáo lỗi"
 
-#: archive-zip.c:318
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "đường dẫn không hợp lệ UTF-8: %s"
 
-#: archive-zip.c:322
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "đường dẫn quá dài (%d ký tự, SHA1: %s): %s"
 
-#: archive-zip.c:469 builtin/pack-objects.c:365 builtin/pack-objects.c:368
+#: archive-zip.c:470 builtin/pack-objects.c:363 builtin/pack-objects.c:366
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
 
-#: archive-zip.c:603
+#: archive-zip.c:604
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "dấu vết thời gian là quá lớn cho hệ thống này: %<PRIuMAX>"
@@ -1578,10 +1580,6 @@ msgstr "dấu vết thời gian là quá lớn cho hệ thống này: %<PRIuMAX>
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<các tùy chọn>] <tree-ish> [</đường/dẫn>…]"
 
-#: archive.c:15
-msgid "git archive --list"
-msgstr "git archive --list"
-
 #: archive.c:16
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
@@ -1594,12 +1592,12 @@ msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
 #: archive.c:188 archive.c:341 builtin/gc.c:497 builtin/notes.c:238
-#: builtin/tag.c:578
+#: builtin/tag.c:579
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: archive.c:426 builtin/add.c:215 builtin/add.c:671 builtin/rm.c:334
+#: archive.c:426 builtin/add.c:214 builtin/add.c:657 builtin/rm.c:334
 #, 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"
@@ -1641,7 +1639,7 @@ msgstr "định_dạng"
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:552 builtin/log.c:1790
+#: archive.c:552 builtin/log.c:1809
 msgid "prefix"
 msgstr "tiền_tố"
 
@@ -1649,12 +1647,12 @@ msgstr "tiền_tố"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "nối thêm tiền tố vào từng đường dẫn tập tin trong kho lưu"
 
-#: archive.c:554 archive.c:557 builtin/blame.c:880 builtin/blame.c:884
-#: builtin/blame.c:885 builtin/commit-tree.c:115 builtin/config.c:135
+#: archive.c:554 archive.c:557 builtin/blame.c:881 builtin/blame.c:885
+#: builtin/blame.c:886 builtin/commit-tree.c:115 builtin/config.c:135
 #: builtin/fast-export.c:1181 builtin/fast-export.c:1183
-#: builtin/fast-export.c:1187 builtin/grep.c:935 builtin/hash-object.c:103
+#: builtin/fast-export.c:1187 builtin/grep.c:936 builtin/hash-object.c:104
 #: builtin/ls-files.c:654 builtin/ls-files.c:657 builtin/notes.c:410
-#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:190
+#: builtin/notes.c:576 builtin/read-tree.c:115 parse-options.h:195
 msgid "file"
 msgstr "tập_tin"
 
@@ -1682,8 +1680,8 @@ msgstr "đặt mức nén"
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:568 builtin/archive.c:89 builtin/clone.c:118 builtin/clone.c:121
-#: builtin/submodule--helper.c:1870 builtin/submodule--helper.c:2513
+#: archive.c:568 builtin/archive.c:89 builtin/clone.c:122 builtin/clone.c:125
+#: builtin/submodule--helper.c:1884 builtin/submodule--helper.c:2718
 msgid "repo"
 msgstr "kho"
 
@@ -1704,11 +1702,12 @@ msgstr "đường dẫn đến lệnh git-upload-archive trên máy chủ"
 msgid "Unexpected option --remote"
 msgstr "Gặp tùy chọn không cần --remote"
 
-#: archive.c:580 fetch-pack.c:300 revision.c:2887 builtin/add.c:544
-#: builtin/add.c:576 builtin/checkout.c:1763 builtin/commit.c:370
-#: builtin/fast-export.c:1230 builtin/index-pack.c:1848 builtin/log.c:2115
-#: builtin/reset.c:435 builtin/reset.c:493 builtin/rm.c:281
-#: builtin/stash.c:1719 builtin/worktree.c:508 http-fetch.c:144
+#: archive.c:580 fetch-pack.c:300 revision.c:2914 builtin/add.c:530
+#: builtin/add.c:562 builtin/checkout.c:1782 builtin/clone.c:1099
+#: builtin/clone.c:1102 builtin/commit.c:371 builtin/fast-export.c:1230
+#: builtin/index-pack.c:1854 builtin/log.c:2140 builtin/reset.c:442
+#: builtin/reset.c:500 builtin/rm.c:281 builtin/stash.c:1708
+#: builtin/worktree.c:580 builtin/worktree.c:781 http-fetch.c:144
 #: http-fetch.c:153
 #, c-format
 msgid "the option '%s' requires '%s'"
@@ -1728,17 +1727,17 @@ msgstr "Không hiểu định dạng “%s”"
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
 
-#: attr.c:203
+#: attr.c:202
 #, 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:364
+#: attr.c:363
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s không được phép: %s:%d"
 
-#: attr.c:404
+#: attr.c:403
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1756,12 +1755,12 @@ msgstr "Nội dung được trích dẫn sai trong tập tin “%s”: %s"
 msgid "We cannot bisect more!\n"
 msgstr "Chúng tôi không bisect thêm nữa!\n"
 
-#: bisect.c:764
+#: bisect.c:765
 #, 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:789
+#: bisect.c:790
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1770,7 +1769,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:794
+#: bisect.c:795
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1779,7 +1778,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:799
+#: bisect.c:800
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1788,7 +1787,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:807
+#: bisect.c:808
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1799,7 +1798,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:820
+#: bisect.c:821
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1811,36 +1810,36 @@ msgstr ""
 "%s.\n"
 "Chúng tôi vẫn cứ tiếp tục."
 
-#: bisect.c:859
+#: bisect.c:860
 #, 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:909
+#: bisect.c:910
 #, c-format
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:939
+#: bisect.c:940
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:985 builtin/merge.c:155
+#: bisect.c:986 builtin/merge.c:155
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
 
-#: bisect.c:1025
+#: bisect.c:1026
 msgid "reading bisect refs failed"
 msgstr "việc đọc tham chiếu bisect gặp lỗi"
 
-#: bisect.c:1055
+#: bisect.c:1056
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s là cả %s và %s\n"
 
-#: bisect.c:1064
+#: bisect.c:1065
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1849,7 +1848,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:1093
+#: bisect.c:1094
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1858,52 +1857,52 @@ msgstr[0] "(ước chừng %d bước)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1099
+#: bisect.c:1100
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "Bisecting: còn %d điểm xét duyệt để kiểm sau %s này\n"
 
-#: blame.c:2776
+#: blame.c:2773
 msgid "--contents and --reverse do not blend well."
 msgstr "tùy chọn --contents và --reverse không được trộn vào nhau."
 
-#: blame.c:2790
+#: blame.c:2787
 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"
 
-#: blame.c:2811
+#: blame.c:2808
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "cùng sử dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:2820 bundle.c:224 midx.c:1042 ref-filter.c:2370 remote.c:2158
-#: sequencer.c:2352 sequencer.c:4899 submodule.c:883 builtin/commit.c:1114
-#: builtin/log.c:429 builtin/log.c:1036 builtin/log.c:1644 builtin/log.c:2071
-#: builtin/log.c:2362 builtin/merge.c:431 builtin/pack-objects.c:3373
-#: builtin/pack-objects.c:3775 builtin/pack-objects.c:3790
+#: blame.c:2817 bundle.c:231 midx.c:1058 ref-filter.c:2371 remote.c:2157
+#: sequencer.c:2348 sequencer.c:4872 submodule.c:913 builtin/commit.c:1118
+#: builtin/log.c:437 builtin/log.c:1055 builtin/log.c:1663 builtin/log.c:2096
+#: builtin/log.c:2387 builtin/merge.c:431 builtin/pack-objects.c:3381
+#: builtin/pack-objects.c:3781 builtin/pack-objects.c:3796
 #: builtin/shortlog.c:255
 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"
 
-#: blame.c:2838
+#: blame.c:2835
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "cùng sử dụng --reverse --first-parent yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: blame.c:2849
+#: blame.c:2846
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: blame.c:2860
+#: blame.c:2857
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
 
-#: branch.c:77
+#: branch.c:93
 msgid ""
 "cannot inherit upstream tracking configuration of multiple refs when "
 "rebasing is requested"
@@ -1911,31 +1910,31 @@ msgstr ""
 "không thể kế thừa cấu hình theo dõi thượng nguồn của nhiều tham chiếu khi mà "
 "lệnh cải tổ được yêu cầu"
 
-#: branch.c:88
+#: branch.c:104
 #, c-format
 msgid "not setting branch '%s' as its own upstream"
 msgstr "không cài đặt nhánh '%s' như là thượng nguồn của nó"
 
-#: branch.c:144
+#: branch.c:160
 #, c-format
 msgid "branch '%s' set up to track '%s' by rebasing."
 msgstr "nhánh “%s” cài đặt để theo dõi “%s” bằng cách rebase."
 
-#: branch.c:145
+#: branch.c:161
 #, c-format
 msgid "branch '%s' set up to track '%s'."
 msgstr "nhánh “%s” cài đặt để theo dõi “%s”."
 
-#: branch.c:148
+#: branch.c:164
 #, c-format
 msgid "branch '%s' set up to track:"
 msgstr "nhánh “%s” cài đặt để theo dõi:"
 
-#: branch.c:160
+#: branch.c:176
 msgid "unable to write upstream branch configuration"
 msgstr "không thể ghi cấu hình nhánh thượng nguồn"
 
-#: branch.c:162
+#: branch.c:178
 msgid ""
 "\n"
 "After fixing the error cause you may try to fix up\n"
@@ -1945,52 +1944,90 @@ msgstr ""
 "Sau khi sửa nguyên nhân gây lỗi bạn có lẻ cần thử sửa\n"
 "thông tin theo dõi máy chủ bằng cách gọi lệnh:"
 
-#: branch.c:203
+#: branch.c:219
 #, c-format
 msgid "asked to inherit tracking from '%s', but no remote is set"
 msgstr ""
 "đã hỏi để kế thừa theo dõi từ '%s', nhưng không có máy chủ nào được đặt"
 
-#: branch.c:209
+#: branch.c:225
 #, c-format
 msgid "asked to inherit tracking from '%s', but no merge configuration is set"
 msgstr ""
 "đã hỏi để kế thừa theo dõi từ '%s', nhưng không có cấu hình hòa trộn nào "
 "được đặt"
 
-#: branch.c:252
+#: branch.c:277
 #, c-format
-msgid "not tracking: ambiguous information for ref %s"
-msgstr "không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
+msgid "not tracking: ambiguous information for ref '%s'"
+msgstr "không theo dõi: thông tin chưa rõ ràng cho tham chiếu '%s'"
 
-#: branch.c:287
+#. TRANSLATORS: This is a line listing a remote with duplicate
+#. refspecs in the advice message below. For RTL languages you'll
+#. probably want to swap the "%s" and leading "  " space around.
+#.
+#. TRANSLATORS: This is line item of ambiguous object output
+#. from describe_ambiguous_object() above. For RTL languages
+#. you'll probably want to swap the "%s" and leading " " space
+#. around.
+#.
+#: branch.c:289 object-name.c:464
+#, c-format
+msgid "  %s\n"
+msgstr "  %s\n"
+
+#. TRANSLATORS: The second argument is a \n-delimited list of
+#. duplicate refspecs, composed above.
+#.
+#: branch.c:295
+#, c-format
+msgid ""
+"There are multiple remotes whose fetch refspecs map to the remote\n"
+"tracking ref '%s':\n"
+"%s\n"
+"This is typically a configuration error.\n"
+"\n"
+"To support setting up tracking branches, ensure that\n"
+"different remotes' fetch refspecs map into different\n"
+"tracking namespaces."
+msgstr ""
+"Có nhiều máy chủ những cái lấy ánh xạ refspecs tham chiếu theo\n"
+"dõi máy chủ '%s':\n"
+"%s\n"
+"Đây thường là lỗi cấu hình.\n"
+"\n"
+"Để hỗ trợ thiết lập các nhánh theo dõi, hãy đảm bảo rằng\n"
+"các máy chủ khác nhau lấy các refspecs ánh xạ đến\n"
+"không gian tên theo dõi khác."
+
+#: branch.c:344
 #, c-format
 msgid "'%s' is not a valid branch name"
 msgstr "“%s” không phải là một tên nhánh hợp lệ"
 
-#: branch.c:307
+#: branch.c:364
 #, c-format
 msgid "a branch named '%s' already exists"
 msgstr "đã có nhánh mang tên “%s”"
 
-#: branch.c:313
+#: branch.c:370
 #, c-format
 msgid "cannot force update the branch '%s' checked out at '%s'"
 msgstr "không thể ép buộc cập nhật nhánh “%s” đã được lấy ra tại “%s”"
 
-#: branch.c:336
+#: branch.c:393
 #, c-format
 msgid "cannot set up tracking information; starting point '%s' is not a branch"
 msgstr ""
 "không thể cài đặt thông tin theo dõi; điểm bắt đầu “%s” không phải là một "
 "nhánh"
 
-#: branch.c:338
+#: branch.c:395
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "nhánh thượng nguồn đã yêu cầu “%s” không tồn tại"
 
-#: branch.c:340
+#: branch.c:397
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -2010,124 +2047,143 @@ msgstr ""
 "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n"
 "\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:384 builtin/replace.c:321 builtin/replace.c:377
+#: branch.c:445 builtin/replace.c:321 builtin/replace.c:377
 #: builtin/replace.c:423 builtin/replace.c:453
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "không phải là tên đối tượng hợp lệ: “%s”"
 
-#: branch.c:404
+#: branch.c:465
 #, c-format
 msgid "ambiguous object name: '%s'"
 msgstr "tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:409
+#: branch.c:470
 #, c-format
 msgid "not a valid branch point: '%s'"
 msgstr "không phải là một điểm nhánh hợp lệ: “%s”"
 
-#: branch.c:469
+#: branch.c:658
+#, c-format
+msgid "submodule '%s': unable to find submodule"
+msgstr "mô-đun-con “%s”: không thể tìm thấy mô-đun-con"
+
+#: branch.c:661
+#, c-format
+msgid ""
+"You may try updating the submodules using 'git checkout %s && git submodule "
+"update --init'"
+msgstr ""
+"Bạn có thể thử cập nhật các mô-đun-con bằng cách sử dụng 'git checkout %s && "
+"git submodule update --init'"
+
+#: branch.c:672 branch.c:698
+#, c-format
+msgid "submodule '%s': cannot create branch '%s'"
+msgstr "mô-đun-con “%s”: không thể tạo nhánh “%s”"
+
+#: branch.c:730
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã được lấy ra tại “%s” rồi"
 
-#: branch.c:494
+#: branch.c:755
 #, 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"
 
-#: bundle.c:44
+#: bundle.c:45
 #, c-format
 msgid "unrecognized bundle hash algorithm: %s"
 msgstr "không hiểu thuật toán băm dữ liệu bundle: %s"
 
-#: bundle.c:48
+#: bundle.c:53
 #, c-format
 msgid "unknown capability '%s'"
 msgstr "không hiểu dung lượng “%s”"
 
-#: bundle.c:74
+#: bundle.c:79
 #, c-format
 msgid "'%s' does not look like a v2 or v3 bundle file"
 msgstr "“%s” không giống như tập tin v2 hay v3 bundle (định dạng dump của git)"
 
-#: bundle.c:113
+#: bundle.c:118
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:140 rerere.c:464 rerere.c:674 sequencer.c:2620 sequencer.c:3406
-#: builtin/commit.c:862
+#: bundle.c:145 rerere.c:464 rerere.c:675 sequencer.c:2616 sequencer.c:3402
+#: builtin/commit.c:865
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
 
-#: bundle.c:198
+#: bundle.c:203
 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:201
+#: bundle.c:206
 msgid "need a repository to verify a bundle"
 msgstr "cần một kho chứa để thẩm tra một bundle"
 
-#: bundle.c:257
+#: bundle.c:264
 #, c-format
 msgid "The bundle contains this ref:"
-msgid_plural "The bundle contains these %d refs:"
-msgstr[0] "Bó dữ liệu chứa %d tham chiếu:"
+msgid_plural "The bundle contains these %<PRIuMAX> refs:"
+msgstr[0] "Bó dữ liệu chứa %<PRIuMAX> tham chiếu:"
 
-#: bundle.c:264
+#: bundle.c:272
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
-#: bundle.c:266
+#: bundle.c:274
 #, c-format
 msgid "The bundle requires this ref:"
-msgid_plural "The bundle requires these %d refs:"
-msgstr[0] "Lệnh bundle yêu cầu %d tham chiếu này:"
+msgid_plural "The bundle requires these %<PRIuMAX> refs:"
+msgstr[0] "Lệnh bundle yêu cầu %<PRIuMAX> tham chiếu này:"
 
-#: bundle.c:333
+#: bundle.c:350
 msgid "unable to dup bundle descriptor"
 msgstr "không thể nhân đôi bộ mô tả bundle"
 
-#: bundle.c:340
+#: bundle.c:357
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh đối tượng gói"
 
-#: bundle.c:351
+#: bundle.c:368
 msgid "pack-objects died"
 msgstr "đối tượng gói đã chết"
 
-#: bundle.c:400
+#: bundle.c:417
 #, c-format
 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:504
+#: bundle.c:533 builtin/log.c:211 builtin/log.c:1975 builtin/shortlog.c:400
+#, c-format
+msgid "unrecognized argument: %s"
+msgstr "đối số không được thừa nhận: %s"
+
+#: bundle.c:548
 #, c-format
 msgid "unsupported bundle version %d"
 msgstr "phiên bản bundle %d không được hỗ trợ"
 
-#: bundle.c:506
+#: bundle.c:550
 #, c-format
 msgid "cannot write bundle version %d with algorithm %s"
 msgstr "không thể ghi phiên bản bundle %d với thuật toán %s"
 
-#: bundle.c:524 builtin/log.c:210 builtin/log.c:1953 builtin/shortlog.c:399
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr "đối số không được thừa nhận: %s"
-
-#: bundle.c:553
+#: bundle.c:600
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bó dữ liệu trống rỗng."
 
-#: bundle.c:563
+#: bundle.c:610
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:588
+#: bundle.c:639
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
@@ -2155,7 +2211,7 @@ msgstr "mảnh cuối cùng có id không bằng không %<PRIx32>"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit-graph.c:204 midx.c:51
+#: commit-graph.c:204 midx.c:52
 msgid "invalid hash version"
 msgstr "phiên bản băm không hợp lệ"
 
@@ -2183,221 +2239,222 @@ msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiê
 msgid "commit-graph file is too small to hold %u chunks"
 msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ để giữ %u mảnh dữ liệu"
 
-#: commit-graph.c:482
+#: commit-graph.c:485
 msgid "commit-graph has no base graphs chunk"
 msgstr "đồ-thị-các-lần-chuyển-giao có không có mảnh các đồ họa cơ sở"
 
-#: commit-graph.c:492
+#: commit-graph.c:495
 msgid "commit-graph chain does not match"
 msgstr "móc xích đồ-thị-các-lần-chuyển-giao không khớp"
 
-#: commit-graph.c:540
+#: commit-graph.c:543
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "móc xích đồ-thị-các-lần-chuyển-giao không hợp lệ: dòng “%s” không phải là "
 "một mã băm"
 
-#: commit-graph.c:564
+#: commit-graph.c:567
 msgid "unable to find all commit-graph files"
 msgstr "không thể tìm thấy tất cả các tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:749 commit-graph.c:786
+#: commit-graph.c:752 commit-graph.c:789
 msgid "invalid commit position. commit-graph is likely corrupt"
 msgstr ""
 "vị trí lần chuyển giao không hợp lệ. đồ-thị-các-lần-chuyển-giao có vẻ như đã "
 "bị hỏng"
 
-#: commit-graph.c:770
+#: commit-graph.c:773
 #, c-format
 msgid "could not find commit %s"
 msgstr "không thể tìm thấy lần chuyển giao %s"
 
-#: commit-graph.c:803
+#: commit-graph.c:806
 msgid "commit-graph requires overflow generation data but has none"
 msgstr "commit-graph yêu cầu dữ liệu tạo tràn nhưng không có"
 
-#: commit-graph.c:1108 builtin/am.c:1369
+#: commit-graph.c:1111 builtin/am.c:1370 builtin/checkout.c:775
+#: builtin/clone.c:705
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: commit-graph.c:1370 builtin/pack-objects.c:3070
+#: commit-graph.c:1373 builtin/pack-objects.c:3078
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "không thể lấy kiểu của đối tượng “%s”"
 
-#: commit-graph.c:1401
+#: commit-graph.c:1404
 msgid "Loading known commits in commit graph"
 msgstr "Đang tải các lần chuyển giao chưa biết trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1418
+#: commit-graph.c:1421
 msgid "Expanding reachable commits in commit graph"
 msgstr ""
 "Mở rộng các lần chuyển giao có thể tiếp cận được trong trong đồ thị lần "
 "chuyển giao"
 
-#: commit-graph.c:1438
+#: commit-graph.c:1441
 msgid "Clearing commit marks in commit graph"
 msgstr "Đang dọn dẹp các đánh dấu lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1457
+#: commit-graph.c:1460
 msgid "Computing commit graph topological levels"
 msgstr "Đang tính mức hình học tô-pô tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:1510
+#: commit-graph.c:1513
 msgid "Computing commit graph generation numbers"
 msgstr "Đang tính toán số tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:1591
+#: commit-graph.c:1598
 msgid "Computing commit changed paths Bloom filters"
 msgstr "Đang tính toán chuyển giao các bộ lọc Bloom đường dẫn bị thay đổi"
 
-#: commit-graph.c:1668
+#: commit-graph.c:1675
 msgid "Collecting referenced commits"
 msgstr "Đang sưu tập các lần chuyển giao được tham chiếu"
 
-#: commit-graph.c:1693
+#: commit-graph.c:1701
 #, c-format
-msgid "Finding commits for commit graph in %d pack"
-msgid_plural "Finding commits for commit graph in %d packs"
+msgid "Finding commits for commit graph in %<PRIuMAX> pack"
+msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
 msgstr[0] ""
-"Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %d gói"
+"Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %<PRIuMAX> gói"
 
-#: commit-graph.c:1706
+#: commit-graph.c:1714
 #, c-format
 msgid "error adding pack %s"
 msgstr "gặp lỗi thêm gói %s"
 
-#: commit-graph.c:1710
+#: commit-graph.c:1718
 #, c-format
 msgid "error opening index for %s"
 msgstr "gặp lỗi khi mở mục lục cho “%s”"
 
-#: commit-graph.c:1747
+#: commit-graph.c:1756
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong số các đối "
 "tượng đã đóng gói"
 
-#: commit-graph.c:1765
+#: commit-graph.c:1774
 msgid "Finding extra edges in commit graph"
 msgstr "Đang tìm các cạnh mở tộng trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1814
+#: commit-graph.c:1823
 msgid "failed to write correct number of base graph ids"
 msgstr "gặp lỗi khi ghi số đúng của mã đồ họa cơ sở"
 
-#: commit-graph.c:1845 midx.c:1149
+#: commit-graph.c:1854 midx.c:1168 builtin/sparse-checkout.c:475
 #, c-format
 msgid "unable to create leading directories of %s"
 msgstr "không thể tạo các thư mục dẫn đầu của “%s”"
 
-#: commit-graph.c:1858
+#: commit-graph.c:1868
 msgid "unable to create temporary graph layer"
 msgstr "không thể tạo lớp sơ đồ tạm thời"
 
-#: commit-graph.c:1863
+#: commit-graph.c:1873
 #, c-format
 msgid "unable to adjust shared permissions for '%s'"
 msgstr "không thể chỉnh sửa quyền chia sẻ thành “%s”"
 
-#: commit-graph.c:1920
+#: commit-graph.c:1930
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Đang ghi ra đồ thị các lần chuyển giao trong lần %d"
 
-#: commit-graph.c:1956
+#: commit-graph.c:1967
 msgid "unable to open commit-graph chain file"
 msgstr "không thể mở tập tin mắt xích đồ thị chuyển giao"
 
-#: commit-graph.c:1972
+#: commit-graph.c:1983
 msgid "failed to rename base commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:1992
+#: commit-graph.c:2004
 msgid "failed to rename temporary commit-graph file"
 msgstr "gặp lỗi khi đổi tên tập tin đồ-thị-các-lần-chuyển-giao tạm thời"
 
-#: commit-graph.c:2125
+#: commit-graph.c:2137
 msgid "Scanning merged commits"
 msgstr "Đang quét các lần chuyển giao đã hòa trộn"
 
-#: commit-graph.c:2169
+#: commit-graph.c:2181
 msgid "Merging commit-graph"
 msgstr "Đang hòa trộn đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2277
+#: commit-graph.c:2289
 msgid "attempting to write a commit-graph, but 'core.commitGraph' is disabled"
 msgstr ""
 "cố gắng để ghi một đồ thị các lần chuyển giao, nhưng “core.commitGraph” bị "
 "vô hiệu hóa"
 
-#: commit-graph.c:2384
+#: commit-graph.c:2396
 msgid "too many commits to write graph"
 msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
 
-#: commit-graph.c:2482
+#: commit-graph.c:2494
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "tập tin đồ-thị-các-lần-chuyển-giao có tổng kiểm không đúng và có vẻ như là "
 "đã hỏng"
 
-#: commit-graph.c:2492
+#: commit-graph.c:2504
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "đồ-thị-các-lần-chuyển-giao có thứ tự OID không đúng: %s sau %s"
 
-#: commit-graph.c:2502 commit-graph.c:2517
+#: commit-graph.c:2514 commit-graph.c:2529
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
 "đồ-thị-các-lần-chuyển-giao có giá trị fanout không đúng: fanout[%d] = %u != "
 "%u"
 
-#: commit-graph.c:2509
+#: commit-graph.c:2521
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "gặp lỗi khi phân tích lần chuyển giao từ %s đồ-thị-các-lần-chuyển-giao"
 
-#: commit-graph.c:2527
+#: commit-graph.c:2539
 msgid "Verifying commits in commit graph"
 msgstr "Đang thẩm tra các lần chuyển giao trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:2542
+#: commit-graph.c:2554
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "gặp lỗi khi phân tích lần chuyển giao %s từ cơ sở dữ liệu đối tượng cho đồ "
 "thị lần chuyển giao"
 
-#: commit-graph.c:2549
+#: commit-graph.c:2561
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "OID cây gốc cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là %s != "
 "%s"
 
-#: commit-graph.c:2559
+#: commit-graph.c:2571
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là quá dài"
 
-#: commit-graph.c:2568
+#: commit-graph.c:2580
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "cha mẹ đồ-thị-các-lần-chuyển-giao cho %s là %s != %s"
 
-#: commit-graph.c:2582
+#: commit-graph.c:2594
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "danh sách cha mẹ đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s bị chấm "
 "dứt quá sớm"
 
-#: commit-graph.c:2587
+#: commit-graph.c:2599
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -2405,7 +2462,7 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không lần tạo cho lần chuyển giao %s, "
 "nhưng không phải số không ở chỗ khác"
 
-#: commit-graph.c:2591
+#: commit-graph.c:2603
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -2413,32 +2470,32 @@ msgstr ""
 "đồ-thị-các-lần-chuyển-giao có con số không phải không lần tạo cho lần chuyển "
 "giao %s, nhưng số không ở chỗ khác"
 
-#: commit-graph.c:2608
+#: commit-graph.c:2620
 #, c-format
 msgid "commit-graph generation for commit %s is %<PRIuMAX> < %<PRIuMAX>"
 msgstr ""
 "tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %<PRIuMAX> < "
 "%<PRIuMAX>"
 
-#: commit-graph.c:2614
+#: commit-graph.c:2626
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
 "ngày chuyển giao cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là "
 "%<PRIuMAX> != %<PRIuMAX>"
 
-#: commit.c:53 sequencer.c:3109 builtin/am.c:399 builtin/am.c:444
-#: builtin/am.c:449 builtin/am.c:1448 builtin/am.c:2123 builtin/replace.c:456
+#: commit.c:54 sequencer.c:3105 builtin/am.c:400 builtin/am.c:445
+#: builtin/am.c:450 builtin/am.c:1449 builtin/am.c:2124 builtin/replace.c:456
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
 
-#: commit.c:55
+#: commit.c:56
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần chuyển giao!"
 
-#: commit.c:196
+#: commit.c:197
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -2458,28 +2515,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1241
+#: commit.c:1252
 #, 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."
 
-#: commit.c:1245
+#: commit.c:1256
 #, 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."
 
-#: commit.c:1248
+#: commit.c:1259
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: commit.c:1251
+#: commit.c:1262
 #, 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"
 
-#: commit.c:1505
+#: commit.c:1516
 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"
@@ -2493,7 +2550,17 @@ msgstr ""
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:125
+#: compat/terminal.c:167
+msgid "cannot resume in the background, please use 'fg' to resume"
+msgstr ""
+"không thể khôi phục lại trong nền hệ thống, vui lòng sử dụng 'fg' để khôi "
+"phục lại"
+
+#: compat/terminal.c:168
+msgid "cannot restore terminal settings"
+msgstr "không thể phục hồi lại các cài đặt thiết bị cuối"
+
+#: config.c:143
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -2508,335 +2575,362 @@ msgstr ""
 "\t%s\n"
 "Nguyên nhân có thể là gồm quẩn vòng."
 
-#: config.c:141
+#: config.c:159
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "không thể khai triển đường dẫn “%s”"
 
-#: config.c:152
+#: config.c:170
 msgid "relative config includes must come from files"
 msgstr "các bao gồm cấu hình liên quan phải đến từ các tập tin"
 
-#: config.c:201
+#: config.c:219
 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:398
+#: config.c:364
+msgid ""
+"remote URLs cannot be configured in file directly or indirectly included by "
+"includeIf.hasconfig:remote.*.url"
+msgstr ""
+"các URL máy chủ không thể được cấu hình trong tệp trực tiếp hoặc gián tiếp "
+"được bao gồm bởi includeIf.hasconfig:remote.*.url"
+
+#: config.c:508
 #, c-format
 msgid "invalid config format: %s"
 msgstr "định dạng cấu hình không hợp lệ: %s"
 
-#: config.c:402
+#: config.c:512
 #, c-format
 msgid "missing environment variable name for configuration '%.*s'"
 msgstr "thiếu tên biến môi trường cho cấu hình “%.*s”"
 
-#: config.c:407
+#: config.c:517
 #, c-format
 msgid "missing environment variable '%s' for configuration '%.*s'"
 msgstr "thiếu biến môi trường “%s” cho cấu hình “%.*s”"
 
-#: config.c:443
+#: config.c:553
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "khóa không chứa một phần: %s"
 
-#: config.c:448
+#: config.c:558
 #, c-format
 msgid "key does not contain variable name: %s"
 msgstr "khóa không chứa bất kỳ một tên biến nào: %s"
 
-#: config.c:470 sequencer.c:2806
+#: config.c:580 sequencer.c:2802
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
 
-#: config.c:475
+#: config.c:585
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "khóa không hợp lệ (dòng mới): %s"
 
-#: config.c:495
+#: config.c:605
 msgid "empty config key"
 msgstr "khóa cấu hình trống rỗng"
 
-#: config.c:513 config.c:525
+#: config.c:623 config.c:635
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "tham số cấu hình không có thực: %s"
 
-#: config.c:539 config.c:556 config.c:563 config.c:572
+#: config.c:649 config.c:666 config.c:673 config.c:682
 #, c-format
 msgid "bogus format in %s"
 msgstr "định dạng không có thực trong %s"
 
-#: config.c:606
+#: config.c:716
 #, c-format
 msgid "bogus count in %s"
 msgstr "số lượng không có thực trong %s"
 
-#: config.c:610
+#: config.c:720
 #, c-format
 msgid "too many entries in %s"
 msgstr "quá nhiều mục tin trong %s"
 
-#: config.c:620
+#: config.c:730
 #, c-format
 msgid "missing config key %s"
 msgstr "thiếu khóa cấu hình “%s”"
 
-#: config.c:628
+#: config.c:738
 #, c-format
 msgid "missing config value %s"
 msgstr "thiếu giá trị cấu hình “%s”"
 
-#: config.c:979
+#: config.c:1089
 #, 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:983
+#: config.c:1093
 #, 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:987
+#: config.c:1097
 #, 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:991
+#: config.c:1101
 #, 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:995
+#: config.c:1105
 #, 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:999
+#: config.c:1109
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:1136
+#: config.c:1246
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:1136
+#: config.c:1246
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:1137
+#: config.c:1247
 #, 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:1147
+#: config.c:1257
 #, 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:1150
+#: config.c:1260
 #, 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:1153
+#: config.c:1263
 #, 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:1156
+#: config.c:1266
 #, 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:1159
+#: config.c:1269
 #, 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:1162
+#: config.c:1272
 #, 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:1241
+#: config.c:1368
+#, c-format
+msgid "invalid value for variable %s"
+msgstr "giá trị không hợp lệ cho biến %s"
+
+#: config.c:1389
+#, c-format
+msgid "ignoring unknown core.fsync component '%s'"
+msgstr "bỏ qua thành phần core.fsync chưa biết '%s'"
+
+#: config.c:1425
 #, c-format
 msgid "bad boolean config value '%s' for '%s'"
 msgstr "sai giá trị kiểu lô-gíc của cấu hình “%s” cho “%s”"
 
-#: config.c:1259
+#: config.c:1443
 #, 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:1268
+#: config.c:1452
 #, c-format
 msgid "'%s' for '%s' is not a valid timestamp"
 msgstr "“%s” dành cho “%s” không phải là dấu vết thời gian hợp lệ"
 
-#: config.c:1361
+#: config.c:1545
 #, c-format
 msgid "abbrev length out of range: %d"
 msgstr "chiều dài abbrev nằm ngoài phạm vi: %d"
 
-#: config.c:1375 config.c:1386
+#: config.c:1559 config.c:1570
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:1476
+#: config.c:1660
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar chỉ được có một ký tự"
 
-#: config.c:1509
+#: config.c:1692
+#, c-format
+msgid "ignoring unknown core.fsyncMethod value '%s'"
+msgstr "bỏ qua giá trị core.fsyncMethod chưa biết '%s'"
+
+#: config.c:1698
+msgid "core.fsyncObjectFiles is deprecated; use core.fsync instead"
+msgstr "core.fsyncObjectFiles đã lạc hậu; hãy dùng core.fsync để thay thế"
+
+#: config.c:1714
 #, 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:1584
+#: config.c:1800
 #, c-format
 msgid "malformed value for %s"
 msgstr "giá trị cho %s sai dạng"
 
-#: config.c:1610
+#: config.c:1826
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "giá trị cho %s sai dạng: %s"
 
-#: config.c:1611
+#: config.c:1827
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "phải là một trong số nothing, matching, simple, upstream hay current"
 
-#: config.c:1672 builtin/pack-objects.c:4053
+#: config.c:1888 builtin/pack-objects.c:4078
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1795
+#: config.c:2014
 #, c-format
 msgid "unable to load config blob object '%s'"
 msgstr "không thể tải đối tượng blob cấu hình “%s”"
 
-#: config.c:1798
+#: config.c:2017
 #, c-format
 msgid "reference '%s' does not point to a blob"
 msgstr "tham chiếu “%s” không chỉ đến một blob nào cả"
 
-#: config.c:1816
+#: config.c:2035
 #, c-format
 msgid "unable to resolve config blob '%s'"
 msgstr "không thể phân giải điểm xét duyệt “%s”"
 
-#: config.c:1861
+#: config.c:2080
 #, c-format
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1917
+#: config.c:2136
 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:2285
+#: config.c:2512
 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:2459
+#: config.c:2686
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2504
+#: config.c:2731
 #, 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:2550
+#: config.c:2763
 #, 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:2552
+#: config.c:2765
 #, 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:2637
+#: config.c:2850
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2669
+#: config.c:2882
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2698
+#: config.c:2911
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "gặp lỗi khi ghi tập tin cấu hình “%s”"
 
-#: config.c:2950 config.c:3277
+#: config.c:3177 config.c:3518
 #, c-format
 msgid "could not lock config file %s"
 msgstr "không thể khóa tập tin cấu hình %s"
 
-#: config.c:2961
+#: config.c:3188
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:2998 builtin/config.c:361
+#: config.c:3225 builtin/config.c:361
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:3023
+#: config.c:3250
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:3036 config.c:3290
+#: config.c:3263 config.c:3531
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:3047
+#: config.c:3274
 #, c-format
 msgid "unable to mmap '%s'%s"
 msgstr "không thể mmap “%s”%s"
 
-#: config.c:3057 config.c:3295
+#: config.c:3284 config.c:3536
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:3142 config.c:3392
+#: config.c:3369 config.c:3633
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:3176
+#: config.c:3403
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:3178 builtin/remote.c:662 builtin/remote.c:860 builtin/remote.c:868
+#: config.c:3405 builtin/remote.c:666 builtin/remote.c:885 builtin/remote.c:893
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3268
+#: config.c:3509
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3435
+#: config.c:3676
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -3169,75 +3263,75 @@ msgstr "từ chối làm việc với giấy chứng thực thiếu trường m
 msgid "refusing to work with credential missing protocol field"
 msgstr "từ chối làm việc với giấy chứng thực thiếu trường giao thức"
 
-#: credential.c:395
+#: credential.c:396
 #, c-format
 msgid "url contains a newline in its %s component: %s"
 msgstr "url có chứa một dấu xuống dòng trong thành phần %s của nó: %s"
 
-#: credential.c:439
+#: credential.c:440
 #, c-format
 msgid "url has no scheme: %s"
 msgstr "url không có lược đồ: %s"
 
-#: credential.c:512
+#: credential.c:513
 #, c-format
 msgid "credential url cannot be parsed: %s"
 msgstr "không thể phân tích cú pháp giấy chứng thực url: %s"
 
-#: date.c:138
+#: date.c:139
 msgid "in the future"
 msgstr "ở thời tương lai"
 
-#: date.c:144
+#: date.c:145
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] "%<PRIuMAX> giây trước"
 
-#: date.c:151
+#: date.c:152
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] "%<PRIuMAX> phút trước"
 
-#: date.c:158
+#: date.c:159
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] "%<PRIuMAX> giờ trước"
 
-#: date.c:165
+#: date.c:166
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] "%<PRIuMAX> ngày trước"
 
-#: date.c:171
+#: date.c:172
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] "%<PRIuMAX> tuần trước"
 
-#: date.c:178
+#: date.c:179
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] "%<PRIuMAX> tháng trước"
 
-#: date.c:189
+#: date.c:190
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
 msgstr[0] "%<PRIuMAX> năm"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:192
+#: date.c:193
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] "%s, %<PRIuMAX> tháng trước"
 
-#: date.c:197 date.c:202
+#: date.c:198 date.c:203
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -3268,10 +3362,14 @@ msgstr ""
 msgid "Marked %d islands, done.\n"
 msgstr "Đã đánh dấu %d island, xong.\n"
 
-#: diff-merges.c:70
+#: diff-merges.c:81 gpg-interface.c:719 gpg-interface.c:734 ls-refs.c:37
+#: parallel-checkout.c:42 sequencer.c:2805 setup.c:563 builtin/am.c:203
+#: builtin/am.c:2243 builtin/am.c:2287 builtin/blame.c:724 builtin/blame.c:742
+#: builtin/fetch.c:792 builtin/pack-objects.c:3515 builtin/pull.c:45
+#: builtin/pull.c:47 builtin/pull.c:321
 #, c-format
-msgid "unknown value for --diff-merges: %s"
-msgstr "không hiểu giá trị cho --diff-merges: %s"
+msgid "invalid value for '%s': '%s'"
+msgstr "giá trị không hợp lệ cho '%s': '%s'"
 
 #: diff-lib.c:561
 msgid "--merge-base does not work with ranges"
@@ -3305,17 +3403,17 @@ msgstr ""
 "Không phải là một thư mục git. Dùng --no-index để so sánh hai đường dẫn bên "
 "ngoài một cây làm việc"
 
-#: diff.c:158
+#: diff.c:159
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm “%s”\n"
 
-#: diff.c:163
+#: diff.c:164
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Không hiểu đối số dirstat “%s”\n"
 
-#: diff.c:299
+#: diff.c:300
 msgid ""
 "color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
 "'dimmed-zebra', 'plain'"
@@ -3323,7 +3421,7 @@ msgstr ""
 "cài đặt màu đã di chuyển phải là một trong “no”, “default”, “blocks”, "
 "“zebra”, “dimmed-zebra”, “plain”"
 
-#: diff.c:327
+#: diff.c:328
 #, c-format
 msgid ""
 "unknown color-moved-ws mode '%s', possible values are 'ignore-space-change', "
@@ -3333,7 +3431,7 @@ msgstr ""
 "change”, “ignore-space-at-eol”, “ignore-all-space”, “allow-indentation-"
 "change”"
 
-#: diff.c:335
+#: diff.c:336
 msgid ""
 "color-moved-ws: allow-indentation-change cannot be combined with other "
 "whitespace modes"
@@ -3341,12 +3439,12 @@ msgstr ""
 "color-moved-ws: allow-indentation-change không thể tổ hợp cùng với các chế "
 "độ khoảng trắng khác"
 
-#: diff.c:412
+#: diff.c:413
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:472
+#: diff.c:473
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -3355,49 +3453,49 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:4237
+#: diff.c:4282
 #, 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:4589
+#: diff.c:4677 parse-options.c:1114
 #, c-format
 msgid "options '%s', '%s', '%s', and '%s' cannot be used together"
 msgstr "tùy chọn '%s', '%s', '%s' và '%s' không thể dùng cùng nhau"
 
-#: diff.c:4593 builtin/difftool.c:736 builtin/log.c:1982 builtin/worktree.c:506
+#: diff.c:4681 parse-options.c:1118 builtin/worktree.c:578
 #, c-format
 msgid "options '%s', '%s', and '%s' cannot be used together"
 msgstr "tùy chọn '%s', '%s' và '%s' không thể dùng cùng nhau"
 
-#: diff.c:4597
+#: diff.c:4685
 #, c-format
 msgid "options '%s' and '%s' cannot be used together, use '%s' with '%s'"
 msgstr "tùy chọn '%s' và '%s' không thể dùng cùng nhau, dùng '%s' với '%s'"
 
-#: diff.c:4601
+#: diff.c:4689
 #, c-format
 msgid ""
 "options '%s' and '%s' cannot be used together, use '%s' with '%s' and '%s'"
 msgstr ""
 "tùy chọn '%s' và '%s' không thể dùng cùng nhau, dùng '%s' với '%s' và '%s'"
 
-#: diff.c:4681
+#: diff.c:4769
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4729
+#: diff.c:4823
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "giá trị --stat không hợp lệ: “%s”"
 
-#: diff.c:4734 diff.c:4739 diff.c:4744 diff.c:4749 diff.c:5277
+#: diff.c:4828 diff.c:4833 diff.c:4838 diff.c:4843 diff.c:5319
 #: parse-options.c:217 parse-options.c:221
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "tùy chọn “%s” cần một giá trị bằng số"
 
-#: diff.c:4766
+#: diff.c:4860
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -3406,42 +3504,42 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4851
+#: diff.c:4893
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "không hiểu lớp thay đổi “%c” trong --diff-filter=%s"
 
-#: diff.c:4875
+#: diff.c:4917
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
 
-#: diff.c:4889
+#: diff.c:4931
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: diff.c:4939 diff.c:4945
+#: diff.c:4981 diff.c:4987
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s cần dạng <n>/<m>"
 
-#: diff.c:4957
+#: diff.c:4999
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s cần một ký tự, nhưng lại nhận được “%s”"
 
-#: diff.c:4978
+#: diff.c:5020
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "đối số --color-moved sai: %s"
 
-#: diff.c:4997
+#: diff.c:5039
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
 
-#: diff.c:5037
+#: diff.c:5079
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -3449,155 +3547,155 @@ msgstr ""
 "tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
 "\"histogram\""
 
-#: diff.c:5073 diff.c:5093
+#: diff.c:5115 diff.c:5135
 #, c-format
 msgid "invalid argument to %s"
 msgstr "tham số cho %s không hợp lệ"
 
-#: diff.c:5197
+#: diff.c:5239
 #, c-format
 msgid "invalid regex given to -I: '%s'"
 msgstr "đưa cho -I biểu thức chính quy không hợp lệ: “%s”"
 
-#: diff.c:5246
+#: diff.c:5288
 #, 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:5302
+#: diff.c:5344
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "đối số --word-diff sai: %s"
 
-#: diff.c:5338
+#: diff.c:5380
 msgid "Diff output format options"
 msgstr "Các tùy chọn định dạng khi xuất các khác biệt"
 
-#: diff.c:5340 diff.c:5346
+#: diff.c:5382 diff.c:5388
 msgid "generate patch"
 msgstr "tạo miếng vá"
 
-#: diff.c:5343 builtin/log.c:179
+#: diff.c:5385 builtin/log.c:180
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: diff.c:5348 diff.c:5462 diff.c:5469
+#: diff.c:5390 diff.c:5504 diff.c:5511
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5349 diff.c:5352
+#: diff.c:5391 diff.c:5394
 msgid "generate diffs with <n> lines context"
 msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
 
-#: diff.c:5354
+#: diff.c:5396
 msgid "generate the diff in raw format"
 msgstr "tạo khác biệt ở định dạng thô"
 
-#: diff.c:5357
+#: diff.c:5399
 msgid "synonym for '-p --raw'"
 msgstr "đồng nghĩa với “-p --raw”"
 
-#: diff.c:5361
+#: diff.c:5403
 msgid "synonym for '-p --stat'"
 msgstr "đồng nghĩa với “-p --stat”"
 
-#: diff.c:5365
+#: diff.c:5407
 msgid "machine friendly --stat"
 msgstr "--stat thuận tiện cho máy đọc"
 
-#: diff.c:5368
+#: diff.c:5410
 msgid "output only the last line of --stat"
 msgstr "chỉ xuất những dòng cuối của --stat"
 
-#: diff.c:5370 diff.c:5378
+#: diff.c:5412 diff.c:5420
 msgid "<param1,param2>..."
 msgstr "<tham_số_1,tham_số_2>…"
 
-#: diff.c:5371
+#: diff.c:5413
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr "đầu ra phân phối của số lượng thay đổi tương đối cho mỗi thư mục con"
 
-#: diff.c:5375
+#: diff.c:5417
 msgid "synonym for --dirstat=cumulative"
 msgstr "đồng nghĩa với --dirstat=cumulative"
 
-#: diff.c:5379
+#: diff.c:5421
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
 
-#: diff.c:5383
+#: diff.c:5425
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "cảnh báo nếu các thay đổi đưa ra các bộ tạo xung đột hay lỗi khoảng trắng"
 
-#: diff.c:5386
+#: diff.c:5428
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr "tổng hợp dạng xúc tích như là tạo, đổi tên và các thay đổi chế độ"
 
-#: diff.c:5389
+#: diff.c:5431
 msgid "show only names of changed files"
 msgstr "chỉ hiển thị tên của các tập tin đổi"
 
-#: diff.c:5392
+#: diff.c:5434
 msgid "show only names and status of changed files"
 msgstr "chỉ hiển thị tên tập tin và tình trạng của các tập tin bị thay đổi"
 
-#: diff.c:5394
+#: diff.c:5436
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<rộng>[,<name-width>[,<số-lượng>]]"
 
-#: diff.c:5395
+#: diff.c:5437
 msgid "generate diffstat"
 msgstr "tạo diffstat"
 
-#: diff.c:5397 diff.c:5400 diff.c:5403
+#: diff.c:5439 diff.c:5442 diff.c:5445
 msgid "<width>"
 msgstr "<rộng>"
 
-#: diff.c:5398
+#: diff.c:5440
 msgid "generate diffstat with a given width"
 msgstr "tạo diffstat với độ rộng đã cho"
 
-#: diff.c:5401
+#: diff.c:5443
 msgid "generate diffstat with a given name width"
 msgstr "tạo diffstat với tên độ rộng đã cho"
 
-#: diff.c:5404
+#: diff.c:5446
 msgid "generate diffstat with a given graph width"
 msgstr "tạo diffstat với độ rộng đồ thị đã cho"
 
-#: diff.c:5406
+#: diff.c:5448
 msgid "<count>"
 msgstr "<số_lượng>"
 
-#: diff.c:5407
+#: diff.c:5449
 msgid "generate diffstat with limited lines"
 msgstr "tạo diffstat với các dòng bị giới hạn"
 
-#: diff.c:5410
+#: diff.c:5452
 msgid "generate compact summary in diffstat"
 msgstr "tạo tổng hợp xúc tích trong diffstat"
 
-#: diff.c:5413
+#: diff.c:5455
 msgid "output a binary diff that can be applied"
 msgstr "xuất ra một khác biệt dạng nhị phân cái mà có thể được áp dụng"
 
-#: diff.c:5416
+#: diff.c:5458
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "hiển thị đầy đủ các tên đối tượng pre- và post-image trên các dòng \"mục lục"
 "\""
 
-#: diff.c:5418
+#: diff.c:5460
 msgid "show colored diff"
 msgstr "hiển thị thay đổi được tô màu"
 
-#: diff.c:5419
+#: diff.c:5461
 msgid "<kind>"
 msgstr "<kiểu>"
 
-#: diff.c:5420
+#: diff.c:5462
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -3605,7 +3703,7 @@ msgstr ""
 "tô sáng các lỗi về khoảng trắng trong các dòng “context”, “old” và “new” "
 "trong khác biệt"
 
-#: diff.c:5423
+#: diff.c:5465
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -3613,89 +3711,89 @@ msgstr ""
 "không munge tên đường dẫn và sử dụng NUL làm bộ phân tách trường đầu ra "
 "trong --raw hay --numstat"
 
-#: diff.c:5426 diff.c:5429 diff.c:5432 diff.c:5541
+#: diff.c:5468 diff.c:5471 diff.c:5474 diff.c:5583
 msgid "<prefix>"
 msgstr "<tiền_tố>"
 
-#: diff.c:5427
+#: diff.c:5469
 msgid "show the given source prefix instead of \"a/\""
 msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
 
-#: diff.c:5430
+#: diff.c:5472
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
 
-#: diff.c:5433
+#: diff.c:5475
 msgid "prepend an additional prefix to every line of output"
 msgstr "treo vào trước một tiền tố bổ sung cho mỗi dòng kết xuất"
 
-#: diff.c:5436
+#: diff.c:5478
 msgid "do not show any source or destination prefix"
 msgstr "đừng hiển thị bất kỳ tiền tố nguồn hay đích"
 
-#: diff.c:5439
+#: diff.c:5481
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "hiển thị ngữ cảnh giữa các khúc khác biệt khi đạt đến số lượng dòng đã chỉ "
 "định"
 
-#: diff.c:5443 diff.c:5448 diff.c:5453
+#: diff.c:5485 diff.c:5490 diff.c:5495
 msgid "<char>"
 msgstr "<ký_tự>"
 
-#: diff.c:5444
+#: diff.c:5486
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "chỉ định một ký tự để biểu thị một dòng được thêm mới thay cho “+”"
 
-#: diff.c:5449
+#: diff.c:5491
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "chỉ định một ký tự để biểu thị một dòng đã cũ thay cho “-”"
 
-#: diff.c:5454
+#: diff.c:5496
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "chỉ định một ký tự để biểu thị một ngữ cảnh thay cho “”"
 
-#: diff.c:5457
+#: diff.c:5499
 msgid "Diff rename options"
 msgstr "Tùy chọn khác biệt đổi tên"
 
-#: diff.c:5458
+#: diff.c:5500
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5459
+#: diff.c:5501
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr "ngắt các thay đổi ghi lại hoàn thiện thành cặp của xóa và tạo"
 
-#: diff.c:5463
+#: diff.c:5505
 msgid "detect renames"
 msgstr "dò tìm các tên thay đổi"
 
-#: diff.c:5467
+#: diff.c:5509
 msgid "omit the preimage for deletes"
 msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
 
-#: diff.c:5470
+#: diff.c:5512
 msgid "detect copies"
 msgstr "dò bản sao"
 
-#: diff.c:5474
+#: diff.c:5516
 msgid "use unmodified files as source to find copies"
 msgstr "dùng các tập tin không bị chỉnh sửa như là nguồn để tìm các bản sao"
 
-#: diff.c:5476
+#: diff.c:5518
 msgid "disable rename detection"
 msgstr "tắt dò tìm đổi tên"
 
-#: diff.c:5479
+#: diff.c:5521
 msgid "use empty blobs as rename source"
 msgstr "dùng các blob trống rống như là nguồn đổi tên"
 
-#: diff.c:5481
+#: diff.c:5523
 msgid "continue listing the history of a file beyond renames"
 msgstr "tiếp tục liệt kê lịch sử của một tập tin ngoài đổi tên"
 
-#: diff.c:5484
+#: diff.c:5526
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -3703,160 +3801,160 @@ msgstr ""
 "ngăn cản dò tìm đổi tên/bản sao nếu số lượng của đích đổi tên/bản sao vượt "
 "quá giới hạn đưa ra"
 
-#: diff.c:5486
+#: diff.c:5528
 msgid "Diff algorithm options"
 msgstr "Tùy chọn thuật toán khác biệt"
 
-#: diff.c:5488
+#: diff.c:5530
 msgid "produce the smallest possible diff"
 msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5491
+#: diff.c:5533
 msgid "ignore whitespace when comparing lines"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi so sánh các dòng"
 
-#: diff.c:5494
+#: diff.c:5536
 msgid "ignore changes in amount of whitespace"
 msgstr "lờ đi sự thay đổi do số lượng khoảng trắng gây ra"
 
-#: diff.c:5497
+#: diff.c:5539
 msgid "ignore changes in whitespace at EOL"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi ở cuối dòng EOL"
 
-#: diff.c:5500
+#: diff.c:5542
 msgid "ignore carrier-return at the end of line"
 msgstr "bỏ qua ký tự về đầu dòng tại cuối dòng"
 
-#: diff.c:5503
+#: diff.c:5545
 msgid "ignore changes whose lines are all blank"
 msgstr "bỏ qua các thay đổi cho toàn bộ các dòng là trống"
 
-#: diff.c:5505 diff.c:5527 diff.c:5530 diff.c:5575
+#: diff.c:5547 diff.c:5569 diff.c:5572 diff.c:5617
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5506
+#: diff.c:5548
 msgid "ignore changes whose all lines match <regex>"
 msgstr "bỏ qua các thay đổi có tất cả các dòng khớp <regex>"
 
-#: diff.c:5509
+#: diff.c:5551
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr "heuristic để dịch hạn biên của khối khác biệt cho dễ đọc"
 
-#: diff.c:5512
+#: diff.c:5554
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"patience diff\""
 
-#: diff.c:5516
+#: diff.c:5558
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"histogram diff\""
 
-#: diff.c:5518
+#: diff.c:5560
 msgid "<algorithm>"
 msgstr "<thuật toán>"
 
-#: diff.c:5519
+#: diff.c:5561
 msgid "choose a diff algorithm"
 msgstr "chọn một thuật toán khác biệt"
 
-#: diff.c:5521
+#: diff.c:5563
 msgid "<text>"
 msgstr "<văn bản>"
 
-#: diff.c:5522
+#: diff.c:5564
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "tạo khác biệt sử dung thuật toán \"anchored diff\""
 
-#: diff.c:5524 diff.c:5533 diff.c:5536
+#: diff.c:5566 diff.c:5575 diff.c:5578
 msgid "<mode>"
 msgstr "<chế độ>"
 
-#: diff.c:5525
+#: diff.c:5567
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "hiển thị khác biệt từ, sử dụng <chế độ> để bỏ giới hạn các từ bị thay đổi"
 
-#: diff.c:5528
+#: diff.c:5570
 msgid "use <regex> to decide what a word is"
 msgstr "dùng <regex> để quyết định từ là cái gì"
 
-#: diff.c:5531
+#: diff.c:5573
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "tương đương với --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5534
+#: diff.c:5576
 msgid "moved lines of code are colored differently"
 msgstr "các dòng di chuyển của mã mà được tô màu khác nhau"
 
-#: diff.c:5537
+#: diff.c:5579
 msgid "how white spaces are ignored in --color-moved"
 msgstr "cách bỏ qua khoảng trắng trong --color-moved"
 
-#: diff.c:5540
+#: diff.c:5582
 msgid "Other diff options"
 msgstr "Các tùy chọn khác biệt khác"
 
-#: diff.c:5542
+#: diff.c:5584
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "khi chạy từ thư mục con, thực thi các thay đổi bên ngoài và hiển thị các "
 "đường dẫn liên quan"
 
-#: diff.c:5546
+#: diff.c:5588
 msgid "treat all files as text"
 msgstr "coi mọi tập tin là dạng văn bản thường"
 
-#: diff.c:5548
+#: diff.c:5590
 msgid "swap two inputs, reverse the diff"
 msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
 
-#: diff.c:5550
+#: diff.c:5592
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "thoát với mã 1 nếu không có khác biệt gì, 0 nếu ngược lại"
 
-#: diff.c:5552
+#: diff.c:5594
 msgid "disable all output of the program"
 msgstr "tắt mọi kết xuất của chương trình"
 
-#: diff.c:5554
+#: diff.c:5596
 msgid "allow an external diff helper to be executed"
 msgstr "cho phép mộ bộ hỗ trợ xuất khác biệt ở bên ngoài được phép thực thi"
 
-#: diff.c:5556
+#: diff.c:5598
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "chạy các bộ lọc văn bản thông thường bên ngoài khi so sánh các tập tin nhị "
 "phân"
 
-#: diff.c:5558
+#: diff.c:5600
 msgid "<when>"
 msgstr "<khi>"
 
-#: diff.c:5559
+#: diff.c:5601
 msgid "ignore changes to submodules in the diff generation"
 msgstr "bỏ qua các thay đổi trong mô-đun-con trong khi tạo khác biệt"
 
-#: diff.c:5562
+#: diff.c:5604
 msgid "<format>"
 msgstr "<định dạng>"
 
-#: diff.c:5563
+#: diff.c:5605
 msgid "specify how differences in submodules are shown"
 msgstr "chi định khác biệt bao nhiêu trong các mô đun con được hiển thị"
 
-#: diff.c:5567
+#: diff.c:5609
 msgid "hide 'git add -N' entries from the index"
 msgstr "ẩn các mục “git add -N” từ bảng mục lục"
 
-#: diff.c:5570
+#: diff.c:5612
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "coi các mục “git add -N” như là có thật trong bảng mục lục"
 
-#: diff.c:5572
+#: diff.c:5614
 msgid "<string>"
 msgstr "<chuỗi>"
 
-#: diff.c:5573
+#: diff.c:5615
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3864,7 +3962,7 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của "
 "chuỗi được chỉ ra"
 
-#: diff.c:5576
+#: diff.c:5618
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3872,35 +3970,35 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của biểu "
 "thức chính quy được chỉ ra"
 
-#: diff.c:5579
+#: diff.c:5621
 msgid "show all changes in the changeset with -S or -G"
 msgstr "hiển thị tất cả các thay đổi trong một bộ các thay đổi với -S hay -G"
 
-#: diff.c:5582
+#: diff.c:5624
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr "coi <chuỗi> trong -S như là biểu thức chính qui POSIX có mở rộng"
 
-#: diff.c:5585
+#: diff.c:5627
 msgid "control the order in which files appear in the output"
 msgstr "điều khiển thứ tự xuát hiện các tập tin trong kết xuất"
 
-#: diff.c:5586 diff.c:5589
+#: diff.c:5628 diff.c:5631
 msgid "<path>"
 msgstr "<đường-dẫn>"
 
-#: diff.c:5587
+#: diff.c:5629
 msgid "show the change in the specified path first"
 msgstr "hiển thị các thay đổi trong đường dẫn đã cho đầu tiên"
 
-#: diff.c:5590
+#: diff.c:5632
 msgid "skip the output to the specified path"
 msgstr "bỏ qua đầu ra đến đường dẫn đã cho"
 
-#: diff.c:5592
+#: diff.c:5634
 msgid "<object-id>"
 msgstr "<mã-số-đối-tượng>"
 
-#: diff.c:5593
+#: diff.c:5635
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3908,32 +4006,32 @@ msgstr ""
 "tìm các khác biệt cái mà thay đổi số lượng xảy ra của các phát sinh của đối "
 "tượng được chỉ ra"
 
-#: diff.c:5595
+#: diff.c:5637
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
 
-#: diff.c:5596
+#: diff.c:5638
 msgid "select files by diff type"
 msgstr "chọn các tập tin theo kiểu khác biệt"
 
-#: diff.c:5598
+#: diff.c:5640
 msgid "<file>"
 msgstr "<tập_tin>"
 
-#: diff.c:5599
-msgid "Output to a specific file"
-msgstr "Xuất ra một tập tin cụ thể"
+#: diff.c:5641
+msgid "output to a specific file"
+msgstr "xuất ra một tập tin cụ thể"
 
-#: diff.c:6257
+#: diff.c:6321
 msgid "exhaustive rename detection was skipped due to too many files."
 msgstr "nhận thấy đổi tên toàn diện đã bị bỏ qua bởi có quá nhiều tập tin."
 
-#: diff.c:6260
+#: diff.c:6324
 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:6263
+#: diff.c:6327
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3984,20 +4082,20 @@ msgstr "vô hiệu khớp mẫu nón"
 msgid "cannot use %s as an exclude file"
 msgstr "không thể dùng %s như là một tập tin loại trừ"
 
-#: dir.c:2418
+#: dir.c:2419
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "không thể mở thư mục “%s”"
 
-#: dir.c:2720
+#: dir.c:2721
 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:2844
+#: dir.c:2846
 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:3112
+#: dir.c:3119
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -4005,17 +4103,17 @@ 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"
 
-#: dir.c:3800
+#: dir.c:3807
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "tập tin ghi bảng mục lục bị hỏng trong kho %s"
 
-#: dir.c:3847 dir.c:3852
+#: dir.c:3854 dir.c:3859
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3881
+#: dir.c:3888
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di dời thư mục git từ “%s” sang “%s”"
@@ -4034,7 +4132,7 @@ msgstr "Nội dung lọc"
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
 
-#: environment.c:145
+#: environment.c:147
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "đường dẫn không gian tên git \"%s\" sai"
@@ -4065,248 +4163,275 @@ msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được “%s”"
 msgid "unable to write to remote"
 msgstr "không thể ghi lên máy phục vụ"
 
-#: fetch-pack.c:395 fetch-pack.c:1439
+#: fetch-pack.c:397 fetch-pack.c:1460
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:401 fetch-pack.c:1445
+#: fetch-pack.c:403 fetch-pack.c:1466
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:403 fetch-pack.c:1447
+#: fetch-pack.c:405 fetch-pack.c:1468
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:406 fetch-pack.c:1450
+#: fetch-pack.c:408 fetch-pack.c:1471
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:408 fetch-pack.c:1452
+#: fetch-pack.c:410 fetch-pack.c:1473
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:411 fetch-pack.c:1456
+#: fetch-pack.c:413 fetch-pack.c:1477
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
 
-#: fetch-pack.c:451
+#: fetch-pack.c:453
 #, c-format
 msgid "got %s %d %s"
 msgstr "nhận %s %d - %s"
 
-#: fetch-pack.c:468
+#: fetch-pack.c:470
 #, c-format
 msgid "invalid commit %s"
 msgstr "lần chuyển giao %s không hợp lệ"
 
-#: fetch-pack.c:499
+#: fetch-pack.c:501
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:512 progress.c:339
+#: fetch-pack.c:514 progress.h:25
 msgid "done"
 msgstr "xong"
 
-#: fetch-pack.c:524
+#: fetch-pack.c:526
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "nhận %s (%d) %s"
 
-#: fetch-pack.c:560
+#: fetch-pack.c:562
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:775
+#: fetch-pack.c:784
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:861
+#: fetch-pack.c:870
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:878
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:974
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:980
 msgid "fetch-pack: invalid index-pack output"
 msgstr "fetch-pack: kết xuất index-pack không hợp lệ"
 
-#: fetch-pack.c:988
+#: fetch-pack.c:997
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:990
+#: fetch-pack.c:999
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:1035
+#: fetch-pack.c:1048
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:1043 fetch-pack.c:1049 fetch-pack.c:1052 fetch-pack.c:1058
-#: fetch-pack.c:1062 fetch-pack.c:1066 fetch-pack.c:1070 fetch-pack.c:1074
-#: fetch-pack.c:1078 fetch-pack.c:1082 fetch-pack.c:1086 fetch-pack.c:1090
-#: fetch-pack.c:1096 fetch-pack.c:1102 fetch-pack.c:1107 fetch-pack.c:1112
+#: fetch-pack.c:1056 fetch-pack.c:1062 fetch-pack.c:1065 fetch-pack.c:1071
+#: fetch-pack.c:1075 fetch-pack.c:1079 fetch-pack.c:1083 fetch-pack.c:1087
+#: fetch-pack.c:1091 fetch-pack.c:1095 fetch-pack.c:1099 fetch-pack.c:1103
+#: fetch-pack.c:1109 fetch-pack.c:1115 fetch-pack.c:1120 fetch-pack.c:1125
 #, c-format
 msgid "Server supports %s"
 msgstr "Máy chủ hỗ trợ %s"
 
-#: fetch-pack.c:1045
+#: fetch-pack.c:1058
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:1105
+#: fetch-pack.c:1118
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:1110
+#: fetch-pack.c:1123
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:1114
+#: fetch-pack.c:1127
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:1116
+#: fetch-pack.c:1129
 msgid "Server does not support this repository's object format"
 msgstr "Máy chủ không hỗ trợ định dạng đối tượng của kho này"
 
-#: fetch-pack.c:1129
+#: fetch-pack.c:1142
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1138 fetch-pack.c:1485 builtin/clone.c:1130
+#: fetch-pack.c:1151 fetch-pack.c:1506 builtin/clone.c:1166
 msgid "source repository is shallow, reject to clone."
 msgstr "kho nguồn là nông, nên bỏ từ chối nhân bản."
 
-#: fetch-pack.c:1144 fetch-pack.c:1681
+#: fetch-pack.c:1157 fetch-pack.c:1705
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1258
+#: fetch-pack.c:1271
 #, c-format
 msgid "mismatched algorithms: client %s; server %s"
 msgstr "các thuật toán không khớp nhau: máy khách %s; máy chủ %s"
 
-#: fetch-pack.c:1262
+#: fetch-pack.c:1275
 #, c-format
 msgid "the server does not support algorithm '%s'"
 msgstr "máy chủ không hỗ trợ thuật toán “%s”"
 
-#: fetch-pack.c:1295
+#: fetch-pack.c:1308
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1302
+#: fetch-pack.c:1315
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:1345 fetch-pack.c:2063
+#: fetch-pack.c:1358 fetch-pack.c:2087
 msgid "unable to write request to remote"
 msgstr "không thể ghi các yêu cầu lên máy phục vụ"
 
-#: fetch-pack.c:1363
+#: fetch-pack.c:1376
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "gặp lỗi khi đọc phần đầu của đoạn %s"
 
-#: fetch-pack.c:1369
+#: fetch-pack.c:1382
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1403
+#: fetch-pack.c:1416
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1408
+#: fetch-pack.c:1421
 #, c-format
 msgid "error processing acks: %d"
 msgstr "gặp lỗi khi xử lý tín hiệu trả lời: %d"
 
-#: fetch-pack.c:1418
-msgid "expected packfile to be sent after 'ready'"
-msgstr "cần tập tin gói để gửi sau “ready”"
+#. TRANSLATORS: The parameter will be 'ready', a protocol
+#. keyword.
+#.
+#: fetch-pack.c:1435
+#, c-format
+msgid "expected packfile to be sent after '%s'"
+msgstr "cần tập tin gói để gửi sau “%s”"
 
-#: fetch-pack.c:1420
-msgid "expected no other sections to be sent after no 'ready'"
-msgstr "không cần thêm phần nào để gửi sau “ready”"
+#. TRANSLATORS: The parameter will be 'ready', a protocol
+#. keyword.
+#.
+#: fetch-pack.c:1441
+#, c-format
+msgid "expected no other sections to be sent after no '%s'"
+msgstr "không cần thêm phần nào để gửi sau không “%s”"
 
-#: fetch-pack.c:1461
+#: fetch-pack.c:1482
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1510
+#: fetch-pack.c:1531
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1515
+#: fetch-pack.c:1536
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref không được mong đợi: “%s”"
 
-#: fetch-pack.c:1520
+#: fetch-pack.c:1541
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1550
+#: fetch-pack.c:1571
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack: cần nhận được trả lời là kết thúc gói"
 
-#: fetch-pack.c:1959
+#: fetch-pack.c:1983
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1982 builtin/clone.c:581
+#: fetch-pack.c:2006 builtin/clone.c:587
 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"
 
-#: fetch-pack.c:2085
+#: fetch-pack.c:2109
 msgid "unexpected 'ready' from remote"
 msgstr "gặp “ready” đột xuất từ máy chủ"
 
-#: fetch-pack.c:2108
+#: fetch-pack.c:2132
 #, 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:2111
+#: fetch-pack.c:2135
 #, 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:329 gpg-interface.c:457 gpg-interface.c:974
-#: gpg-interface.c:990
+#: fsmonitor-ipc.c:119
+#, c-format
+msgid "fsmonitor_ipc__send_query: invalid path '%s'"
+msgstr "fsmonitor_ipc__send_query: đường dẫn không hợp lệ '%s'"
+
+#: fsmonitor-ipc.c:125
+#, c-format
+msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
+msgstr "fsmonitor_ipc__send_query: lỗi chưa rõ trên '%s'"
+
+#: fsmonitor-ipc.c:155
+msgid "fsmonitor--daemon is not running"
+msgstr "fsmonitor--daemon hiện tại chưa chạy"
+
+#: fsmonitor-ipc.c:164
+#, c-format
+msgid "could not send '%s' command to fsmonitor--daemon"
+msgstr "không thể gửi lệnh '%s' đến fsmonitor--daemon"
+
+#: gpg-interface.c:329 gpg-interface.c:456 gpg-interface.c:995
+#: gpg-interface.c:1011
 msgid "could not create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: gpg-interface.c:332 gpg-interface.c:460
+#: gpg-interface.c:332 gpg-interface.c:459
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 
-#: gpg-interface.c:451
+#: gpg-interface.c:450
 msgid ""
 "gpg.ssh.allowedSignersFile needs to be configured and exist for ssh "
 "signature verification"
@@ -4314,7 +4439,7 @@ msgstr ""
 "gpg.ssh.allowedSignersFile cần được cấu hình và tồn tại để xác minh chữ ký "
 "ssh"
 
-#: gpg-interface.c:480
+#: gpg-interface.c:479
 msgid ""
 "ssh-keygen -Y find-principals/verify is needed for ssh signature "
 "verification (available in openssh version 8.2p1+)"
@@ -4322,57 +4447,57 @@ msgstr ""
 "ssh-keygen -Y find-principals/verify là cần thiết để xác minh chữ ký ssh (có "
 "sẵn trong phiên bản openssh 8.2p1+)"
 
-#: gpg-interface.c:536
+#: gpg-interface.c:550
 #, c-format
 msgid "ssh signing revocation file configured but not found: %s"
 msgstr "tập tin thu hồi chữ ký ssh đã được cấu hình nhưng không tìm thấy: %s"
 
-#: gpg-interface.c:624
+#: gpg-interface.c:638
 #, c-format
 msgid "bad/incompatible signature '%s'"
 msgstr "chữ sai / không tương thích “%s”"
 
-#: gpg-interface.c:801 gpg-interface.c:806
+#: gpg-interface.c:815 gpg-interface.c:820
 #, c-format
 msgid "failed to get the ssh fingerprint for key '%s'"
 msgstr "gặp lỗi khi lấy dấu vân tay ssh cho khóa “%s”"
 
-#: gpg-interface.c:829
+#: gpg-interface.c:843
 msgid ""
 "either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured"
 msgstr ""
 "hoặc là user.signingkey hoặc gpg.ssh.defaultKeyCommand cần được cấu hình"
 
-#: gpg-interface.c:851
+#: gpg-interface.c:865
 #, c-format
 msgid "gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s"
 msgstr ""
 "gpg.ssh.defaultKeyCommand thành công nhưng lại không trả về khóa nào: %s %s"
 
-#: gpg-interface.c:857
+#: gpg-interface.c:871
 #, c-format
 msgid "gpg.ssh.defaultKeyCommand failed: %s %s"
 msgstr "gpg.ssh.defaultKeyCommand gặp lỗi: %s %s"
 
-#: gpg-interface.c:945
+#: gpg-interface.c:966
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: gpg-interface.c:967
+#: gpg-interface.c:988
 msgid "user.signingkey needs to be set for ssh signing"
 msgstr "user.signingkey cần được đặt cho ký ssh"
 
-#: gpg-interface.c:978
+#: gpg-interface.c:999
 #, c-format
 msgid "failed writing ssh signing key to '%s'"
 msgstr "gặp lỗi khi ghi chìa khóa ký ssh vào “%s”"
 
-#: gpg-interface.c:996
+#: gpg-interface.c:1017
 #, c-format
 msgid "failed writing ssh signing key buffer to '%s'"
 msgstr "gặp lỗi khi ghi bộ đệm chìa khóa ký ssh vào “%s”"
 
-#: gpg-interface.c:1014
+#: gpg-interface.c:1035
 msgid ""
 "ssh-keygen -Y sign is needed for ssh signing (available in openssh version "
 "8.2p1+)"
@@ -4380,7 +4505,7 @@ msgstr ""
 "ssh-keygen -Y sign là cần thiết cho ký ssh (sẵn có trong openssh phiên bản "
 "8.2p1+)"
 
-#: gpg-interface.c:1026
+#: gpg-interface.c:1047
 #, c-format
 msgid "failed reading ssh signing data buffer from '%s'"
 msgstr "gặp lỗi khi đọc bộ đệm dữ liệu chữ ký ssh từ “%s”"
@@ -4390,7 +4515,7 @@ msgstr "gặp lỗi khi đọc bộ đệm dữ liệu chữ ký ssh từ “%s
 msgid "ignored invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
 
-#: grep.c:531
+#: grep.c:446
 msgid ""
 "given pattern contains NULL byte (via -f <file>). This is only supported "
 "with -P under PCRE v2"
@@ -4398,109 +4523,109 @@ msgstr ""
 "mẫu đã cho có chứa NULL byte (qua -f <file>). Điều này chỉ được hỗ trợ với -"
 "P dưới PCRE v2"
 
-#: grep.c:1942
+#: grep.c:1859
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:1959 setup.c:177 builtin/clone.c:302 builtin/diff.c:90
+#: grep.c:1876 setup.c:178 builtin/clone.c:308 builtin/diff.c:90
 #: builtin/rm.c:136
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:1970
+#: grep.c:1887
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
 
-#: help.c:24
+#: help.c:25
 msgid "start a working area (see also: git help tutorial)"
 msgstr "bắt đầu một vùng làm việc (xem thêm: git help tutorial)"
 
-#: help.c:25
+#: help.c:26
 msgid "work on the current change (see also: git help everyday)"
 msgstr "làm việc trên thay đổi hiện tại (xem thêm: git help everyday)"
 
-#: help.c:26
+#: help.c:27
 msgid "examine the history and state (see also: git help revisions)"
 msgstr "xem xét lịch sử tình trạng (xem thêm: git help revisions)"
 
-#: help.c:27
+#: help.c:28
 msgid "grow, mark and tweak your common history"
 msgstr "thêm, ghi dấu và chỉnh lịch sử chung của bạn"
 
-#: help.c:28
+#: help.c:29
 msgid "collaborate (see also: git help workflows)"
 msgstr "làm việc nhóm (xem thêm: git help workflows)"
 
-#: help.c:32
+#: help.c:33
 msgid "Main Porcelain Commands"
 msgstr "Các lệnh Porcelain chính"
 
-#: help.c:33
+#: help.c:34
 msgid "Ancillary Commands / Manipulators"
 msgstr "Lệnh/thao tác thứ cấp"
 
-#: help.c:34
+#: help.c:35
 msgid "Ancillary Commands / Interrogators"
 msgstr "Lệnh/bộ hỏi thứ cấp"
 
-#: help.c:35
+#: help.c:36
 msgid "Interacting with Others"
 msgstr "Tương tác với những cái khác"
 
-#: help.c:36
+#: help.c:37
 msgid "Low-level Commands / Manipulators"
 msgstr "Lệnh/thao tác ở mức thấp"
 
-#: help.c:37
+#: help.c:38
 msgid "Low-level Commands / Interrogators"
 msgstr "Lệnh/bộ hỏi ở mức thấp"
 
-#: help.c:38
+#: help.c:39
 msgid "Low-level Commands / Syncing Repositories"
 msgstr "Lệnh/Đồng bộ kho ở mức thấp"
 
-#: help.c:39
+#: help.c:40
 msgid "Low-level Commands / Internal Helpers"
 msgstr "Lệnh/Hỗ trợ nội tại ở mức thấp"
 
-#: help.c:313
+#: help.c:316
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "các lệnh git sẵn có trong thư mục “%s”:"
 
-#: help.c:320
+#: help.c:323
 msgid "git commands available from elsewhere on your $PATH"
 msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 
-#: help.c:329
+#: help.c:332
 msgid "These are common Git commands used in various situations:"
 msgstr "Có các lệnh Git chung được sử dụng trong các tình huống khác nhau:"
 
-#: help.c:378 git.c:100
+#: help.c:382 git.c:100
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "không hỗ trợ liệt kê lệnh kiểu “%s”"
 
-#: help.c:418
+#: help.c:422
 msgid "The Git concept guides are:"
 msgstr "Các chỉ dẫn khái niệm về Git là:"
 
-#: help.c:442
-msgid "See 'git help <command>' to read about a specific subcommand"
-msgstr "Xem “git help <lệnh>” để đọc các đặc tả của lệnh con"
-
-#: help.c:447
+#: help.c:446
 msgid "External commands"
 msgstr "Các lệnh bên ngoài"
 
-#: help.c:462
+#: help.c:468
 msgid "Command aliases"
 msgstr "Các bí danh lệnh"
 
-#: help.c:543
+#: help.c:486
+msgid "See 'git help <command>' to read about a specific subcommand"
+msgstr "Xem “git help <lệnh>” để đọc các đặc tả của lệnh con"
+
+#: help.c:563
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -4509,36 +4634,36 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:565 help.c:662
+#: help.c:585 help.c:682
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:613
+#: help.c:633
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:635
+#: help.c:655
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn."
 
-#: help.c:640
+#: help.c:660
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Tiếp tục và coi rằng ý bạn là “%s”."
 
-#: help.c:646
+#: help.c:666
 #, c-format
 msgid "Run '%s' instead [y/N]? "
 msgstr "Chạy “%s” để thay thế? (y/N)? "
 
-#: help.c:654
+#: help.c:674
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "Tiếp tục trong %0.1f giây,và coi rằng ý bạn là “%s”."
 
-#: help.c:666
+#: help.c:686
 msgid ""
 "\n"
 "The most similar command is"
@@ -4549,16 +4674,16 @@ msgstr[0] ""
 "\n"
 "Những lệnh giống nhất là"
 
-#: help.c:706
+#: help.c:729
 msgid "git version [<options>]"
 msgstr "git version [<các tùy chọn>]"
 
-#: help.c:761
+#: help.c:784
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:765
+#: help.c:788
 msgid ""
 "\n"
 "Did you mean this?"
@@ -4569,7 +4694,7 @@ msgstr[0] ""
 "\n"
 "Có phải ý bạn là một trong số những cái này không?"
 
-#: hook.c:27
+#: hook.c:28
 #, c-format
 msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
@@ -4578,15 +4703,20 @@ msgstr ""
 "Móc “%s” bị bỏ qua bởi vì nó không thể đặt là thực thi được.\n"
 "Bạn có thể tắt cảnh báo này bằng “git config advice.ignoredHook false“."
 
-#: ident.c:353
+#: hook.c:87
+#, c-format
+msgid "Couldn't start hook '%s'\n"
+msgstr "Không thể khởi chạy móc “%s”\n"
+
+#: ident.c:354
 msgid "Author identity unknown\n"
 msgstr "Chưa biết định danh tác giả\n"
 
-#: ident.c:356
+#: ident.c:357
 msgid "Committer identity unknown\n"
 msgstr "Chưa biết định danh người chuyển giao\n"
 
-#: ident.c:362
+#: ident.c:363
 msgid ""
 "\n"
 "*** Please tell me who you are.\n"
@@ -4612,71 +4742,71 @@ msgstr ""
 "Bỏ tùy chọn --global nếu chỉ định danh riêng cho kho này.\n"
 "\n"
 
-#: ident.c:397
+#: ident.c:398
 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:402
+#: ident.c:403
 #, 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:419
+#: ident.c:420
 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:425
+#: ident.c:426
 #, 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:433
+#: ident.c:434
 #, 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:439
+#: ident.c:440
 #, 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:454 builtin/commit.c:648
+#: ident.c:455 builtin/commit.c:649
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
 
-#: list-objects-filter-options.c:83
+#: list-objects-filter-options.c:68
 msgid "expected 'tree:<depth>'"
 msgstr "cần “tree:<depth>”"
 
-#: list-objects-filter-options.c:98
+#: list-objects-filter-options.c:83
 msgid "sparse:path filters support has been dropped"
 msgstr "việc hỗ trợ bộ lọc sparse:đường/dẫn đã bị bỏ"
 
-#: list-objects-filter-options.c:105
+#: list-objects-filter-options.c:90
 #, c-format
 msgid "'%s' for 'object:type=<type>' is not a valid object type"
 msgstr "“%s” dành cho “object:type=<type>” không phải là kiểu đối tượng hợp lệ"
 
-#: list-objects-filter-options.c:124
+#: list-objects-filter-options.c:109
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "đặc tả bộ lọc không hợp lệ “%s”"
 
-#: list-objects-filter-options.c:140
+#: list-objects-filter-options.c:125
 #, c-format
 msgid "must escape char in sub-filter-spec: '%c'"
 msgstr "phải thoát char trong sub-filter-spec: “%c”"
 
-#: list-objects-filter-options.c:182
+#: list-objects-filter-options.c:167
 msgid "expected something after combine:"
 msgstr "mong đợi một cái gì đó sau khi kết hợp:"
 
-#: list-objects-filter-options.c:264
+#: list-objects-filter-options.c:249
 msgid "multiple filter-specs cannot be combined"
 msgstr "không thể tổ hợp nhiều đặc tả kiểu lọc"
 
-#: list-objects-filter-options.c:376
+#: list-objects-filter-options.c:365
 msgid "unable to upgrade repository format to support partial clone"
 msgstr "không thể nâng cấp định định dạng kho chứa để hỗ trợ nhân bản cục bộ"
 
@@ -4690,17 +4820,17 @@ msgstr "không thể truy cập các blob rải rác trong “%s”"
 msgid "unable to parse sparse filter data in %s"
 msgstr "không thể phân tích dữ liệu bộ lọc rải rác trong %s"
 
-#: list-objects.c:127
+#: list-objects.c:144
 #, c-format
 msgid "entry '%s' in tree %s has tree mode, but is not a tree"
 msgstr "mục “%s” trong cây %s có nút cây, nhưng không phải là một cây"
 
-#: list-objects.c:140
+#: list-objects.c:157
 #, c-format
 msgid "entry '%s' in tree %s has blob mode, but is not a blob"
 msgstr "mục “%s” trong cây %s có nút blob, nhưng không phải là một blob"
 
-#: list-objects.c:398
+#: list-objects.c:415
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "không thể tải cây gốc cho lần chuyển giao “%s”"
@@ -4729,17 +4859,12 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "Không thể tạo “%s.lock”: %s"
 
-#: ls-refs.c:37
-#, c-format
-msgid "invalid value '%s' for lsrefs.unborn"
-msgstr "giá trị “%s” không hợp lệ cho lsrefs.unborn"
-
-#: ls-refs.c:174
+#: ls-refs.c:175
 #, c-format
 msgid "unexpected line: '%s'"
 msgstr "dòng không cần: “%s”"
 
-#: ls-refs.c:178
+#: ls-refs.c:179
 msgid "expected flush after ls-refs arguments"
 msgstr "cần đẩy dữ liệu lên đĩa sau tham số ls-refs (liệt kê tham chiếu)"
 
@@ -4747,39 +4872,39 @@ msgstr "cần đẩy dữ liệu lên đĩa sau tham số ls-refs (liệt kê th
 msgid "quoted CRLF detected"
 msgstr "phát hiện CRLF được trích dẫn"
 
-#: mailinfo.c:1254 builtin/am.c:184 builtin/mailinfo.c:46
+#: mailinfo.c:1254 builtin/am.c:185 builtin/mailinfo.c:46
 #, c-format
 msgid "bad action '%s' for '%s'"
 msgstr "thao tác sai “%s” cho “%s”"
 
-#: merge-ort.c:1584 merge-recursive.c:1211
+#: merge-ort.c:1630 merge-recursive.c:1214
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không lấy ra được)"
 
-#: merge-ort.c:1593 merge-recursive.c:1218
+#: merge-ort.c:1639 merge-recursive.c:1221
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (lần chuyển giao không hiện diện)"
 
-#: merge-ort.c:1602 merge-recursive.c:1225
+#: merge-ort.c:1648 merge-recursive.c:1228
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s” (lần chuyển giao không theo sau nền-hòa-"
 "trộn)"
 
-#: merge-ort.c:1612 merge-ort.c:1620
+#: merge-ort.c:1658 merge-ort.c:1666
 #, c-format
 msgid "Note: Fast-forwarding submodule %s to %s"
 msgstr "Chú ý: Chuyển-tiếp-nhanh mô-đun-con “%s” sang “%s”"
 
-#: merge-ort.c:1642
+#: merge-ort.c:1688
 #, c-format
 msgid "Failed to merge submodule %s"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s”"
 
-#: merge-ort.c:1649
+#: merge-ort.c:1695
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but a possible merge resolution exists:\n"
@@ -4788,7 +4913,7 @@ msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có cách giải quyết:\n"
 "%s\n"
 
-#: merge-ort.c:1653 merge-recursive.c:1281
+#: merge-ort.c:1699 merge-recursive.c:1284
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -4805,7 +4930,7 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-ort.c:1666
+#: merge-ort.c:1712
 #, c-format
 msgid ""
 "Failed to merge submodule %s, but multiple possible merges exist:\n"
@@ -4814,21 +4939,21 @@ msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s”, nhưng có nhiều cách giải quyết:\n"
 "%s"
 
-#: merge-ort.c:1887 merge-recursive.c:1372
+#: merge-ort.c:1937 merge-recursive.c:1375
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-ort.c:1892 merge-recursive.c:1377
+#: merge-ort.c:1942 merge-recursive.c:1380
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-ort.c:1899 merge-recursive.c:1410
+#: merge-ort.c:1949 merge-recursive.c:1413
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-ort.c:2038 merge-recursive.c:2132
+#: merge-ort.c:2088 merge-recursive.c:2135
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4837,7 +4962,7 @@ msgstr ""
 "XUNG ĐỘT: (ngầm đổi tên thư mục): Tập tin/thư mục đã sẵn có tại %s theo cách "
 "của các đổi tên thư mục ngầm đặt (các) đường dẫn sau ở đây: %s."
 
-#: merge-ort.c:2048 merge-recursive.c:2142
+#: merge-ort.c:2098 merge-recursive.c:2145
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4846,7 +4971,7 @@ msgstr ""
 "XUNG ĐỘT: (ngầm đổi tên thư mục): Không thể ánh xạ một đường dẫn thành %s; "
 "các đổi tên thư mục ngầm cố đặt các đường dẫn ở đây: %s"
 
-#: merge-ort.c:2106
+#: merge-ort.c:2156
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to rename %s to; it was "
@@ -4857,7 +4982,7 @@ msgstr ""
 "thành; nó đã bị đổi tên thành nhiều thư mục khác, với không đích đến nhận "
 "một phần nhiều của các tập tin."
 
-#: merge-ort.c:2260 merge-recursive.c:2478
+#: merge-ort.c:2310 merge-recursive.c:2481
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4866,7 +4991,7 @@ msgstr ""
 "CẢNH BÁO: tránh áp dụng %s -> %s đổi thên thành %s, bởi vì bản thân %s cũng "
 "bị đổi tên."
 
-#: merge-ort.c:2400 merge-recursive.c:3261
+#: merge-ort.c:2450 merge-recursive.c:3264
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4875,7 +5000,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được thêm vào trong %s bên trong một thư mục "
 "đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-ort.c:2407 merge-recursive.c:3268
+#: merge-ort.c:2457 merge-recursive.c:3271
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4884,7 +5009,7 @@ msgstr ""
 "Đường dẫn đã được cập nhật: %s được đổi tên thành %s trong %s, bên trong một "
 "thư mục đã được đổi tên trong %s; di chuyển nó đến %s."
 
-#: merge-ort.c:2420 merge-recursive.c:3264
+#: merge-ort.c:2470 merge-recursive.c:3267
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -4893,7 +5018,7 @@ msgstr ""
 "XUNG ĐỘT (vị trí tệp): %s được thêm vào trong %s trong một thư mục đã được "
 "đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
 
-#: merge-ort.c:2428 merge-recursive.c:3271
+#: merge-ort.c:2478 merge-recursive.c:3274
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -4902,13 +5027,13 @@ msgstr ""
 "XUNG ĐỘT (vị trí tệp): %s được đổi tên thành %s trong %s, bên trong một thư "
 "mục đã được đổi tên thành %s, đoán là nó nên được di chuyển đến %s."
 
-#: merge-ort.c:2584
+#: merge-ort.c:2634
 #, c-format
 msgid "CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s."
 msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên %s->%s trong %s và thành %s trong %s."
 
-#: merge-ort.c:2679
+#: merge-ort.c:2729
 #, c-format
 msgid ""
 "CONFLICT (rename involved in collision): rename of %s -> %s has content "
@@ -4919,23 +5044,23 @@ msgstr ""
 "VÀ va chạm với một đường dẫn khác; điều này có thể dẫn đến tạo ra các xung "
 "đột lồng nhau."
 
-#: merge-ort.c:2698 merge-ort.c:2722
+#: merge-ort.c:2748 merge-ort.c:2772
 #, c-format
 msgid "CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s."
 msgstr ""
 "XUNG ĐỘT (đổi-tên/xóa): Đổi tên %s->%s trong %s, nhưng lại bị xóa trong %s."
 
-#: merge-ort.c:3212 merge-recursive.c:3022
+#: merge-ort.c:3261 merge-recursive.c:3025
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-ort.c:3215 merge-recursive.c:3025
+#: merge-ort.c:3264 merge-recursive.c:3028
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-ort.c:3644
+#: merge-ort.c:3693
 #, c-format
 msgid ""
 "CONFLICT (file/directory): directory in the way of %s from %s; moving it to "
@@ -4944,7 +5069,7 @@ msgstr ""
 "XUNG ĐỘT (tập tin/thư mục): thư mục theo cách của %s từ %s; thay vào đó, di "
 "chuyển nó đến %s."
 
-#: merge-ort.c:3721
+#: merge-ort.c:3770
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed both "
@@ -4953,7 +5078,7 @@ msgstr ""
 "XUNG ĐỘT (các kiểu riêng biệt): %s có các kiểu khác nhau ở mỗi bên; đã đổi "
 "tên cả hai trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
 
-#: merge-ort.c:3728
+#: merge-ort.c:3777
 #, c-format
 msgid ""
 "CONFLICT (distinct types): %s had different types on each side; renamed one "
@@ -4962,24 +5087,24 @@ msgstr ""
 "XUNG ĐỘT (các kiểu riêng biệt): %s có các loại khác nhau ở mỗi bên; đã đổi "
 "tên một trong số chúng để mỗi cái có thể được ghi lại ở đâu đó."
 
-#: merge-ort.c:3819 merge-recursive.c:3101
+#: merge-ort.c:3866 merge-recursive.c:3104
 msgid "content"
 msgstr "nội dung"
 
-#: merge-ort.c:3821 merge-recursive.c:3105
+#: merge-ort.c:3868 merge-recursive.c:3108
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-ort.c:3823 merge-recursive.c:3150
+#: merge-ort.c:3870 merge-recursive.c:3153
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-ort.c:3825 merge-recursive.c:3151
+#: merge-ort.c:3872 merge-recursive.c:3154
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-ort.c:3869
+#: merge-ort.c:3916
 #, c-format
 msgid ""
 "CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s "
@@ -4988,7 +5113,7 @@ msgstr ""
 "XUNG ĐỘT (sửa/xóa): %s bị xóa trong %s và sửa trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-ort.c:4165
+#: merge-ort.c:4212
 #, c-format
 msgid ""
 "Note: %s not up to date and in way of checking out conflicted version; old "
@@ -5000,12 +5125,12 @@ msgstr ""
 #. TRANSLATORS: The %s arguments are: 1) tree hash of a merge
 #. base, and 2-3) the trees for the two trees we're merging.
 #.
-#: merge-ort.c:4534
+#: merge-ort.c:4586
 #, c-format
 msgid "collecting merge info failed for trees %s, %s, %s"
 msgstr "thu thập thông tin hòa trộn gặp lỗi cho cây %s, %s, %s"
 
-#: merge-ort-wrappers.c:13 merge-recursive.c:3716
+#: merge-ort-wrappers.c:13 merge-recursive.c:3723
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -5015,7 +5140,7 @@ msgstr ""
 "hòa trộn:\n"
 "  %s"
 
-#: merge-ort-wrappers.c:33 merge-recursive.c:3482 builtin/merge.c:405
+#: merge-ort-wrappers.c:33 merge-recursive.c:3485 builtin/merge.c:405
 msgid "Already up to date."
 msgstr "Đã cập nhật rồi."
 
@@ -5054,7 +5179,7 @@ msgstr ": có lẽ là một xung đột D/F?"
 msgid "refusing to lose untracked file at '%s'"
 msgstr "từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:956 builtin/cat-file.c:41
+#: merge-recursive.c:956 builtin/cat-file.c:47
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
@@ -5079,45 +5204,45 @@ msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”: %s"
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "không hiểu phải làm gì với %06o %s “%s”"
 
-#: merge-recursive.c:1233 merge-recursive.c:1246
+#: merge-recursive.c:1236 merge-recursive.c:1249
 #, c-format
 msgid "Fast-forwarding submodule %s to the following commit:"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s” đến lần chuyển giao sau đây:"
 
-#: merge-recursive.c:1236 merge-recursive.c:1249
+#: merge-recursive.c:1239 merge-recursive.c:1252
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
 
-#: merge-recursive.c:1273
+#: merge-recursive.c:1276
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không tìm thấy các lần chuyển giao "
 "theo sau hòa trộn)"
 
-#: merge-recursive.c:1277
+#: merge-recursive.c:1280
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (không chuyển tiếp nhanh được)"
 
-#: merge-recursive.c:1278
+#: merge-recursive.c:1281
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Tìm thấy một giải pháp hòa trộn có thể cho mô-đun-con:\n"
 
-#: merge-recursive.c:1290
+#: merge-recursive.c:1293
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Gặp lỗi khi hòa trộn mô-đun-con “%s” (thấy nhiều hòa trộn đa trùng)"
 
-#: merge-recursive.c:1434
+#: merge-recursive.c:1437
 #, c-format
 msgid "Error: Refusing to lose untracked file at %s; writing to %s instead."
 msgstr ""
 "Lỗi: từ chối đóng tập tin không được theo dõi tại “%s”; thay vào đó ghi vào "
 "%s."
 
-#: merge-recursive.c:1506
+#: merge-recursive.c:1509
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5126,7 +5251,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree)."
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1514
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5135,7 +5260,7 @@ 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:1518
+#: merge-recursive.c:1521
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -5144,7 +5269,7 @@ msgstr ""
 "XUNG ĐỘT (%s/xóa): %s bị xóa trong %s và %s trong %s. Phiên bản %s của %s "
 "còn lại trong cây (tree) tại %s."
 
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -5153,45 +5278,45 @@ 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:1558
+#: merge-recursive.c:1561
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1558
+#: merge-recursive.c:1561
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1609 merge-recursive.c:2515 merge-recursive.c:3178
+#: merge-recursive.c:1612 merge-recursive.c:2518 merge-recursive.c:3181
 #, c-format
 msgid "Refusing to lose dirty file at %s"
 msgstr "Từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:1619
+#: merge-recursive.c:1622
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr ""
 "Từ chối đóng tập tin không được theo dõi tại “%s”, ngay cả khi nó ở trên "
 "đường."
 
-#: merge-recursive.c:1677
+#: merge-recursive.c:1680
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm trong %s"
 
-#: merge-recursive.c:1708
+#: merge-recursive.c:1711
 #, 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:1713
+#: merge-recursive.c:1716
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 "Từ chối đóng tập tin không được theo dõi tại “%s”; thay vào đó đang thêm "
 "thành %s"
 
-#: merge-recursive.c:1740
+#: merge-recursive.c:1743
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -5200,17 +5325,17 @@ 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:1745
+#: merge-recursive.c:1748
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1837
+#: merge-recursive.c:1840
 #, 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:2100
+#: merge-recursive.c:2103
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -5221,7 +5346,7 @@ msgstr ""
 "vì thư mục %s đã bị đổi tên thành nhiều thư mục khác, với không đích đến "
 "nhận một phần nhiều của các tập tin."
 
-#: merge-recursive.c:2234
+#: merge-recursive.c:2237
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -5230,79 +5355,79 @@ msgstr ""
 "XUNG ĐỘT (đổi-tên/đổi-tên): Đổi tên thư mục %s->%s trong %s. Đổi tên thư mục "
 "%s->%s trong %s"
 
-#: merge-recursive.c:3089
+#: merge-recursive.c:3092
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:3089
+#: merge-recursive.c:3092
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3128
+#: merge-recursive.c:3131
 #, 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:3181
+#: merge-recursive.c:3184
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3385
+#: merge-recursive.c:3388
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3408
+#: merge-recursive.c:3411
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3413
+#: merge-recursive.c:3416
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3420
+#: merge-recursive.c:3423
 #, 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:3429
+#: merge-recursive.c:3432
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3438
+#: merge-recursive.c:3441
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "XUNG ĐỘT (thêm/thêm): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3491
+#: merge-recursive.c:3494
 #, 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:3585
+#: merge-recursive.c:3588
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3598
+#: merge-recursive.c:3601
 #, 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:3648
+#: merge-recursive.c:3651
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3816
+#: merge-recursive.c:3823
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3834 builtin/merge.c:720 builtin/merge.c:906
+#: merge-recursive.c:3841 builtin/merge.c:720 builtin/merge.c:912
 #: builtin/stash.c:489
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
@@ -5311,222 +5436,226 @@ msgstr "Không thể ghi bảng mục lục."
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:102 rerere.c:704 builtin/am.c:1988 builtin/am.c:2022
-#: builtin/checkout.c:598 builtin/checkout.c:853 builtin/clone.c:706
+#: merge.c:102 rerere.c:705 builtin/am.c:1989 builtin/am.c:2023
+#: builtin/checkout.c:603 builtin/checkout.c:865 builtin/clone.c:714
 #: builtin/stash.c:269
 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"
 
-#: midx.c:78
+#: midx.c:79
 msgid "multi-pack-index OID fanout is of the wrong size"
 msgstr "fanout OID nhiều gói chỉ mục có kích thước sai"
 
-#: midx.c:111
+#: midx.c:112
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "tập tin đồ thị multi-pack-index %s quá nhỏ"
 
-#: midx.c:127
+#: midx.c:128
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr "chữ ký multi-pack-index 0x%08x không khớp chữ ký 0x%08x"
 
-#: midx.c:132
+#: midx.c:133
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "không nhận ra phiên bản %d của multi-pack-index"
 
-#: midx.c:137
+#: midx.c:138
 #, c-format
 msgid "multi-pack-index hash version %u does not match version %u"
 msgstr "phiên bản băm multi-pack-index %u không khớp phiên bản %u"
 
-#: midx.c:154
+#: midx.c:155
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "multi-pack-index thiếu mảnh pack-name cần thiết"
 
-#: midx.c:156
+#: midx.c:157
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "multi-pack-index thiếu mảnh OID fanout cần thiết"
 
-#: midx.c:158
+#: midx.c:159
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "multi-pack-index thiếu mảnh OID lookup cần thiết"
 
-#: midx.c:160
+#: midx.c:161
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "multi-pack-index thiếu mảnh các khoảng bù đối tượng cần thiết"
 
-#: midx.c:176
+#: midx.c:180
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "các tên gói multi-pack-index không đúng thứ tự: “%s” trước “%s”"
 
-#: midx.c:224
+#: midx.c:228
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "pack-int-id sai: %u (%u các gói tổng)"
 
-#: midx.c:274
+#: midx.c:278
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr "multi-pack-index lưu trữ một khoảng bù 64-bít, nhưng off_t là quá nhỏ"
 
-#: midx.c:505
+#: midx.c:509
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:511
+#: midx.c:515
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:579
+#: midx.c:583
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "gặp lỗi khi phân bổ đối tượng “%d” trong tập tin gói"
 
-#: midx.c:895
+#: midx.c:911
 msgid "cannot store reverse index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục đảo ngược"
 
-#: midx.c:993
+#: midx.c:1009
 #, c-format
 msgid "could not parse line: %s"
 msgstr "không thể phân tích cú pháp dòng: %s"
 
-#: midx.c:995
+#: midx.c:1011
 #, c-format
 msgid "malformed line: %s"
 msgstr "dòng dị hình: %s"
 
-#: midx.c:1162
+#: midx.c:1181
 msgid "ignoring existing multi-pack-index; checksum mismatch"
 msgstr "bỏ qua multi-pack-index sẵn có; tổng kiểm không khớp"
 
-#: midx.c:1187
+#: midx.c:1206
 msgid "could not load pack"
 msgstr "không thể tải gói"
 
-#: midx.c:1193
+#: midx.c:1212
 #, c-format
 msgid "could not open index for %s"
 msgstr "không thể mở mục lục cho %s"
 
-#: midx.c:1204
+#: midx.c:1223
 msgid "Adding packfiles to multi-pack-index"
 msgstr "Đang thêm tập tin gói từ multi-pack-index"
 
-#: midx.c:1247
+#: midx.c:1266
 #, c-format
 msgid "unknown preferred pack: '%s'"
 msgstr "không hiểu \"preferred pack\": %s"
 
-#: midx.c:1292
+#: midx.c:1311
 #, c-format
 msgid "cannot select preferred pack %s with no objects"
 msgstr "không thể chọn gói ưa dùng %s với không đối tượng nào"
 
-#: midx.c:1324
+#: midx.c:1343
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "đã không thấy tập tin gói %s để mà xóa"
 
-#: midx.c:1370
+#: midx.c:1389
 #, c-format
 msgid "preferred pack '%s' is expired"
 msgstr "\"preferred pack\" “%s” đã hết hạn"
 
-#: midx.c:1383
+#: midx.c:1402
 msgid "no pack files to index."
 msgstr "không có tập tin gói để đánh mục lục."
 
-#: midx.c:1420
+#: midx.c:1409
+msgid "refusing to write multi-pack .bitmap without any objects"
+msgstr "từ chối ghi “multi-pack bitmap” mà không có bất kỳ đối tượng nào"
+
+#: midx.c:1451
 msgid "could not write multi-pack bitmap"
 msgstr "không thể ghi “multi-pack bitmap”"
 
-#: midx.c:1430
+#: midx.c:1461
 msgid "could not write multi-pack-index"
 msgstr "không thể ghi “multi-pack-index”"
 
-#: midx.c:1489 builtin/clean.c:37
+#: midx.c:1520 builtin/clean.c:37
 #, c-format
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: midx.c:1522
+#: midx.c:1553
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "gặp lỗi khi xóa multi-pack-index tại %s"
 
-#: midx.c:1585
+#: midx.c:1616
 msgid "multi-pack-index file exists, but failed to parse"
 msgstr "đã có tập tin multi-pack-index, nhưng gặp lỗi khi phân tích cú pháp"
 
-#: midx.c:1593
+#: midx.c:1624
 msgid "incorrect checksum"
 msgstr "tổng kiểm không đúng"
 
-#: midx.c:1596
+#: midx.c:1627
 msgid "Looking for referenced packfiles"
 msgstr "Đang khóa cho các gói bị tham chiếu"
 
-#: midx.c:1611
+#: midx.c:1642
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 msgstr "fanout cũ sai thứ tự: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
 
-#: midx.c:1616
+#: midx.c:1647
 msgid "the midx contains no oid"
 msgstr "midx chẳng chứa oid nào"
 
-#: midx.c:1625
+#: midx.c:1656
 msgid "Verifying OID order in multi-pack-index"
 msgstr "Thẩm tra thứ tự OID trong multi-pack-index"
 
-#: midx.c:1634
+#: midx.c:1665
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "lookup cũ sai thứ tự: oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1654
+#: midx.c:1685
 msgid "Sorting objects by packfile"
 msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
 
-#: midx.c:1661
+#: midx.c:1692
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1677
+#: midx.c:1708
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "gặp lỗi khi tải mục gói cho oid[%d] = %s"
 
-#: midx.c:1683
+#: midx.c:1714
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "gặp lỗi khi tải pack-index cho tập tin gói %s"
 
-#: midx.c:1692
+#: midx.c:1723
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr ""
 "khoảng bù đối tượng không đúng cho oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1719
+#: midx.c:1750
 msgid "Counting referenced objects"
 msgstr "Đang đếm các đối tượng được tham chiếu"
 
-#: midx.c:1729
+#: midx.c:1760
 msgid "Finding and deleting unreferenced packfiles"
 msgstr "Đang tìm và xóa các gói không được tham chiếu"
 
-#: midx.c:1921
+#: midx.c:1952
 msgid "could not start pack-objects"
 msgstr "không thể lấy thông tin thống kê về các đối tượng gói"
 
-#: midx.c:1941
+#: midx.c:1972
 msgid "could not finish pack-objects"
 msgstr "không thể hoàn thiện các đối tượng gói"
 
@@ -5545,7 +5674,7 @@ msgstr "không thể tạo tuyến lazy_name: %s"
 msgid "unable to join lazy_name thread: %s"
 msgstr "không thể gia nhập tuyến lazy_name: %s"
 
-#: notes-merge.c:277
+#: notes-merge.c:276
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -5557,7 +5686,7 @@ msgstr ""
 "chuyển giao hay bãi bỏ lần hòa trộn trước đây và bắt đầu một hòa trộn ghi "
 "chú mới."
 
-#: notes-merge.c:284
+#: notes-merge.c:283
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn ghi chú (%s vẫn tồn tại)."
@@ -5587,273 +5716,344 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object-file.c:456
+#: object-file.c:457
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "thư mục đối tượng %s không tồn tại; kiểm tra .git/objects/info/alternates"
 
-#: object-file.c:514
+#: object-file.c:515
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "không thể thường hóa đường dẫn đối tượng thay thế: “%s”"
 
-#: object-file.c:588
+#: object-file.c:589
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s: đang bỏ qua kho đối tượng thay thế, lồng nhau quá sâu"
 
-#: object-file.c:595
+#: object-file.c:596
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
 
-#: object-file.c:638
+#: object-file.c:639
 msgid "unable to fdopen alternates lockfile"
 msgstr "không thể fdopen tập tin khóa thay thế"
 
-#: object-file.c:656
+#: object-file.c:657
 msgid "unable to read alternates file"
 msgstr "không thể đọc tập tin thay thế"
 
-#: object-file.c:663
+#: object-file.c:664
 msgid "unable to move new alternates file into place"
 msgstr "không thể di chuyển tập tin thay thế vào chỗ"
 
-#: object-file.c:741
+#: object-file.c:742
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "đường dẫn “%s” không tồn tại"
 
-#: object-file.c:762
+#: object-file.c:763
 #, 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ợ."
 
-#: object-file.c:768
+#: object-file.c:769
 #, 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ộ."
 
-#: object-file.c:774
+#: object-file.c:775
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "kho tham chiếu “%s” là nông"
 
-#: object-file.c:782
+#: object-file.c:783
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: object-file.c:813
+#: object-file.c:814
 #, c-format
 msgid "could not find object directory matching %s"
 msgstr "không thể tìm thấy thư mục đối tượng khớp với “%s”"
 
-#: object-file.c:863
+#: object-file.c:864
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "dòng không hợp lệ trong khi phân tích các tham chiếu thay thế: %s"
 
-#: object-file.c:1013
+#: object-file.c:1014
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
 
-#: object-file.c:1048
+#: object-file.c:1049
 #, c-format
 msgid "mmap failed%s"
 msgstr "mmap gặp lỗi%s"
 
-#: object-file.c:1214
+#: object-file.c:1230
 #, c-format
 msgid "object file %s is empty"
 msgstr "tập tin đối tượng %s trống rỗng"
 
-#: object-file.c:1333 object-file.c:2542
+#: object-file.c:1349 object-file.c:2588
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "đối tượng mất hỏng “%s”"
 
-#: object-file.c:1335 object-file.c:2546
+#: object-file.c:1351 object-file.c:2592
 #, c-format
 msgid "garbage at end of loose object '%s'"
 msgstr "gặp rác tại cuối của đối tượng bị mất “%s”"
 
-#: object-file.c:1457
+#: object-file.c:1473
 #, c-format
 msgid "unable to parse %s header"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: object-file.c:1459
+#: object-file.c:1475
 msgid "invalid object type"
 msgstr "kiểu đối tượng không hợp lệ"
 
-#: object-file.c:1470
+#: object-file.c:1486
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "không thể giải gói phần đầu %s"
 
-#: object-file.c:1474
+#: object-file.c:1490
 #, c-format
 msgid "header for %s too long, exceeds %d bytes"
 msgstr "phần đầu cho %s quá dài, vượt quá %d byte"
 
-#: object-file.c:1704
+#: object-file.c:1720
 #, c-format
 msgid "failed to read object %s"
 msgstr "gặp lỗi khi đọc đối tượng “%s”"
 
-#: object-file.c:1708
+#: object-file.c:1724
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "c%s thay thế không được tìm thấy cho %s"
 
-#: object-file.c:1712
+#: object-file.c:1728
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "đối tượng mất %s (được lưu trong %s) bị hỏng"
 
-#: object-file.c:1716
+#: object-file.c:1732
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "đối tượng đã đóng gói %s (được lưu trong %s) bị hỏng"
 
-#: object-file.c:1821
+#: object-file.c:1855
 #, c-format
 msgid "unable to write file %s"
 msgstr "không thể ghi tập tin %s"
 
-#: object-file.c:1828
+#: object-file.c:1862
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "không thể đặt quyền thành “%s”"
 
-#: object-file.c:1835
+#: object-file.c:1869
 msgid "file write error"
 msgstr "lỗi ghi tập tin"
 
-#: object-file.c:1858
+#: object-file.c:1904
 msgid "error when closing loose object file"
 msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
 
-#: object-file.c:1925
+#: object-file.c:1971
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "không đủ thẩm quyền để thêm một đối tượng vào cơ sở dữ liệu kho chứa %s"
 
-#: object-file.c:1927
+#: object-file.c:1973
 msgid "unable to create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: object-file.c:1951
+#: object-file.c:1997
 msgid "unable to write loose object file"
 msgstr "không thể ghi tập tin đối tượng đã mất"
 
-#: object-file.c:1957
+#: object-file.c:2003
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "không thể xả nén đối tượng mới %s (%d)"
 
-#: object-file.c:1961
+#: object-file.c:2007
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
 
-#: object-file.c:1965
+#: object-file.c:2011
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "chưa rõ ràng baowir dữ liệu nguồn đối tượng không ổn định cho %s"
 
-#: object-file.c:1976 builtin/pack-objects.c:1243
+#: object-file.c:2022 builtin/pack-objects.c:1251
 #, c-format
 msgid "failed utime() on %s"
 msgstr "gặp lỗi utime() trên “%s”"
 
-#: object-file.c:2054
+#: object-file.c:2100
 #, c-format
 msgid "cannot read object for %s"
 msgstr "không thể đọc đối tượng cho %s"
 
-#: object-file.c:2105
+#: object-file.c:2151
 msgid "corrupt commit"
 msgstr "lần chuyển giao sai hỏng"
 
-#: object-file.c:2113
+#: object-file.c:2159
 msgid "corrupt tag"
 msgstr "thẻ sai hỏng"
 
-#: object-file.c:2213
+#: object-file.c:2259
 #, c-format
 msgid "read error while indexing %s"
 msgstr "gặp lỗi đọc khi đánh mục lục %s"
 
-#: object-file.c:2216
+#: object-file.c:2262
 #, c-format
 msgid "short read while indexing %s"
 msgstr "không đọc ngắn khi đánh mục lục %s"
 
-#: object-file.c:2289 object-file.c:2299
+#: object-file.c:2335 object-file.c:2345
 #, c-format
 msgid "%s: failed to insert into database"
 msgstr "%s: gặp lỗi khi thêm vào cơ sở dữ liệu"
 
-#: object-file.c:2305
+#: object-file.c:2351
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: kiểu tập tin không được hỗ trợ"
 
-#: object-file.c:2329 builtin/fetch.c:1453
+#: object-file.c:2375 builtin/fetch.c:1494
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s không phải là một đối tượng hợp lệ"
 
-#: object-file.c:2331
+#: object-file.c:2377
 #, 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ệ"
 
-#: object-file.c:2358
+#: object-file.c:2404
 #, c-format
 msgid "unable to open %s"
 msgstr "không thể mở %s"
 
-#: object-file.c:2553
+#: object-file.c:2599
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "mã băm không khớp cho %s (cần %s)"
 
-#: object-file.c:2576
+#: object-file.c:2622
 #, c-format
 msgid "unable to mmap %s"
 msgstr "không thể mmap %s"
 
-#: object-file.c:2582
+#: object-file.c:2628
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "không thể giải gói phần đầu của “%s”"
 
-#: object-file.c:2587
+#: object-file.c:2633
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: object-file.c:2598
+#: object-file.c:2644
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "không thể giải gói nội dung của “%s”"
 
-#: object-name.c:480
+#. TRANSLATORS: This is a line of ambiguous object
+#. output shown when we cannot look up or parse the
+#. object in question. E.g. "deadbeef [bad object]".
+#.
+#: object-name.c:382
+#, c-format
+msgid "%s [bad object]"
+msgstr "%s [đối tượng sai.]"
+
+#. TRANSLATORS: This is a line of ambiguous commit
+#. object output. E.g.:
+#. *
+#. "deadbeef commit 2021-01-01 - Some Commit Message"
+#.
+#: object-name.c:407
+#, c-format
+msgid "%s commit %s - %s"
+msgstr "%s lần chuyển giao %s - %s"
+
+#. TRANSLATORS: This is a line of ambiguous
+#. tag object output. E.g.:
+#. *
+#. "deadbeef tag 2022-01-01 - Some Tag Message"
+#. *
+#. The second argument is the YYYY-MM-DD found
+#. in the tag.
+#. *
+#. The third argument is the "tag" string
+#. from object.c.
+#.
+#: object-name.c:428
+#, c-format
+msgid "%s tag %s - %s"
+msgstr "%s thẻ %s - %s"
+
+#. TRANSLATORS: This is a line of ambiguous
+#. tag object output where we couldn't parse
+#. the tag itself. E.g.:
+#. *
+#. "deadbeef [bad tag, could not parse it]"
+#.
+#: object-name.c:439
+#, c-format
+msgid "%s [bad tag, could not parse it]"
+msgstr "%s [thẻ sai, không thể phân tích cú pháp nó]"
+
+#. TRANSLATORS: This is a line of ambiguous <type>
+#. object output. E.g. "deadbeef tree".
+#.
+#: object-name.c:447
+#, c-format
+msgid "%s tree"
+msgstr "%s tree"
+
+#. TRANSLATORS: This is a line of ambiguous <type>
+#. object output. E.g. "deadbeef blob".
+#.
+#: object-name.c:453
+#, c-format
+msgid "%s blob"
+msgstr "%s blob"
+
+#: object-name.c:569
 #, c-format
 msgid "short object ID %s is ambiguous"
 msgstr "mã đối tượng dạng rút gọn %s chưa rõ ràng"
 
-#: object-name.c:491
-msgid "The candidates are:"
-msgstr "Các ứng cử là:"
+#. TRANSLATORS: The argument is the list of ambiguous
+#. objects composed in show_ambiguous_object(). See
+#. its "TRANSLATORS" comments for details.
+#.
+#: object-name.c:591
+#, c-format
+msgid ""
+"The candidates are:\n"
+"%s"
+msgstr ""
+"Các ứng cử là:\n"
+"%s"
 
-#: object-name.c:790
+#: object-name.c:888
 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"
@@ -5877,22 +6077,22 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
-#: object-name.c:910
+#: object-name.c:1008
 #, c-format
 msgid "log for '%.*s' only goes back to %s"
 msgstr "nhật ký cho “%.*s” chỉ trở lại đến %s"
 
-#: object-name.c:918
+#: object-name.c:1016
 #, c-format
 msgid "log for '%.*s' only has %d entries"
 msgstr "nhật ký cho “%.*s” chỉ có %d mục"
 
-#: object-name.c:1696
+#: object-name.c:1794
 #, c-format
 msgid "path '%s' exists on disk, but not in '%.*s'"
 msgstr "đường dẫn “%s” có ở trên đĩa, nhưng không trong “%.*s”"
 
-#: object-name.c:1702
+#: object-name.c:1800
 #, c-format
 msgid ""
 "path '%s' exists, but not '%s'\n"
@@ -5901,12 +6101,12 @@ msgstr ""
 "đường dẫn “%s” tồn tại, nhưng không phải “%s”\n"
 "gợi ý: Có phải ý bạn là “%.*s:%s” aka “%.*s:./%s”?"
 
-#: object-name.c:1711
+#: object-name.c:1809
 #, c-format
 msgid "path '%s' does not exist in '%.*s'"
 msgstr "đường dẫn “%s” không tồn tại trong “%.*s”"
 
-#: object-name.c:1739
+#: object-name.c:1837
 #, c-format
 msgid ""
 "path '%s' is in the index, but not at stage %d\n"
@@ -5915,7 +6115,7 @@ msgstr ""
 "đường dẫn “%s” nằm trong chỉ mục, nhưng không phải ở giai đoạn %d\n"
 "gợi ý: Có phải ý bạn là “:%d:%s”?"
 
-#: object-name.c:1755
+#: object-name.c:1853
 #, c-format
 msgid ""
 "path '%s' is in the index, but not '%s'\n"
@@ -5924,21 +6124,26 @@ msgstr ""
 "đường dẫn “%s” nằm trong chỉ mục, nhưng không phải “%s”\n"
 "gợi ý: Có phải ý bạn là “:% d:%s “ aka “:%d:./%s”?"
 
-#: object-name.c:1763
+#: object-name.c:1861
 #, c-format
 msgid "path '%s' exists on disk, but not in the index"
 msgstr "đường dẫn “%s” tồn tại trên đĩa, nhưng không có trong chỉ mục"
 
-#: object-name.c:1765
+#: object-name.c:1863
 #, c-format
 msgid "path '%s' does not exist (neither on disk nor in the index)"
 msgstr "đường dẫn “%s” không tồn tại (không trên đĩa cũng không trong mục lục)"
 
-#: object-name.c:1778
+#: object-name.c:1876
 msgid "relative path syntax can't be used outside working tree"
 msgstr "cú pháp đường dẫn tương đối không thể thể dùng ngoài cây làm việc"
 
-#: object-name.c:1916
+#: object-name.c:1901
+#, c-format
+msgid "<object>:<path> required, only <object> '%s' given"
+msgstr "<object>:<path> cần cả hai, nhưng chỉ <object> '%s' được đưa ra"
+
+#: object-name.c:2014
 #, c-format
 msgid "invalid object name '%.*s'."
 msgstr "“%.*s” không phải là tên đối tượng hợp lệ."
@@ -5963,7 +6168,7 @@ msgstr "đối tượng %s có mã kiểu %d chưa biết"
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
-#: object.c:283 object.c:295
+#: object.c:283 object.c:294
 #, c-format
 msgid "hash mismatch %s"
 msgstr "mã băm không khớp %s"
@@ -5972,21 +6177,21 @@ msgstr "mã băm không khớp %s"
 msgid "multi-pack bitmap is missing required reverse index"
 msgstr "ánh xạ multi-pack thiếu mục lục để dành cần thiết"
 
-#: pack-bitmap.c:429
+#: pack-bitmap.c:433
 msgid "load_reverse_index: could not open pack"
 msgstr "load_reverse_index: không thể mở gói"
 
-#: pack-bitmap.c:1069 pack-bitmap.c:1075 builtin/pack-objects.c:2424
+#: pack-bitmap.c:1072 pack-bitmap.c:1078 builtin/pack-objects.c:2432
 #, c-format
 msgid "unable to get size of %s"
 msgstr "không thể lấy kích cỡ của %s"
 
-#: pack-bitmap.c:1935
+#: pack-bitmap.c:1937
 #, c-format
 msgid "could not find %s in pack %s at offset %<PRIuMAX>"
 msgstr "không thể tìm thấy %s trong gói “%s” tại vị trí %<PRIuMAX>"
 
-#: pack-bitmap.c:1971 builtin/rev-list.c:92
+#: pack-bitmap.c:1973 builtin/rev-list.c:91
 #, c-format
 msgid "unable to get disk usage of %s"
 msgstr "không thể dung lượng đĩa đã dùng của %s"
@@ -6030,7 +6235,7 @@ msgstr "không thể lấy thông tin thống kê: %s"
 msgid "failed to make %s readable"
 msgstr "gặp lỗi làm cho %s đọc được"
 
-#: pack-write.c:520
+#: pack-write.c:521
 #, c-format
 msgid "could not write '%s' promisor file"
 msgstr "không thể ghi tập tin promisor “%s”"
@@ -6370,20 +6575,20 @@ msgstr "object-info: cần đẩy dữ liệu lên đĩa sau các tham số"
 msgid "Removing duplicate objects"
 msgstr "Đang gỡ các đối tượng trùng lặp"
 
-#: range-diff.c:67
+#: range-diff.c:68
 msgid "could not start `log`"
 msgstr "không thể lấy thông tin thống kê về “log“"
 
-#: range-diff.c:69
+#: range-diff.c:70
 msgid "could not read `log` output"
 msgstr "không thể đọc kết xuất “log”"
 
-#: range-diff.c:97 sequencer.c:5602
+#: range-diff.c:98 sequencer.c:5575
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: range-diff.c:111
+#: range-diff.c:109
 #, c-format
 msgid ""
 "could not parse first line of `log` output: did not start with 'commit ': "
@@ -6392,66 +6597,66 @@ msgstr ""
 "không thể phân tích cú pháp dòng đầu tiên của đầu ra “log”: không bắt đầu "
 "bằng “commit ”: “%s”"
 
-#: range-diff.c:137
+#: range-diff.c:132
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "không thể phân tích cú pháp phần đầu git “%.*s”"
 
-#: range-diff.c:304
+#: range-diff.c:300
 msgid "failed to generate diff"
 msgstr "gặp lỗi khi tạo khác biệt"
 
-#: range-diff.c:562 range-diff.c:564
+#: range-diff.c:558 range-diff.c:560
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "không thể phân tích nhật ký cho “%s”"
 
-#: read-cache.c:723
+#: read-cache.c:737
 #, c-format
 msgid "will not add file alias '%s' ('%s' already exists in index)"
 msgstr ""
 "sẽ không thêm các bí danh “%s” (“%s” đã có từ trước trong bảng mục lục)"
 
-#: read-cache.c:739
+#: read-cache.c:753
 msgid "cannot create an empty blob in the object database"
 msgstr "không thể tạo một blob rỗng trong cơ sở dữ liệu đối tượng"
 
-#: read-cache.c:761
+#: read-cache.c:775
 #, c-format
 msgid "%s: can only add regular files, symbolic links or git-directories"
 msgstr ""
 "%s: chỉ có thể thêm tập tin thông thường, liên kết mềm hoặc git-directories"
 
-#: read-cache.c:766 builtin/submodule--helper.c:3242
+#: read-cache.c:780 builtin/submodule--helper.c:3359
 #, c-format
 msgid "'%s' does not have a commit checked out"
 msgstr "“%s” không có một lần chuyển giao nào được lấy ra"
 
-#: read-cache.c:818
+#: read-cache.c:832
 #, c-format
 msgid "unable to index file '%s'"
 msgstr "không thể đánh mục lục tập tin “%s”"
 
-#: read-cache.c:837
+#: read-cache.c:851
 #, c-format
 msgid "unable to add '%s' to index"
 msgstr "không thể thêm %s vào bảng mục lục"
 
-#: read-cache.c:848
+#: read-cache.c:862
 #, c-format
 msgid "unable to stat '%s'"
 msgstr "không thể lấy thống kê “%s”"
 
-#: read-cache.c:1386
+#: read-cache.c:1404
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "%s có vẻ không phải là tập tin và cũng chẳng phải là một thư mục"
 
-#: read-cache.c:1601
+#: read-cache.c:1619
 msgid "Refresh index"
 msgstr "Làm tươi mới bảng mục lục"
 
-#: read-cache.c:1733
+#: read-cache.c:1751
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -6460,7 +6665,7 @@ msgstr ""
 "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"
 
-#: read-cache.c:1743
+#: read-cache.c:1761
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -6469,143 +6674,147 @@ 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"
 
-#: read-cache.c:1799
+#: read-cache.c:1817
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "chữ ký sai 0x%08x"
 
-#: read-cache.c:1802
+#: read-cache.c:1820
 #, c-format
 msgid "bad index version %d"
 msgstr "phiên bản mục lục sai %d"
 
-#: read-cache.c:1811
+#: read-cache.c:1829
 msgid "bad index file sha1 signature"
 msgstr "chữ ký dạng sha1 cho tập tin mục lục không đúng"
 
-#: read-cache.c:1845
+#: read-cache.c:1863
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "mục lục dùng phần mở rộng %.4s, cái mà chúng tôi không hiểu được"
 
-#: read-cache.c:1847
+#: read-cache.c:1865
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "đang lờ đi phần mở rộng %.4s"
 
-#: read-cache.c:1884
+#: read-cache.c:1902
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "không hiểu định dạng mục lục 0x%08x"
 
-#: read-cache.c:1900
+#: read-cache.c:1918
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "trường tên sai sạng trong mục lục, gần đường dẫn “%s”"
 
-#: read-cache.c:1957
+#: read-cache.c:1975
 msgid "unordered stage entries in index"
 msgstr "các mục tin stage không đúng thứ tự trong mục lục"
 
-#: read-cache.c:1960
+#: read-cache.c:1978
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "nhiều mục stage cho tập tin hòa trộn “%s”"
 
-#: read-cache.c:1963
+#: read-cache.c:1981
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "các mục tin stage không đúng thứ tự cho “%s”"
 
-#: read-cache.c:2078 read-cache.c:2384 rerere.c:549 rerere.c:583 rerere.c:1095
-#: submodule.c:1662 builtin/add.c:600 builtin/check-ignore.c:183
-#: builtin/checkout.c:527 builtin/checkout.c:719 builtin/clean.c:1013
-#: builtin/commit.c:378 builtin/diff-tree.c:122 builtin/grep.c:519
-#: builtin/mv.c:148 builtin/reset.c:499 builtin/rm.c:293
-#: builtin/submodule--helper.c:327 builtin/submodule--helper.c:3202
+#: read-cache.c:2096 read-cache.c:2402 rerere.c:549 rerere.c:583 rerere.c:1096
+#: submodule.c:1831 builtin/add.c:586 builtin/check-ignore.c:183
+#: builtin/checkout.c:532 builtin/checkout.c:724 builtin/clean.c:1016
+#: builtin/commit.c:379 builtin/diff-tree.c:122 builtin/grep.c:521
+#: builtin/mv.c:148 builtin/reset.c:506 builtin/rm.c:293
+#: builtin/submodule--helper.c:335 builtin/submodule--helper.c:3319
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: read-cache.c:2222
+#: read-cache.c:2240
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "không thể tạo tuyến load_cache_entries: %s"
 
-#: read-cache.c:2235
+#: read-cache.c:2253
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "không thể gia nhập tuyến load_cache_entries: %s"
 
-#: read-cache.c:2268
+#: read-cache.c:2286
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s: mở tập tin mục lục gặp lỗi"
 
-#: read-cache.c:2272
+#: read-cache.c:2290
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s: không thể lấy thống kê bảng mục lục đã mở"
 
-#: read-cache.c:2276
+#: read-cache.c:2294
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s: tập tin mục lục nhỏ hơn mong đợi"
 
-#: read-cache.c:2280
+#: read-cache.c:2298
 #, c-format
 msgid "%s: unable to map index file%s"
 msgstr "%s: không thể ánh xạ tập tin mục lục%s"
 
-#: read-cache.c:2323
+#: read-cache.c:2341
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "không thể tạo tuyến load_index_extensions: %s"
 
-#: read-cache.c:2350
+#: read-cache.c:2368
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "không thể gia nhập tuyến load_index_extensions: %s"
 
-#: read-cache.c:2396
+#: read-cache.c:2414
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "không thể làm tươi mới mục lục đã chia sẻ “%s”"
 
-#: read-cache.c:2455
+#: read-cache.c:2473
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "mục lục bị hỏng, cần %s trong %s, nhưng lại nhận được %s"
 
-#: read-cache.c:3086 strbuf.c:1191 wrapper.c:641 builtin/merge.c:1150
+#: read-cache.c:3032
+msgid "cannot write split index for a sparse index"
+msgstr "không thể ghi mục lục chia tách cho \"sparse index\""
+
+#: read-cache.c:3114 strbuf.c:1192 wrapper.c:717 builtin/merge.c:1156
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:3129
+#: read-cache.c:3157
 msgid "failed to convert to a sparse-index"
 msgstr "gặp lỗi khi chuyển đổi sang \"sparse-index\""
 
-#: read-cache.c:3200
+#: read-cache.c:3228
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: read-cache.c:3213
+#: read-cache.c:3241
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "không thể mở thư mục git: %s"
 
-#: read-cache.c:3225
+#: read-cache.c:3253
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: read-cache.c:3254
+#: read-cache.c:3282
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "không thể sửa các bít phân quyền trên “%s”"
 
-#: read-cache.c:3411
+#: read-cache.c:3439
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: không thể xóa bỏ stage #0"
@@ -6728,9 +6937,9 @@ msgstr ""
 "Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
 "\n"
 
-#: rebase-interactive.c:113 rerere.c:469 rerere.c:676 sequencer.c:3883
-#: sequencer.c:3909 sequencer.c:5708 builtin/fsck.c:328 builtin/gc.c:1791
-#: builtin/rebase.c:190
+#: rebase-interactive.c:113 rerere.c:469 rerere.c:677 sequencer.c:3879
+#: sequencer.c:3905 sequencer.c:5681 builtin/fsck.c:328 builtin/gc.c:1791
+#: builtin/rebase.c:191
 #, c-format
 msgid "could not write '%s'"
 msgstr "không thể ghi “%s”"
@@ -6772,7 +6981,7 @@ msgstr ""
 msgid "%s: 'preserve' superseded by 'merges'"
 msgstr "%s: “preserve” bị cấm bởi “merges”"
 
-#: ref-filter.c:42 wt-status.c:2048
+#: ref-filter.c:42 wt-status.c:2057
 msgid "gone"
 msgstr "đã ra đi"
 
@@ -6940,81 +7149,91 @@ msgstr "lệnh này từ chối atom %%(%.*s)"
 msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
 msgstr "--format=%.*s không thể được dùng với --python, --shell, --tcl"
 
-#: ref-filter.c:1706
+#: ref-filter.c:1707
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang cải tổ %s)"
 
-#: ref-filter.c:1709
+#: ref-filter.c:1710
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(không nhánh, đang cải tổ HEAD %s đã tách rời)"
 
-#: ref-filter.c:1712
+#: ref-filter.c:1713
 #, 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)"
 
-#: ref-filter.c:1716
+#: ref-filter.c:1717
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD được tách rời tại %s)"
 
-#: ref-filter.c:1719
+#: ref-filter.c:1720
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD được tách rời khỏi %s)"
 
-#: ref-filter.c:1722
+#: ref-filter.c:1723
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: ref-filter.c:1754 ref-filter.c:1972
+#: ref-filter.c:1755 ref-filter.c:1973
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1764
+#: ref-filter.c:1765
 #, 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:2155
+#: ref-filter.c:2156
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:2245
+#: ref-filter.c:2246
 #, 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:2250 refs.c:676
+#: ref-filter.c:2251 refs.c:672
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: ref-filter.c:2629
+#: ref-filter.c:2630
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:2740
+#: ref-filter.c:2741
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: ref-filter.c:2745
+#: ref-filter.c:2746
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "tùy chọn “%s” phải chỉ đến một lần chuyển giao"
 
-#: refs.c:261
+#: reflog.c:407
+#, c-format
+msgid "not a reflog: %s"
+msgstr "không phải một reflog: %s"
+
+#: reflog.c:410
+#, c-format
+msgid "no reflog for '%s'"
+msgstr "không reflog cho “%s”"
+
+#: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
 msgstr "“%s” không chỉ đến một lần chuyển giao hợp lệ nào cả!"
 
-#: refs.c:563
+#: refs.c:561
 #, c-format
 msgid ""
 "Using '%s' as the name for the initial branch. This default branch name\n"
@@ -7039,81 +7258,81 @@ msgstr ""
 "\n"
 "\tgit branch -m <tên>\n"
 
-#: refs.c:585
+#: refs.c:583
 #, c-format
 msgid "could not retrieve `%s`"
 msgstr "không thể lấy về “%s”"
 
-#: refs.c:595
+#: refs.c:593
 #, c-format
 msgid "invalid branch name: %s = %s"
 msgstr "tên nhánh không hợp lệ: %s = %s"
 
-#: refs.c:674
+#: refs.c:670
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "đang lờ đi tham chiếu mềm thừa %s"
 
-#: refs.c:925
+#: refs.c:919
 #, c-format
 msgid "log for ref %s has gap after %s"
 msgstr "nhật ký cho tham chiếu %s có khoảng trống sau %s"
 
-#: refs.c:932
+#: refs.c:926
 #, c-format
 msgid "log for ref %s unexpectedly ended on %s"
 msgstr "nhật ký cho tham chiếu %s kết thúc bất ngờ trên %s"
 
-#: refs.c:997
+#: refs.c:991
 #, c-format
 msgid "log for %s is empty"
 msgstr "nhật ký cho %s trống rỗng"
 
-#: refs.c:1090
+#: refs.c:1086
 #, c-format
 msgid "refusing to update ref with bad name '%s'"
 msgstr "từ chối cập nhật tham chiếu với tên sai “%s”"
 
-#: refs.c:1168
+#: refs.c:1164
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "update_ref bị lỗi cho ref “%s”: %s"
 
-#: refs.c:2067
+#: refs.c:2059
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "không cho phép đa cập nhật cho tham chiếu “%s”"
 
-#: refs.c:2150
+#: refs.c:2145
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "cập nhật tham chiếu bị cấm trong môi trường kiểm tra"
 
-#: refs.c:2161
+#: refs.c:2156
 msgid "ref updates aborted by hook"
 msgstr "các cập nhật tham chiếu bị bãi bỏ bởi móc"
 
-#: refs.c:2269 refs.c:2299
+#: refs.c:2264 refs.c:2294
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "“%s” sẵn có; không thể tạo “%s”"
 
-#: refs.c:2275 refs.c:2310
+#: refs.c:2270 refs.c:2305
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "không thể xử lý “%s” và “%s” cùng một lúc"
 
-#: refs/files-backend.c:1267
+#: refs/files-backend.c:1295
 #, c-format
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: refs/files-backend.c:1281 refs/packed-backend.c:1549
-#: refs/packed-backend.c:1559
+#: refs/files-backend.c:1310 refs/packed-backend.c:1565
+#: refs/packed-backend.c:1575
 #, 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:1284 refs/packed-backend.c:1562
+#: refs/files-backend.c:1313 refs/packed-backend.c:1578
 #, c-format
 msgid "could not delete references: %s"
 msgstr "không thể xóa bỏ tham chiếu: %s"
@@ -7136,37 +7355,37 @@ msgstr "đã đưa ra nhiều hơn một gói nhận về, đang sử dụng cá
 msgid "more than one uploadpack given, using the first"
 msgstr "đã đưa ra nhiều hơn một gói tải lên, đang sử dụng cái đầu tiên"
 
-#: remote.c:699
+#: remote.c:698
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: remote.c:703
+#: remote.c:702
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s thường theo dõi %s, không phải %s"
 
-#: remote.c:707
+#: remote.c:706
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#: remote.c:775
+#: remote.c:774
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr "khóa “%s” của mẫu k có “*”"
 
-#: remote.c:785
+#: remote.c:784
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr "giá trị “%s” của mẫu k có “*”"
 
-#: remote.c:1192
+#: remote.c:1191
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr "refspec %s nguồn không khớp bất kỳ cái gì"
 
-#: remote.c:1197
+#: remote.c:1196
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr "refspec %s nguồn khớp nhiều hơn một"
@@ -7175,7 +7394,7 @@ msgstr "refspec %s nguồn khớp nhiều hơn một"
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
 #.
-#: remote.c:1212
+#: remote.c:1211
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -7200,7 +7419,7 @@ msgstr ""
 "Nếu cả hai là không thể, thì chúng tôi cũng chịu thua. Bạn phải dùng tham "
 "chiếu dạng đầy đủ."
 
-#: remote.c:1232
+#: remote.c:1231
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -7211,7 +7430,7 @@ msgstr ""
 "Có phải ý bạn là một tạo một nhánh mới bằng cách đẩy lên\n"
 "“%s:refs/heads/%s”?"
 
-#: remote.c:1237
+#: remote.c:1236
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -7222,7 +7441,7 @@ msgstr ""
 "Có phải ý bạn là một tạo một thẻ mới bằng cách đẩy lên\n"
 "“%s:refs/tags/%s”?"
 
-#: remote.c:1242
+#: remote.c:1241
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -7233,7 +7452,7 @@ msgstr ""
 "Có phải ý bạn là một tạo một cây mới bằng cách đẩy lên\n"
 "“%s:refs/tags/%s”?"
 
-#: remote.c:1247
+#: remote.c:1246
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -7244,115 +7463,115 @@ msgstr ""
 "Có phải ý bạn là một tạo một blob mới bằng cách đẩy lên\n"
 "“%s:refs/tags/%s”?"
 
-#: remote.c:1283
+#: remote.c:1282
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr "“%s” không thể được phân giải thành nhánh"
 
-#: remote.c:1294
+#: remote.c:1293
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr "không thể xóa “%s”: tham chiếu trên máy chủ không tồn tại"
 
-#: remote.c:1306
+#: remote.c:1305
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr "dst refspec %s khớp nhiều hơn một"
 
-#: remote.c:1313
+#: remote.c:1312
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr "dst ref %s nhận từ hơn một nguồn"
 
-#: remote.c:1834 remote.c:1941
+#: remote.c:1833 remote.c:1940
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: remote.c:1843
+#: remote.c:1842
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "không có nhánh nào như thế: “%s”"
 
-#: remote.c:1846
+#: remote.c:1845
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "không có thượng nguồn được cấu hình cho nhánh “%s”"
 
-#: remote.c:1852
+#: remote.c:1851
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "nhánh thượng nguồn “%s” không được lưu lại như là một nhánh theo dõi máy chủ"
 
-#: remote.c:1867
+#: remote.c:1866
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "đẩy lên đích “%s” trên máy chủ “%s” không có nhánh theo dõi nội bộ"
 
-#: remote.c:1882
+#: remote.c:1881
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "nhánh “%s” không có máy chủ để đẩy lên"
 
-#: remote.c:1892
+#: remote.c:1891
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "đẩy refspecs cho “%s” không bao gồm “%s”"
 
-#: remote.c:1905
+#: remote.c:1904
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
 
-#: remote.c:1927
+#: remote.c:1926
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "không thể phân giải đẩy “đơn giản” đến một đích đơn"
 
-#: remote.c:2060
+#: remote.c:2059
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr "không thể tìm thấy tham chiếu máy chủ %s"
 
-#: remote.c:2073
+#: remote.c:2072
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Đang bỏ qua tham chiếu thú vị nội bộ “%s”"
 
-#: remote.c:2236
+#: remote.c:2235
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Nhánh của bạn dựa trên cơ sở là “%s”, nhưng trên thượng nguồn không còn.\n"
 
-#: remote.c:2240
+#: remote.c:2239
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:2243
+#: remote.c:2242
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Nhánh của bạn đã cập nhật với “%s”.\n"
 
-#: remote.c:2247
+#: remote.c:2246
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Nhánh của bạn và “%s” tham chiếu đến các lần chuyển giao khác nhau.\n"
 
-#: remote.c:2250
+#: remote.c:2249
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (dùng \"%s\" để biết thêm chi tiết)\n"
 
-#: remote.c:2254
+#: remote.c:2253
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:2260
+#: remote.c:2259
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (dùng \"git push\" để xuất bản các lần chuyển giao nội bộ của bạn)\n"
 
-#: remote.c:2263
+#: remote.c:2262
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -7361,11 +7580,11 @@ msgstr[0] ""
 "Nhánh của bạn đứng đằng sau “%s” %d lần chuyển giao, và có thể được chuyển-"
 "tiếp-nhanh.\n"
 
-#: remote.c:2271
+#: remote.c:2270
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (dùng \"git pull\" để cập nhật nhánh nội bộ của bạn)\n"
 
-#: remote.c:2274
+#: remote.c:2273
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -7378,13 +7597,13 @@ msgstr[0] ""
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:2284
+#: remote.c:2283
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
 "bạn)\n"
 
-#: remote.c:2476
+#: remote.c:2475
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "không thể phân tích tên đối tượng mong muốn “%s”"
@@ -7422,104 +7641,108 @@ msgstr "gặp lỗi đọc khi đang ghi “%s” (%s)"
 msgid "failed to flush '%s'"
 msgstr "gặp lỗi khi đẩy dữ liệu “%s” lên đĩa"
 
-#: rerere.c:487 rerere.c:1023
+#: rerere.c:487 rerere.c:1024
 #, c-format
 msgid "could not parse conflict hunks in '%s'"
 msgstr "không thể phân tích các mảnh xung đột trong “%s”"
 
-#: rerere.c:668
+#: rerere.c:669
 #, c-format
 msgid "failed utime() on '%s'"
 msgstr "gặp lỗi utime() trên “%s”"
 
-#: rerere.c:678
+#: rerere.c:679
 #, c-format
 msgid "writing '%s' failed"
 msgstr "gặp lỗi khi đang ghi “%s”"
 
-#: rerere.c:698
+#: rerere.c:699
 #, c-format
 msgid "Staged '%s' using previous resolution."
 msgstr "Đã tạm cất “%s” sử dụng cách phân giải kế trước."
 
-#: rerere.c:737
+#: rerere.c:738
 #, c-format
 msgid "Recorded resolution for '%s'."
 msgstr "Cách giải quyết đã ghi lại cho “%s”."
 
-#: rerere.c:772
+#: rerere.c:773
 #, c-format
 msgid "Resolved '%s' using previous resolution."
 msgstr "Đã phân giải giải “%s” sử dụng cách giải quyết kế trước."
 
-#: rerere.c:787
+#: rerere.c:788
 #, c-format
 msgid "cannot unlink stray '%s'"
 msgstr "không thể unlink stray “%s”"
 
-#: rerere.c:791
+#: rerere.c:792
 #, c-format
 msgid "Recorded preimage for '%s'"
 msgstr "Preimage đã được ghi lại cho “%s”"
 
-#: rerere.c:865 submodule.c:2121 builtin/log.c:2017
-#: builtin/submodule--helper.c:1777 builtin/submodule--helper.c:1820
+#: rerere.c:866 submodule.c:2290 builtin/log.c:2042
+#: builtin/submodule--helper.c:1786 builtin/submodule--helper.c:1833
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
 
-#: rerere.c:1041
+#: rerere.c:1042
 #, c-format
 msgid "failed to update conflicted state in '%s'"
 msgstr "gặp lỗi khi chạy cập nhật trạng thái bị xung đột trong “%s”"
 
-#: rerere.c:1052 rerere.c:1059
+#: rerere.c:1053 rerere.c:1060
 #, c-format
 msgid "no remembered resolution for '%s'"
 msgstr "đừng nhó các giải quyết cho “%s”"
 
-#: rerere.c:1061
+#: rerere.c:1062
 #, c-format
 msgid "cannot unlink '%s'"
 msgstr "không thể unlink “%s”"
 
-#: rerere.c:1071
+#: rerere.c:1072
 #, c-format
 msgid "Updated preimage for '%s'"
 msgstr "Đã cập nhật preimage cho “%s”"
 
-#: rerere.c:1080
+#: rerere.c:1081
 #, c-format
 msgid "Forgot resolution for '%s'\n"
 msgstr "Quên phân giải cho “%s”\n"
 
-#: rerere.c:1191
+#: rerere.c:1192
 msgid "unable to open rr-cache directory"
 msgstr "không thể mở thư mục rr-cache"
 
-#: reset.c:42
+#: reset.c:112
 msgid "could not determine HEAD revision"
 msgstr "không thể dò tìm điểm xét duyệt HEAD"
 
-#: reset.c:70 reset.c:76 sequencer.c:3700
+#: reset.c:141 reset.c:147 sequencer.c:3696
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: revision.c:2347
+#: revision.c:2358
 msgid "--unpacked=<packfile> no longer supported"
 msgstr "--unpacked=<packfile> không còn được hỗ trợ nữa"
 
-#: revision.c:2686
+#: revision.c:2712
 msgid "your current branch appears to be broken"
 msgstr "nhánh hiện tại của bạn có vẻ như bị hỏng"
 
-#: revision.c:2689
+#: revision.c:2715
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "nhánh hiện tại của bạn “%s” không có một lần chuyển giao nào cả"
 
-#: revision.c:2891
+#: revision.c:2901
+msgid "object filtering requires --objects"
+msgstr "lọc đối tượng yêu cầu --objects"
+
+#: revision.c:2918
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L vẫn chưa hỗ trợ định dạng khác biệt nào ngoài -p và -s"
 
@@ -7589,7 +7812,7 @@ msgstr "chế độ dọn dẹp ghi chú các lần chuyển giao không hợp l
 msgid "could not delete '%s'"
 msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:345 sequencer.c:4751 builtin/rebase.c:563 builtin/rebase.c:1297
+#: sequencer.c:345 sequencer.c:4724 builtin/rebase.c:564 builtin/rebase.c:1326
 #: builtin/rm.c:409
 #, c-format
 msgid "could not remove '%s'"
@@ -7652,13 +7875,13 @@ msgstr ""
 "Để bãi bỏ và quay trở lại trạng thái trước \"git revert\",\n"
 "chạy \"git revert --abort\"."
 
-#: sequencer.c:448 sequencer.c:3292
+#: sequencer.c:448 sequencer.c:3288
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:450 sequencer.c:3091 sequencer.c:3296 sequencer.c:3310
-#: sequencer.c:3561 sequencer.c:5618 strbuf.c:1188 wrapper.c:639
+#: sequencer.c:450 sequencer.c:3087 sequencer.c:3292 sequencer.c:3306
+#: sequencer.c:3557 sequencer.c:5591 strbuf.c:1189 wrapper.c:715
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
@@ -7668,14 +7891,14 @@ 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:460 sequencer.c:3096 sequencer.c:3298 sequencer.c:3312
-#: sequencer.c:3569
+#: sequencer.c:460 sequencer.c:3092 sequencer.c:3294 sequencer.c:3308
+#: sequencer.c:3565
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:473 sequencer.c:1934 sequencer.c:3116 sequencer.c:3551
-#: sequencer.c:3679 builtin/am.c:289 builtin/commit.c:834 builtin/merge.c:1148
+#: sequencer.c:473 sequencer.c:1930 sequencer.c:3112 sequencer.c:3547
+#: sequencer.c:3675 builtin/am.c:290 builtin/commit.c:837 builtin/merge.c:1154
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
@@ -7694,7 +7917,7 @@ msgstr "chuyển giao các thay đổi của bạn hay tạm cất (stash) chún
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
-#: sequencer.c:574 builtin/tag.c:614
+#: sequencer.c:574 builtin/tag.c:615
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
@@ -7725,8 +7948,8 @@ msgstr "không có khóa hiện diện trong “%.*s”"
 msgid "unable to dequote value of '%s'"
 msgstr "không thể giải trích dẫn giá trị của “%s”"
 
-#: sequencer.c:841 wrapper.c:209 wrapper.c:379 builtin/am.c:756
-#: builtin/am.c:848 builtin/rebase.c:694
+#: sequencer.c:841 wrapper.c:219 wrapper.c:389 builtin/am.c:757
+#: builtin/am.c:849 builtin/rebase.c:699
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
@@ -7852,352 +8075,347 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1288
+#: sequencer.c:1287
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao mới hơn đã được tạo"
 
-#: sequencer.c:1290
+#: sequencer.c:1289
 msgid "could not parse newly created commit"
 msgstr ""
 "không thể phân tích cú pháp của đối tượng chuyển giao mới hơn đã được tạo"
 
-#: sequencer.c:1339
+#: sequencer.c:1336
 msgid "unable to resolve HEAD after creating commit"
 msgstr "không thể phân giải HEAD sau khi tạo lần chuyển giao"
 
-#: sequencer.c:1342
+#: sequencer.c:1338
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1346
+#: sequencer.c:1342
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1367
+#: sequencer.c:1363
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1369
+#: sequencer.c:1365
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s không phải là một lần chuyển giao!"
 
-#: sequencer.c:1373 sequencer.c:1451 builtin/commit.c:1708
+#: sequencer.c:1369 sequencer.c:1447 builtin/commit.c:1707
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1429 sequencer.c:2314
+#: sequencer.c:1425 sequencer.c:2310
 msgid "unable to parse commit author"
 msgstr "không thể phân tích tác giả của lần chuyển giao"
 
-#: sequencer.c:1440 builtin/am.c:1643 builtin/merge.c:710
+#: sequencer.c:1436 builtin/am.c:1644 builtin/merge.c:710
 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"
 
-#: sequencer.c:1473 sequencer.c:1593
+#: sequencer.c:1469 sequencer.c:1589
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "không thể đọc phần chú thích (message) từ “%s”"
 
-#: sequencer.c:1504 sequencer.c:1536
+#: sequencer.c:1500 sequencer.c:1532
 #, c-format
 msgid "invalid author identity '%s'"
 msgstr "định danh tác giả không hợp lệ “%s”"
 
-#: sequencer.c:1510
+#: sequencer.c:1506
 msgid "corrupt author: missing date information"
 msgstr "tác giả sai hỏng: thiếu thông tin ngày tháng"
 
-#: sequencer.c:1549 builtin/am.c:1670 builtin/commit.c:1822 builtin/merge.c:915
-#: builtin/merge.c:940 t/helper/test-fast-rebase.c:78
+#: sequencer.c:1545 builtin/am.c:1671 builtin/commit.c:1821 builtin/merge.c:921
+#: builtin/merge.c:946 t/helper/test-fast-rebase.c:78
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1576 sequencer.c:4523 t/helper/test-fast-rebase.c:199
+#: sequencer.c:1572 sequencer.c:4496 t/helper/test-fast-rebase.c:199
 #: t/helper/test-fast-rebase.c:217
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:1625
+#: sequencer.c:1621
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1630
+#: sequencer.c:1626
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "không thể phân tích lần chuyển giao cha mẹ “%s”"
 
-#: sequencer.c:1713 sequencer.c:1994
+#: sequencer.c:1709 sequencer.c:1990
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:1755
+#: sequencer.c:1751
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:1756
+#: sequencer.c:1752
 #, 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:1757
+#: sequencer.c:1753
 msgid "The 1st commit message will be skipped:"
 msgstr "Chú thích cho lần chuyển giao thứ nhất sẽ bị bỏ qua:"
 
-#: sequencer.c:1758
+#: sequencer.c:1754
 #, 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:1759
+#: sequencer.c:1755
 #, 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:1906 sequencer.c:1963
+#: sequencer.c:1902 sequencer.c:1959
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:1953
+#: sequencer.c:1949
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1955 sequencer.c:3596
+#: sequencer.c:1951 sequencer.c:3592
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1957
+#: sequencer.c:1953
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1981
+#: sequencer.c:1977
 #, 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:2091
+#: sequencer.c:2087
 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:2098
+#: sequencer.c:2094
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:2117
+#: sequencer.c:2113
 #, 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:2125 sequencer.c:2133
+#: sequencer.c:2121 sequencer.c:2129
 #, 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:2139
+#: sequencer.c:2135
 #, 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:2158
+#: sequencer.c:2154
 #, 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:2224
+#: sequencer.c:2220
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:2284
+#: sequencer.c:2280
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:2285
+#: sequencer.c:2281
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:2306
+#: sequencer.c:2302
 #, c-format
 msgid "dropping %s %s -- patch contents already upstream\n"
 msgstr "xóa %s %s -- vá nội dung thượng nguồn đã có\n"
 
-#: sequencer.c:2364
+#: sequencer.c:2360
 #, 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:2372
+#: sequencer.c:2368
 #, 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:2452
+#: sequencer.c:2448
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:2461
+#: sequencer.c:2457
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2504
+#: sequencer.c:2500
 #, c-format
 msgid "could not parse '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: sequencer.c:2565
+#: sequencer.c:2561
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2576
+#: sequencer.c:2572
 #, 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:2624 builtin/rebase.c:184
+#: sequencer.c:2620 builtin/rebase.c:185
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:2662
+#: sequencer.c:2658
 msgid "cancelling a cherry picking in progress"
 msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
 
-#: sequencer.c:2671
+#: sequencer.c:2667
 msgid "cancelling a revert in progress"
 msgstr "đang hủy bỏ các thao tác hoàn nguyên đang thực hiện"
 
-#: sequencer.c:2711
+#: sequencer.c:2707
 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:2713
+#: sequencer.c:2709
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2718
+#: sequencer.c:2714
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2729
+#: sequencer.c:2725
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2731
+#: sequencer.c:2727
 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:2809
-#, c-format
-msgid "invalid value for %s: %s"
-msgstr "giá trị cho %s không hợp lệ: %s"
-
-#: sequencer.c:2918
+#: sequencer.c:2914
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2938
+#: sequencer.c:2934
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:3033 sequencer.c:4902
+#: sequencer.c:3029 sequencer.c:4875
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:3050
+#: sequencer.c:3046
 msgid "revert is already in progress"
 msgstr "có thao tác hoàn nguyên đang được thực hiện"
 
-#: sequencer.c:3052
+#: sequencer.c:3048
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3055
+#: sequencer.c:3051
 msgid "cherry-pick is already in progress"
 msgstr "có thao tác “cherry-pick” đang được thực hiện"
 
-#: sequencer.c:3057
+#: sequencer.c:3053
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:3071
+#: sequencer.c:3067
 #, 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:3086
+#: sequencer.c:3082
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:3146 sequencer.c:4612
+#: sequencer.c:3142 sequencer.c:4585
 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:3148 sequencer.c:3159
+#: sequencer.c:3144 sequencer.c:3155
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:3150 sequencer.c:3194
+#: sequencer.c:3146 sequencer.c:3190
 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:3180 builtin/fetch.c:1004 builtin/fetch.c:1416
-#: builtin/grep.c:772
+#: sequencer.c:3176 builtin/fetch.c:1030 builtin/fetch.c:1457
+#: builtin/grep.c:774
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:3182
+#: sequencer.c:3178
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:3183
+#: sequencer.c:3179
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:3189
+#: sequencer.c:3185
 #, 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:3200
+#: sequencer.c:3196
 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:3241
+#: sequencer.c:3237
 msgid "no revert in progress"
 msgstr "không có tiến trình hoàn nguyên nào"
 
-#: sequencer.c:3250
+#: sequencer.c:3246
 msgid "no cherry-pick in progress"
 msgstr "không có cherry-pick đang được thực hiện"
 
-#: sequencer.c:3260
+#: sequencer.c:3256
 msgid "failed to skip the commit"
 msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
 
-#: sequencer.c:3267
+#: sequencer.c:3263
 msgid "there is nothing to skip"
 msgstr "ở đây không có gì để mà bỏ qua cả"
 
-#: sequencer.c:3270
+#: sequencer.c:3266
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -8206,16 +8424,16 @@ msgstr ""
 "bạn đã sẵn sàng chuyển giao chưa?\n"
 "thử \"git %s --continue\""
 
-#: sequencer.c:3432 sequencer.c:4503
+#: sequencer.c:3428 sequencer.c:4476
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:3449
+#: sequencer.c:3445
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3457
+#: sequencer.c:3453
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -8234,27 +8452,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3467
+#: sequencer.c:3463
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Không thể áp dụng %s… %.*s"
 
-#: sequencer.c:3474
+#: sequencer.c:3470
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Không hòa trộn %.*s"
 
-#: sequencer.c:3488 sequencer.c:3492 builtin/difftool.c:633
+#: sequencer.c:3484 sequencer.c:3488 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3503
+#: sequencer.c:3499
 #, c-format
 msgid "Executing: %s\n"
 msgstr "Đang thực thi: %s\n"
 
-#: sequencer.c:3514
+#: sequencer.c:3510
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -8269,11 +8487,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3520
+#: sequencer.c:3516
 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:3526
+#: sequencer.c:3522
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -8290,90 +8508,90 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3586
+#: sequencer.c:3582
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "tên nhãn dị hình: “%.*s”"
 
-#: sequencer.c:3659
+#: sequencer.c:3655
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:3664
+#: sequencer.c:3660
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:3743
+#: sequencer.c:3739
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: sequencer.c:3775
+#: sequencer.c:3771
 msgid "cannot merge without a current revision"
 msgstr "không thể hòa trộn mà không có một điểm xét duyệt hiện tại"
 
-#: sequencer.c:3797
+#: sequencer.c:3793
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "không thể phân tích “%.*s”"
 
-#: sequencer.c:3806
+#: sequencer.c:3802
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "chẳng có gì để hòa trộn: “%.*s”"
 
-#: sequencer.c:3818
+#: sequencer.c:3814
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr "hòa trộn octopus không thể được thực thi trên đỉnh của một [new root]"
 
-#: sequencer.c:3873
+#: sequencer.c:3869
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "không thể lấy chú thích của lần chuyển giao của “%s”"
 
-#: sequencer.c:4019
+#: sequencer.c:4013
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "không thể ngay cả khi thử hòa trộn “%.*s”"
 
-#: sequencer.c:4035
+#: sequencer.c:4029
 msgid "merge: Unable to write new index file"
 msgstr "merge: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:4116
+#: sequencer.c:4110
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: sequencer.c:4119
+#: sequencer.c:4113
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Gặp đáp ứng stash không cần: “%s”"
 
-#: sequencer.c:4125
+#: sequencer.c:4119
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Không thể tạo thư mục cho “%s”"
 
-#: sequencer.c:4128
+#: sequencer.c:4122
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Đã tạo autostash: %s\n"
 
-#: sequencer.c:4132
+#: sequencer.c:4124
 msgid "could not reset --hard"
 msgstr "không thể reset --hard"
 
-#: sequencer.c:4157
+#: sequencer.c:4148
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:4169
+#: sequencer.c:4160
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:4172
+#: sequencer.c:4163
 #, c-format
 msgid ""
 "%s\n"
@@ -8385,29 +8603,29 @@ 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:4177
+#: sequencer.c:4168
 msgid "Applying autostash resulted in conflicts."
 msgstr "Áp dụng autostash có hiệu quả trong các xung đột."
 
-#: sequencer.c:4178
+#: sequencer.c:4169
 msgid "Autostash exists; creating a new stash entry."
 msgstr "Autostash đã sẵn có; nên tạo một mục stash mới."
 
-#: sequencer.c:4252
+#: sequencer.c:4225
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: sequencer.c:4267
+#: sequencer.c:4240
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Dừng lại ở HEAD\n"
 
-#: sequencer.c:4269
+#: sequencer.c:4242
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Dừng lại ở %s\n"
 
-#: sequencer.c:4301
+#: sequencer.c:4274
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -8428,58 +8646,58 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:4347
+#: sequencer.c:4320
 #, c-format
 msgid "Rebasing (%d/%d)%s"
 msgstr "Đang cải tổ (%d/%d)%s"
 
-#: sequencer.c:4393
+#: sequencer.c:4366
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:4463
+#: sequencer.c:4436
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:4511
+#: sequencer.c:4484
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:4516
+#: sequencer.c:4489
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:4530
+#: sequencer.c:4503
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:4590
+#: sequencer.c:4563
 #, c-format
 msgid "Successfully rebased and updated %s.\n"
 msgstr "Cài tổ và cập nhật %s một cách thành công.\n"
 
-#: sequencer.c:4642
+#: sequencer.c:4615
 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:4651
+#: sequencer.c:4624
 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:4653
+#: sequencer.c:4626
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:4655
+#: sequencer.c:4628
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:4658
+#: sequencer.c:4631
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -8489,69 +8707,69 @@ 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:4694 sequencer.c:4733
+#: sequencer.c:4667 sequencer.c:4706
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:4749
+#: sequencer.c:4722
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:4759
+#: sequencer.c:4732
 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:4879
+#: sequencer.c:4852
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:4883
+#: sequencer.c:4856
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:4918
+#: sequencer.c:4891
 msgid "can't revert as initial commit"
 msgstr "không thể hoàn nguyên một lần chuyển giao khởi tạo"
 
-#: sequencer.c:5189 sequencer.c:5418
+#: sequencer.c:5162 sequencer.c:5391
 #, c-format
 msgid "skipped previously applied commit %s"
 msgstr "bỏ qua lần chuyển giao được áp dụng kế trước %s"
 
-#: sequencer.c:5259 sequencer.c:5434
+#: sequencer.c:5232 sequencer.c:5407
 msgid "use --reapply-cherry-picks to include skipped commits"
 msgstr ""
 "dùng --reapply-cherry-picks để bao gồm các lần chuyển giao đã bị bỏ qua"
 
-#: sequencer.c:5405
+#: sequencer.c:5378
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:5408
+#: sequencer.c:5381
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:5666 sequencer.c:5683
+#: sequencer.c:5639 sequencer.c:5656
 msgid "nothing to do"
 msgstr "không có gì để làm"
 
-#: sequencer.c:5702
+#: sequencer.c:5675
 msgid "could not skip unnecessary pick commands"
 msgstr "không thể bỏ qua các lệnh cậy (pick) không cần thiết"
 
-#: sequencer.c:5802
+#: sequencer.c:5775
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
-#: setup.c:134
+#: setup.c:135
 #, c-format
 msgid "'%s' is outside repository at '%s'"
 msgstr "“%s” ngoài một kho chứa tại “%s”"
 
-#: setup.c:186
+#: setup.c:187
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -8561,7 +8779,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:199
+#: setup.c:200
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -8573,12 +8791,12 @@ 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:265
+#: setup.c:266
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr "tùy chọn “%s” phải trước các đối số đầu tiên không có tùy chọn"
 
-#: setup.c:284
+#: setup.c:285
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -8589,98 +8807,98 @@ 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:420
+#: setup.c:421
 msgid "unable to set up work tree using invalid config"
 msgstr "không thể cài đặt thư mục làm việc sử dụng cấu hình không hợp lệ"
 
-#: setup.c:424 builtin/rev-parse.c:895
+#: setup.c:425 builtin/rev-parse.c:895
 msgid "this operation must be run in a work tree"
 msgstr "thao tác này phải được thực hiện trong thư mục làm việc"
 
-#: setup.c:722
+#: setup.c:724
 #, 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:730
+#: setup.c:732
 msgid "unknown repository extension found:"
 msgid_plural "unknown repository extensions found:"
 msgstr[0] "tìm thấy phần mở rộng kho chưa biết:"
 
-#: setup.c:744
+#: setup.c:746
 msgid "repo version is 0, but v1-only extension found:"
 msgid_plural "repo version is 0, but v1-only extensions found:"
 msgstr[0] "phiên bản kho là 0, nhưng lại tìm thấy phần mở rộng chỉ v1:"
 
-#: setup.c:765
+#: setup.c:767
 #, c-format
 msgid "error opening '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: setup.c:767
+#: setup.c:769
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "tập tin .git là quá lớn: “%s”"
 
-#: setup.c:769
+#: setup.c:771
 #, c-format
 msgid "error reading %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: setup.c:771
+#: setup.c:773
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "định dạng tập tin git không hợp lệ: %s"
 
-#: setup.c:773
+#: setup.c:775
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "không có đường dẫn trong tập tin git: %s"
 
-#: setup.c:775
+#: setup.c:777
 #, c-format
 msgid "not a git repository: %s"
 msgstr "không phải là kho git: %s"
 
-#: setup.c:877
+#: setup.c:879
 #, c-format
 msgid "'$%s' too big"
 msgstr "“$%s” quá lớn"
 
-#: setup.c:891
+#: setup.c:893
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "không phải là kho git: “%s”"
 
-#: setup.c:920 setup.c:922 setup.c:953
+#: setup.c:922 setup.c:924 setup.c:955
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "không thể chdir (chuyển đổi thư mục) sang “%s”"
 
-#: setup.c:925 setup.c:981 setup.c:991 setup.c:1030 setup.c:1038
+#: setup.c:927 setup.c:983 setup.c:993 setup.c:1032 setup.c:1040
 msgid "cannot come back to cwd"
 msgstr "không thể quay lại cwd"
 
-#: setup.c:1052
+#: setup.c:1054
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%*s%s%s”"
 
-#: setup.c:1295
+#: setup.c:1338
 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:1304 setup.c:1310
+#: setup.c:1347 setup.c:1353
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "không thể chuyển sang “%s”"
 
-#: setup.c:1315
+#: setup.c:1358
 #, 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:1321
+#: setup.c:1364
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -8690,7 +8908,20 @@ msgstr ""
 "Dừng tại biên của hệ thống tập tin (GIT_DISCOVERY_ACROSS_FILESYSTEM chưa "
 "đặt)."
 
-#: setup.c:1446
+#: setup.c:1374
+#, c-format
+msgid ""
+"unsafe repository ('%s' is owned by someone else)\n"
+"To add an exception for this directory, call:\n"
+"\n"
+"\tgit config --global --add safe.directory %s"
+msgstr ""
+"kho lưu trữ không an toàn ('%s' thuộc sở hữu của người khác)\n"
+"Để thêm ngoại lệ cho thư mục này, hãy gọi:\n"
+"\n"
+"\tgit config --global --add safe.directory %s"
+
+#: setup.c:1502
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -8699,142 +8930,146 @@ msgstr ""
 "gặp vấn đề với giá 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."
 
-#: setup.c:1508
+#: setup.c:1564
 msgid "fork failed"
 msgstr "gặp lỗi khi rẽ nhánh tiến trình"
 
-#: setup.c:1513
+#: setup.c:1569
 msgid "setsid failed"
 msgstr "setsid gặp lỗi"
 
-#: sparse-index.c:289
+#: sparse-index.c:285
 #, c-format
 msgid "index entry is a directory, but not sparse (%08x)"
 msgstr "mục tin mục lục là một thư mục, nhưng không \"sparse\" (%08x)"
 
+#: split-index.c:9
+msgid "cannot use split index with a sparse index"
+msgstr "không thể sử dụng bảng mục lục chia tách với một \"sparse index\""
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:850
+#: strbuf.c:851
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u GiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
-#: strbuf.c:852
+#: strbuf.c:853
 #, c-format
 msgid "%u.%2.2u GiB/s"
 msgstr "%u.%2.2u GiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:860
+#: strbuf.c:861
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u MiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
-#: strbuf.c:862
+#: strbuf.c:863
 #, c-format
 msgid "%u.%2.2u MiB/s"
 msgstr "%u.%2.2u MiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:869
+#: strbuf.c:870
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u KiB"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
-#: strbuf.c:871
+#: strbuf.c:872
 #, c-format
 msgid "%u.%2.2u KiB/s"
 msgstr "%u.%2.2u KiB/giây"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:877
+#: strbuf.c:878
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
 msgstr[0] "%u byte"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte/second
-#: strbuf.c:879
+#: strbuf.c:880
 #, c-format
 msgid "%u byte/s"
 msgid_plural "%u bytes/s"
 msgstr[0] "%u byte/giây"
 
-#: strbuf.c:1186 wrapper.c:207 wrapper.c:377 builtin/am.c:765
-#: builtin/rebase.c:650
+#: strbuf.c:1187 wrapper.c:217 wrapper.c:387 builtin/am.c:766
+#: builtin/rebase.c:653
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: strbuf.c:1195
+#: strbuf.c:1196
 #, c-format
 msgid "could not edit '%s'"
 msgstr "không thể sửa “%s”"
 
-#: submodule-config.c:237
+#: submodule-config.c:238
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "đang lờ đi tên mô-đun-con mập mờ: %s"
 
-#: submodule-config.c:304
+#: submodule-config.c:305
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "không cho phép giá trị âm ở submodule.fetchjobs"
 
-#: submodule-config.c:402
+#: submodule-config.c:403
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 "đang bỏ qua “%s” cái mà có thể được phiên dịch như là một tùy chọn dòng "
 "lệnh: %s"
 
-#: submodule-config.c:499
+#: submodule-config.c:500 builtin/push.c:489 builtin/send-pack.c:148
 #, c-format
-msgid "invalid value for %s"
-msgstr "giá trị cho %s không hợp lệ"
+msgid "invalid value for '%s'"
+msgstr "giá trị cho '%s' không hợp lệ"
 
-#: submodule-config.c:767
+#: submodule-config.c:828
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Không thể cập nhật mục .gitmodules %s"
 
-#: submodule.c:114 submodule.c:143
+#: submodule.c:115 submodule.c:144
 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:118 submodule.c:147
+#: submodule.c:119 submodule.c:148
 #, 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:154
+#: submodule.c:155
 #, 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:165
+#: submodule.c:166
 msgid "staging updated .gitmodules failed"
 msgstr "gặp lỗi khi tổ chức .gitmodules đã cập nhật"
 
-#: submodule.c:358
+#: submodule.c:346
 #, c-format
 msgid "in unpopulated submodule '%s'"
 msgstr "trong mô-đun-con không có gì “%s”"
 
-#: submodule.c:389
+#: submodule.c:377
 #, c-format
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: submodule.c:466
+#: submodule.c:454
 #, c-format
 msgid "bad --ignore-submodules argument: %s"
 msgstr "đối số --ignore-submodules sai: %s"
 
-#: submodule.c:844
+#: submodule.c:866
 #, c-format
 msgid ""
 "Submodule in commit %s at path: '%s' collides with a submodule named the "
@@ -8843,13 +9078,13 @@ msgstr ""
 "Mô-đun-con trong lần chuyển giao %s tại đường dẫn: “%s” va chạm với mô-đun-"
 "con cùng tên. Nên bỏ qua nó."
 
-#: submodule.c:954
+#: submodule.c:987
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr ""
 "mục tin mô-đun-con “%s” (%s) là một %s, không phải là một lần chuyển giao"
 
-#: submodule.c:1042
+#: submodule.c:1069
 #, c-format
 msgid ""
 "Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
@@ -8858,36 +9093,46 @@ msgstr ""
 "Không thể chạy lệnh “git rev-list <các lần chuyển giao> --not --remotes -n "
 "1” trong mô-đun-con “%s”"
 
-#: submodule.c:1165
+#: submodule.c:1192
 #, c-format
 msgid "process for submodule '%s' failed"
 msgstr "xử lý cho mô-đun-con “%s” gặp lỗi"
 
-#: submodule.c:1194 builtin/branch.c:699 builtin/submodule--helper.c:2714
+#: submodule.c:1221 builtin/branch.c:714 builtin/submodule--helper.c:2827
 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ệ."
 
-#: submodule.c:1205
+#: submodule.c:1232
 #, c-format
 msgid "Pushing submodule '%s'\n"
 msgstr "Đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1208
+#: submodule.c:1235
 #, c-format
 msgid "Unable to push submodule '%s'\n"
 msgstr "Không thể đẩy lên mô-đun-con “%s”\n"
 
-#: submodule.c:1491
+#: submodule.c:1567
 #, c-format
 msgid "Fetching submodule %s%s\n"
 msgstr "Đang lấy về mô-đun-con %s%s\n"
 
-#: submodule.c:1525
+#: submodule.c:1589
 #, c-format
 msgid "Could not access submodule '%s'\n"
 msgstr "Không thể truy cập mô-đun-con “%s”\n"
 
-#: submodule.c:1680
+#: submodule.c:1618
+#, c-format
+msgid "Could not access submodule '%s' at commit %s\n"
+msgstr "Không thể truy cập mô-đun-con “%s” ở lần chuyển giao %s\n"
+
+#: submodule.c:1629
+#, c-format
+msgid "Fetching submodule %s%s at commit %s\n"
+msgstr "Đang lấy về mô-đun-con %s%s tại lần chuyển giao %s\n"
+
+#: submodule.c:1849
 #, c-format
 msgid ""
 "Errors during submodule fetch:\n"
@@ -8896,61 +9141,61 @@ msgstr ""
 "Có lỗi khi lấy về mô-đun-con:\n"
 " “%s”"
 
-#: submodule.c:1705
+#: submodule.c:1874
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "không nhận ra “%s” là một kho git"
 
-#: submodule.c:1722
+#: submodule.c:1891
 #, c-format
 msgid "Could not run 'git status --porcelain=2' in submodule %s"
 msgstr "Không thể chạy “git status --porcelain=2” trong mô-đun-con “%s”"
 
-#: submodule.c:1763
+#: submodule.c:1932
 #, c-format
 msgid "'git status --porcelain=2' failed in submodule %s"
 msgstr "“git status --porcelain=2” gặp lỗi trong mô-đun-con “%s”"
 
-#: submodule.c:1838
+#: submodule.c:2007
 #, c-format
 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:1851
+#: submodule.c:2020
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "không thể chạy “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1868
+#: submodule.c:2037
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Không thể đặt core.worktree trong mô-đun-con “%s”"
 
-#: submodule.c:1895 submodule.c:2210
+#: submodule.c:2064 submodule.c:2379
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:1917
+#: submodule.c:2086
 msgid "could not reset submodule index"
 msgstr "không thể đặt lại mục lục của mô-đun-con"
 
-#: submodule.c:1959
+#: submodule.c:2128
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 
-#: submodule.c:2013
+#: submodule.c:2182
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:2081
+#: submodule.c:2250
 #, c-format
 msgid "submodule git dir '%s' is inside git dir '%.*s'"
 msgstr "thư mục git mô đun con “%s” là bên trong git DIR “%.*s”"
 
-#: submodule.c:2102
+#: submodule.c:2271
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -8958,17 +9203,17 @@ 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:2114 submodule.c:2174
+#: submodule.c:2283 submodule.c:2343
 #, 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:2118
+#: submodule.c:2287
 #, c-format
 msgid "refusing to move '%s' into an existing git dir"
 msgstr "từ chối di chuyển “%s” vào trong một thư mục git sẵn có"
 
-#: submodule.c:2124
+#: submodule.c:2293
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -8979,11 +9224,11 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2255
+#: submodule.c:2424
 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:2295
+#: submodule.c:2464
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
@@ -9004,8 +9249,8 @@ msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
 msgid "unknown value '%s' for key '%s'"
 msgstr "không hiểu giá trị “%s” cho khóa “%s”"
 
-#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:299
-#: builtin/remote.c:327
+#: trailer.c:547 trailer.c:552 trailer.c:557 builtin/remote.c:300
+#: builtin/remote.c:328
 #, c-format
 msgid "more than one %s"
 msgstr "nhiều hơn một %s"
@@ -9020,11 +9265,11 @@ msgstr "thẻ thừa trống rỗng trong phần thừa “%.*s”"
 msgid "could not read input file '%s'"
 msgstr "không đọc được tập tin đầu vào “%s”"
 
-#: trailer.c:766 builtin/mktag.c:89 imap-send.c:1573
+#: trailer.c:766 builtin/mktag.c:88 imap-send.c:1563
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
-#: trailer.c:1024 wrapper.c:684
+#: trailer.c:1024 wrapper.c:760
 #, c-format
 msgid "could not stat %s"
 msgstr "không thể lấy thông tin thống kê về %s"
@@ -9092,7 +9337,7 @@ msgstr "không thể chạy fast-import"
 msgid "error while running fast-import"
 msgstr "gặp lỗi trong khi chạy fast-import"
 
-#: transport-helper.c:549 transport-helper.c:1251
+#: transport-helper.c:549 transport-helper.c:1254
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
@@ -9110,7 +9355,7 @@ msgstr "giao thức này không hỗ trợ cài đặt đường dẫn dịch v
 msgid "invalid remote service path"
 msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
 
-#: transport-helper.c:661 transport.c:1479
+#: transport-helper.c:661 transport.c:1496
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
@@ -9119,72 +9364,72 @@ msgstr "thao tác không được gia thức hỗ trợ"
 msgid "can't connect to subservice %s"
 msgstr "không thể kết nối đến dịch vụ phụ %s"
 
-#: transport-helper.c:693 transport.c:404
+#: transport-helper.c:693 transport.c:415
 msgid "--negotiate-only requires protocol v2"
 msgstr "--negotiate-only cần giao thức v2"
 
-#: transport-helper.c:755
+#: transport-helper.c:758
 msgid "'option' without a matching 'ok/error' directive"
 msgstr "“option” không có chỉ thị “ok/error” tương ứng"
 
-#: transport-helper.c:798
+#: transport-helper.c:801
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "cần ok/error, nhưng bộ hỗ trợ lại nói “%s”"
 
-#: transport-helper.c:859
+#: transport-helper.c:862
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "bộ hỗ trợ báo cáo rằng không cần tình trạng của %s"
 
-#: transport-helper.c:942
+#: transport-helper.c:945
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "helper %s không hỗ trợ dry-run"
 
-#: transport-helper.c:945
+#: transport-helper.c:948
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "helper %s không hỗ trợ --signed"
 
-#: transport-helper.c:948
+#: transport-helper.c:951
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "helper %s không hỗ trợ --signed=if-asked"
 
-#: transport-helper.c:953
+#: transport-helper.c:956
 #, c-format
 msgid "helper %s does not support --atomic"
 msgstr "helper %s không hỗ trợ --atomic"
 
-#: transport-helper.c:957
+#: transport-helper.c:960
 #, c-format
 msgid "helper %s does not support --%s"
 msgstr "helper %s không hỗ trợ --%s"
 
-#: transport-helper.c:964
+#: transport-helper.c:967
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s không hỗ trợ “push-option”"
 
-#: transport-helper.c:1064
+#: transport-helper.c:1067
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "remote-helper không hỗ trợ push; cần đặc tả tham chiếu"
 
-#: transport-helper.c:1069
+#: transport-helper.c:1072
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s không hỗ trợ “force”"
 
-#: transport-helper.c:1116
+#: transport-helper.c:1119
 msgid "couldn't run fast-export"
 msgstr "không thể chạy fast-export"
 
-#: transport-helper.c:1121
+#: transport-helper.c:1124
 msgid "error while running fast-export"
 msgstr "gặp lỗi trong khi chạy fast-export"
 
-#: transport-helper.c:1146
+#: transport-helper.c:1149
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -9194,52 +9439,52 @@ msgstr ""
 "cả.\n"
 "Tuy nhiên bạn nên chỉ định một nhánh.\n"
 
-#: transport-helper.c:1228
+#: transport-helper.c:1231
 #, c-format
 msgid "unsupported object format '%s'"
 msgstr "không hỗ trợ định dạng đối tượng “%s”"
 
-#: transport-helper.c:1237
+#: transport-helper.c:1240
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "đáp ứng sai dạng trong danh sách tham chiếu: %s"
 
-#: transport-helper.c:1389
+#: transport-helper.c:1392
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1416
+#: transport-helper.c:1419
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1465
+#: transport-helper.c:1468
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1469
+#: transport-helper.c:1472
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "tuyến trình %s gặp lỗi khi gia nhập: %s"
 
-#: transport-helper.c:1488 transport-helper.c:1492
+#: transport-helper.c:1491 transport-helper.c:1495
 #, c-format
 msgid "can't start thread for copying data: %s"
 msgstr "không thể khởi chạy tuyến trình để sao chép dữ liệu: %s"
 
-#: transport-helper.c:1529
+#: transport-helper.c:1532
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1533
+#: transport-helper.c:1536
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1551 transport-helper.c:1560
+#: transport-helper.c:1554 transport-helper.c:1563
 msgid "can't start thread for copying data"
 msgstr "không thể khởi chạy tuyến trình cho việc chép dữ liệu"
 
@@ -9248,51 +9493,51 @@ msgstr "không thể khởi chạy tuyến trình cho việc chép dữ liệu"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "Không thể đặt thượng nguồn của “%s” thành “%s” của “%s”\n"
 
-#: transport.c:145
+#: transport.c:138
 #, c-format
 msgid "could not read bundle '%s'"
 msgstr "không thể đọc bó “%s”"
 
-#: transport.c:227
+#: transport.c:234
 #, c-format
 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:279
+#: transport.c:289
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "xem protocol.version trong “git help config” để có thêm thông tin"
 
-#: transport.c:280
+#: transport.c:290
 msgid "server options require protocol version 2 or later"
 msgstr "các tùy chọn máy chủ yêu cầu giao thức phiên bản 2 hoặc mới hơn"
 
-#: transport.c:407
+#: transport.c:418
 msgid "server does not support wait-for-done"
 msgstr "máy chủ không hỗ trợ wait-for-done"
 
-#: transport.c:759
+#: transport.c:770
 msgid "could not parse transport.color.* config"
 msgstr "không thể phân tích cú pháp cấu hình transport.color.*"
 
-#: transport.c:834
+#: transport.c:845
 msgid "support for protocol v2 not implemented yet"
 msgstr "việc hỗ trợ giao thức v2 chưa được thực hiện"
 
-#: transport.c:967
+#: transport.c:978
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "không hiểu giá trị cho cho cấu hình “%s”: %s"
 
-#: transport.c:1033
+#: transport.c:1044
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "không cho phép phương thức vận chuyển “%s”"
 
-#: transport.c:1082
+#: transport.c:1093
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync không còn được hỗ trợ nữa"
 
-#: transport.c:1185
+#: transport.c:1196
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -9301,7 +9546,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:1189
+#: transport.c:1200
 #, c-format
 msgid ""
 "\n"
@@ -9328,11 +9573,11 @@ msgstr ""
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:1197
+#: transport.c:1208
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport.c:1343
+#: transport.c:1354
 msgid "failed to push all needed submodules"
 msgstr "gặp lỗi khi đẩy dữ liệu của tất cả các mô-đun-con cần thiết"
 
@@ -9627,17 +9872,17 @@ msgstr ""
 "HOA/thường trên một hệ thống tập tin không phân biệt HOA/thường)\n"
 "và chỉ một từ cùng một nhóm xung đột là trong cây làm việc hiện tại:\n"
 
-#: unpack-trees.c:1636
+#: unpack-trees.c:1664
 msgid "Updating index flags"
 msgstr "Đang cập nhật các cờ mục lục"
 
-#: unpack-trees.c:2803
+#: unpack-trees.c:2925
 #, c-format
 msgid "worktree and untracked commit have duplicate entries: %s"
 msgstr ""
 "cây làm việc và lần chuyển giao không được theo dõi có các mục trùng lặp: %s"
 
-#: upload-pack.c:1565
+#: upload-pack.c:1579
 msgid "expected flush after fetch arguments"
 msgstr "cần đẩy dữ liệu lên đĩa sau các tham số của lệnh fetch"
 
@@ -9674,124 +9919,138 @@ msgstr "đoạn đường dẫn “..” không hợp lệ"
 msgid "Fetching objects"
 msgstr "Đang lấy về các đối tượng"
 
-#: worktree.c:238 builtin/am.c:2209 builtin/bisect--helper.c:156
+#: worktree.c:237 builtin/am.c:2210 builtin/bisect--helper.c:156
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
 
-#: worktree.c:305
+#: worktree.c:304
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "“%s” tại cây làm việc chình không phải là thư mục kho"
 
-#: worktree.c:316
+#: worktree.c:315
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "tập tin “%s” không chứa đường dẫn tuyệt đối đến vị trí cây làm việc hiện"
 
-#: worktree.c:328
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr "\"%s\" không tồn tại"
 
-#: worktree.c:334
+#: worktree.c:333
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "“%s” không phải là tập tin .git, mã lỗi %d"
 
-#: worktree.c:343
+#: worktree.c:342
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "“%s” không chỉ ngược đến “%s”"
 
-#: worktree.c:604
+#: worktree.c:600
 msgid "not a directory"
 msgstr "không phải thư mục"
 
-#: worktree.c:613
+#: worktree.c:609
 msgid ".git is not a file"
 msgstr ".git không phải là một tập tin"
 
-#: worktree.c:615
+#: worktree.c:611
 msgid ".git file broken"
 msgstr "tệp .git bị hỏng"
 
-#: worktree.c:617
+#: worktree.c:613
 msgid ".git file incorrect"
 msgstr "tập tin .git không chính xác"
 
-#: worktree.c:723
+#: worktree.c:719
 msgid "not a valid path"
 msgstr "không phải là một đường dẫn hợp lệ"
 
-#: worktree.c:729
+#: worktree.c:725
 msgid "unable to locate repository; .git is not a file"
 msgstr "không thể phân bổ kho chứa; .git không phải là một tập tin"
 
-#: worktree.c:733
+#: worktree.c:729
 msgid "unable to locate repository; .git file does not reference a repository"
 msgstr "không thể phân bổ kho chứa; tập tin .git tham chiếu đến một kho"
 
-#: worktree.c:737
+#: worktree.c:733
 msgid "unable to locate repository; .git file broken"
 msgstr "không thể phân bổ kho chứa; tập tin .git bị hỏng"
 
-#: worktree.c:743
+#: worktree.c:739
 msgid "gitdir unreadable"
 msgstr "gitdir không thể đọc được"
 
-#: worktree.c:747
+#: worktree.c:743
 msgid "gitdir incorrect"
 msgstr "gitdir không chính xác"
 
-#: worktree.c:772
+#: worktree.c:768
 msgid "not a valid directory"
 msgstr "không phải thư mục hợp lệ"
 
-#: worktree.c:778
+#: worktree.c:774
 msgid "gitdir file does not exist"
 msgstr "tập tin gitdir không tồn tại"
 
-#: worktree.c:783 worktree.c:792
+#: worktree.c:779 worktree.c:788
 #, c-format
 msgid "unable to read gitdir file (%s)"
 msgstr "không thể đọc tập tin gitdir (%s)"
 
-#: worktree.c:802
+#: worktree.c:798
 #, c-format
 msgid "short read (expected %<PRIuMAX> bytes, read %<PRIuMAX>)"
 msgstr "đọc ngắn (cần %<PRIuMAX> byte, đọc %<PRIuMAX>)"
 
-#: worktree.c:810
+#: worktree.c:806
 msgid "invalid gitdir file"
 msgstr "tập tin gitdir (thư mục git) không hợp lệ"
 
-#: worktree.c:818
+#: worktree.c:814
 msgid "gitdir file points to non-existent location"
 msgstr "tập tin gitdir chỉ đến vị trí không tồn tại"
 
-#: wrapper.c:151
+#: worktree.c:830
+#, c-format
+msgid "unable to set %s in '%s'"
+msgstr "không thể đặt %s trong “%s”"
+
+#: worktree.c:832
+#, c-format
+msgid "unable to unset %s in '%s'"
+msgstr "không thể bỏ đặt %s trong '%s'"
+
+#: worktree.c:852
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
+
+#: wrapper.c:161
 #, c-format
 msgid "could not setenv '%s'"
 msgstr "không thể setenv “%s”"
 
-#: wrapper.c:203
+#: wrapper.c:213
 #, c-format
 msgid "unable to create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: wrapper.c:205 wrapper.c:375
+#: wrapper.c:215 wrapper.c:385
 #, c-format
 msgid "could not open '%s' for reading and writing"
 msgstr "không thể mở “%s” để đọc và ghi"
 
-#: wrapper.c:406 wrapper.c:607
+#: wrapper.c:416 wrapper.c:683
 #, c-format
 msgid "unable to access '%s'"
 msgstr "không thể truy cập “%s”"
 
-#: wrapper.c:615
+#: wrapper.c:691
 msgid "unable to get current working directory"
 msgstr "không thể lấy thư mục làm việc hiện hành"
 
@@ -9828,11 +10087,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:211 wt-status.c:1131
+#: wt-status.c:211 wt-status.c:1140
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:234 wt-status.c:1140
+#: wt-status.c:234 wt-status.c:1149
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
@@ -9936,21 +10195,21 @@ msgstr "nội dung bị sửa đổi, "
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:964
+#: wt-status.c:973
 #, c-format
 msgid "Your stash currently has %d entry"
 msgid_plural "Your stash currently has %d entries"
 msgstr[0] "Bạn hiện nay ở trong phần cất đi đang có %d mục"
 
-#: wt-status.c:995
+#: wt-status.c:1004
 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:997
+#: wt-status.c:1006
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:1079
+#: wt-status.c:1088
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -9958,7 +10217,7 @@ msgstr ""
 "Không sửa hay xóa bỏ đường ở trên.\n"
 "Mọi thứ phía dưới sẽ được xóa bỏ."
 
-#: wt-status.c:1171
+#: wt-status.c:1180
 #, c-format
 msgid ""
 "\n"
@@ -9969,116 +10228,116 @@ msgstr ""
 "Nó cần %.2f giây để tính toán giá trị của trước/sau của nhánh.\n"
 "Bạn có thể dùng “--no-ahead-behind” tránh phải điều này.\n"
 
-#: wt-status.c:1201
+#: wt-status.c:1210
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1204
+#: wt-status.c:1213
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1206
+#: wt-status.c:1215
 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:1210
+#: wt-status.c:1219
 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:1213
+#: wt-status.c:1222
 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:1224
+#: wt-status.c:1233
 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:1227
+#: wt-status.c:1236
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1232
+#: wt-status.c:1241
 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:1234
+#: wt-status.c:1243
 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:1237
+#: wt-status.c:1246
 msgid ""
 "  (use \"git am --allow-empty\" to record this patch as an empty commit)"
 msgstr ""
 "  (dùng \"git am --allow-empty\" ghi miếng vá này như một lần chuyển giao "
 "rỗng)"
 
-#: wt-status.c:1239
+#: wt-status.c:1248
 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:1372
+#: wt-status.c:1381
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo."
 
-#: wt-status.c:1374
+#: wt-status.c:1383
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1377
+#: wt-status.c:1386
 #, 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):"
+msgid "Last command done (%<PRIuMAX> command done):"
+msgid_plural "Last commands done (%<PRIuMAX> commands done):"
+msgstr[0] "Lệnh thực hiện cuối (%<PRIuMAX> lệnh được thực thi):"
 
-#: wt-status.c:1388
+#: wt-status.c:1397
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1393
+#: wt-status.c:1402
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1396
+#: wt-status.c:1405
 #, 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):"
+msgid "Next command to do (%<PRIuMAX> remaining command):"
+msgid_plural "Next commands to do (%<PRIuMAX> remaining commands):"
+msgstr[0] "Lệnh cần làm kế tiếp (%<PRIuMAX> lệnh còn lại):"
 
-#: wt-status.c:1404
+#: wt-status.c:1413
 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:1416
+#: wt-status.c:1425
 #, 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:1421
+#: wt-status.c:1430
 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:1434
+#: wt-status.c:1443
 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:1436
+#: wt-status.c:1445
 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:1438
+#: wt-status.c:1447
 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:1445
+#: wt-status.c:1454
 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:1449
+#: wt-status.c:1458
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -10086,169 +10345,169 @@ 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:1454
+#: wt-status.c:1463
 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:1457
+#: wt-status.c:1466
 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:1461
+#: wt-status.c:1470
 #, 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:1466
+#: wt-status.c:1475
 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:1469
+#: wt-status.c:1478
 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:1471
+#: wt-status.c:1480
 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:1482
+#: wt-status.c:1491
 msgid "Cherry-pick currently in progress."
 msgstr "Cherry-pick hiện tại đang được thực hiện."
 
-#: wt-status.c:1485
+#: wt-status.c:1494
 #, 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:1492
+#: wt-status.c:1501
 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:1495
+#: wt-status.c:1504
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)"
 
-#: wt-status.c:1498
+#: wt-status.c:1507
 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:1500
+#: wt-status.c:1509
 msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
 msgstr "  (dùng \"git cherry-pick --skip\" để bỏ qua miếng vá này)"
 
-#: wt-status.c:1502
+#: wt-status.c:1511
 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:1512
+#: wt-status.c:1521
 msgid "Revert currently in progress."
 msgstr "Hoàn nguyên hiện tại đang thực hiện."
 
-#: wt-status.c:1515
+#: wt-status.c:1524
 #, 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:1521
+#: wt-status.c:1530
 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:1524
+#: wt-status.c:1533
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (chạy lệnh \"git revert --continue\" để tiếp tục)"
 
-#: wt-status.c:1527
+#: wt-status.c:1536
 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:1529
+#: wt-status.c:1538
 msgid "  (use \"git revert --skip\" to skip this patch)"
 msgstr "  (dùng lệnh \"git revert --skip\" để bỏ qua lần vá này)"
 
-#: wt-status.c:1531
+#: wt-status.c:1540
 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:1541
+#: wt-status.c:1550
 #, 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:1545
+#: wt-status.c:1554
 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:1548
+#: wt-status.c:1557
 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:1559
+#: wt-status.c:1568
 msgid "You are in a sparse checkout."
 msgstr "Bạn đang trong lần lấy ra sparse."
 
-#: wt-status.c:1562
+#: wt-status.c:1571
 #, c-format
 msgid "You are in a sparse checkout with %d%% of tracked files present."
 msgstr ""
 "Bạn đang ở trong lần lấy ra sparser %d%% của các tập tin được theo dõi hiện "
 "tại."
 
-#: wt-status.c:1806
+#: wt-status.c:1815
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1813
+#: wt-status.c:1822
 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:1815
+#: wt-status.c:1824
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1820
+#: wt-status.c:1829
 msgid "HEAD detached at "
 msgstr "HEAD được tách rời tại "
 
-#: wt-status.c:1822
+#: wt-status.c:1831
 msgid "HEAD detached from "
 msgstr "HEAD được tách rời từ "
 
-#: wt-status.c:1825
+#: wt-status.c:1834
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1842
+#: wt-status.c:1851
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1843
+#: wt-status.c:1852
 msgid "No commits yet"
 msgstr "Vẫn chưa chuyển giao"
 
-#: wt-status.c:1857
+#: wt-status.c:1866
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1859
+#: wt-status.c:1868
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1863
+#: wt-status.c:1872
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -10260,32 +10519,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:1869
+#: wt-status.c:1878
 #, 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:1871
+#: wt-status.c:1880
 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:1877
+#: wt-status.c:1886
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1882
+#: wt-status.c:1891
 #, 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:1886
+#: wt-status.c:1895
 #, 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:1890
+#: wt-status.c:1899
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -10294,68 +10553,68 @@ 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:1894
+#: wt-status.c:1903
 #, 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:1898
+#: wt-status.c:1907
 #, 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:1902 wt-status.c:1908
+#: wt-status.c:1911 wt-status.c:1917
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1905
+#: wt-status.c:1914
 #, 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:1910
+#: wt-status.c:1919
 #, 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:2015
+#: wt-status.c:2024
 msgid "No commits yet on "
 msgstr "Vẫn không thực hiện lệnh chuyển giao nào "
 
-#: wt-status.c:2019
+#: wt-status.c:2028
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:2050
+#: wt-status.c:2059
 msgid "different"
 msgstr "khác"
 
-#: wt-status.c:2052 wt-status.c:2060
+#: wt-status.c:2061 wt-status.c:2069
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:2055 wt-status.c:2058
+#: wt-status.c:2064 wt-status.c:2067
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2596
+#: wt-status.c:2605
 #, 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:2602
+#: wt-status.c:2611
 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:2604
+#: wt-status.c:2613
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -10379,152 +10638,156 @@ msgstr "không thể khởi chạy accept_thread “%s”"
 msgid "could not start worker[0] for '%s'"
 msgstr "không thể khởi chạy bộ làm việc worker[0] cho “%s”"
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:347
+#: compat/precompose_utf8.c:58 builtin/clone.c:353
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 
+#: compat/fsmonitor/fsm-listen-darwin.c:355
+msgid "Unable to create FSEventStream."
+msgstr "Không thể tạo FSEventStream."
+
+#: compat/fsmonitor/fsm-listen-darwin.c:403
+msgid "Failed to start the FSEventStream"
+msgstr "Gặp lỗi khi khởi chạy FSEventStream"
+
 #: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<các tùy chọn>] [--]  <pathspec>…"
 
-#: builtin/add.c:64
+#: builtin/add.c:63
 #, c-format
 msgid "cannot chmod %cx '%s'"
 msgstr "không thể chmod %cx “%s”"
 
-#: builtin/add.c:106
+#: builtin/add.c:105
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:111 builtin/commit.c:298
+#: builtin/add.c:110 builtin/commit.c:299
 msgid "updating files failed"
 msgstr "cập nhật tập tin gặp lỗi"
 
-#: builtin/add.c:121
+#: builtin/add.c:120
 #, c-format
 msgid "remove '%s'\n"
 msgstr "gỡ bỏ “%s”\n"
 
-#: builtin/add.c:205
+#: builtin/add.c:204
 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:313 builtin/rev-parse.c:993
+#: builtin/add.c:312 builtin/rev-parse.c:993
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
-#: builtin/add.c:326
+#: builtin/add.c:325
 msgid "Could not write patch"
 msgstr "Không thể ghi ra miếng vá"
 
-#: builtin/add.c:329
+#: builtin/add.c:328
 msgid "editing patch failed"
 msgstr "gặp lỗi khi sửa miếng vá"
 
-#: builtin/add.c:332
+#: builtin/add.c:331
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/add.c:334
+#: builtin/add.c:333
 msgid "Empty patch. Aborted."
 msgstr "Miếng vá trống rỗng. Nên bỏ qua."
 
-#: builtin/add.c:340
+#: builtin/add.c:339
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Không thể áp dụng miếng vá “%s”"
 
-#: builtin/add.c:348
+#: builtin/add.c:347
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:368 builtin/clean.c:927 builtin/fetch.c:174 builtin/mv.c:124
+#: builtin/add.c:367 builtin/clean.c:927 builtin/fetch.c:175 builtin/mv.c:124
 #: builtin/prune-packed.c:14 builtin/pull.c:208 builtin/push.c:550
-#: builtin/remote.c:1429 builtin/rm.c:244 builtin/send-pack.c:194
+#: builtin/remote.c:1454 builtin/rm.c:244 builtin/send-pack.c:194
 msgid "dry run"
 msgstr "chạy thử"
 
-#: builtin/add.c:369 builtin/check-ignore.c:22 builtin/commit.c:1484
-#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2313
+#: builtin/add.c:368 builtin/check-ignore.c:22 builtin/commit.c:1483
+#: builtin/count-objects.c:98 builtin/fsck.c:789 builtin/log.c:2338
 #: builtin/mv.c:123 builtin/read-tree.c:120
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: builtin/add.c:371
+#: builtin/add.c:370
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:372 builtin/checkout.c:1581 builtin/reset.c:409
+#: builtin/add.c:371 builtin/checkout.c:1599 builtin/reset.c:417
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
-#: builtin/add.c:373
+#: builtin/add.c:372
 msgid "edit current diff and apply"
 msgstr "sửa diff hiện nay và áp dụng nó"
 
-#: builtin/add.c:374
+#: builtin/add.c:373
 msgid "allow adding otherwise ignored files"
 msgstr "cho phép thêm các tập tin bị bỏ qua khác"
 
-#: builtin/add.c:375
+#: builtin/add.c:374
 msgid "update tracked files"
 msgstr "cập nhật các tập tin được theo dõi"
 
-#: builtin/add.c:376
+#: builtin/add.c:375
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr "thường hóa lại EOL của các tập tin được theo dõi (ý là -u)"
 
-#: builtin/add.c:377
+#: builtin/add.c:376
 msgid "record only the fact that the path will be added later"
 msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
 
-#: builtin/add.c:378
+#: builtin/add.c:377
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "thêm các thay đổi từ tất cả các tập tin có cũng như không được theo dõi dấu "
 "vết"
 
-#: builtin/add.c:381
+#: builtin/add.c:380
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "lờ đi các đường dẫn bị gỡ bỏ trong cây thư mục làm việc (giống với --no-all)"
 
-#: builtin/add.c:383
+#: builtin/add.c:382
 msgid "don't add, only refresh the index"
 msgstr "không thêm, chỉ làm tươi mới bảng mục lục"
 
-#: builtin/add.c:384
+#: builtin/add.c:383
 msgid "just skip files which cannot be added because of errors"
 msgstr "chie bỏ qua những tập tin mà nó không thể được thêm vào bởi vì gặp lỗi"
 
-#: builtin/add.c:385
+#: builtin/add.c:384
 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:386 builtin/mv.c:128 builtin/rm.c:251
+#: builtin/add.c:385 builtin/mv.c:128 builtin/rm.c:251
 msgid "allow updating entries outside of the sparse-checkout cone"
 msgstr "cho phép cập nhật các mục ở ngoài “sparse-checkout cone”"
 
-#: builtin/add.c:388 builtin/update-index.c:1004
+#: builtin/add.c:387 builtin/update-index.c:1023
 msgid "override the executable bit of the listed files"
 msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
-#: builtin/add.c:390
+#: builtin/add.c:389
 msgid "warn when adding an embedded repository"
 msgstr "cảnh báo khi thêm một kho nhúng"
 
-#: builtin/add.c:392
-msgid "backend for `git stash -p`"
-msgstr "ứng dụng chạy phía sau cho “git stash -p”"
-
-#: builtin/add.c:410
+#: builtin/add.c:407
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -10555,12 +10818,12 @@ msgstr ""
 "\n"
 "Xem \"git help submodule\" để biết thêm chi tiết."
 
-#: builtin/add.c:439
+#: builtin/add.c:436
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "thêm cần một kho git nhúng: %s"
 
-#: builtin/add.c:459
+#: builtin/add.c:456
 msgid ""
 "Use -f if you really want to add them.\n"
 "Turn this message off by running\n"
@@ -10570,27 +10833,27 @@ msgstr ""
 "Tắt thông báo này bằng cách chạy lệnh\n"
 "\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:474
+#: builtin/add.c:471
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:548
+#: builtin/add.c:534
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "--chmod tham số “%s” phải hoặc là -x hay +x"
 
-#: builtin/add.c:569 builtin/checkout.c:1751 builtin/commit.c:364
-#: builtin/reset.c:429 builtin/rm.c:275 builtin/stash.c:1713
+#: builtin/add.c:555 builtin/checkout.c:1770 builtin/commit.c:365
+#: builtin/reset.c:436 builtin/rm.c:275 builtin/stash.c:1702
 #, c-format
 msgid "'%s' and pathspec arguments cannot be used together"
 msgstr "'%s' và các tham số đặc tả đường dẫn không thể dùng cùng nhau"
 
-#: builtin/add.c:580
+#: builtin/add.c:566
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 
-#: builtin/add.c:582
+#: builtin/add.c:568
 msgid ""
 "Maybe you wanted to say 'git add .'?\n"
 "Turn this message off by running\n"
@@ -10600,117 +10863,112 @@ msgstr ""
 "Tắt thông báo này bằng cách chạy lệnh\n"
 "\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:202
-#, c-format
-msgid "Invalid value for --empty: %s"
-msgstr "Giá trị cho --empty không hợp lệ: %s"
-
-#: builtin/am.c:392
+#: builtin/am.c:393
 msgid "could not parse author script"
 msgstr "không thể phân tích cú pháp văn lệnh tác giả"
 
-#: builtin/am.c:482
+#: builtin/am.c:483
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "“%s” bị xóa bởi móc applypatch-msg"
 
-#: builtin/am.c:524
+#: builtin/am.c:525
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/am.c:562
+#: builtin/am.c:563
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Gặp lỗi khi sao chép ghi chú (note) từ “%s” tới “%s”"
 
-#: builtin/am.c:588
+#: builtin/am.c:589
 msgid "fseek failed"
 msgstr "fseek gặp lỗi"
 
-#: builtin/am.c:776
+#: builtin/am.c:777
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/am.c:841
+#: builtin/am.c:842
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: builtin/am.c:889
+#: builtin/am.c:890
 msgid "invalid timestamp"
 msgstr "dấu thời gian không hợp lệ"
 
-#: builtin/am.c:894 builtin/am.c:906
+#: builtin/am.c:895 builtin/am.c:907
 msgid "invalid Date line"
 msgstr "dòng Ngày tháng không hợp lệ"
 
-#: builtin/am.c:901
+#: builtin/am.c:902
 msgid "invalid timezone offset"
 msgstr "độ lệch múi giờ không hợp lệ"
 
-#: builtin/am.c:994
+#: builtin/am.c:995
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:999 builtin/clone.c:300
+#: builtin/am.c:1000 builtin/clone.c:306
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/am.c:1004
+#: builtin/am.c:1005
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1153
+#: builtin/am.c:1154
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Khi bạn đã giải quyết xong trục trặc này, hãy chạy \"%s --continue\"."
 
-#: builtin/am.c:1154
+#: builtin/am.c:1155
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 "Nếu bạn muốn bỏ qua miếng vá này, hãy chạy lệnh \"%s --skip\" để thay thế."
 
-#: builtin/am.c:1159
+#: builtin/am.c:1160
 #, c-format
 msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
 msgstr ""
 "Để ghi một miếng vá trống rỗng như một lần chuyển giao rông, \"%s --allow-"
 "empty\"."
 
-#: builtin/am.c:1161
+#: builtin/am.c:1162
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "Để phục hồi lại nhánh gốc và dừng vá, hãy chạy \"%s --abort\"."
 
-#: builtin/am.c:1256
+#: builtin/am.c:1257
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Miếng vá được gửi với format=flowed; khoảng trống ở cuối của các dòng có thể "
 "bị mất."
 
-#: builtin/am.c:1344
+#: builtin/am.c:1345
 #, c-format
 msgid "missing author line in commit %s"
 msgstr "thiếu dòng tác giả trong lần chuyển gia %s"
 
-#: builtin/am.c:1347
+#: builtin/am.c:1348
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "dòng định danh không hợp lệ: %.*s"
 
-#: builtin/am.c:1566
+#: builtin/am.c:1567
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để thực hiện “3-way merge”."
 
-#: builtin/am.c:1568
+#: builtin/am.c:1569
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Sử dụng thông tin trong bảng mục lục để cấu trúc lại một cây (tree) cơ sở…"
 
-#: builtin/am.c:1587
+#: builtin/am.c:1588
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -10718,24 +10976,24 @@ msgstr ""
 "Bạn đã sửa miếng vá của mình bằng cách thủ công à?\n"
 "Nó không thể áp dụng các blob đã được ghi lại trong bảng mục lục của nó."
 
-#: builtin/am.c:1593
+#: builtin/am.c:1594
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang dùng phương án dự phòng: vá bản cơ sở và “hòa trộn 3-đường”…"
 
-#: builtin/am.c:1619
+#: builtin/am.c:1620
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1651
+#: builtin/am.c:1652
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1703 builtin/am.c:1707
+#: builtin/am.c:1704 builtin/am.c:1708
 #, c-format
 msgid "cannot resume: %s does not exist."
 msgstr "không thể phục hồi: %s không tồn tại."
 
-#: builtin/am.c:1725
+#: builtin/am.c:1726
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -10743,59 +11001,59 @@ msgstr "Thân của lần chuyển giao là:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1735
+#: builtin/am.c:1736
 #, c-format
 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 msgstr ""
 "Áp dụng? đồng ý [y]/khô[n]g/chỉnh sửa [e]/hiển thị miếng [v]á/chấp nhận tất "
 "cả [a]: "
 
-#: builtin/am.c:1781 builtin/commit.c:409
+#: builtin/am.c:1782 builtin/commit.c:410
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
-#: builtin/am.c:1785
+#: builtin/am.c:1786
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Bảng mục lục bẩn: không thể áp dụng các miếng vá (bẩn: %s)"
 
-#: builtin/am.c:1827
+#: builtin/am.c:1828
 #, c-format
 msgid "Skipping: %.*s"
 msgstr "Đang bỏ qua: %.*s"
 
-#: builtin/am.c:1832
+#: builtin/am.c:1833
 #, c-format
 msgid "Creating an empty commit: %.*s"
 msgstr "Đang tạo một lần chuyển giao trống rỗng: %.*s"
 
-#: builtin/am.c:1836
+#: builtin/am.c:1837
 msgid "Patch is empty."
 msgstr "Miếng vá trống rỗng."
 
-#: builtin/am.c:1847 builtin/am.c:1916
+#: builtin/am.c:1848 builtin/am.c:1917
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1864
+#: builtin/am.c:1865
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
-#: builtin/am.c:1870
+#: builtin/am.c:1871
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
 
-#: builtin/am.c:1874
+#: builtin/am.c:1875
 msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr "Dùng “git am --show-current-patch=diff” để xem miếng vá bị lỗi"
 
-#: builtin/am.c:1920
+#: builtin/am.c:1921
 msgid "No changes - recorded it as an empty commit."
 msgstr "Không có thay đổi nào - được ghi thành một lần chuyển giao rỗng."
 
-#: builtin/am.c:1922
+#: builtin/am.c:1923
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -10806,7 +11064,7 @@ msgstr ""
 "đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng "
 "vá này."
 
-#: builtin/am.c:1930
+#: builtin/am.c:1931
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -10819,17 +11077,17 @@ msgstr ""
 "Bạn có lẽ muốn chạy “git rm“ trên một tập tin để chấp nhận \"được xóa bởi họ"
 "\" cho nó."
 
-#: builtin/am.c:2038 builtin/am.c:2042 builtin/am.c:2054 builtin/reset.c:448
-#: builtin/reset.c:456
+#: builtin/am.c:2039 builtin/am.c:2043 builtin/am.c:2055 builtin/reset.c:455
+#: builtin/reset.c:463
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Không thể phân tích đối tượng “%s”."
 
-#: builtin/am.c:2090 builtin/am.c:2166
+#: builtin/am.c:2091 builtin/am.c:2167
 msgid "failed to clean index"
 msgstr "gặp lỗi khi dọn bảng mục lục"
 
-#: builtin/am.c:2134
+#: builtin/am.c:2135
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -10837,168 +11095,159 @@ msgstr ""
 "Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần “am” thất bại cuối cùng.\n"
 "Không thể chuyển tới ORIG_HEAD"
 
-#: builtin/am.c:2242
-#, c-format
-msgid "Invalid value for --patch-format: %s"
-msgstr "Giá trị không hợp lệ cho --patch-format: %s"
-
-#: builtin/am.c:2285
-#, c-format
-msgid "Invalid value for --show-current-patch: %s"
-msgstr "Giá trị không hợp lệ cho --show-current-patch: %s"
-
-#: builtin/am.c:2289
+#: builtin/am.c:2292
 #, c-format
 msgid "options '%s=%s' and '%s=%s' cannot be used together"
 msgstr "tùy chọn '%s=%s' và '%s=%s' không thể dùng cùng nhau"
 
-#: builtin/am.c:2320
+#: builtin/am.c:2323
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<các tùy chọn>] [(<mbox>|<Maildir>)…]"
 
-#: builtin/am.c:2321
+#: builtin/am.c:2324
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<các tùy chọn>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2327
+#: builtin/am.c:2330
 msgid "run interactively"
 msgstr "chạy kiểu tương tác"
 
-#: builtin/am.c:2329
+#: builtin/am.c:2332
 msgid "historical option -- no-op"
 msgstr "tùy chọn lịch sử -- không-toán-tử"
 
-#: builtin/am.c:2331
+#: builtin/am.c:2334
 msgid "allow fall back on 3way merging if needed"
 msgstr "cho phép quay trở lại để hòa trộn kiểu “3way” nếu cần"
 
-#: builtin/am.c:2332 builtin/init-db.c:547 builtin/prune-packed.c:16
-#: builtin/repack.c:642 builtin/stash.c:962
+#: builtin/am.c:2335 builtin/init-db.c:547 builtin/prune-packed.c:16
+#: builtin/repack.c:646 builtin/stash.c:946
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/am.c:2334
+#: builtin/am.c:2337
 msgid "add a Signed-off-by trailer to the commit message"
 msgstr "thêm dòng Signed-off-by vào cuối ghi chú của lần chuyển giao"
 
-#: builtin/am.c:2337
+#: builtin/am.c:2340
 msgid "recode into utf8 (default)"
 msgstr "chuyển mã thành utf8 (mặc định)"
 
-#: builtin/am.c:2339
+#: builtin/am.c:2342
 msgid "pass -k flag to git-mailinfo"
 msgstr "chuyển cờ -k cho git-mailinfo"
 
-#: builtin/am.c:2341
+#: builtin/am.c:2344
 msgid "pass -b flag to git-mailinfo"
 msgstr "chuyển cờ -b cho git-mailinfo"
 
-#: builtin/am.c:2343
+#: builtin/am.c:2346
 msgid "pass -m flag to git-mailinfo"
 msgstr "chuyển cờ -m cho git-mailinfo"
 
-#: builtin/am.c:2345
+#: builtin/am.c:2348
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "chuyển cờ --keep-cr cho git-mailsplit với định dạng mbox"
 
-#: builtin/am.c:2348
+#: builtin/am.c:2351
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "đừng chuyển cờ --keep-cr cho git-mailsplit không phụ thuộc vào am.keepcr"
 
-#: builtin/am.c:2351
+#: builtin/am.c:2354
 msgid "strip everything before a scissors line"
 msgstr "cắt mọi thứ trước dòng scissors"
 
-#: builtin/am.c:2353
+#: builtin/am.c:2356
 msgid "pass it through git-mailinfo"
 msgstr "chuyển nó qua git-mailinfo"
 
-#: builtin/am.c:2356 builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365
-#: builtin/am.c:2368 builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377
-#: builtin/am.c:2383
+#: builtin/am.c:2359 builtin/am.c:2362 builtin/am.c:2365 builtin/am.c:2368
+#: builtin/am.c:2371 builtin/am.c:2374 builtin/am.c:2377 builtin/am.c:2380
+#: builtin/am.c:2386
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2373 builtin/commit.c:1515 builtin/fmt-merge-msg.c:18
-#: builtin/fmt-merge-msg.c:21 builtin/grep.c:919 builtin/merge.c:263
+#: builtin/am.c:2376 builtin/commit.c:1514 builtin/fmt-merge-msg.c:18
+#: builtin/fmt-merge-msg.c:21 builtin/grep.c:920 builtin/merge.c:263
 #: builtin/pull.c:142 builtin/pull.c:204 builtin/pull.c:221
-#: builtin/rebase.c:1046 builtin/repack.c:653 builtin/repack.c:657
-#: builtin/repack.c:659 builtin/show-branch.c:649 builtin/show-ref.c:172
-#: builtin/tag.c:445 parse-options.h:154 parse-options.h:175
-#: parse-options.h:317
+#: builtin/rebase.c:1074 builtin/repack.c:657 builtin/repack.c:661
+#: builtin/repack.c:663 builtin/show-branch.c:650 builtin/show-ref.c:172
+#: builtin/tag.c:446 parse-options.h:159 parse-options.h:180
+#: parse-options.h:348
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2379 builtin/branch.c:680 builtin/bugreport.c:109
-#: builtin/for-each-ref.c:41 builtin/replace.c:555 builtin/tag.c:479
-#: builtin/verify-tag.c:38
+#: builtin/am.c:2382 builtin/branch.c:695 builtin/bugreport.c:109
+#: builtin/cat-file.c:848 builtin/cat-file.c:852 builtin/cat-file.c:856
+#: builtin/for-each-ref.c:41 builtin/ls-tree.c:357 builtin/replace.c:555
+#: builtin/tag.c:480 builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/am.c:2380
+#: builtin/am.c:2383
 msgid "format the patch(es) are in"
 msgstr "định dạng (các) miếng vá theo"
 
-#: builtin/am.c:2386
+#: builtin/am.c:2389
 msgid "override error message when patch failure occurs"
 msgstr "đè lên các lời nhắn lỗi khi xảy ra lỗi vá nghiêm trọng"
 
-#: builtin/am.c:2388
+#: builtin/am.c:2391
 msgid "continue applying patches after resolving a conflict"
 msgstr "tiếp tục áp dụng các miếng vá sau khi giải quyết xung đột"
 
-#: builtin/am.c:2391
+#: builtin/am.c:2394
 msgid "synonyms for --continue"
 msgstr "đồng nghĩa với --continue"
 
-#: builtin/am.c:2394
+#: builtin/am.c:2397
 msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
-#: builtin/am.c:2397
+#: builtin/am.c:2400
 msgid "restore the original branch and abort the patching operation"
 msgstr "phục hồi lại nhánh gốc và loại bỏ thao tác vá"
 
-#: builtin/am.c:2400
+#: builtin/am.c:2403
 msgid "abort the patching operation but keep HEAD where it is"
 msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD nơi nó chỉ đến"
 
-#: builtin/am.c:2404
+#: builtin/am.c:2407
 msgid "show the patch being applied"
 msgstr "hiển thị miếng vá đã được áp dụng rồi"
 
-#: builtin/am.c:2408
+#: builtin/am.c:2411
 msgid "record the empty patch as an empty commit"
 msgstr "ghi lại miếng vá trống rỗng như là một lần chuyển giao trống"
 
-#: builtin/am.c:2412
+#: builtin/am.c:2415
 msgid "lie about committer date"
 msgstr "nói dối về ngày chuyển giao"
 
-#: builtin/am.c:2414
+#: builtin/am.c:2417
 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:2416 builtin/commit-tree.c:118 builtin/commit.c:1643
-#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1099
-#: builtin/revert.c:117 builtin/tag.c:460
+#: builtin/am.c:2419 builtin/commit-tree.c:118 builtin/commit.c:1642
+#: builtin/merge.c:302 builtin/pull.c:179 builtin/rebase.c:1127
+#: builtin/revert.c:117 builtin/tag.c:461
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2417 builtin/rebase.c:1100
+#: builtin/am.c:2420 builtin/rebase.c:1128
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
-#: builtin/am.c:2420
+#: builtin/am.c:2423
 msgid "how to handle empty patches"
 msgstr "xử lý các miếng vá trống rỗng như thế nào"
 
-#: builtin/am.c:2423
+#: builtin/am.c:2426
 msgid "(internal use for git-rebase)"
 msgstr "(dùng nội bộ cho git-rebase)"
 
-#: builtin/am.c:2441
+#: builtin/am.c:2444
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -11006,16 +11255,16 @@ msgstr ""
 "Tùy chọn -b/--binary đã không dùng từ lâu rồi, và\n"
 "nó sẽ được bỏ đi. Xin đừng sử dụng nó thêm nữa."
 
-#: builtin/am.c:2448
+#: builtin/am.c:2451
 msgid "failed to read the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/am.c:2463
+#: builtin/am.c:2466
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "thư mục rebase trước %s không sẵn có nhưng mbox lại đưa ra."
 
-#: builtin/am.c:2487
+#: builtin/am.c:2490
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -11024,11 +11273,11 @@ msgstr ""
 "Tìm thấy thư mục lạc %s.\n"
 "Dùng \"git am --abort\" để loại bỏ nó đi."
 
-#: builtin/am.c:2493
+#: builtin/am.c:2496
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Thao tác phân giải không được tiến hành, chúng ta không phục hồi lại."
 
-#: builtin/am.c:2503
+#: builtin/am.c:2506
 msgid "interactive mode requires patches on the command line"
 msgstr "chế độ tương tác yêu cầu có các miếng vá trên dòng lệnh"
 
@@ -11065,14 +11314,6 @@ msgstr "git archive: cần một flush (đẩy dữ liệu lên đĩa)"
 msgid "git bisect--helper --bisect-reset [<commit>]"
 msgstr "git bisect--helper --bisect-reset [<lần_chuyển_giao>]"
 
-#: builtin/bisect--helper.c:25
-msgid ""
-"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
-"term-new]"
-msgstr ""
-"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --"
-"term-new]"
-
 #: builtin/bisect--helper.c:26
 msgid ""
 "git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
@@ -11083,10 +11324,6 @@ msgstr ""
 "=<term>] [--no-checkout] [--first-parent] [<bad> [<good>…]] [--] [</các/"
 "đường/dẫn>…]"
 
-#: builtin/bisect--helper.c:28
-msgid "git bisect--helper --bisect-next"
-msgstr "git bisect--helper --bisect-next"
-
 #: builtin/bisect--helper.c:29
 msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
 msgstr "git bisect--helper --bisect-state (bad|new) [<lần_chuyển_giao>]"
@@ -11103,10 +11340,6 @@ msgstr "git bisect--helper --bisect-replay <tên_tập_tin>"
 msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
 msgstr "git bisect--helper --bisect-skip [(<rev>|<vùng>)…]"
 
-#: builtin/bisect--helper.c:33
-msgid "git bisect--helper --bisect-visualize"
-msgstr "git bisect--helper --bisect-visualize"
-
 #: builtin/bisect--helper.c:34
 msgid "git bisect--helper --bisect-run <cmd>..."
 msgstr "git bisect--helper --bisect-run <lệnh>…"
@@ -11328,40 +11561,50 @@ msgstr "“%s”?? bạn đang nói gì thế?"
 msgid "cannot read file '%s' for replaying"
 msgstr "không thể đọc tập tin “%s” để thao diễn lại"
 
-#: builtin/bisect--helper.c:1107 builtin/bisect--helper.c:1274
+#: builtin/bisect--helper.c:1120 builtin/bisect--helper.c:1152
+#, c-format
+msgid "running %s\n"
+msgstr "đang chạy %s\n"
+
+#: builtin/bisect--helper.c:1145 builtin/bisect--helper.c:1335
 msgid "bisect run failed: no command provided."
 msgstr "bisect chạy gặp lỗi: không đưa ra lệnh."
 
-#: builtin/bisect--helper.c:1116
+#: builtin/bisect--helper.c:1166
 #, c-format
-msgid "running %s\n"
-msgstr "đang chạy %s\n"
+msgid "unable to verify '%s' on good revision"
+msgstr "không thể xác nhận “%s” trên điểm xét duyệt tốt"
 
-#: builtin/bisect--helper.c:1120
+#: builtin/bisect--helper.c:1172
+#, c-format
+msgid "bogus exit code %d for good revision"
+msgstr "mã thoát giả %d cho điểm xét duyệt tốt"
+
+#: builtin/bisect--helper.c:1180
 #, c-format
 msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
 msgstr "chạy bisect gặp lỗi: mã trả về %d từ lệnh “%s” là < 0 hoặc >= 128"
 
-#: builtin/bisect--helper.c:1136
+#: builtin/bisect--helper.c:1195
 #, c-format
 msgid "cannot open file '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: builtin/bisect--helper.c:1152
+#: builtin/bisect--helper.c:1213
 msgid "bisect run cannot continue any more"
 msgstr "bisect không thể tiếp tục thêm được nữa"
 
-#: builtin/bisect--helper.c:1154
+#: builtin/bisect--helper.c:1215
 #, c-format
 msgid "bisect run success"
 msgstr "bisect chạy thành công"
 
-#: builtin/bisect--helper.c:1157
+#: builtin/bisect--helper.c:1218
 #, c-format
 msgid "bisect found first bad commit"
 msgstr "bisect tìm thấy lần chuyển giao sai đầu tiên"
 
-#: builtin/bisect--helper.c:1160
+#: builtin/bisect--helper.c:1221
 #, c-format
 msgid ""
 "bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
@@ -11370,72 +11613,72 @@ msgstr ""
 "chạy bisect gặp lỗi: “git bisect--helper --bisect-state %s” đã thoát ra với "
 "mã lỗi %d"
 
-#: builtin/bisect--helper.c:1192
+#: builtin/bisect--helper.c:1253
 msgid "reset the bisection state"
 msgstr "đặt lại trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1194
+#: builtin/bisect--helper.c:1255
 msgid "check whether bad or good terms exist"
 msgstr "kiểm tra xem các thời điểm xấu/tốt có tồn tại không"
 
-#: builtin/bisect--helper.c:1196
+#: builtin/bisect--helper.c:1257
 msgid "print out the bisect terms"
 msgstr "in ra các thời điểm di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1198
+#: builtin/bisect--helper.c:1259
 msgid "start the bisect session"
 msgstr "bắt đầu phiên di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1200
+#: builtin/bisect--helper.c:1261
 msgid "find the next bisection commit"
 msgstr "tìm lần chuyển giao không di chuyển phân đôi"
 
-#: builtin/bisect--helper.c:1202
+#: builtin/bisect--helper.c:1263
 msgid "mark the state of ref (or refs)"
 msgstr "đánh dấu trạng thái ref (hoặc refs)"
 
-#: builtin/bisect--helper.c:1204
+#: builtin/bisect--helper.c:1265
 msgid "list the bisection steps so far"
 msgstr "liệt kê các bước bisection đi quá xa"
 
-#: builtin/bisect--helper.c:1206
+#: builtin/bisect--helper.c:1267
 msgid "replay the bisection process from the given file"
 msgstr "phát lại quá trình bisection từ tệp đã cho"
 
-#: builtin/bisect--helper.c:1208
+#: builtin/bisect--helper.c:1269
 msgid "skip some commits for checkout"
 msgstr "bỏ qua một số lần chuyển giao để lấy ra"
 
-#: builtin/bisect--helper.c:1210
+#: builtin/bisect--helper.c:1271
 msgid "visualize the bisection"
 msgstr "trực quan việc di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:1212
-msgid "use <cmd>... to automatically bisect."
-msgstr "dùng <cmd>… để bisect một cách tự động."
+#: builtin/bisect--helper.c:1273
+msgid "use <cmd>... to automatically bisect"
+msgstr "dùng <cmd>… để bisect một cách tự động"
 
-#: builtin/bisect--helper.c:1214
+#: builtin/bisect--helper.c:1275
 msgid "no log for BISECT_WRITE"
 msgstr "không có nhật ký cho BISECT_WRITE"
 
-#: builtin/bisect--helper.c:1229
+#: builtin/bisect--helper.c:1290
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr ""
 "--bisect-reset requires không nhận đối số cũng không nhận lần chuyển giao"
 
-#: builtin/bisect--helper.c:1234
+#: builtin/bisect--helper.c:1295
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
-#: builtin/bisect--helper.c:1243
+#: builtin/bisect--helper.c:1304
 msgid "--bisect-next requires 0 arguments"
 msgstr "--bisect-next cần 0 tham số"
 
-#: builtin/bisect--helper.c:1254
+#: builtin/bisect--helper.c:1315
 msgid "--bisect-log requires 0 arguments"
 msgstr "--bisect-log cần 0 tham số"
 
-#: builtin/bisect--helper.c:1259
+#: builtin/bisect--helper.c:1320
 msgid "no logfile given"
 msgstr "chưa chỉ ra tập tin ghi nhật ký"
 
@@ -11456,145 +11699,136 @@ msgstr "cần một màu: %s"
 msgid "must end with a color"
 msgstr "phải kết thúc bằng một màu"
 
-#: builtin/blame.c:724
-#, c-format
-msgid "invalid color '%s' in color.blame.repeatedLines"
-msgstr "màu không hợp lệ “%s” trong color.blame.repeatedLines"
-
-#: builtin/blame.c:742
-msgid "invalid value for blame.coloring"
-msgstr "màu không hợp lệ cho blame.coloring"
-
-#: builtin/blame.c:841
+#: builtin/blame.c:842
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "không thể tìm thấy điểm xét duyệt %s để mà bỏ qua"
 
-#: builtin/blame.c:863
+#: builtin/blame.c:864
 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:864
+#: builtin/blame.c:865
 msgid "do not show object names of boundary commits (Default: off)"
 msgstr ""
 "đừng hiển thị tên đối tượng của những lần chuyển giao biên giới (Mặc định: "
 "off)"
 
-#: builtin/blame.c:865
+#: builtin/blame.c:866
 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:866
+#: builtin/blame.c:867
 msgid "show work cost statistics"
 msgstr "hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:867 builtin/checkout.c:1536 builtin/clone.c:94
-#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:180
+#: builtin/blame.c:868 builtin/checkout.c:1554 builtin/clone.c:98
+#: builtin/commit-graph.c:75 builtin/commit-graph.c:228 builtin/fetch.c:181
 #: builtin/merge.c:301 builtin/multi-pack-index.c:103
 #: builtin/multi-pack-index.c:154 builtin/multi-pack-index.c:180
 #: builtin/multi-pack-index.c:208 builtin/pull.c:120 builtin/push.c:566
-#: builtin/send-pack.c:202
+#: builtin/remote.c:683 builtin/send-pack.c:202
 msgid "force progress reporting"
 msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:868
+#: builtin/blame.c:869
 msgid "show output score for blame entries"
 msgstr "hiển thị kết xuất điểm số cho các mục tin “blame”"
 
-#: builtin/blame.c:869
+#: builtin/blame.c:870
 msgid "show original filename (Default: auto)"
 msgstr "hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:870
+#: builtin/blame.c:871
 msgid "show original linenumber (Default: off)"
 msgstr "hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:871
+#: builtin/blame.c:872
 msgid "show in a format designed for machine consumption"
 msgstr "hiển thị ở định dạng đã thiết kế cho dùng bằng máy"
 
-#: builtin/blame.c:872
+#: builtin/blame.c:873
 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:873
+#: builtin/blame.c:874
 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:874
+#: builtin/blame.c:875
 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:875
+#: builtin/blame.c:876
 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:876
+#: builtin/blame.c:877
 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:877
+#: builtin/blame.c:878
 msgid "show author email instead of name (Default: off)"
 msgstr "hiển thị thư điện tử của tác giả thay cho tên (Mặc định: off)"
 
-#: builtin/blame.c:878
+#: builtin/blame.c:879
 msgid "ignore whitespace differences"
 msgstr "bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:879 builtin/log.c:1838
+#: builtin/blame.c:880 builtin/log.c:1857
 msgid "rev"
 msgstr "rev"
 
-#: builtin/blame.c:879
+#: builtin/blame.c:880
 msgid "ignore <rev> when blaming"
 msgstr "bỏ qua <rev> khi blame"
 
-#: builtin/blame.c:880
+#: builtin/blame.c:881
 msgid "ignore revisions from <file>"
 msgstr "bỏ qua các điểm xét duyệt từ <tập tin>"
 
-#: builtin/blame.c:881
+#: builtin/blame.c:882
 msgid "color redundant metadata from previous line differently"
 msgstr "siêu dữ liệu dư thừa màu từ dòng trước khác hẳn"
 
-#: builtin/blame.c:882
+#: builtin/blame.c:883
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:883
+#: builtin/blame.c:884
 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:884
+#: builtin/blame.c:885
 msgid "use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "sử dụng các điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:885
+#: builtin/blame.c:886
 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:886 builtin/blame.c:887
+#: builtin/blame.c:887 builtin/blame.c:888
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:886
+#: builtin/blame.c:887
 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:887
+#: builtin/blame.c:888
 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:888
+#: builtin/blame.c:889
 msgid "range"
 msgstr "vùng"
 
-#: builtin/blame.c:889
+#: builtin/blame.c:890
 msgid "process only line range <start>,<end> or function :<funcname>"
 msgstr "xử lý chỉ dòng vùng <đầu>,<cuối> hoặc tính năng :<funcname>"
 
-#: builtin/blame.c:947
+#: builtin/blame.c:949
 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"
@@ -11607,17 +11841,17 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:998
+#: builtin/blame.c:1000
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1114
+#: builtin/blame.c:1116
 #, c-format
 msgid "file %s has only %lu line"
 msgid_plural "file %s has only %lu lines"
 msgstr[0] "tập tin %s chỉ có %lu dòng"
 
-#: builtin/blame.c:1159
+#: builtin/blame.c:1161
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
@@ -11626,30 +11860,38 @@ msgid "git branch [<options>] [-r | -a] [--merged] [--no-merged]"
 msgstr "git branch [<các tùy chọn>] [-r | -a] [--merged] [ --no-merged]"
 
 #: builtin/branch.c:30
-msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
-msgstr "git branch [<các tùy chọn>] [-l] [-f] <tên-nhánh> [<điểm-đầu>]"
+msgid ""
+"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
+"point>]"
+msgstr ""
+"git branch [<các tùy chọn>] [-f] [--recurse-submodules] <tên-nhánh> [<điểm-"
+"đầu>]"
 
 #: builtin/branch.c:31
+msgid "git branch [<options>] [-l] [<pattern>...]"
+msgstr "git branch [<các tùy chọn>] [-l] [<mẫu>...]"
+
+#: builtin/branch.c:32
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<các tùy chọn>] [-r] (-d | -D) <tên-nhánh> …"
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<các tùy chọn>] (-m | -M) [<nhánh-cũ>] <nhánh-mới>"
 
-#: builtin/branch.c:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr "git branch [<các tùy chọn>] (-c | -C) [<nhánh-cũ>] <nhánh-mới>"
 
-#: builtin/branch.c:34
+#: builtin/branch.c:35
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<các tùy chọn>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:35
+#: builtin/branch.c:36
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<các tùy chọn>] [-r | -a] [--format]"
 
-#: builtin/branch.c:153
+#: builtin/branch.c:165
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -11658,7 +11900,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:157
+#: builtin/branch.c:169
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -11667,12 +11909,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:171
+#: builtin/branch.c:183
 #, 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:175
+#: builtin/branch.c:187
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -11681,111 +11923,111 @@ 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:188
+#: builtin/branch.c:200
 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:223
+#: builtin/branch.c:235
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:230
+#: builtin/branch.c:242
 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:247
+#: builtin/branch.c:259
 #, 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:262
+#: builtin/branch.c:274
 #, 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:263
+#: builtin/branch.c:275
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:294
+#: builtin/branch.c:306
 #, 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:295
+#: builtin/branch.c:307
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:445 builtin/tag.c:63
+#: builtin/branch.c:457 builtin/tag.c:64
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
-#: builtin/branch.c:476
+#: builtin/branch.c:488
 msgid "could not resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: builtin/branch.c:482
+#: builtin/branch.c:494
 #, c-format
 msgid "HEAD (%s) points outside of refs/heads/"
 msgstr "HEAD (%s) chỉ bên ngoài của refs/heads/"
 
-#: builtin/branch.c:497
+#: builtin/branch.c:509
 #, 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:501
+#: builtin/branch.c:513
 #, 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:518
+#: builtin/branch.c:530
 msgid "cannot copy the current branch while not on any."
 msgstr "không thể sao chép nhánh hiện hành trong khi nó chẳng ở đâu cả."
 
-#: builtin/branch.c:520
+#: builtin/branch.c:532
 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:531
+#: builtin/branch.c:543
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:560
+#: builtin/branch.c:572
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:562
+#: builtin/branch.c:574
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:566
+#: builtin/branch.c:578
 #, c-format
 msgid "Created a copy of a misnamed branch '%s'"
 msgstr "Đã tạo một bản sao của nhánh khuyết danh “%s”"
 
-#: builtin/branch.c:569
+#: builtin/branch.c:581
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:575
+#: builtin/branch.c:587
 #, 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:584
+#: builtin/branch.c:596
 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:586
+#: builtin/branch.c:598
 msgid "Branch is copied, but update of config-file failed"
 msgstr "Nhánh đã được sao chép, nhưng cập nhật tập tin cấu hình gặp lỗi"
 
-#: builtin/branch.c:602
+#: builtin/branch.c:614
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -11796,176 +12038,193 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:651
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:653
 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:640
+#: builtin/branch.c:654
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:656 builtin/checkout.c:1571
+#: builtin/submodule--helper.c:3077
 msgid "set branch tracking configuration"
 msgstr "đặt cấu hình thao dõi nhánh"
 
-#: builtin/branch.c:645
+#: builtin/branch.c:659
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:661
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:647
+#: builtin/branch.c:661
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:648
+#: builtin/branch.c:662
 msgid "unset the upstream info"
 msgstr "bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:649
+#: builtin/branch.c:663
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:664
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:652 builtin/branch.c:654
+#: builtin/branch.c:666 builtin/branch.c:668
 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:653 builtin/branch.c:655
+#: builtin/branch.c:667 builtin/branch.c:669
 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:658
+#: builtin/branch.c:672
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:659
+#: builtin/branch.c:673
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:661
+#: builtin/branch.c:675
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:662
+#: builtin/branch.c:676
 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:663
+#: builtin/branch.c:677
 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:664
+#: builtin/branch.c:678
 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:665
+#: builtin/branch.c:679
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:666
+#: builtin/branch.c:680
 msgid "copy a branch, even if target exists"
 msgstr "sao chép một nhánh ngay cả khi đích đã có sẵn"
 
-#: builtin/branch.c:667
+#: builtin/branch.c:681
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:668
+#: builtin/branch.c:682
 msgid "show current branch name"
 msgstr "hiển thị nhánh hiện hành"
 
-#: builtin/branch.c:669
+#: builtin/branch.c:683 builtin/submodule--helper.c:3075
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:671
+#: builtin/branch.c:685
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:672
+#: builtin/branch.c:686
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:673
+#: builtin/branch.c:687
 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:674
+#: builtin/branch.c:688
 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:675
+#: builtin/branch.c:689
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:677 builtin/for-each-ref.c:45 builtin/notes.c:413
+#: builtin/branch.c:691 builtin/for-each-ref.c:45 builtin/notes.c:413
 #: builtin/notes.c:416 builtin/notes.c:579 builtin/notes.c:582
-#: builtin/tag.c:475
+#: builtin/tag.c:476
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:692
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:679 builtin/for-each-ref.c:51 builtin/tag.c:482
+#: builtin/branch.c:693 builtin/for-each-ref.c:51 builtin/tag.c:483
 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:680 builtin/for-each-ref.c:41 builtin/tag.c:480
-#: builtin/verify-tag.c:38
+#: builtin/branch.c:694 builtin/ls-files.c:667
+msgid "recurse through submodules"
+msgstr "đệ quy xuyên qua mô-đun con"
+
+#: builtin/branch.c:695 builtin/for-each-ref.c:41 builtin/ls-tree.c:358
+#: builtin/tag.c:481 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:703 builtin/clone.c:678
+#: builtin/branch.c:718 builtin/clone.c:684
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:742 builtin/branch.c:798 builtin/branch.c:807
+#: builtin/branch.c:739
+msgid ""
+"branch with --recurse-submodules can only be used if submodule."
+"propagateBranches is enabled"
+msgstr ""
+"nhánh với --recurse-submodules chỉ có thể được sử dụng nếu submodule."
+"propagateBranches được kích hoạt"
+
+#: builtin/branch.c:741
+msgid "--recurse-submodules can only be used to create branches"
+msgstr "--recurse-submodules chỉ có thể được sử dụng để tạo ra các nhánh"
+
+#: builtin/branch.c:770 builtin/branch.c:826 builtin/branch.c:835
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:774
+#: builtin/branch.c:802
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:779
+#: builtin/branch.c:807
 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:786
+#: builtin/branch.c:814
 #, 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:789
+#: builtin/branch.c:817
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:804
+#: builtin/branch.c:832
 msgid "too many branches for a copy operation"
 msgstr "quá nhiều nhánh dành cho thao tác sao chép"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:841
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:818
+#: builtin/branch.c:846
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:822
+#: builtin/branch.c:850
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -11973,30 +12232,30 @@ 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:825 builtin/branch.c:848
+#: builtin/branch.c:853 builtin/branch.c:873
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:829
+#: builtin/branch.c:857
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:842
+#: builtin/branch.c:867
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:846
+#: builtin/branch.c:871
 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:852
+#: builtin/branch.c:877
 #, 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:862
+#: builtin/branch.c:890
 msgid ""
 "The -a, and -r, options to 'git branch' do not take a branch name.\n"
 "Did you mean to use: -a|-r --list <pattern>?"
@@ -12005,7 +12264,7 @@ msgstr ""
 "nhánh.\n"
 "Có phải ý bạn là dùng: -a|-r --list <mẫu>?"
 
-#: builtin/branch.c:866
+#: builtin/branch.c:894
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -12121,19 +12380,19 @@ msgstr "git bundle list-heads <tập tin> [<tên tham chiếu>…]"
 msgid "git bundle unbundle <file> [<refname>...]"
 msgstr "git bundle unbundle <tập tin> [<tên tham chiếu>…]"
 
-#: builtin/bundle.c:65 builtin/pack-objects.c:3876
+#: builtin/bundle.c:65 builtin/pack-objects.c:3899
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:67 builtin/bundle.c:167 builtin/pack-objects.c:3878
+#: builtin/bundle.c:67 builtin/bundle.c:168 builtin/pack-objects.c:3901
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/bundle.c:69 builtin/pack-objects.c:3880
+#: builtin/bundle.c:69 builtin/pack-objects.c:3903
 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/bundle.c:72 builtin/pack-objects.c:3883
+#: builtin/bundle.c:72 builtin/pack-objects.c:3906
 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"
 
@@ -12145,112 +12404,232 @@ msgstr "chỉ điịnh định dạng cho bundle"
 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:107
+#: builtin/bundle.c:108
 msgid "do not show bundle details"
 msgstr "không hiển thị chi tiết bundle (bó)"
 
-#: builtin/bundle.c:126
+#: builtin/bundle.c:127
 #, c-format
 msgid "%s is okay\n"
 msgstr "“%s” tốt\n"
 
-#: builtin/bundle.c:182
+#: builtin/bundle.c:183
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để có thể giải nén một bundle."
 
-#: builtin/bundle.c:185
+#: builtin/bundle.c:186
 msgid "Unbundling objects"
 msgstr "Tháo rời các đối tượng"
 
-#: builtin/bundle.c:219 builtin/remote.c:1733
+#: builtin/bundle.c:220 builtin/remote.c:1758
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/cat-file.c:622
+#: builtin/cat-file.c:568
+msgid "flush is only for --buffer mode"
+msgstr "flush chỉ dành cho chế độ --buffer"
+
+#: builtin/cat-file.c:612
+msgid "empty command in input"
+msgstr "lệnh thực thi trống rỗng trong đầu vào"
+
+#: builtin/cat-file.c:614
+#, c-format
+msgid "whitespace before command: '%s'"
+msgstr "có khoảng trắng trước lệnh: '%s'"
+
+#: builtin/cat-file.c:623
+#, c-format
+msgid "%s requires arguments"
+msgstr "%s cần các tham số"
+
+#: builtin/cat-file.c:628
+#, c-format
+msgid "%s takes no arguments"
+msgstr "%s không nhận tham số"
+
+#: builtin/cat-file.c:636
+#, c-format
+msgid "unknown command: '%s'"
+msgstr "không hiểu câu lệnh: '%s'"
+
+#: builtin/cat-file.c:795
+msgid "only one batch option may be specified"
+msgstr "chỉ một tùy chọn batch được chỉ ra"
+
+#: builtin/cat-file.c:824
+msgid "git cat-file <type> <object>"
+msgstr "git cat-file <kiểu> <đối tượng>"
+
+#: builtin/cat-file.c:825
+msgid "git cat-file (-e | -p) <object>"
+msgstr "git cat-file (-e | -p) <đối tượng>"
+
+#: builtin/cat-file.c:826
+msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
+msgstr "git cat-file (-t | -s) [--allow-unknown-type] <đối_tượng>"
+
+#: builtin/cat-file.c:827
 msgid ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <type> | --textconv | --filters) [--path=<path>] <object>"
+"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
+"objects]\n"
+"             [--buffer] [--follow-symlinks] [--unordered]\n"
+"             [--textconv | --filters]"
 msgstr ""
-"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
-"p | <kiểu> | --textconv) | --filters) [--path=<đường/dẫn>] <đối_tượng>"
+"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
+"objects]\n"
+"             [--buffer] [--follow-symlinks] [--unordered]\n"
+"             [--textconv | --filters]"
 
-#: builtin/cat-file.c:623
+#: builtin/cat-file.c:830
 msgid ""
-"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-"
-"symlinks] [--textconv | --filters]"
+"git cat-file (--textconv | --filters)\n"
+"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
 msgstr ""
-"git cat-file (--batch[=<định dạng>] | --batch-check[=<định dạng>]) [--follow-"
-"symlinks] [--textconv | --filters]"
+"git cat-file (--textconv | --filters)\n"
+"             [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"
 
-#: builtin/cat-file.c:644
-msgid "only one batch option may be specified"
-msgstr "chỉ một tùy chọn batch được chỉ ra"
+#: builtin/cat-file.c:836
+msgid "Check object existence or emit object contents"
+msgstr "Kiểm tra đối tượng có sẵn hay không hoặc phát nội dung của đối tượng"
+
+#: builtin/cat-file.c:838
+msgid "check if <object> exists"
+msgstr "không tra xem <đối tượng> có sẵn hay không"
 
-#: builtin/cat-file.c:662
-msgid "<type> can be one of: blob, tree, commit, tag"
-msgstr "<kiểu> là một trong số: blob, tree, commit hoặc tag"
+#: builtin/cat-file.c:839
+msgid "pretty-print <object> content"
+msgstr "in nội dung <đối tượng> dạng dễ đọc"
 
-#: builtin/cat-file.c:663
-msgid "show object type"
-msgstr "hiển thị kiểu đối tượng"
+#: builtin/cat-file.c:841
+msgid "Emit [broken] object attributes"
+msgstr "Phát các thuộc tính đối tượng [hỏng]"
 
-#: builtin/cat-file.c:664
+#: builtin/cat-file.c:842
+msgid "show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"
+msgstr ""
+"hiển thị kiểu của đối tượng (là một trong số 'blob', 'tree', 'commit', "
+"'tag', ...)"
+
+#: builtin/cat-file.c:843
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:666
-msgid "exit with zero when there's no error"
-msgstr "thoát với 0 khi không có lỗi"
+#: builtin/cat-file.c:845
+msgid "allow -s and -t to work with broken/corrupt objects"
+msgstr "cho phép -s và -t để làm việc với các đối tượng sai/hỏng"
 
-#: builtin/cat-file.c:667
-msgid "pretty-print object's content"
-msgstr "in nội dung đối tượng dạng dễ đọc"
+#: builtin/cat-file.c:847
+msgid "Batch objects requested on stdin (or --batch-all-objects)"
+msgstr ""
+"Đã yêu cầu các đối tượng batch trên đầu vào tiêu chuẩn stdin (hoặc --batch-"
+"all-objects)"
 
-#: builtin/cat-file.c:669
-msgid "for blob objects, run textconv on object's content"
-msgstr "với đối tượng blob, chạy lệnh textconv trên nội dung của đối tượng"
+#: builtin/cat-file.c:849
+msgid "show full <object> or <rev> contents"
+msgstr "hiển thị đầy đủ nội dung <object> hay <rev>"
 
-#: builtin/cat-file.c:671
-msgid "for blob objects, run filters on object's content"
-msgstr "với đối tượng blob, chạy các bộ lọc nội dung của đối tượng"
+#: builtin/cat-file.c:853
+msgid "like --batch, but don't emit <contents>"
+msgstr "giống --batch, nhưng không phát ra <contents>"
 
-#: builtin/cat-file.c:672
-msgid "blob"
-msgstr "blob"
+#: builtin/cat-file.c:857
+msgid "read commands from stdin"
+msgstr "đọc các lệnh từ đầu vào tiêu chuẩn"
 
-#: builtin/cat-file.c:673
-msgid "use a specific path for --textconv/--filters"
-msgstr "dùng một đường dẫn rõ ràng cho --textconv/--filters"
+#: builtin/cat-file.c:861
+msgid "with --batch[-check]: ignores stdin, batches all known objects"
+msgstr ""
+"với --batch[-check]: bỏ qua đầu vào tiêu chuẩn stdin, batch mọi đối tượng đã "
+"biết"
 
-#: builtin/cat-file.c:675
-msgid "allow -s and -t to work with broken/corrupt objects"
-msgstr "cho phép -s và -t để làm việc với các đối tượng sai/hỏng"
+#: builtin/cat-file.c:863
+msgid "Change or optimize batch output"
+msgstr "Thay đổi hay tối ưu hóa đầu ra batch"
 
-#: builtin/cat-file.c:676
+#: builtin/cat-file.c:864
 msgid "buffer --batch output"
 msgstr "đệm kết xuất --batch"
 
-#: builtin/cat-file.c:678
-msgid "show info and content of objects fed from the standard input"
+#: builtin/cat-file.c:866
+msgid "follow in-tree symlinks"
+msgstr "theo liên kết mềm trong-cây"
+
+#: builtin/cat-file.c:868
+msgid "do not order objects before emitting them"
+msgstr "đừng sắp xếp các đối tượng trước khi phát chúng"
+
+#: builtin/cat-file.c:870
+msgid ""
+"Emit object (blob or tree) with conversion or filter (stand-alone, or with "
+"batch)"
 msgstr ""
-"hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
+"Phát đối tượng (blob hoặc cây) với bộ chuyển đổi hoặc bộ lọc (stand-alone, "
+"hoặc với batch)"
 
-#: builtin/cat-file.c:682
-msgid "show info about objects fed from the standard input"
-msgstr "hiển thị các thông tin về đối tượng fed  từ đầu vào tiêu chuẩn"
+#: builtin/cat-file.c:872
+msgid "run textconv on object's content"
+msgstr "chạy lệnh textconv trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:686
-msgid "follow in-tree symlinks (used with --batch or --batch-check)"
-msgstr "theo liên kết mềm trong-cây (được dùng với --batch hay --batch-check)"
+#: builtin/cat-file.c:874
+msgid "run filters on object's content"
+msgstr "chạy các bộ lọc nội dung của đối tượng"
 
-#: builtin/cat-file.c:688
-msgid "show all objects with --batch or --batch-check"
-msgstr "hiển thị mọi đối tượng với --batch hay --batch-check"
+#: builtin/cat-file.c:875
+msgid "blob|tree"
+msgstr "blob|tree"
 
-#: builtin/cat-file.c:690
-msgid "do not order --batch-all-objects output"
-msgstr "đừng sắp xếp đầu ra --batch-all-objects"
+#: builtin/cat-file.c:876
+msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
+msgstr ""
+"dùng một </đường/dẫn/> rõ ràng cho (--textconv/--filters); Không với 'batch'"
+
+#: builtin/cat-file.c:894
+#, c-format
+msgid "'%s=<%s>' needs '%s' or '%s'"
+msgstr "'%s=<%s>' cần '%s' hoặc '%s'"
+
+#: builtin/cat-file.c:896
+msgid "path|tree-ish"
+msgstr "path|tree-ish"
+
+#: builtin/cat-file.c:903 builtin/cat-file.c:906 builtin/cat-file.c:909
+#, c-format
+msgid "'%s' requires a batch mode"
+msgstr "“%s” cần một chế độ batch"
+
+#: builtin/cat-file.c:921
+#, c-format
+msgid "'-%c' is incompatible with batch mode"
+msgstr "'-%c' là xung khắc với chế độ batch"
+
+#: builtin/cat-file.c:924
+msgid "batch modes take no arguments"
+msgstr "chế độ batch không nhận các đối số"
+
+#: builtin/cat-file.c:932 builtin/cat-file.c:935
+#, c-format
+msgid "<rev> required with '%s'"
+msgstr "cần <rev> với '%s'"
+
+#: builtin/cat-file.c:938
+#, c-format
+msgid "<object> required with '-%c'"
+msgstr "cần <object> với '-%c'"
+
+#: builtin/cat-file.c:943 builtin/notes.c:374 builtin/notes.c:429
+#: builtin/notes.c:507 builtin/notes.c:519 builtin/notes.c:596
+#: builtin/notes.c:663 builtin/notes.c:813 builtin/notes.c:965
+#: builtin/notes.c:987 builtin/prune-packed.c:25 builtin/receive-pack.c:2489
+#: builtin/tag.c:592
+msgid "too many arguments"
+msgstr "có quá nhiều đối số"
+
+#: builtin/cat-file.c:947
+#, c-format
+msgid "only two arguments allowed in <type> <object> mode, not %d"
+msgstr "chỉ hai đối số được phép trong chế độ <type> <object>, không phải %d"
 
 #: builtin/check-attr.c:13
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
@@ -12268,7 +12647,7 @@ msgstr "báo cáo tất cả các thuộc tính đặt trên tập tin"
 msgid "use .gitattributes only from the index"
 msgstr "chỉ dùng .gitattributes từ bảng mục lục"
 
-#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:100
+#: builtin/check-attr.c:23 builtin/check-ignore.c:25 builtin/hash-object.c:101
 msgid "read file names from stdin"
 msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
@@ -12276,8 +12655,8 @@ 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:21 builtin/checkout.c:1532 builtin/gc.c:550
-#: builtin/worktree.c:493
+#: builtin/check-ignore.c:21 builtin/checkout.c:1550 builtin/gc.c:550
+#: builtin/worktree.c:565
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -12334,160 +12713,164 @@ msgstr "chưa chỉ ra danh bạ"
 msgid "git checkout--worker [<options>]"
 msgstr "git checkout--worker [<các tùy chọn>]"
 
-#: builtin/checkout--worker.c:118 builtin/checkout-index.c:201
-#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1864
-#: builtin/submodule--helper.c:1867 builtin/submodule--helper.c:1875
-#: builtin/submodule--helper.c:2511 builtin/submodule--helper.c:2577
-#: builtin/worktree.c:491 builtin/worktree.c:728
+#: builtin/checkout--worker.c:118 builtin/checkout-index.c:235
+#: builtin/column.c:31 builtin/column.c:32 builtin/submodule--helper.c:1878
+#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:1889
+#: builtin/submodule--helper.c:2716 builtin/worktree.c:563
+#: builtin/worktree.c:808
 msgid "string"
 msgstr "chuỗi"
 
-#: builtin/checkout--worker.c:119 builtin/checkout-index.c:202
+#: builtin/checkout--worker.c:119 builtin/checkout-index.c:236
 msgid "when creating files, prepend <string>"
 msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 
-#: builtin/checkout-index.c:152
+#: builtin/checkout-index.c:184
 msgid "git checkout-index [<options>] [--] [<file>...]"
 msgstr "git checkout-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
-#: builtin/checkout-index.c:169
+#: builtin/checkout-index.c:201
 msgid "stage should be between 1 and 3 or all"
 msgstr "stage nên giữa 1 và 3 hay all"
 
-#: builtin/checkout-index.c:187
+#: builtin/checkout-index.c:219
 msgid "check out all files in the index"
 msgstr "lấy ra toàn bộ các tập tin trong bảng mục lục"
 
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:221
+msgid "do not skip files with skip-worktree set"
+msgstr "đừng bỏ qua các tập tin với skip-worktree được đặt"
+
+#: builtin/checkout-index.c:222
 msgid "force overwrite of existing files"
 msgstr "ép buộc ghi đè lên tập tin đã sẵn có từ trước"
 
-#: builtin/checkout-index.c:190
+#: builtin/checkout-index.c:224
 msgid "no warning for existing files and files not in index"
 msgstr ""
 "không cảnh báo cho những tập tin tồn tại và không có trong bảng mục lục"
 
-#: builtin/checkout-index.c:192
+#: builtin/checkout-index.c:226
 msgid "don't checkout new files"
 msgstr "không checkout các tập tin mới"
 
-#: builtin/checkout-index.c:194
+#: builtin/checkout-index.c:228
 msgid "update stat information in the index file"
 msgstr "cập nhật thông tin thống kê trong tập tin lưu bảng mục lục mới"
 
-#: builtin/checkout-index.c:198
+#: builtin/checkout-index.c:232
 msgid "read list of paths from the standard input"
 msgstr "đọc danh sách đường dẫn từ đầu vào tiêu chuẩn"
 
-#: builtin/checkout-index.c:200
+#: builtin/checkout-index.c:234
 msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
-#: builtin/checkout-index.c:204
+#: builtin/checkout-index.c:238
 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:33
+#: builtin/checkout.c:34
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<các tùy chọn>] <nhánh>"
 
-#: builtin/checkout.c:34
+#: builtin/checkout.c:35
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<các tùy chọn>] [<nhánh>] -- <tập-tin>…"
 
-#: builtin/checkout.c:39
+#: builtin/checkout.c:40
 msgid "git switch [<options>] [<branch>]"
 msgstr "git switch [<các tùy chọn>] [<nhánh>]"
 
-#: builtin/checkout.c:44
+#: builtin/checkout.c:45
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<các tùy chọn>] [--source=<nhánh>] <tập tin>…"
 
-#: builtin/checkout.c:198 builtin/checkout.c:237
+#: builtin/checkout.c:199 builtin/checkout.c:238
 #, 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:200 builtin/checkout.c:239
+#: builtin/checkout.c:201 builtin/checkout.c:240
 #, 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:216
+#: builtin/checkout.c:217
 #, 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:269
+#: builtin/checkout.c:271
 #, 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:286
+#: builtin/checkout.c:291
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:302
+#: builtin/checkout.c:307
 #, 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:419
+#: builtin/checkout.c:424
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "Đã tạo lại %d xung đột hòa trộn"
 
-#: builtin/checkout.c:424
+#: builtin/checkout.c:429
 #, c-format
 msgid "Updated %d path from %s"
 msgid_plural "Updated %d paths from %s"
 msgstr[0] "Đã cập nhật đường dẫn %d từ %s"
 
-#: builtin/checkout.c:431
+#: builtin/checkout.c:436
 #, c-format
 msgid "Updated %d path from the index"
 msgid_plural "Updated %d paths from the index"
 msgstr[0] "Đã cập nhật đường dẫn %d từ mục lục"
 
-#: builtin/checkout.c:454 builtin/checkout.c:457 builtin/checkout.c:460
-#: builtin/checkout.c:464
+#: builtin/checkout.c:459 builtin/checkout.c:462 builtin/checkout.c:465
+#: builtin/checkout.c:469
 #, 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:474
+#: builtin/checkout.c:479
 #, 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:478
+#: builtin/checkout.c:483
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "không chỉ định “%s” cũng không “%s”"
 
-#: builtin/checkout.c:482
+#: builtin/checkout.c:487
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "phải có “%s” khi không chỉ định “%s”"
 
-#: builtin/checkout.c:487 builtin/checkout.c:492
+#: builtin/checkout.c:492 builtin/checkout.c:497
 #, c-format
 msgid "'%s' or '%s' cannot be used with %s"
 msgstr "“%s” hay “%s” không thể được sử dụng với %s"
 
-#: builtin/checkout.c:566 builtin/checkout.c:573
+#: builtin/checkout.c:571 builtin/checkout.c:578
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:747
+#: builtin/checkout.c:753
 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:797
+#: builtin/checkout.c:809
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -12497,50 +12880,50 @@ msgstr ""
 "sau:\n"
 "%s"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:902
 #, 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:934
+#: builtin/checkout.c:947
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:938 builtin/clone.c:609 t/helper/test-fast-rebase.c:203
+#: builtin/checkout.c:951 builtin/clone.c:615 t/helper/test-fast-rebase.c:203
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:942
+#: builtin/checkout.c:955
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:958
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:949
+#: builtin/checkout.c:962
 #, 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:951 builtin/checkout.c:1388
+#: builtin/checkout.c:964 builtin/checkout.c:1398
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:953
+#: builtin/checkout.c:966
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:1004
+#: builtin/checkout.c:1017
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:1010
+#: builtin/checkout.c:1023
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -12559,7 +12942,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:1029
+#: builtin/checkout.c:1042
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -12580,19 +12963,19 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:1064
+#: builtin/checkout.c:1077
 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:1068
+#: builtin/checkout.c:1081
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:1114 builtin/checkout.c:1383
+#: builtin/checkout.c:1124 builtin/checkout.c:1393
 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:1196
+#: builtin/checkout.c:1206
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -12601,7 +12984,7 @@ msgstr ""
 "“%s” không thể là cả tập tin nội bộ và một nhánh theo dõi.\n"
 "Vui long dùng -- (và tùy chọn thêm --no-guess) để tránh lẫn lộn"
 
-#: builtin/checkout.c:1203
+#: builtin/checkout.c:1213
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
@@ -12621,51 +13004,58 @@ msgstr ""
 "chưa rõ ràng, ví dụ máy chủ “origin”, cân nhắc cài đặt\n"
 "checkout.defaultRemote=origin trong cấu hình của bạn."
 
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1223
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
 msgstr "“%s” khớp với nhiều (%d) nhánh máy chủ được theo dõi"
 
-#: builtin/checkout.c:1279
+#: builtin/checkout.c:1289
 msgid "only one reference expected"
 msgstr "chỉ cần một tham chiếu"
 
-#: builtin/checkout.c:1296
+#: builtin/checkout.c:1306
 #, 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:1342 builtin/worktree.c:269 builtin/worktree.c:436
+#: builtin/checkout.c:1352 builtin/worktree.c:338 builtin/worktree.c:508
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1355 builtin/checkout.c:1725
+#: builtin/checkout.c:1365 builtin/checkout.c:1744
 #, 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:1402
+#: builtin/checkout.c:1413
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được thẻ “%s”"
 
-#: builtin/checkout.c:1404
+#: builtin/checkout.c:1415
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được nhánh máy phục vụ “%s”"
 
-#: builtin/checkout.c:1405 builtin/checkout.c:1413
+#: builtin/checkout.c:1417 builtin/checkout.c:1426
 #, c-format
 msgid "a branch is expected, got '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1408
+#: builtin/checkout.c:1420
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "cần một nhánh, nhưng lại nhận được “%s”"
 
-#: builtin/checkout.c:1424
+#: builtin/checkout.c:1429
+msgid ""
+"If you want to detach HEAD at the commit, try again with the --detach option."
+msgstr ""
+"Nếu bạn muốn tách rời HEAD ở lần chuyển giao, hay thử lại với tùy chọn --"
+"detach."
+
+#: builtin/checkout.c:1442
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -12673,7 +13063,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi đang hòa trộn\n"
 "Cân nhắc dung \"git merge --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1428
+#: builtin/checkout.c:1446
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -12681,7 +13071,7 @@ msgstr ""
 "không thể chuyển nhanh ở giữa một phiên am\n"
 "Cân nhắc dùng \"git am --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1432
+#: builtin/checkout.c:1450
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -12689,7 +13079,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi cải tổ\n"
 "Cân nhắc dùng \"git rebase --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1436
+#: builtin/checkout.c:1454
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -12697,7 +13087,7 @@ msgstr ""
 "không thể chuyển nhánh trong khi  cherry-picking\n"
 "Cân nhắc dùng \"git cherry-pick --quit\" hay \"git worktree add\"."
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1458
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -12705,131 +13095,127 @@ msgstr ""
 "không thể chuyển nhánh trong khi hoàn nguyên\n"
 "Cân nhắc dùng \"git revert --quit\" hoặc \"git worktree add\"."
 
-#: builtin/checkout.c:1444
+#: builtin/checkout.c:1462
 msgid "you are switching branch while bisecting"
 msgstr ""
 "bạn hiện tại đang thực hiện việc chuyển nhánh trong khi đang di chuyển nửa "
 "bước"
 
-#: builtin/checkout.c:1451
+#: builtin/checkout.c:1469
 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:1454 builtin/checkout.c:1458 builtin/checkout.c:1462
+#: builtin/checkout.c:1472 builtin/checkout.c:1476 builtin/checkout.c:1480
 #, 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:1466 builtin/checkout.c:1469 builtin/checkout.c:1472
-#: builtin/checkout.c:1477 builtin/checkout.c:1482
+#: builtin/checkout.c:1484 builtin/checkout.c:1487 builtin/checkout.c:1490
+#: builtin/checkout.c:1495 builtin/checkout.c:1500
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1479
+#: builtin/checkout.c:1497
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "“%s” không thể nhận <điểm-đầu>"
 
-#: builtin/checkout.c:1487
+#: builtin/checkout.c:1505
 #, 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:1494
+#: builtin/checkout.c:1512
 msgid "missing branch or commit argument"
 msgstr "thiếu tham số là nhánh hoặc lần chuyển giao"
 
-#: builtin/checkout.c:1537
+#: builtin/checkout.c:1555
 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:1538 builtin/log.c:1825 parse-options.h:323
+#: builtin/checkout.c:1556 builtin/log.c:1844 parse-options.h:354
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1539
+#: builtin/checkout.c:1557
 msgid "conflict style (merge, diff3, or zdiff3)"
 msgstr "xung đột kiểu (hòa trộn, diff3 hoặc zdiff3)"
 
-#: builtin/checkout.c:1551 builtin/worktree.c:488
+#: builtin/checkout.c:1569 builtin/worktree.c:560
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1553
-msgid "set up tracking mode (see git-pull(1))"
-msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
-
-#: builtin/checkout.c:1556
+#: builtin/checkout.c:1574
 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:1558
+#: builtin/checkout.c:1576
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1558
+#: builtin/checkout.c:1576
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1560 builtin/merge.c:305
+#: builtin/checkout.c:1578 builtin/merge.c:305
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1563
+#: builtin/checkout.c:1581
 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:1576
+#: builtin/checkout.c:1594
 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:1579
+#: builtin/checkout.c:1597
 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:1583
+#: builtin/checkout.c:1601
 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 rải rác"
 
-#: builtin/checkout.c:1640
+#: builtin/checkout.c:1659
 #, c-format
 msgid "options '-%c', '-%c', and '%s' cannot be used together"
 msgstr "tùy chọn '-%c', '-%c' và '%s' không thể dùng cùng nhau"
 
-#: builtin/checkout.c:1681
+#: builtin/checkout.c:1700
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1686
+#: builtin/checkout.c:1705
 #, c-format
 msgid "missing branch name; try -%c"
 msgstr "thiếu tên nhánh; hãy thử -%c"
 
-#: builtin/checkout.c:1718
+#: builtin/checkout.c:1737
 #, c-format
 msgid "could not resolve %s"
 msgstr "không thể phân giải “%s”"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1753
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1741
+#: builtin/checkout.c:1760
 #, c-format
 msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
 msgstr ""
 "“%s” không phải là một lần chuyển giao và một nhánh'%s” không thể được tạo "
 "từ đó"
 
-#: builtin/checkout.c:1745
+#: builtin/checkout.c:1764
 #, 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:1770
+#: builtin/checkout.c:1789
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -12837,71 +13223,71 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/checkout.c:1775
+#: builtin/checkout.c:1794
 msgid "you must specify path(s) to restore"
 msgstr "bạn phải chỉ định các thư mục muốn hồi phục"
 
-#: builtin/checkout.c:1800 builtin/checkout.c:1802 builtin/checkout.c:1854
-#: builtin/checkout.c:1856 builtin/clone.c:126 builtin/remote.c:170
-#: builtin/remote.c:172 builtin/submodule--helper.c:2959
-#: builtin/submodule--helper.c:3253 builtin/worktree.c:484
-#: builtin/worktree.c:486
+#: builtin/checkout.c:1819 builtin/checkout.c:1821 builtin/checkout.c:1873
+#: builtin/checkout.c:1875 builtin/clone.c:130 builtin/remote.c:171
+#: builtin/remote.c:173 builtin/submodule--helper.c:3038
+#: builtin/submodule--helper.c:3371 builtin/worktree.c:556
+#: builtin/worktree.c:558
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1801
+#: builtin/checkout.c:1820
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1803
+#: builtin/checkout.c:1822
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1804
+#: builtin/checkout.c:1823
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1806
+#: builtin/checkout.c:1825
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr "gợi ý thứ hai “git checkout <không-nhánh-nào-như-vậy>” (mặc định)"
 
-#: builtin/checkout.c:1807
+#: builtin/checkout.c:1826
 msgid "use overlay mode (default)"
 msgstr "dùng chế độ che phủ (mặc định)"
 
-#: builtin/checkout.c:1855
+#: builtin/checkout.c:1874
 msgid "create and switch to a new branch"
 msgstr "tạo và chuyển đến một nhánh mới"
 
-#: builtin/checkout.c:1857
+#: builtin/checkout.c:1876
 msgid "create/reset and switch to a branch"
 msgstr "tạo/đặt_lại và chuyển đến một nhánh"
 
-#: builtin/checkout.c:1859
+#: builtin/checkout.c:1878
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git switch <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1861
+#: builtin/checkout.c:1880
 msgid "throw away local modifications"
 msgstr "vứt bỏ các sửa đổi địa phương"
 
-#: builtin/checkout.c:1897
+#: builtin/checkout.c:1916
 msgid "which tree-ish to checkout from"
 msgstr "lấy ra từ tree-ish nào"
 
-#: builtin/checkout.c:1899
+#: builtin/checkout.c:1918
 msgid "restore the index"
 msgstr "phục hồi bảng mục lục"
 
-#: builtin/checkout.c:1901
+#: builtin/checkout.c:1920
 msgid "restore the working tree (default)"
 msgstr "phục hồi cây làm việc (mặc định)"
 
-#: builtin/checkout.c:1903
+#: builtin/checkout.c:1922
 msgid "ignore unmerged entries"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s"
 
-#: builtin/checkout.c:1904
+#: builtin/checkout.c:1923
 msgid "use overlay mode"
 msgstr "dùng chế độ che phủ"
 
@@ -13049,8 +13435,8 @@ msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
 #: builtin/clean.c:932 builtin/describe.c:565 builtin/describe.c:567
-#: builtin/grep.c:937 builtin/log.c:184 builtin/log.c:186
-#: builtin/ls-files.c:651 builtin/name-rev.c:535 builtin/name-rev.c:537
+#: builtin/grep.c:938 builtin/log.c:185 builtin/log.c:187
+#: builtin/ls-files.c:651 builtin/name-rev.c:585 builtin/name-rev.c:587
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
@@ -13087,210 +13473,214 @@ msgstr ""
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clone.c:45
+#: builtin/clone.c:47
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các tùy chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:100
 msgid "don't clone shallow repository"
 msgstr "đừng nhân bản từ kho nông"
 
-#: builtin/clone.c:98
+#: builtin/clone.c:102
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:99 builtin/clone.c:101 builtin/init-db.c:542
+#: builtin/clone.c:103 builtin/clone.c:105 builtin/init-db.c:542
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:103
+#: builtin/clone.c:107
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:105
+#: builtin/clone.c:109
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:111
 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:109
+#: builtin/clone.c:113
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:111
+#: builtin/clone.c:115
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:115
+#: builtin/clone.c:119
 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:116 builtin/init-db.c:539
+#: builtin/clone.c:120 builtin/init-db.c:539
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:117 builtin/init-db.c:540
+#: builtin/clone.c:121 builtin/init-db.c:540
 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:119 builtin/clone.c:121 builtin/submodule--helper.c:1871
-#: builtin/submodule--helper.c:2514 builtin/submodule--helper.c:3260
+#: builtin/clone.c:123 builtin/clone.c:125 builtin/submodule--helper.c:1885
+#: builtin/submodule--helper.c:2719 builtin/submodule--helper.c:3378
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:123 builtin/submodule--helper.c:1873
-#: builtin/submodule--helper.c:2516
+#: builtin/clone.c:127 builtin/submodule--helper.c:1887
+#: builtin/submodule--helper.c:2721
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: builtin/clone.c:124 builtin/column.c:27 builtin/fmt-merge-msg.c:27
+#: builtin/clone.c:128 builtin/column.c:27 builtin/fmt-merge-msg.c:27
 #: builtin/init-db.c:550 builtin/merge-file.c:48 builtin/merge.c:290
-#: builtin/pack-objects.c:3944 builtin/repack.c:665
-#: builtin/submodule--helper.c:3262 t/helper/test-simple-ipc.c:595
+#: builtin/pack-objects.c:3967 builtin/repack.c:669
+#: builtin/submodule--helper.c:3380 t/helper/test-simple-ipc.c:595
 #: t/helper/test-simple-ipc.c:597
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:129
 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:127
+#: builtin/clone.c:131
 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:129
+#: builtin/clone.c:133
 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:130 builtin/fetch.c:181 builtin/grep.c:876
+#: builtin/clone.c:134 builtin/fetch.c:182 builtin/grep.c:877
 #: builtin/pull.c:212
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:131
+#: builtin/clone.c:135
 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:132 builtin/fetch.c:183 builtin/pack-objects.c:3933
+#: builtin/clone.c:136 builtin/fetch.c:184 builtin/pack-objects.c:3956
 #: builtin/pull.c:215
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:133
+#: builtin/clone.c:137
 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:134 builtin/fetch.c:185 builtin/fetch.c:208
-#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1022
+#: builtin/clone.c:138 builtin/fetch.c:186 builtin/fetch.c:212
+#: builtin/pull.c:218 builtin/pull.c:243 builtin/rebase.c:1050
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:135 builtin/fetch.c:186 builtin/pull.c:219
+#: builtin/clone.c:139 builtin/fetch.c:187 builtin/pull.c:219
 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:137 builtin/submodule--helper.c:1883
-#: builtin/submodule--helper.c:2530
+#: builtin/clone.c:141 builtin/submodule--helper.c:1897
+#: builtin/submodule--helper.c:2735
 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:139
+#: builtin/clone.c:143
 msgid "don't clone any tags, and make later fetches not to follow them"
 msgstr ""
 "đứng có nhân bản bất kỳ nhánh nào, và làm cho những lần lấy về sau không "
 "theo chúng nữa"
 
-#: builtin/clone.c:141
+#: builtin/clone.c:145
 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:142 builtin/init-db.c:548
+#: builtin/clone.c:146 builtin/init-db.c:548
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:143 builtin/init-db.c:549
+#: builtin/clone.c:147 builtin/init-db.c:549
 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:144
+#: builtin/clone.c:148
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:145
+#: builtin/clone.c:149
 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:147 builtin/fetch.c:203 builtin/ls-remote.c:77
+#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
 #: builtin/pull.c:234 builtin/push.c:575 builtin/send-pack.c:200
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/clone.c:147 builtin/fetch.c:203 builtin/ls-remote.c:77
+#: builtin/clone.c:151 builtin/fetch.c:207 builtin/ls-remote.c:77
 #: builtin/pull.c:235 builtin/push.c:575 builtin/send-pack.c:201
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/clone.c:148 builtin/fetch.c:204 builtin/pull.c:238
+#: builtin/clone.c:152 builtin/fetch.c:208 builtin/pull.c:238
 #: builtin/push.c:576
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:150 builtin/fetch.c:206 builtin/pull.c:241
+#: builtin/clone.c:154 builtin/fetch.c:210 builtin/pull.c:241
 #: builtin/push.c:578
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:154
+#: builtin/clone.c:158
+msgid "apply partial clone filters to submodules"
+msgstr "áp dụng các bộ lọc nhân bản một phần cho mô-đun-con"
+
+#: builtin/clone.c:160
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "mọi mô-đun-con nhân bản sẽ dung nhánh theo dõi máy chủ của chúng"
 
-#: builtin/clone.c:156
+#: builtin/clone.c:162
 msgid "initialize sparse-checkout file to include only files at root"
 msgstr "khởi tạo tập tin sparse-checkout để bao gồm chỉ các tập tin ở gốc"
 
-#: builtin/clone.c:231
+#: builtin/clone.c:237
 #, 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:304
+#: builtin/clone.c:310
 #, 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:322
+#: builtin/clone.c:328
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "gặp lỗi khi bắt đầu lặp qua “%s”"
 
-#: builtin/clone.c:353
+#: builtin/clone.c:359
 #, 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:357
+#: builtin/clone.c:363
 #, 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:362
+#: builtin/clone.c:368
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "gặp lỗi khi lặp qua “%s”"
 
-#: builtin/clone.c:389
+#: builtin/clone.c:395
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:403
+#: builtin/clone.c:409
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -13300,101 +13690,101 @@ 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 restore --source=HEAD :/”\n"
 
-#: builtin/clone.c:480
+#: builtin/clone.c:486
 #, 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:597
+#: builtin/clone.c:603
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:645
+#: builtin/clone.c:651
 msgid "failed to initialize sparse-checkout"
 msgstr "gặp lỗi khi khởi tạo sparse-checkout"
 
-#: builtin/clone.c:668
+#: builtin/clone.c:674
 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:701
+#: builtin/clone.c:709
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:779
+#: builtin/clone.c:793
 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:842
+#: builtin/clone.c:856
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:844
+#: builtin/clone.c:858
 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:886
+#: builtin/clone.c:901
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:890 contrib/scalar/scalar.c:414
+#: builtin/clone.c:905 contrib/scalar/scalar.c:413
 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:903
+#: builtin/clone.c:918
 #, c-format
 msgid "options '%s' and '%s %s' cannot be used together"
 msgstr "tùy chọn '%s', và '%s %s' không thể dùng cùng nhau"
 
-#: builtin/clone.c:920
+#: builtin/clone.c:935
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:924 builtin/fetch.c:2052
+#: builtin/clone.c:939 builtin/fetch.c:2176
 #, 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:934
+#: builtin/clone.c:949
 #, 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:940
+#: builtin/clone.c:955
 #, c-format
 msgid "repository path '%s' already exists and is not an empty directory."
 msgstr ""
 "đường dẫn kho chứa “%s” đã có từ trước và không phải là một thư mục rỗng."
 
-#: builtin/clone.c:954
+#: builtin/clone.c:969
 #, 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:969 builtin/clone.c:990 builtin/difftool.c:256
-#: builtin/log.c:2012 builtin/worktree.c:281 builtin/worktree.c:313
+#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:256
+#: builtin/log.c:2037 builtin/worktree.c:350 builtin/worktree.c:382
 #, 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:974
+#: builtin/clone.c:989
 #, 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:994
+#: builtin/clone.c:1009
 #, 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:996
+#: builtin/clone.c:1011
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1025
+#: builtin/clone.c:1040
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -13402,50 +13792,54 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1080 builtin/remote.c:200 builtin/remote.c:710
+#: builtin/clone.c:1116 builtin/remote.c:201 builtin/remote.c:721
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
 
-#: builtin/clone.c:1121
+#: builtin/clone.c:1157
 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:1123
+#: builtin/clone.c:1159
 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:1125
+#: builtin/clone.c:1161
 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:1127
+#: builtin/clone.c:1163
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr ""
 "--filter bị lờ đi khi nhân bản nội bộ; hãy sử dụng file:// để thay thế."
 
-#: builtin/clone.c:1132
+#: builtin/clone.c:1168
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1137
+#: builtin/clone.c:1173
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1216 builtin/clone.c:1276
+#: builtin/clone.c:1185
+msgid "cannot clone from filtered bundle"
+msgstr "không thể nhân bản từ bundle được lọc ra"
+
+#: builtin/clone.c:1265 builtin/clone.c:1324
 msgid "remote transport reported error"
 msgstr "vận chuyển máy mạng đã báo cáo lỗi"
 
-#: builtin/clone.c:1228 builtin/clone.c:1239
+#: builtin/clone.c:1277 builtin/clone.c:1289
 #, 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:1242
+#: builtin/clone.c:1292
 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."
 
@@ -13499,7 +13893,7 @@ msgstr ""
 "paths] [--[no-]max-new-filters <n>] [--[no-]progress] <các tùy chọn chia "
 "tách>"
 
-#: builtin/commit-graph.c:51 builtin/fetch.c:192 builtin/log.c:1794
+#: builtin/commit-graph.c:51 builtin/fetch.c:196 builtin/log.c:1813
 msgid "dir"
 msgstr "tmục"
 
@@ -13606,7 +14000,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "cha mẹ bị trùng lặp %s đã bị bỏ qua"
 
-#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:577
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:134 builtin/log.c:590
 #, c-format
 msgid "not a valid object name %s"
 msgstr "không phải là tên đối tượng hợp lệ “%s”"
@@ -13629,13 +14023,13 @@ msgstr "cha-mẹ"
 msgid "id of a parent commit object"
 msgstr "mã số của đối tượng chuyển giao cha mẹ"
 
-#: builtin/commit-tree.c:112 builtin/commit.c:1627 builtin/merge.c:284
-#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1677
-#: builtin/tag.c:454
+#: builtin/commit-tree.c:112 builtin/commit.c:1626 builtin/merge.c:284
+#: builtin/notes.c:407 builtin/notes.c:573 builtin/stash.c:1666
+#: builtin/tag.c:455
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit-tree.c:113 builtin/commit.c:1627
+#: builtin/commit-tree.c:113 builtin/commit.c:1626
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
@@ -13643,7 +14037,7 @@ msgstr "chú thích của lần chuyển giao"
 msgid "read commit log message from file"
 msgstr "đọc chú thích nhật ký lần chuyển giao từ tập tin"
 
-#: builtin/commit-tree.c:119 builtin/commit.c:1644 builtin/merge.c:303
+#: builtin/commit-tree.c:119 builtin/commit.c:1643 builtin/merge.c:303
 #: builtin/pull.c:180 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Ký lần chuyển giao dùng GPG"
@@ -13656,15 +14050,15 @@ msgstr "phải đưa ra chính xác một cây"
 msgid "git commit-tree: failed to read"
 msgstr "git commit-tree: gặp lỗi khi đọc"
 
-#: builtin/commit.c:42
+#: builtin/commit.c:43
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<các tùy chọn>] [--] <pathspec>…"
 
-#: builtin/commit.c:47
+#: builtin/commit.c:48
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<các tùy chọn>] [--] <pathspec>…"
 
-#: builtin/commit.c:52
+#: builtin/commit.c:53
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -13677,7 +14071,7 @@ msgstr ""
 "hoặc là bạn gỡ bỏ các lần chuyển giao một cách hoàn toàn bằng lệnh:\n"
 "\"git reset HEAD^\".\n"
 
-#: builtin/commit.c:57
+#: builtin/commit.c:58
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -13692,15 +14086,15 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:64
+#: builtin/commit.c:65
 msgid "Otherwise, please use 'git rebase --skip'\n"
 msgstr "Nếu không được thì dùng lệnh \"git rebase --skip\"\n"
 
-#: builtin/commit.c:67
+#: builtin/commit.c:68
 msgid "Otherwise, please use 'git cherry-pick --skip'\n"
 msgstr "Nếu không được thì dùng lệnh \"git cherry-pick --skip\"\n"
 
-#: builtin/commit.c:70
+#: builtin/commit.c:71
 msgid ""
 "and then use:\n"
 "\n"
@@ -13722,72 +14116,72 @@ msgstr ""
 "    git cherry-pick --skip\n"
 "\n"
 
-#: builtin/commit.c:325
+#: builtin/commit.c:326
 msgid "failed to unpack HEAD tree object"
 msgstr "gặp lỗi khi tháo dỡ HEAD đối tượng cây"
 
-#: builtin/commit.c:375
+#: builtin/commit.c:376
 msgid "No paths with --include/--only does not make sense."
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
-#: builtin/commit.c:387
+#: builtin/commit.c:388
 msgid "unable to create temporary index"
 msgstr "không thể tạo bảng mục lục tạm thời"
 
-#: builtin/commit.c:396
+#: builtin/commit.c:397
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:411
+#: builtin/commit.c:412
 msgid "unable to update temporary index"
 msgstr "không thể cập nhật bảng mục lục tạm thời"
 
-#: builtin/commit.c:413
+#: builtin/commit.c:414
 msgid "Failed to update main cache tree"
 msgstr "Gặp lỗi khi cập nhật cây bộ nhớ đệm"
 
-#: builtin/commit.c:438 builtin/commit.c:461 builtin/commit.c:509
+#: builtin/commit.c:439 builtin/commit.c:462 builtin/commit.c:510
 msgid "unable to write new_index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục mới (new_index)"
 
-#: builtin/commit.c:490
+#: builtin/commit.c:491
 msgid "cannot do a partial commit during a merge."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang được hòa trộn."
 
-#: builtin/commit.c:492
+#: builtin/commit.c:493
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "không thể thực hiện việc chuyển giao bộ phận trong khi đang cherry-pick."
 
-#: builtin/commit.c:494
+#: builtin/commit.c:495
 msgid "cannot do a partial commit during a rebase."
 msgstr ""
 "không thể thực hiện việc chuyển giao cục bộ trong khi đang thực hiện cải tổ."
 
-#: builtin/commit.c:502
+#: builtin/commit.c:503
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:521
+#: builtin/commit.c:522
 msgid "unable to write temporary index file"
 msgstr "không thể ghi tập tin lưu bảng mục lục tạm thời"
 
-#: builtin/commit.c:619
+#: builtin/commit.c:620
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "lần chuyển giao “%s” thiếu phần tác giả ở đầu"
 
-#: builtin/commit.c:621
+#: builtin/commit.c:622
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "lần chuyển giao “%s” có phần tác giả ở đầu dị dạng"
 
-#: builtin/commit.c:640
+#: builtin/commit.c:641
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:693
+#: builtin/commit.c:694
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -13795,43 +14189,43 @@ msgstr ""
 "không thể chọn một ký tự ghi chú cái mà không được dùng\n"
 "trong phần ghi chú hiện tại"
 
-#: builtin/commit.c:747 builtin/commit.c:781 builtin/commit.c:1166
+#: builtin/commit.c:750 builtin/commit.c:784 builtin/commit.c:1170
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:759 builtin/shortlog.c:416
+#: builtin/commit.c:762 builtin/shortlog.c:417
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
 
-#: builtin/commit.c:761
+#: builtin/commit.c:764
 msgid "could not read log from standard input"
 msgstr "không thể đọc nhật ký từ đầu vào tiêu chuẩn"
 
-#: builtin/commit.c:765
+#: builtin/commit.c:768
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:802
+#: builtin/commit.c:805
 #, c-format
 msgid "options '%s' and '%s:%s' cannot be used together"
 msgstr "tùy chọn '%s', và '%s:%s' không thể dùng cùng nhau"
 
-#: builtin/commit.c:814 builtin/commit.c:830
+#: builtin/commit.c:817 builtin/commit.c:833
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:821
+#: builtin/commit.c:824
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:881
+#: builtin/commit.c:884
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:894
+#: builtin/commit.c:897
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13840,7 +14234,7 @@ msgstr ""
 "Hãy nhập vào các thông tin để giải thích các thay đổi của bạn. Những\n"
 "dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/commit.c:896
+#: builtin/commit.c:899
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13851,7 +14245,7 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua, nếu phần chú thích rỗng sẽ hủy bỏ lần "
 "chuyển giao.\n"
 
-#: builtin/commit.c:900
+#: builtin/commit.c:903
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13861,7 +14255,7 @@ msgstr ""
 "được\n"
 "bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn thế.\n"
 
-#: builtin/commit.c:904
+#: builtin/commit.c:907
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -13873,7 +14267,7 @@ msgstr ""
 "bắt đầu bằng “%c” sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn thế.\n"
 "Phần chú thích này nếu trống rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/commit.c:916
+#: builtin/commit.c:919
 msgid ""
 "\n"
 "It looks like you may be committing a merge.\n"
@@ -13887,7 +14281,7 @@ msgstr ""
 "\tgit update-ref -d MERGE_HEAD\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:921
+#: builtin/commit.c:924
 msgid ""
 "\n"
 "It looks like you may be committing a cherry-pick.\n"
@@ -13901,180 +14295,158 @@ msgstr ""
 "\tgit update-ref -d CHERRY_PICK_HEAD\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:948
+#: builtin/commit.c:951
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:956
+#: builtin/commit.c:959
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:963
+#: builtin/commit.c:966
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:981
+#: builtin/commit.c:984
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:1026
+#: builtin/commit.c:1029
 msgid "unable to pass trailers to --trailers"
 msgstr "không thể chuyển phần đuôi cho “--trailers”"
 
-#: builtin/commit.c:1066
+#: builtin/commit.c:1069
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:1080 builtin/tag.c:316
+#: builtin/commit.c:1083 builtin/tag.c:317
 #, 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"
 
-#: builtin/commit.c:1124
+#: builtin/commit.c:1128
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author “%s” không phải là “Họ và tên <thư điện tửl>” và không khớp bất kỳ "
 "tác giả nào sẵn có"
 
-#: builtin/commit.c:1138
+#: builtin/commit.c:1142
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1156 builtin/commit.c:1451
+#: builtin/commit.c:1160 builtin/commit.c:1450
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin chưa được theo dõi không hợp lệ “%s”"
 
-#: builtin/commit.c:1227
+#: builtin/commit.c:1231
 msgid "You are in the middle of a merge -- cannot reword."
 msgstr ""
 "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện việc “reword”."
 
-#: builtin/commit.c:1229
+#: builtin/commit.c:1233
 msgid "You are in the middle of a cherry-pick -- cannot reword."
 msgstr ""
 "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện việc "
 "“reword”."
 
-#: builtin/commit.c:1232
+#: builtin/commit.c:1236
 #, c-format
 msgid "reword option of '%s' and path '%s' cannot be used together"
 msgstr ""
 "không thể tổ hợp tùy chọn \"reword\" của '%s' với đường dẫn '%s' cùng nhau"
 
-#: builtin/commit.c:1234
+#: builtin/commit.c:1238
 #, c-format
 msgid "reword option of '%s' and '%s' cannot be used together"
 msgstr "không thể tổ hợp tùy chọn \"reword\" của '%s' với '%s' cùng nhau"
 
-#: builtin/commit.c:1254
-msgid "Using both --reset-author and --author does not make sense"
-msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
-
-#: builtin/commit.c:1261
+#: builtin/commit.c:1263
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1264
+#: builtin/commit.c:1266
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện việc “tu bổ”."
 
-#: builtin/commit.c:1266
+#: builtin/commit.c:1268
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện việc “tu "
 "bổ”."
 
-#: builtin/commit.c:1268
+#: builtin/commit.c:1270
 msgid "You are in the middle of a rebase -- cannot amend."
 msgstr ""
 "Bạn đang ở giữa của quá trình cải tổ -- nên không thể thực hiện việc “tu bổ”."
 
-#: builtin/commit.c:1271
-msgid "Options --squash and --fixup cannot be used together"
-msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
-
-#: builtin/commit.c:1281
-msgid "Only one of -c/-C/-F/--fixup can be used."
-msgstr "Chỉ được dùng một trong số tùy chọn trong số -c/-C/-F/--fixup."
-
-#: builtin/commit.c:1283
-msgid "Option -m cannot be combined with -c/-C/-F."
-msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F."
-
-#: builtin/commit.c:1292
+#: builtin/commit.c:1290
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1310
-msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
-msgstr ""
-"Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được "
-"sử dụng."
-
-#: builtin/commit.c:1338
+#: builtin/commit.c:1337
 #, c-format
 msgid "unknown option: --fixup=%s:%s"
 msgstr "không hiểu tùy chọn: --fixup=%s:%s"
 
-#: builtin/commit.c:1355
+#: builtin/commit.c:1354
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "các đường dẫn “%s …” với tùy chọn -a không hợp lý"
 
-#: builtin/commit.c:1486 builtin/commit.c:1655
+#: builtin/commit.c:1485 builtin/commit.c:1654
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1488 builtin/commit.c:1657
+#: builtin/commit.c:1487 builtin/commit.c:1656
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1489
 msgid "show stash information"
 msgstr "hiển thị thông tin về tạm cất"
 
-#: builtin/commit.c:1492 builtin/commit.c:1659
+#: builtin/commit.c:1491 builtin/commit.c:1658
 msgid "compute full ahead/behind values"
 msgstr "tính đầy đủ giá trị trước/sau"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1493
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1494 builtin/commit.c:1661 builtin/push.c:551
-#: builtin/worktree.c:690
+#: builtin/commit.c:1493 builtin/commit.c:1660 builtin/push.c:551
+#: builtin/worktree.c:765
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1497 builtin/commit.c:1663
+#: builtin/commit.c:1496 builtin/commit.c:1662
 msgid "show status in long format (default)"
 msgstr "hiển thị trạng thái ở định dạng dài (mặc định)"
 
-#: builtin/commit.c:1500 builtin/commit.c:1666
+#: builtin/commit.c:1499 builtin/commit.c:1665
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1502 builtin/commit.c:1506 builtin/commit.c:1669
+#: builtin/commit.c:1501 builtin/commit.c:1505 builtin/commit.c:1668
 #: builtin/fast-export.c:1172 builtin/fast-export.c:1175
-#: builtin/fast-export.c:1178 builtin/rebase.c:1111 parse-options.h:337
+#: builtin/fast-export.c:1178 builtin/rebase.c:1139 parse-options.h:368
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1503 builtin/commit.c:1669
+#: builtin/commit.c:1502 builtin/commit.c:1668
 msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
 msgstr ""
 "hiển thị các tập tin chưa được theo dõi  dấu vết, các chế độ tùy chọn:  all, "
 "normal, no. (Mặc định: all)"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1506
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -14082,11 +14454,11 @@ msgstr ""
 "hiển thị các tập tin bị bỏ qua, các chế độ tùy chọn: traditional, matching, "
 "no. (Mặc định: traditional)"
 
-#: builtin/commit.c:1509 parse-options.h:192
+#: builtin/commit.c:1508 parse-options.h:197
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1509
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -14094,199 +14466,199 @@ msgstr ""
 "bỏ qua các thay đổi trong mô-đun-con, tùy chọn khi: all, dirty, untracked. "
 "(Mặc định: all)"
 
-#: builtin/commit.c:1512
+#: builtin/commit.c:1511
 msgid "list untracked files in columns"
 msgstr "hiển thị danh sách các tập-tin chưa được theo dõi trong các cột"
 
-#: builtin/commit.c:1513
+#: builtin/commit.c:1512
 msgid "do not detect renames"
 msgstr "không dò tìm các tên thay đổi"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1514
 msgid "detect renames, optionally set similarity index"
 msgstr "dò các tên thay đổi, tùy ý đặt mục lục tương tự"
 
-#: builtin/commit.c:1538
+#: builtin/commit.c:1537
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Không hỗ trỡ tổ hợp các tham số các tập tin bị bỏ qua và không được theo dõi"
 
-#: builtin/commit.c:1620
+#: builtin/commit.c:1619
 msgid "suppress summary after successful commit"
 msgstr "không hiển thị tổng kết sau khi chuyển giao thành công"
 
-#: builtin/commit.c:1621
+#: builtin/commit.c:1620
 msgid "show diff in commit message template"
 msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1622
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1624 builtin/merge.c:288 builtin/tag.c:456
+#: builtin/commit.c:1623 builtin/merge.c:288 builtin/tag.c:457
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1624
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1625
+#: builtin/commit.c:1624
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1626 builtin/gc.c:551
+#: builtin/commit.c:1625 builtin/gc.c:551
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1626
+#: builtin/commit.c:1625
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1628 builtin/commit.c:1629 builtin/commit.c:1635
-#: parse-options.h:329 ref-filter.h:89
+#: builtin/commit.c:1627 builtin/commit.c:1628 builtin/commit.c:1634
+#: parse-options.h:360 ref-filter.h:89
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1628
+#: builtin/commit.c:1627
 msgid "reuse and edit message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho nhưng có cho sửa chữa"
 
-#: builtin/commit.c:1629
+#: builtin/commit.c:1628
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho"
 
 #. TRANSLATORS: Leave "[(amend|reword):]" as-is,
 #. and only translate <commit>.
 #.
-#: builtin/commit.c:1634
+#: builtin/commit.c:1633
 msgid "[(amend|reword):]commit"
 msgstr "[(amend|reword):]commit"
 
-#: builtin/commit.c:1634
+#: builtin/commit.c:1633
 msgid ""
 "use autosquash formatted message to fixup or amend/reword specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa hoặc tu bổ/reword lần "
 "chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1635
+#: builtin/commit.c:1634
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "dùng lời nhắn có định dạng tự động nén để nén lại các lần chuyển giao đã chỉ "
 "ra"
 
-#: builtin/commit.c:1636
+#: builtin/commit.c:1635
 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:1637 builtin/interpret-trailers.c:111
+#: builtin/commit.c:1636 builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr "bộ dò vết"
 
-#: builtin/commit.c:1637
+#: builtin/commit.c:1636
 msgid "add custom trailer(s)"
 msgstr "thêm đuôi tự chọn"
 
-#: builtin/commit.c:1638 builtin/log.c:1769 builtin/merge.c:306
+#: builtin/commit.c:1637 builtin/log.c:1788 builtin/merge.c:306
 #: builtin/pull.c:146 builtin/revert.c:110
 msgid "add a Signed-off-by trailer"
 msgstr "thêm dòng Signed-off-by vào cuối"
 
-#: builtin/commit.c:1639
+#: builtin/commit.c:1638
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1640
+#: builtin/commit.c:1639
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1641
 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:1647
+#: builtin/commit.c:1646
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1648
+#: builtin/commit.c:1647
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1648
 msgid "add specified files to index for commit"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục để chuyển giao"
 
-#: builtin/commit.c:1650
+#: builtin/commit.c:1649
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1651
+#: builtin/commit.c:1650
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1652
+#: builtin/commit.c:1651
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1653
+#: builtin/commit.c:1652
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1653
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1667
+#: builtin/commit.c:1666
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1668
+#: builtin/commit.c:1667
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1675
+#: builtin/commit.c:1674
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1677
+#: builtin/commit.c:1676
 msgid "ok to record a change with an empty message"
 msgstr "ok để ghi các thay đổi với lời nhắn trống rỗng"
 
-#: builtin/commit.c:1753
+#: builtin/commit.c:1752
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1760
+#: builtin/commit.c:1759
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1781
+#: builtin/commit.c:1780
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc phần chú thích (message) của lần chuyển giao: %s"
 
-#: builtin/commit.c:1788
+#: builtin/commit.c:1787
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Bãi bỏ việc chuyển giao bởi vì phần chú thích của nó trống rỗng.\n"
 
-#: builtin/commit.c:1793
+#: builtin/commit.c:1792
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr ""
 "Đang bỏ qua việc chuyển giao; bạn đã không biên soạn phần chú thích "
 "(message).\n"
 
-#: builtin/commit.c:1804
+#: builtin/commit.c:1803
 #, c-format
 msgid "Aborting commit due to empty commit message body.\n"
 msgstr ""
 "Bãi bỏ việc chuyển giao bởi vì phần thân chú thích của nó trống rỗng.\n"
 
-#: builtin/commit.c:1840
+#: builtin/commit.c:1839
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
@@ -14410,6 +14782,10 @@ msgstr "tìm các cài đặt về màu sắc: slot [stdout-là-tty]"
 msgid "Type"
 msgstr "Kiểu"
 
+#: builtin/config.c:154 builtin/env--helper.c:42 builtin/hash-object.c:97
+msgid "type"
+msgstr "kiểu"
+
 #: builtin/config.c:154 builtin/env--helper.c:43
 msgid "value is given this type"
 msgstr "giá trị được đưa kiểu này"
@@ -14624,10 +15000,6 @@ msgstr ""
 msgid "no such section: %s"
 msgstr "không có đoạn: %s"
 
-#: builtin/count-objects.c:90
-msgid "git count-objects [-v] [-H | --human-readable]"
-msgstr "git count-objects [-v] [-H | --human-readable]"
-
 #: builtin/count-objects.c:100
 msgid "print sizes in human readable format"
 msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
@@ -14794,7 +15166,7 @@ msgstr "chỉ cân nhắc đến những thẻ khớp với <mẫu>"
 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:570 builtin/name-rev.c:544
+#: builtin/describe.c:570 builtin/name-rev.c:595
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
@@ -14842,7 +15214,7 @@ msgstr "%s…%s: không có cơ sở hòa trộn"
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:537 builtin/grep.c:698
+#: builtin/diff.c:537 builtin/grep.c:700
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
@@ -14960,11 +15332,11 @@ msgstr "chuyển cho “diff”"
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool cần cây làm việc hoặc --no-index"
 
-#: builtin/difftool.c:744
+#: builtin/difftool.c:745
 msgid "no <tool> given for --tool=<tool>"
 msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 
-#: builtin/difftool.c:751
+#: builtin/difftool.c:752
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
@@ -14972,10 +15344,6 @@ msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 msgid "git env--helper --type=[bool|ulong] <options> <env-var>"
 msgstr "git env--helper --type=[bool|ulong] <các tùy chọn> <env-var>"
 
-#: builtin/env--helper.c:42 builtin/hash-object.c:96
-msgid "type"
-msgstr "kiểu"
-
 #: builtin/env--helper.c:46
 msgid "default for git_env_*(...) to fall back on"
 msgstr "mặc định cho git_env_*(…) để quay về"
@@ -15000,8 +15368,8 @@ msgstr ""
 "type=ulong“, không phải “%s“"
 
 #: builtin/fast-export.c:29
-msgid "git fast-export [rev-list-opts]"
-msgstr "git fast-export [rev-list-opts]"
+msgid "git fast-export [<rev-list-opts>]"
+msgstr "git fast-export [<rev-list-opts>]"
 
 #: builtin/fast-export.c:843
 msgid "Error: Cannot export nested tags unless --mark-tags is specified."
@@ -15056,7 +15424,7 @@ msgstr "sử dụng tính năng done để chấm dứt luồng dữ liệu"
 msgid "skip output of blob data"
 msgstr "bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:1196 builtin/log.c:1841
+#: builtin/fast-export.c:1196 builtin/log.c:1860
 msgid "refspec"
 msgstr "refspec"
 
@@ -15090,37 +15458,37 @@ msgstr "hiển thị các mã id nguyên gốc của blobs/commits"
 msgid "label tags with mark ids"
 msgstr "gắn thẻ với các mã ID đánh dấu"
 
-#: builtin/fast-import.c:3090
+#: builtin/fast-import.c:3097
 #, c-format
 msgid "Missing from marks for submodule '%s'"
 msgstr "Thiếu các đánh dấu cho mô-đun-con “%s”"
 
-#: builtin/fast-import.c:3092
+#: builtin/fast-import.c:3099
 #, c-format
 msgid "Missing to marks for submodule '%s'"
 msgstr "Thiếu đánh dấu cho mô-đun-con “%s”"
 
-#: builtin/fast-import.c:3227
+#: builtin/fast-import.c:3234
 #, c-format
 msgid "Expected 'mark' command, got %s"
 msgstr "Cần lệnh “mark”, nhưng lại nhận được %s"
 
-#: builtin/fast-import.c:3232
+#: builtin/fast-import.c:3239
 #, c-format
 msgid "Expected 'to' command, got %s"
 msgstr "Cần lệnh “to”, nhưng lại nhận được %s"
 
-#: builtin/fast-import.c:3324
+#: builtin/fast-import.c:3331
 msgid "Expected format name:filename for submodule rewrite option"
 msgstr "Cần định dạng tên:tên_tập_tin cho tùy chọn ghi lại mô-đun-con"
 
-#: builtin/fast-import.c:3379
+#: builtin/fast-import.c:3386
 #, c-format
 msgid "feature '%s' forbidden in input without --allow-unsafe-features"
 msgstr ""
 "tính năng “%s” bị cấm chỉ trong đầu vào mà không có --allow-unsafe-features"
 
-#: builtin/fetch-pack.c:242
+#: builtin/fetch-pack.c:246
 #, c-format
 msgid "Lockfile created but not reported: %s"
 msgstr "Tập tin khóa đã được tạo nhưng chưa được báo cáo: %s"
@@ -15141,103 +15509,107 @@ msgstr "git fetch --multiple [<các tùy chọn>] [(<kho> | <nhóm>)…]"
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<các tùy chọn>]"
 
-#: builtin/fetch.c:123
+#: builtin/fetch.c:124
 msgid "fetch.parallel cannot be negative"
 msgstr "fetch.parallel không thể âm"
 
-#: builtin/fetch.c:146 builtin/pull.c:189
+#: builtin/fetch.c:147 builtin/pull.c:189
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:148 builtin/pull.c:249
+#: builtin/fetch.c:149 builtin/pull.c:249
 msgid "set upstream for git pull/fetch"
 msgstr "đặt thượng nguồn cho git pull/fetch"
 
-#: builtin/fetch.c:150 builtin/pull.c:192
+#: builtin/fetch.c:151 builtin/pull.c:192
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "nối thêm vào .git/FETCH_HEAD thay vì ghi đè lên nó"
 
-#: builtin/fetch.c:152
+#: builtin/fetch.c:153
 msgid "use atomic transaction to update references"
 msgstr "sử dụng giao dịch hạt nhân bên phía máy chủ"
 
-#: builtin/fetch.c:154 builtin/pull.c:195
+#: builtin/fetch.c:155 builtin/pull.c:195
 msgid "path to upload pack on remote end"
 msgstr "đường dẫn đến gói tải lên trên máy chủ cuối"
 
-#: builtin/fetch.c:155
+#: builtin/fetch.c:156
 msgid "force overwrite of local reference"
 msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 
-#: builtin/fetch.c:157
+#: builtin/fetch.c:158
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:159 builtin/pull.c:199
+#: builtin/fetch.c:160 builtin/pull.c:199
 msgid "fetch all tags and associated objects"
 msgstr "lấy tất cả các thẻ cùng với các đối tượng liên quan đến nó"
 
-#: builtin/fetch.c:161
+#: builtin/fetch.c:162
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:163
+#: builtin/fetch.c:164
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:165
+#: builtin/fetch.c:166
 msgid "modify the refspec to place all refs within refs/prefetch/"
 msgstr ""
 "sửa đặc tả đường dẫn cho các tham chiếu mọi chỗ có trong refs/prefetch/"
 
-#: builtin/fetch.c:167 builtin/pull.c:202
+#: builtin/fetch.c:168 builtin/pull.c:202
 msgid "prune remote-tracking branches no longer on remote"
 msgstr ""
 "cắt cụt (prune) các nhánh “remote-tracking” không còn tồn tại trên máy chủ "
 "nữa"
 
-#: builtin/fetch.c:169
+#: builtin/fetch.c:170
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr "cắt xém các thẻ nội bộ không còn ở máy chủ và xóa các thẻ đã thay đổi"
 
-#: builtin/fetch.c:170 builtin/fetch.c:195 builtin/pull.c:123
+#: builtin/fetch.c:171 builtin/fetch.c:199 builtin/pull.c:123
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:171
+#: builtin/fetch.c:172
 msgid "control recursive fetching of submodules"
 msgstr "điều khiển việc lấy về đệ quy trong các mô-đun-con"
 
-#: builtin/fetch.c:176
+#: builtin/fetch.c:177
 msgid "write fetched references to the FETCH_HEAD file"
 msgstr "ghi các tham chiếu lấy về vào tập tin FETCH_HEAD"
 
-#: builtin/fetch.c:177 builtin/pull.c:210
+#: builtin/fetch.c:178 builtin/pull.c:210
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:179
+#: builtin/fetch.c:180
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:182 builtin/fetch.c:188 builtin/pull.c:213
+#: builtin/fetch.c:183 builtin/fetch.c:189 builtin/pull.c:213
 #: builtin/pull.c:222
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:184 builtin/pull.c:216
+#: builtin/fetch.c:185 builtin/pull.c:216
 msgid "deepen history of shallow repository based on time"
 msgstr "làm sâu hơn lịch sử của kho bản sao shallow dựa trên thời gian"
 
-#: builtin/fetch.c:190 builtin/pull.c:225
+#: builtin/fetch.c:191 builtin/pull.c:225
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:193
+#: builtin/fetch.c:194
+msgid "re-fetch without negotiating common commits"
+msgstr "re-fetch mà không dàn xếp các lần chuyển giao chung"
+
+#: builtin/fetch.c:197
 msgid "prepend this to submodule path output"
 msgstr "soạn sẵn cái này cho kết xuất đường dẫn mô-đun-con"
 
-#: builtin/fetch.c:196
+#: builtin/fetch.c:200
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -15245,108 +15617,103 @@ msgstr ""
 "mặc định cho việc lấy đệ quy các mô-đun-con (có mức ưu tiên thấp hơn các tập "
 "tin cấu hình config)"
 
-#: builtin/fetch.c:200 builtin/pull.c:228
+#: builtin/fetch.c:204 builtin/pull.c:228
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:201 builtin/pull.c:230
+#: builtin/fetch.c:205 builtin/pull.c:230
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:202 builtin/pull.c:231
+#: builtin/fetch.c:206 builtin/pull.c:231
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:209 builtin/pull.c:244
+#: builtin/fetch.c:213 builtin/pull.c:244
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 "báo cáo rằng chúng ta chỉ có các đối tượng tiếp cận được từ đối tượng này"
 
-#: builtin/fetch.c:211
+#: builtin/fetch.c:215
 msgid "do not fetch a packfile; instead, print ancestors of negotiation tips"
 msgstr ""
 "không lấy về một packfile; thay vào đó, hãy in tổ tiên của đỉnh đàm phán"
 
-#: builtin/fetch.c:214 builtin/fetch.c:216
+#: builtin/fetch.c:218 builtin/fetch.c:220
 msgid "run 'maintenance --auto' after fetching"
 msgstr "chạy “maintenance --auto” sau khi lấy về"
 
-#: builtin/fetch.c:218 builtin/pull.c:247
+#: builtin/fetch.c:222 builtin/pull.c:247
 msgid "check for forced-updates on all updated branches"
 msgstr "kiểm cho các-cập-nhật-bắt-buộc trên mọi nhánh đã cập nhật"
 
-#: builtin/fetch.c:220
+#: builtin/fetch.c:224
 msgid "write the commit-graph after fetching"
 msgstr "ghi ra đồ thị các lần chuyển giao sau khi lấy về"
 
-#: builtin/fetch.c:222
+#: builtin/fetch.c:226
 msgid "accept refspecs from stdin"
 msgstr "chấp nhận tham chiếu từ đầu vào tiêu chuẩn"
 
-#: builtin/fetch.c:592
+#: builtin/fetch.c:618
 msgid "couldn't find remote ref HEAD"
 msgstr "không thể tìm thấy HEAD tham chiếu máy chủ"
 
-#: builtin/fetch.c:766
-#, 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:867
+#: builtin/fetch.c:893
 #, c-format
 msgid "object %s not found"
 msgstr "không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:871
+#: builtin/fetch.c:897
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:883 builtin/fetch.c:901 builtin/fetch.c:973
+#: builtin/fetch.c:909 builtin/fetch.c:927 builtin/fetch.c:999
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:885
+#: builtin/fetch.c:911
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:886
+#: builtin/fetch.c:912
 msgid "checked out in another worktree"
 msgstr "lấy ra trong cây làm việc khác"
 
-#: builtin/fetch.c:896
+#: builtin/fetch.c:922
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:897 builtin/fetch.c:934 builtin/fetch.c:956
-#: builtin/fetch.c:968
+#: builtin/fetch.c:923 builtin/fetch.c:960 builtin/fetch.c:982
+#: builtin/fetch.c:994
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:901
+#: builtin/fetch.c:927
 msgid "would clobber existing tag"
 msgstr "nên xóa chồng các thẻ có sẵn"
 
-#: builtin/fetch.c:923
+#: builtin/fetch.c:949
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:926
+#: builtin/fetch.c:952
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:929
+#: builtin/fetch.c:955
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:968
+#: builtin/fetch.c:994
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:973
+#: builtin/fetch.c:999
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:1076
+#: builtin/fetch.c:1102
 msgid ""
 "fetch normally indicates which branches had a forced update,\n"
 "but that check has been disabled; to re-enable, use '--show-forced-updates'\n"
@@ -15356,7 +15723,7 @@ msgstr ""
 "nhưng lựa chọn bị tắt; để kích hoạt lại, sử dụng cờ\n"
 "“--show-forced-updates” hoặc chạy “git config fetch.showForcedUpdates true”."
 
-#: builtin/fetch.c:1080
+#: builtin/fetch.c:1106
 #, c-format
 msgid ""
 "it took %.2f seconds to check forced updates; you can use\n"
@@ -15369,22 +15736,22 @@ msgstr ""
 "false”\n"
 "để tránh kiểm tra này\n"
 
-#: builtin/fetch.c:1112
+#: builtin/fetch.c:1136
 #, 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:1141
+#: builtin/fetch.c:1156
 #, c-format
 msgid "rejected %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:1231 builtin/fetch.c:1379
+#: builtin/fetch.c:1259 builtin/fetch.c:1418
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:1252
+#: builtin/fetch.c:1269
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -15393,49 +15760,49 @@ 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:1349
+#: builtin/fetch.c:1377
 #, 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:1350
+#: builtin/fetch.c:1378
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1382
+#: builtin/fetch.c:1421
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1383 builtin/remote.c:1128
+#: builtin/fetch.c:1422 builtin/remote.c:1153
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1405
+#: builtin/fetch.c:1446
 #, c-format
 msgid "refusing to fetch into branch '%s' checked out at '%s'"
 msgstr "từ chối lấy về vào nhánh “%s” đã được lấy ra tại “%s”"
 
-#: builtin/fetch.c:1425
+#: builtin/fetch.c:1466
 #, 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:1428
+#: builtin/fetch.c:1469
 #, 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:1455
+#: builtin/fetch.c:1496
 #, c-format
 msgid "the object %s does not exist"
 msgstr "đối tượng “%s” không tồn tại"
 
-#: builtin/fetch.c:1643
+#: builtin/fetch.c:1748
 msgid "multiple branches detected, incompatible with --set-upstream"
 msgstr "phát hiện nhiều nhánh, không tương thích với --set-upstream"
 
-#: builtin/fetch.c:1655
+#: builtin/fetch.c:1760
 #, c-format
 msgid ""
 "could not set upstream of HEAD to '%s' from '%s' when it does not point to "
@@ -15444,19 +15811,19 @@ msgstr ""
 "không thể đặt thượng nguồn của HEAD thành '%s' từ '%s' khi mà nó chẳng chỉ "
 "đến nhánh nào cả."
 
-#: builtin/fetch.c:1668
+#: builtin/fetch.c:1773
 msgid "not setting upstream for a remote remote-tracking branch"
 msgstr "không cài đặt thượng nguồn cho một nhánh được theo dõi trên máy chủ"
 
-#: builtin/fetch.c:1670
+#: builtin/fetch.c:1775
 msgid "not setting upstream for a remote tag"
 msgstr "không cài đặt thượng nguồn cho một thẻ nhánh trên máy chủ"
 
-#: builtin/fetch.c:1672
+#: builtin/fetch.c:1777
 msgid "unknown branch type"
 msgstr "không hiểu kiểu nhánh"
 
-#: builtin/fetch.c:1674
+#: builtin/fetch.c:1779
 msgid ""
 "no source branch found;\n"
 "you need to specify exactly one branch with the --set-upstream option"
@@ -15464,22 +15831,22 @@ msgstr ""
 "không tìm thấy nhánh nguồn.\n"
 "bạn cần phải chỉ định chính xác một nhánh với tùy chọn --set-upstream"
 
-#: builtin/fetch.c:1804 builtin/fetch.c:1867
+#: builtin/fetch.c:1904 builtin/fetch.c:1967
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1814 builtin/fetch.c:1869
+#: builtin/fetch.c:1914 builtin/fetch.c:1969
 #, c-format
 msgid "could not fetch %s"
 msgstr "không thể lấy “%s” về"
 
-#: builtin/fetch.c:1826
+#: builtin/fetch.c:1926
 #, c-format
 msgid "could not fetch '%s' (exit code: %d)\n"
 msgstr "không thể lấy “%s” (mã thoát: %d)\n"
 
-#: builtin/fetch.c:1930
+#: builtin/fetch.c:2030
 msgid ""
 "no remote repository specified; please specify either a URL or a\n"
 "remote name from which new revisions should be fetched"
@@ -15487,48 +15854,48 @@ 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:1966
+#: builtin/fetch.c:2066
 msgid "you need to specify a tag name"
 msgstr "bạn cần chỉ định một tên thẻ"
 
-#: builtin/fetch.c:2032
-msgid "--negotiate-only needs one or more --negotiate-tip=*"
-msgstr "--negotiate-only cần một tham số hay nhiều --negotiate-tip=* hơn"
+#: builtin/fetch.c:2156
+msgid "--negotiate-only needs one or more --negotiation-tip=*"
+msgstr "--negotiate-only cần một hay nhiều --negotiation-tip=* hơn"
 
-#: builtin/fetch.c:2036
+#: builtin/fetch.c:2160
 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:2045
+#: builtin/fetch.c:2169
 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:2062
+#: builtin/fetch.c:2186
 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:2064
+#: builtin/fetch.c:2188
 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:2073
+#: builtin/fetch.c:2197
 #, 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:2081
+#: builtin/fetch.c:2205
 msgid "fetching a group and specifying refspecs does not make sense"
 msgstr "việc lấy về một nhóm và chỉ định refspecs là không hợp lý"
 
-#: builtin/fetch.c:2097
+#: builtin/fetch.c:2221
 msgid "must supply remote when using --negotiate-only"
 msgstr "phải cung cấp máy chủ khi sử dụng --negotiate-only"
 
-#: builtin/fetch.c:2102
+#: builtin/fetch.c:2226
 msgid "protocol does not support --negotiate-only, exiting"
 msgstr "giao thức không hỗ trợ --negotiate-only, nên thoát"
 
-#: builtin/fetch.c:2121
+#: builtin/fetch.c:2246
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -15536,11 +15903,11 @@ msgstr ""
 "--filter chỉ có thể được dùng với máy chủ được cấu hình bằng extensions."
 "partialclone"
 
-#: builtin/fetch.c:2125
+#: builtin/fetch.c:2250
 msgid "--atomic can only be used when fetching from one remote"
 msgstr "--atomic chỉ có thể dùng khi lấy về từ một máy chủ"
 
-#: builtin/fetch.c:2129
+#: builtin/fetch.c:2254
 msgid "--stdin can only be used when fetching from one remote"
 msgstr "--stdin chỉ có thể dùng khi lấy về từ một máy chủ"
 
@@ -15615,7 +15982,7 @@ 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:42 builtin/tag.c:481
+#: builtin/for-each-ref.c:42 builtin/tag.c:482
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
@@ -15809,7 +16176,7 @@ msgstr "Đang kiểm tra các thư mục đối tượng"
 msgid "Checking %s link"
 msgstr "Đang lấy liên kết %s"
 
-#: builtin/fsck.c:710 builtin/index-pack.c:859
+#: builtin/fsck.c:710 builtin/index-pack.c:862
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
@@ -15878,7 +16245,7 @@ msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:798 builtin/mktag.c:76
+#: builtin/fsck.c:798 builtin/mktag.c:75
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
@@ -15908,6 +16275,118 @@ msgstr "%s: thiếu đối tượng"
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "tham số không hợp lệ: cần sha1, nhưng lại nhận được “%s”"
 
+#: builtin/fsmonitor--daemon.c:13
+msgid "git fsmonitor--daemon start [<options>]"
+msgstr "git fsmonitor--daemon start [<các tùy chọn>]"
+
+#: builtin/fsmonitor--daemon.c:14
+msgid "git fsmonitor--daemon run [<options>]"
+msgstr "git fsmonitor--daemon run [<các tùy chọn>]"
+
+#: builtin/fsmonitor--daemon.c:15
+msgid "git fsmonitor--daemon stop"
+msgstr "git fsmonitor--daemon stop"
+
+#: builtin/fsmonitor--daemon.c:16
+msgid "git fsmonitor--daemon status"
+msgstr "git fsmonitor--daemon status"
+
+#: builtin/fsmonitor--daemon.c:38 builtin/fsmonitor--daemon.c:47
+#, c-format
+msgid "value of '%s' out of range: %d"
+msgstr "siá trị '%s' ngoài phạm vi cho phép: %d"
+
+#: builtin/fsmonitor--daemon.c:57
+#, c-format
+msgid "value of '%s' not bool or int: %d"
+msgstr "giá trị của '%s' không là bool hoặc int: %d"
+
+#: builtin/fsmonitor--daemon.c:99
+#, c-format
+msgid "fsmonitor-daemon is watching '%s'\n"
+msgstr "fsmonitor-daemon đang theo dõi '%s'\n"
+
+#: builtin/fsmonitor--daemon.c:104
+#, c-format
+msgid "fsmonitor-daemon is not watching '%s'\n"
+msgstr "fsmonitor-daemon hiện không theo dõi '%s'\n"
+
+#: builtin/fsmonitor--daemon.c:170
+#, c-format
+msgid "could not create fsmonitor cookie '%s'"
+msgstr "không thể tạo fsmonitor cookie “%s”"
+
+#: builtin/fsmonitor--daemon.c:753
+#, c-format
+msgid "fsmonitor: cookie_result '%d' != SEEN"
+msgstr "fsmonitor: cookie_result '%d' != SEEN"
+
+#: builtin/fsmonitor--daemon.c:1187
+#, c-format
+msgid "could not start IPC thread pool on '%s'"
+msgstr "không thể khởi chạy bể tiến trình IPC trêm “%s”"
+
+#: builtin/fsmonitor--daemon.c:1199
+msgid "could not start fsmonitor listener thread"
+msgstr "không thể lấy thông tin thống kê về tuyến trình lắng nghe fsmonitor"
+
+#: builtin/fsmonitor--daemon.c:1297
+msgid "could not initialize listener thread"
+msgstr "không thể khởi tạo tuyến trình lắng nghe"
+
+#: builtin/fsmonitor--daemon.c:1328 builtin/fsmonitor--daemon.c:1383
+#, c-format
+msgid "fsmonitor--daemon is already running '%s'"
+msgstr "fsmonitor--daemon hiện đang chạy rồi '%s'"
+
+#: builtin/fsmonitor--daemon.c:1332
+#, c-format
+msgid "running fsmonitor-daemon in '%s'\n"
+msgstr "chạy fsmonitor-daemon trong '%s'\n"
+
+#: builtin/fsmonitor--daemon.c:1387
+#, c-format
+msgid "starting fsmonitor-daemon in '%s'\n"
+msgstr "đang khởi chạy fsmonitor-daemon trong “%s”\n"
+
+#: builtin/fsmonitor--daemon.c:1413
+msgid "daemon failed to start"
+msgstr "gặp lỗi khi khởi chạy dịch vụ chạy ngầm"
+
+#: builtin/fsmonitor--daemon.c:1416
+msgid "daemon not online yet"
+msgstr "ứng dụng chạy ngầm hiện chưa trực tuyến"
+
+#: builtin/fsmonitor--daemon.c:1419
+msgid "daemon terminated"
+msgstr "dịch vụ chạy ngầm đã bị dừng"
+
+#: builtin/fsmonitor--daemon.c:1429
+msgid "detach from console"
+msgstr "tách rời khỏi bảng điều khiển"
+
+#: builtin/fsmonitor--daemon.c:1432
+msgid "use <n> ipc worker threads"
+msgstr "dùng <n> tuyến trình làm việc ipc"
+
+#: builtin/fsmonitor--daemon.c:1435
+msgid "max seconds to wait for background daemon startup"
+msgstr "số giây chờ tối đa khi khởi động dịch vụ chạy nền"
+
+#: builtin/fsmonitor--daemon.c:1449
+#, c-format
+msgid "invalid 'ipc-threads' value (%d)"
+msgstr "giá trị 'ipc-threads' không hợp lệ (%d)"
+
+#: builtin/fsmonitor--daemon.c:1464
+#, c-format
+msgid "Unhandled subcommand '%s'"
+msgstr "Lệnh con không được xử lý '%s'"
+
+#: builtin/fsmonitor--daemon.c:1477
+msgid "fsmonitor--daemon not supported on this platform"
+msgstr "fsmonitor--daemon không hỗ trợ trên nền tảng này"
+
 #: builtin/gc.c:39
 msgid "git gc [<options>]"
 msgstr "git gc [<các tùy chọn>]"
@@ -16156,8 +16635,8 @@ msgstr "gặp lỗi khi khởi chạy systemctl"
 msgid "failed to run systemctl"
 msgstr "gặp lỗi khi chạy systemctl"
 
-#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:62
-#: builtin/worktree.c:944
+#: builtin/gc.c:2210 builtin/gc.c:2215 builtin/worktree.c:63
+#: builtin/worktree.c:1024
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "gặp lỗi khi xóa “%s”"
@@ -16205,16 +16684,16 @@ msgstr "git maintenance run <lệnh_con> [<các tùy chọn>]"
 msgid "invalid subcommand: %s"
 msgstr "lện con không hợp lệ: %s"
 
-#: builtin/grep.c:30
+#: builtin/grep.c:32
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<các tùy chọn>] [-e] <mẫu> [<rev>…] [[--] </đường/dẫn>…]"
 
-#: builtin/grep.c:239
+#: builtin/grep.c:241
 #, c-format
 msgid "grep: failed to create thread: %s"
 msgstr "grep: gặp lỗi tạo tuyến (thread): %s"
 
-#: builtin/grep.c:293
+#: builtin/grep.c:295
 #, c-format
 msgid "invalid number of threads specified (%d) for %s"
 msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
@@ -16223,259 +16702,251 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:301 builtin/index-pack.c:1582 builtin/index-pack.c:1785
-#: builtin/pack-objects.c:3142
+#: builtin/grep.c:303 builtin/index-pack.c:1587 builtin/index-pack.c:1791
+#: builtin/pack-objects.c:3150
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/grep.c:488 builtin/grep.c:617 builtin/grep.c:657
+#: builtin/grep.c:490 builtin/grep.c:619 builtin/grep.c:659
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:672
+#: builtin/grep.c:674
 #, 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:752
+#: builtin/grep.c:754
 #, 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:851
+#: builtin/grep.c:852
 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:853
+#: builtin/grep.c:854
 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:855
+#: builtin/grep.c:856
 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:857
+#: builtin/grep.c:858
 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:859
+#: builtin/grep.c:860
 msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:863
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:865
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:866
+#: builtin/grep.c:867
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:868
+#: builtin/grep.c:869
 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:870
+#: builtin/grep.c:871
 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:873
+#: builtin/grep.c:874
 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:875
+#: builtin/grep.c:876
 msgid "search in subdirectories (default)"
 msgstr "tìm kiếm trong thư mục con (mặc định)"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:878
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:881
+#: builtin/grep.c:882
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:884
+#: builtin/grep.c:885
 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:887
+#: builtin/grep.c:888
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:891
 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:893
+#: builtin/grep.c:894
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:895
 msgid "show column number of first match"
 msgstr "hiển thị số cột của khớp với mẫu đầu tiên"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:896
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:897
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:899
 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:900
+#: builtin/grep.c:901
 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:902
+#: builtin/grep.c:903
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:905
+#: builtin/grep.c:906
 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:907
+#: builtin/grep.c:908
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:910
+#: builtin/grep.c:911
 msgid "show only matching parts of a line"
 msgstr "chỉ hiển thị những phần khớp với mẫu của một dòng"
 
-#: builtin/grep.c:912
+#: builtin/grep.c:913
 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:913
+#: builtin/grep.c:914
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:915
+#: builtin/grep.c:916
 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:917
+#: builtin/grep.c:918
 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:920
+#: builtin/grep.c:921
 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:923
+#: builtin/grep.c:924
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:925
+#: builtin/grep.c:926
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:927
+#: builtin/grep.c:928
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:928
+#: builtin/grep.c:929
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:931
+#: builtin/grep.c:932
 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:933
+#: builtin/grep.c:934
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:936
+#: builtin/grep.c:937
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:938
+#: builtin/grep.c:939
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:940
+#: builtin/grep.c:941
 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:952
+#: builtin/grep.c:953
 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:954
+#: builtin/grep.c:955
 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:957
+#: builtin/grep.c:958
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:957
+#: builtin/grep.c:958
 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:961
+#: builtin/grep.c:962
 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:1027
+#: builtin/grep.c:1028
 msgid "no pattern given"
 msgstr "chưa chỉ ra mẫu"
 
-#: builtin/grep.c:1063
+#: builtin/grep.c:1064
 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:1071
+#: builtin/grep.c:1072
 #, 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:1101
+#: builtin/grep.c:1102
 msgid "--untracked not supported with --recurse-submodules"
 msgstr "tùy chọn --untracked không được hỗ trợ với --recurse-submodules"
 
-#: builtin/grep.c:1105
+#: builtin/grep.c:1106
 msgid "invalid option combination, ignoring --threads"
 msgstr "tổ hợp tùy chọn không hợp lệ, bỏ qua --threads"
 
-#: builtin/grep.c:1108 builtin/pack-objects.c:4059
+#: builtin/grep.c:1109 builtin/pack-objects.c:4084
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1111 builtin/index-pack.c:1579 builtin/pack-objects.c:3139
+#: builtin/grep.c:1112 builtin/index-pack.c:1584 builtin/pack-objects.c:3147
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1145
+#: builtin/grep.c:1146
 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:1171
-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:1174
-msgid "--untracked cannot be used with --cached"
-msgstr "--untracked không thể được sử dụng với tùy chọn --cached"
-
-#: builtin/grep.c:1180
+#: builtin/grep.c:1179
 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:1188
+#: builtin/grep.c:1187
 msgid "both --cached and trees are given"
 msgstr "cả hai --cached và các cây phải được chỉ ra"
 
@@ -16487,107 +16958,99 @@ msgstr ""
 "git hash-object [-t <kiểu>] [-w] [--path=<tập-tin> | --no-filters] [--stdin] "
 "[--] <tập-tin>…"
 
-#: builtin/hash-object.c:84
-msgid "git hash-object  --stdin-paths"
-msgstr "git hash-object  --stdin-paths"
-
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "object type"
 msgstr "kiểu đối tượng"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "write the object into the object database"
 msgstr "ghi đối tượng vào dữ liệu đối tượng"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "read the object from stdin"
 msgstr "đọc đối tượng từ đầu vào tiêu chuẩn stdin"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid "store file as is without filters"
 msgstr "lưu các tập tin mà nó không có các bộ lọc"
 
-#: builtin/hash-object.c:102
+#: builtin/hash-object.c:103
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "chỉ cần băm rác ngẫu nhiên để tạo một đối tượng hỏng để mà gỡ lỗi Git"
 
-#: builtin/hash-object.c:103
+#: builtin/hash-object.c:104
 msgid "process file as it were from this path"
 msgstr "xử lý tập tin như là nó đang ở thư mục này"
 
-#: builtin/help.c:55
+#: builtin/help.c:57
 msgid "print all available commands"
 msgstr "hiển thị danh sách các câu lệnh người dùng có thể sử dụng"
 
-#: builtin/help.c:57
+#: builtin/help.c:60
+msgid "show external commands in --all"
+msgstr "hiển thị các lệnh bên ngoài trong --all"
+
+#: builtin/help.c:61
+msgid "show aliases in --all"
+msgstr "hiển thị các bí danh trong --all"
+
+#: builtin/help.c:62
 msgid "exclude guides"
 msgstr "hướng dẫn loại trừ"
 
-#: builtin/help.c:58
+#: builtin/help.c:63
 msgid "show man page"
 msgstr "hiển thị trang man"
 
-#: builtin/help.c:59
+#: builtin/help.c:64
 msgid "show manual in web browser"
 msgstr "hiển thị hướng dẫn sử dụng trong trình duyệt web"
 
-#: builtin/help.c:61
+#: builtin/help.c:66
 msgid "show info page"
 msgstr "hiển thị trang info"
 
-#: builtin/help.c:63
+#: builtin/help.c:68
 msgid "print command description"
 msgstr "hiển thị mô tả lệnh"
 
-#: builtin/help.c:65
+#: builtin/help.c:70
 msgid "print list of useful guides"
 msgstr "hiển thị danh sách các hướng dẫn hữu dụng"
 
-#: builtin/help.c:67
+#: builtin/help.c:72
 msgid "print all configuration variable names"
 msgstr "in ra tất cả các tên biến cấu hình"
 
-#: builtin/help.c:78
-msgid ""
-"git help [-a|--all] [--[no-]verbose]]\n"
-"         [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
-msgstr ""
-"git help [-a|--all] [--[no-]verbose]]\n"
-"         [[-i|--info] [-m|--man] [-w|--web]] [<lệnh>]"
-
-#: builtin/help.c:80
-msgid "git help [-g|--guides]"
-msgstr "git help [-g|--guides]"
-
-#: builtin/help.c:81
-msgid "git help [-c|--config]"
-msgstr "git help [-c|--config]"
+#: builtin/help.c:84
+msgid "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"
+msgstr "git help [[-i|--info] [-m|--man] [-w|--web]] [<lệnh>]"
 
-#: builtin/help.c:196
+#: builtin/help.c:201
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "không nhận ra định dạng trợ giúp “%s”"
 
-#: builtin/help.c:222
+#: builtin/help.c:227
 msgid "Failed to start emacsclient."
 msgstr "Gặp lỗi khi khởi chạy emacsclient."
 
-#: builtin/help.c:235
+#: builtin/help.c:240
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:243
+#: builtin/help.c:248
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:261 builtin/help.c:283 builtin/help.c:293 builtin/help.c:301
+#: builtin/help.c:266 builtin/help.c:288 builtin/help.c:298 builtin/help.c:306
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "gặp lỗi khi thực thi “%s”"
 
-#: builtin/help.c:339
+#: builtin/help.c:344
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -16596,7 +17059,7 @@ msgstr ""
 "“%s”: đường dẫn không hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.cmd” để thay thế."
 
-#: builtin/help.c:351
+#: builtin/help.c:356
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -16605,42 +17068,58 @@ msgstr ""
 "“%s”: cmd (lệnh) hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.path” để thay thế."
 
-#: builtin/help.c:466
+#: builtin/help.c:471
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:482
+#: builtin/help.c:487
 msgid "no man viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu cầu"
 
-#: builtin/help.c:489
+#: builtin/help.c:494
 msgid "no info viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng info tiếp hợp với yêu cầu"
 
-#: builtin/help.c:550 builtin/help.c:561 git.c:348
+#: builtin/help.c:555 builtin/help.c:566 git.c:348
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:564 git.c:380
+#: builtin/help.c:569 git.c:380
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "chuỗi alias.%s sai: %s"
 
-#: builtin/help.c:580
-msgid "this option doesn't take any other arguments"
-msgstr "tùy chọn này không nhận tham số nào khác"
+#: builtin/help.c:611
+#, c-format
+msgid "the '%s' option doesn't take any non-option arguments"
+msgstr "tùy chọn '%s' không nhận bất kỳ tham số không phải tùy chọn nào khác"
 
-#: builtin/help.c:601 builtin/help.c:628
+#: builtin/help.c:631
+msgid ""
+"the '--no-[external-commands|aliases]' options can only be used with '--all'"
+msgstr ""
+"tùy chọn '--no-[external-commands|aliases]' chỉ có thể sử dụng cùng với '--"
+"all'"
+
+#: builtin/help.c:643 builtin/help.c:671
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách dùng: %s%s"
 
-#: builtin/help.c:623
+#: builtin/help.c:666
 msgid "'git help config' for more information"
 msgstr "Chạy lệnh “git help config” để có thêm thông tin"
 
+#: builtin/hook.c:10
+msgid "git hook run [--ignore-missing] <hook-name> [-- <hook-args>]"
+msgstr "git hook run [--ignore-missing] <tên-móc> [-- <các tham số cho móc>]"
+
+#: builtin/hook.c:30
+msgid "silently ignore missing requested <hook-name>"
+msgstr "bỏ qua âm thầm các <hook-name> đã yêu cầu còn thiếu"
+
 #: builtin/index-pack.c:221
 #, c-format
 msgid "object type mismatch at %s"
@@ -16674,239 +17153,240 @@ msgstr "lỗi đọc ở đầu vào"
 msgid "used more bytes than were available"
 msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 
-#: builtin/index-pack.c:324 builtin/pack-objects.c:756
+#: builtin/index-pack.c:324 builtin/pack-objects.c:754
 msgid "pack too large for current definition of off_t"
 msgstr "gói quá lớn so với định nghĩa hiện tại của kiểu off_t"
 
-#: builtin/index-pack.c:327 builtin/unpack-objects.c:95
-msgid "pack exceeds maximum allowed size"
-msgstr "gói đã vượt quá cỡ tối đa được phép"
+#: builtin/index-pack.c:329
+#, c-format
+msgid "pack exceeds maximum allowed size (%s)"
+msgstr "gói đã vượt quá cỡ tối đa được phép (%s)"
 
-#: builtin/index-pack.c:358
+#: builtin/index-pack.c:362
 msgid "pack signature mismatch"
 msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:360
+#: builtin/index-pack.c:364
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:376
+#: builtin/index-pack.c:380
 #, 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:482
+#: builtin/index-pack.c:485
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:531
+#: builtin/index-pack.c:534
 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:539
+#: builtin/index-pack.c:542
 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:547
+#: builtin/index-pack.c:550
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:578
+#: builtin/index-pack.c:581
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:580
+#: builtin/index-pack.c:583
 #, 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:606
+#: builtin/index-pack.c:609
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:751 builtin/index-pack.c:757 builtin/index-pack.c:781
-#: builtin/index-pack.c:820 builtin/index-pack.c:829
+#: builtin/index-pack.c:754 builtin/index-pack.c:760 builtin/index-pack.c:784
+#: builtin/index-pack.c:823 builtin/index-pack.c:832
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐÃ XẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:292
-#: builtin/pack-objects.c:352 builtin/pack-objects.c:458
+#: builtin/index-pack.c:757 builtin/pack-objects.c:290
+#: builtin/pack-objects.c:350 builtin/pack-objects.c:456
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:818
+#: builtin/index-pack.c:821
 #, 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:826
+#: builtin/index-pack.c:829
 #, 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:840
+#: builtin/index-pack.c:843
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:843 builtin/index-pack.c:862
+#: builtin/index-pack.c:846 builtin/index-pack.c:865
 msgid "fsck error in packed object"
 msgstr "lỗi fsck trong đối tượng đóng gói"
 
-#: builtin/index-pack.c:864
+#: builtin/index-pack.c:867
 #, 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:925 builtin/index-pack.c:972
+#: builtin/index-pack.c:928 builtin/index-pack.c:975
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1161
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1161
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1190
+#: builtin/index-pack.c:1195
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1200
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1198
+#: builtin/index-pack.c:1203
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1210
+#: builtin/index-pack.c:1215
 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:1233
+#: builtin/index-pack.c:1238
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1244 builtin/pack-objects.c:2905
+#: builtin/index-pack.c:1249 builtin/pack-objects.c:2913
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1277
+#: builtin/index-pack.c:1282
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1283
+#: builtin/index-pack.c:1288
 #, 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:1295
+#: builtin/index-pack.c:1300
 #, 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:1299
+#: builtin/index-pack.c:1304
 #, 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:1323
+#: builtin/index-pack.c:1328
 #, 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:1419
+#: builtin/index-pack.c:1423
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1440
+#: builtin/index-pack.c:1445
 #, c-format
 msgid "packfile name '%s' does not end with '.%s'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc “.%s”"
 
-#: builtin/index-pack.c:1464
+#: builtin/index-pack.c:1469
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "không thể ghi %s tập tin “%s”"
 
-#: builtin/index-pack.c:1472
+#: builtin/index-pack.c:1477
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "không thể đóng tập tin được ghi %s “%s”"
 
-#: builtin/index-pack.c:1489
+#: builtin/index-pack.c:1494
 #, c-format
 msgid "unable to rename temporary '*.%s' file to '%s'"
 msgstr "không thể đổi tên tập tin tạm thời “*.%s” thành “%s”"
 
-#: builtin/index-pack.c:1514
+#: builtin/index-pack.c:1519
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1573 builtin/pack-objects.c:3150
+#: builtin/index-pack.c:1578 builtin/pack-objects.c:3158
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1643
+#: builtin/index-pack.c:1648
 #, 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:1645
+#: builtin/index-pack.c:1650
 #, 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:1693
+#: builtin/index-pack.c:1698
 #, 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:1700
+#: builtin/index-pack.c:1705
 #, 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:1742
+#: builtin/index-pack.c:1748
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1796 builtin/index-pack.c:1799
-#: builtin/index-pack.c:1819 builtin/index-pack.c:1823
+#: builtin/index-pack.c:1802 builtin/index-pack.c:1805
+#: builtin/index-pack.c:1825 builtin/index-pack.c:1829
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1829 builtin/init-db.c:379 builtin/init-db.c:614
+#: builtin/index-pack.c:1835 builtin/init-db.c:379 builtin/init-db.c:614
 #, c-format
 msgid "unknown hash algorithm '%s'"
 msgstr "không hiểu thuật toán băm dữ liệu “%s”"
 
-#: builtin/index-pack.c:1850
+#: builtin/index-pack.c:1856
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1867
+#: builtin/index-pack.c:1873
 msgid "--verify with no packfile name given"
 msgstr "dùng tùy chọn --verify mà không đưa ra tên packfile"
 
-#: builtin/index-pack.c:1933 builtin/unpack-objects.c:584
+#: builtin/index-pack.c:1939 builtin/unpack-objects.c:584
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
@@ -17115,40 +17595,40 @@ msgstr "--trailer cùng với --only-input không hợp lý"
 msgid "no input file given for in-place editing"
 msgstr "không đưa ra tập tin đầu vào để sửa tại-chỗ"
 
-#: builtin/log.c:59
+#: builtin/log.c:60
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<các tùy chọn>] [<vùng-xem-xét>] [[--] </đường/dẫn>…]"
 
-#: builtin/log.c:60
+#: builtin/log.c:61
 msgid "git show [<options>] <object>..."
 msgstr "git show [<các tùy chọn>] <đối-tượng>…"
 
-#: builtin/log.c:113
+#: builtin/log.c:114
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn --decorate không hợp lệ: %s"
 
-#: builtin/log.c:180
+#: builtin/log.c:181
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:181
+#: builtin/log.c:182
 msgid "use mail map file"
 msgstr "sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:184
+#: builtin/log.c:185
 msgid "only decorate refs that match <pattern>"
 msgstr "chỉ tô sáng các tham chiếu khớp với <mẫu>"
 
-#: builtin/log.c:186
+#: builtin/log.c:187
 msgid "do not decorate refs that match <pattern>"
 msgstr "không tô sáng các tham chiếu khớp với <mẫu>"
 
-#: builtin/log.c:187
+#: builtin/log.c:188
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:190
+#: builtin/log.c:191
 msgid ""
 "trace the evolution of line range <start>,<end> or function :<funcname> in "
 "<file>"
@@ -17156,89 +17636,93 @@ msgstr ""
 "theo dõi sự tiến hóa của phạm vi <start><end> dòng, hoặc chức năng:"
 "<funcname> trong <file>"
 
-#: builtin/log.c:213
+#: builtin/log.c:214
 msgid "-L<range>:<file> cannot be used with pathspec"
 msgstr "-L<vùng>:<tập_tin> không thể được sử dụng với đặc tả đường dẫn"
 
-#: builtin/log.c:321
+#: builtin/log.c:322
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:586
+#: builtin/log.c:429
+msgid "unable to create temporary object directory"
+msgstr "không thể tạo thư mục đối tượng tạm thời"
+
+#: builtin/log.c:599
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:601 builtin/log.c:691
+#: builtin/log.c:614 builtin/log.c:706
 #, c-format
 msgid "could not read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/log.c:716
+#: builtin/log.c:731
 #, c-format
 msgid "unknown type: %d"
 msgstr "không nhận ra kiểu: %d"
 
-#: builtin/log.c:861
+#: builtin/log.c:880
 #, c-format
 msgid "%s: invalid cover from description mode"
 msgstr "%s: bao bọc không hợp lệ từ chế độ mô tả"
 
-#: builtin/log.c:868
+#: builtin/log.c:887
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:997
+#: builtin/log.c:1016
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:1014
+#: builtin/log.c:1033
 msgid "need exactly one range"
 msgstr "cần chính xác một vùng"
 
-#: builtin/log.c:1024
+#: builtin/log.c:1043
 msgid "not a range"
 msgstr "không phải là một vùng"
 
-#: builtin/log.c:1188
+#: builtin/log.c:1207
 msgid "cover letter needs email format"
 msgstr "“cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1194
+#: builtin/log.c:1213
 msgid "failed to create cover-letter file"
 msgstr "gặp lỗi khi tạo các tập tin cover-letter"
 
-#: builtin/log.c:1281
+#: builtin/log.c:1300
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1308
+#: builtin/log.c:1327
 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:1366
+#: builtin/log.c:1385
 msgid "two output directories?"
 msgstr "hai thư mục kết xuất?"
 
-#: builtin/log.c:1517 builtin/log.c:2344 builtin/log.c:2346 builtin/log.c:2358
+#: builtin/log.c:1536 builtin/log.c:2369 builtin/log.c:2371 builtin/log.c:2383
 #, c-format
 msgid "unknown commit %s"
 msgstr "không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1528 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1547 builtin/replace.c:58 builtin/replace.c:207
 #: builtin/replace.c:210
 #, 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:1537
+#: builtin/log.c:1556
 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:1547
+#: builtin/log.c:1566
 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"
@@ -17249,277 +17733,281 @@ 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:1570
+#: builtin/log.c:1589
 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:1587
+#: builtin/log.c:1606
 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:1597
+#: builtin/log.c:1616
 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:1655
+#: builtin/log.c:1674
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1718
+#: builtin/log.c:1737
 msgid "failed to infer range-diff origin of current series"
 msgstr ""
 "gặp lỗi khi suy luận range-diff (vùng khác biệt) gốc của sê-ri hiện tại"
 
-#: builtin/log.c:1720
+#: builtin/log.c:1739
 #, c-format
 msgid "using '%s' as range-diff origin of current series"
 msgstr "dùng “%s” như là gốc range-diff của sê-ri hiện tại"
 
-#: builtin/log.c:1764
+#: builtin/log.c:1783
 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:1767
+#: builtin/log.c:1786
 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:1771
+#: builtin/log.c:1790
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1773
+#: builtin/log.c:1792
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1775
+#: builtin/log.c:1794
 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:1776
+#: builtin/log.c:1795
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1777
+#: builtin/log.c:1796
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1779
+#: builtin/log.c:1798
 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:1780
+#: builtin/log.c:1799
 msgid "reroll-count"
 msgstr "đếm reroll"
 
-#: builtin/log.c:1781
+#: builtin/log.c:1800
 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:1783
+#: builtin/log.c:1802
 msgid "max length of output filename"
 msgstr "chiều dài tên tập tin đầu ra tối đa"
 
-#: builtin/log.c:1785
+#: builtin/log.c:1804
 msgid "use [RFC PATCH] instead of [PATCH]"
 msgstr "dùng [VÁ RFC] thay cho [VÁ]"
 
-#: builtin/log.c:1788
+#: builtin/log.c:1807
 msgid "cover-from-description-mode"
 msgstr "cover-from-description-mode"
 
-#: builtin/log.c:1789
+#: builtin/log.c:1808
 msgid "generate parts of a cover letter based on a branch's description"
 msgstr "tạo ra các phần của một lá thư bao gồm dựa trên mô tả của nhánh"
 
-#: builtin/log.c:1791
+#: builtin/log.c:1810
 msgid "use [<prefix>] instead of [PATCH]"
 msgstr "dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1794
+#: builtin/log.c:1813
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1797
+#: builtin/log.c:1816
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1800
+#: builtin/log.c:1819
 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:1802
+#: builtin/log.c:1821
 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:1804
+#: builtin/log.c:1823
 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:1806
+#: builtin/log.c:1825
 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:1808
+#: builtin/log.c:1827
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1809
+#: builtin/log.c:1828
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1810
+#: builtin/log.c:1829
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1811 builtin/log.c:1812
+#: builtin/log.c:1830 builtin/log.c:1831
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1811
+#: builtin/log.c:1830
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1812
+#: builtin/log.c:1831
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1813
+#: builtin/log.c:1832
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1814
+#: builtin/log.c:1833
 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:1816
+#: builtin/log.c:1835
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1817
+#: builtin/log.c:1836
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1818 builtin/log.c:1821
+#: builtin/log.c:1837 builtin/log.c:1840
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1819
+#: builtin/log.c:1838
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1822
+#: builtin/log.c:1841
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1826
+#: builtin/log.c:1845
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1828
+#: builtin/log.c:1847
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1829
+#: builtin/log.c:1848
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1830
+#: builtin/log.c:1849
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1831
+#: builtin/log.c:1850
 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:1834
+#: builtin/log.c:1853
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1835
+#: builtin/log.c:1854
 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:1837
+#: builtin/log.c:1856
 msgid "show progress while generating patches"
 msgstr "hiển thị bộ đo tiến triển trong khi tạo các miếng vá"
 
-#: builtin/log.c:1839
+#: builtin/log.c:1858
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <rev> trong các chữ bao bọc hoặc miếng vá đơn"
 
-#: builtin/log.c:1842
+#: builtin/log.c:1861
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "hiển thị các thay đổi dựa trên <refspec> trong các chữ bao bọc hoặc miếng vá "
 "đơn"
 
-#: builtin/log.c:1844 builtin/range-diff.c:28
+#: builtin/log.c:1863 builtin/range-diff.c:28
 msgid "percentage by which creation is weighted"
 msgstr "tỷ lệ phần trăm theo cái tạo là weighted"
 
-#: builtin/log.c:1931
+#: builtin/log.c:1953
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng định danh không hợp lệ: %s"
 
-#: builtin/log.c:1956
+#: builtin/log.c:1978
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1958
+#: builtin/log.c:1980
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1960
+#: builtin/log.c:1982
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:2104
+#: builtin/log.c:1984
+msgid "--remerge-diff does not make sense"
+msgstr "--remerge-diff không hợp lý"
+
+#: builtin/log.c:2129
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff cần --cover-letter hoặc vá đơn"
 
-#: builtin/log.c:2108
+#: builtin/log.c:2133
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:2109
+#: builtin/log.c:2134
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff dựa trên v%d:"
 
-#: builtin/log.c:2119
+#: builtin/log.c:2144
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff yêu cầu --cover-letter hoặc miếng vá đơn"
 
-#: builtin/log.c:2127
+#: builtin/log.c:2152
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:2128
+#: builtin/log.c:2153
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff dựa trên v%d:"
 
-#: builtin/log.c:2139
+#: builtin/log.c:2164
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:2175
+#: builtin/log.c:2200
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:2219
+#: builtin/log.c:2244
 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:2279
+#: builtin/log.c:2304
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:2333
+#: builtin/log.c:2358
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -17617,10 +18105,6 @@ msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 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:667
-msgid "recurse through submodules"
-msgstr "đệ quy xuyên qua mô-đun con"
-
 #: builtin/ls-files.c:669
 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"
@@ -17660,7 +18144,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1103
+#: builtin/ls-remote.c:61 builtin/ls-remote.c:63 builtin/rebase.c:1131
 msgid "exec"
 msgstr "thực thi"
 
@@ -17692,42 +18176,71 @@ msgstr "thoát với mã là 2 nếu không tìm thấy tham chiếu nào khớp
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "hiển thị tham chiếu nằm dưới để thêm vào đối tượng được chỉ bởi nó"
 
-#: builtin/ls-tree.c:30
+#: builtin/ls-tree.c:36
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
 msgstr "git ls-tree [<các tùy chọn>] <tree-ish> [</đường/dẫn>…]"
 
-#: builtin/ls-tree.c:128
+#: builtin/ls-tree.c:54
+#, c-format
+msgid "could not get object info about '%s'"
+msgstr "không thể lấy thông tin đối tượng về “%s”"
+
+#: builtin/ls-tree.c:79
+#, c-format
+msgid "bad ls-tree format: element '%s' does not start with '('"
+msgstr "định dạng ls-tree sai: phần tử “%s” không bắt đầu bằng “(”"
+
+#: builtin/ls-tree.c:83
+#, c-format
+msgid "bad ls-tree format: element '%s' does not end in ')'"
+msgstr "định dạng ls-tree sai: phần tử “%s” không bắt kết thúc bằng “)”"
+
+#: builtin/ls-tree.c:109
+#, c-format
+msgid "bad ls-tree format: %%%.*s"
+msgstr "định dạng ls-tree sai: %%%.*s"
+
+#: builtin/ls-tree.c:336
 msgid "only show trees"
 msgstr "chỉ hiển thị các tree"
 
-#: builtin/ls-tree.c:130
+#: builtin/ls-tree.c:338
 msgid "recurse into subtrees"
 msgstr "đệ quy vào các thư mục con"
 
-#: builtin/ls-tree.c:132
+#: builtin/ls-tree.c:340
 msgid "show trees when recursing"
 msgstr "hiển thị cây khi đệ quy"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:343
 msgid "terminate entries with NUL byte"
 msgstr "chấm dứt mục tin với byte NUL"
 
-#: builtin/ls-tree.c:136
+#: builtin/ls-tree.c:344
 msgid "include object size"
 msgstr "gồm cả kích thước đối tượng"
 
-#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+#: builtin/ls-tree.c:346 builtin/ls-tree.c:348
 msgid "list only filenames"
 msgstr "chỉ liệt kê tên tập tin"
 
-#: builtin/ls-tree.c:143
+#: builtin/ls-tree.c:350
+msgid "list only objects"
+msgstr "chỉ liệt kê các đối tượng"
+
+#: builtin/ls-tree.c:353
 msgid "use full path names"
 msgstr "dùng tên đường dẫn đầy đủ"
 
-#: builtin/ls-tree.c:145
+#: builtin/ls-tree.c:355
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
+#: builtin/ls-tree.c:391
+msgid "--format can't be combined with other format-altering options"
+msgstr ""
+"--format không thể được tổ hợp cùng với các tùy chọn format-alterin khác"
+
 #. TRANSLATORS: keep <> in "<" mail ">" info.
 #: builtin/mailinfo.c:14
 msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
@@ -17777,7 +18290,11 @@ msgstr "hành động khi CR được trích dẫn được tìm thấy"
 msgid "use headers in message's body"
 msgstr "sử dụng phần đầu trong nội dung thư"
 
-#: builtin/mailsplit.c:239
+#: builtin/mailsplit.c:227
+msgid "reading patches from stdin/tty..."
+msgstr "đọc các miếng vá từ đầu vào tiêu chuẩn stdin/tty..."
+
+#: builtin/mailsplit.c:242
 #, c-format
 msgid "empty mbox: '%s'"
 msgstr "mbox trống rỗng: “%s”"
@@ -17802,23 +18319,23 @@ msgstr "git merge-base --is-ancestor <commit> <lần_chuyển_giao>"
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <tham-chiếu> [<lần_chuyển_giao>]"
 
-#: builtin/merge-base.c:143
+#: builtin/merge-base.c:144
 msgid "output all common ancestors"
 msgstr "xuất ra tất cả các ông bà, tổ tiên chung"
 
-#: builtin/merge-base.c:145
+#: builtin/merge-base.c:146
 msgid "find ancestors for a single n-way merge"
 msgstr "tìm tổ tiên của hòa trộn n-way đơn"
 
-#: builtin/merge-base.c:147
+#: builtin/merge-base.c:148
 msgid "list revs not reachable from others"
 msgstr "liệt kê các “rev” mà nó không thể đọc được từ cái khác"
 
-#: builtin/merge-base.c:149
+#: builtin/merge-base.c:150
 msgid "is the first one ancestor of the other?"
 msgstr "là cha mẹ đầu tiên của cái khác?"
 
-#: builtin/merge-base.c:151
+#: builtin/merge-base.c:152
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "tìm xem <commit> được rẽ nhánh ở đâu từ reflog của <th.chiếu>"
 
@@ -17965,7 +18482,7 @@ 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:280 builtin/notes.c:785 builtin/pull.c:172
-#: builtin/rebase.c:1117 builtin/revert.c:114
+#: builtin/rebase.c:1145 builtin/revert.c:114
 msgid "strategy"
 msgstr "chiến lược"
 
@@ -18103,75 +18620,75 @@ msgstr ""
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua, và nếu phần chú\n"
 "thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:894
+#: builtin/merge.c:900
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:909
+#: builtin/merge.c:915
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:970
+#: builtin/merge.c:976
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Việc tự động hòa trộn gặp lỗi; hãy sửa các xung đột sau đó chuyển giao kết "
 "quả.\n"
 
-#: builtin/merge.c:1009
+#: builtin/merge.c:1015
 msgid "No current branch."
 msgstr "Không phải nhánh hiện hành."
 
-#: builtin/merge.c:1011
+#: builtin/merge.c:1017
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:1013
+#: builtin/merge.c:1019
 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:1018
+#: builtin/merge.c:1024
 #, 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:1075
+#: builtin/merge.c:1081
 #, 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:1177
+#: builtin/merge.c:1183
 #, c-format
 msgid "not something we can merge in %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:1211
+#: builtin/merge.c:1217
 msgid "not something we can merge"
 msgstr "không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1324
+#: builtin/merge.c:1330
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1328
+#: builtin/merge.c:1334
 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:1346
+#: builtin/merge.c:1352
 msgid "--quit expects no arguments"
 msgstr "--quit không nhận các đối số"
 
-#: builtin/merge.c:1359
+#: builtin/merge.c:1365
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1363
+#: builtin/merge.c:1369
 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:1379
+#: builtin/merge.c:1385
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -18179,7 +18696,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:1386
+#: builtin/merge.c:1392
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -18187,88 +18704,84 @@ 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:1389
+#: builtin/merge.c:1395
 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:1421
+#: builtin/merge.c:1427
 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:1438
+#: builtin/merge.c:1444
 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:1440
+#: builtin/merge.c:1446
 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:1445
+#: builtin/merge.c:1451
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - không phải là thứ gì đó mà chúng tôi có thể hòa trộn"
 
-#: builtin/merge.c:1447
+#: builtin/merge.c:1453
 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:1534
+#: builtin/merge.c:1540
 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:1553
+#: builtin/merge.c:1559
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1601
+#: builtin/merge.c:1606
 #, 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:1608
+#: builtin/merge.c:1613
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1667 builtin/merge.c:1733
+#: builtin/merge.c:1671 builtin/merge.c:1737
 #, 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:1671
+#: builtin/merge.c:1675
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1723
+#: builtin/merge.c:1727
 #, 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:1725
+#: builtin/merge.c:1729
 #, 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:1735
+#: builtin/merge.c:1739
 #, c-format
 msgid "Using the %s strategy to prepare resolving by hand.\n"
 msgstr "Sử dụng chiến lược %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1749
+#: builtin/merge.c:1753
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 "Hòa trộn tự động đã trở nên tốt; bị dừng trước khi việc chuyển giao được yêu "
 "cầu\n"
 
-#: builtin/mktag.c:10
-msgid "git mktag"
-msgstr "git mktag"
-
 #: builtin/mktag.c:27
 #, c-format
 msgid "warning: tag input does not pass fsck: %s"
@@ -18294,24 +18807,20 @@ msgstr "không thể đọc đối tượng được đánh thẻ %s"
 msgid "object '%s' tagged as '%s', but is a '%s' type"
 msgstr "đối tượng %s được đánh thẻ là %s, không phải là kiểu %s"
 
-#: builtin/mktag.c:98
+#: builtin/mktag.c:97
 msgid "tag on stdin did not pass our strict fsck check"
 msgstr ""
 "thẻ trên stdin đã không vượt qua kiểm tra fsck nghiêm ngặt của chúng tôi"
 
-#: builtin/mktag.c:101
+#: builtin/mktag.c:100
 msgid "tag on stdin did not refer to a valid object"
 msgstr ""
 "thẻ trên đầu vào tiêu chuẩn không chỉ đến một lần chuyển giao hợp lệ nào cả"
 
-#: builtin/mktag.c:104 builtin/tag.c:242
+#: builtin/mktag.c:103 builtin/tag.c:243
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/mktree.c:66
-msgid "git mktree [-z] [--missing] [--batch]"
-msgstr "git mktree [-z] [--missing] [--batch]"
-
 #: builtin/mktree.c:154
 msgid "input is NUL terminated"
 msgstr "đầu vào được chấm dứt bởi NUL"
@@ -18468,53 +18977,57 @@ msgstr "%s, nguồn=%s, đích=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Đổi tên %s thành %s\n"
 
-#: builtin/mv.c:314 builtin/remote.c:790 builtin/repack.c:857
+#: builtin/mv.c:314 builtin/remote.c:812 builtin/repack.c:861
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
 
-#: builtin/name-rev.c:474
+#: builtin/name-rev.c:524
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<các tùy chọn>] <commit>…"
 
-#: builtin/name-rev.c:475
+#: builtin/name-rev.c:525
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<các tùy chọn>] --all"
 
-#: builtin/name-rev.c:476
-msgid "git name-rev [<options>] --stdin"
-msgstr "git name-rev [<các tùy chọn>] --stdin"
+#: builtin/name-rev.c:526
+msgid "git name-rev [<options>] --annotate-stdin"
+msgstr "git name-rev [<các tùy chọn>] --annotate-stdin"
 
-#: builtin/name-rev.c:533
+#: builtin/name-rev.c:583
 msgid "print only ref-based names (no object names)"
 msgstr "chỉ hiển thị các tham chiếu cơ sở (không phải các tên đối tượng)"
 
-#: builtin/name-rev.c:534
+#: builtin/name-rev.c:584
 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:536
+#: builtin/name-rev.c:586
 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:538
+#: builtin/name-rev.c:588
 msgid "ignore refs matching <pattern>"
 msgstr "bỏ qua các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:540
+#: builtin/name-rev.c:590
 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:541
-msgid "read from stdin"
-msgstr "đọc từ đầu vào tiêu chuẩn"
+#: builtin/name-rev.c:591
+msgid "deprecated: use annotate-stdin instead"
+msgstr "đã lạc hậu: hãy dùng annotate-stdin để thay thế"
 
-#: builtin/name-rev.c:542
+#: builtin/name-rev.c:592
+msgid "annotate text from stdin"
+msgstr "chú giải chữ từ đầu vào tiêu chuẩn stdin"
+
+#: builtin/name-rev.c:593
 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:548
+#: builtin/name-rev.c:599
 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ộ)"
 
@@ -18556,14 +19069,6 @@ msgid ""
 msgstr ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <chiến-lược> ] <notes-ref>"
 
-#: builtin/notes.c:35
-msgid "git notes merge --commit [-v | -q]"
-msgstr "git notes merge --commit [-v | -q]"
-
-#: builtin/notes.c:36
-msgid "git notes merge --abort [-v | -q]"
-msgstr "git notes merge --abort [-v | -q]"
-
 #: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <notes-ref>] remove [<đối-tượng>…]"
@@ -18624,10 +19129,6 @@ msgstr "git notes remove [<đối tượng>]"
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<các tùy chọn>]"
 
-#: builtin/notes.c:92
-msgid "git notes get-ref"
-msgstr "git notes get-ref"
-
 #: builtin/notes.c:97
 msgid "Write/edit the notes for the following object:"
 msgstr "Ghi hay sửa ghi chú cho đối tượng sau đây:"
@@ -18660,7 +19161,7 @@ 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:240 builtin/tag.c:581
+#: builtin/notes.c:240 builtin/tag.c:582
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -18700,13 +19201,6 @@ msgstr "gặp lỗi khi sao chép ghi chú (note) từ “%s” sang “%s”"
 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:374 builtin/notes.c:429 builtin/notes.c:507
-#: builtin/notes.c:519 builtin/notes.c:596 builtin/notes.c:663
-#: builtin/notes.c:813 builtin/notes.c:965 builtin/notes.c:987
-#: builtin/prune-packed.c:25 builtin/receive-pack.c:2487 builtin/tag.c:591
-msgid "too many arguments"
-msgstr "có quá nhiều đối số"
-
 #: builtin/notes.c:387 builtin/notes.c:676
 #, c-format
 msgid "no note found for object %s."
@@ -18895,7 +19389,7 @@ 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:899 builtin/tag.c:594
+#: builtin/notes.c:899 builtin/tag.c:595
 #, 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ệ."
@@ -18913,7 +19407,7 @@ msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải
 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:956 builtin/prune.c:144 builtin/worktree.c:147
+#: builtin/notes.c:956 builtin/prune.c:144 builtin/worktree.c:148
 msgid "do not remove, show only"
 msgstr "không gỡ bỏ, chỉ hiển thị"
 
@@ -18929,7 +19423,7 @@ msgstr "notes-ref"
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1036 builtin/stash.c:1818
+#: builtin/notes.c:1036 builtin/stash.c:1802
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -18948,7 +19442,7 @@ msgstr ""
 "git pack-objects [các tùy chọn…] <base-name> [< <danh-sách-ref> | < <danh-"
 "sách-đối-tượng>]"
 
-#: builtin/pack-objects.c:572
+#: builtin/pack-objects.c:570
 #, c-format
 msgid ""
 "write_reuse_object: could not locate %s, expected at offset %<PRIuMAX> in "
@@ -18957,112 +19451,112 @@ msgstr ""
 "write_reuse_object: không thể phân bổ %s, cần tại vị trí bù %<PRIuMAX> trong "
 "gói %s"
 
-#: builtin/pack-objects.c:580
+#: builtin/pack-objects.c:578
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "CRC của đối tượng gói sai với %s"
 
-#: builtin/pack-objects.c:591
+#: builtin/pack-objects.c:589
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "đối tượng đã đóng gói sai hỏng cho %s"
 
-#: builtin/pack-objects.c:722
+#: builtin/pack-objects.c:720
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "dò thấy delta đệ quy cho đối tượng %s"
 
-#: builtin/pack-objects.c:941
+#: builtin/pack-objects.c:939
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "đã sắp xếp %u đối tượng, cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1036
+#: builtin/pack-objects.c:1034
 #, c-format
 msgid "expected object at offset %<PRIuMAX> in pack %s"
 msgstr "cần đối tượng tại khoảng bù %<PRIuMAX> trong gói: %s"
 
-#: builtin/pack-objects.c:1160
+#: builtin/pack-objects.c:1158
 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:1173
+#: builtin/pack-objects.c:1171
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1235 builtin/update-index.c:90
+#: builtin/pack-objects.c:1243 builtin/update-index.c:90
 #, c-format
 msgid "failed to stat %s"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
 
-#: builtin/pack-objects.c:1268
+#: builtin/pack-objects.c:1276
 msgid "failed to write bitmap index"
 msgstr "gặp lỗi khi ghi mục lục ánh xạ"
 
-#: builtin/pack-objects.c:1294
+#: builtin/pack-objects.c:1302
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1536
+#: builtin/pack-objects.c:1544
 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:1984
+#: builtin/pack-objects.c:1992
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "khoảng bù cơ sở cho delta bị tràn trong gói cho %s"
 
-#: builtin/pack-objects.c:1993
+#: builtin/pack-objects.c:2001
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "khoảng bù cơ sở cho delta nằm ngoài phạm cho %s"
 
-#: builtin/pack-objects.c:2274
+#: builtin/pack-objects.c:2282
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
-#: builtin/pack-objects.c:2439
+#: builtin/pack-objects.c:2447
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "không thể phân tích phần đầu đối tượng của “%s”"
 
-#: builtin/pack-objects.c:2509 builtin/pack-objects.c:2525
-#: builtin/pack-objects.c:2535
+#: builtin/pack-objects.c:2517 builtin/pack-objects.c:2533
+#: builtin/pack-objects.c:2543
 #, c-format
 msgid "object %s cannot be read"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/pack-objects.c:2512 builtin/pack-objects.c:2539
+#: builtin/pack-objects.c:2520 builtin/pack-objects.c:2547
 #, c-format
 msgid "object %s inconsistent object length (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr ""
 "đối tượng %s không nhất quán về chiều dài đối tượng (%<PRIuMAX> so với "
 "%<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2549
+#: builtin/pack-objects.c:2557
 msgid "suboptimal pack - out of memory"
 msgstr "suboptimal pack - hết bộ nhớ"
 
-#: builtin/pack-objects.c:2864
+#: builtin/pack-objects.c:2872
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Nén delta dùng tới %d tuyến trình"
 
-#: builtin/pack-objects.c:3003
+#: builtin/pack-objects.c:3011
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "không thể đóng gói các đối tượng tiếp cận được từ thẻ “%s”"
 
-#: builtin/pack-objects.c:3089
+#: builtin/pack-objects.c:3097
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:3095
+#: builtin/pack-objects.c:3103
 msgid "inconsistency with delta count"
 msgstr "mâu thuẫn với số lượng delta"
 
-#: builtin/pack-objects.c:3174
+#: builtin/pack-objects.c:3182
 #, c-format
 msgid ""
 "value of uploadpack.blobpackfileuri must be of the form '<object-hash> <pack-"
@@ -19071,7 +19565,7 @@ msgstr ""
 "giá trị của uploadpack.blobpackfileuri phải có dạng “<object-hash> <pack-"
 "hash> <uri>” (nhận “%s”)"
 
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3185
 #, c-format
 msgid ""
 "object already configured in another uploadpack.blobpackfileuri (got '%s')"
@@ -19079,18 +19573,18 @@ msgstr ""
 "đối tượng đã được cấu hình trong một uploadpack.blobpackfileuri khác (đã "
 "nhận “%s”)"
 
-#: builtin/pack-objects.c:3212
+#: builtin/pack-objects.c:3220
 #, c-format
 msgid "could not get type of object %s in pack %s"
 msgstr "không thể lấy kiểu của đối tượng “%s” trong gói “%s”"
 
-#: builtin/pack-objects.c:3340 builtin/pack-objects.c:3351
-#: builtin/pack-objects.c:3365
+#: builtin/pack-objects.c:3348 builtin/pack-objects.c:3359
+#: builtin/pack-objects.c:3373
 #, c-format
 msgid "could not find pack '%s'"
 msgstr "không thể tìm thấy gói “%s”"
 
-#: builtin/pack-objects.c:3408
+#: builtin/pack-objects.c:3416
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -19099,7 +19593,7 @@ msgstr ""
 "cần ID đối tượng cạnh, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:3414
+#: builtin/pack-objects.c:3422
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -19108,244 +19602,240 @@ msgstr ""
 "cần ID đối tượng, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:3507
-msgid "invalid value for --missing"
-msgstr "giá trị cho --missing không hợp lệ"
-
-#: builtin/pack-objects.c:3532 builtin/pack-objects.c:3619
+#: builtin/pack-objects.c:3540 builtin/pack-objects.c:3627
 msgid "cannot open pack index"
 msgstr "không thể mở mục lục của gói"
 
-#: builtin/pack-objects.c:3541
+#: builtin/pack-objects.c:3549
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "đối tượng mất tại %s không thể đã kiểm tra"
 
-#: builtin/pack-objects.c:3627
+#: builtin/pack-objects.c:3635
 msgid "unable to force loose object"
 msgstr "không thể buộc mất đối tượng"
 
-#: builtin/pack-objects.c:3757
+#: builtin/pack-objects.c:3763
 #, c-format
 msgid "not a rev '%s'"
 msgstr "không phải một rev “%s”"
 
-#: builtin/pack-objects.c:3760 builtin/rev-parse.c:1061
+#: builtin/pack-objects.c:3766 builtin/rev-parse.c:1061
 #, c-format
 msgid "bad revision '%s'"
 msgstr "điểm xem xét sai “%s”"
 
-#: builtin/pack-objects.c:3788
+#: builtin/pack-objects.c:3794
 msgid "unable to add recent objects"
 msgstr "không thể thêm các đối tượng mới dùng"
 
-#: builtin/pack-objects.c:3841
+#: builtin/pack-objects.c:3847
 #, 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:3845
+#: builtin/pack-objects.c:3851
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3884
+#: builtin/pack-objects.c:3907
 msgid "<version>[,<offset>]"
 msgstr "<phiên bản>[,offset]"
 
-#: builtin/pack-objects.c:3885
+#: builtin/pack-objects.c:3908
 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:3888
+#: builtin/pack-objects.c:3911
 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:3890
+#: builtin/pack-objects.c:3913
 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:3892
+#: builtin/pack-objects.c:3915
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:3894
+#: builtin/pack-objects.c:3917
 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:3896
+#: builtin/pack-objects.c:3919
 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:3898
+#: builtin/pack-objects.c:3921
 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:3900
+#: builtin/pack-objects.c:3923
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:3902
+#: builtin/pack-objects.c:3925
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:3904
+#: builtin/pack-objects.c:3927
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:3906
+#: builtin/pack-objects.c:3929
 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:3908
+#: builtin/pack-objects.c:3931
 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:3910
+#: builtin/pack-objects.c:3933
 msgid "read revision arguments from standard input"
 msgstr "đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:3912
+#: builtin/pack-objects.c:3935
 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:3915
+#: builtin/pack-objects.c:3938
 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:3918
+#: builtin/pack-objects.c:3941
 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:3921
+#: builtin/pack-objects.c:3944
 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:3924
+#: builtin/pack-objects.c:3947
 msgid "read packs from stdin"
 msgstr "đọc các gói từ đầu vào tiêu chuẩn"
 
-#: builtin/pack-objects.c:3926
+#: builtin/pack-objects.c:3949
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:3928
+#: builtin/pack-objects.c:3951
 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:3930
+#: builtin/pack-objects.c:3953
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3932
+#: builtin/pack-objects.c:3955
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3934
+#: builtin/pack-objects.c:3957
 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:3937
+#: builtin/pack-objects.c:3960
 msgid "use the sparse reachability algorithm"
 msgstr "sử dụng thuật toán “sparse reachability”"
 
-#: builtin/pack-objects.c:3939
+#: builtin/pack-objects.c:3962
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:3941
+#: builtin/pack-objects.c:3964
 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:3943
+#: builtin/pack-objects.c:3966
 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:3945
+#: builtin/pack-objects.c:3968
 msgid "ignore this pack"
 msgstr "bỏ qua gói này"
 
-#: builtin/pack-objects.c:3947
+#: builtin/pack-objects.c:3970
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:3949
+#: builtin/pack-objects.c:3972
 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:3951
+#: builtin/pack-objects.c:3974
 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:3953
+#: builtin/pack-objects.c:3976
 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:3957
+#: builtin/pack-objects.c:3980
 msgid "write a bitmap index if possible"
 msgstr "ghi mục lục ánh xạ nếu được"
 
-#: builtin/pack-objects.c:3961
+#: builtin/pack-objects.c:3984
 msgid "handling for missing objects"
 msgstr "xử lý cho thiếu đối tượng"
 
-#: builtin/pack-objects.c:3964
+#: builtin/pack-objects.c:3987
 msgid "do not pack objects in promisor packfiles"
 msgstr "không thể đóng gói các đối tượng trong các tập tin gói hứa hẹn"
 
-#: builtin/pack-objects.c:3966
+#: builtin/pack-objects.c:3989
 msgid "respect islands during delta compression"
 msgstr "tôn trọng island trong suốt quá trình nén “delta”"
 
-#: builtin/pack-objects.c:3968
+#: builtin/pack-objects.c:3991
 msgid "protocol"
 msgstr "giao thức"
 
-#: builtin/pack-objects.c:3969
+#: builtin/pack-objects.c:3992
 msgid "exclude any configured uploadpack.blobpackfileuri with this protocol"
 msgstr "loại trừ bất kỳ cấu hình uploadpack.blobpackfileuri với giao thức này"
 
-#: builtin/pack-objects.c:4002
+#: builtin/pack-objects.c:4027
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "mức sau xích delta %d là quá sâu, buộc dùng %d"
 
-#: builtin/pack-objects.c:4007
+#: builtin/pack-objects.c:4032
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d"
 
-#: builtin/pack-objects.c:4063
+#: builtin/pack-objects.c:4088
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size không thể được sử dụng để xây dựng một gói để vận chuyển"
 
-#: builtin/pack-objects.c:4065
+#: builtin/pack-objects.c:4090
 msgid "minimum pack size limit is 1 MiB"
 msgstr "giới hạn kích thước tối thiểu của gói là 1 MiB"
 
-#: builtin/pack-objects.c:4070
+#: builtin/pack-objects.c:4095
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin không thể được dùng để xây dựng gói đánh mục lục được"
 
-#: builtin/pack-objects.c:4079
+#: builtin/pack-objects.c:4104
 msgid "cannot use --filter without --stdout"
 msgstr "không thể dùng tùy chọn --filter mà không có --stdout"
 
-#: builtin/pack-objects.c:4081
+#: builtin/pack-objects.c:4106
 msgid "cannot use --filter with --stdin-packs"
 msgstr "không thể dùng tùy chọn --filter với --stdin-packs"
 
-#: builtin/pack-objects.c:4085
+#: builtin/pack-objects.c:4110
 msgid "cannot use internal rev list with --stdin-packs"
 msgstr "không thể dùng danh sách rev bên trong với --stdin-packs"
 
-#: builtin/pack-objects.c:4144
+#: builtin/pack-objects.c:4169
 msgid "Enumerating objects"
 msgstr "Đánh số các đối tượng"
 
-#: builtin/pack-objects.c:4180
+#: builtin/pack-objects.c:4210
 #, c-format
 msgid ""
 "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
@@ -19380,10 +19870,6 @@ msgstr "đóng gói mọi thứ"
 msgid "prune loose refs (default)"
 msgstr "prune (cắt cụt) những tham chiếu bị mất (mặc định)"
 
-#: builtin/prune-packed.c:6
-msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
-msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
-
 #: builtin/prune.c:14
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <thời-gian>] [--] [<head>…]"
@@ -19404,11 +19890,6 @@ msgstr "giới hạn giao đến các đối tượng nằm ngoài các tập ti
 msgid "cannot prune in a precious-objects repo"
 msgstr "không thể tỉa bớt trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/pull.c:45 builtin/pull.c:47
-#, c-format
-msgid "Invalid value for %s: %s"
-msgstr "Giá trị không hợp lệ %s: %s"
-
 #: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<các tùy chọn>] [<kho-chứa> [<refspec>…]]"
@@ -19433,7 +19914,7 @@ msgstr "cho phép chuyển-tiếp-nhanh"
 msgid "control use of pre-merge-commit and commit-msg hooks"
 msgstr "điều khiển cách dùng các móc (hook) pre-merge-commit và commit-msg"
 
-#: builtin/pull.c:171 parse-options.h:340
+#: builtin/pull.c:171 parse-options.h:371
 msgid "automatically stash/stash pop before and after"
 msgstr "tự động stash/stash pop trước và sau"
 
@@ -19449,11 +19930,6 @@ msgstr "ép buộc ghi đè lên nhánh nội bộ"
 msgid "number of submodules pulled in parallel"
 msgstr "số lượng mô-đun-con được đẩy lên đồng thời"
 
-#: builtin/pull.c:321
-#, c-format
-msgid "Invalid value for pull.ff: %s"
-msgstr "Giá trị không hợp lệ cho pull.ff: %s"
-
 #: builtin/pull.c:449
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
@@ -19490,7 +19966,7 @@ msgstr ""
 "theo mặc định cho nhánh hiện tại của bạn, bạn phải chỉ định\n"
 "một nhánh trên dòng lệnh."
 
-#: builtin/pull.c:460 builtin/rebase.c:951
+#: builtin/pull.c:460 builtin/rebase.c:978
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
@@ -19507,16 +19983,16 @@ msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
 #: builtin/pull.c:467 builtin/pull.c:473 builtin/pull.c:482
-#: builtin/rebase.c:957
+#: builtin/rebase.c:984
 msgid "<remote>"
 msgstr "<máy chủ>"
 
 #: builtin/pull.c:467 builtin/pull.c:482 builtin/pull.c:487
-#: contrib/scalar/scalar.c:375
+#: contrib/scalar/scalar.c:374
 msgid "<branch>"
 msgstr "<nhánh>"
 
-#: builtin/pull.c:475 builtin/rebase.c:949
+#: builtin/pull.c:475 builtin/rebase.c:976
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
@@ -19575,21 +20051,21 @@ msgstr ""
 "hoặc --ff-only trên dòng lệnh để ghi đè các mặc định đã cấu hình cho mỗi\n"
 "lần gọi.\n"
 
-#: builtin/pull.c:1046
+#: builtin/pull.c:1047
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào "
 "bảng mục lục."
 
-#: builtin/pull.c:1050
+#: builtin/pull.c:1051
 msgid "pull with rebase"
 msgstr "pull với rebase"
 
-#: builtin/pull.c:1051
+#: builtin/pull.c:1052
 msgid "please commit or stash them."
 msgstr "xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: builtin/pull.c:1076
+#: builtin/pull.c:1077
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -19600,7 +20076,7 @@ msgstr ""
 "đang chuyển-tiếp-nhanh cây làm việc của bạn từ\n"
 "lần chuyển giaot %s."
 
-#: builtin/pull.c:1082
+#: builtin/pull.c:1083
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -19618,23 +20094,23 @@ msgstr ""
 "$ git reset --hard\n"
 "để khôi phục lại."
 
-#: builtin/pull.c:1097
+#: builtin/pull.c:1098
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Không thể hòa trộn nhiều nhánh vào trong một head trống rỗng."
 
-#: builtin/pull.c:1102
+#: builtin/pull.c:1103
 msgid "Cannot rebase onto multiple branches."
 msgstr "Không thể thực hiện lệnh rebase (cải tổ) trên nhiều nhánh."
 
-#: builtin/pull.c:1104
+#: builtin/pull.c:1105
 msgid "Cannot fast-forward to multiple branches."
 msgstr "Không thể thực hiện chuyển tiếp nhanh trên nhiều nhánh."
 
-#: builtin/pull.c:1119
+#: builtin/pull.c:1120
 msgid "Need to specify how to reconcile divergent branches."
 msgstr "Caanfchir định làm thế nào để giải quyết các nhánh phân kỳ."
 
-#: builtin/pull.c:1133
+#: builtin/pull.c:1134
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "không thể cải tổ với các thay đổi mô-đun-con được ghi lại một cách cục bộ"
@@ -19818,7 +20294,7 @@ msgstr "Đang đẩy lên %s\n"
 msgid "failed to push some refs to '%s'"
 msgstr "gặp lỗi khi đẩy tới một số tham chiếu đến “%s”"
 
-#: builtin/push.c:544 builtin/submodule--helper.c:3259
+#: builtin/push.c:544 builtin/submodule--helper.c:3377
 msgid "repository"
 msgstr "kho"
 
@@ -20058,11 +20534,11 @@ msgstr "gỡ lỗi “unpack-trees”"
 msgid "suppress feedback messages"
 msgstr "không xuất các thông tin phản hồi"
 
-#: builtin/read-tree.c:183
+#: builtin/read-tree.c:190
 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/rebase.c:35
+#: builtin/rebase.c:36
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
 "[<upstream> [<branch>]]"
@@ -20070,55 +20546,51 @@ msgstr ""
 "git rebase [-i] [các tùy chọn] [--exec <lệnh>] [--onto <newbase> | --keep-"
 "base] [<upstream>] [<nhánh>]]"
 
-#: builtin/rebase.c:37
+#: builtin/rebase.c:38
 msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
 msgstr ""
 "git rebase [-i] [các tùy chọn] [--exec <lệnh>] [--onto <newbase>] --root "
 "[<nhánh>]"
 
-#: builtin/rebase.c:39
-msgid "git rebase --continue | --abort | --skip | --edit-todo"
-msgstr "git rebase --continue | --abort | --skip | --edit-todo"
-
-#: builtin/rebase.c:230
+#: builtin/rebase.c:231
 #, c-format
 msgid "could not create temporary %s"
 msgstr "không thể tạo %s tạm thời"
 
-#: builtin/rebase.c:236
+#: builtin/rebase.c:237
 msgid "could not mark as interactive"
 msgstr "không thể đánh dấu là tương tác"
 
-#: builtin/rebase.c:289
+#: builtin/rebase.c:290
 msgid "could not generate todo list"
 msgstr "không thể tạo danh sách cần làm"
 
-#: builtin/rebase.c:331
+#: builtin/rebase.c:332
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "lần chuyển giao cơ sỏ phải được chỉ định với --upstream hoặc --onto"
 
-#: builtin/rebase.c:390
+#: builtin/rebase.c:391
 #, c-format
 msgid "%s requires the merge backend"
 msgstr "%s cần một ứng dụng hòa trộn chạy phía sau"
 
-#: builtin/rebase.c:432
+#: builtin/rebase.c:433
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "không thể đặt lấy “onto”: “%s”"
 
-#: builtin/rebase.c:449
+#: builtin/rebase.c:450
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head không hợp lệ: “%s”"
 
-#: builtin/rebase.c:474
+#: builtin/rebase.c:475
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "đang bỏ qua allow_rerere_autoupdate không hợp lệ: “%s”"
 
-#: builtin/rebase.c:597
+#: builtin/rebase.c:600
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -20133,7 +20605,7 @@ msgstr ""
 "Để bãi bỏ và quay trở lại trạng thái trước \"git rebase\", chạy \"git rebase "
 "--abort\"."
 
-#: builtin/rebase.c:680
+#: builtin/rebase.c:685
 #, c-format
 msgid ""
 "\n"
@@ -20152,7 +20624,12 @@ msgstr ""
 "\n"
 "Kết quả là git không thể cải tổ lại chúng."
 
-#: builtin/rebase.c:925
+#: builtin/rebase.c:836
+#, c-format
+msgid "could not switch to %s"
+msgstr "không thể chuyển đến %s"
+
+#: builtin/rebase.c:952
 #, c-format
 msgid ""
 "unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
@@ -20161,7 +20638,7 @@ msgstr ""
 "kiểu rỗng không được nhận dạng “%s”; giá trị hợp lệ là \"drop\", \"keep\", "
 "và \"ask\"."
 
-#: builtin/rebase.c:943
+#: builtin/rebase.c:970
 #, c-format
 msgid ""
 "%s\n"
@@ -20178,7 +20655,7 @@ msgstr ""
 "    git rebase “<nhánh>”\n"
 "\n"
 
-#: builtin/rebase.c:959
+#: builtin/rebase.c:986
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -20192,185 +20669,185 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/rebase.c:989
+#: builtin/rebase.c:1016
 msgid "exec commands cannot contain newlines"
 msgstr "các lệnh thực thi không thể chứa các ký tự dòng mới"
 
-#: builtin/rebase.c:993
+#: builtin/rebase.c:1020
 msgid "empty exec command"
 msgstr "lệnh thực thi trống rỗng"
 
-#: builtin/rebase.c:1023
+#: builtin/rebase.c:1051
 msgid "rebase onto given branch instead of upstream"
 msgstr "cải tổ vào nhánh đã cho thay cho thượng nguồn"
 
-#: builtin/rebase.c:1025
+#: builtin/rebase.c:1053
 msgid "use the merge-base of upstream and branch as the current base"
 msgstr ""
 "sử dụng các cơ sở hòa trộn của thượng nguồn và nhánh như là cơ sở hiện tại"
 
-#: builtin/rebase.c:1027
+#: builtin/rebase.c:1055
 msgid "allow pre-rebase hook to run"
 msgstr "cho phép móc (hook) pre-rebase được chạy"
 
-#: builtin/rebase.c:1029
+#: builtin/rebase.c:1057
 msgid "be quiet. implies --no-stat"
 msgstr "hãy im lặng. ý là --no-stat"
 
-#: builtin/rebase.c:1032
+#: builtin/rebase.c:1060
 msgid "display a diffstat of what changed upstream"
 msgstr "hiển thị một diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:1035
+#: builtin/rebase.c:1063
 msgid "do not show diffstat of what changed upstream"
 msgstr "đừng hiển thị diffstat của những thay đổi thượng nguồn"
 
-#: builtin/rebase.c:1038
+#: builtin/rebase.c:1066
 msgid "add a Signed-off-by trailer to each commit"
 msgstr "thêm dòng Signed-off-by vào cuối cho từng lần chuyển giao"
 
-#: builtin/rebase.c:1041
+#: builtin/rebase.c:1069
 msgid "make committer date match author date"
 msgstr "làm ngày tháng chuyển giao khớp với ngày của tác giả"
 
-#: builtin/rebase.c:1043
+#: builtin/rebase.c:1071
 msgid "ignore author date and use current date"
 msgstr "bỏ qua ngày tác giả và sử dụng ngày tháng hiện tại"
 
-#: builtin/rebase.c:1045
+#: builtin/rebase.c:1073
 msgid "synonym of --reset-author-date"
 msgstr "đồng nghĩa với --reset-author-date"
 
-#: builtin/rebase.c:1047 builtin/rebase.c:1051
+#: builtin/rebase.c:1075 builtin/rebase.c:1079
 msgid "passed to 'git apply'"
 msgstr "chuyển cho “git apply”"
 
-#: builtin/rebase.c:1049
+#: builtin/rebase.c:1077
 msgid "ignore changes in whitespace"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra"
 
-#: builtin/rebase.c:1053 builtin/rebase.c:1056
+#: builtin/rebase.c:1081 builtin/rebase.c:1084
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 "cherry-pick tất cả các lần chuyển giao, ngay cả khi không có thay đổi gì"
 
-#: builtin/rebase.c:1058
+#: builtin/rebase.c:1086
 msgid "continue"
 msgstr "tiếp tục"
 
-#: builtin/rebase.c:1061
+#: builtin/rebase.c:1089
 msgid "skip current patch and continue"
 msgstr "bỏ qua miếng vá hiện hành và tiếp tục"
 
-#: builtin/rebase.c:1063
+#: builtin/rebase.c:1091
 msgid "abort and check out the original branch"
 msgstr "bãi bỏ và lấy ra nhánh nguyên thủy"
 
-#: builtin/rebase.c:1066
+#: builtin/rebase.c:1094
 msgid "abort but keep HEAD where it is"
 msgstr "bãi bỏ nhưng vẫn vẫn giữ HEAD chỉ đến nó"
 
-#: builtin/rebase.c:1067
+#: builtin/rebase.c:1095
 msgid "edit the todo list during an interactive rebase"
 msgstr "sửa danh sách cần làm trong quá trình “rebase” (cải tổ) tương tác"
 
-#: builtin/rebase.c:1070
+#: builtin/rebase.c:1098
 msgid "show the patch file being applied or merged"
 msgstr "hiển thị miếng vá đã được áp dụng hay hòa trộn"
 
-#: builtin/rebase.c:1073
+#: builtin/rebase.c:1101
 msgid "use apply strategies to rebase"
 msgstr "dùng chiến lược áp dụng để cải tổ"
 
-#: builtin/rebase.c:1077
+#: builtin/rebase.c:1105
 msgid "use merging strategies to rebase"
 msgstr "dùng chiến lược hòa trộn để cải tổ"
 
-#: builtin/rebase.c:1081
+#: builtin/rebase.c:1109
 msgid "let the user edit the list of commits to rebase"
 msgstr "để người dùng sửa danh sách các lần chuyển giao muốn cải tổ"
 
-#: builtin/rebase.c:1085
+#: builtin/rebase.c:1113
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(ĐÃ LẠC HẬU) hay thử tạo lại các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1090
+#: builtin/rebase.c:1118
 msgid "how to handle commits that become empty"
 msgstr "xử lý các lần chuyển giao mà nó trở thành trống rỗng như thế nào"
 
-#: builtin/rebase.c:1093
+#: builtin/rebase.c:1121
 msgid "keep commits which start empty"
 msgstr "bỏ qua các lần chuyển giao mà nó bắt đầu trống rỗng"
 
-#: builtin/rebase.c:1097
+#: builtin/rebase.c:1125
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "di chuyển các lần chuyển giao mà bắt đầu bằng squash!/fixup! dưới -i"
 
-#: builtin/rebase.c:1104
+#: builtin/rebase.c:1132
 msgid "add exec lines after each commit of the editable list"
 msgstr "thêm các dòng thực thi sau từng lần chuyển giao của danh sách sửa được"
 
-#: builtin/rebase.c:1108
+#: builtin/rebase.c:1136
 msgid "allow rebasing commits with empty messages"
 msgstr "chấp nhận cải tổ các chuyển giao mà không ghi chú gì"
 
-#: builtin/rebase.c:1112
+#: builtin/rebase.c:1140
 msgid "try to rebase merges instead of skipping them"
 msgstr "cố thử cải tổ các hòa trộn thay vì bỏ qua chúng"
 
-#: builtin/rebase.c:1115
+#: builtin/rebase.c:1143
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "dùng “merge-base --fork-point” để định nghĩa lại thượng nguồn"
 
-#: builtin/rebase.c:1117
+#: builtin/rebase.c:1145
 msgid "use the given merge strategy"
 msgstr "dùng chiến lược hòa trộn đã cho"
 
-#: builtin/rebase.c:1119 builtin/revert.c:115
+#: builtin/rebase.c:1147 builtin/revert.c:115
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/rebase.c:1120
+#: builtin/rebase.c:1148
 msgid "pass the argument through to the merge strategy"
 msgstr "chuyển thao số đến chiến lược hòa trộn"
 
-#: builtin/rebase.c:1123
+#: builtin/rebase.c:1151
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "cải tổ tất các các lần chuyển giao cho đến root"
 
-#: builtin/rebase.c:1126
+#: builtin/rebase.c:1154
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "lập lịch lại một cách tự động bất kỳ “exec“ bị lỗi"
 
-#: builtin/rebase.c:1128
+#: builtin/rebase.c:1156
 msgid "apply all changes, even those already present upstream"
 msgstr ""
 "áp dụng mọi thay đổi, ngay cả khi những thứ đó đã sẵn có ở thượng nguồn"
 
-#: builtin/rebase.c:1149
+#: builtin/rebase.c:1177
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr ""
 "Hình như đang trong quá trình thực hiện lệnh “git am”. Không thể rebase."
 
-#: builtin/rebase.c:1180
+#: builtin/rebase.c:1208
 msgid "--preserve-merges was replaced by --rebase-merges"
 msgstr "--preserve-merges đã bị thay thế bằng --rebase-merges"
 
-#: builtin/rebase.c:1202
+#: builtin/rebase.c:1230
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: builtin/rebase.c:1206
+#: builtin/rebase.c:1234
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: builtin/rebase.c:1229 t/helper/test-fast-rebase.c:122
+#: builtin/rebase.c:1257 t/helper/test-fast-rebase.c:122
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: builtin/rebase.c:1241
+#: builtin/rebase.c:1269
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -20378,16 +20855,16 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: builtin/rebase.c:1260
+#: builtin/rebase.c:1287
 msgid "could not discard worktree changes"
 msgstr "không thể loại bỏ các thay đổi cây-làm-việc"
 
-#: builtin/rebase.c:1279
+#: builtin/rebase.c:1308
 #, c-format
 msgid "could not move back to %s"
 msgstr "không thể quay trở lại %s"
 
-#: builtin/rebase.c:1325
+#: builtin/rebase.c:1354
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -20408,124 +20885,119 @@ msgstr ""
 "và chạy TÔI lần nữa. TÔI dừng lại trong trường hợp bạn vẫn\n"
 "có một số thứ quý giá ở đây.\n"
 
-#: builtin/rebase.c:1353
+#: builtin/rebase.c:1382
 msgid "switch `C' expects a numerical value"
 msgstr "tùy chọn “%c” cần một giá trị bằng số"
 
-#: builtin/rebase.c:1395
+#: builtin/rebase.c:1424
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Không hiểu chế độ: %s"
 
-#: builtin/rebase.c:1434
+#: builtin/rebase.c:1463
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy cần --merge hay --interactive"
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1492
 msgid "apply options and merge options cannot be used together"
 msgstr ""
 "không thể tổ hợp các tùy chọn áp dụng với các tùy chọn hòa trộn với nhau"
 
-#: builtin/rebase.c:1476
+#: builtin/rebase.c:1505
 #, c-format
 msgid "Unknown rebase backend: %s"
 msgstr "Không hiểu ứng dụng chạy phía sau lệnh cải tổ: %s"
 
-#: builtin/rebase.c:1505
+#: builtin/rebase.c:1534
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec cần --exec hay --interactive"
 
-#: builtin/rebase.c:1536
+#: builtin/rebase.c:1565
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "thượng nguồn không hợp lệ “%s”"
 
-#: builtin/rebase.c:1542
+#: builtin/rebase.c:1571
 msgid "Could not create new root commit"
 msgstr "Không thể tạo lần chuyển giao gốc mới"
 
-#: builtin/rebase.c:1568
+#: builtin/rebase.c:1597
 #, c-format
 msgid "'%s': need exactly one merge base with branch"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn với nhánh"
 
-#: builtin/rebase.c:1571
+#: builtin/rebase.c:1600
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "“%s”: cần chính xác một cơ sở hòa trộn"
 
-#: builtin/rebase.c:1580
+#: builtin/rebase.c:1609
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ “%s”"
 
-#: builtin/rebase.c:1607
+#: builtin/rebase.c:1636
 #, c-format
 msgid "no such branch/commit '%s'"
 msgstr "không có nhánh/lần chuyển giao “%s” như thế"
 
-#: builtin/rebase.c:1618 builtin/submodule--helper.c:39
-#: builtin/submodule--helper.c:2659
+#: builtin/rebase.c:1647 builtin/submodule--helper.c:43
+#: builtin/submodule--helper.c:2477
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/rebase.c:1629
+#: builtin/rebase.c:1658
 msgid "Could not resolve HEAD to a revision"
 msgstr "Không thể phân giải lần chuyển giao HEAD đến một điểm xét duyệt"
 
-#: builtin/rebase.c:1650
+#: builtin/rebase.c:1679
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: builtin/rebase.c:1686
-#, c-format
-msgid "could not switch to %s"
-msgstr "không thể chuyển đến %s"
-
-#: builtin/rebase.c:1697
+#: builtin/rebase.c:1714
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: builtin/rebase.c:1699
+#: builtin/rebase.c:1716
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi.\n"
 
-#: builtin/rebase.c:1707
+#: builtin/rebase.c:1724
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
 
-#: builtin/rebase.c:1709
+#: builtin/rebase.c:1726
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Nhánh hiện tại %s đã được cập nhật rồi, lệnh rebase ép buộc.\n"
 
-#: builtin/rebase.c:1717
+#: builtin/rebase.c:1734
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: builtin/rebase.c:1724
+#: builtin/rebase.c:1741
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Thay đổi thành %s:\n"
 
-#: builtin/rebase.c:1727
+#: builtin/rebase.c:1744
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Thay đổi từ %s thành %s:\n"
 
-#: builtin/rebase.c:1752
+#: builtin/rebase.c:1769
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…\n"
 
-#: builtin/rebase.c:1761
+#: builtin/rebase.c:1781
 msgid "Could not detach HEAD"
 msgstr "Không thể tách rời HEAD"
 
-#: builtin/rebase.c:1770
+#: builtin/rebase.c:1790
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
@@ -20534,7 +21006,7 @@ msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <thư-mục-git>"
 
-#: builtin/receive-pack.c:1275
+#: builtin/receive-pack.c:1263
 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"
@@ -20564,7 +21036,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:1295
+#: builtin/receive-pack.c:1283
 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"
@@ -20585,79 +21057,112 @@ 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:2474
+#: builtin/receive-pack.c:2476
 msgid "quiet"
 msgstr "im lặng"
 
-#: builtin/receive-pack.c:2489
+#: builtin/receive-pack.c:2491
 msgid "you must specify a directory"
 msgstr "bạn phải chỉ định thư mục"
 
-#: builtin/reflog.c:17
+#: builtin/reflog.c:9
+msgid "git reflog [show] [<log-options>] [<ref>]"
+msgstr "git reflog [show] [<các tùy chọn>] [<tham chiếu>]"
+
+#: builtin/reflog.c:12
 msgid ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--"
-"rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all] "
-"<refs>..."
+"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
+"                  [--rewrite] [--updateref] [--stale-fix]\n"
+"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
+"<refs>...]"
 msgstr ""
-"git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--"
-"rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all] "
-"<các tham chiếu>…"
+"git reflog expire [--expire=<time>] [--expire-unreachable=<time>]\n"
+"                  [--rewrite] [--updateref] [--stale-fix]\n"
+"                  [--dry-run | -n] [--verbose] [--all [--single-worktree] | "
+"<refs>...]"
 
-#: builtin/reflog.c:22
+#: builtin/reflog.c:17
 msgid ""
-"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] "
-"<refs>..."
+"git reflog delete [--rewrite] [--updateref]\n"
+"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
 msgstr ""
-"git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] "
-"<các tham chiếu>…"
+"git reflog delete [--rewrite] [--updateref]\n"
+"                  [--dry-run | -n] [--verbose] <ref>@{<specifier>}..."
 
-#: builtin/reflog.c:25
+#: builtin/reflog.c:21
 msgid "git reflog exists <ref>"
 msgstr "git reflog exists <tham_chiếu>"
 
-#: builtin/reflog.c:585 builtin/reflog.c:590
+#: builtin/reflog.c:197 builtin/reflog.c:211
 #, c-format
-msgid "'%s' is not a valid timestamp"
-msgstr "“%s” không phải là dấu thời gian hợp lệ"
+msgid "invalid timestamp '%s' given to '--%s'"
+msgstr "dấu vết thời gian không hợp lệ '%s' đưa cho '--%s'"
+
+#: builtin/reflog.c:240 builtin/reflog.c:359
+msgid "do not actually prune any entries"
+msgstr "thực tế không cắt ngắn bất kỳ mục tin nào"
+
+#: builtin/reflog.c:243 builtin/reflog.c:362
+msgid ""
+"rewrite the old SHA1 with the new SHA1 of the entry that now precedes it"
+msgstr "ghi lại SHA1 cũ bằng một SHA1 mới của mục tin mà giờ đứng trước nó"
+
+#: builtin/reflog.c:246 builtin/reflog.c:365
+msgid "update the reference to the value of the top reflog entry"
+msgstr "cập nhật tham chiếu đến giá trị của mục tin reflog trên cùng"
+
+#: builtin/reflog.c:248 builtin/reflog.c:367
+msgid "print extra information on screen"
+msgstr "xuất thông tin thêm trên màn hình"
+
+#: builtin/reflog.c:249 builtin/reflog.c:253
+msgid "timestamp"
+msgstr "dấu vết thời gian"
+
+#: builtin/reflog.c:250
+msgid "prune entries older than the specified time"
+msgstr "cắt cụt các mục tin cũ hơn khoảng thời gian đã cho"
+
+#: builtin/reflog.c:254
+msgid ""
+"prune entries older than <time> that are not reachable from the current tip "
+"of the branch"
+msgstr ""
+"cắt cụt các mục tin cũ hơn <thời gian> cái mà không thể tiếp cận được từ "
+"đỉnh hiện tại của nhánh"
+
+#: builtin/reflog.c:258
+msgid "prune any reflog entries that point to broken commits"
+msgstr "cắt ngắn bất kỳ mục tin reflog cái mà chỉ đến lần chuyển giao hỏng"
+
+#: builtin/reflog.c:259
+msgid "process the reflogs of all references"
+msgstr "xử lý các reflogs cho mọi tham chiếu"
+
+#: builtin/reflog.c:261
+msgid "limits processing to reflogs from the current worktree only"
+msgstr "giới hạn xử lý với reflogs chỉ từ thư mục làm việc hiện tại"
 
-#: builtin/reflog.c:631
+#: builtin/reflog.c:294
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "Đánh dấu các đối tượng tiếp cận được…"
 
-#: builtin/reflog.c:675
+#: builtin/reflog.c:338
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s chẳng chỉ đến đâu cả!"
 
-#: builtin/reflog.c:731
+#: builtin/reflog.c:374
 msgid "no reflog specified to delete"
 msgstr "chưa chỉ ra reflog để xóa"
 
-#: builtin/reflog.c:742
-#, c-format
-msgid "not a reflog: %s"
-msgstr "không phải một reflog: %s"
-
-#: builtin/reflog.c:747
-#, c-format
-msgid "no reflog for '%s'"
-msgstr "không reflog cho “%s”"
-
-#: builtin/reflog.c:794
+#: builtin/reflog.c:396
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "định dạng tham chiếu không hợp lệ: %s"
 
-#: builtin/reflog.c:803
-msgid "git reflog [ show | expire | delete | exists ]"
-msgstr "git reflog [ show | expire | delete | exists ]"
-
-#: builtin/remote.c:17
-msgid "git remote [-v | --verbose]"
-msgstr "git remote [-v | --verbose]"
-
-#: builtin/remote.c:18
+#: builtin/remote.c:19
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -20665,87 +21170,87 @@ msgstr ""
 "git remote add [-t <nhánh>] [-m <master>] [-f] [--tags|--no-tags] [--"
 "mirror=<fetch|push>] <tên> <url>"
 
-#: builtin/remote.c:19 builtin/remote.c:39
-msgid "git remote rename <old> <new>"
-msgstr "git remote rename <tên-cũ> <tên-mới>"
+#: builtin/remote.c:20 builtin/remote.c:40
+msgid "git remote rename [--[no-]progress] <old> <new>"
+msgstr "git remote rename [--[no-]progress] <tên-cũ> <tên-mới>"
 
-#: builtin/remote.c:20 builtin/remote.c:44
+#: builtin/remote.c:21 builtin/remote.c:45
 msgid "git remote remove <name>"
 msgstr "git remote remove <tên>"
 
-#: builtin/remote.c:21 builtin/remote.c:49
+#: builtin/remote.c:22 builtin/remote.c:50
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <tên>"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <tên>"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<nhóm> | <máy-chủ>)…]"
 
-#: builtin/remote.c:25
+#: builtin/remote.c:26
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <tên> <nhánh>…"
 
-#: builtin/remote.c:26 builtin/remote.c:75
+#: builtin/remote.c:27 builtin/remote.c:76
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote set-url [--push] [--all] <tên>"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <tên> <url-mới> [<url-cũ>]"
 
-#: builtin/remote.c:28 builtin/remote.c:81
+#: builtin/remote.c:29 builtin/remote.c:82
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <tên> <url-mới>"
 
-#: builtin/remote.c:29 builtin/remote.c:82
+#: builtin/remote.c:30 builtin/remote.c:83
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <tên> <url>"
 
-#: builtin/remote.c:34
+#: builtin/remote.c:35
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<các tùy chọn>] <tên> <url>"
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <tên> <nhánh>…"
 
-#: builtin/remote.c:55
+#: builtin/remote.c:56
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <tên> <nhánh>…"
 
-#: builtin/remote.c:60
+#: builtin/remote.c:61
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<các tùy chọn>] <tên>"
 
-#: builtin/remote.c:65
+#: builtin/remote.c:66
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<các tùy chọn>] <tên>"
 
-#: builtin/remote.c:70
+#: builtin/remote.c:71
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<các tùy chọn>] [<nhóm> | <máy-chủ>]…"
 
-#: builtin/remote.c:99
+#: builtin/remote.c:100
 #, c-format
 msgid "Updating %s"
 msgstr "Đang cập nhật %s"
 
-#: builtin/remote.c:101
+#: builtin/remote.c:102
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Không thể lấy“%s” về"
 
-#: builtin/remote.c:131
+#: builtin/remote.c:132
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -20753,77 +21258,77 @@ msgstr ""
 "--mirror nguy hiểm và không dùng nữa; xin hãy\n"
 "\t sử dụng tùy chọn --mirror=fetch hoặc --mirror=push để thay thế"
 
-#: builtin/remote.c:148
+#: builtin/remote.c:149
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "không hiểu tham số máy bản sao (mirror): %s"
 
-#: builtin/remote.c:164
+#: builtin/remote.c:165
 msgid "fetch the remote branches"
 msgstr "lấy về các nhánh từ máy chủ"
 
-#: builtin/remote.c:166
+#: builtin/remote.c:167
 msgid "import all tags and associated objects when fetching"
 msgstr "nhập vào tất cả các đối tượng thẻ và thành phần liên quan khi lấy về"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "hoặc không lấy về bất kỳ thẻ nào (--no-tags)"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "branch(es) to track"
 msgstr "các nhánh để theo dõi"
 
-#: builtin/remote.c:172
+#: builtin/remote.c:173
 msgid "master branch"
 msgstr "nhánh master"
 
-#: builtin/remote.c:174
+#: builtin/remote.c:175
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "đặt máy chủ (remote) như là một máy bản sao để push hay fetch từ đó"
 
-#: builtin/remote.c:186
+#: builtin/remote.c:187
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "đang chỉ định một nhánh master không hợp lý với tùy chọn --mirror"
 
-#: builtin/remote.c:188
+#: builtin/remote.c:189
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "chỉ định những nhánh để theo dõi chỉ hợp lý với các “fetch mirror”"
 
-#: builtin/remote.c:195 builtin/remote.c:705
+#: builtin/remote.c:196 builtin/remote.c:716
 #, c-format
 msgid "remote %s already exists."
 msgstr "máy chủ %s đã tồn tại rồi."
 
-#: builtin/remote.c:240
+#: builtin/remote.c:241
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Không thể cài đặt nhánh master “%s”"
 
-#: builtin/remote.c:322
+#: builtin/remote.c:323
 #, c-format
 msgid "unhandled branch.%s.rebase=%s; assuming 'true'"
 msgstr "nhánh chưa được quản lý.%s.rebase=%s; giả định là “true”"
 
-#: builtin/remote.c:366
+#: builtin/remote.c:367
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "Không thể lấy ánh xạ (map) fetch cho đặc tả tham chiếu %s"
 
-#: builtin/remote.c:460 builtin/remote.c:468
+#: builtin/remote.c:461 builtin/remote.c:469
 msgid "(matching)"
 msgstr "(khớp)"
 
-#: builtin/remote.c:472
+#: builtin/remote.c:473
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:660
+#: builtin/remote.c:664
 #, c-format
 msgid "could not set '%s'"
 msgstr "không thể đặt “%s”"
 
-#: builtin/remote.c:665
+#: builtin/remote.c:669
 #, c-format
 msgid ""
 "The %s configuration remote.pushDefault in:\n"
@@ -20834,17 +21339,17 @@ msgstr ""
 "\t%s:%d\n"
 "bây giờ tên trên máy chủ không tồn tại “%s”"
 
-#: builtin/remote.c:696 builtin/remote.c:841 builtin/remote.c:948
+#: builtin/remote.c:707 builtin/remote.c:866 builtin/remote.c:973
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Không có máy chủ nào như vậy: “%s”"
 
-#: builtin/remote.c:715
+#: builtin/remote.c:726
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Không thể đổi tên phần của cấu hình từ “%s” thành “%s”"
 
-#: builtin/remote.c:735
+#: builtin/remote.c:746
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -20855,17 +21360,21 @@ msgstr ""
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
-#: builtin/remote.c:775
+#: builtin/remote.c:783
+msgid "Renaming remote references"
+msgstr "Đổi tên các tham chiếu máy chủ"
+
+#: builtin/remote.c:794
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/remote.c:809
+#: builtin/remote.c:832
 #, c-format
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:887
+#: builtin/remote.c:912
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -20877,119 +21386,119 @@ msgstr[0] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:901
+#: builtin/remote.c:926
 #, 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:1009
+#: builtin/remote.c:1034
 #, 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:1012
+#: builtin/remote.c:1037
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:1014
+#: builtin/remote.c:1039
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:1016
+#: builtin/remote.c:1041
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:1057
+#: builtin/remote.c:1082
 #, 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:1066
+#: builtin/remote.c:1091
 #, 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:1068
+#: builtin/remote.c:1093
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr ""
 "thực hiện cải tổ (với các hòa trộn) một cách tương tác lên trên máy chủ %s"
 
-#: builtin/remote.c:1071
+#: builtin/remote.c:1096
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "thực hiện rebase trên máy chủ %s"
 
-#: builtin/remote.c:1075
+#: builtin/remote.c:1100
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:1078
+#: builtin/remote.c:1103
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:1081
+#: builtin/remote.c:1106
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    và với máy chủ %s\n"
 
-#: builtin/remote.c:1124
+#: builtin/remote.c:1149
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1127
+#: builtin/remote.c:1152
 msgid "delete"
 msgstr "xóa"
 
-#: builtin/remote.c:1131
+#: builtin/remote.c:1156
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1134
+#: builtin/remote.c:1159
 msgid "fast-forwardable"
 msgstr "có-thể-chuyển-tiếp-nhanh"
 
-#: builtin/remote.c:1137
+#: builtin/remote.c:1162
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1144
+#: builtin/remote.c:1169
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1147
+#: builtin/remote.c:1172
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1151
+#: builtin/remote.c:1176
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1154
+#: builtin/remote.c:1179
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1222
+#: builtin/remote.c:1247
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1243
+#: builtin/remote.c:1268
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1269
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1245 builtin/remote.c:1261 builtin/remote.c:1398
+#: builtin/remote.c:1270 builtin/remote.c:1286 builtin/remote.c:1423
 msgid "(no URL)"
 msgstr "(không có URL)"
 
@@ -20997,185 +21506,185 @@ msgstr "(không có URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1259 builtin/remote.c:1261
+#: builtin/remote.c:1284 builtin/remote.c:1286
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1263 builtin/remote.c:1265 builtin/remote.c:1267
+#: builtin/remote.c:1288 builtin/remote.c:1290 builtin/remote.c:1292
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1263
+#: builtin/remote.c:1288
 msgid "(not queried)"
 msgstr "(không yêu cầu)"
 
-#: builtin/remote.c:1265
+#: builtin/remote.c:1290
 msgid "(unknown)"
 msgstr "(không hiểu)"
 
-#: builtin/remote.c:1269
+#: builtin/remote.c:1294
 #, 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:1281
+#: builtin/remote.c:1306
 #, 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:1284 builtin/remote.c:1310
+#: builtin/remote.c:1309 builtin/remote.c:1335
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1293
+#: builtin/remote.c:1318
 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:1301
+#: builtin/remote.c:1326
 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:1307
+#: builtin/remote.c:1332
 #, 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:1328
+#: builtin/remote.c:1353
 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:1330
+#: builtin/remote.c:1355
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1344
+#: builtin/remote.c:1369
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1346
+#: builtin/remote.c:1371
 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:1356
+#: builtin/remote.c:1381
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1364
+#: builtin/remote.c:1389
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1366
+#: builtin/remote.c:1391
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1384
+#: builtin/remote.c:1409
 #, 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:1385
+#: builtin/remote.c:1410
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1394
+#: builtin/remote.c:1419
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1395
+#: builtin/remote.c:1420
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1411
+#: builtin/remote.c:1436
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1414
+#: builtin/remote.c:1439
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [đã bị xén] %s"
 
-#: builtin/remote.c:1459
+#: builtin/remote.c:1484
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1523 builtin/remote.c:1579 builtin/remote.c:1649
+#: builtin/remote.c:1548 builtin/remote.c:1604 builtin/remote.c:1674
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1541
+#: builtin/remote.c:1566
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1548
+#: builtin/remote.c:1573
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1565
+#: builtin/remote.c:1590
 msgid "query push URLs rather than fetch URLs"
 msgstr "truy vấn đẩy URL thay vì lấy"
 
-#: builtin/remote.c:1567
+#: builtin/remote.c:1592
 msgid "return all URLs"
 msgstr "trả về mọi URL"
 
-#: builtin/remote.c:1597
+#: builtin/remote.c:1622
 #, 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:1623
+#: builtin/remote.c:1648
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1625
+#: builtin/remote.c:1650
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1627
+#: builtin/remote.c:1652
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1634
+#: builtin/remote.c:1659
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1675
+#: builtin/remote.c:1700
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1683
+#: builtin/remote.c:1708
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1685
+#: builtin/remote.c:1710
 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:1702
+#: builtin/remote.c:1727
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
-#: builtin/repack.c:28
+#: builtin/repack.c:29
 msgid "git repack [<options>]"
 msgstr "git repack [<các tùy chọn>]"
 
-#: builtin/repack.c:33
+#: builtin/repack.c:34
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -21183,148 +21692,148 @@ msgstr ""
 "Gia tăng repack là không tương thích với chỉ mục bitmap. Dùng\n"
 "--no-write-bitmap-index hay tắt cấu hình pack.writebitmaps."
 
-#: builtin/repack.c:201
+#: builtin/repack.c:206
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "không thể lấy thông tin thống kê pack-objects để mà đóng gói lại các đối "
 "tượng hứa hẹn"
 
-#: builtin/repack.c:275 builtin/repack.c:820
+#: builtin/repack.c:280 builtin/repack.c:824
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Đang chỉ cần các dòng ID đối tượng dạng thập lục phân đầy dủ từ pack-"
 "objects."
 
-#: builtin/repack.c:299
+#: builtin/repack.c:304
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr "không thể hoàn tất pack-objects để đóng gói các đối tượng hứa hẹn"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:319
 #, c-format
 msgid "cannot open index for %s"
 msgstr "không thể mở mục lục cho “%s”"
 
-#: builtin/repack.c:373
+#: builtin/repack.c:378
 #, c-format
 msgid "pack %s too large to consider in geometric progression"
 msgstr "gói %s là quá lớn để được xem là trong tiến trình hình học"
 
-#: builtin/repack.c:406 builtin/repack.c:413 builtin/repack.c:418
+#: builtin/repack.c:411 builtin/repack.c:418 builtin/repack.c:423
 #, c-format
 msgid "pack %s too large to roll up"
 msgstr "gói %s là quá lớn để được cuộn lại"
 
-#: builtin/repack.c:498
+#: builtin/repack.c:503
 #, c-format
 msgid "could not open tempfile %s for writing"
 msgstr "không thể mở tập tin tạm %s để ghi"
 
-#: builtin/repack.c:516
+#: builtin/repack.c:521
 msgid "could not close refs snapshot tempfile"
 msgstr "không thể đóng tập tin tạm thời chụp nhanh các tham chiếu"
 
-#: builtin/repack.c:630
+#: builtin/repack.c:634
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:632
+#: builtin/repack.c:636
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "giống với -a, và chỉnh sửa các đối tượng không đọc được thiếu sót"
 
-#: builtin/repack.c:635
+#: builtin/repack.c:639
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "xóa bỏ các gói dư thừa, và chạy git-prune-packed"
 
-#: builtin/repack.c:637
+#: builtin/repack.c:641
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:639
+#: builtin/repack.c:643
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:641
+#: builtin/repack.c:645
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:644
+#: builtin/repack.c:648
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:646
+#: builtin/repack.c:650
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:648
+#: builtin/repack.c:652
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "chuyển --delta-islands cho git-pack-objects"
 
-#: builtin/repack.c:649
+#: builtin/repack.c:653
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:650
+#: builtin/repack.c:654
 msgid "with -A, do not loosen objects older than this"
 msgstr "với -A, các đối tượng cũ hơn khoảng thời gian này thì không bị mất"
 
-#: builtin/repack.c:652
+#: builtin/repack.c:656
 msgid "with -a, repack unreachable objects"
 msgstr "với -a, đóng gói lại các đối tượng không thể đọc được"
 
-#: builtin/repack.c:654
+#: builtin/repack.c:658
 msgid "size of the window used for delta compression"
 msgstr "kích thước cửa sổ được dùng cho nén “delta”"
 
-#: builtin/repack.c:655 builtin/repack.c:661
+#: builtin/repack.c:659 builtin/repack.c:665
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:656
+#: builtin/repack.c:660
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr "giống như trên, nhưng giới hạn kích thước bộ nhớ hay vì số lượng"
 
-#: builtin/repack.c:658
+#: builtin/repack.c:662
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:660
+#: builtin/repack.c:664
 msgid "limits the maximum number of threads"
 msgstr "giới hạn số lượng tối đa tuyến trình"
 
-#: builtin/repack.c:662
+#: builtin/repack.c:666
 msgid "maximum size of each packfile"
 msgstr "kích thước tối đa cho từng tập tin gói"
 
-#: builtin/repack.c:664
+#: builtin/repack.c:668
 msgid "repack objects in packs marked with .keep"
 msgstr "đóng gói lại các đối tượng trong các gói đã đánh dấu bằng .keep"
 
-#: builtin/repack.c:666
+#: builtin/repack.c:670
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:668
+#: builtin/repack.c:672
 msgid "find a geometric progression with factor <N>"
 msgstr "tìm một tiến trình hình học với hệ số <N>"
 
-#: builtin/repack.c:670
+#: builtin/repack.c:674
 msgid "write a multi-pack index of the resulting packs"
 msgstr "ghi mục lục “multi-pack” của các gói kết quả"
 
-#: builtin/repack.c:680
+#: builtin/repack.c:684
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "không thể xóa các gói trong một kho đối_tượng_vĩ_đại"
 
-#: builtin/repack.c:829
+#: builtin/repack.c:833
 msgid "Nothing new to pack."
 msgstr "Không có gì mới để mà đóng gói."
 
-#: builtin/repack.c:859
+#: builtin/repack.c:863
 #, c-format
 msgid "missing required file: %s"
 msgstr "thiếu tập tin cần thiết: %s"
 
-#: builtin/repack.c:861
+#: builtin/repack.c:865
 #, c-format
 msgid "could not unlink: %s"
 msgstr "không thể bỏ liên kết: %s"
@@ -21341,10 +21850,6 @@ msgstr "git replace [-f] --edit <đối tượng>"
 msgid "git replace [-f] --graft <commit> [<parent>...]"
 msgstr "git replace [-f] --graft <lần_chuyển_giao> [<cha_mẹ>…]"
 
-#: builtin/replace.c:25
-msgid "git replace [-f] --convert-graft-file"
-msgstr "git replace [-f] --convert-graft-file"
-
 #: builtin/replace.c:26
 msgid "git replace -d <object>..."
 msgstr "git replace -d <đối tượng>…"
@@ -21647,99 +22152,94 @@ msgstr "Gặp lỗi khi tìm cây của %s."
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/reset.c:299
+#: builtin/reset.c:304
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Không thể thực hiện một %s reset ở giữa của quá trình hòa trộn."
 
-#: builtin/reset.c:396 builtin/stash.c:606 builtin/stash.c:680
-#: builtin/stash.c:704
+#: builtin/reset.c:402 builtin/stash.c:606 builtin/stash.c:669
+#: builtin/stash.c:693
 msgid "be quiet, only report errors"
 msgstr "làm việc ở chế độ im lặng, chỉ hiển thị khi có lỗi"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:404
+msgid "skip refreshing the index after reset"
+msgstr "bỏ qua làm tươi mục lục sau khi đặt lại"
+
+#: builtin/reset.c:406
 msgid "reset HEAD and index"
 msgstr "đặt lại (reset) HEAD và bảng mục lục"
 
-#: builtin/reset.c:399
+#: builtin/reset.c:407
 msgid "reset only HEAD"
 msgstr "chỉ đặt lại (reset) HEAD"
 
-#: builtin/reset.c:401 builtin/reset.c:403
+#: builtin/reset.c:409 builtin/reset.c:411
 msgid "reset HEAD, index and working tree"
 msgstr "đặt lại HEAD, bảng mục lục và cây làm việc"
 
-#: builtin/reset.c:405
+#: builtin/reset.c:413
 msgid "reset HEAD but keep local changes"
 msgstr "đặt lại HEAD nhưng giữ lại các thay đổi nội bộ"
 
-#: builtin/reset.c:411
+#: builtin/reset.c:419
 msgid "record only the fact that removed paths will be added later"
 msgstr "chỉ ghi lại những đường dẫn thực sự sẽ được thêm vào sau này"
 
-#: builtin/reset.c:445
+#: builtin/reset.c:452
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Gặp lỗi khi phân giải “%s” như là điểm xét duyệt hợp lệ."
 
-#: builtin/reset.c:453
+#: builtin/reset.c:460
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Gặp lỗi khi phân giải “%s” như là một cây (tree) hợp lệ."
 
-#: builtin/reset.c:472
+#: builtin/reset.c:479
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed với các đường dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git "
 "reset -- </các/đường/dẫn>”."
 
-#: builtin/reset.c:474
+#: builtin/reset.c:481
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Không thể thực hiện lệnh %s reset với các đường dẫn."
 
-#: builtin/reset.c:489
+#: builtin/reset.c:496
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "%s reset không được phép trên kho thuần"
 
-#: builtin/reset.c:520
+#: builtin/reset.c:527
 msgid "Unstaged changes after reset:"
 msgstr "Những thay đổi được đưa ra khỏi bệ phóng sau khi reset:"
 
-#: builtin/reset.c:523
+#: builtin/reset.c:530
 #, c-format
 msgid ""
-"\n"
-"It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
-"use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
-"to make this the default.\n"
+"It took %.2f seconds to refresh the index after reset.  You can use\n"
+"'--no-refresh' to avoid this."
 msgstr ""
-"\n"
-"Cần %.2f giây để kiểm đếm các thay đổi chưa đưa lên bệ phóng sau khi đặt "
-"lại.\n"
-"Bạn có thể sử dụng “--quiet” để tránh việc này. Đặt reset.quiet thành true "
-"trong\n"
-"cài đặt config nếu bạn muốn thực hiện nó như là mặc định.\n"
+"Việc này cần %.2f giây để làm tươi mới mục lục sau khi đặt lại. Bạn có thể "
+"sử dụng\n"
+"“--no-refresh” tránh điều này."
 
-#: builtin/reset.c:541
+#: builtin/reset.c:547
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét duyệt “%s”."
 
-#: builtin/reset.c:546
+#: builtin/reset.c:552
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
-#: builtin/rev-list.c:602
-msgid "object filtering requires --objects"
-msgstr "lọc đối tượng yêu cầu --objects"
-
-#: builtin/rev-list.c:674
+#: builtin/rev-list.c:659
 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-list.c:679
+#: builtin/rev-list.c:664
 #, c-format
 msgid "marked counting and '%s' cannot be used together"
 msgstr "đánh dấu để đếm và '%s' không thể dùng cùng nhau"
@@ -22082,11 +22582,11 @@ msgstr "trường"
 msgid "group by field"
 msgstr "nhóm theo trường"
 
-#: builtin/shortlog.c:394
+#: builtin/shortlog.c:395
 msgid "too many arguments given outside repository"
 msgstr "quá nhiều tham số đưa ra ngoài kho chứa"
 
-#: builtin/show-branch.c:13
+#: builtin/show-branch.c:14
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "                [--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -22098,116 +22598,116 @@ msgstr ""
 "                [--more=<n> | --list | --independent | --merge-base]\n"
 "                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)…]"
 
-#: builtin/show-branch.c:17
+#: builtin/show-branch.c:18
 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:395
+#: builtin/show-branch.c:396
 #, 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:547
+#: builtin/show-branch.c:548
 #, 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:644
+#: builtin/show-branch.c:645
 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:646
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "hiển thị các nhánh remote-tracking"
 
-#: builtin/show-branch.c:648
+#: builtin/show-branch.c:649
 msgid "color '*!+-' corresponding to the branch"
 msgstr "màu “*!+-” tương ứng với nhánh"
 
-#: builtin/show-branch.c:650
+#: builtin/show-branch.c:651
 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:652
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "đồng nghĩa với more=-1"
 
-#: builtin/show-branch.c:653
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "chặn các chuỗi đặt tên"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "bao gồm nhánh hiện hành"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:658
 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:659
+#: builtin/show-branch.c:660
 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:661
+#: builtin/show-branch.c:662
 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:663
+#: builtin/show-branch.c:664
 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:666
+#: builtin/show-branch.c:667
 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:668
+#: builtin/show-branch.c:669
 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:670
+#: builtin/show-branch.c:671
 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:673
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<cơ_sở>]"
 
-#: builtin/show-branch.c:674
+#: builtin/show-branch.c:675
 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:734
+#: builtin/show-branch.c:735
 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:737
+#: builtin/show-branch.c:738
 msgid "--reflog option needs one branch name"
 msgstr "--reflog cần tên một nhánh"
 
-#: builtin/show-branch.c:740
+#: builtin/show-branch.c:741
 #, 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:744
+#: builtin/show-branch.c:745
 #, c-format
 msgid "no such ref %s"
 msgstr "không có tham chiếu nào như thế %s"
 
-#: builtin/show-branch.c:830
+#: builtin/show-branch.c:831
 #, 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:834
+#: builtin/show-branch.c:835
 #, 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:837
+#: builtin/show-branch.c:838
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "không thể tìm thấy lần chuyển giao %s (%s)"
@@ -22268,25 +22768,21 @@ msgstr ""
 "hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
 "bộ"
 
-#: builtin/sparse-checkout.c:22
+#: builtin/sparse-checkout.c:23
 msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
 msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <các-tùy-chọn>"
 
-#: builtin/sparse-checkout.c:46
-msgid "git sparse-checkout list"
-msgstr "git sparse-checkout list"
-
-#: builtin/sparse-checkout.c:60
+#: builtin/sparse-checkout.c:61
 msgid "this worktree is not sparse"
 msgstr "cây làm việc này không phải là sparse"
 
-#: builtin/sparse-checkout.c:75
+#: builtin/sparse-checkout.c:76
 msgid "this worktree is not sparse (sparse-checkout file may not exist)"
 msgstr ""
 "không thể phân tích cú pháp cây làm việc này (tập tin sparse-checkout có lẽ "
 "không tồn tại)"
 
-#: builtin/sparse-checkout.c:176
+#: builtin/sparse-checkout.c:177
 #, c-format
 msgid ""
 "directory '%s' contains untracked files, but is not in the sparse-checkout "
@@ -22295,97 +22791,130 @@ msgstr ""
 "thư mục “%s” có chứa các tập tin chưa được theo dõi, nhưng lại không trong "
 "“sparse-checkout cone”"
 
-#: builtin/sparse-checkout.c:184
+#: builtin/sparse-checkout.c:185
 #, c-format
 msgid "failed to remove directory '%s'"
 msgstr "gặp lỗi khi gỡ bỏ thư mục \"%s\""
 
-#: builtin/sparse-checkout.c:324
+#: builtin/sparse-checkout.c:327
 msgid "failed to create directory for sparse-checkout file"
 msgstr "gặp lỗi khi tạo thư mục cho tập tin sparse-checkout"
 
-#: builtin/sparse-checkout.c:365
-msgid "unable to upgrade repository format to enable worktreeConfig"
-msgstr "không thể nâng cấp định dạng kho lưu trữ để kích hoạt worktreeConfig"
-
-#: builtin/sparse-checkout.c:367
-msgid "failed to set extensions.worktreeConfig setting"
-msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
+#: builtin/sparse-checkout.c:366
+msgid "failed to initialize worktree config"
+msgstr "gặp lỗi khi khởi tạo cấu hình cây làm việc"
 
 #: builtin/sparse-checkout.c:411
 msgid "failed to modify sparse-index config"
 msgstr "gặp lỗi khi sửa cấu hình \"sparse-index\""
 
-#: builtin/sparse-checkout.c:422
-msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
-msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
-
-#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:729
-#: builtin/sparse-checkout.c:778
+#: builtin/sparse-checkout.c:441 builtin/sparse-checkout.c:793
+#: builtin/sparse-checkout.c:847
 msgid "initialize the sparse-checkout in cone mode"
 msgstr "khởi tạo sparse-checkout trong chế độ nón"
 
-#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:731
-#: builtin/sparse-checkout.c:780
+#: builtin/sparse-checkout.c:443 builtin/sparse-checkout.c:795
+#: builtin/sparse-checkout.c:849
 msgid "toggle the use of a sparse index"
 msgstr "bật tắt việc sử dụng một \"sparse index\""
 
-#: builtin/sparse-checkout.c:476
+#: builtin/sparse-checkout.c:479
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: builtin/sparse-checkout.c:528
+#: builtin/sparse-checkout.c:531
 #, c-format
 msgid "could not normalize path %s"
 msgstr "không thể thường hóa đường dẫn “%s”"
 
-#: builtin/sparse-checkout.c:557
+#: builtin/sparse-checkout.c:560
 #, c-format
 msgid "unable to unquote C-style string '%s'"
 msgstr "không thể bỏ trích dẫn chuỗi kiểu C “%s”"
 
-#: builtin/sparse-checkout.c:612 builtin/sparse-checkout.c:640
+#: builtin/sparse-checkout.c:615 builtin/sparse-checkout.c:643
 msgid "unable to load existing sparse-checkout patterns"
 msgstr "không thể tải các mẫu sparse-checkout"
 
-#: builtin/sparse-checkout.c:616
+#: builtin/sparse-checkout.c:619
 msgid "existing sparse-checkout patterns do not use cone mode"
 msgstr "đặt các mẫu sparse-checkout sẵn có không sử dụng chế độ cone"
 
-#: builtin/sparse-checkout.c:682
-msgid "git sparse-checkout add (--stdin | <patterns>)"
-msgstr "git sparse-checkout add (--stdin | <các mẫu>)"
+#: builtin/sparse-checkout.c:707
+msgid "please run from the toplevel directory in non-cone mode"
+msgstr "vui lòng chạy từ thư mục mức cao nhất trong chế độ non-cone"
+
+#: builtin/sparse-checkout.c:712
+msgid "specify directories rather than patterns (no leading slash)"
+msgstr "chỉ định các thư mục thay mẫu (không có dấu gạch chéo đứng đầu)"
+
+#: builtin/sparse-checkout.c:714
+msgid ""
+"specify directories rather than patterns.  If your directory starts with a "
+"'!', pass --skip-checks"
+msgstr ""
+"chỉ định các thư mục thay mẫu. Nếu thư mục của bạn bắt đầu với một '!', "
+"chuyển qua --skip-checks"
+
+#: builtin/sparse-checkout.c:716
+msgid ""
+"specify directories rather than patterns.  If your directory really has any "
+"of '*?[]\\' in it, pass --skip-checks"
+msgstr ""
+"chỉ định các thư mục thay mẫu. Nếu thư mục của bạn đã sẵn có chứa một trong "
+"số bất kỳ '*?[]\\', chuyển qua --skip-checks"
+
+#: builtin/sparse-checkout.c:732
+#, c-format
+msgid ""
+"'%s' is not a directory; to treat it as a directory anyway, rerun with --"
+"skip-checks"
+msgstr ""
+"'%s' không phải là một thư mục; để vẫn coi nó là một thư mục hãy chạy với --"
+"skip-checks"
+
+#: builtin/sparse-checkout.c:734
+#, c-format
+msgid ""
+"pass a leading slash before paths such as '%s' if you want a single file "
+"(see NON-CONE PROBLEMS in the git-sparse-checkout manual)."
+msgstr ""
+"chuyển một dấu xổ chéo dẫn đầu đường dẫn như là '%s' nếu bạn muốn một tập "
+"tin đơn (xem NON-CONE PROBLEMS trong hướng dẫn sử dụng git-sparse-checkout)."
 
-#: builtin/sparse-checkout.c:694 builtin/sparse-checkout.c:733
+#: builtin/sparse-checkout.c:739
+msgid "git sparse-checkout add [--skip-checks] (--stdin | <patterns>)"
+msgstr "git sparse-checkout add [--skip-checks] (--stdin | <các mẫu>)"
+
+#: builtin/sparse-checkout.c:752 builtin/sparse-checkout.c:797
+msgid ""
+"skip some sanity checks on the given paths that might give false positives"
+msgstr ""
+"bỏ qua một số kiểm tra đúng mục trên đường dẫn đã cho cái mà có thể đưa ra "
+"xác thực sai"
+
+#: builtin/sparse-checkout.c:755 builtin/sparse-checkout.c:800
 msgid "read patterns from standard in"
 msgstr "đọc các mẫu từ đầu vào tiêu chuẩn"
 
-#: builtin/sparse-checkout.c:699
+#: builtin/sparse-checkout.c:760
 msgid "no sparse-checkout to add to"
 msgstr "không có sparse-checkout để thêm vào"
 
-#: builtin/sparse-checkout.c:712
+#: builtin/sparse-checkout.c:775
 msgid ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] (--stdin | "
-"<patterns>)"
+"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
+"(--stdin | <patterns>)"
 msgstr ""
-"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] (--stdin | <các "
-"mẫu>)"
-
-#: builtin/sparse-checkout.c:765
-msgid "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
-msgstr "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] [--skip-checks] "
+"(--stdin | <các mẫu>)"
 
-#: builtin/sparse-checkout.c:785
+#: builtin/sparse-checkout.c:854
 msgid "must be in a sparse-checkout to reapply sparsity patterns"
 msgstr "phải trong một sparse-checkout để áp dụng lại các mẫu sparse"
 
-#: builtin/sparse-checkout.c:803
-msgid "git sparse-checkout disable"
-msgstr "git sparse-checkout disable"
-
-#: builtin/sparse-checkout.c:845
+#: builtin/sparse-checkout.c:914
 msgid "error while refreshing working directory"
 msgstr "gặp lỗi khi đọc lại thư mục làm việc"
 
@@ -22527,167 +23056,151 @@ msgstr "Bảng mục lục đã không được bỏ stash."
 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ừ mục cất đi (stash)"
 
-#: builtin/stash.c:608 builtin/stash.c:706
+#: builtin/stash.c:608 builtin/stash.c:695
 msgid "attempt to recreate the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/stash.c:652
+#: builtin/stash.c:641
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "Đã xóa %s (%s)"
 
-#: builtin/stash.c:655
+#: builtin/stash.c:644
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Không thể xóa bỏ mục stash"
 
-#: builtin/stash.c:668
+#: builtin/stash.c:657
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "”%s” không phải tham chiếu đến stash"
 
-#: builtin/stash.c:718
+#: builtin/stash.c:707
 msgid "The stash entry is kept in case you need it again."
 msgstr "Các mục tạm cất (stash) được giữ trong trường hợp bạn lại cần nó."
 
-#: builtin/stash.c:741
+#: builtin/stash.c:730
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: builtin/stash.c:825
+#: builtin/stash.c:809
 msgid "failed to parse tree"
 msgstr "gặp lỗi khi phân tích cây"
 
-#: builtin/stash.c:836
+#: builtin/stash.c:820
 msgid "failed to unpack trees"
 msgstr "gặp lỗi khi tháo dỡ cây"
 
-#: builtin/stash.c:856
+#: builtin/stash.c:840
 msgid "include untracked files in the stash"
 msgstr "bao gồm các tập tin không được theo dõi trong stash"
 
-#: builtin/stash.c:859
+#: builtin/stash.c:843
 msgid "only show untracked files in the stash"
 msgstr "chỉ hiển thị các tập tin không được theo dõi trong stash"
 
-#: builtin/stash.c:946 builtin/stash.c:983
+#: builtin/stash.c:930 builtin/stash.c:967
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Không thể cập nhật %s với %s"
 
-#: builtin/stash.c:964 builtin/stash.c:1678 builtin/stash.c:1750
+#: builtin/stash.c:948 builtin/stash.c:1667 builtin/stash.c:1739
 msgid "stash message"
 msgstr "phần chú thích cho stash"
 
-#: builtin/stash.c:974
+#: builtin/stash.c:958
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" cần một đối số <lần chuyển giao>"
 
-#: builtin/stash.c:1159
+#: builtin/stash.c:1143
 msgid "No staged changes"
 msgstr "Không có thay đổi đã được đưa lên bệ phóng"
 
-#: builtin/stash.c:1220
+#: builtin/stash.c:1204
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
-#: builtin/stash.c:1320
+#: builtin/stash.c:1304
 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"
 
-#: builtin/stash.c:1347
+#: builtin/stash.c:1331
 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"
 
-#: builtin/stash.c:1356
+#: builtin/stash.c:1340
 msgid "Cannot save the untracked files"
 msgstr "Không thể ghi lại các tập tin chưa theo dõi"
 
-#: builtin/stash.c:1367 builtin/stash.c:1386
+#: builtin/stash.c:1351 builtin/stash.c:1370
 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"
 
-#: builtin/stash.c:1377
+#: builtin/stash.c:1361
 msgid "Cannot save the current staged state"
 msgstr "Không thể ghi lại trạng thái bệ phóng hiện hành"
 
-#: builtin/stash.c:1414
+#: builtin/stash.c:1398
 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"
 
-#: builtin/stash.c:1463
+#: builtin/stash.c:1447
 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"
 
-#: builtin/stash.c:1474
+#: builtin/stash.c:1458
 msgid "Can't use --staged and --include-untracked or --all at the same time"
 msgstr "Không thể dùng --staged và --include-untracked hay --all cùng một lúc"
 
-#: builtin/stash.c:1492
+#: builtin/stash.c:1476
 msgid "Did you forget to 'git add'?"
 msgstr "Có lẽ bạn đã quên “git add ” phải không?"
 
-#: builtin/stash.c:1507
+#: builtin/stash.c:1491
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: builtin/stash.c:1514
+#: builtin/stash.c:1498
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: builtin/stash.c:1529
+#: builtin/stash.c:1513
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: builtin/stash.c:1534
+#: builtin/stash.c:1518
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Đã ghi lại thư mục làm việc và trạng thái mục lục %s"
 
-#: builtin/stash.c:1627
+#: builtin/stash.c:1615
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: builtin/stash.c:1667 builtin/stash.c:1739
+#: builtin/stash.c:1656 builtin/stash.c:1728
 msgid "keep index"
 msgstr "giữ nguyên bảng mục lục"
 
-#: builtin/stash.c:1669 builtin/stash.c:1741
+#: builtin/stash.c:1658 builtin/stash.c:1730
 msgid "stash staged changes only"
 msgstr "chỉ tạm cất đi các thay đổi đã đưa lên bệ phóng"
 
-#: builtin/stash.c:1671 builtin/stash.c:1743
+#: builtin/stash.c:1660 builtin/stash.c:1732
 msgid "stash in patch mode"
 msgstr "cất đi ở chế độ miếng vá"
 
-#: builtin/stash.c:1672 builtin/stash.c:1744
+#: builtin/stash.c:1661 builtin/stash.c:1733
 msgid "quiet mode"
 msgstr "chế độ im lặng"
 
-#: builtin/stash.c:1674 builtin/stash.c:1746
+#: builtin/stash.c:1663 builtin/stash.c:1735
 msgid "include untracked files in stash"
 msgstr "bao gồm các tập tin không được theo dõi trong stash"
 
-#: builtin/stash.c:1676 builtin/stash.c:1748
+#: builtin/stash.c:1665 builtin/stash.c:1737
 msgid "include ignore files"
 msgstr "bao gồm các tập tin bị bỏ qua"
 
-#: builtin/stash.c:1783
-msgid ""
-"the stash.useBuiltin support has been removed!\n"
-"See its entry in 'git help config' for details."
-msgstr ""
-"việc hỗ trợ stash.useBuiltin đã bị xóa!\n"
-"Xem mục tin của nó trong “git help config” để biết chi tiết."
-
-#: builtin/stripspace.c:18
-msgid "git stripspace [-s | --strip-comments]"
-msgstr "git stripspace [-s | --strip-comments]"
-
-#: builtin/stripspace.c:19
-msgid "git stripspace [-c | --comment-lines]"
-msgstr "git stripspace [-c | --comment-lines]"
-
 #: builtin/stripspace.c:37
 msgid "skip and remove all lines starting with comment character"
 msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
@@ -22696,21 +23209,17 @@ 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:46 builtin/submodule--helper.c:2668
+#: builtin/submodule--helper.c:50 builtin/submodule--helper.c:2486
 #, 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"
 
-#: builtin/submodule--helper.c:63
-msgid "submodule--helper print-default-remote takes no arguments"
-msgstr "submodule--helper print-default-remote takes không nhận tham số"
-
-#: builtin/submodule--helper.c:101
+#: builtin/submodule--helper.c:103
 #, c-format
 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:211
+#: builtin/submodule--helper.c:213
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -22719,26 +23228,26 @@ msgstr ""
 "không thể tìm thấy cấu hình “%s”. Coi rằng đây là kho thượng nguồn có quyền "
 "sở hữu chính nó."
 
-#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1859
+#: builtin/submodule--helper.c:413 builtin/submodule--helper.c:1873
 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:410
+#: builtin/submodule--helper.c:418
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:468 builtin/submodule--helper.c:605
-#: builtin/submodule--helper.c:628
+#: builtin/submodule--helper.c:476 builtin/submodule--helper.c:617
+#: builtin/submodule--helper.c:640
 #, 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:520
+#: builtin/submodule--helper.c:528
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Đang vào “%s”\n"
 
-#: builtin/submodule--helper.c:523
+#: builtin/submodule--helper.c:531
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -22747,7 +23256,7 @@ msgstr ""
 "run_command trả về trạng thái khác không cho %s\n"
 "."
 
-#: builtin/submodule--helper.c:545
+#: builtin/submodule--helper.c:553
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -22758,69 +23267,69 @@ msgstr ""
 "con lồng nhau của %s\n"
 "."
 
-#: builtin/submodule--helper.c:561
+#: builtin/submodule--helper.c:569
 msgid "suppress output of entering each submodule command"
 msgstr "chặn kết xuất của từng lệnh mô-đun-con"
 
-#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:864
-#: builtin/submodule--helper.c:1453
+#: builtin/submodule--helper.c:571 builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:1458
 msgid "recurse into nested submodules"
 msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:568
+#: builtin/submodule--helper.c:576
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--]  <lệnh>"
 
-#: builtin/submodule--helper.c:642
+#: builtin/submodule--helper.c:654
 #, 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:646
+#: builtin/submodule--helper.c:658
 #, 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:656
+#: builtin/submodule--helper.c:668
 #, 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:663
+#: builtin/submodule--helper.c:675
 #, 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:685
+#: builtin/submodule--helper.c:697
 msgid "suppress output for initializing a submodule"
 msgstr "chặn kết xuất của khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:690
+#: builtin/submodule--helper.c:702
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<các tùy chọn>] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:763 builtin/submodule--helper.c:898
+#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:910
 #, 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:811
+#: builtin/submodule--helper.c:823
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "không thể phân giải tham chiếu HEAD bên trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:838 builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:850 builtin/submodule--helper.c:1428
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "gặp lỗi khi đệ quy vào trong mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:862 builtin/submodule--helper.c:1590
+#: builtin/submodule--helper.c:874 builtin/submodule--helper.c:1595
 msgid "suppress submodule status output"
 msgstr "chặn kết xuất về tình trạng mô-đun-con"
 
-#: builtin/submodule--helper.c:863
+#: builtin/submodule--helper.c:875
 msgid ""
 "use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -22828,98 +23337,98 @@ msgstr ""
 "dùng lần chuyển giao lưu trong mục lục thay cho cái được lưu trong HEAD mô-"
 "đun-con"
 
-#: builtin/submodule--helper.c:869
+#: builtin/submodule--helper.c:881
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 "git submodule status [--quiet] [--cached] [--recursive] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:893
+#: builtin/submodule--helper.c:905
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:965
+#: builtin/submodule--helper.c:977
 #, c-format
 msgid "* %s %s(blob)->%s(submodule)"
 msgstr ""
 "* %s %s(blob)->%s(\n"
 ")"
 
-#: builtin/submodule--helper.c:968
+#: builtin/submodule--helper.c:980
 #, c-format
 msgid "* %s %s(submodule)->%s(blob)"
 msgstr "* %s %s(mô-đun-con)->%s(blob)"
 
-#: builtin/submodule--helper.c:981
+#: builtin/submodule--helper.c:993
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: builtin/submodule--helper.c:1031
+#: builtin/submodule--helper.c:1043
 #, c-format
 msgid "couldn't hash object from '%s'"
 msgstr "không thể băm đối tượng từ “%s”"
 
-#: builtin/submodule--helper.c:1035
+#: builtin/submodule--helper.c:1047
 #, c-format
 msgid "unexpected mode %o\n"
 msgstr "gặp chế độ không như mong chờ %o\n"
 
-#: builtin/submodule--helper.c:1276
+#: builtin/submodule--helper.c:1288
 msgid "use the commit stored in the index instead of the submodule HEAD"
 msgstr "hùng lần chuyển giao đã lưu trong mục lục thay cho HEAD mô-đun-con"
 
-#: builtin/submodule--helper.c:1278
+#: builtin/submodule--helper.c:1290
 msgid "compare the commit in the index with that in the submodule HEAD"
 msgstr "để so sánh lần trong mục lục với cái trong HEAD mô-đun-con"
 
-#: builtin/submodule--helper.c:1280
+#: builtin/submodule--helper.c:1292
 msgid "skip submodules with 'ignore_config' value set to 'all'"
 msgstr ""
 "bỏ qua các mô-đun-con với giá trị của “ignore_config” được đặt thành “all”"
 
-#: builtin/submodule--helper.c:1282
+#: builtin/submodule--helper.c:1294
 msgid "limit the summary size"
 msgstr "giới hạn kích cỡ tổng hợp"
 
-#: builtin/submodule--helper.c:1287
+#: builtin/submodule--helper.c:1299
 msgid "git submodule--helper summary [<options>] [<commit>] [--] [<path>]"
 msgstr ""
 "git submodule--helper summary [<các tùy chọn>] [<lần_chuyển_giao>] [--] [</"
 "đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1311
+#: builtin/submodule--helper.c:1323
 msgid "could not fetch a revision for HEAD"
 msgstr "không thể lấy về một điểm xem xét cho HEAD"
 
-#: builtin/submodule--helper.c:1373
+#: builtin/submodule--helper.c:1384
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Url mô-đun-con đồng bộ hóa cho “%s”\n"
 
-#: builtin/submodule--helper.c:1379
+#: builtin/submodule--helper.c:1390
 #, 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:1393
+#: builtin/submodule--helper.c:1399
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "gặp lỗi khi lấy máy chủ mặc định cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1404
+#: builtin/submodule--helper.c:1409
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "gặp lỗi khi cập nhật cho mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1451
+#: builtin/submodule--helper.c:1456
 msgid "suppress output of synchronizing submodule url"
 msgstr "chặn kết xuất của url mô-đun-con đồng bộ"
 
-#: builtin/submodule--helper.c:1458
+#: builtin/submodule--helper.c:1463
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1508
+#: builtin/submodule--helper.c:1513
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory. This will be replaced "
@@ -22928,7 +23437,7 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” có chứa thư mục .git. Việc này sẽ được thay thế "
 "với một tập tin .git bằng các sử dụng absorbgitdirs."
 
-#: builtin/submodule--helper.c:1525
+#: builtin/submodule--helper.c:1530
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -22937,45 +23446,45 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” chứa các thay đổi nội bộ; hãy dùng “-f” để loại "
 "bỏ chúng đi"
 
-#: builtin/submodule--helper.c:1533
+#: builtin/submodule--helper.c:1538
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Đã xóa thư mục “%s”\n"
 
-#: builtin/submodule--helper.c:1535
+#: builtin/submodule--helper.c:1540
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Không thể gỡ bỏ cây làm việc mô-đun-con “%s”\n"
 
-#: builtin/submodule--helper.c:1546
+#: builtin/submodule--helper.c:1551
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "không thể tạo thư mục mô-đun-con rỗng “%s”"
 
-#: builtin/submodule--helper.c:1562
+#: builtin/submodule--helper.c:1567
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Mô-đun-con “%s” (%s) được đăng ký cho đường dẫn “%s”\n"
 
-#: builtin/submodule--helper.c:1591
+#: builtin/submodule--helper.c:1596
 msgid "remove submodule working trees even if they contain local changes"
 msgstr "gỡ bỏ cây làm việc của mô-đun-con ngay cả khi nó có thay đổi nội bộ"
 
-#: builtin/submodule--helper.c:1592
+#: builtin/submodule--helper.c:1597
 msgid "unregister all submodules"
 msgstr "bỏ đăng ký tất cả các trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1597
+#: builtin/submodule--helper.c:1602
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--]  [</đường/dẫn>…]]"
 
-#: builtin/submodule--helper.c:1611
+#: builtin/submodule--helper.c:1616
 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"
 
-#: builtin/submodule--helper.c:1656
+#: builtin/submodule--helper.c:1665
 msgid ""
 "An alternate computed from a superproject's alternate is invalid.\n"
 "To allow Git to clone without an alternate in such a case, set\n"
@@ -22990,102 +23499,102 @@ msgstr ""
 "bằng\n"
 "“--reference-if-able” thay vì dùng “--reference”."
 
-#: builtin/submodule--helper.c:1701 builtin/submodule--helper.c:1704
+#: builtin/submodule--helper.c:1710 builtin/submodule--helper.c:1713
 #, 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:1740
+#: builtin/submodule--helper.c:1749
 #, 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:1747
+#: builtin/submodule--helper.c:1756
 #, 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:1772
+#: builtin/submodule--helper.c:1781
 #, c-format
 msgid "refusing to create/use '%s' in another submodule's git dir"
 msgstr "từ chối tạo/dùng “%s” trong một thư mục git của mô đun con"
 
-#: builtin/submodule--helper.c:1813
+#: builtin/submodule--helper.c:1826
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "việc sao “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:1818
+#: builtin/submodule--helper.c:1831
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "thư mục không trống: “%s”"
 
-#: builtin/submodule--helper.c:1830
+#: builtin/submodule--helper.c:1843
 #, 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:1862
+#: builtin/submodule--helper.c:1876
 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:1865
+#: builtin/submodule--helper.c:1879
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:1868
+#: builtin/submodule--helper.c:1882
 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:1876 builtin/submodule--helper.c:3265
+#: builtin/submodule--helper.c:1890 builtin/submodule--helper.c:3383
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:1879 builtin/submodule--helper.c:2526
-#: builtin/submodule--helper.c:3258
+#: builtin/submodule--helper.c:1893 builtin/submodule--helper.c:2731
+#: builtin/submodule--helper.c:3376
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1881 builtin/submodule--helper.c:2528
+#: builtin/submodule--helper.c:1895 builtin/submodule--helper.c:2733
 msgid "disallow cloning into non-empty directory"
 msgstr "làm đầy đủ dữ liệu cho bản sao vào trong một thư mục trống rỗng"
 
-#: builtin/submodule--helper.c:1888
+#: builtin/submodule--helper.c:1903
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
-"<url> --path <path>"
+"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
+"<filter-spec>] --url <url> --path <path>"
 msgstr ""
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
-"<kho>] [--name <tên>] [--depth <sâu>] [--single-branch] --url <url> --path </"
-"đường/dẫn>"
+"<kho>] [--name <tên>] [--depth <sâu>] [--single-branch] [--filter <filter-"
+"spec>] --url <url> --path </đường/dẫn>"
 
-#: builtin/submodule--helper.c:1925
+#: builtin/submodule--helper.c:1943
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Chế độ cập nhật “%s” không hợp lệ cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1929
+#: builtin/submodule--helper.c:1947
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Chế độ cập nhật “%s” không hợp lệ được cấu hình cho đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2044
+#: builtin/submodule--helper.c:2041
 #, 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:2048
+#: builtin/submodule--helper.c:2045
 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:2078
+#: builtin/submodule--helper.c:2075
 #, 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:2107
+#: builtin/submodule--helper.c:2104
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
@@ -23100,54 +23609,54 @@ msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 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:2373
+#: builtin/submodule--helper.c:2371
 #, c-format
 msgid "Unable to checkout '%s' in submodule path '%s'"
 msgstr "Không thể lấy ra “%s” trong đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2377
+#: builtin/submodule--helper.c:2375
 #, c-format
 msgid "Unable to rebase '%s' in submodule path '%s'"
 msgstr "Không thể cải tổ “%s” trong đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2381
+#: builtin/submodule--helper.c:2379
 #, c-format
 msgid "Unable to merge '%s' in submodule path '%s'"
 msgstr "Không thể hòa trộn (merge) “%s” trong đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2385
+#: builtin/submodule--helper.c:2383
 #, c-format
 msgid "Execution of '%s %s' failed in submodule path '%s'"
 msgstr ""
 "Thực hiện không thành công lệnh “%s %s” trong đường dẫn mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:2409
+#: builtin/submodule--helper.c:2402
 #, c-format
 msgid "Submodule path '%s': checked out '%s'\n"
 msgstr "Đường dẫn mô-đun-con “%s”: đã checkout “%s”\n"
 
-#: builtin/submodule--helper.c:2413
+#: builtin/submodule--helper.c:2406
 #, c-format
 msgid "Submodule path '%s': rebased into '%s'\n"
 msgstr "Đường dẫn mô-đun-con “%s”: được rebase vào trong “%s”\n"
 
-#: builtin/submodule--helper.c:2417
+#: builtin/submodule--helper.c:2410
 #, c-format
 msgid "Submodule path '%s': merged in '%s'\n"
 msgstr "Đường dẫn mô-đun-con “%s”: được hòa trộn vào “%s”\n"
 
-#: builtin/submodule--helper.c:2421
+#: builtin/submodule--helper.c:2414
 #, c-format
 msgid "Submodule path '%s': '%s %s'\n"
 msgstr "Đường dẫn mô-đun-con “%s”: “%s %s”\n"
 
-#: builtin/submodule--helper.c:2445
+#: builtin/submodule--helper.c:2438
 #, c-format
 msgid "Unable to fetch in submodule path '%s'; trying to directly fetch %s:"
 msgstr ""
 "Không thể lấy về trong đường dẫn mô-đun-con “%s”; thử lấy về trực tiếp %s:"
 
-#: builtin/submodule--helper.c:2454
+#: builtin/submodule--helper.c:2447
 #, c-format
 msgid ""
 "Fetched in submodule path '%s', but it did not contain %s. Direct fetching "
@@ -23156,181 +23665,208 @@ msgstr ""
 "Đã lấy về từ đường dẫn mô-đun con “%s”, nhưng nó không chứa %s. Lấy về trực "
 "tiếp lần chuyển giao gặp lỗi đó."
 
-#: builtin/submodule--helper.c:2505 builtin/submodule--helper.c:2575
-#: builtin/submodule--helper.c:2813
+#: builtin/submodule--helper.c:2481
+#, c-format
+msgid ""
+"Submodule (%s) branch configured to inherit branch from superproject, but "
+"the superproject is not on any branch"
+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:2499
+#, c-format
+msgid "could not get a repository handle for submodule '%s'"
+msgstr "không thể lấy thẻ quản kho cho mô-đun-con “%s”"
+
+#: builtin/submodule--helper.c:2588
+#, c-format
+msgid "Unable to find current revision in submodule path '%s'"
+msgstr ""
+"Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con “%s”"
+
+#: builtin/submodule--helper.c:2599
+#, c-format
+msgid "Unable to fetch in submodule path '%s'"
+msgstr "Không thể lấy về trong đường dẫn mô-đun-con “%s”"
+
+#: builtin/submodule--helper.c:2604
+#, c-format
+msgid "Unable to find %s revision in submodule path '%s'"
+msgstr "Không tìm thấy điểm xét duyệt %s trong đường dẫn mô-đun-con “%s”"
+
+#: builtin/submodule--helper.c:2640
+#, c-format
+msgid "Failed to recurse into submodule path '%s'"
+msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “%s”"
+
+#: builtin/submodule--helper.c:2699
+msgid "force checkout updates"
+msgstr "ép buộc lấy ra các cập nhật"
+
+#: builtin/submodule--helper.c:2701
+msgid "initialize uninitialized submodules before update"
+msgstr "khởi tạo mô-đun-con chưa khởi tạo trước khi cập nhật"
+
+#: builtin/submodule--helper.c:2703
+msgid "use SHA-1 of submodule's remote tracking branch"
+msgstr "sử dụng SHA-1 của nhánh theo dõi máy chủ của mô-đun-con"
+
+#: builtin/submodule--helper.c:2705
+msgid "traverse submodules recursively"
+msgstr "đi theo mô-đun con một cách đệ quy"
+
+#: builtin/submodule--helper.c:2707
+msgid "don't fetch new objects from the remote site"
+msgstr "đừng lấy các đối tượng mới từ địa chỉ trên mạng"
+
+#: builtin/submodule--helper.c:2710 builtin/submodule--helper.c:2892
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:2508 builtin/submodule--helper.c:2580
+#: builtin/submodule--helper.c:2713
 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:2512 builtin/submodule--helper.c:2578
+#: builtin/submodule--helper.c:2717
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:2518
+#: builtin/submodule--helper.c:2723
 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:2521
+#: builtin/submodule--helper.c:2726
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:2523
+#: builtin/submodule--helper.c:2728
 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:2524
+#: builtin/submodule--helper.c:2729
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:2535
-msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+#: builtin/submodule--helper.c:2741
+msgid ""
+"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
+"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
+"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
+"[--] [<path>...]"
 msgstr ""
-"git submodule--helper update-clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
+"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
+"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
+"shallow] [--reference <kho>] [--recursive] [--[no-]single-branch] [--] [</"
+"đường/dẫn/>...]"
 
-#: builtin/submodule--helper.c:2548
+#: builtin/submodule--helper.c:2767
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:2566
-msgid "suppress output for update by rebase or merge"
-msgstr "chặn kết xuất cho cập nhật bởi cải tổ hoặc hòa trộn"
-
-#: builtin/submodule--helper.c:2567
-msgid "force checkout updates"
-msgstr "ép buộc lấy ra các cập nhật"
-
-#: builtin/submodule--helper.c:2569
-msgid "don't fetch new objects from the remote site"
-msgstr "đừng lấy các đối tượng mới từ địa chỉ trên mạng"
-
-#: builtin/submodule--helper.c:2571
-msgid "overrides update mode in case the repository is a fresh clone"
-msgstr "ghi đè chế độ cập nhật trong trường hợp kho lưu trữ là bản sao mới"
-
-#: builtin/submodule--helper.c:2572
-msgid "depth for shallow fetch"
-msgstr "chiều sâu lịch sử muốn lấy về"
-
-#: builtin/submodule--helper.c:2582
-msgid "sha1"
-msgstr "sha1"
-
-#: builtin/submodule--helper.c:2583
-msgid "SHA1 expected by superproject"
-msgstr "SHA1 là cần thiết cho superproject"
-
-#: builtin/submodule--helper.c:2585
-msgid "subsha1"
-msgstr "subsha1"
-
-#: builtin/submodule--helper.c:2586
-msgid "SHA1 of submodule's HEAD"
-msgstr "SHA1 của HEAD của mô-đun-con"
-
-#: builtin/submodule--helper.c:2592
-msgid "git submodule--helper run-update-procedure [<options>] <path>"
-msgstr ""
-"git submodule--helper run-update-procedure [<các tùy chọn>] </đường/dẫn>"
-
-#: builtin/submodule--helper.c:2663
-#, c-format
-msgid ""
-"Submodule (%s) branch configured to inherit branch from superproject, but "
-"the superproject is not on any branch"
-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:2781
-#, c-format
-msgid "could not get a repository handle for submodule '%s'"
-msgstr "không thể lấy thẻ quản kho cho mô-đun-con “%s”"
-
-#: builtin/submodule--helper.c:2814
+#: builtin/submodule--helper.c:2893
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:2820
+#: builtin/submodule--helper.c:2899
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<các tùy chọn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:2876
+#: builtin/submodule--helper.c:2955
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "chọn nếu nó là an toàn để ghi vào tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2879
+#: builtin/submodule--helper.c:2958
 msgid "unset the config in the .gitmodules file"
 msgstr "bỏ đặt cấu hình trong tập tin .gitmodules"
 
-#: builtin/submodule--helper.c:2884
+#: builtin/submodule--helper.c:2963
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <tên> [<giá trị>]"
 
-#: builtin/submodule--helper.c:2885
+#: builtin/submodule--helper.c:2964
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <tên>"
 
-#: builtin/submodule--helper.c:2886
-msgid "git submodule--helper config --check-writeable"
-msgstr "git submodule--helper config --check-writeable"
-
-#: builtin/submodule--helper.c:2905 builtin/submodule--helper.c:3121
-#: builtin/submodule--helper.c:3277
+#: builtin/submodule--helper.c:2984 builtin/submodule--helper.c:3238
+#: builtin/submodule--helper.c:3395
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr "hãy đảm bảo rằng tập tin .gitmodules có trong cây làm việc"
 
-#: builtin/submodule--helper.c:2921
+#: builtin/submodule--helper.c:3000
 msgid "suppress output for setting url of a submodule"
 msgstr "chặn kết xuất cho cài đặt url của một mô-đun-con"
 
-#: builtin/submodule--helper.c:2925
+#: builtin/submodule--helper.c:3004
 msgid "git submodule--helper set-url [--quiet] <path> <newurl>"
 msgstr "git submodule--helper set-url [--quiet] </đường/dẫn> <url_mới>"
 
-#: builtin/submodule--helper.c:2958
+#: builtin/submodule--helper.c:3037
 msgid "set the default tracking branch to master"
 msgstr "đặt nhánh theo dõi mặc định thành master"
 
-#: builtin/submodule--helper.c:2960
+#: builtin/submodule--helper.c:3039
 msgid "set the default tracking branch"
 msgstr "đặt nhánh theo dõi mặc định"
 
-#: builtin/submodule--helper.c:2964
+#: builtin/submodule--helper.c:3043
 msgid "git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet](-d|--default)</đường/dẫn>"
 
-#: builtin/submodule--helper.c:2965
+#: builtin/submodule--helper.c:3044
 msgid ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
 msgstr ""
 "git submodule--helper set-branch [-q|--quiet] (-b|--branch) <nhánh> </đường/"
 "dẫn>"
 
-#: builtin/submodule--helper.c:2972
+#: builtin/submodule--helper.c:3051
 msgid "--branch or --default required"
 msgstr "cần --branch hoặc --default"
 
-#: builtin/submodule--helper.c:3038
+#: builtin/submodule--helper.c:3072 builtin/submodule--helper.c:3375
+msgid "print only error messages"
+msgstr "chỉ hiển thị các thông điệp báo lỗi"
+
+#: builtin/submodule--helper.c:3073
+msgid "force creation"
+msgstr "buộc tạo"
+
+#: builtin/submodule--helper.c:3081
+msgid "show whether the branch would be created"
+msgstr "hiển thị xem nhánh nào nên được tạo ra"
+
+#: builtin/submodule--helper.c:3085
+msgid ""
+"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
+"quiet] [-t|--track] [-n|--dry-run] <name> <start-oid> <start-name>"
+msgstr ""
+"git submodule--helper create-branch [-f|--force] [--create-reflog] [-q|--"
+"quiet] [-t|--track] [-n|--dry-run] <tên> <start-oid> <start-name>"
+
+#: builtin/submodule--helper.c:3097
+#, c-format
+msgid "creating branch '%s'"
+msgstr "đang tạo nhánh “%s”"
+
+#: builtin/submodule--helper.c:3155
 #, c-format
 msgid "Adding existing repo at '%s' to the index\n"
 msgstr "Đang thêm repo có sẵn tại “%s” vào bảng mục lục\n"
 
-#: builtin/submodule--helper.c:3041
+#: builtin/submodule--helper.c:3158
 #, c-format
 msgid "'%s' already exists and is not a valid git repo"
 msgstr "“%s” đã tồn tại từ trước và không phải là một kho git hợp lệ"
 
-#: builtin/submodule--helper.c:3054
+#: builtin/submodule--helper.c:3171
 #, c-format
 msgid "A git directory for '%s' is found locally with remote(s):\n"
 msgstr "Thư mục git cho “%s” được tìm thấy một cách cục bộ với các máy chủ:\n"
 
-#: builtin/submodule--helper.c:3061
+#: builtin/submodule--helper.c:3178
 #, c-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -23348,87 +23884,83 @@ msgstr ""
 "là bạn không chắc chắn điều đó nghĩa là gì thì chọn tên khác với tùy chọn “--"
 "name”."
 
-#: builtin/submodule--helper.c:3073
+#: builtin/submodule--helper.c:3190
 #, c-format
 msgid "Reactivating local git directory for submodule '%s'\n"
 msgstr "Phục hồi sự hoạt động của thư mục git nội bộ cho mô-đun-con “%s”.\n"
 
-#: builtin/submodule--helper.c:3110
+#: builtin/submodule--helper.c:3227
 #, c-format
 msgid "unable to checkout submodule '%s'"
 msgstr "không thể lấy ra mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:3149
+#: builtin/submodule--helper.c:3266
 #, c-format
 msgid "Failed to add submodule '%s'"
 msgstr "Gặp lỗi khi thêm mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:3153 builtin/submodule--helper.c:3158
-#: builtin/submodule--helper.c:3166
+#: builtin/submodule--helper.c:3270 builtin/submodule--helper.c:3275
+#: builtin/submodule--helper.c:3283
 #, c-format
 msgid "Failed to register submodule '%s'"
 msgstr "Gặp lỗi khi đăng ký mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:3222
+#: builtin/submodule--helper.c:3339
 #, c-format
 msgid "'%s' already exists in the index"
 msgstr "”%s” thực sự đã tồn tại ở bảng mục lục rồi"
 
-#: builtin/submodule--helper.c:3225
+#: builtin/submodule--helper.c:3342
 #, c-format
 msgid "'%s' already exists in the index and is not a submodule"
 msgstr ""
 "”%s” thực sự đã tồn tại ở bảng mục lục rồi và không phải là một mô-đun-con"
 
-#: builtin/submodule--helper.c:3254
+#: builtin/submodule--helper.c:3372
 msgid "branch of repository to add as submodule"
 msgstr "nhánh của kho để thêm như là mô-đun-con"
 
-#: builtin/submodule--helper.c:3255
+#: builtin/submodule--helper.c:3373
 msgid "allow adding an otherwise ignored submodule path"
 msgstr "cho phép thêm một đường dẫn mô-đun-con bị bỏ qua khác"
 
-#: builtin/submodule--helper.c:3257
-msgid "print only error messages"
-msgstr "chỉ hiển thị các thông điệp báo lỗi"
-
-#: builtin/submodule--helper.c:3261
+#: builtin/submodule--helper.c:3379
 msgid "borrow the objects from reference repositories"
 msgstr "vay mượn các đối tượng từ kho thay thế"
 
-#: builtin/submodule--helper.c:3263
+#: builtin/submodule--helper.c:3381
 msgid ""
 "sets the submodule’s name to the given string instead of defaulting to its "
 "path"
 msgstr ""
-"đặt tên của submodule bằng chuỗi đã cho thay vì mặc định là đường dẫn của nó"
+"đặt tên của mô-đun-con bằng chuỗi đã cho thay vì mặc định là đường dẫn của nó"
 
-#: builtin/submodule--helper.c:3270
+#: builtin/submodule--helper.c:3388
 msgid "git submodule--helper add [<options>] [--] <repository> [<path>]"
 msgstr "git submodule--helper add [<các tùy chọn>] [--] <kho> [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:3298
+#: builtin/submodule--helper.c:3416
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Đường dẫn tương đối chỉ có thể dùng từ thư mục ở mức cao nhất của cây làm "
 "việc"
 
-#: builtin/submodule--helper.c:3306
+#: builtin/submodule--helper.c:3425
 #, c-format
 msgid "repo URL: '%s' must be absolute or begin with ./|../"
 msgstr "repo URL: “%s” phải là đường dẫn tuyệt đối hoặc là bắt đầu bằng ./|../"
 
-#: builtin/submodule--helper.c:3341
+#: builtin/submodule--helper.c:3460
 #, c-format
 msgid "'%s' is not a valid submodule name"
 msgstr "“%s” không phải là một tên mô-đun-con hợp lệ"
 
-#: builtin/submodule--helper.c:3405 git.c:452 git.c:726
+#: builtin/submodule--helper.c:3520 git.c:453 git.c:729
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
 
-#: builtin/submodule--helper.c:3411
+#: builtin/submodule--helper.c:3526
 #, 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ệ"
@@ -23461,7 +23993,7 @@ msgstr "lý do"
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
-#: builtin/tag.c:25
+#: builtin/tag.c:26
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
 "        <tagname> [<head>]"
@@ -23469,11 +24001,11 @@ msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <tập-tin>]\n"
 "        <tên-thẻ> [<head>]"
 
-#: builtin/tag.c:27
+#: builtin/tag.c:28
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <tên-thẻ>…"
 
-#: builtin/tag.c:28
+#: builtin/tag.c:29
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
@@ -23485,21 +24017,21 @@ msgstr ""
 "        [--format=<định_dạng>] [--merged <lần_chuyển_giao>] [--no-merged "
 "[<lần_chuyển_giao>]] [<mẫu>…]"
 
-#: builtin/tag.c:30
+#: builtin/tag.c:31
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:100
+#: builtin/tag.c:101
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:135
+#: builtin/tag.c:136
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:170
+#: builtin/tag.c:171
 #, c-format
 msgid ""
 "\n"
@@ -23512,7 +24044,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:174
+#: builtin/tag.c:175
 #, c-format
 msgid ""
 "\n"
@@ -23527,11 +24059,11 @@ 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:240
+#: builtin/tag.c:241
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:258
+#: builtin/tag.c:259
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -23544,115 +24076,119 @@ msgstr ""
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:274
+#: builtin/tag.c:275
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:325
+#: builtin/tag.c:326
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:332
+#: builtin/tag.c:333
 #, 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:444
+#: builtin/tag.c:445
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:446
+#: builtin/tag.c:447
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:448
+#: builtin/tag.c:449
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:449
+#: builtin/tag.c:450
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:451
+#: builtin/tag.c:452
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:453
+#: builtin/tag.c:454
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:455
+#: builtin/tag.c:456
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:457
+#: builtin/tag.c:458
 msgid "force edit of tag message"
 msgstr "ép buộc sửa thẻ lần commit"
 
-#: builtin/tag.c:458
+#: builtin/tag.c:459
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:461
+#: builtin/tag.c:462
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:462
+#: builtin/tag.c:463
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:463 builtin/update-ref.c:511
+#: builtin/tag.c:464 builtin/update-ref.c:511
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:465
+#: builtin/tag.c:466
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:466
+#: builtin/tag.c:467
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:467 builtin/tag.c:469
+#: builtin/tag.c:468 builtin/tag.c:470
 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:468 builtin/tag.c:470
+#: builtin/tag.c:469 builtin/tag.c:471
 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:471
+#: builtin/tag.c:472
 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:472
+#: builtin/tag.c:473
 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:476
+#: builtin/tag.c:477
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:558
+#: builtin/tag.c:559
 #, c-format
 msgid "the '%s' option is only allowed in list mode"
 msgstr "tùy chọn '%s' chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:597
+#: builtin/tag.c:598
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:602
+#: builtin/tag.c:603
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:633
+#: builtin/tag.c:634
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
+#: builtin/unpack-objects.c:95
+msgid "pack exceeds maximum allowed size"
+msgstr "gói đã vượt quá cỡ tối đa được phép"
+
 #: builtin/unpack-objects.c:504
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
@@ -23711,147 +24247,147 @@ msgstr " Đồng ý"
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:993
 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:977
+#: builtin/update-index.c:996
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:980
+#: builtin/update-index.c:999
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:1001
 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:984
+#: builtin/update-index.c:1003
 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:986
+#: builtin/update-index.c:1005
 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:989
+#: builtin/update-index.c:1008
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:1012
 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:997
+#: builtin/update-index.c:1016
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1017
 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:1008
+#: builtin/update-index.c:1027
 msgid "mark files as \"not changing\""
 msgstr "đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1030
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1033
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1036
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:1020
+#: builtin/update-index.c:1039
 msgid "do not touch index-only entries"
 msgstr "đừng động vào các mục index-only"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1041
 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:1024
+#: builtin/update-index.c:1043
 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:1026
+#: builtin/update-index.c:1045
 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:1028
+#: builtin/update-index.c:1047
 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:1032
+#: builtin/update-index.c:1051
 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:1036
+#: builtin/update-index.c:1055
 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:1040
+#: builtin/update-index.c:1059
 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:1044
+#: builtin/update-index.c:1063
 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:1047
+#: builtin/update-index.c:1066
 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:1049
+#: builtin/update-index.c:1068
 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:1053
+#: builtin/update-index.c:1072
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:1055
+#: builtin/update-index.c:1074
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:1057
+#: builtin/update-index.c:1076
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1059
+#: builtin/update-index.c:1078
 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:1061
+#: builtin/update-index.c:1080
 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:1063
+#: builtin/update-index.c:1082
 msgid "write out the index even if is not flagged as changed"
 msgstr "ghi ra mục lục ngay cả khi không được đánh cờ là có thay đổi"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1084
 msgid "enable or disable file system monitor"
 msgstr "bật/tắt theo dõi hệ thống tập tin"
 
-#: builtin/update-index.c:1067
+#: builtin/update-index.c:1086
 msgid "mark files as fsmonitor valid"
 msgstr "đánh dấu các tập tin là hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1070
+#: builtin/update-index.c:1089
 msgid "clear fsmonitor valid bit"
 msgstr "xóa bít hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1173
+#: builtin/update-index.c:1195
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -23859,7 +24395,7 @@ 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:1182
+#: builtin/update-index.c:1204
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -23867,7 +24403,7 @@ 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:1194
+#: builtin/update-index.c:1216
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -23875,11 +24411,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:1198
+#: builtin/update-index.c:1220
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1206
+#: builtin/update-index.c:1228
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -23887,29 +24423,29 @@ 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:1210
+#: builtin/update-index.c:1232
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
 
-#: builtin/update-index.c:1218
+#: builtin/update-index.c:1241
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor chưa được đặt; đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1222
+#: builtin/update-index.c:1246
 msgid "fsmonitor enabled"
 msgstr "fsmonitor được bật"
 
-#: builtin/update-index.c:1225
+#: builtin/update-index.c:1250
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor đã được đặt; bỏ đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1229
+#: builtin/update-index.c:1254
 msgid "fsmonitor disabled"
 msgstr "fsmonitor bị tắt"
 
@@ -23941,10 +24477,6 @@ msgstr "đầu vào tiêu chuẩn có các đối số được chấm dứt b
 msgid "read updates from stdin"
 msgstr "đọc cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-server-info.c:7
-msgid "git update-server-info [--force]"
-msgstr "git update-server-info [--force]"
-
 #: builtin/update-server-info.c:15
 msgid "update the info files from scratch"
 msgstr "cập nhật các tập tin thông tin từ điểm xuất phát"
@@ -24026,33 +24558,37 @@ msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<các tùy chọn>] <worktree>"
 
 #: builtin/worktree.c:25
+msgid "git worktree repair [<path>...]"
+msgstr "git worktree repair [</đường/dẫn/>...]"
+
+#: builtin/worktree.c:26
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock </đường/dẫn>"
 
-#: builtin/worktree.c:75
+#: builtin/worktree.c:76
 #, c-format
 msgid "Removing %s/%s: %s"
 msgstr "Đang xóa %s/%s: %s"
 
-#: builtin/worktree.c:148
+#: builtin/worktree.c:149
 msgid "report pruned working trees"
 msgstr "báo cáo các cây làm việc đã prune"
 
-#: builtin/worktree.c:150
+#: builtin/worktree.c:151
 msgid "expire working trees older than <time>"
 msgstr "các cây làm việc hết hạn cũ hơn khoảng <thời gian>"
 
-#: builtin/worktree.c:220
+#: builtin/worktree.c:221
 #, c-format
 msgid "'%s' already exists"
 msgstr "“%s” đã có từ trước rồi"
 
-#: builtin/worktree.c:229
+#: builtin/worktree.c:230
 #, c-format
 msgid "unusable worktree destination '%s'"
 msgstr "đích cây làm việc không sử dụng được “%s”"
 
-#: builtin/worktree.c:234
+#: builtin/worktree.c:235
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -24061,7 +24597,7 @@ msgstr ""
 "“%s” bị mất nhưng cây làm việc bị khóa;\n"
 "dùng “%s -f -f” để ghi đè, hoặc “unlock” và “prune” hay “remove” để xóa"
 
-#: builtin/worktree.c:236
+#: builtin/worktree.c:237
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -24070,129 +24606,148 @@ msgstr ""
 "“%s” bị mất nhưng cây làm việc đã được đăng ký;\n"
 "dùng “%s -f” để ghi đè, hoặc “prune” hay “remove” để xóa"
 
-#: builtin/worktree.c:287
+#: builtin/worktree.c:248
+#, c-format
+msgid "failed to copy '%s' to '%s'; sparse-checkout may not work correctly"
+msgstr "gặp lỗi khi sao chép '%s' sang '%s'; không thể làm việc đúng được"
+
+#: builtin/worktree.c:268
+#, c-format
+msgid "failed to copy worktree config from '%s' to '%s'"
+msgstr "gặp lỗi khi sao chép cấu hình cây làm việc từ “%s” sang “%s”"
+
+#: builtin/worktree.c:280 builtin/worktree.c:285
+#, c-format
+msgid "failed to unset '%s' in '%s'"
+msgstr "gặp lỗi bỏ đặt “%s” trong “%s”"
+
+#: builtin/worktree.c:356
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "không thể tạo thư mục của “%s”"
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:378
 msgid "initializing"
 msgstr "khởi tạo"
 
-#: builtin/worktree.c:420 builtin/worktree.c:426
+#: builtin/worktree.c:492 builtin/worktree.c:498
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Đang chuẩn bị cây làm việc (nhánh mới “%s”)"
 
-#: builtin/worktree.c:422
+#: builtin/worktree.c:494
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr "Đang chuẩn bị cây làm việc (đang cài đặt nhánh “%s”, trước đây tại %s)"
 
-#: builtin/worktree.c:431
+#: builtin/worktree.c:503
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Đang chuẩn bị cây làm việc (đang lấy ra “%s”)"
 
-#: builtin/worktree.c:437
+#: builtin/worktree.c:509
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Đang chuẩn bị cây làm việc (HEAD đã tách rời “%s”)"
 
-#: builtin/worktree.c:482
+#: builtin/worktree.c:554
 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:485
+#: builtin/worktree.c:557
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:487
+#: builtin/worktree.c:559
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:489
+#: builtin/worktree.c:561
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:490
+#: builtin/worktree.c:562
 msgid "keep the new working tree locked"
 msgstr "giữ cây làm việc mới bị khóa"
 
-#: builtin/worktree.c:492 builtin/worktree.c:729
+#: builtin/worktree.c:564 builtin/worktree.c:809
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:567
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:570
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr "có khớp tên tên nhánh mới với một nhánh theo dõi máy chủ"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:584
 msgid "added with --lock"
 msgstr "được thêm với --lock"
 
-#: builtin/worktree.c:574
+#: builtin/worktree.c:646
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr "--[no-]track chỉ có thể được dùng nếu một nhánh mới được tạo"
 
-#: builtin/worktree.c:691
+#: builtin/worktree.c:766
 msgid "show extended annotations and reasons, if available"
 msgstr "hiển thị chú thích và lý do mở rộng, nếu có"
 
-#: builtin/worktree.c:693
+#: builtin/worktree.c:768
 msgid "add 'prunable' annotation to worktrees older than <time>"
 msgstr ""
 "thêm chú thích kiểu “prunable” cho các cây làm việc hết hạn cũ hơn khoảng "
 "<thời gian>"
 
-#: builtin/worktree.c:741 builtin/worktree.c:774 builtin/worktree.c:848
-#: builtin/worktree.c:972
+#: builtin/worktree.c:770
+msgid "terminate records with a NUL character"
+msgstr "chấm dứt các bản ghi bằng ký tự NULL"
+
+#: builtin/worktree.c:821 builtin/worktree.c:854 builtin/worktree.c:928
+#: builtin/worktree.c:1052
 #, 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:743 builtin/worktree.c:776
+#: builtin/worktree.c:823 builtin/worktree.c:856
 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:748
+#: builtin/worktree.c:828
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:750
+#: builtin/worktree.c:830
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:778
+#: builtin/worktree.c:858
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
 
-#: builtin/worktree.c:819
+#: builtin/worktree.c:899
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr "cây làm việc có chứa mô-đun-con không thể di chuyển hay xóa bỏ"
 
-#: builtin/worktree.c:827
+#: builtin/worktree.c:907
 msgid "force move even if worktree is dirty or locked"
 msgstr "ép buộc ngay cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:850 builtin/worktree.c:974
+#: builtin/worktree.c:930 builtin/worktree.c:1054
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "“%s” là cây làm việc chính"
 
-#: builtin/worktree.c:855
+#: builtin/worktree.c:935
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "không thể phác họa ra tên đích đến “%s”"
 
-#: builtin/worktree.c:868
+#: builtin/worktree.c:948
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -24201,7 +24756,7 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:870
+#: builtin/worktree.c:950
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -24209,38 +24764,38 @@ msgstr ""
 "không thể di chuyển một cây-làm-việc bị khóa;\n"
 "dùng “move -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:873
+#: builtin/worktree.c:953
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "thẩm tra gặp lỗi, không thể di chuyển một cây-làm-việc: %s"
 
-#: builtin/worktree.c:878
+#: builtin/worktree.c:958
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "gặp lỗi khi chuyển “%s” sang “%s”"
 
-#: builtin/worktree.c:924
+#: builtin/worktree.c:1004
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "gặp lỗi khi chạy “git status” vào “%s”"
 
-#: builtin/worktree.c:928
+#: builtin/worktree.c:1008
 #, c-format
 msgid "'%s' contains modified or untracked files, use --force to delete it"
 msgstr ""
 "“%s” có chứa các tập tin đã bị sửa chữa hoặc chưa được theo dõi, hãy dùng --"
 "force để xóa nó"
 
-#: builtin/worktree.c:933
+#: builtin/worktree.c:1013
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "gặp lỗi khi chạy “git status” trong “%s”, mã %d"
 
-#: builtin/worktree.c:956
+#: builtin/worktree.c:1036
 msgid "force removal even if worktree is dirty or locked"
 msgstr "ép buộc di chuyển thậm chí cả khi cây làm việc đang bẩn hay bị khóa"
 
-#: builtin/worktree.c:979
+#: builtin/worktree.c:1059
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -24249,7 +24804,7 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa, khóa vì: %s\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:981
+#: builtin/worktree.c:1061
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -24257,17 +24812,17 @@ msgstr ""
 "không thể xóa bỏ một cây-làm-việc bị khóa;\n"
 "dùng “remove -f -f” để ghi đè hoặc mở khóa trước đã"
 
-#: builtin/worktree.c:984
+#: builtin/worktree.c:1064
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "thẩm tra gặp lỗi, không thể gỡ bỏ một cây-làm-việc: %s"
 
-#: builtin/worktree.c:1008
+#: builtin/worktree.c:1088
 #, c-format
 msgid "repair: %s: %s"
 msgstr "sửa chữa: %s: %s"
 
-#: builtin/worktree.c:1011
+#: builtin/worktree.c:1091
 #, c-format
 msgid "error: %s: %s"
 msgstr "lỗi: %s: %s"
@@ -24374,30 +24929,30 @@ msgstr "làm trống bí danh cho %s"
 msgid "recursive alias: %s"
 msgstr "đệ quy các bí danh: %s"
 
-#: git.c:479
+#: git.c:480
 msgid "write failure on standard output"
 msgstr "lỗi ghi nghiêm trong trên đầu ra tiêu chuẩn"
 
-#: git.c:481
+#: git.c:482
 msgid "unknown write failure on standard output"
 msgstr "lỗi nghiêm trọng chưa biết khi ghi ra đầu ra tiêu chuẩn"
 
-#: git.c:483
+#: git.c:484
 msgid "close failed on standard output"
 msgstr "gặp lỗi khi đóng đầu ra tiêu chuẩn"
 
-#: git.c:835
+#: git.c:838
 #, c-format
 msgid "alias loop detected: expansion of '%s' does not terminate:%s"
 msgstr ""
 "dò tìm thấy các bí danh quẩn tròn: biểu thức của “%s” không có điểm kết:%s"
 
-#: git.c:885
+#: git.c:888
 #, c-format
 msgid "cannot handle %s as a builtin"
 msgstr "không thể xử lý %s như là một phần bổ sung"
 
-#: git.c:898
+#: git.c:901
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -24406,12 +24961,12 @@ msgstr ""
 "cách dùng: %s\n"
 "\n"
 
-#: git.c:918
+#: git.c:921
 #, c-format
 msgid "expansion of alias '%s' failed; '%s' is not a git command\n"
 msgstr "gặp lỗi khi khai triển bí danh “%s”; “%s” không phải là lệnh git\n"
 
-#: git.c:930
+#: git.c:933
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
@@ -24570,141 +25125,141 @@ msgstr ""
 "      hỏi cho: %s\n"
 " chuyển hướng: %s"
 
-#: remote-curl.c:183
+#: remote-curl.c:184
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "sai trích dẫn trong giá trị push-option :“%s”"
 
-#: remote-curl.c:304
+#: remote-curl.c:308
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs không hợp lệ: đây có phải là một kho git?"
 
-#: remote-curl.c:405
+#: remote-curl.c:409
 msgid "invalid server response; expected service, got flush packet"
 msgstr ""
 "đáp ứng từ máy phục vụ không hợp lệ; cần dịch vụ, nhưng lại nhận được gói "
 "flush"
 
-#: remote-curl.c:436
+#: remote-curl.c:440
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "trả về của máy phục vụ không hợp lệ; nhận được %s"
 
-#: remote-curl.c:496
+#: remote-curl.c:500
 #, c-format
 msgid "repository '%s' not found"
 msgstr "không tìm thấy kho “%s”"
 
-#: remote-curl.c:500
+#: remote-curl.c:504
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "Xác thực gặp lỗi cho “%s”"
 
-#: remote-curl.c:504
+#: remote-curl.c:508
 #, c-format
 msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
 msgstr "không thể truy cập “%s” với cấu hình http.pinnedPubkey: %s"
 
-#: remote-curl.c:508
+#: remote-curl.c:512
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "không thể truy cập “%s”: %s"
 
-#: remote-curl.c:514
+#: remote-curl.c:518
 #, c-format
 msgid "redirecting to %s"
 msgstr "chuyển hướng đến %s"
 
-#: remote-curl.c:645
+#: remote-curl.c:649
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "không nên có EOF khi không gentle trên EOF"
 
-#: remote-curl.c:657
+#: remote-curl.c:661
 msgid "remote server sent unexpected response end packet"
 msgstr "máy phục vụ gửi gói kết thúc không cần"
 
-#: remote-curl.c:726
+#: remote-curl.c:730
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr "không thể tua lại dữ liệu post rpc - thử tăng http.postBuffer"
 
-#: remote-curl.c:755
+#: remote-curl.c:759
 #, c-format
 msgid "remote-curl: bad line length character: %.4s"
 msgstr "remote-curl: ký tự chiều dài dòng bị sai: %.4s"
 
-#: remote-curl.c:757
+#: remote-curl.c:761
 msgid "remote-curl: unexpected response end packet"
 msgstr "remote-curl: gặp đáp ứng là gói kết thúc bất ngờ"
 
-#: remote-curl.c:833
+#: remote-curl.c:837
 #, c-format
 msgid "RPC failed; %s"
 msgstr "RPC gặp lỗi; %s"
 
-#: remote-curl.c:873
+#: remote-curl.c:877
 msgid "cannot handle pushes this big"
 msgstr "không thể xử lý đẩy cái lớn này"
 
-#: remote-curl.c:986
+#: remote-curl.c:990
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "không thể giải nén yêu cầu; có lỗi khi giải nén của zlib %d"
 
-#: remote-curl.c:990
+#: remote-curl.c:994
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "không thể giải nén yêu cầu; có lỗi ở cuối %d"
 
-#: remote-curl.c:1040
+#: remote-curl.c:1044
 #, c-format
 msgid "%d bytes of length header were received"
 msgstr "đã nhận về phần đầu có chiều dài %d byte"
 
-#: remote-curl.c:1042
+#: remote-curl.c:1046
 #, c-format
 msgid "%d bytes of body are still expected"
 msgstr "phần thân vẫn còn cần %d byte"
 
-#: remote-curl.c:1131
+#: remote-curl.c:1135
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "đổ vận chuyển http không hỗ trợ khả năng nông"
 
-#: remote-curl.c:1146
+#: remote-curl.c:1150
 msgid "fetch failed."
 msgstr "lấy về gặp lỗi."
 
-#: remote-curl.c:1192
+#: remote-curl.c:1198
 msgid "cannot fetch by sha1 over smart http"
 msgstr "không thể lấy về bằng sha1 thông qua smart http"
 
-#: remote-curl.c:1236 remote-curl.c:1242
+#: remote-curl.c:1242 remote-curl.c:1248
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr "lỗi giao thức: cần sha/ref, nhưng lại nhận được “%s”"
 
-#: remote-curl.c:1254 remote-curl.c:1372
+#: remote-curl.c:1260 remote-curl.c:1378
 #, c-format
 msgid "http transport does not support %s"
 msgstr "vận chuyển http không hỗ trợ %s"
 
-#: remote-curl.c:1290
+#: remote-curl.c:1296
 msgid "git-http-push failed"
 msgstr "git-http-push gặp lỗi"
 
-#: remote-curl.c:1478
+#: remote-curl.c:1485
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl: usage: git remote-curl <máy chủ> [<url>]"
 
-#: remote-curl.c:1510
+#: remote-curl.c:1517
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl: gặp lỗi khi đọc luồng dữ liệu lệnh từ git"
 
-#: remote-curl.c:1517
+#: remote-curl.c:1524
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl: đã cố gắng fetch mà không có kho nội bộ"
 
-#: remote-curl.c:1558
+#: remote-curl.c:1565
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl: không hiểu lệnh “%s” từ git"
@@ -24717,121 +25272,121 @@ msgstr "cần một thư mục làm việc"
 msgid "could not find enlistment root"
 msgstr "không tìm thấy gốc enlistment"
 
-#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:351
-#: contrib/scalar/scalar.c:436 contrib/scalar/scalar.c:579
+#: contrib/scalar/scalar.c:89 contrib/scalar/scalar.c:350
+#: contrib/scalar/scalar.c:435 contrib/scalar/scalar.c:578
 #, c-format
 msgid "could not switch to '%s'"
 msgstr "không thể chuyển đến '%s'"
 
-#: contrib/scalar/scalar.c:180
+#: contrib/scalar/scalar.c:179
 #, c-format
 msgid "could not configure %s=%s"
 msgstr "không thể đóng cấu hình %s=%s"
 
-#: contrib/scalar/scalar.c:198
+#: contrib/scalar/scalar.c:197
 msgid "could not configure log.excludeDecoration"
 msgstr "không thể cấu hình log.excludeDecoration"
 
-#: contrib/scalar/scalar.c:219
+#: contrib/scalar/scalar.c:218
 msgid "Scalar enlistments require a worktree"
 msgstr "'Scalar enlistments' cần một cây làm việc"
 
-#: contrib/scalar/scalar.c:311
+#: contrib/scalar/scalar.c:310
 #, c-format
 msgid "remote HEAD is not a branch: '%.*s'"
 msgstr "HEAD của máy chủ không phải một nhánh: '%.*s'"
 
-#: contrib/scalar/scalar.c:317
+#: contrib/scalar/scalar.c:316
 msgid "failed to get default branch name from remote; using local default"
 msgstr "gặp lỗi khi lấy tên nhánh mặc định từ máy chủ; sử dụng mặc định nội bộ"
 
-#: contrib/scalar/scalar.c:330
+#: contrib/scalar/scalar.c:329
 msgid "failed to get default branch name"
 msgstr "gặp lỗi khi lấy tên nhánh mặc định"
 
-#: contrib/scalar/scalar.c:341
+#: contrib/scalar/scalar.c:340
 msgid "failed to unregister repository"
 msgstr "gặp lỗi khi hủy đăng ký kho chứa"
 
-#: contrib/scalar/scalar.c:356
+#: contrib/scalar/scalar.c:355
 msgid "failed to delete enlistment directory"
 msgstr "gặp lỗi khi xóa thư mục dành được"
 
-#: contrib/scalar/scalar.c:376
+#: contrib/scalar/scalar.c:375
 msgid "branch to checkout after clone"
 msgstr "nhánh để lấy ra sau khi nhân bản"
 
-#: contrib/scalar/scalar.c:378
+#: contrib/scalar/scalar.c:377
 msgid "when cloning, create full working directory"
 msgstr "khi nhân bản, tạo đầy đủ thư mục làm việc"
 
-#: contrib/scalar/scalar.c:380
+#: contrib/scalar/scalar.c:379
 msgid "only download metadata for the branch that will be checked out"
 msgstr "chỉ siêu dữ liệu tải về cho nhánh mà sẽ được lấy ra"
 
-#: contrib/scalar/scalar.c:385
+#: contrib/scalar/scalar.c:384
 msgid "scalar clone [<options>] [--] <repo> [<dir>]"
 msgstr "scalar clone [<các tùy chọn>] [--] <kho> [<t.mục>]"
 
-#: contrib/scalar/scalar.c:410
+#: contrib/scalar/scalar.c:409
 #, c-format
 msgid "cannot deduce worktree name from '%s'"
 msgstr "không thể suy diễn tên cây làm việc từ '%s'"
 
-#: contrib/scalar/scalar.c:419
+#: contrib/scalar/scalar.c:418
 #, c-format
 msgid "directory '%s' exists already"
 msgstr "thư mục '%s' đã sẵn có"
 
-#: contrib/scalar/scalar.c:446
+#: contrib/scalar/scalar.c:445
 #, c-format
 msgid "failed to get default branch for '%s'"
 msgstr "gặp lỗi khi lấy nhánh mặc định cho '%s'"
 
-#: contrib/scalar/scalar.c:457
+#: contrib/scalar/scalar.c:456
 #, c-format
 msgid "could not configure remote in '%s'"
 msgstr "không thể cấu hình máy chủ trong '%s'"
 
-#: contrib/scalar/scalar.c:466
+#: contrib/scalar/scalar.c:465
 #, c-format
 msgid "could not configure '%s'"
 msgstr "không thể cấu hình '%s'"
 
-#: contrib/scalar/scalar.c:469
+#: contrib/scalar/scalar.c:468
 msgid "partial clone failed; attempting full clone"
 msgstr "nhân bản từng phần gặp lỗi; đang cố thử nhân bản đầy đủ"
 
-#: contrib/scalar/scalar.c:473
+#: contrib/scalar/scalar.c:472
 msgid "could not configure for full clone"
 msgstr "không thể cấu hình cho nhân bản đầy đủ"
 
-#: contrib/scalar/scalar.c:505
+#: contrib/scalar/scalar.c:504
 msgid "`scalar list` does not take arguments"
 msgstr "`scalar list` không nhận các tham số"
 
-#: contrib/scalar/scalar.c:518
+#: contrib/scalar/scalar.c:517
 msgid "scalar register [<enlistment>]"
 msgstr "scalar register [<enlistment>]"
 
-#: contrib/scalar/scalar.c:545
+#: contrib/scalar/scalar.c:544
 msgid "reconfigure all registered enlistments"
 msgstr "cấu hình mọi enlistments đã đăng ký"
 
-#: contrib/scalar/scalar.c:549
+#: contrib/scalar/scalar.c:548
 msgid "scalar reconfigure [--all | <enlistment>]"
 msgstr "scalar reconfigure [--all | <enlistment>]"
 
-#: contrib/scalar/scalar.c:567
+#: contrib/scalar/scalar.c:566
 msgid "--all or <enlistment>, but not both"
 msgstr "--all hoặc <enlistment>, không thể là cả hai"
 
-#: contrib/scalar/scalar.c:582
+#: contrib/scalar/scalar.c:581
 #, c-format
 msgid "git repository gone in '%s'"
 msgstr "kho git ra đi trong '%s'"
 
-#: contrib/scalar/scalar.c:622
+#: contrib/scalar/scalar.c:621
 msgid ""
 "scalar run <task> [<enlistment>]\n"
 "Tasks:\n"
@@ -24839,42 +25394,55 @@ msgstr ""
 "scalar run <task> [<enlistment>]\n"
 "Nhiệm vụ:\n"
 
-#: contrib/scalar/scalar.c:640
+#: contrib/scalar/scalar.c:639
 #, c-format
 msgid "no such task: '%s'"
 msgstr "không có nhiệm vụ nào như thế: “%s”"
 
-#: contrib/scalar/scalar.c:690
+#: contrib/scalar/scalar.c:689
 msgid "scalar unregister [<enlistment>]"
 msgstr "scalar unregister [<enlistment>]"
 
-#: contrib/scalar/scalar.c:737
+#: contrib/scalar/scalar.c:736
 msgid "scalar delete <enlistment>"
 msgstr "scalar delete <enlistment>"
 
-#: contrib/scalar/scalar.c:752
+#: contrib/scalar/scalar.c:751
 msgid "refusing to delete current working directory"
 msgstr "từ chối gỡ bỏ thư mục làm việc hiện tại"
 
-#: contrib/scalar/scalar.c:767
+#: contrib/scalar/scalar.c:766
 msgid "include Git version"
 msgstr "bao gồm phiên bản Git"
 
-#: contrib/scalar/scalar.c:769
+#: contrib/scalar/scalar.c:768
 msgid "include Git's build options"
 msgstr "bao gồm các tùy chọn biên dịch của Git"
 
-#: contrib/scalar/scalar.c:773
+#: contrib/scalar/scalar.c:772
 msgid "scalar verbose [-v | --verbose] [--build-options]"
 msgstr "scalar verbose [-v | --verbose] [--build-options]"
 
+#: contrib/scalar/scalar.c:813
+msgid "-C requires a <directory>"
+msgstr "-C cần một <thư_mục>"
+
+#: contrib/scalar/scalar.c:815
+#, c-format
+msgid "could not change to '%s'"
+msgstr "không thể chuyển sang “%s”"
+
 #: contrib/scalar/scalar.c:821
+msgid "-c requires a <key>=<value> argument"
+msgstr "-c cần một tham số <key>=<value>"
+
+#: contrib/scalar/scalar.c:839
 msgid ""
-"scalar <command> [<options>]\n"
+"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
 "\n"
 "Commands:\n"
 msgstr ""
-"scalar <lệnh> [<các tùy chọn>]\n"
+"scalar [-C </thư/mục/>] [-c <khóa>=<giá trị>] <lệnh> [<các tùy chọn>]\n"
 "\n"
 "Các lệnh:\n"
 
@@ -24886,43 +25454,43 @@ msgstr "hiện không có thông tin về trình biên dịch\n"
 msgid "no libc information available\n"
 msgstr "không có thông tin về libc\n"
 
-#: list-objects-filter-options.h:94
+#: list-objects-filter-options.h:126
 msgid "args"
 msgstr "các_tham_số"
 
-#: list-objects-filter-options.h:95
+#: list-objects-filter-options.h:127
 msgid "object filtering"
 msgstr "lọc đối tượng"
 
-#: parse-options.h:183
+#: parse-options.h:188
 msgid "expiry-date"
 msgstr "ngày hết hạn"
 
-#: parse-options.h:197
+#: parse-options.h:202
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:310
+#: parse-options.h:341
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:312
+#: parse-options.h:343
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:318
+#: parse-options.h:349
 msgid "use <n> digits to display object names"
 msgstr "sử dụng <n> chữ số để hiển thị tên đối tượng"
 
-#: parse-options.h:337
+#: parse-options.h:368
 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"
 
-#: parse-options.h:338
+#: parse-options.h:369
 msgid "read pathspec from file"
 msgstr "đọc đặc tả đường dẫn từ tập tin"
 
-#: parse-options.h:339
+#: parse-options.h:370
 msgid ""
 "with --pathspec-from-file, pathspec elements are separated with NUL character"
 msgstr ""
@@ -25186,450 +25754,456 @@ msgid "Display help information about Git"
 msgstr "Hiển thị thông tin trợ giúp về Git"
 
 #: command-list.h:108
+msgid "Run git hooks"
+msgstr "Chạy các móc git"
+
+#: command-list.h:109
 msgid "Server side implementation of Git over HTTP"
 msgstr "Thi hành phía máy chủ của Git qua HTTP"
 
-#: command-list.h:109
+#: command-list.h:110
 msgid "Download from a remote Git repository via HTTP"
 msgstr "Tải về từ một kho chứa Git trên mạng thông qua HTTP"
 
-#: command-list.h:110
+#: command-list.h:111
 msgid "Push objects over HTTP/DAV to another repository"
 msgstr "Đẩy các đối tượng lên thông qua HTTP/DAV đến kho chứa khác"
 
-#: command-list.h:111
+#: command-list.h:112
 msgid "Send a collection of patches from stdin to an IMAP folder"
 msgstr ""
 "Gửi một bộ sưu tập các miếng vá từ đầu vào tiêu chuẩn đến một thư mục IMAP"
 
-#: command-list.h:112
+#: command-list.h:113
 msgid "Build pack index file for an existing packed archive"
 msgstr "Xây dựng tập tin mục lục gói cho một kho nén đã đóng gói sẵn có"
 
-#: command-list.h:113
+#: command-list.h:114
 msgid "Create an empty Git repository or reinitialize an existing one"
 msgstr "Tạo một kho git mới hay khởi tạo lại một kho đã tồn tại từ trước"
 
-#: command-list.h:114
+#: command-list.h:115
 msgid "Instantly browse your working repository in gitweb"
 msgstr "Duyệt ngay kho làm việc của bạn trong gitweb"
 
-#: command-list.h:115
+#: command-list.h:116
 msgid "Add or parse structured information in commit messages"
 msgstr "Thêm hay phân tích thông tin cấu trúc trong ghi chú lần chuyển giao"
 
-#: command-list.h:116
+#: command-list.h:117
 msgid "Show commit logs"
 msgstr "Hiển thị nhật ký các lần chuyển giao"
 
-#: command-list.h:117
+#: command-list.h:118
 msgid "Show information about files in the index and the working tree"
 msgstr "Hiển thị thông tin về các tập tin trong bảng mục lục và cây làm việc"
 
-#: command-list.h:118
+#: command-list.h:119
 msgid "List references in a remote repository"
 msgstr "Liệt kê các tham chiếu trong một kho chứa trên mạng"
 
-#: command-list.h:119
+#: command-list.h:120
 msgid "List the contents of a tree object"
 msgstr "Liệt kê nội dung của đối tượng cây"
 
-#: command-list.h:120
+#: command-list.h:121
 msgid "Extracts patch and authorship from a single e-mail message"
 msgstr "Trích xuất miếng và và nguồn tác giả từ một thư điện tử đơn"
 
-#: command-list.h:121
+#: command-list.h:122
 msgid "Simple UNIX mbox splitter program"
 msgstr "Chương trình phân tách UNIX mbox đơn giản"
 
-#: command-list.h:122
+#: command-list.h:123
 msgid "Run tasks to optimize Git repository data"
 msgstr "Chạy các nhiệm vụ để tối ưu hóa dữ liệu kho Git"
 
-#: command-list.h:123
+#: command-list.h:124
 msgid "Join two or more development histories together"
 msgstr "Hợp nhất hai hay nhiều hơn lịch sử của các nhà phát triển"
 
-#: command-list.h:124
+#: command-list.h:125
 msgid "Find as good common ancestors as possible for a merge"
 msgstr "Tìm các tổ tiên chung tốt có thể được cho hòa trộn"
 
-#: command-list.h:125
+#: command-list.h:126
 msgid "Run a three-way file merge"
 msgstr "Chạy một hòa trộn tập tin “3-đường”"
 
-#: command-list.h:126
+#: command-list.h:127
 msgid "Run a merge for files needing merging"
 msgstr "Chạy một hòa trộn cho các tập tin cần hòa trộn"
 
-#: command-list.h:127
+#: command-list.h:128
 msgid "The standard helper program to use with git-merge-index"
 msgstr "Một chương trình hỗ trợ tiêu chuẩn dùng với git-merge-index"
 
-#: command-list.h:128
+#: command-list.h:129
 msgid "Show three-way merge without touching index"
 msgstr "Hiển thị hòa trộn ba-đường mà không đụng chạm đến mục lục"
 
-#: command-list.h:129
+#: command-list.h:130
 msgid "Run merge conflict resolution tools to resolve merge conflicts"
 msgstr ""
 "Chạy công cụ phân giải xung đột hòa trộn để mà giải quyết các xung đột hòa "
 "trộn"
 
-#: command-list.h:130
+#: command-list.h:131
 msgid "Creates a tag object with extra validation"
 msgstr "Tạo một đối tượng thẻ với kiểm tra mở rộng"
 
-#: command-list.h:131
+#: command-list.h:132
 msgid "Build a tree-object from ls-tree formatted text"
 msgstr "Xây dựng một tree-object từ văn bản định dạng ls-tree"
 
-#: command-list.h:132
+#: command-list.h:133
 msgid "Write and verify multi-pack-indexes"
 msgstr "Ghi và thẩm tra các multi-pack-indexes"
 
-#: command-list.h:133
+#: command-list.h:134
 msgid "Move or rename a file, a directory, or a symlink"
 msgstr "Di chuyển hay đổi tên một tập tin, thư mục hoặc liên kết mềm"
 
-#: command-list.h:134
+#: command-list.h:135
 msgid "Find symbolic names for given revs"
 msgstr "Tìm các tên liên kết mềm cho điểm xét đã cho"
 
-#: command-list.h:135
+#: command-list.h:136
 msgid "Add or inspect object notes"
 msgstr "Thêm hoặc điều tra đối tượng ghi chú"
 
-#: command-list.h:136
+#: command-list.h:137
 msgid "Import from and submit to Perforce repositories"
 msgstr "Nhập vào từ và gửi đến các kho cần thiết"
 
-#: command-list.h:137
+#: command-list.h:138
 msgid "Create a packed archive of objects"
 msgstr "Tạo một kho lưu được đóng gói cho các đối"
 
-#: command-list.h:138
+#: command-list.h:139
 msgid "Find redundant pack files"
 msgstr "Tìm các tập tin gói dư thừa"
 
-#: command-list.h:139
+#: command-list.h:140
 msgid "Pack heads and tags for efficient repository access"
 msgstr "Đóng gói các phần đầu và thẻ để truy cập kho hiệu quả hơn"
 
-#: command-list.h:140
+#: command-list.h:141
 msgid "Compute unique ID for a patch"
 msgstr "Tính toán ID duy nhất cho một miếng vá"
 
-#: command-list.h:141
+#: command-list.h:142
 msgid "Prune all unreachable objects from the object database"
 msgstr ""
 "Xén bớt tất các các đối tượng không tiếp cận được từ cơ sở dữ liệu đối tượng"
 
-#: command-list.h:142
+#: command-list.h:143
 msgid "Remove extra objects that are already in pack files"
 msgstr "Xóa bỏ các đối tượng mở rộng cái mà đã sẵn có trong các tập tin gói"
 
-#: command-list.h:143
+#: command-list.h:144
 msgid "Fetch from and integrate with another repository or a local branch"
 msgstr "Lấy về và hợp nhất với kho khác hay một nhánh nội bộ"
 
-#: command-list.h:144
+#: command-list.h:145
 msgid "Update remote refs along with associated objects"
 msgstr "Cập nhật th.chiếu máy chủ cùng với các đối tượng liên quan đến nó"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Applies a quilt patchset onto the current branch"
 msgstr "Ấp dụng một bộ miếng vá quilt vào trong nhánh hiện hành"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Compare two commit ranges (e.g. two versions of a branch)"
 msgstr "So sánh hai vùng chuyển giao (vd: hai phiên bản của một nhánh)"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Reads tree information into the index"
 msgstr "Đọc thông tin cây vào trong mục lục"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Reapply commits on top of another base tip"
 msgstr "Thu hoạch các lần chuyển giao trên đỉnh của đầu mút cơ sở khác"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Receive what is pushed into the repository"
 msgstr "Nhận cái mà được đẩy vào trong kho"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Manage reflog information"
 msgstr "Quản lý thông tin reflog"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Manage set of tracked repositories"
 msgstr "Quản lý tập hợp các kho chứa đã được theo dõi"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Pack unpacked objects in a repository"
 msgstr "Đóng gói các đối tượng chưa đóng gói ở một kho chứa"
 
-#: command-list.h:153
+#: command-list.h:154
 msgid "Create, list, delete refs to replace objects"
 msgstr "Tạo, liệt kê, xóa các tham chiếu để thay thế các đối tượng"
 
-#: command-list.h:154
+#: command-list.h:155
 msgid "Generates a summary of pending changes"
 msgstr "Tạo ra một tóm tắt các thay đổi còn treo"
 
-#: command-list.h:155
+#: command-list.h:156
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "Dùng lại các giải pháp đã ghi lại của các hòa trộn bị xung đột"
 
-#: command-list.h:156
+#: command-list.h:157
 msgid "Reset current HEAD to the specified state"
 msgstr "Đặt lại HEAD hiện hành thành trạng thái đã cho"
 
-#: command-list.h:157
+#: command-list.h:158
 msgid "Restore working tree files"
 msgstr "Hoàn nguyên các tập tin cây làm việc"
 
-#: command-list.h:158
+#: command-list.h:159
 msgid "Lists commit objects in reverse chronological order"
 msgstr "Liệt kê các đối tượng chuyển giao theo thứ tự tôpô đảo ngược"
 
-#: command-list.h:159
+#: command-list.h:160
 msgid "Pick out and massage parameters"
 msgstr "Cậy ra và xử lý các tham số"
 
-#: command-list.h:160
+#: command-list.h:161
 msgid "Revert some existing commits"
 msgstr "Hoàn lại một số lần chuyển giao sẵn có"
 
-#: command-list.h:161
+#: command-list.h:162
 msgid "Remove files from the working tree and from the index"
 msgstr "Gỡ bỏ các tập tin từ cây làm việc và từ bảng mục lục"
 
-#: command-list.h:162
+#: command-list.h:163
 msgid "Send a collection of patches as emails"
 msgstr "Gửi một tập hợp của các miếng vá ở dạng thư điện tử"
 
-#: command-list.h:163
+#: command-list.h:164
 msgid "Push objects over Git protocol to another repository"
 msgstr "Đẩy các đối tượng lên thông qua giao thức Git đến kho chứa khác"
 
-#: command-list.h:164
+#: command-list.h:165
 msgid "Git's i18n setup code for shell scripts"
 msgstr "Nã cài đặt quốc tế hóa của Git cho văn lệnh hệ vỏ"
 
-#: command-list.h:165
+#: command-list.h:166
 msgid "Common Git shell script setup code"
 msgstr "Mã cài đặt văn lệnh hệ vỏ Git chung"
 
-#: command-list.h:166
+#: command-list.h:167
 msgid "Restricted login shell for Git-only SSH access"
 msgstr "Hệ vỏ đăng nhập có hạn chế cho truy cập SSH chỉ-Git"
 
-#: command-list.h:167
+#: command-list.h:168
 msgid "Summarize 'git log' output"
 msgstr "Kết xuất “git log” dạng tóm tắt"
 
-#: command-list.h:168
+#: command-list.h:169
 msgid "Show various types of objects"
 msgstr "Hiển thị các kiểu khác nhau của các đối tượng"
 
-#: command-list.h:169
+#: command-list.h:170
 msgid "Show branches and their commits"
 msgstr "Hiển thị những nhánh và các lần chuyển giao của chúng"
 
-#: command-list.h:170
+#: command-list.h:171
 msgid "Show packed archive index"
 msgstr "Hiển thị các muc lục kho nén đã đóng gói"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "List references in a local repository"
 msgstr "Liệt kê các tham chiếu trong một kho nội bộ"
 
-#: command-list.h:172
-msgid "Initialize and modify the sparse-checkout"
-msgstr "Khởi tạo và sửa đổi sparse-checkout"
-
 #: command-list.h:173
+msgid "Reduce your working tree to a subset of tracked files"
+msgstr ""
+"Giảm lược cây làm việc của bạn thành tập hợp con của các tập tin được theo "
+"dõi"
+
+#: command-list.h:174
 msgid "Add file contents to the staging area"
 msgstr "Thêm nội dung tập tin vào vùng bệ phóng"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Tạm cất đi các thay đổi trong một thư mục làm việc bẩn"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Show the working tree status"
 msgstr "Hiển thị trạng thái cây làm việc"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Remove unnecessary whitespace"
 msgstr "Xóa bỏ các khoảng trắng không cần thiết"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Initialize, update or inspect submodules"
 msgstr "Khởi tạo, cập nhật hay điều tra các mô-đun-con"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Thao tác hai hướng giữ hai kho Subversion và Git"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Switch branches"
 msgstr "Các nhánh chuyển"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Read, modify and delete symbolic refs"
 msgstr "Đọc, sửa và xóa tham chiếu mềm"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr "Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ được ký bằng GPG"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Tạo một tập tin tạm với nội dung của blob"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Unpack objects from a packed archive"
 msgstr "Gỡ các đối tượng khỏi một kho lưu đã đóng gói"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Register file contents in the working tree to the index"
 msgstr "Đăng ký nội dung tập tin từ cây làm việc đến bảng mục lục"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Update the object name stored in a ref safely"
 msgstr "Cập nhật tên đối tượng được lưu trong một tham chiếu một cách an toàn"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "Cập nhật tập tin thông tin phụ trợ để giúp đỡ các dịch vụ dumb"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Send archive back to git-archive"
 msgstr "Gửi kho lưu trở lại cho git-archive"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Gửi các đối tượng đã đóng gói trở lại cho git-fetch-pack"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Show a Git logical variable"
 msgstr "Hiển thị một biến Git luận lý"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of commits"
 msgstr "Kiểm tra ký lần chuyển giao dùng GPG"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Validate packed Git archive files"
 msgstr "Kiểm tra lại các tập tin kho (lưu trữ, nén) Git đã được đóng gói"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Check the GPG signature of tags"
 msgstr "Kiểm tra chữ ký GPG của các thẻ"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Show logs with difference each commit introduces"
 msgstr "Hiển thị các nhật ký với từng lần chuyển giao khác nhau đưa ra"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Manage multiple working trees"
 msgstr "Quản lý nhiều cây làm việc"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Create a tree object from the current index"
 msgstr "Tạo một đối tượng cây từ đầu vào tiêu chuẩn stdin hiện tại"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "Git command-line interface and conventions"
 msgstr "Giao diện dòng lệnh Git và quy ước"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "A Git core tutorial for developers"
 msgstr "Hướng dẫn Git cơ bản cho nhà phát triển"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Providing usernames and passwords to Git"
 msgstr "Cung cấp tài khoản và mật khẩu cho Git"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "Git for CVS users"
 msgstr "Git dành cho những người dùng CVS"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Tweaking diff output"
 msgstr "Chỉnh kết xuất diff"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Một tập hợp lệnh hữu dụng tối thiểu để dùng Git hàng ngày"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Frequently asked questions about using Git"
 msgstr "Các câu hỏi thường gặp về cách sử dụng Git"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "A Git Glossary"
 msgstr "Thuật ngữ chuyên môn Git"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Hooks used by Git"
 msgstr "Các móc được sử dụng bởi Git"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Chỉ định các tập tin không cần theo dõi"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "The Git repository browser"
 msgstr "Bộ duyện kho Git"
 
-#: command-list.h:208
+#: command-list.h:209
 msgid "Map author/committer names and/or E-Mail addresses"
 msgstr "Ánh xạ tên tác giả/người chuyển giao và/hoặc địa chỉ E-Mail"
 
-#: command-list.h:209
+#: command-list.h:210
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: command-list.h:210
+#: command-list.h:211
 msgid "Git namespaces"
 msgstr "Không gian tên Git"
 
-#: command-list.h:211
+#: command-list.h:212
 msgid "Helper programs to interact with remote repositories"
 msgstr "Các chương trình hỗ trợ để tương tác với các kho chứa trên máy chủ"
 
-#: command-list.h:212
+#: command-list.h:213
 msgid "Git Repository Layout"
 msgstr "Bố cục kho Git"
 
-#: command-list.h:213
+#: command-list.h:214
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: command-list.h:214
+#: command-list.h:215
 msgid "Mounting one repository inside another"
 msgstr "Gắn một kho chứa vào trong một cái khác"
 
-#: command-list.h:215
+#: command-list.h:216
 msgid "A tutorial introduction to Git"
 msgstr "Hướng dẫn cách dùng Git"
 
-#: command-list.h:216
+#: command-list.h:217
 msgid "A tutorial introduction to Git: part two"
 msgstr "Hướng dẫn cách dùng Git: phần hai"
 
-#: command-list.h:217
+#: command-list.h:218
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Giao diện Git trên nền web (ứng dụng web chạy trên kho Git)"
 
-#: command-list.h:218
+#: command-list.h:219
 msgid "An overview of recommended workflows with Git"
 msgstr "Tổng quan về luồng công việc khuyến nghị nên dùng với Git"
 
@@ -25673,77 +26247,51 @@ msgstr "Đang thử hòa trộn đơn giản với $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Hòa trộn đơn giản không làm việc, thử hòa trộn tự động."
 
-#: git-submodule.sh:401
-#, 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:411
-#, 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:416
-#, sh-format
-msgid ""
-"Unable to find current ${remote_name}/${branch} revision in submodule path "
-"'$sm_path'"
-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:464
-#, 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-sh-setup.sh:89 git-sh-setup.sh:94
 #, sh-format
 msgid "usage: $dashless $USAGE"
 msgstr "cách dùng: $dashless $USAGE"
 
-#: git-sh-setup.sh:183
+#: git-sh-setup.sh:182
 #, sh-format
 msgid "Cannot chdir to $cdup, the toplevel of the working tree"
 msgstr ""
 "Không thể chuyển thư mục (chdir) sang $cdup, thư mục ở mức cao nhất của cây "
 "làm việc"
 
-#: git-sh-setup.sh:192 git-sh-setup.sh:199
+#: git-sh-setup.sh:191 git-sh-setup.sh:198
 #, sh-format
 msgid "fatal: $program_name cannot be used without a working tree."
 msgstr ""
 "lỗi nghiêm trọng: $program_name không thể được dùng ngoaoif thư mục làm việc."
 
-#: git-sh-setup.sh:213
+#: git-sh-setup.sh:212
 msgid "Cannot rewrite branches: You have unstaged changes."
 msgstr ""
 "Không thể ghi lại các nhánh: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: git-sh-setup.sh:216
+#: git-sh-setup.sh:215
 #, sh-format
 msgid "Cannot $action: You have unstaged changes."
 msgstr "Không thể $action: Bạn có các thay đổi chưa được đưa lên bệ phóng."
 
-#: git-sh-setup.sh:227
+#: git-sh-setup.sh:226
 #, sh-format
 msgid "Cannot $action: Your index contains uncommitted changes."
 msgstr ""
 "Không thể $action: Mục lục của bạn có chứa các thay đổi chưa được chuyển "
 "giao."
 
-#: git-sh-setup.sh:229
+#: git-sh-setup.sh:228
 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."
 
-#: git-sh-setup.sh:349
+#: git-sh-setup.sh:348
 msgid "You need to run this command from the toplevel of the working tree."
 msgstr "Bạn cần chạy lệnh này từ thư mục ở mức cao nhất của cây làm việc."
 
-#: git-sh-setup.sh:354
+#: git-sh-setup.sh:353
 msgid "Unable to determine absolute path of git directory"
 msgstr "Không thể dò tìm đường dẫn tuyệt đối của thư mục git"
 
@@ -26426,23 +26974,23 @@ msgstr "không thể lấy gửi thư dạng 7 bít"
 msgid "invalid transfer encoding"
 msgstr "bảng mã truyền không hợp lệ"
 
-#: git-send-email.perl:2095
+#: git-send-email.perl:2100
 #, perl-format
 msgid ""
-"fatal: %s: rejected by sendemail-validate hook\n"
+"fatal: %s: rejected by %s hook\n"
 "%s\n"
 "warning: no patches were sent\n"
 msgstr ""
-"nghiêm trọng: %s: bị từ chối bởi móc sendemail-validate\n"
+"nghiêm trọng: %s: bị từ chối bởi móc %s\n"
 "%s\n"
 "cảnh báo: không có miếng vá nào được gửi đi\n"
 
-#: git-send-email.perl:2105 git-send-email.perl:2158 git-send-email.perl:2168
+#: git-send-email.perl:2110 git-send-email.perl:2163 git-send-email.perl:2173
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: git-send-email.perl:2108
+#: git-send-email.perl:2113
 #, perl-format
 msgid ""
 "fatal: %s:%d is longer than 998 characters\n"
@@ -26451,13 +26999,280 @@ msgstr ""
 "nghiêm trọng: %s: %d là dài hơn 998 ký tự\n"
 "cảnh báo: không có miếng vá nào được gửi đi\n"
 
-#: git-send-email.perl:2126
+#: git-send-email.perl:2131
 #, perl-format
 msgid "Skipping %s with backup suffix '%s'.\n"
 msgstr "Bỏ qua %s với hậu tố sao lưu dự phòng “%s”.\n"
 
 #. TRANSLATORS: please keep "[y|N]" as is.
-#: git-send-email.perl:2130
+#: git-send-email.perl:2135
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
+
+#, perl-format
+#~ msgid "fatal: %s: rejected by %s hook\n"
+#~ msgstr "lỗi nghiêm trọng: %s: bị từ chối bởi móc %s\n"
+
+#~ msgid "git archive --list"
+#~ msgstr "git archive --list"
+
+#, c-format
+#~ msgid "unknown value for --diff-merges: %s"
+#~ msgstr "không hiểu giá trị cho --diff-merges: %s"
+
+#, c-format
+#~ msgid "invalid value '%s' for lsrefs.unborn"
+#~ msgstr "giá trị “%s” không hợp lệ cho lsrefs.unborn"
+
+#~ msgid "backend for `git stash -p`"
+#~ msgstr "ứng dụng chạy phía sau cho “git stash -p”"
+
+#, c-format
+#~ msgid "Invalid value for --empty: %s"
+#~ msgstr "Giá trị cho --empty không hợp lệ: %s"
+
+#, c-format
+#~ msgid "Invalid value for --patch-format: %s"
+#~ msgstr "Giá trị không hợp lệ cho --patch-format: %s"
+
+#, c-format
+#~ msgid "Invalid value for --show-current-patch: %s"
+#~ msgstr "Giá trị không hợp lệ cho --show-current-patch: %s"
+
+#~ msgid ""
+#~ "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad "
+#~ "| --term-new]"
+#~ msgstr ""
+#~ "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad "
+#~ "| --term-new]"
+
+#~ msgid "git bisect--helper --bisect-next"
+#~ msgstr "git bisect--helper --bisect-next"
+
+#~ msgid "git bisect--helper --bisect-visualize"
+#~ msgstr "git bisect--helper --bisect-visualize"
+
+#, c-format
+#~ msgid "invalid color '%s' in color.blame.repeatedLines"
+#~ msgstr "màu không hợp lệ “%s” trong color.blame.repeatedLines"
+
+#~ msgid "invalid value for blame.coloring"
+#~ msgstr "màu không hợp lệ cho blame.coloring"
+
+#~ msgid ""
+#~ "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e "
+#~ "| -p | <type> | --textconv | --filters) [--path=<path>] <object>"
+#~ msgstr ""
+#~ "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e "
+#~ "| -p | <kiểu> | --textconv) | --filters) [--path=<đường/dẫn>] <đối_tượng>"
+
+#~ msgid "show object type"
+#~ msgstr "hiển thị kiểu đối tượng"
+
+#~ msgid "exit with zero when there's no error"
+#~ msgstr "thoát với 0 khi không có lỗi"
+
+#~ msgid "show info and content of objects fed from the standard input"
+#~ msgstr ""
+#~ "hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
+
+#~ msgid "show info about objects fed from the standard input"
+#~ msgstr "hiển thị các thông tin về đối tượng fed  từ đầu vào tiêu chuẩn"
+
+#~ msgid "follow in-tree symlinks (used with --batch or --batch-check)"
+#~ msgstr ""
+#~ "theo liên kết mềm trong-cây (được dùng với --batch hay --batch-check)"
+
+#~ msgid "show all objects with --batch or --batch-check"
+#~ msgstr "hiển thị mọi đối tượng với --batch hay --batch-check"
+
+#~ msgid "do not order --batch-all-objects output"
+#~ msgstr "đừng sắp xếp đầu ra --batch-all-objects"
+
+#~ msgid "set up tracking mode (see git-pull(1))"
+#~ msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
+
+#~ msgid "Using both --reset-author and --author does not make sense"
+#~ msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
+
+#~ msgid "Options --squash and --fixup cannot be used together"
+#~ msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
+
+#~ msgid "Only one of -c/-C/-F/--fixup can be used."
+#~ msgstr "Chỉ được dùng một trong số tùy chọn trong số -c/-C/-F/--fixup."
+
+#~ msgid "Option -m cannot be combined with -c/-C/-F."
+#~ msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F."
+
+#~ msgid ""
+#~ "Only one of --include/--only/--all/--interactive/--patch can be used."
+#~ msgstr ""
+#~ "Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch "
+#~ "được sử dụng."
+
+#~ msgid "git count-objects [-v] [-H | --human-readable]"
+#~ msgstr "git count-objects [-v] [-H | --human-readable]"
+
+#, 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"
+
+#~ msgid "--cached or --untracked cannot be used with --no-index"
+#~ msgstr "--cached hay --untracked không được sử dụng với --no-index"
+
+#~ msgid "--untracked cannot be used with --cached"
+#~ msgstr "--untracked không thể được sử dụng với tùy chọn --cached"
+
+#~ msgid "git hash-object  --stdin-paths"
+#~ msgstr "git hash-object  --stdin-paths"
+
+#~ msgid "git help [-g|--guides]"
+#~ msgstr "git help [-g|--guides]"
+
+#~ msgid "git help [-c|--config]"
+#~ msgstr "git help [-c|--config]"
+
+#~ msgid "git mktag"
+#~ msgstr "git mktag"
+
+#~ msgid "git mktree [-z] [--missing] [--batch]"
+#~ msgstr "git mktree [-z] [--missing] [--batch]"
+
+#~ msgid "read from stdin"
+#~ msgstr "đọc từ đầu vào tiêu chuẩn"
+
+#~ msgid "git notes merge --commit [-v | -q]"
+#~ msgstr "git notes merge --commit [-v | -q]"
+
+#~ msgid "git notes merge --abort [-v | -q]"
+#~ msgstr "git notes merge --abort [-v | -q]"
+
+#~ msgid "git notes get-ref"
+#~ msgstr "git notes get-ref"
+
+#~ msgid "invalid value for --missing"
+#~ msgstr "giá trị cho --missing không hợp lệ"
+
+#~ msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
+#~ msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
+
+#, c-format
+#~ msgid "Invalid value for %s: %s"
+#~ msgstr "Giá trị không hợp lệ %s: %s"
+
+#, c-format
+#~ msgid "Invalid value for pull.ff: %s"
+#~ msgstr "Giá trị không hợp lệ cho pull.ff: %s"
+
+#~ msgid "git rebase --continue | --abort | --skip | --edit-todo"
+#~ msgstr "git rebase --continue | --abort | --skip | --edit-todo"
+
+#, c-format
+#~ msgid "'%s' is not a valid timestamp"
+#~ msgstr "“%s” không phải là dấu thời gian hợp lệ"
+
+#~ msgid "git reflog [ show | expire | delete | exists ]"
+#~ msgstr "git reflog [ show | expire | delete | exists ]"
+
+#~ msgid "git remote [-v | --verbose]"
+#~ msgstr "git remote [-v | --verbose]"
+
+#~ msgid "git replace [-f] --convert-graft-file"
+#~ msgstr "git replace [-f] --convert-graft-file"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ "It took %.2f seconds to enumerate unstaged changes after reset.  You can\n"
+#~ "use '--quiet' to avoid this.  Set the config setting reset.quiet to true\n"
+#~ "to make this the default.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Cần %.2f giây để kiểm đếm các thay đổi chưa đưa lên bệ phóng sau khi đặt "
+#~ "lại.\n"
+#~ "Bạn có thể sử dụng “--quiet” để tránh việc này. Đặt reset.quiet thành "
+#~ "true trong\n"
+#~ "cài đặt config nếu bạn muốn thực hiện nó như là mặc định.\n"
+
+#~ msgid "git sparse-checkout list"
+#~ msgstr "git sparse-checkout list"
+
+#~ msgid "unable to upgrade repository format to enable worktreeConfig"
+#~ msgstr ""
+#~ "không thể nâng cấp định dạng kho lưu trữ để kích hoạt worktreeConfig"
+
+#~ msgid "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+#~ msgstr "git sparse-checkout init [--cone] [--[no-]sparse-index]"
+
+#~ msgid "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+#~ msgstr "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"
+
+#~ msgid "git sparse-checkout disable"
+#~ msgstr "git sparse-checkout disable"
+
+#~ msgid ""
+#~ "the stash.useBuiltin support has been removed!\n"
+#~ "See its entry in 'git help config' for details."
+#~ msgstr ""
+#~ "việc hỗ trợ stash.useBuiltin đã bị xóa!\n"
+#~ "Xem mục tin của nó trong “git help config” để biết chi tiết."
+
+#~ msgid "git stripspace [-s | --strip-comments]"
+#~ msgstr "git stripspace [-s | --strip-comments]"
+
+#~ msgid "git stripspace [-c | --comment-lines]"
+#~ msgstr "git stripspace [-c | --comment-lines]"
+
+#~ msgid "submodule--helper print-default-remote takes no arguments"
+#~ msgstr "submodule--helper print-default-remote takes không nhận tham số"
+
+#~ msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+#~ msgstr ""
+#~ "git submodule--helper update-clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
+
+#~ msgid "suppress output for update by rebase or merge"
+#~ msgstr "chặn kết xuất cho cập nhật bởi cải tổ hoặc hòa trộn"
+
+#~ msgid "overrides update mode in case the repository is a fresh clone"
+#~ msgstr "ghi đè chế độ cập nhật trong trường hợp kho lưu trữ là bản sao mới"
+
+#~ msgid "depth for shallow fetch"
+#~ msgstr "chiều sâu lịch sử muốn lấy về"
+
+#~ msgid "sha1"
+#~ msgstr "sha1"
+
+#~ msgid "SHA1 expected by superproject"
+#~ msgstr "SHA1 là cần thiết cho superproject"
+
+#~ msgid "subsha1"
+#~ msgstr "subsha1"
+
+#~ msgid "SHA1 of submodule's HEAD"
+#~ msgstr "SHA1 của HEAD của mô-đun-con"
+
+#~ msgid "git submodule--helper run-update-procedure [<options>] <path>"
+#~ msgstr ""
+#~ "git submodule--helper run-update-procedure [<các tùy chọn>] </đường/dẫn>"
+
+#~ msgid "git submodule--helper config --check-writeable"
+#~ msgstr "git submodule--helper config --check-writeable"
+
+#~ msgid "git update-server-info [--force]"
+#~ msgstr "git update-server-info [--force]"
+
+#~ msgid "Initialize and modify the sparse-checkout"
+#~ msgstr "Khởi tạo và sửa đổi sparse-checkout"
+
+#, sh-format
+#~ msgid ""
+#~ "Unable to find current ${remote_name}/${branch} revision in submodule "
+#~ "path '$sm_path'"
+#~ 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”"
+
+#, 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”"