Merge branch 'dt/remote-helper-doc-re-lock-option'
[gitweb.git] / po / vi.po
index 4951db329008a23fa183aa60be4c68b416e426eb..b8aa93a2c7192a397e10fa4ed7ad1055b50fa7b4 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.22.0 round 3\n"
+"Project-Id-Version: git v2.23.0-rc2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-06-04 08:24+0800\n"
-"PO-Revision-Date: 2019-06-04 08:07+0700\n"
+"POT-Creation-Date: 2019-08-10 20:12+0800\n"
+"PO-Revision-Date: 2019-08-11 07:08+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"
@@ -22,45 +22,45 @@ msgstr ""
 "X-Poedit-Basepath: ..\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
-#: advice.c:103
+#: advice.c:109
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:156
+#: advice.c:162
 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:158
+#: advice.c:164
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 "Commit 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:160
+#: advice.c:166
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 "Merge 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:162
+#: advice.c:168
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 "Pull 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:164
+#: advice.c:170
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 "Revert 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:166
+#: advice.c:172
 #, 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."
+"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:174
+#: advice.c:180
 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."
@@ -68,49 +68,62 @@ 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:182
+#: advice.c:188
 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:187 builtin/merge.c:1320
+#: advice.c:193 builtin/merge.c:1327
 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:189
+#: advice.c:195
 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:190
+#: advice.c:196
 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:196
+#: advice.c:202
 #, c-format
 msgid ""
-"Note: checking out '%s'.\n"
+"Note: switching to '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
-"state without impacting any branches by performing another checkout.\n"
+"state without impacting any branches by switching back to a branch.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
-"do so (now or later) by using -b with the checkout command again. Example:\n"
+"do so (now or later) by using -c with the switch command. Example:\n"
+"\n"
+"  git switch -c <new-branch-name>\n"
+"\n"
+"Or undo this operation with:\n"
 "\n"
-"  git checkout -b <new-branch-name>\n"
+"  git switch -\n"
+"\n"
+"Turn off this advice by setting config variable advice.detachedHead to "
+"false\n"
 "\n"
 msgstr ""
-"Chú ý: đang lấy ra “%s”.\n"
+"Chú ý: đang chuyển sang “%s”.\n"
 "\n"
 "Bạn đang ở tình trạng “detached HEAD”. Bạn có thể xem qua, tạo các thay\n"
 "đổi thử nghiệm và chuyển giao chúng, bạn có thể loại bỏ bất kỳ lần chuyển\n"
-"giao nào trong tình trạng này mà không cần Ä\91ụng chậm đến bất kỳ nhánh nào\n"
-"bằng cách thực hiện lần lấy ra khác nữa.\n"
+"giao nào trong tình trạng này mà không cần Ä\91ụng chạm đến bất kỳ nhánh nào\n"
+"bằng cách chuyển trở lại một nhánh.\n"
 "\n"
 "Nếu bạn muốn tạo một nhánh mới để giữ lại các lần chuyển giao bạn tạo,\n"
-"bạn có thể làm thế (ngay bây giờ hay sau này) bằng cách chạy lệnh checkout\n"
-"lần nữa với tùy chọn -b. Ví dụ:\n"
+"bạn có thể làm thế (ngay bây giờ hay sau này) bằng cách dùng tùy chọn\n"
+"dòng lệnh -b. Ví dụ:\n"
+"\n"
+"  git checkout -c <tên-nhánh-mới>\n"
+"\n"
+"Hoàn lại thao tác này bằng:\n"
+"\n"
+"  git switch -\n"
 "\n"
-"  git checkout -b <tên-nhánh-mới>\n"
+"Tắt hướng dẫn này bằng cách đặt biến advice.detachedHead thành false\n"
 "\n"
 
 #: alias.c:50
@@ -119,97 +132,97 @@ msgstr "cmdline kết thúc với \\"
 
 #: alias.c:51
 msgid "unclosed quote"
-msgstr "chưa đóng trích dẫn"
+msgstr "chưa có dấu nháy đóng"
 
-#: apply.c:63
+#: apply.c:69
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "không nhận ra tùy chọn về khoảng trắng “%s”"
 
-#: apply.c:79
+#: apply.c:85
 #, c-format
 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:129
+#: apply.c:135
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject và --3way không thể dùng cùng nhau."
 
-#: apply.c:131
+#: apply.c:137
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached và --3way không thể dùng cùng nhau."
 
-#: apply.c:134
+#: apply.c:140
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: apply.c:145
+#: apply.c:151
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: apply.c:148
+#: apply.c:154
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: apply.c:829
+#: apply.c:801
 #, 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:838
+#: apply.c:810
 #, 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:912
+#: apply.c:884
 #, 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:950
+#: apply.c:922
 #, 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:956
+#: apply.c:928
 #, 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:957
+#: apply.c:929
 #, 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:962
+#: apply.c:934
 #, 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:991
+#: apply.c:963
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "chế độ không hợp lệ trên dòng %d: %s"
 
-#: apply.c:1310
+#: apply.c:1282
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "phần đầu mâu thuẫn dòng %d và %d"
 
-#: apply.c:1482
+#: apply.c:1460
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: apply.c:1551
+#: apply.c:1529
 #, 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:1571
+#: apply.c:1551
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -221,81 +234,81 @@ 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:1584
+#: apply.c:1564
 #, 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:1772
+#: apply.c:1752
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: apply.c:1774
+#: apply.c:1754
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: apply.c:1808
+#: apply.c:1788
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: apply.c:1845
+#: apply.c:1825
 #, 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:1847
+#: apply.c:1827
 #, 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:1850
+#: apply.c:1830
 #, 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:1997
+#: apply.c:1977
 #, 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:2034
+#: apply.c:2014
 #, 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:2196
+#: apply.c:2176
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2282
+#: apply.c:2262
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2286
+#: apply.c:2266
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2945
+#: apply.c:2925
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3066
+#: apply.c:3046
 #, 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:3078
+#: apply.c:3058
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Nội dung bị giảm xuống còn (%ld/%ld) để áp dụng mảnh dữ liệu tại %d"
 
-#: apply.c:3084
+#: apply.c:3064
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -304,459 +317,459 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3106
+#: apply.c:3086
 #, 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:3114
+#: apply.c:3094
 #, 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 hunk thành "
+"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:3161
+#: apply.c:3141
 #, 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:3171
+#: apply.c:3151
 #, 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:3179
+#: apply.c:3159
 #, 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:3197
+#: apply.c:3177
 #, 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:3210
+#: apply.c:3190
 #, 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:3216
+#: apply.c:3196
 #, 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:3237
+#: apply.c:3217
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3360
+#: apply.c:3340
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3412 apply.c:3423 apply.c:3469 midx.c:59 setup.c:279
+#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3420
+#: apply.c:3400
 #, 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:3449 apply.c:3692
+#: apply.c:3429 apply.c:3672
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3535 apply.c:3707
+#: apply.c:3515 apply.c:3687
 #, 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:3544 apply.c:3715
+#: apply.c:3524 apply.c:3695
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3579
+#: apply.c:3559
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr "kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
 
-#: apply.c:3582
+#: apply.c:3562
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Đang trở lại hòa trộn “3-đường”…\n"
 
-#: apply.c:3598 apply.c:3602
+#: apply.c:3578 apply.c:3582
 #, 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:3614
+#: apply.c:3594
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Gặp lỗi khi quay trở lại để hòa trộn kiểu “three-way”…\n"
 
-#: apply.c:3628
+#: apply.c:3608
 #, 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:3633
+#: apply.c:3613
 #, 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:3659
+#: apply.c:3639
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3732
+#: apply.c:3712
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3734
+#: apply.c:3714
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3885 apply.c:3887 read-cache.c:830 read-cache.c:856
+#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856
 #: read-cache.c:1309
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3943
+#: apply.c:3923
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3946
+#: apply.c:3926
 #, 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:3966
+#: apply.c:3946
 #, 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:3971
+#: apply.c:3951
 #, 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:3991
+#: apply.c:3971
 #, 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:3995
+#: apply.c:3975
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:4010
+#: apply.c:3990
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4102
+#: apply.c:4082
 #, 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:4109
+#: apply.c:4089
 #, 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:4112
+#: apply.c:4092
 #, 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:4117 builtin/checkout.c:257 builtin/reset.c:143
+#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
 #, 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”"
 
-#: apply.c:4121
+#: apply.c:4101
 #, 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:4131
+#: apply.c:4111
 #, c-format
 msgid "could not write temporary index to %s"
-msgstr "không thểghi mục lục tạm vào %s"
+msgstr "không thể ghi mục lục tạm vào %s"
 
-#: apply.c:4269
+#: apply.c:4249
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4303
+#: apply.c:4283
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4309
+#: apply.c:4289
 #, 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"
+msgstr "không thể lấy thống kê về tập tin %s mới hơn đã được tạo"
 
-#: apply.c:4317
+#: apply.c:4297
 #, 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:4323 apply.c:4468
+#: apply.c:4303 apply.c:4448
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4366
+#: apply.c:4346
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4370
+#: apply.c:4350
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4440
+#: apply.c:4420
 #, 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:4538
+#: apply.c:4518
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4546
+#: apply.c:4526
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4549
+#: apply.c:4529
 #, 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:4560
+#: apply.c:4540
 #, 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:4568 builtin/fetch.c:837 builtin/fetch.c:1118
+#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4582
+#: apply.c:4562
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4586
+#: apply.c:4566
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4696
+#: apply.c:4676
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Bỏ qua đường dẫn “%s”."
 
-#: apply.c:4704
+#: apply.c:4684
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4724
+#: apply.c:4704
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4879
+#: apply.c:4859
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4906
+#: apply.c:4886
 #, 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:4912 apply.c:4927
+#: apply.c:4892 apply.c:4907
 #, 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:4920
+#: apply.c:4900
 #, 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:4936 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
+#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390
 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:4963 apply.c:4966 builtin/am.c:2210 builtin/am.c:2213
-#: builtin/clone.c:120 builtin/fetch.c:118 builtin/merge.c:271
-#: builtin/pull.c:207 builtin/submodule--helper.c:407
-#: builtin/submodule--helper.c:1366 builtin/submodule--helper.c:1369
-#: builtin/submodule--helper.c:1849 builtin/submodule--helper.c:1852
-#: builtin/submodule--helper.c:2091 git-add--interactive.perl:197
+#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211
+#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273
+#: builtin/pull.c:208 builtin/submodule--helper.c:407
+#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853
+#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211
 msgid "path"
 msgstr "đường-dẫn"
 
-#: apply.c:4964
+#: apply.c:4944
 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:4967
+#: apply.c:4947
 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:4969 builtin/am.c:2219
+#: apply.c:4949 builtin/am.c:2217
 msgid "num"
 msgstr "số"
 
-#: apply.c:4970
+#: apply.c:4950
 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:4973
+#: apply.c:4953
 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:4975
+#: apply.c:4955
 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:4979
+#: apply.c:4959
 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:4981
+#: apply.c:4961
 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:4983
+#: apply.c:4963
 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:4985
+#: apply.c:4965
 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:4987
+#: apply.c:4967
 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:4989
+#: apply.c:4969
 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:4991
+#: apply.c:4971
 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:4994
+#: apply.c:4974
 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:4996
+#: apply.c:4976
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "thử hòa trộn kiểu three-way nếu việc vá không thể thực hiện được"
 
-#: apply.c:4998
+#: apply.c:4978
 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:5001 builtin/checkout-index.c:173 builtin/ls-files.c:524
+#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524
 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:5003
+#: apply.c:4983
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: apply.c:5004 builtin/am.c:2198 builtin/interpret-trailers.c:97
-#: builtin/interpret-trailers.c:99 builtin/interpret-trailers.c:101
-#: builtin/pack-objects.c:3317 builtin/rebase.c:1415
+#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102
+#: builtin/pack-objects.c:3330 builtin/rebase.c:1421
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:5005
+#: apply.c:4985
 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:5008 apply.c:5011
+#: apply.c:4988 apply.c:4991
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng gây ra khi quét nội dung"
 
-#: apply.c:5014
+#: apply.c:4994
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:5016
+#: apply.c:4996
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: apply.c:5018
+#: apply.c:4998
 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:5020
+#: apply.c:5000
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:5021 builtin/add.c:291 builtin/check-ignore.c:22
-#: builtin/commit.c:1317 builtin/count-objects.c:98 builtin/fsck.c:786
-#: builtin/log.c:2045 builtin/mv.c:123 builtin/read-tree.c:128
+#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22
+#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786
+#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:5023
+#: apply.c:5003
 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:5026
+#: apply.c:5006
 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:5028 builtin/am.c:2207
+#: apply.c:5008 builtin/am.c:2205
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:5029
+#: apply.c:5009
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
 #: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr "git archive [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>…]"
+msgstr "git archive [<các tùy chọn>] <tree-ish> [</đường/dẫn>…]"
 
 #: archive.c:15
 msgid "git archive --list"
@@ -766,8 +779,8 @@ msgstr "git archive --list"
 msgid ""
 "git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
 msgstr ""
-"git archive --remote <kho> [--exec <lệnh>] [<các-tùy-chọn>] <tree-ish> "
-"[<đường-dẫn>…]"
+"git archive --remote <kho> [--exec <lệnh>] [<các tùy chọn>] <tree-ish> [</"
+"đường/dẫn>…]"
 
 #: archive.c:17
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
@@ -793,98 +806,98 @@ msgstr "không phải là tên đối tượng hợp lệ: “%s”"
 msgid "not a tree object: %s"
 msgstr "không phải là đối tượng cây: “%s”"
 
-#: archive.c:424
+#: archive.c:426
 msgid "current working directory is untracked"
 msgstr "thư mục làm việc hiện hành chưa được theo dõi"
 
-#: archive.c:455
+#: archive.c:457
 msgid "fmt"
 msgstr "định_dạng"
 
-#: archive.c:455
+#: archive.c:457
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:456 builtin/log.c:1557
+#: archive.c:458 builtin/log.c:1580
 msgid "prefix"
 msgstr "tiền_tố"
 
-#: archive.c:457
+#: archive.c:459
 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:458 builtin/blame.c:821 builtin/blame.c:822
-#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1091
-#: builtin/fast-export.c:1093 builtin/grep.c:895 builtin/hash-object.c:105
+#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875
+#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134
+#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105
 #: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412
 #: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177
 msgid "file"
 msgstr "tập_tin"
 
-#: archive.c:459 builtin/archive.c:90
+#: archive.c:461 builtin/archive.c:90
 msgid "write the archive to this file"
 msgstr "ghi kho lưu vào tập tin này"
 
-#: archive.c:461
+#: archive.c:463
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:462
+#: archive.c:464
 msgid "report archived files on stderr"
 msgstr "liệt kê các tập tin được lưu trữ vào stderr (đầu ra lỗi tiêu chuẩn)"
 
-#: archive.c:463
+#: archive.c:465
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:464
+#: archive.c:466
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:472
+#: archive.c:474
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:475
+#: archive.c:477
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:477 builtin/archive.c:91 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1378 builtin/submodule--helper.c:1858
+#: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116
+#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:478 builtin/archive.c:92
+#: archive.c:480 builtin/archive.c:92
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:479 builtin/archive.c:93 builtin/difftool.c:707
+#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707
 #: builtin/notes.c:498
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:480 builtin/archive.c:94
+#: archive.c:482 builtin/archive.c:94
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
-#: archive.c:487
+#: archive.c:489
 msgid "Unexpected option --remote"
-msgstr "Gặp tùy chọn --remote không cần"
+msgstr "Gặp tùy chọn không cần --remote"
 
-#: archive.c:489
+#: archive.c:491
 msgid "Option --exec can only be used together with --remote"
 msgstr "Tùy chọn --exec chỉ có thể được dùng cùng với --remote"
 
-#: archive.c:491
+#: archive.c:493
 msgid "Unexpected option --output"
 msgstr "Gặp tùy chọn không cần --output"
 
-#: archive.c:513
+#: archive.c:515
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Không hiểu định dạng “%s”"
 
-#: archive.c:520
+#: archive.c:522
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
@@ -928,7 +941,7 @@ msgstr "đường dẫn không hợp lệ UTF-8: %s"
 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:474 builtin/pack-objects.c:226 builtin/pack-objects.c:229
+#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233
 #, c-format
 msgid "deflate error (%d)"
 msgstr "lỗi giải nén (%d)"
@@ -1031,12 +1044,12 @@ msgstr "Bisecting: nền hòa trộn cần phải được kiểm tra\n"
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:248
+#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:928 builtin/merge.c:146
+#: bisect.c:928 builtin/merge.c:148
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
@@ -1074,40 +1087,40 @@ 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:1794
+#: blame.c:2697
 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:1808
+#: blame.c:2711
 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:1829
+#: blame.c:2732
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
-"--reverse và --first-parent cùng nhau cần chỉ định lần chuyển giao cuối"
+"cùng sử dụng --reverse và --first-parent cần chỉ định lần chuyển giao cuối"
 
-#: blame.c:1838 bundle.c:164 ref-filter.c:2077 remote.c:1938 sequencer.c:2030
-#: sequencer.c:4224 builtin/commit.c:1017 builtin/log.c:382 builtin/log.c:940
-#: builtin/log.c:1428 builtin/log.c:1804 builtin/log.c:2094 builtin/merge.c:415
-#: builtin/pack-objects.c:3140 builtin/pack-objects.c:3155
+#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033
+#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963
+#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411
+#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163
 #: builtin/shortlog.c:192
 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:1856
+#: blame.c:2759
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
-"--reverse --first-parent cùng nhau yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
+"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:1867
+#: blame.c:2770
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: blame.c:1878
+#: blame.c:2781
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
@@ -1243,12 +1256,12 @@ msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:359
+#: branch.c:364
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã được lấy ra tại “%s” rồi"
 
-#: branch.c:382
+#: branch.c:387
 #, 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"
@@ -1263,8 +1276,8 @@ msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump c
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2281 sequencer.c:2916
-#: builtin/commit.c:788
+#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024
+#: builtin/commit.c:791
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
@@ -1273,58 +1286,62 @@ msgstr "không thể mở “%s”"
 msgid "Repository lacks these prerequisite commits:"
 msgstr "Kho chứa thiếu những lần chuyển giao tiên quyết này:"
 
-#: bundle.c:194
+#: bundle.c:146
+msgid "need a repository to verify a bundle"
+msgstr "cần một kho chứa để thẩm tra một bundle"
+
+#: bundle.c:197
 #, 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:"
 
-#: bundle.c:201
+#: bundle.c:204
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
-#: bundle.c:203
+#: bundle.c:206
 #, 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:"
 
-#: bundle.c:269
+#: bundle.c:272
 msgid "unable to dup bundle descriptor"
 msgstr "không thể nhân đôi bộ mô tả bundle"
 
-#: bundle.c:276
+#: bundle.c:279
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh đối tượng gói"
 
-#: bundle.c:287
+#: bundle.c:290
 msgid "pack-objects died"
 msgstr "đối tượng gói đã chết"
 
-#: bundle.c:329
+#: bundle.c:332
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:378
+#: bundle.c:381
 #, 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:457 builtin/log.c:197 builtin/log.c:1709 builtin/shortlog.c:306
+#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:465
+#: bundle.c:468
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bó dữ liệu trống rỗng."
 
-#: bundle.c:475
+#: bundle.c:478
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:500
+#: bundle.c:503
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
@@ -1333,8 +1350,8 @@ msgstr "mục lục gói đã chết"
 msgid "invalid color value: %.*s"
 msgstr "giá trị màu không hợp lệ: %.*s"
 
-#: commit.c:50 sequencer.c:2697 builtin/am.c:355 builtin/am.c:399
-#: builtin/am.c:1377 builtin/am.c:2022 builtin/replace.c:455
+#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399
+#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
@@ -1344,7 +1361,7 @@ msgstr "không thể phân tích cú pháp %s"
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần chuyển giao!"
 
-#: commit.c:193
+#: commit.c:192
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1364,28 +1381,28 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1128
+#: commit.c:1127
 #, 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:1131
+#: commit.c:1130
 #, 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:1134
+#: commit.c:1133
 #, 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:1137
+#: commit.c:1136
 #, 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:1391
+#: commit.c:1390
 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"
@@ -1395,215 +1412,278 @@ msgstr ""
 "Bạn có lẽ muốn tu bổ nó sau khi sửa lời chú thích, hoặc là đặt biến\n"
 "cấu hình i18n.commitencoding thành bảng mã mà dự án của bạn muốn dùng.\n"
 
-#: commit-graph.c:105
+#: commit-graph.c:127
 msgid "commit-graph file is too small"
-msgstr "tập tin đồ thị các lần chuyển giao quá nhỏ"
+msgstr "tập tin đồ-thị-các-lần-chuyển-giao quá nhỏ"
 
-#: commit-graph.c:170
+#: commit-graph.c:192
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
-msgstr "chữ ký đồ thị lần chuyển giao %X không khớp chữ ký %X"
+msgstr "chữ ký đồ-thị-các-lần-chuyển-giao %X không khớp chữ ký %X"
 
-#: commit-graph.c:177
+#: commit-graph.c:199
 #, c-format
 msgid "commit-graph version %X does not match version %X"
-msgstr "phiên bản đồ đồ thị lần chuyển giao %X không khớp phiên bản %X"
+msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:184
+#: commit-graph.c:206
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
-msgstr "phiên bản đồ thị lần chuyển giao %X không khớp phiên bản %X"
+msgstr "phiên bản đồ-thị-các-lần-chuyển-giao %X không khớp phiên bản %X"
 
-#: commit-graph.c:207
+#: commit-graph.c:229
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
-"mục tin bảng tìm kiếm mảnh còn thiếu; tập tin có thể sẽ không hoàn thiện"
+"bảng tìm kiếm mảnh đồ-thị-các-lần-chuyển-giao còn thiếu; tập tin có thể sẽ "
+"không hoàn thiện"
 
-#: commit-graph.c:218
+#: commit-graph.c:240
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
-msgstr "bù mảnh không đúng chỗ %08x%08x"
+msgstr "bù mảnh đồ-thị-các-lần-chuyển-giao không đúng chỗ %08x%08x"
 
-#: commit-graph.c:255
+#: commit-graph.c:283
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
-msgstr "mã mảnh đồ thị lần chuyển giao %08x xuất hiện nhiều lần"
+msgstr "mã mảnh đồ-thị-các-lần-chuyển-giao %08x xuất hiện nhiều lần"
+
+#: commit-graph.c:347
+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:357
+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:404
+#, 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:430
+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:390
+#: commit-graph.c:554 commit-graph.c:614
+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:575
 #, 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:732 builtin/pack-objects.c:2649
+#: commit-graph.c:1002 builtin/pack-objects.c:2657
 #, 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:765
+#: commit-graph.c:1034
 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:781
+#: commit-graph.c:1051
 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:793
+#: commit-graph.c:1070
 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:813
+#: commit-graph.c:1089
 msgid "Computing commit graph generation numbers"
-msgstr "Đang tính toán số tạo sơ đồ các lần chuyển giao"
+msgstr "Đang tính toán số tạo đồ thị các lần chuyển giao"
 
-#: commit-graph.c:930
+#: commit-graph.c:1163
 #, c-format
 msgid "Finding commits for commit graph in %d pack"
 msgid_plural "Finding commits for commit graph in %d packs"
 msgstr[0] ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao trong %d gói"
 
-#: commit-graph.c:943
+#: commit-graph.c:1176
 #, c-format
 msgid "error adding pack %s"
 msgstr "gặp lỗi thêm gói %s"
 
-#: commit-graph.c:945
+#: commit-graph.c:1180
 #, c-format
 msgid "error opening index for %s"
 msgstr "gặp lỗi khi mở mục lục cho “%s”"
 
-#: commit-graph.c:959
+#: commit-graph.c:1204
 #, c-format
 msgid "Finding commits for commit graph from %d ref"
 msgid_plural "Finding commits for commit graph from %d refs"
 msgstr[0] ""
 "Đang tìm các lần chuyển giao cho đồ thị lần chuyển giao từ %d tham chiếu"
 
-#: commit-graph.c:991
+#: commit-graph.c:1238
 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:1004
+#: commit-graph.c:1253
 msgid "Counting distinct commits in commit graph"
 msgstr "Đang đếm các lần chuyển giao khác nhau trong đồ thị lần chuyển giao"
 
-#: commit-graph.c:1017
-#, c-format
-msgid "the commit graph format cannot write %d commits"
-msgstr "định dạng đồ họa các lần chuyển giao không thể ghi %d lần chuyển giao"
-
-#: commit-graph.c:1026
+#: commit-graph.c:1284
 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:1050
-msgid "too many commits to write graph"
-msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
+#: commit-graph.c:1332
+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:1057 midx.c:819
+#: commit-graph.c:1365 midx.c:811
 #, 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:1097
+#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240
+#, c-format
+msgid "unable to create '%s'"
+msgstr "không thể tạo “%s”"
+
+#: commit-graph.c:1437
 #, 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:1162
+#: commit-graph.c:1478
+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:1490
+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:1510
+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:1621
+msgid "Scanning merged commits"
+msgstr "Đang quét các lần chuyển giao đã hòa trộn"
+
+#: commit-graph.c:1632
+#, c-format
+msgid "unexpected duplicate commit id %s"
+msgstr "gặp mã số tích lần chuyển giao bị trùng lặp “%s”"
+
+#: commit-graph.c:1657
+msgid "Merging commit-graph"
+msgstr "Đang hòa trộn đồ-thị-các-lần-chuyển-giao"
+
+#: commit-graph.c:1844
+#, c-format
+msgid "the commit graph format cannot write %d commits"
+msgstr "định dạng đồ họa các lần chuyển giao không thể ghi %d lần chuyển giao"
+
+#: commit-graph.c:1855
+msgid "too many commits to write graph"
+msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
+
+#: commit-graph.c:1945
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
-"tập tin sơ đồ chuyển giao có tổng kiểm không đúng và có vẻ như là đã hỏng"
+"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:1172
+#: commit-graph.c:1955
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
-msgstr "đồ thị lần chuyển giao có thứ tự OID không đúng: %s sau %s"
+msgstr "đồ-thị-các-lần-chuyển-giao có thứ tự OID không đúng: %s sau %s"
 
-#: commit-graph.c:1182 commit-graph.c:1197
+#: commit-graph.c:1965 commit-graph.c:1980
 #, c-format
 msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u"
 msgstr ""
-"đồ thị lần chuyển giao có giá trị fanout không đúng: fanout[%d] = %u != %u"
+"đồ-thị-các-lần-chuyển-giao có giá trị fanout không đúng: fanout[%d] = %u != "
+"%u"
 
-#: commit-graph.c:1189
+#: commit-graph.c:1972
 #, 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ị lần chuyển giao"
+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:1206
+#: commit-graph.c:1989
 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:1219
+#: commit-graph.c:2002
 #, 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:1226
+#: commit-graph.c:2009
 #, 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ị lần chuyển giao là %s != %s"
+"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:1236
+#: commit-graph.c:2019
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
-"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s là quá dài"
+"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:1242
+#: commit-graph.c:2028
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
-msgstr "cha mẹ đồ thị lần chuyển giao cho %s là %s != %s"
+msgstr "cha mẹ đồ-thị-các-lần-chuyển-giao cho %s là %s != %s"
 
-#: commit-graph.c:1255
+#: commit-graph.c:2041
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
-"danh sách cha mẹ đồ thị lần chuyển giao cho lần chuyển giao %s bị chấm dứt "
-"quá sớm"
+"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:1260
+#: commit-graph.c:2046
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
 msgstr ""
-"đồ thị 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"
+"đồ-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:1264
+#: commit-graph.c:2050
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
 msgstr ""
-"đồ thị lần chuyển giao có con số không phải không lần tạo cho lần chuyển "
+"đồ-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:1279
+#: commit-graph.c:2065
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
-msgstr "tạo đồ thị lần chuyển giao cho lần chuyển giao %s là %u != %u"
+msgstr "tạo đồ-thị-các-lần-chuyển-giao cho lần chuyển giao %s là %u != %u"
 
-#: commit-graph.c:1285
+#: commit-graph.c:2071
 #, 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ị lần chuyển giao là "
+"ngày chuyển giao cho lần chuyển giao %s trong đồ-thị-các-lần-chuyển-giao là "
 "%<PRIuMAX> != %<PRIuMAX>"
 
 #: compat/obstack.c:406 compat/obstack.c:408
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:123
+#: config.c:124
 #, c-format
 msgid ""
 "exceeded maximum include depth (%d) while including\n"
@@ -1618,297 +1698,297 @@ msgstr ""
 "\t%s\n"
 "Nguyên nhân có thể là gồm quẩn vòng."
 
-#: config.c:139
+#: config.c:140
 #, c-format
 msgid "could not expand include path '%s'"
 msgstr "không thể khai triển đường dẫn “%s”"
 
-#: config.c:150
+#: config.c:151
 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:190
+#: config.c:197
 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:348
+#: config.c:376
 #, c-format
 msgid "key does not contain a section: %s"
 msgstr "khóa không chứa một phần: %s"
 
-#: config.c:354
+#: config.c:382
 #, 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:378 sequencer.c:2459
+#: config.c:406 sequencer.c:2463
 #, c-format
 msgid "invalid key: %s"
 msgstr "khóa không đúng: %s"
 
-#: config.c:384
+#: config.c:412
 #, c-format
 msgid "invalid key (newline): %s"
 msgstr "khóa không hợp lệ (dòng mới): %s"
 
-#: config.c:420 config.c:432
+#: config.c:448 config.c:460
 #, c-format
 msgid "bogus config parameter: %s"
 msgstr "tham số cấu hình không có thực: %s"
 
-#: config.c:467
+#: config.c:495
 #, c-format
 msgid "bogus format in %s"
 msgstr "định dạng không có thực trong %s"
 
-#: config.c:793
+#: config.c:821
 #, 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:797
+#: config.c:825
 #, 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:801
+#: config.c:829
 #, 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:805
+#: config.c:833
 #, 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:809
+#: config.c:837
 #, 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:813
+#: config.c:841
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:952
+#: config.c:978
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:952
+#: config.c:978
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:958
+#: config.c:979
 #, 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:963
+#: config.c:998
 #, 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:966
+#: config.c:1001
 #, 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:969
+#: config.c:1004
 #, 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:972
+#: config.c:1007
 #, 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:975
+#: config.c:1010
 #, 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:978
+#: config.c:1013
 #, 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:1073
+#: config.c:1108
 #, 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:1082
+#: config.c:1117
 #, 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:1173
+#: config.c:1208
 #, 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:1187 config.c:1198
+#: config.c:1222 config.c:1233
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:1290
+#: config.c:1325
 msgid "core.commentChar should only be one character"
 msgstr "core.commentChar chỉ được có một ký tự"
 
-#: config.c:1323
+#: config.c:1358
 #, 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:1395
+#: config.c:1430
 #, c-format
 msgid "malformed value for %s"
 msgstr "giá trị cho %s sai dạng"
 
-#: config.c:1421
+#: config.c:1456
 #, c-format
 msgid "malformed value for %s: %s"
 msgstr "giá trị cho %s sai dạng: %s"
 
-#: config.c:1422
+#: config.c:1457
 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:1483 builtin/pack-objects.c:3397
+#: config.c:1518 builtin/pack-objects.c:3410
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1604
+#: config.c:1639
 #, 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:1607
+#: config.c:1642
 #, 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:1624
+#: config.c:1659
 #, 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:1654
+#: config.c:1689
 #, c-format
 msgid "failed to parse %s"
 msgstr "gặp lỗi khi phân tích cú pháp %s"
 
-#: config.c:1710
+#: config.c:1745
 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:2059
+#: config.c:2094
 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:2229
+#: config.c:2264
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2272
+#: config.c:2307
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
 msgstr ""
 "không hiểu giá trị core.untrackedCache “%s”; dùng giá trị mặc định “keep”"
 
-#: config.c:2298
+#: config.c:2333
 #, 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:2344
+#: config.c:2379
 #, 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:2346
+#: config.c:2381
 #, 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:2427
+#: config.c:2462
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "tên của phần không hợp lệ “%s”"
 
-#: config.c:2459
+#: config.c:2494
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2488
+#: config.c:2523
 #, 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:2740 config.c:3064
+#: config.c:2775 config.c:3099
 #, 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:2751
+#: config.c:2786
 #, c-format
 msgid "opening %s"
 msgstr "đang mở “%s”"
 
-#: config.c:2786 builtin/config.c:328
+#: config.c:2821 builtin/config.c:328
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "mẫu không hợp lệ: %s"
 
-#: config.c:2811
+#: config.c:2846
 #, c-format
 msgid "invalid config file %s"
 msgstr "tập tin cấu hình “%s” không hợp lệ"
 
-#: config.c:2824 config.c:3077
+#: config.c:2859 config.c:3112
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2835
+#: config.c:2870
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "không thể mmap “%s”"
 
-#: config.c:2844 config.c:3082
+#: config.c:2879 config.c:3117
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod trên %s gặp lỗi"
 
-#: config.c:2929 config.c:3179
+#: config.c:2964 config.c:3214
 #, c-format
 msgid "could not write config file %s"
 msgstr "không thể ghi tập tin cấu hình “%s”"
 
-#: config.c:2963
+#: config.c:2998
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2965 builtin/remote.c:782
+#: config.c:3000 builtin/remote.c:782
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
-#: config.c:3055
+#: config.c:3090
 #, c-format
 msgid "invalid section name: %s"
 msgstr "tên của phần không hợp lệ: %s"
 
-#: config.c:3222
+#: config.c:3257
 #, c-format
 msgid "missing value for '%s'"
 msgstr "thiếu giá trị cho cho “%s”"
@@ -2072,19 +2152,19 @@ msgstr "đã khóa tên đường dẫn lạ “%s”"
 msgid "unable to fork"
 msgstr "không thể rẽ nhánh tiến trình con"
 
-#: connected.c:85 builtin/fsck.c:221 builtin/prune.c:43
+#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
-#: connected.c:97
+#: connected.c:98
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
 
-#: connected.c:117
+#: connected.c:118
 msgid "failed write to rev-list"
 msgstr "gặp lỗi khi ghi vào rev-list"
 
-#: connected.c:124
+#: connected.c:125
 msgid "failed to close rev-list's stdin"
 msgstr "gặp lỗi khi đóng đầu vào chuẩn stdin của rev-list"
 
@@ -2294,7 +2374,7 @@ msgid "island regex from config has too many capture groups (max=%d)"
 msgstr ""
 "biểu thức chính quy island từ cấu hình có quá nhiều nhóm chụp (tối đa=%d)"
 
-#: delta-islands.c:466
+#: delta-islands.c:467
 #, c-format
 msgid "Marked %d islands, done.\n"
 msgstr "Đã đánh dấu %d island, xong.\n"
@@ -2310,7 +2390,7 @@ msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
 #: diff-no-index.c:238
 msgid "git diff --no-index [<options>] <path> <path>"
-msgstr "git diff --no-index [<các-tùy-chọn>] <đường-dẫn> <đường-dẫn>"
+msgstr "git diff --no-index [<các tùy chọn>] </đường/dẫn> </đường/dẫn>"
 
 #: diff-no-index.c:263
 msgid ""
@@ -2370,35 +2450,35 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:4210
+#: diff.c:4215
 #, 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:4555
+#: diff.c:4560
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check và -s loại từ lẫn nhau"
 
-#: diff.c:4558
+#: diff.c:4563
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "Các tùy chọn -G, -S, và --find-object loại từ lẫn nhau"
 
-#: diff.c:4636
+#: diff.c:4641
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4684
+#: diff.c:4689
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "giá trị --stat không hợp lệ: “%s”"
 
-#: diff.c:4689 diff.c:4694 diff.c:4699 diff.c:4704 diff.c:5217
+#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222
 #: parse-options.c:199 parse-options.c:203
 #, 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:4721
+#: diff.c:4726
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2407,42 +2487,42 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4806
+#: diff.c:4811
 #, 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:4830
+#: diff.c:4835
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "không hiểu giá trị sau ws-error-highlight=%.*s"
 
-#: diff.c:4844
+#: diff.c:4849
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: diff.c:4894 diff.c:4900
+#: diff.c:4899 diff.c:4905
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s cần dạng <n>/<m>"
 
-#: diff.c:4912
+#: diff.c:4917
 #, 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:4933
+#: diff.c:4938
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "đối số --color-moved sai: %s"
 
-#: diff.c:4952
+#: diff.c:4957
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "chế độ “%s” không hợp lệ trong --color-moved-ws"
 
-#: diff.c:4992
+#: diff.c:4997
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2450,150 +2530,150 @@ msgstr ""
 "tùy chọn  diff-algorithm chấp nhận \"myers\", \"minimal\", \"patience\" và "
 "\"histogram\""
 
-#: diff.c:5028 diff.c:5048
+#: diff.c:5033 diff.c:5053
 #, c-format
 msgid "invalid argument to %s"
 msgstr "tham số cho %s không hợp lệ"
 
-#: diff.c:5186
+#: diff.c:5191
 #, 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:5242
+#: diff.c:5247
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "đối số --word-diff sai: %s"
 
-#: diff.c:5265
+#: diff.c:5270
 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:5267 diff.c:5273
+#: diff.c:5272 diff.c:5278
 msgid "generate patch"
 msgstr "tạo miếng vá"
 
-#: diff.c:5270 builtin/log.c:167
+#: diff.c:5275 builtin/log.c:172
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: diff.c:5275 diff.c:5389 diff.c:5396
+#: diff.c:5280 diff.c:5394 diff.c:5401
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5276 diff.c:5279
+#: diff.c:5281 diff.c:5284
 msgid "generate diffs with <n> lines context"
 msgstr "tạo khác biệt với <n> dòng ngữ cảnh"
 
-#: diff.c:5281
+#: diff.c:5286
 msgid "generate the diff in raw format"
 msgstr "tạo khác biệt ở định dạng thô"
 
-#: diff.c:5284
+#: diff.c:5289
 msgid "synonym for '-p --raw'"
 msgstr "đồng nghĩa với “-p --raw”"
 
-#: diff.c:5288
+#: diff.c:5293
 msgid "synonym for '-p --stat'"
 msgstr "đồng nghĩa với “-p --stat”"
 
-#: diff.c:5292
+#: diff.c:5297
 msgid "machine friendly --stat"
 msgstr "--stat thuận tiện cho máy đọc"
 
-#: diff.c:5295
+#: diff.c:5300
 msgid "output only the last line of --stat"
 msgstr "chỉ xuất những dòng cuối của --stat"
 
-#: diff.c:5297 diff.c:5305
+#: diff.c:5302 diff.c:5310
 msgid "<param1,param2>..."
 msgstr "<tham_số_1,tham_số_2>…"
 
-#: diff.c:5298
+#: diff.c:5303
 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:5302
+#: diff.c:5307
 msgid "synonym for --dirstat=cumulative"
 msgstr "đồng nghĩa với --dirstat=cumulative"
 
-#: diff.c:5306
+#: diff.c:5311
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "đồng nghĩa với --dirstat=files,param1,param2…"
 
-#: diff.c:5310
+#: diff.c:5315
 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:5313
+#: diff.c:5318
 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:5316
+#: diff.c:5321
 msgid "show only names of changed files"
 msgstr "chỉ hiển thị tên của các tập tin đổi"
 
-#: diff.c:5319
+#: diff.c:5324
 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:5321
+#: diff.c:5326
 msgid "<width>[,<name-width>[,<count>]]"
-msgstr "<width>[,<name-width>[,<count>]]"
+msgstr "<rộng>[,<name-width>[,<số-lượng>]]"
 
-#: diff.c:5322
+#: diff.c:5327
 msgid "generate diffstat"
 msgstr "tạo diffstat"
 
-#: diff.c:5324 diff.c:5327 diff.c:5330
+#: diff.c:5329 diff.c:5332 diff.c:5335
 msgid "<width>"
 msgstr "<rộng>"
 
-#: diff.c:5325
+#: diff.c:5330
 msgid "generate diffstat with a given width"
 msgstr "tạo diffstat với độ rộng đã cho"
 
-#: diff.c:5328
+#: diff.c:5333
 msgid "generate diffstat with a given name width"
 msgstr "tạo diffstat với tên độ rộng đã cho"
 
-#: diff.c:5331
+#: diff.c:5336
 msgid "generate diffstat with a given graph width"
 msgstr "tạo diffstat với độ rộng đồ thị đã cho"
 
-#: diff.c:5333
+#: diff.c:5338
 msgid "<count>"
 msgstr "<số_lượng>"
 
-#: diff.c:5334
+#: diff.c:5339
 msgid "generate diffstat with limited lines"
 msgstr "tạo diffstat với các dòng bị giới hạn"
 
-#: diff.c:5337
+#: diff.c:5342
 msgid "generate compact summary in diffstat"
 msgstr "tạo tổng hợp xúc tích trong diffstat"
 
-#: diff.c:5340
+#: diff.c:5345
 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:5343
+#: diff.c:5348
 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:5345
+#: diff.c:5350
 msgid "show colored diff"
 msgstr "hiển thị thay đổi được tô màu"
 
-#: diff.c:5346
+#: diff.c:5351
 msgid "<kind>"
-msgstr "<kind>"
+msgstr "<kiểu>"
 
-#: diff.c:5347
+#: diff.c:5352
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2601,7 +2681,7 @@ msgstr ""
 "tô sang 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:5350
+#: diff.c:5355
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2609,89 +2689,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:5353 diff.c:5356 diff.c:5359 diff.c:5465
+#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470
 msgid "<prefix>"
-msgstr "<tiền tố>"
+msgstr "<tiền_tố>"
 
-#: diff.c:5354
+#: diff.c:5359
 msgid "show the given source prefix instead of \"a/\""
 msgstr "hiển thị tiền tố nguồn đã cho thay cho \"a/\""
 
-#: diff.c:5357
+#: diff.c:5362
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "hiển thị tiền tố đích đã cho thay cho \"b/\""
 
-#: diff.c:5360
+#: diff.c:5365
 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:5363
+#: diff.c:5368
 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:5366
+#: diff.c:5371
 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:5370 diff.c:5375 diff.c:5380
+#: diff.c:5375 diff.c:5380 diff.c:5385
 msgid "<char>"
 msgstr "<ký_tự>"
 
-#: diff.c:5371
+#: diff.c:5376
 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:5376
+#: diff.c:5381
 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:5381
+#: diff.c:5386
 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:5384
+#: diff.c:5389
 msgid "Diff rename options"
 msgstr "Tùy chọn khác biệt đổi tên"
 
-#: diff.c:5385
+#: diff.c:5390
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5386
+#: diff.c:5391
 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:5390
+#: diff.c:5395
 msgid "detect renames"
 msgstr "dò tìm các tên thay đổi"
 
-#: diff.c:5394
+#: diff.c:5399
 msgid "omit the preimage for deletes"
 msgstr "bỏ qua preimage (tiền ảnh??) cho các việc xóa"
 
-#: diff.c:5397
+#: diff.c:5402
 msgid "detect copies"
 msgstr "dò bản sao"
 
-#: diff.c:5401
+#: diff.c:5406
 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:5403
+#: diff.c:5408
 msgid "disable rename detection"
 msgstr "tắt dò tìm đổi tên"
 
-#: diff.c:5406
+#: diff.c:5411
 msgid "use empty blobs as rename source"
 msgstr "dung các blob trống rống như là nguồn đổi tên"
 
-#: diff.c:5408
+#: diff.c:5413
 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:5411
+#: diff.c:5416
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2699,156 +2779,156 @@ 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:5413
+#: diff.c:5418
 msgid "Diff algorithm options"
 msgstr "Tùy chọn thuật toán khác biệt"
 
-#: diff.c:5415
+#: diff.c:5420
 msgid "produce the smallest possible diff"
 msgstr "sản sinh khác biệt ít nhất có thể"
 
-#: diff.c:5418
+#: diff.c:5423
 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:5421
+#: diff.c:5426
 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:5424
+#: diff.c:5429
 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:5427
+#: diff.c:5432
 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:5430
+#: diff.c:5435
 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:5433
+#: diff.c:5438
 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:5436
+#: diff.c:5441
 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:5440
+#: diff.c:5445
 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:5442
+#: diff.c:5447
 msgid "<algorithm>"
 msgstr "<thuật toán>"
 
-#: diff.c:5443
+#: diff.c:5448
 msgid "choose a diff algorithm"
 msgstr "chọn một thuật toán khác biệt"
 
-#: diff.c:5445
+#: diff.c:5450
 msgid "<text>"
 msgstr "<văn bản>"
 
-#: diff.c:5446
+#: diff.c:5451
 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:5448 diff.c:5457 diff.c:5460
+#: diff.c:5453 diff.c:5462 diff.c:5465
 msgid "<mode>"
 msgstr "<chế độ>"
 
-#: diff.c:5449
+#: diff.c:5454
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "hiển thị khác biệt từ, sử dung <chế độ> để bỏ giới hạn các từ bị thay đổi"
 
-#: diff.c:5451 diff.c:5454 diff.c:5499
+#: diff.c:5456 diff.c:5459 diff.c:5504
 msgid "<regex>"
 msgstr "<regex>"
 
-#: diff.c:5452
+#: diff.c:5457
 msgid "use <regex> to decide what a word is"
 msgstr "dùng <regex> để quyết định từ là cái gì"
 
-#: diff.c:5455
+#: diff.c:5460
 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:5458
+#: diff.c:5463
 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:5461
+#: diff.c:5466
 msgid "how white spaces are ignored in --color-moved"
 msgstr "bỏ qua khoảng trắng như thế nào trong --color-moved"
 
-#: diff.c:5464
+#: diff.c:5469
 msgid "Other diff options"
 msgstr "Các tùy chọn khác biệt khác"
 
-#: diff.c:5466
+#: diff.c:5471
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "khi chạy từ thư mục con, thự thi các thay đổi bên ngoài và hiển thị các "
 "đường dẫn liên quan"
 
-#: diff.c:5470
+#: diff.c:5475
 msgid "treat all files as text"
 msgstr "coi mọi tập tin là dạng văn bản thường"
 
-#: diff.c:5472
+#: diff.c:5477
 msgid "swap two inputs, reverse the diff"
 msgstr "tráo đổi hai đầu vào, đảo ngược khác biệt"
 
-#: diff.c:5474
+#: diff.c:5479
 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:5476
+#: diff.c:5481
 msgid "disable all output of the program"
 msgstr "tắt mọi kết xuất của chương trình"
 
-#: diff.c:5478
+#: diff.c:5483
 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:5480
+#: diff.c:5485
 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:5482
+#: diff.c:5487
 msgid "<when>"
 msgstr "<khi>"
 
-#: diff.c:5483
+#: diff.c:5488
 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:5486
+#: diff.c:5491
 msgid "<format>"
 msgstr "<định dạng>"
 
-#: diff.c:5487
+#: diff.c:5492
 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:5491
+#: diff.c:5496
 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:5494
+#: diff.c:5499
 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:5496
+#: diff.c:5501
 msgid "<string>"
 msgstr "<chuỗi>"
 
-#: diff.c:5497
+#: diff.c:5502
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -2856,7 +2936,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:5500
+#: diff.c:5505
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -2864,23 +2944,23 @@ 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:5503
+#: diff.c:5508
 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:5506
+#: diff.c:5511
 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:5509
+#: diff.c:5514
 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:5510
+#: diff.c:5515
 msgid "<object-id>"
 msgstr "<mã-số-đối-tượng>"
 
-#: diff.c:5511
+#: diff.c:5516
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -2888,33 +2968,33 @@ 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:5513
+#: diff.c:5518
 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]"
 msgstr "[(A|C|D|M|R|T|U|X|B)…[*]]"
 
-#: diff.c:5514
+#: diff.c:5519
 msgid "select files by diff type"
 msgstr "chọn các tập tin theo kiểu khác biệt"
 
-#: diff.c:5516
+#: diff.c:5521
 msgid "<file>"
 msgstr "<tập_tin>"
 
-#: diff.c:5517
+#: diff.c:5522
 msgid "Output to a specific file"
 msgstr "Xuất ra một tập tin cụ thể"
 
-#: diff.c:6150
+#: diff.c:6177
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "nhận thấy đổi tên không chính xác đã bị bỏ qua bởi có quá nhiều tập tin."
 
-#: diff.c:6153
+#: diff.c:6180
 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:6156
+#: diff.c:6183
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -3018,32 +3098,32 @@ msgstr "không thể ghi lên máy phục vụ"
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:360 fetch-pack.c:1271
+#: fetch-pack.c:360 fetch-pack.c:1284
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:366 fetch-pack.c:1277
+#: fetch-pack.c:366 fetch-pack.c:1290
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:368 fetch-pack.c:1279
+#: fetch-pack.c:368 fetch-pack.c:1292
 #, c-format
 msgid "object not found: %s"
 msgstr "không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:371 fetch-pack.c:1282
+#: fetch-pack.c:371 fetch-pack.c:1295
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:373 fetch-pack.c:1284
+#: fetch-pack.c:373 fetch-pack.c:1297
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:376 fetch-pack.c:1288
+#: fetch-pack.c:376 fetch-pack.c:1301
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
@@ -3062,7 +3142,7 @@ msgstr "lần chuyển giao %s không hợp lệ"
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:477 progress.c:284
+#: fetch-pack.c:477 progress.c:277
 msgid "done"
 msgstr "xong"
 
@@ -3103,155 +3183,131 @@ msgstr "%s gặp lỗi"
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:906
-msgid "Server does not support shallow clients"
-msgstr "Máy chủ không hỗ trợ máy khách shallow"
-
-#: fetch-pack.c:910
-msgid "Server supports multi_ack_detailed"
-msgstr "Máy chủ hỗ trợ multi_ack_detailed"
-
-#: fetch-pack.c:913
-msgid "Server supports no-done"
-msgstr "Máy chủ hỗ trợ no-done"
-
-#: fetch-pack.c:919
-msgid "Server supports multi_ack"
-msgstr "Máy chủ hỗ trợ multi_ack"
-
-#: fetch-pack.c:923
-msgid "Server supports side-band-64k"
-msgstr "Máy chủ hỗ trợ side-band-64k"
-
-#: fetch-pack.c:927
-msgid "Server supports side-band"
-msgstr "Máy chủ hỗ trợ side-band"
-
-#: fetch-pack.c:931
-msgid "Server supports allow-tip-sha1-in-want"
-msgstr "Máy chủ hỗ trợ allow-tip-sha1-in-want"
-
-#: fetch-pack.c:935
-msgid "Server supports allow-reachable-sha1-in-want"
-msgstr "Máy chủ hỗ trợ allow-reachable-sha1-in-want"
-
-#: fetch-pack.c:945
-msgid "Server supports ofs-delta"
-msgstr "Máy chủ hỗ trợ ofs-delta"
-
-#: fetch-pack.c:951 fetch-pack.c:1144
-msgid "Server supports filter"
-msgstr "Máy chủ hỗ trợ bộ lọc"
-
-#: fetch-pack.c:959
+#: fetch-pack.c:908
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:965
+#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928
+#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944
+#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960
+#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982
+#, c-format
+msgid "Server supports %s"
+msgstr "Máy chủ hỗ trợ %s"
+
+#: fetch-pack.c:915
+msgid "Server does not support shallow clients"
+msgstr "Máy chủ không hỗ trợ máy khách shallow"
+
+#: fetch-pack.c:975
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:969
+#: fetch-pack.c:980
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:971
+#: fetch-pack.c:984
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:988
+#: fetch-pack.c:1001
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1000 fetch-pack.c:1449
+#: fetch-pack.c:1013 fetch-pack.c:1462
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1138
+#: fetch-pack.c:1151
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1171
+#: fetch-pack.c:1157
+msgid "Server supports filter"
+msgstr "Máy chủ hỗ trợ bộ lọc"
+
+#: fetch-pack.c:1184
 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:1189
+#: fetch-pack.c:1202
 #, 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:1195
+#: fetch-pack.c:1208
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "cần “%s”, nhưng lại nhận “%s”"
 
-#: fetch-pack.c:1234
+#: fetch-pack.c:1247
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "gặp dòng không được thừa nhận: “%s”"
 
-#: fetch-pack.c:1239
+#: fetch-pack.c:1252
 #, 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:1249
+#: fetch-pack.c:1262
 msgid "expected packfile to be sent after 'ready'"
 msgstr "cần tập tin gói để gửi sau “ready”"
 
-#: fetch-pack.c:1251
+#: fetch-pack.c:1264
 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”"
 
-#: fetch-pack.c:1293
+#: fetch-pack.c:1306
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "lỗi xử lý thông tin shallow: %d"
 
-#: fetch-pack.c:1340
+#: fetch-pack.c:1353
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:1345
+#: fetch-pack.c:1358
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "không cần wanted-ref: “%s”"
 
-#: fetch-pack.c:1350
+#: fetch-pack.c:1363
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "lỗi khi xử lý wanted refs: %d"
 
-#: fetch-pack.c:1676
+#: fetch-pack.c:1689
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1699 builtin/clone.c:673
+#: fetch-pack.c:1712 builtin/clone.c:686
 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:1726
+#: fetch-pack.c:1739
 #, 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:1729
+#: fetch-pack.c:1742
 #, 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:318
+#: gpg-interface.c:321
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: gpg-interface.c:344
+#: gpg-interface.c:347
 msgid "could not create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: gpg-interface.c:347
+#: gpg-interface.c:350
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
@@ -3261,18 +3317,18 @@ msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "bỏ qua màu không hợp lệ “%.*s” trong log.graphColors"
 
-#: grep.c:2113
+#: grep.c:2117
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:2130 setup.c:164 builtin/clone.c:411 builtin/diff.c:82
+#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82
 #: builtin/rm.c:135
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:2141
+#: grep.c:2145
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
@@ -3342,7 +3398,7 @@ msgstr "các lệnh git sẵn có từ một nơi khác trong $PATH của bạn"
 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:363 git.c:97
+#: help.c:363 git.c:98
 #, c-format
 msgid "unsupported command listing type '%s'"
 msgstr "không hỗ trợ liệt kê lệnh kiểu “%s”"
@@ -3409,7 +3465,7 @@ msgstr[0] ""
 
 #: help.c:714
 msgid "git version [<options>]"
-msgstr "git version [<các-tùy-chọn>]"
+msgstr "git version [<các tùy chọn>]"
 
 #: help.c:782
 #, c-format
@@ -3481,7 +3537,7 @@ msgstr "không cho phép tên định danh là rỗng (cho <%s>)"
 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:436 builtin/commit.c:608
+#: ident.c:436 builtin/commit.c:611
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
@@ -3513,6 +3569,11 @@ msgstr "cần “tree:<depth>”"
 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:94
+#, c-format
+msgid "invalid filter-spec '%s'"
+msgstr "đặc tả bộ lọc không hợp lệ “%s”"
+
 #: list-objects-filter-options.c:158
 msgid "cannot change partial clone promisor remote"
 msgstr "không thể thay đổi nhân bản từng phần máy chủ promisor"
@@ -3545,8 +3606,8 @@ msgstr "Không thể tạo “%s.lock”: %s"
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:107 rerere.c:720 builtin/am.c:1887 builtin/am.c:1921
-#: builtin/checkout.c:461 builtin/checkout.c:811 builtin/clone.c:773
+#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919
+#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786
 #: builtin/stash.c:264
 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"
@@ -3571,94 +3632,94 @@ msgstr ""
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:861
+#: merge-recursive.c:863
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "gặp lỗi khi tạo đường dẫn “%s”%s"
 
-#: merge-recursive.c:872
+#: merge-recursive.c:874
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Gỡ bỏ %s để tạo chỗ (room) cho thư mục con\n"
 
-#: merge-recursive.c:886 merge-recursive.c:905
+#: merge-recursive.c:888 merge-recursive.c:907
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:895
+#: merge-recursive.c:897
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "từ chối đóng tập tin không được theo dõi tại “%s”"
 
-#: merge-recursive.c:936 builtin/cat-file.c:40
+#: merge-recursive.c:938 builtin/cat-file.c:40
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:939
+#: merge-recursive.c:941
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "mong đợi đối tượng blob cho %s “%s”"
 
-#: merge-recursive.c:963
+#: merge-recursive.c:965
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "gặp lỗi khi mở “%s”: %s"
 
-#: merge-recursive.c:974
+#: merge-recursive.c:976
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "gặp lỗi khi tạo liên kết mềm (symlink) “%s”: %s"
 
-#: merge-recursive.c:979
+#: merge-recursive.c:981
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "không hiểu phải làm gì với %06o %s “%s”"
 
-#: merge-recursive.c:1175
+#: merge-recursive.c:1177
 #, 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-recursive.c:1182
+#: merge-recursive.c:1184
 #, 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-recursive.c:1189
+#: merge-recursive.c:1191
 #, 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-recursive.c:1197 merge-recursive.c:1209
+#: merge-recursive.c:1199 merge-recursive.c:1211
 #, 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:1200 merge-recursive.c:1212
+#: merge-recursive.c:1202 merge-recursive.c:1214
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
 
-#: merge-recursive.c:1235
+#: merge-recursive.c:1237
 #, 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:1239
+#: merge-recursive.c:1241
 #, 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:1240
+#: merge-recursive.c:1242
 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:1243
+#: merge-recursive.c:1245
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -3675,33 +3736,33 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-recursive.c:1252
+#: merge-recursive.c:1254
 #, 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:1325
+#: merge-recursive.c:1327
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:1330
+#: merge-recursive.c:1332
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Không thể thêm %s vào cơ sở dữ liệu"
 
-#: merge-recursive.c:1362
+#: merge-recursive.c:1364
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1385
+#: merge-recursive.c:1387
 #, 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:1457
+#: merge-recursive.c:1459
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3710,7 +3771,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:1462
+#: merge-recursive.c:1464
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3719,7 +3780,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:1469
+#: merge-recursive.c:1471
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -3728,7 +3789,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:1474
+#: merge-recursive.c:1476
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3737,45 +3798,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:1509
+#: merge-recursive.c:1511
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1509
+#: merge-recursive.c:1511
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1589 merge-recursive.c:2445 merge-recursive.c:3085
+#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094
 #, 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:1599
+#: merge-recursive.c:1601
 #, 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:1657
+#: merge-recursive.c:1659
 #, 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:1687
+#: merge-recursive.c:1690
 #, 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:1692
+#: merge-recursive.c:1695
 #, 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:1711
+#: merge-recursive.c:1714
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3784,17 +3845,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:1716
+#: merge-recursive.c:1719
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
 #, 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:2030
+#: merge-recursive.c:2035
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3805,7 +3866,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:2062
+#: merge-recursive.c:2067
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3814,7 +3875,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-recursive.c:2072
+#: merge-recursive.c:2077
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3823,7 +3884,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-recursive.c:2164
+#: merge-recursive.c:2169
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3832,7 +3893,7 @@ 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:2408
+#: merge-recursive.c:2413
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3841,52 +3902,52 @@ 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-recursive.c:2929
+#: merge-recursive.c:2938
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:2932
+#: merge-recursive.c:2941
 #, c-format
 msgid "object %s is not a blob"
 msgstr "đối tượng %s không phải là một blob"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3005
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:2996
+#: merge-recursive.c:3005
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:3008
+#: merge-recursive.c:3017
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:3012
+#: merge-recursive.c:3021
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:3035
+#: merge-recursive.c:3044
 #, 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:3057 git-submodule.sh:937
+#: merge-recursive.c:3066 git-submodule.sh:937
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:3058
+#: merge-recursive.c:3067
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3088
+#: merge-recursive.c:3097
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:3170
+#: merge-recursive.c:3179
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -3895,7 +3956,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-recursive.c:3173
+#: merge-recursive.c:3182
 #, c-format
 msgid ""
 "CONFLICT (file location): %s added in %s inside a directory that was renamed "
@@ -3904,7 +3965,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-recursive.c:3177
+#: merge-recursive.c:3186
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -3913,7 +3974,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-recursive.c:3180
+#: merge-recursive.c:3189
 #, c-format
 msgid ""
 "CONFLICT (file location): %s renamed to %s in %s, inside a directory that "
@@ -3922,37 +3983,37 @@ 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-recursive.c:3294
+#: merge-recursive.c:3303
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3317
+#: merge-recursive.c:3326
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3322
+#: merge-recursive.c:3331
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3329
+#: merge-recursive.c:3338
 #, 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:3338
+#: merge-recursive.c:3347
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3356
 #, 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:3385
+#: merge-recursive.c:3394
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -3962,174 +4023,187 @@ msgstr ""
 "hòa trộn:\n"
 "  %s"
 
-#: merge-recursive.c:3396
+#: merge-recursive.c:3405
 msgid "Already up to date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:3405
+#: merge-recursive.c:3414
 #, 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:3504
+#: merge-recursive.c:3513
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3517
+#: merge-recursive.c:3526
 #, 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:3556
+#: merge-recursive.c:3565
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3622
+#: merge-recursive.c:3631
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3638 builtin/merge.c:702 builtin/merge.c:873
+#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục."
 
-#: midx.c:66
+#: midx.c:69
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "tập tin đồ thị multi-pack-index %s quá nhỏ"
 
-#: midx.c:82
+#: midx.c:85
 #, 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:87
+#: midx.c:90
 #, 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:92
+#: midx.c:95
 #, c-format
 msgid "hash version %u does not match"
 msgstr "phiên bản băm “%u” không khớp"
 
-#: midx.c:106
+#: midx.c:109
 msgid "invalid chunk offset (too large)"
 msgstr "khoảng bù đoạn không hợp lệ (quá lớn)"
 
-#: midx.c:130
+#: midx.c:133
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr "mã mảnh kết thúc multi-pack-index xuất hiện sớm hơn bình thường"
 
-#: midx.c:143
+#: midx.c:146
 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:145
+#: midx.c:148
 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:147
+#: midx.c:150
 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:149
+#: midx.c:152
 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:163
+#: midx.c:166
 #, 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:208
+#: midx.c:211
 #, 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:258
+#: midx.c:261
 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:286
+#: midx.c:289
 msgid "error preparing packfile from multi-pack-index"
 msgstr "lỗi chuẩn bị tập tin gói từ multi-pack-index"
 
-#: midx.c:457
+#: midx.c:470
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "gặp lỗi khi thêm tập tin gói “%s”"
 
-#: midx.c:463
+#: midx.c:476
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "gặp lỗi khi mở pack-index “%s”"
 
-#: midx.c:557
+#: midx.c:536
 #, 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:993
+#: midx.c:865
+#, 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:1036
 #, 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:1048
+#: midx.c:1091
 msgid "Looking for referenced packfiles"
 msgstr "Đang khóa cho các gói bị tham chiếu"
 
-#: midx.c:1063
+#: midx.c:1106
 #, 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:1067
+#: midx.c:1110
 msgid "Verifying OID order in MIDX"
 msgstr "Thẩm tra thứ tự OID trong MIDX"
 
-#: midx.c:1076
+#: midx.c:1119
 #, 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:1095
+#: midx.c:1138
 msgid "Sorting objects by packfile"
 msgstr "Đang sắp xếp các đối tượng theo tập tin gói"
 
-#: midx.c:1101
+#: midx.c:1144
 msgid "Verifying object offsets"
 msgstr "Đang thẩm tra các khoảng bù đối tượng"
 
-#: midx.c:1117
+#: midx.c:1160
 #, 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:1123
+#: midx.c:1166
 #, 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:1132
+#: midx.c:1175
 #, 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>"
 
-#: name-hash.c:531
+#: midx.c:1350
+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:1369
+msgid "could not finish pack-objects"
+msgstr "không thể hoàn thiện các đối tượng gói"
+
+#: name-hash.c:532
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "không thể tạo tuyến lazy_dir: %s"
 
-#: name-hash.c:553
+#: name-hash.c:554
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "không thể tạo tuyến lazy_name: %s"
 
-#: name-hash.c:559
+#: name-hash.c:560
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "không thể gia nhập tuyến lazy_name: %s"
@@ -4201,16 +4275,16 @@ msgstr "không thể phân tích đối tượng: “%s”"
 msgid "hash mismatch %s"
 msgstr "mã băm không khớp %s"
 
-#: packfile.c:617
+#: packfile.c:648
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "vị trí tương đối trước điểm kết thúc của tập tin gói (.idx hỏng à?)"
 
-#: packfile.c:1868
+#: packfile.c:1899
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "vị trí tương đối nằm trước chỉ mục gói cho %s (mục lục bị hỏng à?)"
 
-#: packfile.c:1872
+#: packfile.c:1903
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
@@ -4466,24 +4540,29 @@ msgstr "không thể tạo tuyến trình lstat: %s"
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
-#: range-diff.c:56
+#: range-diff.c:70
 msgid "could not start `log`"
 msgstr "không thể lấy thông tin thống kê về “log“"
 
-#: range-diff.c:59
+#: range-diff.c:72
 msgid "could not read `log` output"
 msgstr "không thể đọc kết xuất “log”"
 
-#: range-diff.c:74 sequencer.c:4897
+#: range-diff.c:91 sequencer.c:5021
 #, 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:224
+#: range-diff.c:117
+#, 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:274
 msgid "failed to generate diff"
 msgstr "gặp lỗi khi tạo khác biệt"
 
-#: range-diff.c:455 range-diff.c:457
+#: range-diff.c:506 range-diff.c:508
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "không thể phân tích nhật ký cho “%s”"
@@ -4600,11 +4679,10 @@ msgid "unordered stage entries for '%s'"
 msgstr "các mục tin stage không đúng thứ tự cho “%s”"
 
 #: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111
-#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:358
-#: builtin/checkout.c:672 builtin/checkout.c:1060 builtin/clean.c:955
-#: builtin/commit.c:344 builtin/diff-tree.c:120 builtin/grep.c:498
-#: builtin/mv.c:145 builtin/reset.c:245 builtin/rm.c:271
-#: builtin/submodule--helper.c:330
+#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467
+#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347
+#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145
+#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
@@ -4658,12 +4736,12 @@ msgstr "không thể làm tươi mới mục lục đã chia sẻ “%s”"
 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:2989 wrapper.c:658 builtin/merge.c:1117
+#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:3092 sequencer.c:2354 sequencer.c:3807
+#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
@@ -4747,7 +4825,7 @@ msgid "Rebase %s onto %s (%d command)"
 msgid_plural "Rebase %s onto %s (%d commands)"
 msgstr[0] "Cải tổ %s vào %s (%d lệnh )"
 
-#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:173
+#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -4756,7 +4834,7 @@ msgstr ""
 "Đừng xóa bất kỳ dòng nào. Dùng “drop” một cách rõ ràng để xóa bỏ một lần "
 "chuyển giao.\n"
 
-#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:177
+#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -4764,7 +4842,7 @@ msgstr ""
 "\n"
 "Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
 
-#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:816
+#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871
 msgid ""
 "\n"
 "You are editing the todo file of an ongoing interactive rebase.\n"
@@ -4778,7 +4856,7 @@ msgstr ""
 "    git rebase --continue\n"
 "\n"
 
-#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:893
+#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948
 msgid ""
 "\n"
 "However, if you remove everything, the rebase will be aborted.\n"
@@ -4788,12 +4866,12 @@ 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:85 git-rebase--preserve-merges.sh:900
+#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
 msgid "Note that empty commits are commented out"
 msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
 
-#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3339
-#: sequencer.c:3365 sequencer.c:4996 builtin/fsck.c:356 builtin/rebase.c:235
+#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447
+#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235
 #, c-format
 msgid "could not write '%s'"
 msgstr "không thể ghi “%s”"
@@ -4830,97 +4908,98 @@ msgstr ""
 "Cánh ứng xử có thể là: ignore, warn, error.\n"
 "\n"
 
-#: refs.c:192
+#: 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:597
+#: refs.c:667
 #, c-format
 msgid "ignoring dangling symref %s"
 msgstr "đang lờ đi tham chiếu mềm thừa %s"
 
-#: refs.c:599 ref-filter.c:1982
+#: refs.c:669 ref-filter.c:2092
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "đang lờ đi tham chiếu hỏng %s"
 
-#: refs.c:734
+#: refs.c:804
 #, c-format
 msgid "could not open '%s' for writing: %s"
 msgstr "không thể mở “%s” để ghi: %s"
 
-#: refs.c:744 refs.c:795
+#: refs.c:814 refs.c:865
 #, c-format
 msgid "could not read ref '%s'"
 msgstr "không thể đọc tham chiếu “%s”"
 
-#: refs.c:750
+#: refs.c:820
 #, c-format
 msgid "ref '%s' already exists"
 msgstr "tham chiếu “%s” đã có từ trước rồi"
 
-#: refs.c:755
+#: refs.c:825
 #, c-format
 msgid "unexpected object ID when writing '%s'"
 msgstr "không cần ID đối tượng khi ghi “%s”"
 
-#: refs.c:763 sequencer.c:400 sequencer.c:2679 sequencer.c:2805
-#: sequencer.c:2819 sequencer.c:3076 sequencer.c:4913 wrapper.c:656
+#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913
+#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656
 #, c-format
 msgid "could not write to '%s'"
 msgstr "không thể ghi vào “%s”"
 
-#: refs.c:790 wrapper.c:225 wrapper.c:395 builtin/am.c:715 builtin/rebase.c:993
+#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715
+#: builtin/rebase.c:1003
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: refs.c:797
+#: refs.c:867
 #, c-format
 msgid "unexpected object ID when deleting '%s'"
 msgstr "gặp ID đối tượng không cần khi xóa “%s”"
 
-#: refs.c:928
+#: refs.c:998
 #, 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:934
+#: refs.c:1004
 #, 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:993
+#: refs.c:1063
 #, c-format
 msgid "log for %s is empty"
 msgstr "nhật ký cho %s trống rỗng"
 
-#: refs.c:1085
+#: refs.c:1155
 #, 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:1161
+#: refs.c:1231
 #, c-format
 msgid "update_ref failed for ref '%s': %s"
 msgstr "update_ref bị lỗi cho ref “%s”: %s"
 
-#: refs.c:1942
+#: refs.c:2012
 #, 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:1974
+#: refs.c:2044
 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:2070 refs.c:2100
+#: refs.c:2140 refs.c:2170
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "“%s” sẵn có; không thể tạo “%s”"
 
-#: refs.c:2076 refs.c:2111
+#: refs.c:2146 refs.c:2181
 #, 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"
@@ -4946,141 +5025,141 @@ msgstr "không thể xóa bỏ tham chiếu: %s"
 msgid "invalid refspec '%s'"
 msgstr "refspec không hợp lệ “%s”"
 
-#: ref-filter.c:39 wt-status.c:1909
+#: ref-filter.c:42 wt-status.c:1934
 msgid "gone"
 msgstr "đã ra đi"
 
-#: ref-filter.c:40
+#: ref-filter.c:43
 #, c-format
 msgid "ahead %d"
 msgstr "phía trước %d"
 
-#: ref-filter.c:41
+#: ref-filter.c:44
 #, c-format
 msgid "behind %d"
 msgstr "đằng sau %d"
 
-#: ref-filter.c:42
+#: ref-filter.c:45
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "trước %d, sau %d"
 
-#: ref-filter.c:138
+#: ref-filter.c:162
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "cần định dạng: %%(color:<color>)"
 
-#: ref-filter.c:140
+#: ref-filter.c:164
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "không nhận ra màu: %%(màu:%s)"
 
-#: ref-filter.c:162
+#: ref-filter.c:186
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Giá trị nguyên cần tên tham chiếu:lstrip=%s"
 
-#: ref-filter.c:166
+#: ref-filter.c:190
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Giá trị nguyên cần tên tham chiếu:rstrip=%s"
 
-#: ref-filter.c:168
+#: ref-filter.c:192
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "đối số không được thừa nhận %%(%s): %s"
 
-#: ref-filter.c:223
+#: ref-filter.c:247
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) không nhận các đối số"
 
-#: ref-filter.c:245
+#: ref-filter.c:269
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "tham số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:253
+#: ref-filter.c:277
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) không nhận các đối số"
 
-#: ref-filter.c:265
+#: ref-filter.c:289
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) không nhận các đối số"
 
-#: ref-filter.c:274
+#: ref-filter.c:298
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) không nhận các đối số"
 
-#: ref-filter.c:296
+#: ref-filter.c:320
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "không hiểu tham số %%(trailers): %s"
 
-#: ref-filter.c:325
+#: ref-filter.c:349
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "cần nội dung mang giá trị dương:lines=%s"
 
-#: ref-filter.c:327
+#: ref-filter.c:351
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: ref-filter.c:342
+#: ref-filter.c:366
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "cần nội dung mang giá trị dương:shot=%s"
 
-#: ref-filter.c:346
+#: ref-filter.c:370
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "đối số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:376
+#: ref-filter.c:400
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: ref-filter.c:388
+#: ref-filter.c:412
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "vị trí không được thừa nhận:%s"
 
-#: ref-filter.c:395
+#: ref-filter.c:419
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "chiều rộng không được thừa nhận:%s"
 
-#: ref-filter.c:404
+#: ref-filter.c:428
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "đối số không được thừa nhận %%(align): %s"
 
-#: ref-filter.c:412
+#: ref-filter.c:436
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "cần giá trị độ rộng dương với nguyên tử %%(align)"
 
-#: ref-filter.c:430
+#: ref-filter.c:454
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "đối số không được thừa nhận %%(if): %s"
 
-#: ref-filter.c:531
+#: ref-filter.c:556
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "tên trường dị hình: %.*s"
 
-#: ref-filter.c:558
+#: ref-filter.c:583
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "không hiểu tên trường: %.*s"
 
-#: ref-filter.c:562
+#: ref-filter.c:587
 #, c-format
 msgid ""
 "not a git repository, but the field '%.*s' requires access to object data"
@@ -5088,127 +5167,111 @@ msgstr ""
 "không phải là một kho git, nhưng trường “%.*s” yêu cầu truy cập vào dữ liệu "
 "đối tượng"
 
-#: ref-filter.c:686
+#: ref-filter.c:711
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "định dạng: nguyên tử %%(if) được dùng mà không có nguyên tử %%(then)"
 
-#: ref-filter.c:749
+#: ref-filter.c:774
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "định dạng: nguyên tử %%(then) được dùng mà không có nguyên tử %%(if)"
 
-#: ref-filter.c:751
+#: ref-filter.c:776
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "định dạng: nguyên tử %%(then) được dùng nhiều hơn một lần"
 
-#: ref-filter.c:753
+#: ref-filter.c:778
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "định dạng: nguyên tử %%(then) được dùng sau %%(else)"
 
-#: ref-filter.c:781
+#: ref-filter.c:806
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(if)"
 
-#: ref-filter.c:783
+#: ref-filter.c:808
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "định dạng: nguyên tử %%(else) được dùng mà không có nguyên tử %%(then)"
 
-#: ref-filter.c:785
+#: ref-filter.c:810
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "định dạng: nguyên tử %%(else) được dùng nhiều hơn một lần"
 
-#: ref-filter.c:800
+#: ref-filter.c:825
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "định dạng: nguyên tử %%(end) được dùng mà không có nguyên tử tương ứng"
 
-#: ref-filter.c:857
+#: ref-filter.c:882
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:1453
-#, c-format
-msgid "(no branch, rebasing %s)"
-msgstr "(không nhánh, đang cải tổ %s)"
-
-#: ref-filter.c:1456
+#: ref-filter.c:1485
 #, c-format
-msgid "(no branch, rebasing detached HEAD %s)"
-msgstr "(không nhánh, đang cải tổ HEAD %s đã tách rời)"
+msgid "no branch, rebasing %s"
+msgstr "không nhánh, đang cải tổ %s"
 
-#: ref-filter.c:1459
+#: ref-filter.c:1488
 #, 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)"
+msgid "no branch, rebasing detached HEAD %s"
+msgstr "không nhánh, đang cải tổ HEAD %s đã tách rời"
 
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached at " in wt-status.c
-#.
-#: ref-filter.c:1467
-#, c-format
-msgid "(HEAD detached at %s)"
-msgstr "(HEAD được tách rời tại %s)"
-
-#. TRANSLATORS: make sure this matches "HEAD
-#. detached from " in wt-status.c
-#.
-#: ref-filter.c:1474
+#: ref-filter.c:1491
 #, c-format
-msgid "(HEAD detached from %s)"
-msgstr "(HEAD được tách rời từ %s)"
+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:1478
-msgid "(no branch)"
-msgstr "(không nhánh)"
+#: ref-filter.c:1501
+msgid "no branch"
+msgstr "không nhánh"
 
-#: ref-filter.c:1512 ref-filter.c:1669
+#: ref-filter.c:1537 ref-filter.c:1743
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1522
+#: ref-filter.c:1547
 #, 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:1888
+#: ref-filter.c:1998
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1977
+#: ref-filter.c:2087
 #, 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:2263
+#: ref-filter.c:2382
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:2363
+#: ref-filter.c:2482
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "tùy chọn “%s” là xung khắc với tùy chọn --merged"
 
-#: ref-filter.c:2366
+#: ref-filter.c:2485
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "tùy chọn “%s” là xung khắc với tùy chọn --no-merged"
 
-#: ref-filter.c:2376
+#: ref-filter.c:2495
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: ref-filter.c:2381
+#: ref-filter.c:2500
 #, 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"
@@ -5552,8 +5615,8 @@ msgstr "không thể unlink stray “%s”"
 msgid "Recorded preimage for '%s'"
 msgstr "Preimage đã được ghi lại cho “%s”"
 
-#: rerere.c:881 submodule.c:2024 builtin/log.c:1750
-#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1427
+#: rerere.c:881 submodule.c:2023 builtin/log.c:1773
+#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
@@ -5587,20 +5650,20 @@ msgstr "Quên phân giải cho “%s”\n"
 msgid "unable to open rr-cache directory"
 msgstr "không thể mở thư mục rr-cache"
 
-#: revision.c:2476
+#: revision.c:2507
 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:2479
+#: revision.c:2510
 #, 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:2679
+#: revision.c:2710
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
-#: revision.c:2683
+#: revision.c:2714
 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"
 
@@ -5671,79 +5734,84 @@ 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:318
+#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369
+#, c-format
+msgid "could not remove '%s'"
+msgstr "không thể gỡ bỏ “%s”"
+
+#: sequencer.c:321
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:320
+#: sequencer.c:323
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:322
+#: sequencer.c:325
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:324
+#: sequencer.c:327
 #, c-format
 msgid "unknown action: %d"
 msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:382
+#: sequencer.c:385
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
 msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
+"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”"
 
-#: sequencer.c:385
+#: sequencer.c:388
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
 "and commit the result with 'git commit'"
 msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
-"với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
+"với lệnh “git add </các/đường/dẫn>” hoặc “git rm </các/đường/dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:398 sequencer.c:2801
+#: sequencer.c:401 sequencer.c:2909
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:405
+#: sequencer.c:408
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:410 sequencer.c:2684 sequencer.c:2807 sequencer.c:2821
-#: sequencer.c:3084
+#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929
+#: sequencer.c:3192
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:433 sequencer.c:978 sequencer.c:1652 sequencer.c:2704
-#: sequencer.c:3066 sequencer.c:3175 builtin/am.c:245 builtin/commit.c:760
-#: builtin/merge.c:1115 builtin/rebase.c:567
+#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734
+#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763
+#: builtin/merge.c:1112 builtin/rebase.c:567
 #, c-format
 msgid "could not read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: sequencer.c:459
+#: sequencer.c:462
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "các thay đổi nội bộ của bạn có thể bị ghi đè bởi lệnh %s."
 
-#: sequencer.c:463
+#: sequencer.c:466
 msgid "commit your changes or stash them to proceed."
 msgstr "chuyển giao các thay đổi của bạn hay tạm cất (stash) chúng để xử lý."
 
-#: sequencer.c:495
+#: sequencer.c:498
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
 
-#: sequencer.c:534 builtin/tag.c:555
+#: sequencer.c:537 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
@@ -5751,70 +5819,70 @@ msgstr "Chế độ dọn dẹp không hợp lệ %s"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:629
+#: sequencer.c:632
 #, c-format
 msgid "%s: Unable to write new index file"
 msgstr "%s: Không thể ghi tập tin lưu bảng mục lục mới"
 
-#: sequencer.c:646
+#: sequencer.c:649
 msgid "unable to update cache tree"
 msgstr "không thể cập nhật cây bộ nhớ đệm"
 
-#: sequencer.c:660
+#: sequencer.c:663
 msgid "could not resolve HEAD commit"
 msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:740
+#: sequencer.c:743
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "không có khóa hiện diện trong “%.*s”"
 
-#: sequencer.c:751
+#: sequencer.c:754
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "không thể giải trích dẫn giá trị của “%s”"
 
-#: sequencer.c:788 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1112 builtin/rebase.c:1035
+#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706
+#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
 
-#: sequencer.c:798
+#: sequencer.c:801
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "“GIT_AUTHOR_NAME” đã sẵn đưa ra rồi"
 
-#: sequencer.c:803
+#: sequencer.c:806
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "“GIT_AUTHOR_EMAIL” đã sẵn đưa ra rồi"
 
-#: sequencer.c:808
+#: sequencer.c:811
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "“GIT_AUTHOR_DATE” đã sẵn đưa ra rồi"
 
-#: sequencer.c:812
+#: sequencer.c:815
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "không hiểu biến “%s”"
 
-#: sequencer.c:817
+#: sequencer.c:820
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "thiếu “GIT_AUTHOR_NAME”"
 
-#: sequencer.c:819
+#: sequencer.c:822
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "thiếu “GIT_AUTHOR_EMAIL”"
 
-#: sequencer.c:821
+#: sequencer.c:824
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "thiếu “GIT_AUTHOR_DATE”"
 
-#: sequencer.c:881
+#: sequencer.c:884
 #, c-format
 msgid "invalid date format '%s' in '%s'"
 msgstr "định dạng ngày tháng không hợp lệ “%s” trong “%s”"
 
-#: sequencer.c:898
+#: sequencer.c:901
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -5843,15 +5911,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:992
+#: sequencer.c:995
 msgid "writing root commit"
 msgstr "ghi chuyển giao gốc"
 
-#: sequencer.c:1213
+#: sequencer.c:1216
 msgid "'prepare-commit-msg' hook failed"
 msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:1220
+#: sequencer.c:1223
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5882,7 +5950,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1233
+#: sequencer.c:1236
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -5910,308 +5978,351 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1275
+#: sequencer.c:1278
 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:1277
+#: sequencer.c:1280
 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:1323
+#: sequencer.c:1326
 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:1325
+#: sequencer.c:1328
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1329
+#: sequencer.c:1332
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1350
+#: sequencer.c:1353
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1352
+#: sequencer.c:1355
 #, 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:1356 builtin/commit.c:1551
+#: sequencer.c:1359 builtin/commit.c:1571
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1408 sequencer.c:2001
+#: sequencer.c:1411 sequencer.c:2004
 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:1418 builtin/am.c:1572 builtin/merge.c:688
+#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684
 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:1435 sequencer.c:1496
+#: sequencer.c:1438 sequencer.c:1499
 #, 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:1462 builtin/am.c:1594 builtin/commit.c:1650 builtin/merge.c:882
-#: builtin/merge.c:906
+#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878
+#: builtin/merge.c:903
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1523
+#: sequencer.c:1526
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1528
+#: sequencer.c:1531
 #, 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:1602 sequencer.c:1712
+#: sequencer.c:1605 sequencer.c:1715
 #, c-format
 msgid "unknown command: %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:1659 sequencer.c:1684
+#: sequencer.c:1662 sequencer.c:1687
 #, 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:1669
+#: sequencer.c:1672
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1671 sequencer.c:3111
+#: sequencer.c:1674 sequencer.c:3219
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1673
+#: sequencer.c:1676
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1679
+#: sequencer.c:1682
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:1686 git-rebase--preserve-merges.sh:441
+#: sequencer.c:1689 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:1694
+#: sequencer.c:1697
 #, 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:1701
+#: sequencer.c:1704
 #, 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:1707
+#: sequencer.c:1710
 #, 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:1795
+#: sequencer.c:1798
 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:1802
+#: sequencer.c:1805
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:1821
+#: sequencer.c:1824
 #, 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:1829 sequencer.c:1837
+#: sequencer.c:1832 sequencer.c:1840
 #, 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:1843
+#: sequencer.c:1846
 #, 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:1862
+#: sequencer.c:1865
 #, 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:1927
+#: sequencer.c:1930
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:1982
+#: sequencer.c:1985
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:1983
+#: sequencer.c:1986
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:2042
+#: sequencer.c:2045
 #, 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:2049
+#: sequencer.c:2052
 #, 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:2118
+#: sequencer.c:2128
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:2127
+#: sequencer.c:2137
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2164
+#: sequencer.c:2174
 #, c-format
 msgid "could not parse '%.*s'"
 msgstr "không thể phân tích cú pháp “%.*s”"
 
-#: sequencer.c:2226
+#: sequencer.c:2228
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2237
+#: sequencer.c:2239
 #, 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:2285 builtin/rebase.c:153 builtin/rebase.c:178
+#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178
 #: builtin/rebase.c:204 builtin/rebase.c:229
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:2360
+#: sequencer.c:2323
+msgid "cancelling a cherry picking in progress"
+msgstr "đang hủy bỏ thao tác cherry pick đang thực hiện"
+
+#: sequencer.c:2330
+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:2364
 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:2362
+#: sequencer.c:2366
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2367
+#: sequencer.c:2371
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2378
+#: sequencer.c:2382
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2380
+#: sequencer.c:2384
 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:2462
+#: sequencer.c:2466
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:2549
+#: sequencer.c:2553
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2565
+#: sequencer.c:2569
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:2648 sequencer.c:4227
+#: sequencer.c:2652 sequencer.c:4351
 msgid "empty commit set passed"
 msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:2656
-msgid "a cherry-pick or revert is already in progress"
-msgstr "có một thao tác “cherry-pick” hoặc “revert” đang được thực hiện"
+#: sequencer.c:2668
+msgid "revert is already in progress"
+msgstr "có thao tác hoàn nguyên đang được thực hiện"
+
+#: sequencer.c:2670
+#, c-format
+msgid "try \"git revert (--continue | %s--abort | --quit)\""
+msgstr "hãy thử \"git revert (--continue | %s--abort | --quit)\""
+
+#: sequencer.c:2673
+msgid "cherry-pick is already in progress"
+msgstr "có thao tác “cherry-pick” đang được thực hiện"
 
-#: sequencer.c:2657
-msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
+#: sequencer.c:2675
+#, c-format
+msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
+msgstr "hãy thử \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2660
+#: sequencer.c:2689
 #, 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:2674
+#: sequencer.c:2704
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:2729 sequencer.c:3979
+#: sequencer.c:2764 sequencer.c:4103
 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:2731
+#: sequencer.c:2766 sequencer.c:2777
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:2733 sequencer.c:2768
+#: sequencer.c:2768 sequencer.c:2812
 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:2754 builtin/grep.c:732
+#: sequencer.c:2798 builtin/grep.c:734
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:2756
+#: sequencer.c:2800
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:2757
+#: sequencer.c:2801
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:2763
+#: sequencer.c:2807
 #, 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:2774
+#: sequencer.c:2818
 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:2903 sequencer.c:3894
+#: sequencer.c:2859
+msgid "no revert in progress"
+msgstr "không có tiến trình hoàn nguyên nào"
+
+#: sequencer.c:2867
+msgid "no cherry-pick in progress"
+msgstr "không có cherry-pick đang được thực hiện"
+
+#: sequencer.c:2877
+msgid "failed to skip the commit"
+msgstr "gặp lỗi khi bỏ qua đối tượng chuyển giao"
+
+#: sequencer.c:2884
+msgid "there is nothing to skip"
+msgstr "ở đây không có gì để mà bỏ qua cả"
+
+#: sequencer.c:2887
+#, c-format
+msgid ""
+"have you committed already?\n"
+"try \"git %s --continue\""
+msgstr ""
+"bạn đã sẵn sàng chuyển giao chưa?\n"
+"thử \"git %s --continue\""
+
+#: sequencer.c:3011 sequencer.c:4015
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:2941 sequencer.c:3874
+#: sequencer.c:3049 sequencer.c:3995
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:2958
+#: sequencer.c:3066
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:2966
+#: sequencer.c:3074
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6230,27 +6341,27 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:2976
+#: sequencer.c:3084
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Không thể áp dụng %s… %.*s"
 
-#: sequencer.c:2983
+#: sequencer.c:3091
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Không hòa trộn %.*s"
 
-#: sequencer.c:2997 sequencer.c:3001 builtin/difftool.c:633
+#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:3023 sequencer.c:3446 builtin/rebase.c:839 builtin/rebase.c:1580
-#: builtin/rebase.c:1940 builtin/rebase.c:1995
+#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582
+#: builtin/rebase.c:1953 builtin/rebase.c:2008
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
-#: sequencer.c:3028
+#: sequencer.c:3136
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6265,11 +6376,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3034
+#: sequencer.c:3142
 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:3040
+#: sequencer.c:3148
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6286,76 +6397,76 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3101
+#: sequencer.c:3209
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "tên nhãn dị hình: “%.*s”"
 
-#: sequencer.c:3155
+#: sequencer.c:3263
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:3160
+#: sequencer.c:3268
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:3198 builtin/rebase.c:844 builtin/rebase.c:850
+#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: sequencer.c:3216 builtin/rebase.c:863
+#: sequencer.c:3324 builtin/rebase.c:873
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
-#: sequencer.c:3243
+#: sequencer.c:3351
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "không thể phân giải “%s”"
 
-#: sequencer.c:3271
+#: sequencer.c:3379
 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:3293
+#: sequencer.c:3401
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "không thể phân tích “%.*s”"
 
-#: sequencer.c:3302
+#: sequencer.c:3410
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "chẳng có gì để hòa trộn: “%.*s”"
 
-#: sequencer.c:3314
+#: sequencer.c:3422
 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:3329
+#: sequencer.c:3437
 #, 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:3478
+#: sequencer.c:3590
 #, 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:3494
+#: sequencer.c:3606
 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:3562 builtin/rebase.c:711
+#: sequencer.c:3675 builtin/rebase.c:711
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:3574
+#: sequencer.c:3687
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:3577 builtin/rebase.c:727
+#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -6367,31 +6478,31 @@ 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:3638
+#: sequencer.c:3751
 #, c-format
 msgid "could not checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: sequencer.c:3652
+#: sequencer.c:3765
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s không phải là một OID hợp lệ"
 
-#: sequencer.c:3657 git-rebase--preserve-merges.sh:724
+#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "không thể tách rời HEAD"
 
-#: sequencer.c:3672
+#: sequencer.c:3785
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Dừng lại ở HEAD\n"
 
-#: sequencer.c:3674
+#: sequencer.c:3787
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Dừng lại ở %s\n"
 
-#: sequencer.c:3682
+#: sequencer.c:3795
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6412,48 +6523,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3759
+#: sequencer.c:3877
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:3837
+#: sequencer.c:3958
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:3882
+#: sequencer.c:4003
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:3887
+#: sequencer.c:4008
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:3901
+#: sequencer.c:4022
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:3991
+#: sequencer.c:4115
 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:4000
+#: sequencer.c:4124
 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:4002
+#: sequencer.c:4126
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:4004
+#: sequencer.c:4128
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:4007
+#: sequencer.c:4131
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6463,42 +6574,42 @@ 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:4043 sequencer.c:4081
+#: sequencer.c:4167 sequencer.c:4205
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:4096
+#: sequencer.c:4220
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:4103
+#: sequencer.c:4227
 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:4204
+#: sequencer.c:4328
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:4208
+#: sequencer.c:4332
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:4243
+#: sequencer.c:4367
 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:4686
+#: sequencer.c:4810
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:4689
+#: sequencer.c:4813
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:4847
+#: sequencer.c:4971
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
 "continue'.\n"
@@ -6508,15 +6619,15 @@ msgstr ""
 "continue”.\n"
 "Hoặc là bạn có thể bãi bỏ việc cải tổ bằng “git rebase --abort”.\n"
 
-#: sequencer.c:4959 sequencer.c:4976
+#: sequencer.c:5083 sequencer.c:5100
 msgid "nothing to do"
 msgstr "không có gì để làm"
 
-#: sequencer.c:4990
+#: sequencer.c:5114
 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:5073
+#: sequencer.c:5197
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
@@ -6737,195 +6848,200 @@ msgstr "kho tham chiếu “%s” là nông"
 msgid "reference repository '%s' is grafted"
 msgstr "kho tham chiếu “%s” bị cấy ghép"
 
-#: sha1-file.c:846
+#: sha1-file.c:792
+#, 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"
+
+#: sha1-file.c:944
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "đang cố để mmap %<PRIuMAX> vượt quá giới hạn %<PRIuMAX>"
 
-#: sha1-file.c:871
+#: sha1-file.c:969
 msgid "mmap failed"
 msgstr "mmap gặp lỗi"
 
-#: sha1-file.c:1035
+#: sha1-file.c:1133
 #, c-format
 msgid "object file %s is empty"
 msgstr "tập tin đối tượng %s trống rỗng"
 
-#: sha1-file.c:1159 sha1-file.c:2297
+#: sha1-file.c:1257 sha1-file.c:2396
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "đối tượng mất hỏng “%s”"
 
-#: sha1-file.c:1161 sha1-file.c:2301
+#: sha1-file.c:1259 sha1-file.c:2400
 #, 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”"
 
-#: sha1-file.c:1203
+#: sha1-file.c:1301
 msgid "invalid object type"
 msgstr "kiểu đối tượng không hợp lệ"
 
-#: sha1-file.c:1287
+#: sha1-file.c:1385
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "không thể giải nén phần đầu gói %s với --allow-unknown-type"
 
-#: sha1-file.c:1290
+#: sha1-file.c:1388
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "không thể giải gói phần đầu %s"
 
-#: sha1-file.c:1296
+#: sha1-file.c:1394
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "không thể phân tích phần đầu gói %s với --allow-unknown-type"
 
-#: sha1-file.c:1299
+#: sha1-file.c:1397
 #, c-format
 msgid "unable to parse %s header"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: sha1-file.c:1490
+#: sha1-file.c:1588
 #, c-format
 msgid "failed to read object %s"
 msgstr "gặp lỗi khi đọc đối tượng “%s”"
 
-#: sha1-file.c:1494
+#: sha1-file.c:1592
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "c%s thay thế không được tìm thấy cho %s"
 
-#: sha1-file.c:1498
+#: sha1-file.c:1596
 #, 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"
 
-#: sha1-file.c:1502
+#: sha1-file.c:1600
 #, 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"
 
-#: sha1-file.c:1604
+#: sha1-file.c:1703
 #, c-format
 msgid "unable to write file %s"
 msgstr "không thể ghi tập tin %s"
 
-#: sha1-file.c:1611
+#: sha1-file.c:1710
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "không thể đặt quyền thành “%s”"
 
-#: sha1-file.c:1618
+#: sha1-file.c:1717
 msgid "file write error"
 msgstr "lỗi ghi tập tin"
 
-#: sha1-file.c:1637
+#: sha1-file.c:1736
 msgid "error when closing loose object file"
 msgstr "gặp lỗi trong khi đóng tập tin đối tượng"
 
-#: sha1-file.c:1702
+#: sha1-file.c:1801
 #, 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"
 
-#: sha1-file.c:1704
+#: sha1-file.c:1803
 msgid "unable to create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: sha1-file.c:1728
+#: sha1-file.c:1827
 msgid "unable to write loose object file"
 msgstr "không thể ghi tập tin đối tượng đã mất"
 
-#: sha1-file.c:1734
+#: sha1-file.c:1833
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "không thể xả nén đối tượng mới %s (%d)"
 
-#: sha1-file.c:1738
+#: sha1-file.c:1837
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd trên đối tượng %s gặp lỗi (%d)"
 
-#: sha1-file.c:1742
+#: sha1-file.c:1841
 #, 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"
 
-#: sha1-file.c:1752 builtin/pack-objects.c:920
+#: sha1-file.c:1851 builtin/pack-objects.c:925
 #, c-format
 msgid "failed utime() on %s"
 msgstr "gặp lỗi utime() trên “%s”"
 
-#: sha1-file.c:1827
+#: sha1-file.c:1926
 #, c-format
 msgid "cannot read object for %s"
 msgstr "không thể đọc đối tượng cho %s"
 
-#: sha1-file.c:1867
+#: sha1-file.c:1966
 msgid "corrupt commit"
 msgstr "lần chuyển giao sai hỏng"
 
-#: sha1-file.c:1875
+#: sha1-file.c:1974
 msgid "corrupt tag"
 msgstr "thẻ sai hỏng"
 
-#: sha1-file.c:1974
+#: sha1-file.c:2073
 #, c-format
 msgid "read error while indexing %s"
 msgstr "gặp lỗi đọc khi đánh mục lục %s"
 
-#: sha1-file.c:1977
+#: sha1-file.c:2076
 #, c-format
 msgid "short read while indexing %s"
 msgstr "không đọc ngắn khi đánh mục lục %s"
 
-#: sha1-file.c:2050 sha1-file.c:2059
+#: sha1-file.c:2149 sha1-file.c:2158
 #, 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"
 
-#: sha1-file.c:2065
+#: sha1-file.c:2164
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: kiểu tập tin không được hỗ trợ"
 
-#: sha1-file.c:2089
+#: sha1-file.c:2188
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s không phải là một đối tượng hợp lệ"
 
-#: sha1-file.c:2091
+#: sha1-file.c:2190
 #, 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ệ"
 
-#: sha1-file.c:2118 builtin/index-pack.c:154
+#: sha1-file.c:2217 builtin/index-pack.c:155
 #, c-format
 msgid "unable to open %s"
 msgstr "không thể mở %s"
 
-#: sha1-file.c:2308 sha1-file.c:2360
+#: sha1-file.c:2407 sha1-file.c:2459
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "mã băm không khớp cho %s (cần %s)"
 
-#: sha1-file.c:2332
+#: sha1-file.c:2431
 #, c-format
 msgid "unable to mmap %s"
 msgstr "không thể mmap %s"
 
-#: sha1-file.c:2337
+#: sha1-file.c:2436
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "không thể giải gói phần đầu của “%s”"
 
-#: sha1-file.c:2343
+#: sha1-file.c:2442
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "không thể phân tích phần đầu của “%s”"
 
-#: sha1-file.c:2354
+#: sha1-file.c:2453
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "không thể giải gói nội dung của “%s”"
@@ -6945,7 +7061,7 @@ msgid ""
 "because it will be ignored when you just specify 40-hex. These refs\n"
 "may be created by mistake. For example,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse ...)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
 "examine these refs and maybe delete them. Turn this message off by\n"
@@ -6955,7 +7071,7 @@ msgstr ""
 "bởi vì nó sẽ bị bỏ qua khi bạn chỉ định 40-hex. Những tham chiếu này\n"
 "có lẽ được tạo ra bởi một sai sót nào đó. Ví dụ,\n"
 "\n"
-"  git checkout -b $br $(git rev-parse …)\n"
+"  git switch -c $br $(git rev-parse ...)\n"
 "\n"
 "với \"$br\" không hiểu lý do vì sao trống rỗng và một tham chiếu 40-hex được "
 "tạo ra.\n"
@@ -6963,6 +7079,56 @@ msgstr ""
 "này\n"
 "bằng cách chạy lệnh \"git config advice.objectNameWarning false\""
 
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte
+#: strbuf.c:821
+#, c-format
+msgid "%u.%2.2u GiB"
+msgstr "%u.%2.2u GiB"
+
+#. TRANSLATORS: IEC 80000-13:2008 gibibyte/second
+#: strbuf.c:823
+#, c-format
+msgid "%u.%2.2u GiB/s"
+msgstr "%u.%2.2u GiB/giây"
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte
+#: strbuf.c:831
+#, c-format
+msgid "%u.%2.2u MiB"
+msgstr "%u.%2.2u MiB"
+
+#. TRANSLATORS: IEC 80000-13:2008 mebibyte/second
+#: strbuf.c:833
+#, c-format
+msgid "%u.%2.2u MiB/s"
+msgstr "%u.%2.2u MiB/giây"
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte
+#: strbuf.c:840
+#, c-format
+msgid "%u.%2.2u KiB"
+msgstr "%u.%2.2u KiB"
+
+#. TRANSLATORS: IEC 80000-13:2008 kibibyte/second
+#: strbuf.c:842
+#, c-format
+msgid "%u.%2.2u KiB/s"
+msgstr "%u.%2.2u KiB/giây"
+
+#. TRANSLATORS: IEC 80000-13:2008 byte
+#: strbuf.c:848
+#, c-format
+msgid "%u byte"
+msgid_plural "%u bytes"
+msgstr[0] "%u byte"
+
+#. TRANSLATORS: IEC 80000-13:2008 byte/second
+#: strbuf.c:850
+#, c-format
+msgid "%u byte/s"
+msgid_plural "%u bytes/s"
+msgstr[0] "%u byte/giây"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -6999,7 +7165,7 @@ 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:1147 builtin/branch.c:672 builtin/submodule--helper.c:1988
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
 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ệ."
 
@@ -7038,7 +7204,7 @@ msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 msgid "Submodule '%s' could not be updated."
 msgstr "Mô-đun-con “%s” không thể được cập nhật."
 
-#: submodule.c:2008
+#: submodule.c:2007
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7046,12 +7212,12 @@ 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:2020 submodule.c:2076
+#: submodule.c:2019 submodule.c:2074
 #, 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:2027
+#: submodule.c:2026
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7062,16 +7228,16 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:2111
+#: submodule.c:2109
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:2155
+#: submodule.c:2153
 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:2194
+#: submodule.c:2192
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
@@ -7245,15 +7411,10 @@ msgstr "Bãi bỏ."
 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"
 
-#: transport.c:1326 transport-helper.c:645
+#: transport.c:1340 transport-helper.c:645
 msgid "operation not supported by protocol"
 msgstr "thao tác không được gia thức hỗ trợ"
 
-#: transport.c:1430
-#, 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"
-
 #: transport-helper.c:51 transport-helper.c:80
 msgid "full write to remote helper failed"
 msgstr "ghi đầy đủ lên bộ hỗ trợ máy chủ gặp lỗi"
@@ -7298,7 +7459,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:533 transport-helper.c:1099
+#: transport-helper.c:533 transport-helper.c:1105
 #, c-format
 msgid "could not read ref %s"
 msgstr "không thể đọc tham chiếu %s"
@@ -7351,24 +7512,24 @@ msgstr "helper %s không hỗ trợ --signed=if-asked"
 msgid "helper %s does not support 'push-option'"
 msgstr "helper %s không hỗ trợ “push-option”"
 
-#: transport-helper.c:939
+#: transport-helper.c:945
 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:944
+#: transport-helper.c:950
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "helper %s không hỗ trợ “force”"
 
-#: transport-helper.c:991
+#: transport-helper.c:997
 msgid "couldn't run fast-export"
 msgstr "không thể chạy fast-export"
 
-#: transport-helper.c:996
+#: transport-helper.c:1002
 msgid "error while running fast-export"
 msgstr "gặp lỗi trong khi chạy fast-export"
 
-#: transport-helper.c:1021
+#: transport-helper.c:1027
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7378,47 +7539,47 @@ msgstr ""
 "cả.\n"
 "Tuy nhiên bạn nên chỉ định một nhánh như “master” chẳng hạn.\n"
 
-#: transport-helper.c:1085
+#: transport-helper.c:1091
 #, 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:1238
+#: transport-helper.c:1244
 #, c-format
 msgid "read(%s) failed"
 msgstr "read(%s) gặp lỗi"
 
-#: transport-helper.c:1265
+#: transport-helper.c:1271
 #, c-format
 msgid "write(%s) failed"
 msgstr "write(%s) gặp lỗi"
 
-#: transport-helper.c:1314
+#: transport-helper.c:1320
 #, c-format
 msgid "%s thread failed"
 msgstr "tuyến trình %s gặp lỗi"
 
-#: transport-helper.c:1318
+#: transport-helper.c:1324
 #, 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:1337 transport-helper.c:1341
+#: transport-helper.c:1343 transport-helper.c:1347
 #, 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:1378
+#: transport-helper.c:1384
 #, c-format
 msgid "%s process failed to wait"
 msgstr "xử lý %s gặp lỗi khi đợi"
 
-#: transport-helper.c:1382
+#: transport-helper.c:1388
 #, c-format
 msgid "%s process failed"
 msgstr "xử lý %s gặp lỗi"
 
-#: transport-helper.c:1400 transport-helper.c:1409
+#: transport-helper.c:1406 transport-helper.c:1415
 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"
 
@@ -7434,7 +7595,7 @@ msgstr "chế độ dị hình trong đề mục cây"
 msgid "empty filename in tree entry"
 msgstr "tên tập tin trống rỗng trong mục tin cây"
 
-#: tree-walk.c:116
+#: tree-walk.c:118
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
@@ -7681,8 +7842,8 @@ msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
 #: unpack-trees.c:318
-msgid "Checking out files"
-msgstr "Đang lấy ra các tập tin"
+msgid "Updating files"
+msgstr "Đang cập nhật các tập tin"
 
 #: unpack-trees.c:350
 msgid ""
@@ -7723,33 +7884,33 @@ msgstr "tên cổng không hợp lệ"
 msgid "invalid '..' path segment"
 msgstr "đoạn đường dẫn “..” không hợp lệ"
 
-#: worktree.c:255 builtin/am.c:2097
+#: worktree.c:258 builtin/am.c:2095
 #, c-format
 msgid "failed to read '%s'"
 msgstr "gặp lỗi khi đọc “%s”"
 
-#: worktree.c:301
+#: 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:312
+#: 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:324
+#: worktree.c:327
 #, c-format
 msgid "'%s' does not exist"
 msgstr "\"%s\" không tồn tại"
 
-#: worktree.c:330
+#: 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:338
+#: worktree.c:341
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "“%s” không chỉ ngược đến “%s”"
@@ -7768,156 +7929,162 @@ msgstr "không thể truy cập “%s”"
 msgid "unable to get current working directory"
 msgstr "không thể lấy thư mục làm việc hiện hành"
 
-#: wt-status.c:156
+#: wt-status.c:158
 msgid "Unmerged paths:"
 msgstr "Những đường dẫn chưa được hòa trộn:"
 
-#: wt-status.c:183 wt-status.c:210
+#: wt-status.c:187 wt-status.c:219
+msgid "  (use \"git restore --staged <file>...\" to unstage)"
+msgstr "  (dùng \"git restore --staged <tập-tin>…\" để bỏ ra khỏi bệ phóng)"
+
+#: wt-status.c:190 wt-status.c:222
 #, c-format
-msgid "  (use \"git reset %s <file>...\" to unstage)"
-msgstr "  (dùng \"git reset %s <tập-tin>…\" để bỏ ra khỏi bệ phóng)"
+msgid "  (use \"git restore --source=%s --staged <file>...\" to unstage)"
+msgstr ""
+"  (dùng \"git restore --source=%s --staged <tập-tin>…\" để bỏ ra khỏi bệ "
+"phóng)"
 
-#: wt-status.c:185 wt-status.c:212
+#: wt-status.c:193 wt-status.c:225
 msgid "  (use \"git rm --cached <file>...\" to unstage)"
 msgstr "  (dùng \"git rm --cached <tập-tin>…\" để bỏ ra khỏi bệ phóng)"
 
-#: wt-status.c:189
+#: wt-status.c:197
 msgid "  (use \"git add <file>...\" to mark resolution)"
 msgstr "  (dùng \"git add <tập-tin>…\" để đánh dấu là cần giải quyết)"
 
-#: wt-status.c:191 wt-status.c:195
+#: wt-status.c:199 wt-status.c:203
 msgid "  (use \"git add/rm <file>...\" as appropriate to mark resolution)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>…\" như là một cách thích hợp để đánh dấu là "
 "cần được giải quyết)"
 
-#: wt-status.c:193
+#: wt-status.c:201
 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:204 wt-status.c:1064
+#: wt-status.c:211 wt-status.c:1074
 msgid "Changes to be committed:"
 msgstr "Những thay đổi sẽ được chuyển giao:"
 
-#: wt-status.c:222 wt-status.c:1073
+#: wt-status.c:234 wt-status.c:1083
 msgid "Changes not staged for commit:"
 msgstr "Các thay đổi chưa được đặt lên bệ phóng để chuyển giao:"
 
-#: wt-status.c:226
+#: wt-status.c:238
 msgid "  (use \"git add <file>...\" to update what will be committed)"
 msgstr "  (dùng \"git add <tập-tin>…\" để cập nhật những gì sẽ chuyển giao)"
 
-#: wt-status.c:228
+#: wt-status.c:240
 msgid "  (use \"git add/rm <file>...\" to update what will be committed)"
 msgstr ""
 "  (dùng \"git add/rm <tập-tin>…\" để cập nhật những gì sẽ được chuyển giao)"
 
-#: wt-status.c:229
+#: wt-status.c:241
 msgid ""
-"  (use \"git checkout -- <file>...\" to discard changes in working directory)"
+"  (use \"git restore <file>...\" to discard changes in working directory)"
 msgstr ""
-"  (dùng \"git checkout -- <tập-tin>…\" để loại bỏ các thay đổi trong thư mục "
-"làm việc)"
+"  (dùng \"git restore <tập-tin>…\" để loại bỏ các thay đổi trong thư mục làm "
+"việc)"
 
-#: wt-status.c:231
+#: wt-status.c:243
 msgid "  (commit or discard the untracked or modified content in submodules)"
 msgstr ""
 "  (chuyển giao hoặc là loại bỏ các nội dung chưa được theo dõi hay đã sửa "
 "chữa trong mô-đun-con)"
 
-#: wt-status.c:243
+#: wt-status.c:254
 #, c-format
 msgid "  (use \"git %s <file>...\" to include in what will be committed)"
 msgstr ""
 "  (dùng \"git %s <tập-tin>…\" để thêm vào những gì cần được chuyển giao)"
 
-#: wt-status.c:258
+#: wt-status.c:268
 msgid "both deleted:"
 msgstr "bị xóa bởi cả hai:"
 
-#: wt-status.c:260
+#: wt-status.c:270
 msgid "added by us:"
 msgstr "được thêm vào bởi chúng ta:"
 
-#: wt-status.c:262
+#: wt-status.c:272
 msgid "deleted by them:"
 msgstr "bị xóa đi bởi họ:"
 
-#: wt-status.c:264
+#: wt-status.c:274
 msgid "added by them:"
 msgstr "được thêm vào bởi họ:"
 
-#: wt-status.c:266
+#: wt-status.c:276
 msgid "deleted by us:"
 msgstr "bị xóa bởi chúng ta:"
 
-#: wt-status.c:268
+#: wt-status.c:278
 msgid "both added:"
 msgstr "được thêm vào bởi cả hai:"
 
-#: wt-status.c:270
+#: wt-status.c:280
 msgid "both modified:"
 msgstr "bị sửa bởi cả hai:"
 
-#: wt-status.c:280
+#: wt-status.c:290
 msgid "new file:"
 msgstr "tập tin mới:"
 
-#: wt-status.c:282
+#: wt-status.c:292
 msgid "copied:"
 msgstr "đã chép:"
 
-#: wt-status.c:284
+#: wt-status.c:294
 msgid "deleted:"
 msgstr "đã xóa:"
 
-#: wt-status.c:286
+#: wt-status.c:296
 msgid "modified:"
 msgstr "đã sửa:"
 
-#: wt-status.c:288
+#: wt-status.c:298
 msgid "renamed:"
 msgstr "đã đổi tên:"
 
-#: wt-status.c:290
+#: wt-status.c:300
 msgid "typechange:"
 msgstr "đổi-kiểu:"
 
-#: wt-status.c:292
+#: wt-status.c:302
 msgid "unknown:"
 msgstr "không hiểu:"
 
-#: wt-status.c:294
+#: wt-status.c:304
 msgid "unmerged:"
 msgstr "chưa hòa trộn:"
 
-#: wt-status.c:374
+#: wt-status.c:384
 msgid "new commits, "
 msgstr "lần chuyển giao mới, "
 
-#: wt-status.c:376
+#: wt-status.c:386
 msgid "modified content, "
 msgstr "nội dung bị sửa đổi, "
 
-#: wt-status.c:378
+#: wt-status.c:388
 msgid "untracked content, "
 msgstr "nội dung chưa được theo dõi, "
 
-#: wt-status.c:896
+#: wt-status.c:906
 #, 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:928
+#: wt-status.c:938
 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:930
+#: wt-status.c:940
 msgid "Submodule changes to be committed:"
 msgstr "Những mô-đun-con thay đổi đã được chuyển giao:"
 
-#: wt-status.c:1012
+#: wt-status.c:1022
 msgid ""
 "Do not modify or remove the line above.\n"
 "Everything below it will be ignored."
@@ -7925,109 +8092,120 @@ 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:1119
+#: wt-status.c:1114
+#, c-format
+msgid ""
+"\n"
+"It took %.2f seconds to compute the branch ahead/behind values.\n"
+"You can use '--no-ahead-behind' to avoid this.\n"
+msgstr ""
+"\n"
+"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:1144
 msgid "You have unmerged paths."
 msgstr "Bạn có những đường dẫn chưa được hòa trộn."
 
-#: wt-status.c:1122
+#: wt-status.c:1147
 msgid "  (fix conflicts and run \"git commit\")"
 msgstr "  (sửa các xung đột rồi chạy \"git commit\")"
 
-#: wt-status.c:1124
+#: wt-status.c:1149
 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:1128
+#: wt-status.c:1153
 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:1131
+#: wt-status.c:1156
 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:1140
+#: wt-status.c:1165
 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:1143
+#: wt-status.c:1168
 msgid "The current patch is empty."
 msgstr "Miếng vá hiện tại bị trống rỗng."
 
-#: wt-status.c:1147
+#: wt-status.c:1172
 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:1149
+#: wt-status.c:1174
 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:1151
+#: wt-status.c:1176
 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:1284
+#: wt-status.c:1309
 msgid "git-rebase-todo is missing."
 msgstr "thiếu git-rebase-todo."
 
-#: wt-status.c:1286
+#: wt-status.c:1311
 msgid "No commands done."
 msgstr "Không thực hiện lệnh nào."
 
-#: wt-status.c:1289
+#: wt-status.c:1314
 #, c-format
 msgid "Last command done (%d command done):"
 msgid_plural "Last commands done (%d commands done):"
 msgstr[0] "Lệnh thực hiện cuối (%d lệnh được thực thi):"
 
-#: wt-status.c:1300
+#: wt-status.c:1325
 #, c-format
 msgid "  (see more in file %s)"
 msgstr "  (xem thêm trong %s)"
 
-#: wt-status.c:1305
+#: wt-status.c:1330
 msgid "No commands remaining."
 msgstr "Không có lệnh nào còn lại."
 
-#: wt-status.c:1308
+#: wt-status.c:1333
 #, c-format
 msgid "Next command to do (%d remaining command):"
 msgid_plural "Next commands to do (%d remaining commands):"
 msgstr[0] "Lệnh cần làm kế tiếp (%d lệnh còn lại):"
 
-#: wt-status.c:1316
+#: wt-status.c:1341
 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:1328
+#: wt-status.c:1353
 #, 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:1333
+#: wt-status.c:1358
 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:1346
+#: wt-status.c:1371
 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:1348
+#: wt-status.c:1373
 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:1350
+#: wt-status.c:1375
 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:1357
+#: wt-status.c:1382
 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:1361
+#: wt-status.c:1386
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
@@ -8035,150 +8213,142 @@ 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:1366
+#: wt-status.c:1391
 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:1369
+#: wt-status.c:1394
 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:1373
+#: wt-status.c:1398
 #, 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:1378
+#: wt-status.c:1403
 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:1381
+#: wt-status.c:1406
 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:1383
+#: wt-status.c:1408
 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:1394
+#: wt-status.c:1419
 msgid "Cherry-pick currently in progress."
 msgstr "Cherry-pick hiện tại đang được thực hiện."
 
-#: wt-status.c:1397
+#: wt-status.c:1422
 #, 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:1404
+#: wt-status.c:1429
 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:1407
+#: wt-status.c:1432
 msgid "  (run \"git cherry-pick --continue\" to continue)"
 msgstr "  (chạy lệnh \"git cherry-pick --continue\" để tiếp tục)"
 
-#: wt-status.c:1410
+#: wt-status.c:1435
 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:1412
+#: wt-status.c:1437
 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:1422
+#: wt-status.c:1447
 msgid "Revert currently in progress."
 msgstr "Hoàn nguyên hiện tại đang thực hiện."
 
-#: wt-status.c:1425
+#: wt-status.c:1450
 #, 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:1431
+#: wt-status.c:1456
 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:1434
+#: wt-status.c:1459
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (chạy lệnh \"git revert --continue\" để tiếp tục)"
 
-#: wt-status.c:1437
+#: wt-status.c:1462
 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:1439
+#: wt-status.c:1464
 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:1449
+#: wt-status.c:1474
 #, 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:1453
+#: wt-status.c:1478
 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:1456
+#: wt-status.c:1481
 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:1665
+#: wt-status.c:1690
 msgid "On branch "
 msgstr "Trên nhánh "
 
-#: wt-status.c:1672
+#: wt-status.c:1697
 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:1674
+#: wt-status.c:1699
 msgid "rebase in progress; onto "
 msgstr "rebase đang được thực hiện: lên trên "
 
-#: wt-status.c:1679
-msgid "HEAD detached at "
-msgstr "HEAD được tách rời tại "
-
-#: wt-status.c:1681
-msgid "HEAD detached from "
-msgstr "HEAD được tách rời từ "
-
-#: wt-status.c:1684
+#: wt-status.c:1709
 msgid "Not currently on any branch."
 msgstr "Hiện tại chẳng ở nhánh nào cả."
 
-#: wt-status.c:1701
+#: wt-status.c:1726
 msgid "Initial commit"
 msgstr "Lần chuyển giao khởi tạo"
 
-#: wt-status.c:1702
+#: wt-status.c:1727
 msgid "No commits yet"
 msgstr "Vẫn chưa chuyển giao"
 
-#: wt-status.c:1716
+#: wt-status.c:1741
 msgid "Untracked files"
 msgstr "Những tập tin chưa được theo dõi"
 
-#: wt-status.c:1718
+#: wt-status.c:1743
 msgid "Ignored files"
 msgstr "Những tập tin bị lờ đi"
 
-#: wt-status.c:1722
+#: wt-status.c:1747
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -8190,32 +8360,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:1728
+#: wt-status.c:1753
 #, 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:1730
+#: wt-status.c:1755
 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:1736
+#: wt-status.c:1761
 msgid "No changes"
 msgstr "Không có thay đổi nào"
 
-#: wt-status.c:1741
+#: wt-status.c:1766
 #, 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:1744
+#: wt-status.c:1769
 #, 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:1747
+#: wt-status.c:1772
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -8224,68 +8394,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:1750
+#: wt-status.c:1775
 #, 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:1753
+#: wt-status.c:1778
 #, 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:1756 wt-status.c:1761
+#: wt-status.c:1781 wt-status.c:1786
 #, c-format
 msgid "nothing to commit\n"
 msgstr "không có gì để chuyển giao\n"
 
-#: wt-status.c:1759
+#: wt-status.c:1784
 #, 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:1763
+#: wt-status.c:1788
 #, 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:1876
+#: wt-status.c:1901
 msgid "No commits yet on "
 msgstr "Vẫn không thực hiện lệnh chuyển giao nào "
 
-#: wt-status.c:1880
+#: wt-status.c:1905
 msgid "HEAD (no branch)"
 msgstr "HEAD (không nhánh)"
 
-#: wt-status.c:1911
+#: wt-status.c:1936
 msgid "different"
 msgstr "khác"
 
-#: wt-status.c:1913 wt-status.c:1921
+#: wt-status.c:1938 wt-status.c:1946
 msgid "behind "
 msgstr "đằng sau "
 
-#: wt-status.c:1916 wt-status.c:1919
+#: wt-status.c:1941 wt-status.c:1944
 msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2443
+#: wt-status.c:2466
 #, 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:2449
+#: wt-status.c:2472
 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:2451
+#: wt-status.c:2474
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
@@ -8293,14 +8463,14 @@ msgstr ""
 
 #: builtin/add.c:25
 msgid "git add [<options>] [--] <pathspec>..."
-msgstr "git add [<các-tùy-chọn>] [--]  <pathspec>…"
+msgstr "git add [<các tùy chọn>] [--]  <pathspec>…"
 
 #: builtin/add.c:84
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:89 builtin/commit.c:285
+#: builtin/add.c:89 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "cập nhật tập tin gặp lỗi"
 
@@ -8351,8 +8521,8 @@ 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:290 builtin/clean.c:908 builtin/fetch.c:137 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:221 builtin/push.c:560
+#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560
 #: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "chạy thử"
@@ -8361,7 +8531,7 @@ msgstr "chạy thử"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:294 builtin/checkout.c:1379 builtin/reset.c:306
+#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -8533,7 +8703,7 @@ msgstr "độ lệch múi giờ không hợp lệ"
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:949 builtin/clone.c:409
+#: builtin/am.c:949 builtin/clone.c:407
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
@@ -8542,7 +8712,7 @@ msgstr "tạo thư mục \"%s\" gặp lỗi"
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1084 builtin/commit.c:371
+#: builtin/am.c:1084 builtin/commit.c:374
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
@@ -8582,16 +8752,16 @@ msgstr "dòng thụt lề không hợp lệ: %.*s"
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: builtin/am.c:1495
+#: builtin/am.c:1496
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên “3-way merge”."
 
-#: builtin/am.c:1497
+#: builtin/am.c:1498
 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:1516
+#: builtin/am.c:1517
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -8599,29 +8769,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:1522
+#: builtin/am.c:1523
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Đang trở lại để vá cơ sở và “hòa trộn 3-đường”…"
 
-#: builtin/am.c:1548
+#: builtin/am.c:1549
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1580
+#: builtin/am.c:1581
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1627 builtin/am.c:1631
+#: builtin/am.c:1628 builtin/am.c:1632
 #, 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:1647
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
-"không thể được tương tác mà không có stdin kết nối với một thiết bị cuối."
-
-#: builtin/am.c:1652
+#: builtin/am.c:1650
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -8629,36 +8794,37 @@ msgstr "Thân của lần chuyển giao là:"
 #. in your translation. The program will only accept English
 #. input at this point.
 #.
-#: builtin/am.c:1662
+#: builtin/am.c:1660
+#, 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:1712
+#: builtin/am.c:1710
 #, 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:1752 builtin/am.c:1820
+#: builtin/am.c:1750 builtin/am.c:1818
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1769
+#: builtin/am.c:1767
 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:1775
+#: builtin/am.c:1773
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
 
-#: builtin/am.c:1779
+#: builtin/am.c:1777
 msgid "Use 'git am --show-current-patch' to see the failed patch"
 msgstr "Dùng “git am --show-current-patch” để xem miếng vá bị lỗi"
 
-#: builtin/am.c:1823
+#: builtin/am.c:1821
 msgid ""
 "No changes - did you forget to use 'git add'?\n"
 "If there is nothing left to stage, chances are that something else\n"
@@ -8669,7 +8835,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:1830
+#: builtin/am.c:1828
 msgid ""
 "You still have unmerged paths in your index.\n"
 "You should 'git add' each file with resolved conflicts to mark them as "
@@ -8682,17 +8848,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:1937 builtin/am.c:1941 builtin/am.c:1953 builtin/reset.c:329
+#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329
 #: builtin/reset.c:337
 #, c-format
 msgid "Could not parse object '%s'."
 msgstr "Không thể phân tích đối tượng “%s”."
 
-#: builtin/am.c:1989
+#: builtin/am.c:1987
 msgid "failed to clean index"
 msgstr "gặp lỗi khi dọn bảng mục lục"
 
-#: builtin/am.c:2033
+#: builtin/am.c:2031
 msgid ""
 "You seem to have moved HEAD since the last 'am' failure.\n"
 "Not rewinding to ORIG_HEAD"
@@ -8700,144 +8866,144 @@ 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:2130
+#: builtin/am.c:2128
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Giá trị không hợp lệ cho --patch-format: %s"
 
-#: builtin/am.c:2166
+#: builtin/am.c:2164
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr "git am [<các-tùy-chọn>] [(<mbox>|<Maildir>)…]"
+msgstr "git am [<các tùy chọn>] [(<mbox>|<Maildir>)…]"
 
-#: builtin/am.c:2167
+#: builtin/am.c:2165
 msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr "git am [<các-tùy-chọn>] (--continue | --skip | --abort)"
+msgstr "git am [<các tùy chọn>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2171
 msgid "run interactively"
 msgstr "chạy kiểu tương tác"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2173
 msgid "historical option -- no-op"
 msgstr "tùy chọn lịch sử -- không-toán-tử"
 
-#: builtin/am.c:2177
+#: builtin/am.c:2175
 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:2178 builtin/init-db.c:494 builtin/prune-packed.c:58
-#: builtin/repack.c:306 builtin/stash.c:805
+#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58
+#: builtin/repack.c:296 builtin/stash.c:806
 msgid "be quiet"
 msgstr "im lặng"
 
-#: builtin/am.c:2180
+#: builtin/am.c:2178
 msgid "add a Signed-off-by line to the commit message"
 msgstr "thêm dòng Signed-off-by cho ghi chú của lần chuyển giao"
 
-#: builtin/am.c:2183
+#: builtin/am.c:2181
 msgid "recode into utf8 (default)"
 msgstr "chuyển mã thành utf8 (mặc định)"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2183
 msgid "pass -k flag to git-mailinfo"
 msgstr "chuyển cờ -k cho git-mailinfo"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2185
 msgid "pass -b flag to git-mailinfo"
 msgstr "chuyển cờ -b cho git-mailinfo"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2187
 msgid "pass -m flag to git-mailinfo"
 msgstr "chuyển cờ -m cho git-mailinfo"
 
-#: builtin/am.c:2191
+#: builtin/am.c:2189
 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:2194
+#: builtin/am.c:2192
 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:2197
+#: builtin/am.c:2195
 msgid "strip everything before a scissors line"
 msgstr "cắt mọi thứ trước dòng scissors"
 
-#: builtin/am.c:2199 builtin/am.c:2202 builtin/am.c:2205 builtin/am.c:2208
-#: builtin/am.c:2211 builtin/am.c:2214 builtin/am.c:2217 builtin/am.c:2220
-#: builtin/am.c:2226
+#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206
+#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218
+#: builtin/am.c:2224
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2216 builtin/commit.c:1348 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:879 builtin/merge.c:247
-#: builtin/pull.c:158 builtin/pull.c:217 builtin/rebase.c:1412
-#: builtin/repack.c:317 builtin/repack.c:321 builtin/repack.c:323
-#: builtin/show-branch.c:651 builtin/show-ref.c:172 builtin/tag.c:397
-#: parse-options.h:141 parse-options.h:162 parse-options.h:311
+#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
+#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249
+#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418
+#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313
+#: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
+#: parse-options.h:141 parse-options.h:162 parse-options.h:312
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2222 builtin/branch.c:653 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:431 builtin/verify-tag.c:39
+#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38
+#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38
 msgid "format"
 msgstr "định dạng"
 
-#: builtin/am.c:2223
+#: builtin/am.c:2221
 msgid "format the patch(es) are in"
 msgstr "định dạng (các) miếng vá theo"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2227
 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:2231
+#: builtin/am.c:2229
 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:2234
+#: builtin/am.c:2232
 msgid "synonyms for --continue"
 msgstr "đồng nghĩa với --continue"
 
-#: builtin/am.c:2237
+#: builtin/am.c:2235
 msgid "skip the current patch"
 msgstr "bỏ qua miếng vá hiện hành"
 
-#: builtin/am.c:2240
+#: builtin/am.c:2238
 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:2243
+#: builtin/am.c:2241
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "bỏ qua thao tác vá nhưng vẫn giữ HEAD chỉ đến nó."
 
-#: builtin/am.c:2246
+#: builtin/am.c:2244
 msgid "show the patch being applied."
 msgstr "hiển thị miếng vá đã được áp dụng rồi."
 
-#: builtin/am.c:2250
+#: builtin/am.c:2248
 msgid "lie about committer date"
 msgstr "nói dối về ngày chuyển giao"
 
-#: builtin/am.c:2252
+#: builtin/am.c:2250
 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:2254 builtin/commit-tree.c:120 builtin/commit.c:1491
-#: builtin/merge.c:282 builtin/pull.c:192 builtin/rebase.c:489
-#: builtin/rebase.c:1453 builtin/revert.c:116 builtin/tag.c:412
+#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511
+#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489
+#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418
 msgid "key-id"
 msgstr "mã-số-khóa"
 
-#: builtin/am.c:2255 builtin/rebase.c:490 builtin/rebase.c:1454
+#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460
 msgid "GPG-sign commits"
 msgstr "Các lần chuyển giao ký-GPG"
 
-#: builtin/am.c:2258
+#: builtin/am.c:2256
 msgid "(internal use for git-rebase)"
 msgstr "(dùng nội bộ cho git-rebase)"
 
-#: builtin/am.c:2276
+#: builtin/am.c:2274
 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."
@@ -8845,16 +9011,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:2283
+#: builtin/am.c:2281
 msgid "failed to read the index"
 msgstr "gặp lỗi đọc bảng mục lục"
 
-#: builtin/am.c:2298
+#: builtin/am.c:2296
 #, 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:2322
+#: builtin/am.c:2320
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -8863,13 +9029,17 @@ 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:2328
+#: builtin/am.c:2326
 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:2336
+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"
+
 #: builtin/apply.c:8
 msgid "git apply [<options>] [<patch>...]"
-msgstr "git apply [<các-tùy-chọn>] [<miếng-vá>…]"
+msgstr "git apply [<các tùy chọn>] [<miếng-vá>…]"
 
 #: builtin/archive.c:17
 #, c-format
@@ -8951,7 +9121,7 @@ msgid ""
 "=<term>][--no-checkout] [<bad> [<good>...]] [--] [<paths>...]"
 msgstr ""
 "git bisect--helper --bisect-start [--term-{old,good}=<term> --term-{new,bad}"
-"=<term>][--no-checkout] [<sai> [<đúng>…]] [--] [<đường/dẫn>…]"
+"=<term>][--no-checkout] [<sai> [<đúng>…]] [--] [</các/đường/dẫn>…]"
 
 #: builtin/bisect--helper.c:86
 #, c-format
@@ -9096,221 +9266,243 @@ msgstr "sẽ không di chuyển nửa bước trên cây được cg-seek"
 msgid "bad HEAD - strange symbolic ref"
 msgstr "sai HEAD - tham chiếu mềm kỳ lạ"
 
-#: builtin/bisect--helper.c:627
+#: builtin/bisect--helper.c:574
+#, c-format
+msgid "invalid ref: '%s'"
+msgstr "refspec không hợp lệ: “%s”"
+
+#: builtin/bisect--helper.c:630
 msgid "perform 'git bisect next'"
 msgstr "thực hiện “git bisect next”"
 
-#: builtin/bisect--helper.c:629
+#: builtin/bisect--helper.c:632
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "ghi thời kỳ vào .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:631
+#: builtin/bisect--helper.c:634
 msgid "cleanup the bisection state"
 msgstr "dọn dẹp tình trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:633
+#: builtin/bisect--helper.c:636
 msgid "check for expected revs"
 msgstr "kiểm tra cho điểm xem xét cần dùng"
 
-#: builtin/bisect--helper.c:635
+#: builtin/bisect--helper.c:638
 msgid "reset the bisection state"
 msgstr "đặt lại trạng di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:637
+#: builtin/bisect--helper.c:640
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "ghi ra tình trạng di chuyển nửa bước trong BISECT_LOG"
 
-#: builtin/bisect--helper.c:639
+#: builtin/bisect--helper.c:642
 msgid "check and set terms in a bisection state"
 msgstr "kiểm tra và đặt thời điểm trong di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:641
+#: builtin/bisect--helper.c:644
 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:643
+#: builtin/bisect--helper.c:646
 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:645
+#: builtin/bisect--helper.c:648
 msgid "start the bisect session"
 msgstr "bắt đầu phiên di chuyển nửa bước"
 
-#: builtin/bisect--helper.c:647
+#: builtin/bisect--helper.c:650
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr ""
 "cập nhật BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao hiện hành"
 
-#: builtin/bisect--helper.c:649
+#: builtin/bisect--helper.c:652
 msgid "no log for BISECT_WRITE"
 msgstr "không có nhật ký cho BISECT_WRITE"
 
-#: builtin/bisect--helper.c:666
+#: builtin/bisect--helper.c:669
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms cần hai tham số"
 
-#: builtin/bisect--helper.c:670
+#: builtin/bisect--helper.c:673
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state không nhận đối số"
 
-#: builtin/bisect--helper.c:677
+#: builtin/bisect--helper.c:680
 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:681
+#: builtin/bisect--helper.c:684
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write cần 4 hoặc 5 tham số"
 
-#: builtin/bisect--helper.c:687
+#: builtin/bisect--helper.c:690
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms cần 3 tham số"
 
-#: builtin/bisect--helper.c:693
+#: builtin/bisect--helper.c:696
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check cần 2 hoặc 3 tham số"
 
-#: builtin/bisect--helper.c:699
+#: builtin/bisect--helper.c:702
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms cần 0 hoặc 1 tham số"
 
 #: builtin/blame.c:32
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
-msgstr "git blame [<các-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
+msgstr "git blame [<các tùy chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
 
 #: builtin/blame.c:37
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> được mô tả trong tài liệu git-rev-list(1)"
 
-#: builtin/blame.c:407
+#: builtin/blame.c:410
 #, c-format
 msgid "expecting a color: %s"
 msgstr "cần một màu: %s"
 
-#: builtin/blame.c:414
+#: builtin/blame.c:417
 msgid "must end with a color"
 msgstr "phải kết thúc bằng một màu"
 
-#: builtin/blame.c:701
+#: builtin/blame.c:730
 #, 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:719
+#: builtin/blame.c:748
 msgid "invalid value for blame.coloring"
 msgstr "màu không hợp lệ cho blame.coloring"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:823
+#, 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:845
 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:795
+#: builtin/blame.c:846
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr ""
 "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giới (Mặc định: off)"
 
-#: builtin/blame.c:796
+#: builtin/blame.c:847
 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:797
+#: builtin/blame.c:848
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:798
+#: builtin/blame.c:849
 msgid "Force progress reporting"
 msgstr "Ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:799
+#: builtin/blame.c:850
 msgid "Show output score for blame entries"
 msgstr "Hiển thị kết xuất điểm số có các mục tin “blame”"
 
-#: builtin/blame.c:800
+#: builtin/blame.c:851
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:801
+#: builtin/blame.c:852
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:853
 msgid "Show in a format designed for machine consumption"
 msgstr "Hiển thị ở định dạng đã thiết kế cho sự tiêu dùng bằng máy"
 
-#: builtin/blame.c:803
+#: builtin/blame.c:854
 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:804
+#: builtin/blame.c:855
 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:805
+#: builtin/blame.c:856
 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:806
+#: builtin/blame.c:857
 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:807
+#: builtin/blame.c:858
 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:808
+#: builtin/blame.c:859
 msgid "Show author email instead of name (Default: off)"
 msgstr "Hiển thị thư điện tử của tác giả thay vì tên (Mặc định: off)"
 
-#: builtin/blame.c:809
+#: builtin/blame.c:860
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:861 builtin/log.c:1629
+msgid "rev"
+msgstr "rev"
+
+#: builtin/blame.c:861
+msgid "Ignore <rev> when blaming"
+msgstr "bỏ qua <rev> khi blame"
+
+#: builtin/blame.c:862
+msgid "Ignore revisions from <file>"
+msgstr "Bỏ qua các điểm xét duyệt từ <tập tin>"
+
+#: builtin/blame.c:863
 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:811
+#: builtin/blame.c:864
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:818
+#: builtin/blame.c:871
 msgid "Use an experimental heuristic to improve diffs"
 msgstr "Dùng một phỏng đoán thử nghiệm để tăng cường các diff"
 
-#: builtin/blame.c:820
+#: builtin/blame.c:873
 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:821
+#: builtin/blame.c:874
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Sử dụng điểm xét duyệt (revision) từ <tập tin> thay vì gọi “git-rev-list”"
 
-#: builtin/blame.c:822
+#: builtin/blame.c:875
 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:823 builtin/blame.c:824
+#: builtin/blame.c:876 builtin/blame.c:877
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:876
 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:824
+#: builtin/blame.c:877
 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:825
+#: builtin/blame.c:878
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:825
+#: builtin/blame.c:878
 msgid "Process only line range n,m, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m, tính từ 1"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:929
 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"
@@ -9323,49 +9515,49 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:927
+#: builtin/blame.c:980
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1031
+#: builtin/blame.c:1087
 #, 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:1077
+#: builtin/blame.c:1133
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
 #: builtin/branch.c:29
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
-msgstr "git branch [<các-tùy-chọn>] [-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>]"
+msgstr "git branch [<các tùy chọn>] [-l] [-f] <tên-nhánh> [<điểm-đầu>]"
 
 #: builtin/branch.c:31
 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> …"
+msgstr "git branch [<các tùy chọn>] [-r] (-d | -D) <tên-nhánh> …"
 
 #: builtin/branch.c:32
 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>"
+msgstr "git branch [<các tùy chọn>] (-m | -M) [<nhánh-cũ>] <nhánh-mới>"
 
 #: builtin/branch.c:33
 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>"
+msgstr "git branch [<các tùy chọn>] (-c | -C) [<nhánh-cũ>] <nhánh-mới>"
 
 #: builtin/branch.c:34
 msgid "git branch [<options>] [-r | -a] [--points-at]"
-msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--points-at]"
+msgstr "git branch [<các tùy chọn>] [-r | -a] [--points-at]"
 
 #: builtin/branch.c:35
 msgid "git branch [<options>] [-r | -a] [--format]"
-msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--format]"
+msgstr "git branch [<các tùy chọn>] [-r | -a] [--format]"
 
-#: builtin/branch.c:151
+#: builtin/branch.c:154
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -9374,7 +9566,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:155
+#: builtin/branch.c:158
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -9383,12 +9575,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:169
+#: builtin/branch.c:172
 #, 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:173
+#: builtin/branch.c:176
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -9397,121 +9589,121 @@ 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:186
+#: builtin/branch.c:189
 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:217
+#: builtin/branch.c:220
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:223
+#: builtin/branch.c:226
 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:237
+#: builtin/branch.c:240
 #, 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:252
+#: builtin/branch.c:255
 #, 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:253
+#: builtin/branch.c:256
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:268
+#: builtin/branch.c:271
 #, c-format
 msgid "Error deleting remote-tracking branch '%s'"
 msgstr "Gặp lỗi khi đang xóa nhánh theo dõi máy chủ “%s”"
 
-#: builtin/branch.c:269
+#: builtin/branch.c:272
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Gặp lỗi khi xóa bỏ nhánh “%s”"
 
-#: builtin/branch.c:276
+#: builtin/branch.c:279
 #, 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:277
+#: builtin/branch.c:280
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:421 builtin/tag.c:60
+#: builtin/branch.c:429 builtin/tag.c:61
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
-#: builtin/branch.c:452
+#: builtin/branch.c:460
 msgid "could not resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: builtin/branch.c:458
+#: builtin/branch.c:466
 #, 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:473
+#: builtin/branch.c:481
 #, 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:477
+#: builtin/branch.c:485
 #, 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:494
+#: builtin/branch.c:502
 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:496
+#: builtin/branch.c:504
 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:507
+#: builtin/branch.c:515
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:534
+#: builtin/branch.c:542
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:536
+#: builtin/branch.c:544
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:540
+#: builtin/branch.c:548
 #, 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:543
+#: builtin/branch.c:551
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:549
+#: builtin/branch.c:557
 #, 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:558
+#: builtin/branch.c:566
 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:560
+#: builtin/branch.c:568
 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:576
+#: builtin/branch.c:584
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -9522,180 +9714,180 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:610
+#: builtin/branch.c:618
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:620
 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:613
+#: builtin/branch.c:621
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:614
+#: builtin/branch.c:622
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:624
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:618 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:485
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:626
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:619
+#: builtin/branch.c:627
 msgid "Unset the upstream info"
 msgstr "Bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:628
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:629
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:623 builtin/branch.c:625
+#: builtin/branch.c:631 builtin/branch.c:633
 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:624 builtin/branch.c:626
+#: builtin/branch.c:632 builtin/branch.c:634
 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:629
+#: builtin/branch.c:637
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:630
+#: builtin/branch.c:638
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:632
+#: builtin/branch.c:640
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:633
+#: builtin/branch.c:641
 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:634
+#: builtin/branch.c:642
 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:635
+#: builtin/branch.c:643
 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:636
+#: builtin/branch.c:644
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:637
+#: builtin/branch.c:645
 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:638
+#: builtin/branch.c:646
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:639
+#: builtin/branch.c:647
 msgid "show current branch name"
 msgstr "hiển thị nhánh hiện hành"
 
-#: builtin/branch.c:640
+#: builtin/branch.c:648
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:642
+#: builtin/branch.c:650
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:643
+#: builtin/branch.c:651
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:644
+#: builtin/branch.c:652
 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:645
+#: builtin/branch.c:653
 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:646
+#: builtin/branch.c:654
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:649 builtin/for-each-ref.c:42 builtin/notes.c:415
+#: builtin/branch.c:657 builtin/for-each-ref.c:42 builtin/notes.c:415
 #: builtin/notes.c:418 builtin/notes.c:581 builtin/notes.c:584
-#: builtin/tag.c:427
+#: builtin/tag.c:433
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:650
+#: builtin/branch.c:658
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:652 builtin/for-each-ref.c:48 builtin/tag.c:434
+#: builtin/branch.c:660 builtin/for-each-ref.c:48 builtin/tag.c:440
 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:653 builtin/for-each-ref.c:38 builtin/tag.c:432
-#: builtin/verify-tag.c:39
+#: builtin/branch.c:661 builtin/for-each-ref.c:38 builtin/tag.c:438
+#: 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:676 builtin/clone.c:748
+#: builtin/branch.c:684 builtin/clone.c:761
 msgid "HEAD not found below refs/heads!"
 msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:700
+#: builtin/branch.c:708
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:715 builtin/branch.c:769 builtin/branch.c:778
+#: builtin/branch.c:723 builtin/branch.c:777 builtin/branch.c:786
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:745
+#: builtin/branch.c:753
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:750
+#: builtin/branch.c:758
 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:757
+#: builtin/branch.c:765
 #, 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:760
+#: builtin/branch.c:768
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:775
+#: builtin/branch.c:783
 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:784
+#: builtin/branch.c:792
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:789
+#: builtin/branch.c:797
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:793
+#: builtin/branch.c:801
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -9703,36 +9895,39 @@ 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:796 builtin/branch.c:819
+#: builtin/branch.c:804 builtin/branch.c:827
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:800
+#: builtin/branch.c:808
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:813
+#: builtin/branch.c:821
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:817
+#: builtin/branch.c:825
 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:823
+#: builtin/branch.c:831
 #, 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:833
-msgid "-a and -r options to 'git branch' do not make sense with a branch name"
+#: builtin/branch.c:841
+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>?"
 msgstr ""
-"hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
-"nhánh"
+"Hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không nhận một tên "
+"nhánh.\n"
+"Có phải ý bạn là dùng: -a|-r --list <mẫu>?"
 
-#: builtin/branch.c:836
+#: builtin/branch.c:845
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -9753,7 +9948,7 @@ msgstr "Cần một kho chứa để có thể tạo một bundle."
 msgid "Need a repository to unbundle."
 msgstr "Cần một kho chứa để có thể giải nén một bundle."
 
-#: builtin/cat-file.c:593
+#: builtin/cat-file.c:594
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -9761,7 +9956,7 @@ 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>"
 
-#: builtin/cat-file.c:594
+#: builtin/cat-file.c:595
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -9769,72 +9964,72 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:615
+#: builtin/cat-file.c:616
 msgid "only one batch option may be specified"
 msgstr "chỉ một tùy chọn batch được chỉ ra"
 
-#: builtin/cat-file.c:633
+#: builtin/cat-file.c:634
 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:634
+#: builtin/cat-file.c:635
 msgid "show object type"
 msgstr "hiển thị kiểu đối tượng"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:636
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:637
+#: builtin/cat-file.c:638
 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:638
+#: builtin/cat-file.c:639
 msgid "pretty-print object's content"
 msgstr "in nội dung đối tượng dạng dễ đọc"
 
-#: builtin/cat-file.c:640
+#: builtin/cat-file.c:641
 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:642
+#: builtin/cat-file.c:643
 msgid "for blob objects, run filters on object's content"
 msgstr "với đối tượng blob, chạy lệnh filters trên nội dung của đối tượng"
 
-#: builtin/cat-file.c:643 git-submodule.sh:936
+#: builtin/cat-file.c:644 git-submodule.sh:936
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:644
+#: builtin/cat-file.c:645
 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:646
+#: builtin/cat-file.c:647
 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:647
+#: builtin/cat-file.c:648
 msgid "buffer --batch output"
 msgstr "đệm kết xuất --batch"
 
-#: builtin/cat-file.c:649
+#: builtin/cat-file.c:650
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "hiển thị thông tin và nội dung của các đối tượng lấy từ đầu vào tiêu chuẩn"
 
-#: builtin/cat-file.c:653
+#: builtin/cat-file.c:654
 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:657
+#: builtin/cat-file.c:658
 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:659
+#: builtin/cat-file.c:660
 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:661
+#: builtin/cat-file.c:662
 msgid "do not order --batch-all-objects output"
 msgstr "đừng sắp xếp đầu ra --batch-all-objects"
 
@@ -9862,8 +10057,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:1355 builtin/gc.c:538
-#: builtin/worktree.c:499
+#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538
+#: builtin/worktree.c:507
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -9901,7 +10096,7 @@ msgstr "tùy-chọn --non-matching chỉ hợp lệ khi dùng với --verbose"
 
 #: builtin/check-mailmap.c:9
 msgid "git check-mailmap [<options>] <contact>..."
-msgstr "git check-mailmap [<các-tùy-chọn>] <danh-bạ>…"
+msgstr "git check-mailmap [<các tùy chọn>] <danh-bạ>…"
 
 #: builtin/check-mailmap.c:14
 msgid "also read contacts from stdin"
@@ -9918,7 +10113,7 @@ msgstr "chưa chỉ ra danh bạ"
 
 #: builtin/checkout-index.c:131
 msgid "git checkout-index [<options>] [--] [<file>...]"
-msgstr "git checkout-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
+msgstr "git checkout-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
 #: builtin/checkout-index.c:148
 msgid "stage should be between 1 and 3 or all"
@@ -9954,9 +10149,9 @@ msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
 #: builtin/checkout-index.c:178 builtin/column.c:31
-#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1375
-#: builtin/submodule--helper.c:1383 builtin/submodule--helper.c:1856
-#: builtin/worktree.c:672
+#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857
+#: builtin/worktree.c:680
 msgid "string"
 msgstr "chuỗi"
 
@@ -9968,89 +10163,112 @@ msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 msgid "copy out the files from named stage"
 msgstr "sao chép ra các tập tin từ bệ phóng có tên"
 
-#: builtin/checkout.c:32
+#: builtin/checkout.c:31
 msgid "git checkout [<options>] <branch>"
-msgstr "git checkout [<các-tùy-chọn>] <nhánh>"
+msgstr "git checkout [<các tùy chọn>] <nhánh>"
 
-#: builtin/checkout.c:33
+#: builtin/checkout.c:32
 msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr "git checkout [<các-tùy-chọn>] [<nhánh>] -- <tập-tin>…"
+msgstr "git checkout [<các tùy chọn>] [<nhánh>] -- <tập-tin>…"
+
+#: builtin/checkout.c:37
+msgid "git switch [<options>] [<branch>]"
+msgstr "git switch [<các tùy chọn>] [<nhánh>]"
 
-#: builtin/checkout.c:151 builtin/checkout.c:190
+#: builtin/checkout.c:42
+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:172 builtin/checkout.c:211
 #, 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:153 builtin/checkout.c:192
+#: builtin/checkout.c:174 builtin/checkout.c:213
 #, 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:169
+#: builtin/checkout.c:190
 #, 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:219
+#: builtin/checkout.c:240
 #, 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:237
+#: builtin/checkout.c:258
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:253
+#: builtin/checkout.c:274
 #, 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:331 builtin/checkout.c:334 builtin/checkout.c:337
-#: builtin/checkout.c:340
+#: builtin/checkout.c:374
+#, 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:379
+#, 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:386
+#, 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:409 builtin/checkout.c:412 builtin/checkout.c:415
+#: builtin/checkout.c:419
 #, 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:343 builtin/checkout.c:346
+#: builtin/checkout.c:422 builtin/checkout.c:425
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:349
+#: builtin/checkout.c:429
 #, 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:396 builtin/checkout.c:403
+#: builtin/checkout.c:433
 #, c-format
-msgid "path '%s' is unmerged"
-msgstr "đường dẫn “%s” không được hòa trộn"
+msgid "neither '%s' or '%s' is specified"
+msgstr "không chỉ định '%s' không '%s'"
 
-#: builtin/checkout.c:442
+#: builtin/checkout.c:437
 #, 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"
+msgid "'%s' must be used when '%s' is not specified"
+msgstr "phải có “%s” khi không chỉ định “%s”"
 
-#: builtin/checkout.c:447
+#: builtin/checkout.c:442 builtin/checkout.c:447
 #, 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"
+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:454
+#: builtin/checkout.c:506 builtin/checkout.c:513
 #, 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"
+msgid "path '%s' is unmerged"
+msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:679
 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:744
+#: builtin/checkout.c:729
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10060,56 +10278,56 @@ msgstr ""
 "sau:\n"
 "%s"
 
-#: builtin/checkout.c:751
+#: builtin/checkout.c:736
 #, c-format
 msgid "staged changes in the following files may be lost: %s"
 msgstr ""
 "các thay đổi đã đưa lên bệ phóng trong các tập tin sau đây có thể bị mất: %s"
 
-#: builtin/checkout.c:848
+#: builtin/checkout.c:833
 #, 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:890
+#: builtin/checkout.c:875
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:894 builtin/clone.c:701
+#: builtin/checkout.c:879 builtin/clone.c:714
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:898
+#: builtin/checkout.c:883
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:901
+#: builtin/checkout.c:886
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:905
+#: builtin/checkout.c:890
 #, 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:907 builtin/checkout.c:1283
+#: builtin/checkout.c:892 builtin/checkout.c:1289
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:909
+#: builtin/checkout.c:894
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:960
+#: builtin/checkout.c:945
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:966
+#: builtin/checkout.c:951
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10128,7 +10346,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:985
+#: builtin/checkout.c:970
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -10149,24 +10367,28 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:1017
+#: builtin/checkout.c:1005
 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:1021
+#: builtin/checkout.c:1009
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:1052 builtin/checkout.c:1278
+#: builtin/checkout.c:1049 builtin/checkout.c:1284
 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:1173
+#: builtin/checkout.c:1176
+msgid "only one reference expected"
+msgstr "chỉ cần một tham chiếu"
+
+#: builtin/checkout.c:1193
 #, 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:1209
+#: builtin/checkout.c:1230
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10175,155 +10397,213 @@ 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:1222 builtin/worktree.c:290 builtin/worktree.c:448
+#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1251
+#: builtin/checkout.c:1256 builtin/checkout.c:1618
 #, 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:1292
+#: builtin/checkout.c:1303
+#, 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:1305
+#, 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:1306 builtin/checkout.c:1314
+#, 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:1309
+#, 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:1325
+msgid ""
+"cannot switch branch while merging\n"
+"Consider \"git merge --quit\" or \"git worktree add\"."
+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:1329
+msgid ""
+"cannot switch branch in the middle of an am session\n"
+"Consider \"git am --quit\" or \"git worktree add\"."
+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:1333
+msgid ""
+"cannot switch branch while rebasing\n"
+"Consider \"git rebase --quit\" or \"git worktree add\"."
+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:1337
+msgid ""
+"cannot switch branch while cherry-picking\n"
+"Consider \"git cherry-pick --quit\" or \"git worktree add\"."
+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:1341
+msgid ""
+"cannot switch branch while reverting\n"
+"Consider \"git revert --quit\" or \"git worktree add\"."
+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:1345
+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:1352
 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:1295 builtin/checkout.c:1299 builtin/checkout.c:1303
+#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363
 #, 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:1307 builtin/checkout.c:1310 builtin/checkout.c:1315
-#: builtin/checkout.c:1318
+#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373
+#: builtin/checkout.c:1378 builtin/checkout.c:1383
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1323
+#: builtin/checkout.c:1380
+#, c-format
+msgid "'%s' cannot take <start-point>"
+msgstr "“%s” không thể nhận <điểm-đầu>"
+
+#: builtin/checkout.c:1388
 #, 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:1356 builtin/checkout.c:1358 builtin/clone.c:118
-#: builtin/remote.c:169 builtin/remote.c:171 builtin/worktree.c:492
-#: builtin/worktree.c:494
-msgid "branch"
-msgstr "nhánh"
+#: builtin/checkout.c:1395
+msgid "missing branch or commit argument"
+msgstr "thiếu tham số là nhánh hoặc lần chuyển giao"
 
-#: builtin/checkout.c:1357
-msgid "create and checkout a new branch"
-msgstr "tạo và checkout một nhánh mới"
+#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151
+#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575
+#: builtin/send-pack.c:174
+msgid "force progress reporting"
+msgstr "ép buộc báo cáo tiến triển công việc"
 
-#: builtin/checkout.c:1359
-msgid "create/reset and checkout a branch"
-msgstr "tạo/đặt_lại và checkout một nhánh"
+#: builtin/checkout.c:1438
+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:1360
-msgid "create reflog for new branch"
-msgstr "tạo reflog cho nhánh mới"
+#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318
+msgid "style"
+msgstr "kiểu"
 
-#: builtin/checkout.c:1361 builtin/worktree.c:496
+#: builtin/checkout.c:1440
+msgid "conflict style (merge or diff3)"
+msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
+
+#: builtin/checkout.c:1452 builtin/worktree.c:504
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1362
+#: builtin/checkout.c:1453
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1455
+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:1457
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1364
+#: builtin/checkout.c:1457
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1366
+#: builtin/checkout.c:1459 builtin/merge.c:288
+msgid "update ignored files (default)"
+msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
+
+#: builtin/checkout.c:1462
+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:1475
 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:1369
+#: builtin/checkout.c:1478
 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:1371
-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:1373
-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:1375 builtin/merge.c:284
-msgid "update ignored files (default)"
-msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
-
-#: builtin/checkout.c:1377 builtin/log.c:1594 parse-options.h:317
-msgid "style"
-msgstr "kiểu"
-
-#: builtin/checkout.c:1378
-msgid "conflict style (merge or diff3)"
-msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
-
-#: builtin/checkout.c:1381
+#: builtin/checkout.c:1482
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "không giới hạn đặc tả đường dẫn thành chỉ các mục thưa thớt"
 
-#: builtin/checkout.c:1383
-msgid "do not second guess 'git checkout <no-such-branch>'"
-msgstr "đừng gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
-
-#: builtin/checkout.c:1385
-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:1389 builtin/clone.c:88 builtin/fetch.c:141
-#: builtin/merge.c:281 builtin/pull.c:136 builtin/push.c:575
-#: builtin/send-pack.c:174
-msgid "force progress reporting"
-msgstr "ép buộc báo cáo tiến triển công việc"
-
-#: builtin/checkout.c:1390
-msgid "use overlay mode (default)"
-msgstr "dùng chế độ che phủ (mặc định)"
-
-#: builtin/checkout.c:1422
+#: builtin/checkout.c:1533
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Các tùy chọn -b, -B và --orphan loại từ lẫn nhau"
 
-#: builtin/checkout.c:1425
+#: builtin/checkout.c:1536
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p và --overlay loại từ lẫn nhau"
 
-#: builtin/checkout.c:1442
+#: builtin/checkout.c:1573
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1447
+#: builtin/checkout.c:1578
 msgid "missing branch name; try -b"
 msgstr "thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1484
+#: builtin/checkout.c:1611
+#, c-format
+msgid "could not resolve %s"
+msgstr "không thể phân giải “%s”"
+
+#: builtin/checkout.c:1623
+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:1631
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1491
+#: builtin/checkout.c:1638
 #, 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:1495
+#: builtin/checkout.c:1642
 #, 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:1499
+#: builtin/checkout.c:1646
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10331,7 +10611,7 @@ 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:1519
+#: builtin/checkout.c:1666
 #, c-format
 msgid ""
 "'%s' matched more than one remote tracking branch.\n"
@@ -10361,11 +10641,74 @@ 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:1691 builtin/checkout.c:1693 builtin/checkout.c:1733
+#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169
+#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502
+msgid "branch"
+msgstr "nhánh"
+
+#: builtin/checkout.c:1692
+msgid "create and checkout a new branch"
+msgstr "tạo và checkout một nhánh mới"
+
+#: builtin/checkout.c:1694
+msgid "create/reset and checkout a branch"
+msgstr "tạo/đặt_lại và checkout một nhánh"
+
+#: builtin/checkout.c:1695
+msgid "create reflog for new branch"
+msgstr "tạo reflog cho nhánh mới"
+
+#: builtin/checkout.c:1697
+msgid "second guess 'git checkout <no-such-branch>' (default)"
+msgstr "đoán thứ hai 'git checkout <không-nhánh-nào-như-vậy>' (mặc định)"
+
+#: builtin/checkout.c:1698
+msgid "use overlay mode (default)"
+msgstr "dùng chế độ che phủ (mặc định)"
+
+#: builtin/checkout.c:1734
+msgid "create and switch to a new branch"
+msgstr "tạo và chuyển đến một nhánh mới"
+
+#: builtin/checkout.c:1736
+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:1738
+msgid "second guess 'git switch <no-such-branch>'"
+msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
+
+#: builtin/checkout.c:1740
+msgid "throw away local modifications"
+msgstr "vứt bỏ các sửa đổi địa phương"
+
+#: builtin/checkout.c:1772
+msgid "which tree-ish to checkout from"
+msgstr "lấy ra từ tree-ish nào"
+
+#: builtin/checkout.c:1774
+msgid "restore the index"
+msgstr "phục hồi bảng mục lục"
+
+#: builtin/checkout.c:1776
+msgid "restore the working tree (default)"
+msgstr "phục hồi cây làm việc (mặc định)"
+
+#: builtin/checkout.c:1778
+msgid "ignore unmerged entries"
+msgstr "bỏ qua những thứ chưa hòa trộn: %s"
+
+#: builtin/checkout.c:1779
+msgid "use overlay mode"
+msgstr "dùng chế độ che phủ"
+
 #: builtin/clean.c:28
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <đường-dẫn>…"
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] </các/đường/"
+"dẫn>…"
 
 #: builtin/clean.c:32
 #, c-format
@@ -10392,7 +10735,12 @@ msgstr "Nên bỏ qua kho chứa %s\n"
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:299 git-add--interactive.perl:579
+#: builtin/clean.c:37
+#, c-format
+msgid "could not lstat %s\n"
+msgstr "không thể lấy thông tin thống kê đầy đủ của %s\n"
+
+#: builtin/clean.c:300 git-add--interactive.perl:593
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10405,7 +10753,7 @@ msgstr ""
 "foo        - chọn mục trên cơ sở tiền tố duy nhất\n"
 "           - (để trống) không chọn gì cả\n"
 
-#: builtin/clean.c:303 git-add--interactive.perl:588
+#: builtin/clean.c:304 git-add--interactive.perl:602
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -10426,38 +10774,38 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (để trống) kết thúc việc chọn\n"
 
-#: builtin/clean.c:519 git-add--interactive.perl:554
-#: git-add--interactive.perl:559
+#: builtin/clean.c:520 git-add--interactive.perl:568
+#: git-add--interactive.perl:573
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hả (%s)?\n"
 
-#: builtin/clean.c:661
+#: builtin/clean.c:662
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin đầu vào cần lờ đi>> "
 
-#: builtin/clean.c:698
+#: builtin/clean.c:699
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "CẢNH BÁO: Không tìm thấy các mục được khớp bởi: %s"
 
-#: builtin/clean.c:719
+#: builtin/clean.c:720
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:760
+#: builtin/clean.c:761
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:785 git-add--interactive.perl:1717
+#: builtin/clean.c:786 git-add--interactive.perl:1763
 #, c-format
 msgid "Bye.\n"
 msgstr "Tạm biệt.\n"
 
-#: builtin/clean.c:793
+#: builtin/clean.c:794
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -10475,63 +10823,63 @@ msgstr ""
 "help                - hiển thị chính trợ giúp này\n"
 "?                   - trợ giúp dành cho chọn bằng cách nhắc"
 
-#: builtin/clean.c:820 git-add--interactive.perl:1793
+#: builtin/clean.c:821 git-add--interactive.perl:1849
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:821 git-add--interactive.perl:1790
+#: builtin/clean.c:822 git-add--interactive.perl:1846
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:829
+#: builtin/clean.c:830
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ (các) mục sau đây không:"
 
-#: builtin/clean.c:845
+#: builtin/clean.c:846
 msgid "No more files to clean, exiting."
 msgstr "Không còn tập-tin nào để dọn dẹp, đang thoát ra."
 
-#: builtin/clean.c:907
+#: builtin/clean.c:908
 msgid "do not print names of files removed"
 msgstr "không hiển thị tên của các tập tin đã gỡ bỏ"
 
-#: builtin/clean.c:909
+#: builtin/clean.c:910
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "interactive cleaning"
 msgstr "dọn bằng kiểu tương tác"
 
-#: builtin/clean.c:912
+#: builtin/clean.c:913
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:913 builtin/describe.c:546 builtin/describe.c:548
-#: builtin/grep.c:897 builtin/log.c:171 builtin/log.c:173
-#: builtin/ls-files.c:557 builtin/name-rev.c:417 builtin/name-rev.c:419
+#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548
+#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178
+#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415
 #: builtin/show-ref.c:179
 msgid "pattern"
 msgstr "mẫu"
 
-#: builtin/clean.c:914
+#: builtin/clean.c:915
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:918
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:935
+#: builtin/clean.c:936
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clean.c:939
+#: builtin/clean.c:940
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -10539,7 +10887,7 @@ msgstr ""
 "clean.requireForce được đặt thành true và không đưa ra tùy chọn -i, -n mà "
 "cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clean.c:942
+#: builtin/clean.c:943
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -10547,158 +10895,162 @@ msgstr ""
 "clean.requireForce mặc định được đặt là true và không đưa ra tùy chọn -i, -n "
 "mà cũng không -f; từ chối lệnh dọn dẹp (clean)"
 
-#: builtin/clone.c:44
+#: builtin/clone.c:46
 msgid "git clone [<options>] [--] <repo> [<dir>]"
-msgstr "git clone [<các-tùy-chọn>] [--] <kho> [<t.mục>]"
+msgstr "git clone [<các tùy chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:90
+#: builtin/clone.c:93
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:91 builtin/clone.c:93 builtin/init-db.c:489
+#: builtin/clone.c:94 builtin/clone.c:96 builtin/init-db.c:489
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:95
+#: builtin/clone.c:98
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:97
+#: builtin/clone.c:100
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:99
+#: builtin/clone.c:102
 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:101
+#: builtin/clone.c:104
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:104
+#: builtin/clone.c:107
 msgid "initialize submodules in the clone"
 msgstr "khởi tạo mô-đun-con trong bản sao"
 
-#: builtin/clone.c:107
+#: builtin/clone.c:110
 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:108 builtin/init-db.c:486
+#: builtin/clone.c:111 builtin/init-db.c:486
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:109 builtin/init-db.c:487
+#: builtin/clone.c:112 builtin/init-db.c:487
 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:111 builtin/clone.c:113 builtin/submodule--helper.c:1379
-#: builtin/submodule--helper.c:1859
+#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380
+#: builtin/submodule--helper.c:1860
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1381
-#: builtin/submodule--helper.c:1861
+#: builtin/clone.c:118 builtin/submodule--helper.c:1382
+#: builtin/submodule--helper.c:1862
 msgid "use --reference only while cloning"
 msgstr "chỉ dùng --reference khi nhân bản"
 
-#: builtin/clone.c:116 builtin/column.c:27 builtin/merge-file.c:46
-#: builtin/pack-objects.c:3306 builtin/repack.c:329
+#: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46
+#: builtin/pack-objects.c:3314 builtin/repack.c:319
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:120
 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:119
+#: builtin/clone.c:122
 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:121
+#: builtin/clone.c:124
 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:122 builtin/fetch.c:142 builtin/grep.c:836
-#: builtin/pull.c:225
+#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838
+#: builtin/pull.c:226
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:126
 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:124 builtin/fetch.c:144 builtin/pack-objects.c:3295
+#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:128
 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:126 builtin/fetch.c:146 builtin/fetch.c:169
-#: builtin/rebase.c:1389
+#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179
+#: builtin/rebase.c:1395
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:127 builtin/fetch.c:147
+#: builtin/clone.c:130 builtin/fetch.c:157
 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:129
+#: builtin/clone.c:132
 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:131
+#: builtin/clone.c:134
 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:133
+#: builtin/clone.c:136
 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:134 builtin/init-db.c:495
+#: builtin/clone.c:137 builtin/init-db.c:495
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:135 builtin/init-db.c:496
+#: builtin/clone.c:138 builtin/init-db.c:496
 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:136
+#: builtin/clone.c:139
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:140
 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:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
 #: builtin/push.c:585 builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/clone.c:139 builtin/fetch.c:164 builtin/ls-remote.c:76
+#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76
 #: builtin/push.c:585 builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/clone.c:140 builtin/fetch.c:165 builtin/pull.c:238
+#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239
 #: builtin/push.c:586
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:142 builtin/fetch.c:167 builtin/pull.c:241
+#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242
 #: builtin/push.c:588
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:280
+#: builtin/clone.c:149
+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:285
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -10706,145 +11058,145 @@ msgstr ""
 "Không đoán được thư mục tên là gì.\n"
 "Vui lòng chỉ định tên một thư mục trên dòng lệnh"
 
-#: builtin/clone.c:333
+#: builtin/clone.c:338
 #, 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:405
-#, c-format
-msgid "failed to open '%s'"
-msgstr "gặp lỗi khi mở “%s”"
-
-#: builtin/clone.c:413
+#: builtin/clone.c:411
 #, 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:427
+#: builtin/clone.c:428
 #, c-format
-msgid "failed to stat %s\n"
-msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
+msgid "failed to start iterator over '%s'"
+msgstr "gặp lỗi khi bắt đầu lặp qua “%s”"
 
-#: builtin/clone.c:444
+#: builtin/clone.c:453
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
 
-#: builtin/clone.c:449
+#: builtin/clone.c:458
 #, 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:453
+#: builtin/clone.c:462
 #, 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:479
+#: builtin/clone.c:467
+#, c-format
+msgid "failed to iterate over '%s'"
+msgstr "gặp lỗi khi lặp qua “%s”"
+
+#: builtin/clone.c:492
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:493
+#: builtin/clone.c:506
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
-"and retry the checkout with 'git checkout -f HEAD'\n"
+"and retry with 'git restore --source=HEAD :/'\n"
 msgstr ""
 "Việc nhân bản thành công, nhưng checkout gặp lỗi.\n"
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
-"và thử lấy ra với lệnh “git checkout -f HEAD”\n"
+"và thử lấy ra với lệnh 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:570
+#: builtin/clone.c:583
 #, 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:689
+#: builtin/clone.c:702
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:739
+#: builtin/clone.c:752
 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:770
+#: builtin/clone.c:783
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:815
+#: builtin/clone.c:833
 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:878
+#: builtin/clone.c:896
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:880
+#: builtin/clone.c:898
 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:920 builtin/receive-pack.c:1952
+#: builtin/clone.c:938 builtin/receive-pack.c:1950
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:924
+#: builtin/clone.c:942
 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:937
+#: builtin/clone.c:955
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "tùy chọn --bare và --origin %s xung khắc nhau."
 
-#: builtin/clone.c:940
+#: builtin/clone.c:958
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "tùy chọn --bare và --separate-git-dir xung khắc nhau."
 
-#: builtin/clone.c:953
+#: builtin/clone.c:971
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:959 builtin/fetch.c:1610
+#: builtin/clone.c:977 builtin/fetch.c:1660
 #, 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:969
+#: builtin/clone.c:987
 #, 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:979
+#: builtin/clone.c:997
 #, 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:994 builtin/clone.c:1015 builtin/difftool.c:264
-#: builtin/worktree.c:296 builtin/worktree.c:328
+#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264
+#: builtin/worktree.c:303 builtin/worktree.c:335
 #, 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:999
+#: builtin/clone.c:1017
 #, 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:1019
+#: builtin/clone.c:1037
 #, 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:1021
+#: builtin/clone.c:1039
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1045
+#: builtin/clone.c:1063
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -10852,47 +11204,47 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1106
+#: builtin/clone.c:1124
 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:1108
+#: builtin/clone.c:1126
 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:1110
+#: builtin/clone.c:1128
 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:1112
+#: builtin/clone.c:1130
 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:1115
+#: builtin/clone.c:1133
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1120
+#: builtin/clone.c:1138
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1197 builtin/clone.c:1205
+#: builtin/clone.c:1215 builtin/clone.c:1223
 #, 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:1208
+#: builtin/clone.c:1226
 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."
 
 #: builtin/column.c:10
 msgid "git column [<options>]"
-msgstr "git column [<các-tùy-chọn>]"
+msgstr "git column [<các tùy chọn>]"
 
 #: builtin/column.c:27
 msgid "lookup config vars"
@@ -10935,7 +11287,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:136 builtin/log.c:520
+#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525
 #, c-format
 msgid "not a valid object name %s"
 msgstr "không phải là tên đối tượng hợp lệ “%s”"
@@ -10963,13 +11315,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:114 builtin/commit.c:1480 builtin/merge.c:268
-#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1473
-#: builtin/tag.c:406
+#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270
+#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460
+#: builtin/tag.c:412
 msgid "message"
 msgstr "chú thích"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1480
+#: builtin/commit-tree.c:115 builtin/commit.c:1500
 msgid "commit message"
 msgstr "chú thích của lần chuyển giao"
 
@@ -10977,8 +11329,8 @@ 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:121 builtin/commit.c:1492 builtin/merge.c:283
-#: builtin/pull.c:193 builtin/revert.c:117
+#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287
+#: builtin/pull.c:194 builtin/revert.c:118
 msgid "GPG sign commit"
 msgstr "Ký lần chuyển giao dùng GPG"
 
@@ -10992,11 +11344,11 @@ msgstr "git commit-tree: gặp lỗi khi đọc"
 
 #: builtin/commit.c:41
 msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<các-tùy-chọn>] [--] <pathspec>…"
+msgstr "git commit [<các tùy chọn>] [--] <pathspec>…"
 
 #: builtin/commit.c:46
 msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<các-tùy-chọn>] [--] <pathspec>…"
+msgstr "git status [<các tùy chọn>] [--] <pathspec>…"
 
 #: builtin/commit.c:51
 msgid ""
@@ -11027,82 +11379,88 @@ msgstr ""
 "\n"
 
 #: builtin/commit.c:63
-msgid "Otherwise, please use 'git reset'\n"
-msgstr "Nếu không được thì dùng lệnh \"git reset\"\n"
+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:66
 msgid ""
+"and then use:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"to resume cherry-picking the remaining commits.\n"
 "If you wish to skip this commit, use:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-"the remaining commits.\n"
 msgstr ""
+"và sau đó dùng:\n"
+"\n"
+"    git cherry-pick --continue\n"
+"\n"
+"để lại tiếp tục cherry-picking các lần chuyển giao còn lại.\n"
 "Nếu bạn muốn bỏ qua lần chuyển giao này thì dùng:\n"
 "\n"
-"    git reset\n"
+"    git cherry-pick --skip\n"
 "\n"
-"Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n"
-"những lần chuyển giao còn lại.\n"
 
-#: builtin/commit.c:312
+#: builtin/commit.c:315
 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:353
+#: builtin/commit.c:356
 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:359
+#: builtin/commit.c:362
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:373
+#: builtin/commit.c:376
 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:375
+#: builtin/commit.c:378
 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:400 builtin/commit.c:423 builtin/commit.c:469
+#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472
 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:452
+#: builtin/commit.c:455
 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:454
+#: builtin/commit.c:457
 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:462
+#: builtin/commit.c:465
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:481
+#: builtin/commit.c:484
 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:579
+#: builtin/commit.c:582
 #, 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:581
+#: builtin/commit.c:584
 #, 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:600
+#: builtin/commit.c:603
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:653
+#: builtin/commit.c:656
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -11110,38 +11468,38 @@ 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:691 builtin/commit.c:724 builtin/commit.c:1069
+#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072
 #, 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:703 builtin/shortlog.c:319
+#: builtin/commit.c:706 builtin/shortlog.c:319
 #, 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:705
+#: builtin/commit.c:708
 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:709
+#: builtin/commit.c:712
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:740 builtin/commit.c:756
+#: builtin/commit.c:743 builtin/commit.c:759
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:747
+#: builtin/commit.c:750
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:807
+#: builtin/commit.c:810
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:826
+#: builtin/commit.c:829
 #, c-format
 msgid ""
 "\n"
@@ -11156,7 +11514,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:834
 #, c-format
 msgid ""
 "\n"
@@ -11171,7 +11529,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:844
+#: builtin/commit.c:847
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11182,7 +11540,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:852
+#: builtin/commit.c:855
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11194,152 +11552,152 @@ 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:869
+#: builtin/commit.c:872
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:877
+#: builtin/commit.c:880
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:884
+#: builtin/commit.c:887
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:902
+#: builtin/commit.c:905
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:969
+#: builtin/commit.c:972
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:983 builtin/tag.c:269
+#: builtin/commit.c:986 builtin/tag.c:275
 #, 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:1027
+#: builtin/commit.c:1030
 #, 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:1041
+#: builtin/commit.c:1044
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1059 builtin/commit.c:1284
+#: builtin/commit.c:1062 builtin/commit.c:1304
 #, 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:1097
+#: builtin/commit.c:1102
 msgid "--long and -z are incompatible"
 msgstr "hai tùy chọn -long và -z không tương thích với nhau"
 
-#: builtin/commit.c:1130
+#: builtin/commit.c:1146
 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:1139
+#: builtin/commit.c:1155
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1142
+#: builtin/commit.c:1158
 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:1144
+#: builtin/commit.c:1160
 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:1147
+#: builtin/commit.c:1163
 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:1157
+#: builtin/commit.c:1173
 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:1159
+#: builtin/commit.c:1175
 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:1167
+#: builtin/commit.c:1183
 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:1184
+#: builtin/commit.c:1200
 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:1186
+#: builtin/commit.c:1202
 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:1192
+#: builtin/commit.c:1208
 #, 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:1319 builtin/commit.c:1503
+#: builtin/commit.c:1339 builtin/commit.c:1523
 msgid "show status concisely"
 msgstr "hiển thị trạng thái ở dạng súc tích"
 
-#: builtin/commit.c:1321 builtin/commit.c:1505
+#: builtin/commit.c:1341 builtin/commit.c:1525
 msgid "show branch information"
 msgstr "hiển thị thông tin nhánh"
 
-#: builtin/commit.c:1323
+#: builtin/commit.c:1343
 msgid "show stash information"
 msgstr "hiển thị thông tin về tạm cất"
 
-#: builtin/commit.c:1325 builtin/commit.c:1507
+#: builtin/commit.c:1345 builtin/commit.c:1527
 msgid "compute full ahead/behind values"
 msgstr "tính đầy đủ giá trị trước/sau"
 
-#: builtin/commit.c:1327
+#: builtin/commit.c:1347
 msgid "version"
 msgstr "phiên bản"
 
-#: builtin/commit.c:1327 builtin/commit.c:1509 builtin/push.c:561
-#: builtin/worktree.c:643
+#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561
+#: builtin/worktree.c:651
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
-#: builtin/commit.c:1330 builtin/commit.c:1511
+#: builtin/commit.c:1350 builtin/commit.c:1531
 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:1333 builtin/commit.c:1514
+#: builtin/commit.c:1353 builtin/commit.c:1534
 msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
-#: builtin/commit.c:1335 builtin/commit.c:1339 builtin/commit.c:1517
-#: builtin/fast-export.c:1085 builtin/fast-export.c:1088 builtin/rebase.c:1465
-#: parse-options.h:331
+#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
+#: builtin/fast-export.c:1125 builtin/fast-export.c:1128
+#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332
 msgid "mode"
 msgstr "chế độ"
 
-#: builtin/commit.c:1336 builtin/commit.c:1517
+#: builtin/commit.c:1356 builtin/commit.c:1537
 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:1340
+#: builtin/commit.c:1360
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11347,11 +11705,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:1342 parse-options.h:179
+#: builtin/commit.c:1362 parse-options.h:179
 msgid "when"
 msgstr "khi"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1363
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11359,252 +11717,273 @@ 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:1345
+#: builtin/commit.c:1365
 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:1346
+#: builtin/commit.c:1366
 msgid "do not detect renames"
 msgstr "không dò tìm các tên thay đổi"
 
-#: builtin/commit.c:1348
+#: builtin/commit.c:1368
 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:1368
+#: builtin/commit.c:1388
 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:1473
+#: builtin/commit.c:1493
 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:1474
+#: builtin/commit.c:1494
 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:1476
+#: builtin/commit.c:1496
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1477 builtin/merge.c:272 builtin/tag.c:408
+#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1498
 msgid "author"
 msgstr "tác giả"
 
-#: builtin/commit.c:1478
+#: builtin/commit.c:1498
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1479 builtin/gc.c:539
+#: builtin/commit.c:1499 builtin/gc.c:539
 msgid "date"
 msgstr "ngày tháng"
 
-#: builtin/commit.c:1479
+#: builtin/commit.c:1499
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1481 builtin/commit.c:1482 builtin/commit.c:1483
-#: builtin/commit.c:1484 parse-options.h:323 ref-filter.h:92
+#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503
+#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92
 msgid "commit"
 msgstr "lần_chuyển_giao"
 
-#: builtin/commit.c:1481
+#: builtin/commit.c:1501
 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:1482
+#: builtin/commit.c:1502
 msgid "reuse message from specified commit"
 msgstr "dùng lại các ghi chú từ lần chuyển giao đã cho"
 
-#: builtin/commit.c:1483
+#: builtin/commit.c:1503
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "dùng ghi chú có định dạng autosquash để sửa chữa lần chuyển giao đã chỉ ra"
 
-#: builtin/commit.c:1484
+#: builtin/commit.c:1504
 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:1485
+#: builtin/commit.c:1505
 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:1486 builtin/log.c:1541 builtin/merge.c:285
-#: builtin/pull.c:162 builtin/revert.c:109
+#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289
+#: builtin/pull.c:163 builtin/revert.c:110
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
-#: builtin/commit.c:1487
+#: builtin/commit.c:1507
 msgid "use specified template file"
 msgstr "sử dụng tập tin mẫu đã cho"
 
-#: builtin/commit.c:1488
+#: builtin/commit.c:1508
 msgid "force edit of commit"
 msgstr "ép buộc sửa lần commit"
 
-#: builtin/commit.c:1490
+#: builtin/commit.c:1510
 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:1495
+#: builtin/commit.c:1515
 msgid "Commit contents options"
 msgstr "Các tùy nội dung ghi chú commit"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1516
 msgid "commit all changed files"
 msgstr "chuyển giao tất cả các tập tin có thay đổi"
 
-#: builtin/commit.c:1497
+#: builtin/commit.c:1517
 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:1498
+#: builtin/commit.c:1518
 msgid "interactively add files"
 msgstr "thêm các tập-tin bằng tương tác"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1519
 msgid "interactively add changes"
 msgstr "thêm các thay đổi bằng tương tác"
 
-#: builtin/commit.c:1500
+#: builtin/commit.c:1520
 msgid "commit only specified files"
 msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1521
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "vòng qua móc (hook) pre-commit và commit-msg"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1522
 msgid "show what would be committed"
 msgstr "hiển thị xem cái gì có thể được chuyển giao"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1535
 msgid "amend previous commit"
 msgstr "“tu bổ” (amend) lần commit trước"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1536
 msgid "bypass post-rewrite hook"
 msgstr "vòng qua móc (hook) post-rewrite"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1541
 msgid "ok to record an empty change"
 msgstr "ok để ghi lại một thay đổi trống rỗng"
 
-#: builtin/commit.c:1523
+#: builtin/commit.c:1543
 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:1596
+#: builtin/commit.c:1616
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1603
+#: builtin/commit.c:1623
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1622
+#: builtin/commit.c:1642
 #, 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:1629
+#: builtin/commit.c:1649
 #, 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:1634
+#: builtin/commit.c:1654
 #, 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:1668
+#: builtin/commit.c:1688
 msgid ""
 "repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full and quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
+"not exceeded, and then \"git restore --staged :/\" to recover."
 msgstr ""
 "kho chứa đã được cập nhật, nhưng không thể ghi vào\n"
 "tập tin new_index (bảng mục lục mới). Hãy kiểm tra xem đĩa\n"
 "có bị đầy quá hay quota (hạn nghạch đĩa cứng) bị vượt quá,\n"
-"và sau đó \"git reset HEAD\" để khắc phục."
+"và sau đó \"git restore --staged :/\" để khắc phục."
 
-#: builtin/commit-graph.c:10
+#: builtin/commit-graph.c:11
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr "git commit-graph [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
+#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr "git commit-graph read [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:18
-msgid "git commit-graph verify [--object-dir <objdir>]"
-msgstr "git commit-graph verify [--object-dir <objdir>]"
+#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
+msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]"
+msgstr ""
+"git commit-graph verify [--object-dir </thư/mục/đối/tượng>] [--shallow]"
 
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:28
+#: builtin/commit-graph.c:14 builtin/commit-graph.c:29
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append|--split] [--"
+"reachable|--stdin-packs|--stdin-commits] <split options>"
 msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
-"stdin-packs|--stdin-commits]"
+"git commit-graph write [--object-dir </thư/mục/đối/tượng>] [--append|--"
+"split] [--reachable|--stdin-packs|--stdin-commits] <các tùy chọn chia tách>"
 
-#: builtin/commit-graph.c:51 builtin/commit-graph.c:89
-#: builtin/commit-graph.c:147 builtin/commit-graph.c:205 builtin/fetch.c:153
-#: builtin/log.c:1561
+#: builtin/commit-graph.c:54 builtin/commit-graph.c:100
+#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163
+#: builtin/log.c:1584
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/commit-graph.c:52 builtin/commit-graph.c:90
-#: builtin/commit-graph.c:148 builtin/commit-graph.c:206
+#: builtin/commit-graph.c:55 builtin/commit-graph.c:101
+#: builtin/commit-graph.c:162 builtin/commit-graph.c:238
 msgid "The object directory to store the graph"
 msgstr "Thư mục đối tượng để lưu đồ thị"
 
-#: builtin/commit-graph.c:68 builtin/commit-graph.c:105
+#: builtin/commit-graph.c:57
+msgid "if the commit-graph is split, only verify the tip file"
+msgstr ""
+"nếu đồ-thị-các-lần-chuyển-giao bị chia cắt, thì chỉ thẩm tra tập tin đỉnh"
+
+#: builtin/commit-graph.c:73 builtin/commit-graph.c:116
 #, c-format
 msgid "Could not open commit-graph '%s'"
 msgstr "Không thể mở đồ thị chuyển giao “%s”"
 
-#: builtin/commit-graph.c:150
+#: builtin/commit-graph.c:164
 msgid "start walk at all refs"
 msgstr "bắt đầu di chuyển tại mọi tham chiếu"
 
-#: builtin/commit-graph.c:152
+#: builtin/commit-graph.c:166
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr ""
 "quét dó các mục lục gói được liệt kê bởi đầu vào tiêu chuẩn cho các lần "
 "chuyển giao"
 
-#: builtin/commit-graph.c:154
+#: builtin/commit-graph.c:168
 msgid "start walk at commits listed by stdin"
 msgstr ""
 "bắt đầu di chuyển tại các lần chuyển giao được liệt kê bởi đầu vào tiêu chuẩn"
 
-#: builtin/commit-graph.c:156
+#: builtin/commit-graph.c:170
 msgid "include all commits already in the commit-graph file"
 msgstr ""
-"bao gồm mọi lần chuyển giao đã sẵn có trongười tập tin đồ thị lần chuyển giao"
+"bao gồm mọi lần chuyển giao đã sẵn có trongười tập tin đồ-thị-các-lần-chuyển-"
+"giao"
+
+#: builtin/commit-graph.c:172
+msgid "allow writing an incremental commit-graph file"
+msgstr "cho phép ghi một tập tin đồ họa các lần chuyển giao lớn lên"
+
+#: builtin/commit-graph.c:174 builtin/commit-graph.c:178
+msgid "maximum number of commits in a non-base split commit-graph"
+msgstr ""
+"số lượng tối đa của các lần chuyển giao trong một đồ-thị-các-lần-chuyển-giao "
+"chia cắt không-cơ-sở"
+
+#: builtin/commit-graph.c:176
+msgid "maximum ratio between two levels of a split commit-graph"
+msgstr "tỷ lệ tối đa giữa hai mức của một đồ-thị-các-lần-chuyển-giao chia cắt"
 
-#: builtin/commit-graph.c:165
+#: builtin/commit-graph.c:191
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr ""
 "không thể sử dụng hơn một --reachable, --stdin-commits, hay --stdin-packs"
 
 #: builtin/config.c:11
 msgid "git config [<options>]"
-msgstr "git config [<các-tùy-chọn>]"
+msgstr "git config [<các tùy chọn>]"
 
-#: builtin/config.c:103
+#: builtin/config.c:103 builtin/env--helper.c:23
 #, c-format
 msgid "unrecognized --type argument, %s"
 msgstr "đối số không được thừa nhận --type, %s"
@@ -11709,7 +12088,7 @@ 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:147
+#: builtin/config.c:147 builtin/env--helper.c:38
 msgid "value is given this type"
 msgstr "giá trị được đưa kiểu này"
 
@@ -11755,7 +12134,7 @@ msgstr ""
 "hiển thị nguyên gốc của cấu hình (tập tin, đầu vào tiêu chuẩn, blob, dòng "
 "lệnh)"
 
-#: builtin/config.c:158
+#: builtin/config.c:158 builtin/env--helper.c:40
 msgid "value"
 msgstr "giá trị"
 
@@ -11915,11 +12294,11 @@ msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
 
 #: builtin/describe.c:27
 msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<các-tùy-chọn>] <commit-ish>*"
+msgstr "git describe [<các tùy chọn>] <commit-ish>*"
 
 #: builtin/describe.c:28
 msgid "git describe [<options>] --dirty"
-msgstr "git describe [<các-tùy-chọn>] --dirty"
+msgstr "git describe [<các tùy chọn>] --dirty"
 
 #: builtin/describe.c:63
 msgid "head"
@@ -12050,7 +12429,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:551 builtin/name-rev.c:426
+#: builtin/describe.c:551 builtin/name-rev.c:422
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
@@ -12114,8 +12493,8 @@ msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 #: builtin/difftool.c:30
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr ""
-"git difftool [<các-tùy-chọn>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] "
-"<đường-dẫn>…]"
+"git difftool [<các tùy chọn>] [<lần_chuyển_giao> [<lần_chuyển_giao>]] [--] </"
+"đường/dẫn>…]"
 
 #: builtin/difftool.c:253
 #, c-format
@@ -12227,159 +12606,195 @@ msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
+#: builtin/env--helper.c:6
+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:37 builtin/hash-object.c:98
+msgid "type"
+msgstr "kiểu"
+
+#: builtin/env--helper.c:41
+msgid "default for git_env_*(...) to fall back on"
+msgstr "mặc định cho git_env_*(...) để quay về"
+
+#: builtin/env--helper.c:43
+msgid "be quiet only use git_env_*() value as exit code"
+msgstr "im lặng chỉ khi dung giá trị git_env_*() làm mã thoát"
+
+#: builtin/env--helper.c:62
+#, c-format
+msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
+msgstr ""
+"tùy chọn `--default' cần một giá trị logic với `--type=bool`, không phải `%s`"
+
+#: builtin/env--helper.c:77
+#, c-format
+msgid ""
+"option `--default' expects an unsigned long value with `--type=ulong`, not `"
+"%s`"
+msgstr ""
+"tùy chọn `--default' cần một giá trị số nguyên dài không dấu với `--"
+"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]"
 
-#: builtin/fast-export.c:1084
+#: builtin/fast-export.c:1124
 msgid "show progress after <n> objects"
 msgstr "hiển thị tiến triển sau <n> đối tượng"
 
-#: builtin/fast-export.c:1086
+#: builtin/fast-export.c:1126
 msgid "select handling of signed tags"
 msgstr "chọn điều khiển của thẻ đã ký"
 
-#: builtin/fast-export.c:1089
+#: builtin/fast-export.c:1129
 msgid "select handling of tags that tag filtered objects"
 msgstr "chọn sự xử lý của các thẻ, cái mà đánh thẻ các đối tượng được lọc ra"
 
-#: builtin/fast-export.c:1092
+#: builtin/fast-export.c:1132
+msgid "select handling of commit messages in an alternate encoding"
+msgstr ""
+"chọn bộ xử lý cho các ghi chú của lần chuyển giao theo một bộ mã thay thế"
+
+#: builtin/fast-export.c:1135
 msgid "Dump marks to this file"
 msgstr "Đổ các đánh dấu này vào tập-tin"
 
-#: builtin/fast-export.c:1094
+#: builtin/fast-export.c:1137
 msgid "Import marks from this file"
 msgstr "Nhập vào đánh dấu từ tập tin này"
 
-#: builtin/fast-export.c:1096
+#: builtin/fast-export.c:1139
 msgid "Fake a tagger when tags lack one"
 msgstr "Làm giả một cái thẻ khi thẻ bị thiếu một cái"
 
-#: builtin/fast-export.c:1098
+#: builtin/fast-export.c:1141
 msgid "Output full tree for each commit"
 msgstr "Xuất ra toàn bộ cây cho mỗi lần chuyển giao"
 
-#: builtin/fast-export.c:1100
+#: builtin/fast-export.c:1143
 msgid "Use the done feature to terminate the stream"
 msgstr "Sử dụng tính năng done để chấm dứt luồng dữ liệu"
 
-#: builtin/fast-export.c:1101
+#: builtin/fast-export.c:1144
 msgid "Skip output of blob data"
 msgstr "Bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:1102 builtin/log.c:1609
+#: builtin/fast-export.c:1145 builtin/log.c:1632
 msgid "refspec"
 msgstr "refspec"
 
-#: builtin/fast-export.c:1103
+#: builtin/fast-export.c:1146
 msgid "Apply refspec to exported refs"
 msgstr "Áp dụng refspec cho refs đã xuất"
 
-#: builtin/fast-export.c:1104
+#: builtin/fast-export.c:1147
 msgid "anonymize output"
 msgstr "kết xuất anonymize"
 
-#: builtin/fast-export.c:1106
+#: builtin/fast-export.c:1149
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 "Các cha mẹ tham chiếu cái mà k trong luồng dữ liệu fast-export bởi mã id đối "
 "tượng"
 
-#: builtin/fast-export.c:1108
+#: builtin/fast-export.c:1151
 msgid "Show original object ids of blobs/commits"
 msgstr "Hiển thị các mã id nguyên gốc của blobs/commits"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:30
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
-msgstr "git fetch [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
+msgstr "git fetch [<các tùy chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:31
 msgid "git fetch [<options>] <group>"
-msgstr "git fetch [<các-tùy-chọn>] [<nhóm>"
+msgstr "git fetch [<các tùy chọn>] [<nhóm>"
 
-#: builtin/fetch.c:30
+#: builtin/fetch.c:32
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
-msgstr "git fetch --multiple [<các-tùy-chọn>] [(<kho> | <nhóm>)…]"
+msgstr "git fetch --multiple [<các tùy chọn>] [(<kho> | <nhóm>)…]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:33
 msgid "git fetch --all [<options>]"
-msgstr "git fetch --all [<các-tùy-chọn>]"
+msgstr "git fetch --all [<các tùy chọn>]"
 
-#: builtin/fetch.c:115 builtin/pull.c:202
+#: builtin/fetch.c:125 builtin/pull.c:203
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:117 builtin/pull.c:205
+#: builtin/fetch.c:127 builtin/pull.c:206
 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:119 builtin/pull.c:208
+#: builtin/fetch.c:129 builtin/pull.c:209
 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:120
+#: builtin/fetch.c:130
 msgid "force overwrite of local reference"
 msgstr "ép buộc ghi đè lên tham chiếu nội bộ"
 
-#: builtin/fetch.c:122
+#: builtin/fetch.c:132
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:124 builtin/pull.c:212
+#: builtin/fetch.c:134 builtin/pull.c:213
 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:126
+#: builtin/fetch.c:136
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:128
+#: builtin/fetch.c:138
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:130 builtin/pull.c:215
+#: builtin/fetch.c:140 builtin/pull.c:216
 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:132
+#: builtin/fetch.c:142
 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:133 builtin/fetch.c:156 builtin/pull.c:139
+#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:134
+#: builtin/fetch.c:144
 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:138 builtin/pull.c:223
+#: builtin/fetch.c:148 builtin/pull.c:224
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:140
+#: builtin/fetch.c:150
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:143 builtin/fetch.c:149 builtin/pull.c:226
+#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:145
+#: builtin/fetch.c:155
 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:151 builtin/pull.c:229
+#: builtin/fetch.c:161 builtin/pull.c:230
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:154
+#: builtin/fetch.c:164
 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:157
+#: builtin/fetch.c:167
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -12387,98 +12802,129 @@ 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:161 builtin/pull.c:232
+#: builtin/fetch.c:171 builtin/pull.c:233
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:162 builtin/pull.c:234
+#: builtin/fetch.c:172 builtin/pull.c:235
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:163 builtin/pull.c:235
+#: builtin/fetch.c:173 builtin/pull.c:236
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:170
+#: builtin/fetch.c:180
 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:469
+#: builtin/fetch.c:183
+msgid "run 'gc --auto' after fetching"
+msgstr "chạy 'gc --auto' sau khi lấy về"
+
+#: builtin/fetch.c:185 builtin/pull.c:245
+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:491
 msgid "Couldn't find remote ref HEAD"
 msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD"
 
-#: builtin/fetch.c:608
+#: builtin/fetch.c:630
 #, 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:705
+#: builtin/fetch.c:728
 #, c-format
 msgid "object %s not found"
 msgstr "không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:709
+#: builtin/fetch.c:732
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:722 builtin/fetch.c:738 builtin/fetch.c:801
+#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:723
+#: builtin/fetch.c:746
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:733
+#: builtin/fetch.c:756
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:734 builtin/fetch.c:771 builtin/fetch.c:784
-#: builtin/fetch.c:796
+#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816
+#: builtin/fetch.c:828
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:738
+#: builtin/fetch.c:761
 msgid "would clobber existing tag"
 msgstr "nên xóa chồng các thẻ có sẵn"
 
-#: builtin/fetch.c:760
+#: builtin/fetch.c:783
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:763
+#: builtin/fetch.c:786
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:766
+#: builtin/fetch.c:789
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:796
+#: builtin/fetch.c:828
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:801
+#: builtin/fetch.c:833
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:847
+#: builtin/fetch.c:854
+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"
+"flag or run 'git config fetch.showForcedUpdates true'."
+msgstr ""
+"Việc lấy về thường chỉ ra các nhánh buộc phải cập nhật,\n"
+"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:858
+#, c-format
+msgid ""
+"It took %.2f seconds to check forced updates. You can use\n"
+"'--no-show-forced-updates' or run 'git config fetch.showForcedUpdates "
+"false'\n"
+" to avoid this check.\n"
+msgstr ""
+"Việc này cần %.2f giây để kiểm tra các cập nhật ép buộc. Bạn có thể dùng\n"
+"'--no-show-forced-updates' hoặc chạy 'git config fetch.showForcedUpdates "
+"false'\n"
+"để tránh kiểm tra này.\n"
+
+#: builtin/fetch.c:888
 #, 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:868
+#: builtin/fetch.c:909
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr "từ chối %s bởi vì các gốc nông thì không được phép cập nhật"
 
-#: builtin/fetch.c:959 builtin/fetch.c:1081
+#: builtin/fetch.c:1000 builtin/fetch.c:1131
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:970
+#: builtin/fetch.c:1011
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -12487,52 +12933,52 @@ 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:1051
+#: builtin/fetch.c:1101
 #, 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:1052
+#: builtin/fetch.c:1102
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1084
+#: builtin/fetch.c:1134
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1085 builtin/remote.c:1036
+#: builtin/fetch.c:1135 builtin/remote.c:1036
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1108
+#: builtin/fetch.c:1158
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Từ chối việc lấy vào trong nhánh hiện tại %s của một kho chứa không phải kho "
 "trần (bare)"
 
-#: builtin/fetch.c:1127
+#: builtin/fetch.c:1177
 #, 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:1130
+#: builtin/fetch.c:1180
 #, 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:1434
+#: builtin/fetch.c:1484
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1436 builtin/remote.c:100
+#: builtin/fetch.c:1486 builtin/remote.c:100
 #, c-format
 msgid "Could not fetch %s"
 msgstr "Không thể lấy“%s” về"
 
-#: builtin/fetch.c:1482
+#: builtin/fetch.c:1532
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialClone"
@@ -12540,7 +12986,7 @@ 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:1506
+#: builtin/fetch.c:1556
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -12548,44 +12994,44 @@ 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:1543
+#: builtin/fetch.c:1593
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1594
+#: builtin/fetch.c:1644
 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:1596
+#: builtin/fetch.c:1646
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "Các tùy chọn--deepen và --depth loại từ lẫn nhau"
 
-#: builtin/fetch.c:1601
+#: builtin/fetch.c:1651
 msgid "--depth and --unshallow cannot be used together"
 msgstr "tùy chọn --depth và --unshallow không thể sử dụng cùng với nhau"
 
-#: builtin/fetch.c:1603
+#: builtin/fetch.c:1653
 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:1619
+#: builtin/fetch.c:1669
 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:1621
+#: builtin/fetch.c:1671
 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:1630
+#: builtin/fetch.c:1680
 #, 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:1637
+#: builtin/fetch.c:1687
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr "Việc lấy về cả một nhóm và chỉ định refspecs không hợp lý"
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1703
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -12622,7 +13068,7 @@ msgstr "tập tin để đọc dữ liệu từ đó"
 
 #: builtin/for-each-ref.c:10
 msgid "git for-each-ref [<options>] [<pattern>]"
-msgstr "git for-each-ref [<các-tùy-chọn>] [<mẫu>]"
+msgstr "git for-each-ref [<các tùy chọn>] [<mẫu>]"
 
 #: builtin/for-each-ref.c:11
 msgid "git for-each-ref [--points-at <object>]"
@@ -12658,7 +13104,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:39 builtin/tag.c:433
+#: builtin/for-each-ref.c:39 builtin/tag.c:439
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
@@ -12826,7 +13272,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:705 builtin/index-pack.c:841
+#: builtin/fsck.c:705 builtin/index-pack.c:842
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
@@ -12861,7 +13307,7 @@ msgstr "non-tree trong cache-tree"
 
 #: builtin/fsck.c:781
 msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<các-tùy-chọn>] [<đối-tượng>…]"
+msgstr "git fsck [<các tùy chọn>] [<đối-tượng>…]"
 
 #: builtin/fsck.c:787
 msgid "show unreachable objects"
@@ -12911,7 +13357,7 @@ msgstr "hiển thị quá trình"
 msgid "show verbose names for reachable objects"
 msgstr "hiển thị tên chi tiết cho các đối tượng đọc được"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:224
+#: builtin/fsck.c:859 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
@@ -12927,7 +13373,7 @@ msgstr "tham số không hợp lệ: cần sha1, nhưng lại nhận được 
 
 #: builtin/gc.c:34
 msgid "git gc [<options>]"
-msgstr "git gc [<các-tùy-chọn>]"
+msgstr "git gc [<các tùy chọn>]"
 
 #: builtin/gc.c:90
 #, c-format
@@ -12944,7 +13390,7 @@ msgstr "gặp lỗi khi phân tích “%s” giá trị “%s”"
 msgid "cannot stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:519
+#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
@@ -13019,7 +13465,7 @@ msgstr ""
 "gc đang được thực hiện trên máy “%s” pid %<PRIuMAX> (dùng --force nếu không "
 "phải thế)"
 
-#: builtin/gc.c:693
+#: builtin/gc.c:695
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -13028,7 +13474,7 @@ msgstr ""
 
 #: builtin/grep.c:29
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
-msgstr "git grep [<các-tùy-chọn>] [-e] <mẫu> [<rev>…] [[--] <đường-dẫn>…]"
+msgstr "git grep [<các tùy chọn>] [-e] <mẫu> [<rev>…] [[--] </đường/dẫn>…]"
 
 #: builtin/grep.c:225
 #, c-format
@@ -13044,259 +13490,259 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:287 builtin/index-pack.c:1514 builtin/index-pack.c:1705
-#: builtin/pack-objects.c:2720
+#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727
+#: builtin/pack-objects.c:2728
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
 
-#: builtin/grep.c:466 builtin/grep.c:590 builtin/grep.c:631
+#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "không thể đọc cây (%s)"
 
-#: builtin/grep.c:646
+#: builtin/grep.c:648
 #, 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:712
+#: builtin/grep.c:714
 #, 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:811
+#: builtin/grep.c:813
 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:813
+#: builtin/grep.c:815
 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:815
+#: builtin/grep.c:817
 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:817
+#: builtin/grep.c:819
 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:819
+#: builtin/grep.c:821
 msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:822
+#: builtin/grep.c:824
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:826
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:828
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:830
 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:830
+#: builtin/grep.c:832
 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:833
+#: builtin/grep.c:835
 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:835
+#: builtin/grep.c:837
 msgid "search in subdirectories (default)"
 msgstr "tìm kiếm trong thư mục con (mặc định)"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:839
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:844
+#: builtin/grep.c:846
 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:847
+#: builtin/grep.c:849
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:850
+#: builtin/grep.c:852
 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:853
+#: builtin/grep.c:855
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:854
+#: builtin/grep.c:856
 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:855
+#: builtin/grep.c:857
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:858
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:860
 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:860
+#: builtin/grep.c:862
 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:862
+#: builtin/grep.c:864
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:867
 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:867
+#: builtin/grep.c:869
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:872
 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:872
+#: builtin/grep.c:874
 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:873
+#: builtin/grep.c:875
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:877
 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:877
+#: builtin/grep.c:879
 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:880
+#: builtin/grep.c:882
 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:883
+#: builtin/grep.c:885
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:887
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:889
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:890
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:891
+#: builtin/grep.c:893
 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:893
+#: builtin/grep.c:895
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:896
+#: builtin/grep.c:898
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:900
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:902
 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:912
+#: builtin/grep.c:914
 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:914
+#: builtin/grep.c:916
 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:916
+#: builtin/grep.c:918
 msgid "show parse tree for grep expression"
 msgstr "hiển thị cây phân tích cú pháp cho biểu thức “grep” (tìm kiếm)"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:920
+#: builtin/grep.c:922
 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:924
+#: builtin/grep.c:926
 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:988
+#: builtin/grep.c:990
 msgid "no pattern given"
 msgstr "chưa chỉ ra mẫu"
 
-#: builtin/grep.c:1024
+#: builtin/grep.c:1026
 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:1032
+#: builtin/grep.c:1034
 #, 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:1063
+#: builtin/grep.c:1065
 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:1066 builtin/pack-objects.c:3403
+#: builtin/grep.c:1068 builtin/pack-objects.c:3416
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1069 builtin/index-pack.c:1511 builtin/pack-objects.c:2717
+#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1092
+#: builtin/grep.c:1094
 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:1115
+#: builtin/grep.c:1117
 msgid "option not supported with --recurse-submodules"
 msgstr "tùy chọn không được hỗ trợ với --recurse-submodules"
 
-#: builtin/grep.c:1121
+#: builtin/grep.c:1123
 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:1127
+#: builtin/grep.c:1129
 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:1135
+#: builtin/grep.c:1137
 msgid "both --cached and trees are given"
 msgstr "cả hai --cached và các cây phải được chỉ ra"
 
@@ -13312,10 +13758,6 @@ msgstr ""
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:98
-msgid "type"
-msgstr "kiểu"
-
 #: builtin/hash-object.c:98
 msgid "object type"
 msgstr "kiểu đối tượng"
@@ -13431,12 +13873,12 @@ msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu
 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:434 builtin/help.c:445 git.c:335
+#: builtin/help.c:434 builtin/help.c:445 git.c:336
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:448 git.c:364
+#: builtin/help.c:448 git.c:365
 #, c-format
 msgid "bad alias.%s string: %s"
 msgstr "chuỗi alias.%s sai: %s"
@@ -13450,284 +13892,279 @@ msgstr "cách dùng: %s%s"
 msgid "'git help config' for more information"
 msgstr "Chạy lệnh “git help config” để có thêm thông tin"
 
-#: builtin/index-pack.c:184
+#: builtin/index-pack.c:185
 #, c-format
 msgid "object type mismatch at %s"
 msgstr "kiểu đối tượng không khớp tại %s"
 
-#: builtin/index-pack.c:204
+#: builtin/index-pack.c:205
 #, c-format
 msgid "did not receive expected object %s"
 msgstr "không thể lấy về đối tượng cần %s"
 
-#: builtin/index-pack.c:207
+#: builtin/index-pack.c:208
 #, c-format
 msgid "object %s: expected type %s, found %s"
 msgstr "đối tượng %s: cần kiểu %s nhưng lại nhận được %s"
 
-#: builtin/index-pack.c:257
+#: builtin/index-pack.c:258
 #, c-format
 msgid "cannot fill %d byte"
 msgid_plural "cannot fill %d bytes"
 msgstr[0] "không thể điền thêm vào %d byte"
 
-#: builtin/index-pack.c:267
+#: builtin/index-pack.c:268
 msgid "early EOF"
 msgstr "gặp kết thúc tập tin EOF quá sớm"
 
-#: builtin/index-pack.c:268
+#: builtin/index-pack.c:269
 msgid "read error on input"
 msgstr "lỗi đọc ở đầu vào"
 
-#: builtin/index-pack.c:280
+#: builtin/index-pack.c:281
 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:287 builtin/pack-objects.c:600
+#: builtin/index-pack.c:288 builtin/pack-objects.c:604
 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:290 builtin/unpack-objects.c:94
+#: builtin/index-pack.c:291 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
-#: builtin/index-pack.c:305 builtin/repack.c:250
-#, c-format
-msgid "unable to create '%s'"
-msgstr "không thể tạo “%s”"
-
-#: builtin/index-pack.c:311
+#: builtin/index-pack.c:312
 #, c-format
 msgid "cannot open packfile '%s'"
 msgstr "không thể mở packfile “%s”"
 
-#: builtin/index-pack.c:325
+#: builtin/index-pack.c:326
 msgid "pack signature mismatch"
 msgstr "chữ ký cho gói không khớp"
 
-#: builtin/index-pack.c:327
+#: builtin/index-pack.c:328
 #, c-format
 msgid "pack version %<PRIu32> unsupported"
 msgstr "không hỗ trợ phiên bản gói %<PRIu32>"
 
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:346
 #, 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:465
+#: builtin/index-pack.c:466
 #, c-format
 msgid "inflate returned %d"
 msgstr "xả nén trả về %d"
 
-#: builtin/index-pack.c:514
+#: builtin/index-pack.c:515
 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:522
+#: builtin/index-pack.c:523
 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:530
+#: builtin/index-pack.c:531
 #, c-format
 msgid "unknown object type %d"
 msgstr "không hiểu kiểu đối tượng %d"
 
-#: builtin/index-pack.c:561
+#: builtin/index-pack.c:562
 msgid "cannot pread pack file"
 msgstr "không thể chạy hàm pread cho tập tin gói"
 
-#: builtin/index-pack.c:563
+#: builtin/index-pack.c:564
 #, 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:589
+#: builtin/index-pack.c:590
 msgid "serious inflate inconsistency"
 msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 
-#: builtin/index-pack.c:734 builtin/index-pack.c:740 builtin/index-pack.c:763
-#: builtin/index-pack.c:802 builtin/index-pack.c:811
+#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764
+#: builtin/index-pack.c:803 builtin/index-pack.c:812
 #, c-format
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:737 builtin/pack-objects.c:153
-#: builtin/pack-objects.c:213 builtin/pack-objects.c:307
+#: builtin/index-pack.c:738 builtin/pack-objects.c:157
+#: builtin/pack-objects.c:217 builtin/pack-objects.c:311
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
 
-#: builtin/index-pack.c:800
+#: builtin/index-pack.c:801
 #, 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:808
+#: builtin/index-pack.c:809
 #, 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:822
+#: builtin/index-pack.c:823
 #, c-format
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:825 builtin/index-pack.c:844
+#: builtin/index-pack.c:826 builtin/index-pack.c:845
 msgid "fsck error in packed object"
 msgstr "lỗi fsck trong đối tượng đóng gói"
 
-#: builtin/index-pack.c:846
+#: builtin/index-pack.c:847
 #, 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:918 builtin/index-pack.c:949
+#: builtin/index-pack.c:919 builtin/index-pack.c:950
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1117
+#: builtin/index-pack.c:1118
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1151
+#: builtin/index-pack.c:1152
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1156
+#: builtin/index-pack.c:1157
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1159
+#: builtin/index-pack.c:1160
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1171
+#: builtin/index-pack.c:1172
 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:1194
+#: builtin/index-pack.c:1195
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1204 builtin/pack-objects.c:2489
+#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1245
+#: builtin/index-pack.c:1246
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1251
+#: builtin/index-pack.c:1252
 #, 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:1263
+#: builtin/index-pack.c:1264
 #, 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:1267
+#: builtin/index-pack.c:1268
 #, 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:1291
+#: builtin/index-pack.c:1292
 #, 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:1368
+#: builtin/index-pack.c:1388
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1382
+#: builtin/index-pack.c:1402
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "tên tập tin tập tin gói “%s” không được kết thúc bằng đuôi “.pack”"
 
-#: builtin/index-pack.c:1407
+#: builtin/index-pack.c:1427
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "không thể ghi %s tập tin “%s”"
 
-#: builtin/index-pack.c:1415
+#: builtin/index-pack.c:1435
 #, 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:1439
+#: builtin/index-pack.c:1459
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1453
+#: builtin/index-pack.c:1473
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1461
+#: builtin/index-pack.c:1481
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1505 builtin/pack-objects.c:2728
+#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1573
+#: builtin/index-pack.c:1593
 #, 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:1575
+#: builtin/index-pack.c:1595
 #, 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:1623
+#: builtin/index-pack.c:1643
 #, 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:1630
+#: builtin/index-pack.c:1650
 #, 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:1667
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1716 builtin/index-pack.c:1719
-#: builtin/index-pack.c:1735 builtin/index-pack.c:1739
+#: builtin/index-pack.c:1738 builtin/index-pack.c:1741
+#: builtin/index-pack.c:1757 builtin/index-pack.c:1761
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1755
+#: builtin/index-pack.c:1777
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin không thể được dùng mà không có --stdin"
 
-#: builtin/index-pack.c:1757
+#: builtin/index-pack.c:1779
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1763
+#: builtin/index-pack.c:1785
 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:1811 builtin/unpack-objects.c:580
+#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
@@ -13822,17 +14259,17 @@ msgstr "các quyền"
 msgid "specify that the git repository is to be shared amongst several users"
 msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiều người dùng"
 
-#: builtin/init-db.c:526 builtin/init-db.c:531
+#: builtin/init-db.c:529 builtin/init-db.c:534
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "không thể mkdir (tạo thư mục): %s"
 
-#: builtin/init-db.c:535
+#: builtin/init-db.c:538
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:556
+#: builtin/init-db.c:559
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -13841,12 +14278,12 @@ msgstr ""
 "%s (hoặc --work-tree=<thư-mục>) không cho phép không chỉ định %s (hoặc --git-"
 "dir=<thư-mục>)"
 
-#: builtin/init-db.c:584
+#: builtin/init-db.c:587
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "Không thể truy cập cây (tree) làm việc “%s”"
 
-#: builtin/interpret-trailers.c:15
+#: builtin/interpret-trailers.c:16
 msgid ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<token>[(=|:)<value>])...] [<file>...]"
@@ -13854,177 +14291,177 @@ msgstr ""
 "git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
 "<thẻ>[(=|:)<giá-trị>])…] [<tập-tin>…]"
 
-#: builtin/interpret-trailers.c:94
+#: builtin/interpret-trailers.c:95
 msgid "edit files in place"
 msgstr "sửa các tập tin tại chỗ"
 
-#: builtin/interpret-trailers.c:95
+#: builtin/interpret-trailers.c:96
 msgid "trim empty trailers"
 msgstr "bộ dò vết cắt bỏ phần trống rỗng"
 
-#: builtin/interpret-trailers.c:98
+#: builtin/interpret-trailers.c:99
 msgid "where to place the new trailer"
 msgstr "đặt phần đuôi mới ở đâu"
 
-#: builtin/interpret-trailers.c:100
+#: builtin/interpret-trailers.c:101
 msgid "action if trailer already exists"
 msgstr "thao tác khi đã có phần đuôi"
 
-#: builtin/interpret-trailers.c:102
+#: builtin/interpret-trailers.c:103
 msgid "action if trailer is missing"
 msgstr "thao tác khi thiếu phần đuôi"
 
-#: builtin/interpret-trailers.c:104
+#: builtin/interpret-trailers.c:105
 msgid "output only the trailers"
 msgstr "chỉ xuất phần đuôi"
 
-#: builtin/interpret-trailers.c:105
+#: builtin/interpret-trailers.c:106
 msgid "do not apply config rules"
 msgstr "đừng áp dụng các quy tắc cấu hình"
 
-#: builtin/interpret-trailers.c:106
+#: builtin/interpret-trailers.c:107
 msgid "join whitespace-continued values"
 msgstr "nối các giá trị khoảng-trắng-liên-tiếp"
 
-#: builtin/interpret-trailers.c:107
+#: builtin/interpret-trailers.c:108
 msgid "set parsing options"
 msgstr "đặt các tùy chọn phân tích cú pháp"
 
-#: builtin/interpret-trailers.c:109
+#: builtin/interpret-trailers.c:110
 msgid "do not treat --- specially"
 msgstr "không coi --- là đặc biệt"
 
-#: builtin/interpret-trailers.c:110
+#: builtin/interpret-trailers.c:111
 msgid "trailer"
 msgstr "bộ dò vết"
 
-#: builtin/interpret-trailers.c:111
+#: builtin/interpret-trailers.c:112
 msgid "trailer(s) to add"
 msgstr "bộ dò vết cần thêm"
 
-#: builtin/interpret-trailers.c:120
+#: builtin/interpret-trailers.c:123
 msgid "--trailer with --only-input does not make sense"
 msgstr "--trailer cùng với --only-input không hợp lý"
 
-#: builtin/interpret-trailers.c:130
+#: builtin/interpret-trailers.c:133
 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:55
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
-msgstr "git log [<các-tùy-chọn>] [<vùng-xem-xét>] [[--] <đường-dẫn>…]"
+msgstr "git log [<các tùy chọn>] [<vùng-xem-xét>] [[--] </đường/dẫn>…]"
 
 #: builtin/log.c:56
 msgid "git show [<options>] <object>..."
-msgstr "git show [<các-tùy-chọn>] <đối-tượng>…"
+msgstr "git show [<các tùy chọn>] <đối-tượng>…"
 
-#: builtin/log.c:104
+#: builtin/log.c:109
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn--decorate không hợp lệ: %s"
 
-#: builtin/log.c:168
+#: builtin/log.c:173
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:169
+#: builtin/log.c:174
 msgid "Use mail map file"
 msgstr "Sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:171
+#: builtin/log.c:176
 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:173
+#: builtin/log.c:178
 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:174
+#: builtin/log.c:179
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:177
+#: builtin/log.c:182
 msgid "Process line range n,m in file, counting from 1"
 msgstr "Xử lý chỉ dòng vùng n,m trong tập tin, tính từ 1"
 
-#: builtin/log.c:275
+#: builtin/log.c:280
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:529
+#: builtin/log.c:534
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:544 builtin/log.c:638
+#: builtin/log.c:549 builtin/log.c:643
 #, c-format
 msgid "could not read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/log.c:663
+#: builtin/log.c:668
 #, c-format
 msgid "unknown type: %d"
 msgstr "không nhận ra kiểu: %d"
 
-#: builtin/log.c:784
+#: builtin/log.c:791
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:885
+#: builtin/log.c:908
 msgid "name of output directory is too long"
 msgstr "tên của thư mục kết xuất quá dài"
 
-#: builtin/log.c:901
+#: builtin/log.c:924
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:918
+#: builtin/log.c:941
 msgid "need exactly one range"
 msgstr "cần chính xác một vùng"
 
-#: builtin/log.c:928
+#: builtin/log.c:951
 msgid "not a range"
 msgstr "không phải là một vùng"
 
-#: builtin/log.c:1051
+#: builtin/log.c:1074
 msgid "cover letter needs email format"
 msgstr "“cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1057
+#: builtin/log.c:1080
 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:1136
+#: builtin/log.c:1159
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1163
+#: builtin/log.c:1186
 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>]"
+msgstr "git format-patch [<các tùy chọn>] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1221
+#: builtin/log.c:1244
 msgid "two output directories?"
 msgstr "hai thư mục kết xuất?"
 
-#: builtin/log.c:1332 builtin/log.c:2076 builtin/log.c:2078 builtin/log.c:2090
+#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113
 #, c-format
 msgid "unknown commit %s"
 msgstr "không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1342 builtin/replace.c:58 builtin/replace.c:207
+#: builtin/log.c:1365 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:1347
+#: builtin/log.c:1370
 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:1351
+#: builtin/log.c:1374
 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"
@@ -14035,275 +14472,271 @@ 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:1371
+#: builtin/log.c:1394
 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:1382
+#: builtin/log.c:1405
 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:1386
+#: builtin/log.c:1409
 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:1439
+#: builtin/log.c:1462
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1514
 msgid "failed to infer range-diff ranges"
 msgstr "gặp lỗi khi suy luận range-diff (vùng khác biệt)"
 
-#: builtin/log.c:1536
+#: builtin/log.c:1559
 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:1539
+#: builtin/log.c:1562
 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:1543
+#: builtin/log.c:1566
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1545
+#: builtin/log.c:1568
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1547
+#: builtin/log.c:1570
 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:1548
+#: builtin/log.c:1571
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1549
+#: builtin/log.c:1572
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1551
+#: builtin/log.c:1574
 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:1553
+#: builtin/log.c:1576
 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:1555
+#: builtin/log.c:1578
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "Dùng [RFC VÁ] thay cho [VÁ]"
 
-#: builtin/log.c:1558
+#: builtin/log.c:1581
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1561
+#: builtin/log.c:1584
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1564
+#: builtin/log.c:1587
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1567
+#: builtin/log.c:1590
 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:1569
+#: builtin/log.c:1592
 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:1571
+#: builtin/log.c:1594
 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:1573
+#: builtin/log.c:1596
 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:1575
+#: builtin/log.c:1598
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1576
+#: builtin/log.c:1599
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1577
+#: builtin/log.c:1600
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1578 builtin/log.c:1580
+#: builtin/log.c:1601 builtin/log.c:1603
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1601
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1580
+#: builtin/log.c:1603
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1582
+#: builtin/log.c:1605
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1583
+#: builtin/log.c:1606
 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:1585
+#: builtin/log.c:1608
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1586
+#: builtin/log.c:1609
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1587 builtin/log.c:1590
+#: builtin/log.c:1610 builtin/log.c:1613
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1588
+#: builtin/log.c:1611
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1591
+#: builtin/log.c:1614
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1595
+#: builtin/log.c:1618
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1597
+#: builtin/log.c:1620
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1621
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1622
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1623
 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:1602
+#: builtin/log.c:1625
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1603
+#: builtin/log.c:1626
 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:1605
+#: builtin/log.c:1628
 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:1606
-msgid "rev"
-msgstr "rev"
-
-#: builtin/log.c:1607
+#: builtin/log.c:1630
 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:1610
+#: builtin/log.c:1633
 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:1612
+#: builtin/log.c:1635
 msgid "percentage by which creation is weighted"
 msgstr "tỷ lệ phần trăm theo cái tạo là weighted"
 
-#: builtin/log.c:1687
+#: builtin/log.c:1710
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/log.c:1702
+#: builtin/log.c:1725
 msgid "-n and -k are mutually exclusive"
 msgstr "-n và  -k loại từ lẫn nhau"
 
-#: builtin/log.c:1704
+#: builtin/log.c:1727
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc và -k xung khắc nhau"
 
-#: builtin/log.c:1712
+#: builtin/log.c:1735
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1714
+#: builtin/log.c:1737
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1716
+#: builtin/log.c:1739
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1748
+#: builtin/log.c:1771
 msgid "standard output, or directory, which one?"
 msgstr "đầu ra chuẩn, hay thư mục, chọn cái nào?"
 
-#: builtin/log.c:1837
+#: builtin/log.c:1860
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff cần --cover-letter hoặc vá đơn"
 
-#: builtin/log.c:1841
+#: builtin/log.c:1864
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:1842
+#: builtin/log.c:1865
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff dựa trên v%d:"
 
-#: builtin/log.c:1848
+#: builtin/log.c:1871
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor yêu cầu --range-diff"
 
-#: builtin/log.c:1852
+#: builtin/log.c:1875
 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:1860
+#: builtin/log.c:1883
 msgid "Range-diff:"
 msgstr "Range-diff:"
 
-#: builtin/log.c:1861
+#: builtin/log.c:1884
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-diff dựa trên v%d:"
 
-#: builtin/log.c:1872
+#: builtin/log.c:1895
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1908
+#: builtin/log.c:1931
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:1952
+#: builtin/log.c:1975
 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:2011
+#: builtin/log.c:2034
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:2065
+#: builtin/log.c:2088
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -14313,7 +14746,7 @@ msgstr ""
 
 #: builtin/ls-files.c:470
 msgid "git ls-files [<options>] [<file>...]"
-msgstr "git ls-files [<các-tùy-chọn>] [<tập-tin>…]"
+msgstr "git ls-files [<các tùy chọn>] [<tập-tin>…]"
 
 #: builtin/ls-files.c:526
 msgid "identify the file status with tags"
@@ -14432,7 +14865,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "không hiển thị URL máy chủ"
 
-#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1458
+#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464
 msgid "exec"
 msgstr "thực thi"
 
@@ -14466,7 +14899,7 @@ msgstr "hiển thị tham chiếu nằm dưới để thêm vào đối tượng
 
 #: builtin/ls-tree.c:30
 msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
-msgstr "git ls-tree [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>…]"
+msgstr "git ls-tree [<các tùy chọn>] <tree-ish> [</đường/dẫn>…]"
 
 #: builtin/ls-tree.c:128
 msgid "only show trees"
@@ -14505,189 +14938,193 @@ msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ 
 msgid "empty mbox: '%s'"
 msgstr "mbox trống rỗng: “%s”"
 
-#: builtin/merge.c:54
+#: builtin/merge.c:55
 msgid "git merge [<options>] [<commit>...]"
-msgstr "git merge [<các-tùy-chọn>] [<commit>…]"
+msgstr "git merge [<các tùy chọn>] [<commit>…]"
 
-#: builtin/merge.c:55
+#: builtin/merge.c:56
 msgid "git merge --abort"
 msgstr "git merge --abort"
 
-#: builtin/merge.c:56
+#: builtin/merge.c:57
 msgid "git merge --continue"
 msgstr "git merge --continue"
 
-#: builtin/merge.c:116
+#: builtin/merge.c:118
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:139
+#: builtin/merge.c:141
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "tùy chọn “%s” yêu cầu một giá trị"
 
-#: builtin/merge.c:185
+#: builtin/merge.c:187
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Không tìm thấy chiến lược hòa trộn “%s”.\n"
 
-#: builtin/merge.c:186
+#: builtin/merge.c:188
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:191
+#: builtin/merge.c:193
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Các chiến lược tùy chỉnh sẵn sàng là:"
 
-#: builtin/merge.c:242 builtin/pull.c:150
+#: builtin/merge.c:244 builtin/pull.c:151
 msgid "do not show a diffstat at the end of the merge"
 msgstr "không hiển thị thống kê khác biệt tại cuối của lần hòa trộn"
 
-#: builtin/merge.c:245 builtin/pull.c:153
+#: builtin/merge.c:247 builtin/pull.c:154
 msgid "show a diffstat at the end of the merge"
 msgstr "hiển thị thống kê khác biệt tại cuối của hòa trộn"
 
-#: builtin/merge.c:246 builtin/pull.c:156
+#: builtin/merge.c:248 builtin/pull.c:157
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:248 builtin/pull.c:159
+#: builtin/merge.c:250 builtin/pull.c:160
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr "thêm (ít nhất <n>) mục từ shortlog cho ghi chú chuyển giao hòa trộn"
 
-#: builtin/merge.c:251 builtin/pull.c:165
+#: builtin/merge.c:253 builtin/pull.c:166
 msgid "create a single commit instead of doing a merge"
 msgstr "tạo một lần chuyển giao đưon thay vì thực hiện việc hòa trộn"
 
-#: builtin/merge.c:253 builtin/pull.c:168
+#: builtin/merge.c:255 builtin/pull.c:169
 msgid "perform a commit if the merge succeeds (default)"
 msgstr "thực hiện chuyển giao nếu hòa trộn thành công (mặc định)"
 
-#: builtin/merge.c:255 builtin/pull.c:171
+#: builtin/merge.c:257 builtin/pull.c:172
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:257
+#: builtin/merge.c:259
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:259 builtin/pull.c:178
+#: builtin/merge.c:261 builtin/pull.c:179
 msgid "abort if fast-forward is not possible"
 msgstr "bỏ qua nếu chuyển-tiếp-nhanh không thể được"
 
-#: builtin/merge.c:263 builtin/pull.c:181
+#: builtin/merge.c:265 builtin/pull.c:182
 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:264 builtin/notes.c:787 builtin/pull.c:185
-#: builtin/rebase.c:492 builtin/rebase.c:1471 builtin/revert.c:113
+#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186
+#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:265 builtin/pull.c:186
+#: builtin/merge.c:267 builtin/pull.c:187
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:266 builtin/pull.c:189
+#: builtin/merge.c:268 builtin/pull.c:190
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:267 builtin/pull.c:190
+#: builtin/merge.c:269 builtin/pull.c:191
 msgid "option for selected merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn đã chọn"
 
-#: builtin/merge.c:269
+#: builtin/merge.c:271
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "hòa trộn ghi chú của lần chuyển giao (dành cho hòa trộn không-chuyển-tiếp-"
 "nhanh)"
 
-#: builtin/merge.c:276
+#: builtin/merge.c:278
 msgid "abort the current in-progress merge"
 msgstr "bãi bỏ quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:280
+msgid "--abort but leave index and working tree alone"
+msgstr "--abort nhưng để lại bảng mục lục và cây làm việc"
+
+#: builtin/merge.c:282
 msgid "continue the current in-progress merge"
 msgstr "tiếp tục quá trình hòa trộn hiện tại đang thực hiện"
 
-#: builtin/merge.c:280 builtin/pull.c:197
+#: builtin/merge.c:284 builtin/pull.c:198
 msgid "allow merging unrelated histories"
 msgstr "cho phép hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:286
+#: builtin/merge.c:290
 msgid "verify commit-msg hook"
 msgstr "thẩm tra móc (hook) commit-msg"
 
-#: builtin/merge.c:311
+#: builtin/merge.c:307
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:316
+#: builtin/merge.c:312
 msgid "stash failed"
 msgstr "lệnh tạm cất gặp lỗi"
 
-#: builtin/merge.c:321
+#: builtin/merge.c:317
 #, c-format
 msgid "not a valid object: %s"
 msgstr "không phải là một đối tượng hợp lệ: %s"
 
-#: builtin/merge.c:343 builtin/merge.c:360
+#: builtin/merge.c:339 builtin/merge.c:356
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:390
+#: builtin/merge.c:386
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:401
+#: builtin/merge.c:397
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:451
+#: builtin/merge.c:447
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Không có lời chú thích hòa trộn -- nên không cập nhật HEAD\n"
 
-#: builtin/merge.c:502
+#: builtin/merge.c:498
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "“%s” không chỉ đến một lần chuyển giao nào cả"
 
-#: builtin/merge.c:589
+#: builtin/merge.c:585
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:712
+#: builtin/merge.c:708
 msgid "Not handling anything other than two heads merge."
 msgstr "Không cầm nắm gì ngoài hai head hòa trộn."
 
-#: builtin/merge.c:726
+#: builtin/merge.c:722
 #, c-format
 msgid "Unknown option for merge-recursive: -X%s"
 msgstr "Không hiểu tùy chọn cho merge-recursive: -X%s"
 
-#: builtin/merge.c:741
+#: builtin/merge.c:737
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:793
+#: builtin/merge.c:789
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:802
+#: builtin/merge.c:798
 #, c-format
 msgid "Not committing merge; use 'git commit' to complete the merge.\n"
 msgstr ""
 "Vẫn chưa hòa trộn các lần chuyển giao; sử dụng lệnh “git commit” để hoàn tất "
 "việc hòa trộn.\n"
 
-#: builtin/merge.c:808
+#: builtin/merge.c:804
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
 "especially if it merges an updated upstream into a topic branch.\n"
@@ -14699,11 +15136,11 @@ msgstr ""
 "topic.\n"
 "\n"
 
-#: builtin/merge.c:813
+#: builtin/merge.c:809
 msgid "An empty message aborts the commit.\n"
 msgstr "Nếu phần chú thích rỗng sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:816
+#: builtin/merge.c:812
 #, c-format
 msgid ""
 "Lines starting with '%c' will be ignored, and an empty message aborts\n"
@@ -14712,71 +15149,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:857
+#: builtin/merge.c:853
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:876
+#: builtin/merge.c:872
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:936
+#: builtin/merge.c:933
 #, 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:975
+#: builtin/merge.c:972
 msgid "No current branch."
 msgstr "Không phải nhánh hiện hành."
 
-#: builtin/merge.c:977
+#: builtin/merge.c:974
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:979
+#: builtin/merge.c:976
 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:984
+#: builtin/merge.c:981
 #, 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:1041
+#: builtin/merge.c:1038
 #, 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:1144
+#: builtin/merge.c:1141
 #, 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:1178
+#: builtin/merge.c:1175
 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:1281
+#: builtin/merge.c:1278
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1285
+#: builtin/merge.c:1282
 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:1297
+#: builtin/merge.c:1291
+msgid "--quit expects no arguments"
+msgstr "--quit không nhận các đối số"
+
+#: builtin/merge.c:1304
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1301
+#: builtin/merge.c:1308
 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:1317
+#: builtin/merge.c:1324
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -14784,7 +15225,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:1324
+#: builtin/merge.c:1331
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -14792,94 +15233,98 @@ 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:1327
+#: builtin/merge.c:1334
 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:1341
+#: builtin/merge.c:1348
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Bạn không thể kết hợp --squash với --no-ff."
 
-#: builtin/merge.c:1349
+#: builtin/merge.c:1350
+msgid "You cannot combine --squash with --commit."
+msgstr "Bạn không thể kết hợp --squash với --commit."
+
+#: builtin/merge.c:1366
 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:1366
+#: builtin/merge.c:1383
 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:1368
+#: builtin/merge.c:1385
 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:1373
+#: builtin/merge.c:1390
 #, 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:1375
+#: builtin/merge.c:1392
 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:1454
+#: builtin/merge.c:1471
 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:1463
+#: builtin/merge.c:1480
 msgid "Already up to date."
 msgstr "Đã cập nhật rồi."
 
-#: builtin/merge.c:1473
+#: builtin/merge.c:1490
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1515
+#: builtin/merge.c:1532
 #, 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:1522
+#: builtin/merge.c:1539
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1547
+#: builtin/merge.c:1564
 msgid "Already up to date. Yeeah!"
 msgstr "Đã cập nhật rồi. Yeeah!"
 
-#: builtin/merge.c:1553
+#: builtin/merge.c:1570
 msgid "Not possible to fast-forward, aborting."
 msgstr "Thực hiện lệnh chuyển-tiếp-nhanh là không thể được, đang bỏ qua."
 
-#: builtin/merge.c:1576 builtin/merge.c:1655
+#: builtin/merge.c:1593 builtin/merge.c:1658
 #, 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:1580
+#: builtin/merge.c:1597
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1646
+#: builtin/merge.c:1649
 #, 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:1648
+#: builtin/merge.c:1651
 #, 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:1657
+#: builtin/merge.c:1660
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Sử dụng %s để chuẩn bị giải quyết bằng tay.\n"
 
-#: builtin/merge.c:1669
+#: builtin/merge.c:1672
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -14931,7 +15376,7 @@ msgid ""
 "git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
 "<orig-file> <file2>"
 msgstr ""
-"git merge-file [<các-tùy-chọn>] [-L <tên1> [-L <gốc> [-L <tên2>]]] <tập-"
+"git merge-file [<các tùy chọn>] [-L <tên1> [-L <gốc> [-L <tên2>]]] <tập-"
 "tin1> <tập-tin-gốc> <tập-tin2>"
 
 #: builtin/merge-file.c:35
@@ -15013,25 +15458,41 @@ msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
 #: builtin/multi-pack-index.c:9
-msgid "git multi-pack-index [--object-dir=<dir>] (write|verify)"
-msgstr "git multi-pack-index [--object-dir=<thư/mục>] (write|verify)"
+msgid ""
+"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
+"batch-size=<size>)"
+msgstr ""
+"git multi-pack-index [--object-dir=<thư/mục>] (write|verify|expire|repack --"
+"batch-size=<cỡ>)"
 
-#: builtin/multi-pack-index.c:22
+#: builtin/multi-pack-index.c:23
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr "thư mục đối tượng có chứa một bộ các tập tin gói và cặp pack-index"
 
-#: builtin/multi-pack-index.c:40 builtin/prune-packed.c:67
+#: builtin/multi-pack-index.c:25
+msgid ""
+"during repack, collect pack-files of smaller size into a batch that is "
+"larger than this size"
+msgstr ""
+"trong suốt quá trình đóng gói lại, gom các tập tin gói có kích cỡ nhỏ hơn "
+"vào một bó cái mà lớn hơn kích thước này"
+
+#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67
 msgid "too many arguments"
 msgstr "có quá nhiều đối số"
 
-#: builtin/multi-pack-index.c:51
+#: builtin/multi-pack-index.c:52
+msgid "--batch-size option is only for 'repack' subcommand"
+msgstr "tùy chọn --batch-size chỉ cho lệnh con 'repack'"
+
+#: builtin/multi-pack-index.c:61
 #, c-format
-msgid "unrecognized verb: %s"
-msgstr "verb không được thừa nhận: %s"
+msgid "unrecognized subcommand: %s"
+msgstr "không hiểu câu lệnh con: %s"
 
 #: builtin/mv.c:18
 msgid "git mv [<options>] <source>... <destination>"
-msgstr "git mv [<các-tùy-chọn>] <nguồn>… <đích>"
+msgstr "git mv [<các tùy chọn>] <nguồn>… <đích>"
 
 #: builtin/mv.c:83
 #, c-format
@@ -15117,53 +15578,53 @@ 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:277 builtin/remote.c:717 builtin/repack.c:516
+#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
 
-#: builtin/name-rev.c:355
+#: builtin/name-rev.c:352
 msgid "git name-rev [<options>] <commit>..."
-msgstr "git name-rev [<các-tùy-chọn>] <commit>…"
+msgstr "git name-rev [<các tùy chọn>] <commit>…"
 
-#: builtin/name-rev.c:356
+#: builtin/name-rev.c:353
 msgid "git name-rev [<options>] --all"
-msgstr "git name-rev [<các-tùy-chọn>] --all"
+msgstr "git name-rev [<các tùy chọn>] --all"
 
-#: builtin/name-rev.c:357
+#: builtin/name-rev.c:354
 msgid "git name-rev [<options>] --stdin"
-msgstr "git name-rev [<các-tùy-chọn>] --stdin"
+msgstr "git name-rev [<các tùy chọn>] --stdin"
 
-#: builtin/name-rev.c:415
+#: builtin/name-rev.c:411
 msgid "print only names (no SHA-1)"
 msgstr "chỉ hiển thị tên (không SHA-1)"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:412
 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:418
+#: builtin/name-rev.c:414
 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:420
+#: builtin/name-rev.c:416
 msgid "ignore refs matching <pattern>"
 msgstr "bỏ qua các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:422
+#: builtin/name-rev.c:418
 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:423
+#: builtin/name-rev.c:419
 msgid "read from stdin"
 msgstr "đọc từ đầu vào tiêu chuẩn"
 
-#: builtin/name-rev.c:424
+#: builtin/name-rev.c:420
 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:430
+#: builtin/name-rev.c:426
 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ộ)"
 
@@ -15231,11 +15692,11 @@ msgstr "git notes [list [<đối tượng>]]"
 
 #: builtin/notes.c:49
 msgid "git notes add [<options>] [<object>]"
-msgstr "git notes add [<các-tùy-chọn>] [<đối-tượng>]"
+msgstr "git notes add [<các tùy chọn>] [<đối-tượng>]"
 
 #: builtin/notes.c:54
 msgid "git notes copy [<options>] <from-object> <to-object>"
-msgstr "git notes copy [<các-tùy-chọn>] <từ-đối-tượng> <đến-đối-tượng>"
+msgstr "git notes copy [<các tùy chọn>] <từ-đối-tượng> <đến-đối-tượng>"
 
 #: builtin/notes.c:55
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
@@ -15243,7 +15704,7 @@ msgstr "git notes copy --stdin [<từ-đối-tượng> <đến-đối-tượng>]
 
 #: builtin/notes.c:60
 msgid "git notes append [<options>] [<object>]"
-msgstr "git notes append [<các-tùy-chọn>] [<đối-tượng>]"
+msgstr "git notes append [<các tùy chọn>] [<đối-tượng>]"
 
 #: builtin/notes.c:65
 msgid "git notes edit [<object>]"
@@ -15255,15 +15716,15 @@ msgstr "git notes show [<đối tượng>]"
 
 #: builtin/notes.c:75
 msgid "git notes merge [<options>] <notes-ref>"
-msgstr "git notes merge [<các-tùy-chọn>] <notes-ref>"
+msgstr "git notes merge [<các tùy chọn>] <notes-ref>"
 
 #: builtin/notes.c:76
 msgid "git notes merge --commit [<options>]"
-msgstr "git notes merge --commit [<các-tùy-chọn>]"
+msgstr "git notes merge --commit [<các tùy chọn>]"
 
 #: builtin/notes.c:77
 msgid "git notes merge --abort [<options>]"
-msgstr "git notes merge --abort [<các-tùy-chọn>]"
+msgstr "git notes merge --abort [<các tùy chọn>]"
 
 #: builtin/notes.c:82
 msgid "git notes remove [<object>]"
@@ -15271,7 +15732,7 @@ msgstr "git notes remove [<đối tượng>]"
 
 #: builtin/notes.c:87
 msgid "git notes prune [<options>]"
-msgstr "git notes prune [<các-tùy-chọn>]"
+msgstr "git notes prune [<các tùy chọn>]"
 
 #: builtin/notes.c:92
 msgid "git notes get-ref"
@@ -15309,7 +15770,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:242 builtin/tag.c:522
+#: builtin/notes.c:242 builtin/tag.c:532
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
@@ -15543,7 +16004,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:897 builtin/tag.c:535
+#: builtin/notes.c:897 builtin/tag.c:545
 #, 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ệ."
@@ -15577,7 +16038,7 @@ msgstr "notes-ref"
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1611
+#: builtin/notes.c:1034 builtin/stash.c:1598
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -15586,136 +16047,136 @@ msgstr "không hiểu câu lệnh con: %s"
 msgid ""
 "git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
 msgstr ""
-"git pack-objects --stdout [các-tùy-chọn…] [< <danh-sách-tham-chiếu> | < "
+"git pack-objects --stdout [các tùy chọn…] [< <danh-sách-tham-chiếu> | < "
 "<danh-sách-đối-tượng>]"
 
 #: builtin/pack-objects.c:53
 msgid ""
 "git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
 msgstr ""
-"git pack-objects [các-tùy-chọn…] <base-name> [< <danh-sách-ref> | < <danh-"
+"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:424
+#: builtin/pack-objects.c:428
 #, 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:435
+#: builtin/pack-objects.c:439
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "đối tượng đã đóng gói sai hỏng cho %s"
 
-#: builtin/pack-objects.c:566
+#: builtin/pack-objects.c:570
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "dò thấy delta đệ quy cho đối tượng %s"
 
-#: builtin/pack-objects.c:777
+#: builtin/pack-objects.c:781
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "đã sắp xếp %u đối tượng, cần %<PRIu32>"
 
-#: builtin/pack-objects.c:790
+#: builtin/pack-objects.c:794
 #, c-format
 msgid "packfile is invalid: %s"
 msgstr "tập tin gói không hợp lệ: %s"
 
-#: builtin/pack-objects.c:794
+#: builtin/pack-objects.c:798
 #, c-format
 msgid "unable to open packfile for reuse: %s"
 msgstr "không thể mở tập tin gói để dùng lại: %s"
 
-#: builtin/pack-objects.c:798
+#: builtin/pack-objects.c:802
 msgid "unable to seek in reused packfile"
 msgstr "không thể di chuyển vị trí đọc trong tập tin gói dùng lại"
 
-#: builtin/pack-objects.c:809
+#: builtin/pack-objects.c:813
 msgid "unable to read from reused packfile"
 msgstr "không thể đọc từ tập tin gói dùng lại"
 
-#: builtin/pack-objects.c:837
+#: builtin/pack-objects.c:841
 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:850
+#: builtin/pack-objects.c:854
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:912 builtin/update-index.c:89
+#: builtin/pack-objects.c:917 builtin/update-index.c:89
 #, 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:965
+#: builtin/pack-objects.c:970
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>"
 
-#: builtin/pack-objects.c:1161
+#: builtin/pack-objects.c:1166
 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:1589
+#: builtin/pack-objects.c:1597
 #, 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:1598
+#: builtin/pack-objects.c:1606
 #, 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:1867
+#: builtin/pack-objects.c:1875
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
-#: builtin/pack-objects.c:1997
+#: builtin/pack-objects.c:2005
 #, c-format
 msgid "unable to get size of %s"
 msgstr "không thể lấy kích cỡ của %s"
 
-#: builtin/pack-objects.c:2012
+#: builtin/pack-objects.c:2020
 #, 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:2082 builtin/pack-objects.c:2098
-#: builtin/pack-objects.c:2108
+#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106
+#: builtin/pack-objects.c:2116
 #, c-format
 msgid "object %s cannot be read"
 msgstr "không thể đọc đối tượng %s"
 
-#: builtin/pack-objects.c:2085 builtin/pack-objects.c:2112
+#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120
 #, 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:2122
+#: builtin/pack-objects.c:2130
 msgid "suboptimal pack - out of memory"
 msgstr "suboptimal pack - hết bộ nhớ"
 
-#: builtin/pack-objects.c:2448
+#: builtin/pack-objects.c:2456
 #, 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:2580
+#: builtin/pack-objects.c:2588
 #, 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:2667
+#: builtin/pack-objects.c:2675
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2673
+#: builtin/pack-objects.c:2681
 msgid "inconsistency with delta count"
 msgstr "mâu thuẫn với số lượng delta"
 
-#: builtin/pack-objects.c:2754
+#: builtin/pack-objects.c:2762
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -15724,7 +16185,7 @@ msgstr ""
 "cần ID đối tượng cạnh, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:2760
+#: builtin/pack-objects.c:2768
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -15733,247 +16194,251 @@ msgstr ""
 "cần ID đối tượng, nhận được rác:\n"
 " %s"
 
-#: builtin/pack-objects.c:2858
+#: builtin/pack-objects.c:2866
 msgid "invalid value for --missing"
 msgstr "giá trị cho --missing không hợp lệ"
 
-#: builtin/pack-objects.c:2917 builtin/pack-objects.c:3025
+#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033
 msgid "cannot open pack index"
 msgstr "không thể mở mục lục của gói"
 
-#: builtin/pack-objects.c:2948
+#: builtin/pack-objects.c:2956
 #, 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:3033
+#: builtin/pack-objects.c:3041
 msgid "unable to force loose object"
 msgstr "không thể buộc mất đối tượng"
 
-#: builtin/pack-objects.c:3125
+#: builtin/pack-objects.c:3133
 #, c-format
 msgid "not a rev '%s'"
 msgstr "không phải một rev “%s”"
 
-#: builtin/pack-objects.c:3128
+#: builtin/pack-objects.c:3136
 #, c-format
 msgid "bad revision '%s'"
 msgstr "điểm xem xét sai “%s”"
 
-#: builtin/pack-objects.c:3153
+#: builtin/pack-objects.c:3161
 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:3206
+#: builtin/pack-objects.c:3214
 #, 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:3210
+#: builtin/pack-objects.c:3218
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3240
+#: builtin/pack-objects.c:3248
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:3242
+#: builtin/pack-objects.c:3250
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:3244
+#: builtin/pack-objects.c:3252
 msgid "show progress meter during object writing phase"
 msgstr "hiển thị bộ đo tiến triển trong suốt pha ghi đối tượng"
 
-#: builtin/pack-objects.c:3247
+#: builtin/pack-objects.c:3255
 msgid "similar to --all-progress when progress meter is shown"
 msgstr "tương tự --all-progress khi bộ đo tiến trình được xuất hiện"
 
-#: builtin/pack-objects.c:3248
+#: builtin/pack-objects.c:3256
 msgid "<version>[,<offset>]"
 msgstr "<phiên bản>[,offset]"
 
-#: builtin/pack-objects.c:3249
+#: builtin/pack-objects.c:3257
 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:3252
+#: builtin/pack-objects.c:3260
 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:3254
+#: builtin/pack-objects.c:3262
 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:3256
+#: builtin/pack-objects.c:3264
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:3258
+#: builtin/pack-objects.c:3266
 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:3260
+#: builtin/pack-objects.c:3268
 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:3262
+#: builtin/pack-objects.c:3270
 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:3264
+#: builtin/pack-objects.c:3272
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3274
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3276
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:3270
+#: builtin/pack-objects.c:3278
 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:3272
+#: builtin/pack-objects.c:3280
 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:3274
+#: builtin/pack-objects.c:3282
 msgid "read revision arguments from standard input"
 msgstr "đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3284
 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:3279
+#: builtin/pack-objects.c:3287
 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:3282
+#: builtin/pack-objects.c:3290
 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:3285
+#: builtin/pack-objects.c:3293
 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:3288
+#: builtin/pack-objects.c:3296
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3298
 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:3292
+#: builtin/pack-objects.c:3300
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3294
+#: builtin/pack-objects.c:3302
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3304
 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:3299
+#: builtin/pack-objects.c:3307
 msgid "use the sparse reachability algorithm"
 msgstr "dung thuật toán “sparse reachability”"
 
-#: builtin/pack-objects.c:3301
+#: builtin/pack-objects.c:3309
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:3303
+#: builtin/pack-objects.c:3311
 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:3305
+#: builtin/pack-objects.c:3313
 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:3307
+#: builtin/pack-objects.c:3315
 msgid "ignore this pack"
 msgstr "bỏ qua gói này"
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3317
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3319
 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:3313
+#: builtin/pack-objects.c:3321
 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:3315
+#: builtin/pack-objects.c:3323
 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:3318
+#: builtin/pack-objects.c:3327
+msgid "write a bitmap index if possible"
+msgstr "ghi mục lục ánh xạ nếu được"
+
+#: builtin/pack-objects.c:3331
 msgid "handling for missing objects"
 msgstr "xử lý cho thiếu đối tượng"
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3334
 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:3323
+#: builtin/pack-objects.c:3336
 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:3348
+#: builtin/pack-objects.c:3361
 #, 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:3353
+#: builtin/pack-objects.c:3366
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d"
 
-#: builtin/pack-objects.c:3407
+#: builtin/pack-objects.c:3420
 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:3409
+#: builtin/pack-objects.c:3422
 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:3414
+#: builtin/pack-objects.c:3427
 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:3417
+#: builtin/pack-objects.c:3430
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable và --unpack-unreachable xung khắc nhau"
 
-#: builtin/pack-objects.c:3423
+#: builtin/pack-objects.c:3436
 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:3484
+#: builtin/pack-objects.c:3497
 msgid "Enumerating objects"
 msgstr "Đánh số các đối tượng"
 
-#: builtin/pack-objects.c:3514
+#: builtin/pack-objects.c:3527
 #, c-format
 msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
 msgstr "Tổng %<PRIu32> (delta %<PRIu32>), dùng lại %<PRIu32> (delta %<PRIu32>)"
 
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<các-tùy-chọn>]"
+msgstr "git pack-refs [<các tùy chọn>]"
 
 #: builtin/pack-refs.c:16
 msgid "pack everything"
@@ -16018,46 +16483,46 @@ msgstr "Giá trị không hợp lệ %s: %s"
 
 #: builtin/pull.c:88
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
-msgstr "git pull [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
+msgstr "git pull [<các tùy chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/pull.c:140
+#: builtin/pull.c:141
 msgid "control for recursive fetching of submodules"
 msgstr "điều khiển việc lấy về đệ quy của các mô-đun-con"
 
-#: builtin/pull.c:144
+#: builtin/pull.c:145
 msgid "Options related to merging"
 msgstr "Các tùy chọn liên quan đến hòa trộn"
 
-#: builtin/pull.c:147
+#: builtin/pull.c:148
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:175 builtin/rebase.c:447 builtin/revert.c:125
+#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
-#: builtin/pull.c:184
+#: builtin/pull.c:185
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "tự động stash/stash pop tước và sau tu bổ (rebase)"
 
-#: builtin/pull.c:200
+#: builtin/pull.c:201
 msgid "Options related to fetching"
 msgstr "Các tùy chọn liên quan đến lệnh lấy về"
 
-#: builtin/pull.c:210
+#: builtin/pull.c:211
 msgid "force overwrite of local branch"
 msgstr "ép buộc ghi đè lên nhánh nội bộ"
 
-#: builtin/pull.c:218
+#: builtin/pull.c:219
 msgid "number of submodules pulled in parallel"
 msgstr "số lượng mô-đun-con được đẩy lên đồng thời"
 
-#: builtin/pull.c:313
+#: builtin/pull.c:316
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Giá trị không hợp lệ cho pull.ff: %s"
 
-#: builtin/pull.c:430
+#: builtin/pull.c:433
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -16065,14 +16530,14 @@ msgstr ""
 "Ở đây không có ứng cử nào để cải tổ lại trong số các tham chiếu mà bạn vừa "
 "lấy về."
 
-#: builtin/pull.c:432
+#: builtin/pull.c:435
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Ở đây không có ứng cử nào để hòa trộn trong số các tham chiếu mà bạn vừa lấy "
 "về."
 
-#: builtin/pull.c:433
+#: builtin/pull.c:436
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -16081,7 +16546,7 @@ msgstr ""
 "tự\n"
 "đại diện mà nó lại không khớp trên điểm cuối máy phục vụ."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:439
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -16093,43 +16558,43 @@ 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:441 builtin/rebase.c:1321 git-parse-remote.sh:73
+#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Hiện tại bạn chẳng ở nhánh nào cả."
 
-#: builtin/pull.c:443 builtin/pull.c:458 git-parse-remote.sh:79
+#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn cải tổ lại."
 
-#: builtin/pull.c:445 builtin/pull.c:460 git-parse-remote.sh:82
+#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "Vui lòng chỉ định nhánh nào bạn muốn hòa trộn vào."
 
-#: builtin/pull.c:446 builtin/pull.c:461
+#: builtin/pull.c:449 builtin/pull.c:464
 msgid "See git-pull(1) for details."
 msgstr "Xem git-pull(1) để biết thêm chi tiết."
 
-#: builtin/pull.c:448 builtin/pull.c:454 builtin/pull.c:463
-#: builtin/rebase.c:1327 git-parse-remote.sh:64
+#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466
+#: builtin/rebase.c:1332 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<máy chủ>"
 
-#: builtin/pull.c:448 builtin/pull.c:463 builtin/pull.c:468
+#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<nhánh>"
 
-#: builtin/pull.c:456 builtin/rebase.c:1319 git-parse-remote.sh:75
+#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Ở đây không có thông tin theo dõi cho nhánh hiện hành."
 
-#: builtin/pull.c:465 git-parse-remote.sh:95
+#: builtin/pull.c:468 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
 "Nếu bạn muốn theo dõi thông tin cho nhánh này bạn có thể thực hiện bằng lệnh:"
 
-#: builtin/pull.c:470
+#: builtin/pull.c:473
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -16138,34 +16603,34 @@ msgstr ""
 "Các đặc tả cấu hình của bạn để hòa trộn với tham chiếu “%s”\n"
 "từ máy dịch vụ, nhưng không có nhánh nào như thế được lấy về."
 
-#: builtin/pull.c:574
+#: builtin/pull.c:581
 #, c-format
 msgid "unable to access commit %s"
 msgstr "không thể truy cập lần chuyển giao “%s”"
 
-#: builtin/pull.c:854
+#: builtin/pull.c:861
 msgid "ignoring --verify-signatures for rebase"
 msgstr "bỏ qua --verify-signatures khi rebase"
 
-#: builtin/pull.c:909
+#: builtin/pull.c:916
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "tùy chọn --[no-]autostash chỉ hợp lệ khi dùng với --rebase."
 
-#: builtin/pull.c:917
+#: builtin/pull.c:924
 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:921
+#: builtin/pull.c:928
 msgid "pull with rebase"
 msgstr "pull với rebase"
 
-#: builtin/pull.c:922
+#: builtin/pull.c:929
 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:947
+#: builtin/pull.c:954
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -16176,7 +16641,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:953
+#: builtin/pull.c:960
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -16194,22 +16659,22 @@ msgstr ""
 "$ git reset --hard\n"
 "để khôi phục lại."
 
-#: builtin/pull.c:968
+#: builtin/pull.c:975
 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:972
+#: builtin/pull.c:979
 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:979
+#: builtin/pull.c:986
 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ộ"
 
 #: builtin/push.c:19
 msgid "git push [<options>] [<repository> [<refspec>...]]"
-msgstr "git push [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
+msgstr "git push [<các tùy chọn>] [<kho-chứa> [<refspec>…]]"
 
 #: builtin/push.c:111
 msgid "tag shorthand without <tag>"
@@ -16504,15 +16969,15 @@ msgstr "các tùy chọn push phải không có ký tự dòng mới"
 #: builtin/range-diff.c:8
 msgid "git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>"
 msgstr ""
-"git range-diff [<các-tùy-chọn>] <old-base>..<old-tip> <new-base>..<new-tip>"
+"git range-diff [<các tùy chọn>] <old-base>..<old-tip> <new-base>..<new-tip>"
 
 #: builtin/range-diff.c:9
 msgid "git range-diff [<options>] <old-tip>...<new-tip>"
-msgstr "git range-diff [<các-tùy-chọn>] <old-tip>…<new-tip>"
+msgstr "git range-diff [<các tùy chọn>] <old-tip>…<new-tip>"
 
 #: builtin/range-diff.c:10
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
-msgstr "git range-diff [<các-tùy-chọn>] <base> <old-tip> <new-tip>"
+msgstr "git range-diff [<các tùy chọn>] <base> <old-tip> <new-tip>"
 
 #: builtin/range-diff.c:21
 msgid "Percentage by which creation is weighted"
@@ -16620,14 +17085,14 @@ msgid ""
 "git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
 "[<branch>]"
 msgstr ""
-"git rebase [-i] [các-tùy-chọn] [--exec <lệnh>] [--onto <newbase>] "
+"git rebase [-i] [các tùy chọn] [--exec <lệnh>] [--onto <newbase>] "
 "[<upstream>] [<nhánh>]"
 
 #: builtin/rebase.c:34
 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 "
+"git rebase [-i] [các tùy chọn] [--exec <lệnh>] [--onto <newbase>] --root "
 "[<nhánh>]"
 
 #: builtin/rebase.c:36
@@ -16673,7 +17138,7 @@ msgstr "git rebase--interactive [<các tùy chọn>]"
 msgid "keep empty commits"
 msgstr "giữ lại các lần chuyển giao rỗng"
 
-#: builtin/rebase.c:451 builtin/revert.c:127
+#: builtin/rebase.c:451 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
@@ -16693,7 +17158,7 @@ msgstr "di chuyển các lần chuyển giao bắt đầu bằng squash!/fixup!"
 msgid "sign commits"
 msgstr "ký các lần chuyển giao"
 
-#: builtin/rebase.c:459 builtin/rebase.c:1397
+#: builtin/rebase.c:459 builtin/rebase.c:1403
 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"
 
@@ -16801,7 +17266,7 @@ msgstr "lệnh"
 msgid "the command to run"
 msgstr "lệnh muốn chạy"
 
-#: builtin/rebase.c:502 builtin/rebase.c:1480
+#: builtin/rebase.c:502 builtin/rebase.c:1486
 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"
 
@@ -16809,7 +17274,7 @@ msgstr "lập lịch lại một cách tự động bất kỳ “exec“ bị l
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins không có tác dụng khi không có --rebase-merges"
 
-#: builtin/rebase.c:534 builtin/rebase.c:1787
+#: builtin/rebase.c:534
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s cần một cải tổ kiểu tương tác"
@@ -16839,11 +17304,11 @@ msgstr "Không thể đọc “%s”"
 msgid "Cannot store %s"
 msgstr "Không thể lưu “%s”"
 
-#: builtin/rebase.c:817
+#: builtin/rebase.c:827
 msgid "could not determine HEAD revision"
 msgstr "không thể dò tìm điểm xét duyệt HEAD"
 
-#: builtin/rebase.c:940
+#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -16858,7 +17323,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:1021
+#: builtin/rebase.c:1031
 #, c-format
 msgid ""
 "\n"
@@ -16877,7 +17342,7 @@ msgstr ""
 "\n"
 "Kết quả là git không thể cải tổ lại chúng."
 
-#: builtin/rebase.c:1313
+#: builtin/rebase.c:1318
 #, c-format
 msgid ""
 "%s\n"
@@ -16894,7 +17359,7 @@ msgstr ""
 "    git rebase “<nhánh>”\n"
 "\n"
 
-#: builtin/rebase.c:1329
+#: builtin/rebase.c:1334
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -16908,128 +17373,128 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<nhánh> %s\n"
 "\n"
 
-#: builtin/rebase.c:1359
+#: builtin/rebase.c:1364
 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:1363
+#: builtin/rebase.c:1368
 msgid "empty exec command"
 msgstr "lệnh thực thi trống rỗng"
 
-#: builtin/rebase.c:1390
+#: builtin/rebase.c:1396
 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:1392
+#: builtin/rebase.c:1398
 msgid "allow pre-rebase hook to run"
 msgstr "cho phép móc (hook) pre-rebase được chạy"
 
-#: builtin/rebase.c:1394
+#: builtin/rebase.c:1400
 msgid "be quiet. implies --no-stat"
 msgstr "hãy im lặng. ý là --no-stat"
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1406
 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:1403
+#: builtin/rebase.c:1409
 msgid "add a Signed-off-by: line to each commit"
 msgstr "thêm dòng Signed-off-by: cho từng lần chuyển giao"
 
-#: builtin/rebase.c:1405 builtin/rebase.c:1409 builtin/rebase.c:1411
+#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417
 msgid "passed to 'git am'"
 msgstr "chuyển cho “git am”"
 
-#: builtin/rebase.c:1413 builtin/rebase.c:1415
+#: builtin/rebase.c:1419 builtin/rebase.c:1421
 msgid "passed to 'git apply'"
 msgstr "chuyển cho “git apply”"
 
-#: builtin/rebase.c:1417 builtin/rebase.c:1420
+#: builtin/rebase.c:1423 builtin/rebase.c:1426
 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:1422
+#: builtin/rebase.c:1428
 msgid "continue"
 msgstr "tiếp tục"
 
-#: builtin/rebase.c:1425
+#: builtin/rebase.c:1431
 msgid "skip current patch and continue"
 msgstr "bỏ qua miếng vá hiện hành và tiếp tục"
 
-#: builtin/rebase.c:1427
+#: builtin/rebase.c:1433
 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:1430
+#: builtin/rebase.c:1436
 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:1431
+#: builtin/rebase.c:1437
 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:1434
+#: builtin/rebase.c:1440
 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:1437
+#: builtin/rebase.c:1443
 msgid "use merging strategies to rebase"
 msgstr "dùng chiến lược hòa trộn để cải tổ"
 
-#: builtin/rebase.c:1441
+#: builtin/rebase.c:1447
 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:1445
+#: builtin/rebase.c:1451
 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:1449
+#: builtin/rebase.c:1455
 msgid "preserve empty commits during rebase"
 msgstr "ngăn cấm các lần chuyển giao trống rỗng trong suốt quá trình cải tổ"
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1457
 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:1457
+#: builtin/rebase.c:1463
 msgid "automatically stash/stash pop before and after"
 msgstr "tự động stash/stash pop trước và sau"
 
-#: builtin/rebase.c:1459
+#: builtin/rebase.c:1465
 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:1463
+#: builtin/rebase.c:1469
 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:1466
+#: builtin/rebase.c:1472
 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:1469
+#: builtin/rebase.c:1475
 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:1471
+#: builtin/rebase.c:1477
 msgid "use the given merge strategy"
 msgstr "dùng chiến lược hòa trộn đã cho"
 
-#: builtin/rebase.c:1473 builtin/revert.c:114
+#: builtin/rebase.c:1479 builtin/revert.c:115
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/rebase.c:1474
+#: builtin/rebase.c:1480
 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:1477
+#: builtin/rebase.c:1483
 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:1498
+#: builtin/rebase.c:1500
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -17037,33 +17502,33 @@ msgstr ""
 "việc hỗ trợ rebase.useBuiltin đã bị xóa!\n"
 "Xem mục tin của nó trong “ git help config” để biết chi tiết."
 
-#: builtin/rebase.c:1504
+#: builtin/rebase.c:1506
 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:1545
+#: builtin/rebase.c:1547
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges đã lạc hậu. Hãy dùng --rebase-merges để thay "
 "thế."
 
-#: builtin/rebase.c:1549
+#: builtin/rebase.c:1551
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: builtin/rebase.c:1553
+#: builtin/rebase.c:1555
 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:1576
+#: builtin/rebase.c:1578
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: builtin/rebase.c:1588
+#: builtin/rebase.c:1590
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -17071,21 +17536,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:1607
+#: builtin/rebase.c:1609
 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:1626
+#: builtin/rebase.c:1628
 #, c-format
 msgid "could not move back to %s"
 msgstr "không thể quay trở lại %s"
 
-#: builtin/rebase.c:1637 builtin/rm.c:369
-#, c-format
-msgid "could not remove '%s'"
-msgstr "không thể gỡ bỏ “%s”"
-
-#: builtin/rebase.c:1663
+#: builtin/rebase.c:1673
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17106,169 +17566,173 @@ 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:1684
+#: builtin/rebase.c:1694
 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:1725
+#: builtin/rebase.c:1735
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Không hiểu chế độ: %s"
 
-#: builtin/rebase.c:1747
+#: builtin/rebase.c:1757
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy cần --merge hay --interactive"
 
-#: builtin/rebase.c:1796
+#: builtin/rebase.c:1797
+msgid "--reschedule-failed-exec requires --exec or --interactive"
+msgstr "--reschedule-failed-exec cần --exec hay --interactive"
+
+#: builtin/rebase.c:1809
 msgid "cannot combine am options with either interactive or merge options"
 msgstr ""
 "không thể tổ hợp các tùy chọn am với các tùy chọn tương tác hay hòa trộn"
 
-#: builtin/rebase.c:1815
+#: builtin/rebase.c:1828
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "không thể kết hợp “--preserve-merges” với “--rebase-merges”"
 
-#: builtin/rebase.c:1819
+#: builtin/rebase.c:1832
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr "không thể kết hợp “--preserve-merges” với “--reschedule-failed-exec”"
 
-#: builtin/rebase.c:1825
+#: builtin/rebase.c:1838
 msgid "cannot combine '--rebase-merges' with '--strategy-option'"
 msgstr "không thể kết hợp “--rebase-merges” với “--strategy-option”"
 
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1841
 msgid "cannot combine '--rebase-merges' with '--strategy'"
 msgstr "không thể kết hợp “--rebase-merges” với “--strategy”"
 
-#: builtin/rebase.c:1852
+#: builtin/rebase.c:1865
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "thượng nguồn không hợp lệ “%s”"
 
-#: builtin/rebase.c:1858
+#: builtin/rebase.c:1871
 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:1876
+#: builtin/rebase.c:1889
 #, 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:1883
+#: builtin/rebase.c:1896
 #, 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:1908
+#: builtin/rebase.c:1921
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "nghiêm trọng: không có nhánh/lần chuyển giao “%s” như thế"
 
-#: builtin/rebase.c:1916 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1933
+#: builtin/rebase.c:1929 builtin/submodule--helper.c:38
+#: builtin/submodule--helper.c:1934
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/rebase.c:1927
+#: builtin/rebase.c:1940
 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:1968
+#: builtin/rebase.c:1981
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: builtin/rebase.c:1971
+#: builtin/rebase.c:1984
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Gặp đáp ứng stash không cần: “%s”"
 
-#: builtin/rebase.c:1977
+#: builtin/rebase.c:1990
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Không thể tạo thư mục cho “%s”"
 
-#: builtin/rebase.c:1980
+#: builtin/rebase.c:1993
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Đã tạo autostash: %s\n"
 
-#: builtin/rebase.c:1983
+#: builtin/rebase.c:1996
 msgid "could not reset --hard"
 msgstr "không thể reset --hard"
 
-#: builtin/rebase.c:1984 builtin/reset.c:114
+#: builtin/rebase.c:1997 builtin/reset.c:114
 #, c-format
 msgid "HEAD is now at %s"
 msgstr "HEAD hiện giờ tại %s"
 
-#: builtin/rebase.c:2000
+#: builtin/rebase.c:2013
 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:2027
+#: builtin/rebase.c:2040
 #, c-format
 msgid "could not parse '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/rebase.c:2040
+#: builtin/rebase.c:2053
 #, c-format
 msgid "could not switch to %s"
 msgstr "không thể chuyển đến %s"
 
-#: builtin/rebase.c:2051
+#: builtin/rebase.c:2064
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:2066
 #, 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:2061
+#: builtin/rebase.c:2074
 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:2063
+#: builtin/rebase.c:2076
 #, 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:2071
+#: builtin/rebase.c:2084
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: builtin/rebase.c:2078
+#: builtin/rebase.c:2091
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Thay đổi thành %s:\n"
 
-#: builtin/rebase.c:2081
+#: builtin/rebase.c:2094
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Thay đổi từ %s thành %s:\n"
 
-#: builtin/rebase.c:2106
+#: builtin/rebase.c:2119
 #, 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:2115
+#: builtin/rebase.c:2128
 msgid "Could not detach HEAD"
 msgstr "Không thể tách rời HEAD"
 
-#: builtin/rebase.c:2124
+#: builtin/rebase.c:2137
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Chuyển-tiếp-nhanh %s đến %s.\n"
 
-#: builtin/receive-pack.c:33
+#: builtin/receive-pack.c:32
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <thư-mục-git>"
 
-#: builtin/receive-pack.c:833
+#: builtin/receive-pack.c:832
 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"
@@ -17298,7 +17762,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:853
+#: builtin/receive-pack.c:852
 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"
@@ -17319,11 +17783,11 @@ msgstr ""
 "\n"
 "Để chấm dứt lời nhắn này, bạn hãy đặt nó thành “refuse”."
 
-#: builtin/receive-pack.c:1940
+#: builtin/receive-pack.c:1938
 msgid "quiet"
 msgstr "im lặng"
 
-#: builtin/receive-pack.c:1954
+#: builtin/receive-pack.c:1952
 msgid "You must specify a directory."
 msgstr "Bạn phải chỉ định thư mục."
 
@@ -17447,7 +17911,7 @@ msgstr "git remote set-url --delete <tên> <url>"
 
 #: builtin/remote.c:33
 msgid "git remote add [<options>] <name> <url>"
-msgstr "git remote add [<các-tùy-chọn>] <tên> <url>"
+msgstr "git remote add [<các tùy chọn>] <tên> <url>"
 
 #: builtin/remote.c:53
 msgid "git remote set-branches <name> <branch>..."
@@ -17459,15 +17923,15 @@ msgstr "git remote set-branches --add <tên> <nhánh>…"
 
 #: builtin/remote.c:59
 msgid "git remote show [<options>] <name>"
-msgstr "git remote show [<các-tùy-chọn>] <tên>"
+msgstr "git remote show [<các tùy chọn>] <tên>"
 
 #: builtin/remote.c:64
 msgid "git remote prune [<options>] <name>"
-msgstr "git remote prune [<các-tùy-chọn>] <tên>"
+msgstr "git remote prune [<các tùy chọn>] <tên>"
 
 #: builtin/remote.c:69
 msgid "git remote update [<options>] [<group> | <remote>]..."
-msgstr "git remote update [<các-tùy-chọn>] [<nhóm> | <máy-chủ>]…"
+msgstr "git remote update [<các tùy chọn>] [<nhóm> | <máy-chủ>]…"
 
 #: builtin/remote.c:98
 #, c-format
@@ -17891,7 +18355,7 @@ msgstr "Không hiểu câu lệnh con: %s"
 
 #: builtin/repack.c:22
 msgid "git repack [<options>]"
-msgstr "git repack [<các-tùy-chọn>]"
+msgstr "git repack [<các tùy chọn>]"
 
 #: builtin/repack.c:27
 msgid ""
@@ -17901,115 +18365,115 @@ 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:200
+#: builtin/repack.c:190
 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:239 builtin/repack.c:414
+#: builtin/repack.c:229 builtin/repack.c:408
 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:256
+#: builtin/repack.c:246
 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:294
+#: builtin/repack.c:284
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:296
+#: builtin/repack.c:286
 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:299
+#: builtin/repack.c:289
 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:301
+#: builtin/repack.c:291
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:293
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:305
+#: builtin/repack.c:295
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:308
+#: builtin/repack.c:298
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:310
+#: builtin/repack.c:300
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:312
+#: builtin/repack.c:302
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "chuyển --delta-islands cho git-pack-objects"
 
-#: builtin/repack.c:313
+#: builtin/repack.c:303
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:304
 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:316
+#: builtin/repack.c:306
 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:318
+#: builtin/repack.c:308
 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:319 builtin/repack.c:325
+#: builtin/repack.c:309 builtin/repack.c:315
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:320
+#: builtin/repack.c:310
 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:322
+#: builtin/repack.c:312
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:324
+#: builtin/repack.c:314
 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:326
+#: builtin/repack.c:316
 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:328
+#: builtin/repack.c:318
 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:330
+#: builtin/repack.c:320
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:340
+#: builtin/repack.c:330
 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:344
+#: builtin/repack.c:334
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:423
+#: builtin/repack.c:417
 msgid "Nothing new to pack."
 msgstr "Không có gì mới để mà đóng gói."
 
-#: builtin/repack.c:484
+#: builtin/repack.c:478
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18028,7 +18492,7 @@ msgstr ""
 "CẢNH BÁO: nguyên gốc của nó cũng gặp lỗi.\n"
 "CẢNH BÁO: Vui lòng đổi tên chúng trong %s bằng tay:\n"
 
-#: builtin/repack.c:532
+#: builtin/repack.c:526
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "gặp lỗi khi gỡ bỏ “%s”"
@@ -18113,7 +18577,7 @@ msgstr "không thể mở “%s” để đọc"
 
 #: builtin/replace.c:272
 msgid "unable to spawn mktree"
-msgstr "không thể spawn mktree"
+msgstr "không thể sinh tiến trình con mktree"
 
 #: builtin/replace.c:276
 msgid "unable to read from mktree"
@@ -18307,11 +18771,11 @@ msgstr ""
 
 #: builtin/reset.c:33
 msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<tree-ish>] [--] <đường-dẫn>…"
+msgstr "git reset [-q] [<tree-ish>] [--] </các/đường/dẫn>…"
 
 #: builtin/reset.c:34
 msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<tree-ish>] [--] [<các-đường-dẫn>…]"
+msgstr "git reset --patch [<tree-ish>] [--] [</các/đường/dẫn>…]"
 
 #: builtin/reset.c:40
 msgid "mixed"
@@ -18394,7 +18858,7 @@ msgstr "--patch xung khắc với --{hard,mixed,soft}"
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed với các đường dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git "
-"reset -- <đường_dẫn>”."
+"reset -- </các/đường/dẫn>”."
 
 #: builtin/reset.c:355
 #, c-format
@@ -18437,30 +18901,30 @@ msgstr "Không thể đặt lại (reset) bảng mục lục thành điểm xét
 msgid "Could not write new index file."
 msgstr "Không thể ghi tập tin lưu bảng mục lục mới."
 
-#: builtin/rev-list.c:405
+#: builtin/rev-list.c:412
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "không thể tổ hợp --exclude-promisor-objects và --missing"
 
-#: builtin/rev-list.c:466
+#: builtin/rev-list.c:473
 msgid "object filtering requires --objects"
 msgstr "lọc đối tượng yêu cầu --objects"
 
-#: builtin/rev-list.c:469
+#: builtin/rev-list.c:476
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "giá trị sparse không hợp lệ “%s”"
 
-#: builtin/rev-list.c:510
+#: builtin/rev-list.c:527
 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:513
+#: builtin/rev-list.c:530
 msgid "cannot combine --use-bitmap-index with object filtering"
 msgstr "không thể tổ hợp --use-bitmap-index với lọc đối tượng"
 
 #: builtin/rev-parse.c:408
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
-msgstr "git rev-parse --parseopt [<các-tùy-chọn>] -- [<các tham số>…]"
+msgstr "git rev-parse --parseopt [<các tùy chọn>] -- [<các tham số>…]"
 
 #: builtin/rev-parse.c:413
 msgid "keep the `--` passed as an arg"
@@ -18482,15 +18946,15 @@ msgid ""
 "\n"
 "Run \"git rev-parse --parseopt -h\" for more information on the first usage."
 msgstr ""
-"git rev-parse --parseopt [<các-tùy-chọn>] -- [<các đối số>…]\n"
+"git rev-parse --parseopt [<các tùy chọn>] -- [<các đối số>…]\n"
 "   hoặc: git rev-parse --sq-quote [<đ.số>…]\n"
-"   hoặc: git rev-parse [<các-tùy-chọn>] [<đ.số>…]\n"
+"   hoặc: git rev-parse [<các tùy chọn>] [<đ.số>…]\n"
 "\n"
 "Chạy lệnh \"git rev-parse --parseopt -h\" để có thêm thông tin về cách dùng."
 
 #: builtin/revert.c:24
 msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<các-tùy-chọn>] <commit-ish>…"
+msgstr "git revert [<các tùy chọn>] <commit-ish>…"
 
 #: builtin/revert.c:25
 msgid "git revert <subcommand>"
@@ -18498,7 +18962,7 @@ msgstr "git revert <lệnh-con>"
 
 #: builtin/revert.c:30
 msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<các-tùy-chọn>] <commit-ish>…"
+msgstr "git cherry-pick [<các tùy chọn>] <commit-ish>…"
 
 #: builtin/revert.c:31
 msgid "git cherry-pick <subcommand>"
@@ -18526,53 +18990,57 @@ msgstr "phục hồi lại cherry-pick hay hoàn nguyên liên tiếp nhau"
 msgid "cancel revert or cherry-pick sequence"
 msgstr "không cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:105
+msgid "skip current commit and continue"
+msgstr "bỏ qua lần chuyển giao hiện tại và tiếp tục"
+
+#: builtin/revert.c:107
 msgid "don't automatically commit"
 msgstr "đừng chuyển giao một cách tự động"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:108
 msgid "edit the commit message"
 msgstr "sửa lại chú thích cho lần chuyển giao"
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "parent-number"
 msgstr "số-cha-mẹ"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:112
 msgid "select mainline parent"
 msgstr "chọn cha mẹ luồng chính"
 
-#: builtin/revert.c:113
+#: builtin/revert.c:114
 msgid "merge strategy"
 msgstr "chiến lược hòa trộn"
 
-#: builtin/revert.c:115
+#: builtin/revert.c:116
 msgid "option for merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:125
 msgid "append commit name"
 msgstr "nối thêm tên lần chuyển giao"
 
-#: builtin/revert.c:126
+#: builtin/revert.c:127
 msgid "preserve initially empty commits"
 msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 
-#: builtin/revert.c:128
+#: builtin/revert.c:129
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:227
+#: builtin/revert.c:232
 msgid "revert failed"
 msgstr "hoàn nguyên gặp lỗi"
 
-#: builtin/revert.c:240
+#: builtin/revert.c:245
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
 #: builtin/rm.c:19
 msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<các-tùy-chọn>] [--] <tập-tin>…"
+msgstr "git rm [<các tùy chọn>] [--] <tập-tin>…"
 
 #: builtin/rm.c:207
 msgid ""
@@ -18676,11 +19144,11 @@ msgstr "in các trạng thái từ phần hướng dẫn trên máy dịch vụ"
 
 #: builtin/shortlog.c:14
 msgid "git shortlog [<options>] [<revision-range>] [[--] <path>...]"
-msgstr "git shortlog [<các-tùy-chọn>] [<vùng-xét-duyệt>] [[--] [<đường/dẫn>…]]"
+msgstr "git shortlog [<các tùy chọn>] [<vùng-xét-duyệt>] [[--] [<đường/dẫn>…]]"
 
 #: builtin/shortlog.c:15
 msgid "git log --pretty=short | git shortlog [<options>]"
-msgstr "git log --pretty=short | git shortlog [<các-tùy-chọn>]"
+msgstr "git log --pretty=short | git shortlog [<các tùy chọn>]"
 
 #: builtin/shortlog.c:264
 msgid "Group by committer rather than author"
@@ -18732,113 +19200,113 @@ 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:549
+#: 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:646
+#: 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:648
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "hiển thị các nhánh remote-tracking"
 
-#: builtin/show-branch.c:650
+#: 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:652
+#: 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:654
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "đồng nghĩa với more=-1"
 
-#: builtin/show-branch.c:655
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "chặn các chuỗi đặt tên"
 
-#: builtin/show-branch.c:657
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "bao gồm nhánh hiện hành"
 
-#: builtin/show-branch.c:659
+#: 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:661
+#: 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:663
+#: 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:665
+#: 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:668
+#: 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:670
+#: 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:672
+#: 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:675
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<cơ_sở>]"
 
-#: builtin/show-branch.c:676
+#: 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:712
+#: builtin/show-branch.c:711
 msgid ""
 "--reflog is incompatible with --all, --remotes, --independent or --merge-base"
 msgstr ""
 "--reflog là không tương thích với các tùy chọn --all, --remotes, --"
 "independent hay --merge-base"
 
-#: builtin/show-branch.c:736
+#: 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:739
+#: 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:742
+#: 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:746
+#: 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:832
+#: 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:836
+#: 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:839
+#: 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)"
@@ -18893,11 +19361,11 @@ msgstr ""
 
 #: builtin/stash.c:22 builtin/stash.c:37
 msgid "git stash list [<options>]"
-msgstr "git stash list [<các-tùy-chọn>]"
+msgstr "git stash list [<các tùy chọn>]"
 
 #: builtin/stash.c:23 builtin/stash.c:42
 msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<các-tùy-chọn>] <stash>"
+msgstr "git stash show [<các tùy chọn>] <stash>"
 
 #: builtin/stash.c:24 builtin/stash.c:47
 msgid "git stash drop [-q|--quiet] [<stash>]"
@@ -19026,94 +19494,94 @@ msgstr "Các mục tạm cất (stash) được giữ trong trường hợp bạ
 msgid "No branch name specified"
 msgstr "Chưa chỉ ra tên của nhánh"
 
-#: builtin/stash.c:789 builtin/stash.c:826
+#: builtin/stash.c:790 builtin/stash.c:827
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Không thể cập nhật %s với %s"
 
-#: builtin/stash.c:807 builtin/stash.c:1474 builtin/stash.c:1510
+#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497
 msgid "stash message"
 msgstr "phần chú thích cho stash"
 
-#: builtin/stash.c:817
+#: builtin/stash.c:818
 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:1039 git-legacy-stash.sh:217
+#: builtin/stash.c:1040 git-legacy-stash.sh:217
 msgid "No changes selected"
 msgstr "Chưa có thay đổi nào được chọn"
 
-#: builtin/stash.c:1135 git-legacy-stash.sh:150
+#: builtin/stash.c:1136 git-legacy-stash.sh:150
 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:1162 git-legacy-stash.sh:165
+#: builtin/stash.c:1163 git-legacy-stash.sh:165
 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:1171 git-legacy-stash.sh:180
+#: builtin/stash.c:1172 git-legacy-stash.sh:180
 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:1182 builtin/stash.c:1191 git-legacy-stash.sh:200
+#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200
 #: git-legacy-stash.sh:213
 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:1219 git-legacy-stash.sh:233
+#: builtin/stash.c:1220 git-legacy-stash.sh:233
 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:1268 git-legacy-stash.sh:337
+#: builtin/stash.c:1269 git-legacy-stash.sh:337
 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:1284
+#: builtin/stash.c:1285
 msgid "Did you forget to 'git add'?"
 msgstr "Có lẽ bạn đã quên “git add ” phải không?"
 
-#: builtin/stash.c:1299 git-legacy-stash.sh:345
+#: builtin/stash.c:1300 git-legacy-stash.sh:345
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
 
-#: builtin/stash.c:1306 git-legacy-stash.sh:350
+#: builtin/stash.c:1307 git-legacy-stash.sh:350
 msgid "Cannot initialize stash"
 msgstr "Không thể khởi tạo stash"
 
-#: builtin/stash.c:1321 git-legacy-stash.sh:354
+#: builtin/stash.c:1322 git-legacy-stash.sh:354
 msgid "Cannot save the current status"
 msgstr "Không thể ghi lại trạng thái hiện hành"
 
-#: builtin/stash.c:1326
+#: builtin/stash.c:1327
 #, 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:1430 git-legacy-stash.sh:384
+#: builtin/stash.c:1417 git-legacy-stash.sh:384
 msgid "Cannot remove worktree changes"
 msgstr "Không thể gỡ bỏ các thay đổi cây-làm-việc"
 
-#: builtin/stash.c:1465 builtin/stash.c:1501
+#: builtin/stash.c:1452 builtin/stash.c:1488
 msgid "keep index"
 msgstr "giữ nguyên bảng mục lục"
 
-#: builtin/stash.c:1467 builtin/stash.c:1503
+#: builtin/stash.c:1454 builtin/stash.c:1490
 msgid "stash in patch mode"
 msgstr "cất đi ở chế độ miếng vá"
 
-#: builtin/stash.c:1468 builtin/stash.c:1504
+#: builtin/stash.c:1455 builtin/stash.c:1491
 msgid "quiet mode"
 msgstr "chế độ im lặng"
 
-#: builtin/stash.c:1470 builtin/stash.c:1506
+#: builtin/stash.c:1457 builtin/stash.c:1493
 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:1472 builtin/stash.c:1508
+#: builtin/stash.c:1459 builtin/stash.c:1495
 msgid "include ignore files"
 msgstr "bao gồm các tập tin bị bỏ qua"
 
-#: builtin/stash.c:1568
+#: builtin/stash.c:1555
 #, c-format
 msgid "could not exec %s"
 msgstr "không thể thực thi %s"
@@ -19134,7 +19602,7 @@ 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:45 builtin/submodule--helper.c:1942
+#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
 #, 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"
@@ -19148,7 +19616,7 @@ msgstr "submodule--helper print-default-remote takes không nhận tham số"
 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:408 builtin/submodule--helper.c:1367
+#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
@@ -19156,8 +19624,8 @@ msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:627
-#: builtin/submodule--helper.c:650
+#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
+#: builtin/submodule--helper.c:651
 #, 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"
@@ -19176,7 +19644,7 @@ msgstr ""
 "run_command trả về trạng thái khác không cho %s\n"
 "."
 
-#: builtin/submodule--helper.c:546
+#: builtin/submodule--helper.c:547
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -19187,19 +19655,19 @@ msgstr ""
 "con lồng nhau của %s\n"
 "."
 
-#: builtin/submodule--helper.c:562
+#: builtin/submodule--helper.c:563
 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:564 builtin/submodule--helper.c:1049
+#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
 msgid "Recurse into nested submodules"
 msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:569
+#: builtin/submodule--helper.c:570
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--]  <lệnh>"
 
-#: builtin/submodule--helper.c:596
+#: builtin/submodule--helper.c:597
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -19208,56 +19676,56 @@ 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:664
+#: builtin/submodule--helper.c:665
 #, 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:668
+#: builtin/submodule--helper.c:669
 #, 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:678
+#: builtin/submodule--helper.c:679
 #, 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:685
+#: builtin/submodule--helper.c:686
 #, 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:707
+#: builtin/submodule--helper.c:708
 msgid "Suppress output for initializing a submodule"
 msgstr "Chặn kết xuất cho khởi tạo một mô-đun-con"
 
-#: builtin/submodule--helper.c:712
+#: builtin/submodule--helper.c:713
 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:784 builtin/submodule--helper.c:910
+#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
 #, 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:823
+#: builtin/submodule--helper.c:824
 #, 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:850 builtin/submodule--helper.c:1019
+#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
 #, 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:874 builtin/submodule--helper.c:1185
+#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
 msgid "Suppress submodule status output"
 msgstr "Chặn két xuất tình trạng mô-đun-con"
 
-#: builtin/submodule--helper.c:875
+#: builtin/submodule--helper.c:876
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -19265,48 +19733,48 @@ 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:876
+#: builtin/submodule--helper.c:877
 msgid "recurse into nested submodules"
 msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:881
+#: builtin/submodule--helper.c:882
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 "git submodule status [--quiet] [--cached] [--recursive] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:905
+#: builtin/submodule--helper.c:906
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:969
+#: builtin/submodule--helper.c:970
 #, 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:975
+#: builtin/submodule--helper.c:976
 #, 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:989
+#: builtin/submodule--helper.c:990
 #, 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:1000
+#: builtin/submodule--helper.c:1001
 #, 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:1047
+#: builtin/submodule--helper.c:1048
 msgid "Suppress output of synchronizing submodule url"
 msgstr "Chặn kết xuất cho đồng bộ url mô-đun-con"
 
-#: builtin/submodule--helper.c:1054
+#: builtin/submodule--helper.c:1055
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:1108
+#: builtin/submodule--helper.c:1109
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -19315,7 +19783,7 @@ msgstr ""
 "Cây làm việc mô-đun-con “%s” có chứa thư mục .git (dùng “rm -rf” nếu bạn "
 "thực sự muốn gỡ bỏ nó cùng với toàn bộ lịch sử của chúng)"
 
-#: builtin/submodule--helper.c:1120
+#: builtin/submodule--helper.c:1121
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -19324,80 +19792,80 @@ 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:1128
+#: builtin/submodule--helper.c:1129
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Đã xóa thư mục “%s”\n"
 
-#: builtin/submodule--helper.c:1130
+#: builtin/submodule--helper.c:1131
 #, 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:1141
+#: builtin/submodule--helper.c:1142
 #, 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:1157
+#: builtin/submodule--helper.c:1158
 #, 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:1186
+#: builtin/submodule--helper.c:1187
 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:1187
+#: builtin/submodule--helper.c:1188
 msgid "Unregister all submodules"
 msgstr "Bỏ đăng ký tất cả các trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1192
+#: builtin/submodule--helper.c:1193
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--]  [</đường/dẫn>…]]"
 
-#: builtin/submodule--helper.c:1206
+#: builtin/submodule--helper.c:1207
 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:1301 builtin/submodule--helper.c:1304
+#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
 #, 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:1340
+#: builtin/submodule--helper.c:1341
 #, 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:1347
+#: builtin/submodule--helper.c:1348
 #, 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:1370
+#: builtin/submodule--helper.c:1371
 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:1373
+#: builtin/submodule--helper.c:1374
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:1376
+#: builtin/submodule--helper.c:1377
 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:1384
+#: builtin/submodule--helper.c:1385
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:1387 builtin/submodule--helper.c:1871
+#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1392
+#: builtin/submodule--helper.c:1393
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -19405,95 +19873,95 @@ msgstr ""
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1423
+#: builtin/submodule--helper.c:1424
 #, 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:1437
+#: builtin/submodule--helper.c:1438
 #, 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:1473
+#: builtin/submodule--helper.c:1474
 #, 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:1477
+#: builtin/submodule--helper.c:1478
 #, 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:1570
+#: builtin/submodule--helper.c:1571
 #, 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:1574
+#: builtin/submodule--helper.c:1575
 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:1604
+#: builtin/submodule--helper.c:1605
 #, 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:1633
+#: builtin/submodule--helper.c:1634
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1777
+#: builtin/submodule--helper.c:1778
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Gặp lỗi khi nhân bản “%s”. Thử lại lịch trình"
 
-#: builtin/submodule--helper.c:1788
+#: builtin/submodule--helper.c:1789
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Gặp lỗi khi nhân bản “%s” lần thứ hai nên bãi bỏ"
 
-#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:2092
+#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:1853
+#: builtin/submodule--helper.c:1854
 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:1857
+#: builtin/submodule--helper.c:1858
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:1863
+#: builtin/submodule--helper.c:1864
 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:1866
+#: builtin/submodule--helper.c:1867
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:1868
+#: builtin/submodule--helper.c:1869
 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:1869
+#: builtin/submodule--helper.c:1870
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1876
+#: builtin/submodule--helper.c:1877
 msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
 msgstr ""
 "git submodule--helper update_clone [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1889
+#: builtin/submodule--helper.c:1890
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:1937
+#: builtin/submodule--helper.c:1938
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -19502,16 +19970,16 @@ 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:2060
+#: builtin/submodule--helper.c:2061
 #, 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:2093
+#: builtin/submodule--helper.c:2094
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:2099
+#: builtin/submodule--helper.c:2100
 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>…]"
 
@@ -19540,7 +20008,7 @@ msgstr "git submodule--helper config --check-writeable"
 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:2235 git.c:433 git.c:685
+#: builtin/submodule--helper.c:2235 git.c:434 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
@@ -19552,7 +20020,7 @@ msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
 
 #: builtin/symbolic-ref.c:8
 msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<các-tùy-chọn>] <tên> [<t.chiếu>]"
+msgstr "git symbolic-ref [<các tùy chọn>] <tên> [<t.chiếu>]"
 
 #: builtin/symbolic-ref.c:9
 msgid "git symbolic-ref -d [-q] <name>"
@@ -19604,17 +20072,17 @@ msgstr ""
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:88
+#: builtin/tag.c:89
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:104
+#: builtin/tag.c:105
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:134
+#: builtin/tag.c:135
 #, c-format
 msgid ""
 "\n"
@@ -19627,7 +20095,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:138
+#: builtin/tag.c:139
 #, c-format
 msgid ""
 "\n"
@@ -19642,15 +20110,15 @@ 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:192
+#: builtin/tag.c:198
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:194
+#: builtin/tag.c:200
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:210
+#: builtin/tag.c:216
 #, c-format
 msgid ""
 "You have created a nested tag. The object referred to by your new tag is\n"
@@ -19663,139 +20131,139 @@ msgstr ""
 "\n"
 "\tgit tag -f %s %s^{}"
 
-#: builtin/tag.c:226
+#: builtin/tag.c:232
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:278
+#: builtin/tag.c:284
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:285
+#: builtin/tag.c:291
 #, 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:396
+#: builtin/tag.c:402
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:398
+#: builtin/tag.c:404
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:406
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:407
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:403
+#: builtin/tag.c:409
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:411
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:407
+#: builtin/tag.c:413
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:409
+#: builtin/tag.c:415
 msgid "force edit of tag message"
 msgstr "ép buộc sửa thẻ lần commit"
 
-#: builtin/tag.c:410
+#: builtin/tag.c:416
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:413
+#: builtin/tag.c:419
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:414
+#: builtin/tag.c:420
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:415 builtin/update-ref.c:369
+#: builtin/tag.c:421 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:417
+#: builtin/tag.c:423
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:418
+#: builtin/tag.c:424
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:419 builtin/tag.c:421
+#: builtin/tag.c:425 builtin/tag.c:427
 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:420 builtin/tag.c:422
+#: builtin/tag.c:426 builtin/tag.c:428
 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:423
+#: builtin/tag.c:429
 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:424
+#: builtin/tag.c:430
 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:428
+#: builtin/tag.c:434
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:472
+#: builtin/tag.c:482
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:494
+#: builtin/tag.c:504
 msgid "-n option is only allowed in list mode"
 msgstr "tùy chọn -n chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:496
+#: builtin/tag.c:506
 msgid "--contains option is only allowed in list mode"
 msgstr "tùy chọn --contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:498
+#: builtin/tag.c:508
 msgid "--no-contains option is only allowed in list mode"
 msgstr "tùy chọn --no-contains chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:500
+#: builtin/tag.c:510
 msgid "--points-at option is only allowed in list mode"
 msgstr "tùy chọn --points-at chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:502
+#: builtin/tag.c:512
 msgid "--merged and --no-merged options are only allowed in list mode"
 msgstr ""
 "tùy chọn --merged và --no-merged chỉ cho phép dùng trong chế độ liệt kê"
 
-#: builtin/tag.c:513
+#: builtin/tag.c:523
 msgid "only one -F or -m option is allowed."
 msgstr "chỉ có một tùy chọn -F hoặc -m là được phép."
 
-#: builtin/tag.c:532
+#: builtin/tag.c:542
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:538
+#: builtin/tag.c:548
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:543
+#: builtin/tag.c:553
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:574
+#: builtin/tag.c:584
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
@@ -19861,7 +20329,7 @@ msgstr " Đồng ý"
 
 #: builtin/update-index.c:589
 msgid "git update-index [<options>] [--] [<file>...]"
-msgstr "git update-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
+msgstr "git update-index [<các tùy chọn>] [--] [<tập-tin>…]"
 
 #: builtin/update-index.c:971
 msgid "continue refresh even when index needs update"
@@ -20063,15 +20531,15 @@ msgstr "fsmonitor bị tắt"
 
 #: builtin/update-ref.c:10
 msgid "git update-ref [<options>] -d <refname> [<old-val>]"
-msgstr "git update-ref [<các-tùy-chọn>] -d <refname> [<biến-cũ>]"
+msgstr "git update-ref [<các tùy chọn>] -d <refname> [<biến-cũ>]"
 
 #: builtin/update-ref.c:11
 msgid "git update-ref [<options>]    <refname> <new-val> [<old-val>]"
-msgstr "git update-ref [<các-tùy-chọn>]    <refname> <biến-mới> [<biến-cũ>]"
+msgstr "git update-ref [<các tùy chọn>]    <refname> <biến-mới> [<biến-cũ>]"
 
 #: builtin/update-ref.c:12
 msgid "git update-ref [<options>] --stdin [-z]"
-msgstr "git update-ref [<các-tùy-chọn>] --stdin [-z]"
+msgstr "git update-ref [<các tùy chọn>] --stdin [-z]"
 
 #: builtin/update-ref.c:364
 msgid "delete the reference"
@@ -20099,7 +20567,7 @@ msgstr "cập nhật các tập tin thông tin từ điểm xuất phát"
 
 #: builtin/upload-pack.c:11
 msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<các-tùy-chọn>] </đường/dẫn>"
+msgstr "git upload-pack [<các tùy chọn>] </đường/dẫn>"
 
 #: builtin/upload-pack.c:23 t/helper/test-serve-v2.c:17
 msgid "quit after a single request/response exchange"
@@ -20117,15 +20585,15 @@ msgstr "đừng thử <thư_mục>/.git/ nếu <thư_mục> không phải là th
 msgid "interrupt transfer after <n> seconds of inactivity"
 msgstr "ngắt truyền thông sau <n> giây không hoạt động"
 
-#: builtin/verify-commit.c:20
+#: builtin/verify-commit.c:19
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <lần_chuyển_giao>…"
 
-#: builtin/verify-commit.c:76
+#: builtin/verify-commit.c:68
 msgid "print commit contents"
 msgstr "hiển thị nội dung của lần chuyển giao"
 
-#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:69 builtin/verify-tag.c:37
 msgid "print raw gpg status output"
 msgstr "in kết xuất trạng thái gpg dạng thô"
 
@@ -20141,25 +20609,25 @@ msgstr "chi tiết"
 msgid "show statistics only"
 msgstr "chỉ hiển thị thống kê"
 
-#: builtin/verify-tag.c:19
+#: builtin/verify-tag.c:18
 msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
 msgstr "git verify-tag [-v | --verbose] [--format=<định_dạng>] <thẻ>…"
 
-#: builtin/verify-tag.c:37
+#: builtin/verify-tag.c:36
 msgid "print tag contents"
 msgstr "hiển thị nội dung của thẻ"
 
 #: builtin/worktree.c:18
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<các-tùy-chọn>] <đường-dẫn> [<commit-ish>]"
+msgstr "git worktree add [<các tùy chọn>] </đường/dẫn> [<commit-ish>]"
 
 #: builtin/worktree.c:19
 msgid "git worktree list [<options>]"
-msgstr "git worktree list [<các-tùy-chọn>]"
+msgstr "git worktree list [<các tùy chọn>]"
 
 #: builtin/worktree.c:20
 msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<các-tùy-chọn>] </đường/dẫn>"
+msgstr "git worktree lock [<các tùy chọn>] </đường/dẫn>"
 
 #: builtin/worktree.c:21
 msgid "git worktree move <worktree> <new-path>"
@@ -20167,17 +20635,17 @@ msgstr "git worktree move <worktree> </đường/dẫn/mới>"
 
 #: builtin/worktree.c:22
 msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<các-tùy-chọn>]"
+msgstr "git worktree prune [<các tùy chọn>]"
 
 #: builtin/worktree.c:23
 msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<các-tùy-chọn>] <worktree>"
+msgstr "git worktree remove [<các tùy chọn>] <worktree>"
 
 #: builtin/worktree.c:24
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock </đường/dẫn>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:891
+#: builtin/worktree.c:61 builtin/worktree.c:899
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "gặp lỗi khi xóa “%s”"
@@ -20250,120 +20718,120 @@ msgstr ""
 "“%s” bị mất nhưng cây làm việc đã được đăng ký;\n"
 "dùng “add -f” để ghi đè, hoặc “prune” hay “remove” để xóa"
 
-#: builtin/worktree.c:302
+#: builtin/worktree.c:309
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "không thể tạo thư mục của “%s”"
 
-#: builtin/worktree.c:432 builtin/worktree.c:438
+#: builtin/worktree.c:440 builtin/worktree.c:446
 #, 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:434
+#: builtin/worktree.c:442
 #, 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:443
+#: builtin/worktree.c:451
 #, 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:449
+#: builtin/worktree.c:457
 #, 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:490
+#: builtin/worktree.c:498
 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:493
+#: builtin/worktree.c:501
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:495
+#: builtin/worktree.c:503
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:497
+#: builtin/worktree.c:505
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:506
 msgid "keep the new working tree locked"
 msgstr "giữ cây làm việc mới bị khóa"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:509
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
 
-#: builtin/worktree.c:504
+#: builtin/worktree.c:512
 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:520
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "Các tùy chọn -b, -B, và --detach loại từ lẫn nhau"
 
-#: builtin/worktree.c:573
+#: builtin/worktree.c:581
 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:673
+#: builtin/worktree.c:681
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
-#: builtin/worktree.c:919
+#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800
+#: builtin/worktree.c:927
 #, 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:687 builtin/worktree.c:720
+#: builtin/worktree.c:695 builtin/worktree.c:728
 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:692
+#: builtin/worktree.c:700
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:694
+#: builtin/worktree.c:702
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:722
+#: builtin/worktree.c:730
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
 
-#: builtin/worktree.c:763
+#: builtin/worktree.c:771
 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:771
+#: builtin/worktree.c:779
 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:794 builtin/worktree.c:921
+#: builtin/worktree.c:802 builtin/worktree.c:929
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "“%s” là cây làm việc chính"
 
-#: builtin/worktree.c:799
+#: builtin/worktree.c:807
 #, 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:805
+#: builtin/worktree.c:813
 #, c-format
 msgid "target '%s' already exists"
 msgstr "đích “%s” đã tồn tại rồi"
 
-#: builtin/worktree.c:813
+#: builtin/worktree.c:821
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -20372,7 +20840,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:815
+#: builtin/worktree.c:823
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -20380,36 +20848,36 @@ 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:818
+#: builtin/worktree.c:826
 #, 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:823
+#: builtin/worktree.c:831
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "gặp lỗi khi chuyển “%s” sang “%s”"
 
-#: builtin/worktree.c:871
+#: builtin/worktree.c:879
 #, 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:875
+#: builtin/worktree.c:883
 #, c-format
 msgid "'%s' is dirty, use --force to delete it"
 msgstr "“%s” đang bẩn, hãy dùng --force để xóa nó"
 
-#: builtin/worktree.c:880
+#: builtin/worktree.c:888
 #, 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:903
+#: builtin/worktree.c:911
 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:926
+#: builtin/worktree.c:934
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -20418,7 +20886,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:928
+#: builtin/worktree.c:936
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -20426,7 +20894,7 @@ 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:931
+#: builtin/worktree.c:939
 #, 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"
@@ -20475,7 +20943,7 @@ msgstr "có quá nhiều lần chuyển giao được đánh dấu là tiếp c
 
 #: t/helper/test-serve-v2.c:7
 msgid "test-tool serve-v2 [<options>]"
-msgstr "test-tool serve-v2 [<các-tùy-chọn>]"
+msgstr "test-tool serve-v2 [<các tùy chọn>]"
 
 #: t/helper/test-serve-v2.c:19
 msgid "exit immediately after advertising capabilities"
@@ -20503,53 +20971,55 @@ msgstr ""
 msgid ""
 "'git help -a' and 'git help -g' list available subcommands and some\n"
 "concept guides. See 'git help <command>' or 'git help <concept>'\n"
-"to read about a specific subcommand or concept."
+"to read about a specific subcommand or concept.\n"
+"See 'git help git' for an overview of the system."
 msgstr ""
 "“git help -a” và “git help -g” liệt kê các câu lệnh con sẵn có và một số\n"
 "hướng dẫn về khái niệm. Xem “git help <lệnh>” hay “git help <khái-niệm>”\n"
-"để xem các đặc tả cho lệnh hay khái niệm cụ thể."
+"để xem các đặc tả cho lệnh hay khái niệm cụ thể.\n"
+"Xem 'git help git' để biết tổng quan của hệ thống."
 
-#: git.c:185
+#: git.c:186
 #, c-format
 msgid "no directory given for --git-dir\n"
 msgstr "chưa chỉ ra thư mục cho --git-dir\n"
 
-#: git.c:199
+#: git.c:200
 #, c-format
 msgid "no namespace given for --namespace\n"
 msgstr "chưa đưa ra không gian làm việc cho --namespace\n"
 
-#: git.c:213
+#: git.c:214
 #, c-format
 msgid "no directory given for --work-tree\n"
 msgstr "chưa đưa ra cây làm việc cho --work-tree\n"
 
-#: git.c:227
+#: git.c:228
 #, c-format
 msgid "no prefix given for --super-prefix\n"
 msgstr "chưa đưa ra tiền tố cho --super-prefix\n"
 
-#: git.c:249
+#: git.c:250
 #, c-format
 msgid "-c expects a configuration string\n"
 msgstr "-c cần một chuỗi cấu hình\n"
 
-#: git.c:287
+#: git.c:288
 #, c-format
 msgid "no directory given for -C\n"
 msgstr "chưa đưa ra thư mục cho -C\n"
 
-#: git.c:313
+#: git.c:314
 #, c-format
 msgid "unknown option: %s\n"
 msgstr "không hiểu tùy chọn: %s\n"
 
-#: git.c:359
+#: git.c:360
 #, c-format
 msgid "while expanding alias '%s': '%s'"
 msgstr "trong khi triển khai bí danh “%s”: “%s”"
 
-#: git.c:368
+#: git.c:369
 #, c-format
 msgid ""
 "alias '%s' changes environment variables.\n"
@@ -20558,40 +21028,40 @@ msgstr ""
 "bí danh “%s” thay đổi biến môi trường.\n"
 "Bạn có thể sử dụng “!git” trong đặt bí danh để làm việc này"
 
-#: git.c:376
+#: git.c:377
 #, c-format
 msgid "empty alias for %s"
 msgstr "làm trống bí danh cho %s"
 
-#: git.c:379
+#: git.c:380
 #, c-format
 msgid "recursive alias: %s"
 msgstr "đệ quy các bí danh: %s"
 
-#: git.c:459
+#: git.c:460
 msgid "write failure on standard output"
 msgstr "lỗi ghi nghiêm trong trên đầu ra tiêu chuẩn"
 
-#: git.c:461
+#: git.c:462
 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:463
+#: git.c:464
 msgid "close failed on standard output"
 msgstr "gặp lỗi khi đóng đầu ra tiêu chuẩn"
 
-#: git.c:797
+#: git.c:793
 #, 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:847
+#: git.c:843
 #, 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:860
+#: git.c:856
 #, c-format
 msgid ""
 "usage: %s\n"
@@ -20600,12 +21070,12 @@ msgstr ""
 "cách dùng: %s\n"
 "\n"
 
-#: git.c:880
+#: git.c:876
 #, 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:892
+#: git.c:888
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
@@ -20788,19 +21258,19 @@ msgstr "ngày hết hạn"
 msgid "no-op (backward compatibility)"
 msgstr "no-op (tương thích ngược)"
 
-#: parse-options.h:304
+#: parse-options.h:305
 msgid "be more verbose"
 msgstr "chi tiết hơn nữa"
 
-#: parse-options.h:306
+#: parse-options.h:307
 msgid "be more quiet"
 msgstr "im lặng hơn nữa"
 
-#: parse-options.h:312
+#: parse-options.h:313
 msgid "use <n> digits to display SHA-1s"
 msgstr "sử dụng <n> chữ số để hiển thị SHA-1s"
 
-#: parse-options.h:331
+#: parse-options.h:332
 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"
 
@@ -20816,6 +21286,14 @@ msgstr "tên trường cần sắp xếp"
 msgid "update the index with reused conflict resolution if possible"
 msgstr "cập nhật bảng mục lục với phân giải xung đột dùng lại nếu được"
 
+#: wt-status.h:67
+msgid "HEAD detached at "
+msgstr "HEAD được tách rời tại "
+
+#: wt-status.h:68
+msgid "HEAD detached from "
+msgstr "HEAD được tách rời từ "
+
 #: command-list.h:50
 msgid "Add file contents to the index"
 msgstr "Thêm nội dung tập tin vào bảng mục lục"
@@ -21257,214 +21735,222 @@ 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:156
+msgid "Restore working tree files"
+msgstr "Hoàn nguyên các tập tin cây làm việc"
+
+#: command-list.h:157
 msgid "Revert some existing commits"
 msgstr "Hoàn lại một số lần chuyển giao sẵn có"
 
-#: command-list.h:157
+#: command-list.h:158
 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:158
+#: command-list.h:159
 msgid "Pick out and massage parameters"
 msgstr "Cậy ra và xử lý các tham số"
 
-#: command-list.h:159
+#: command-list.h:160
 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:160
+#: command-list.h:161
 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:161
+#: command-list.h:162
 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:162
+#: command-list.h:163
 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:163
+#: command-list.h:164
 msgid "Summarize 'git log' output"
 msgstr "Kết xuất “git log” dạng tóm tắt"
 
-#: command-list.h:164
+#: command-list.h:165
 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:165
+#: command-list.h:166
 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:166
+#: command-list.h:167
 msgid "Show packed archive index"
 msgstr "Hiển thị các muc lục kho nén đã đóng gói"
 
-#: command-list.h:167
+#: command-list.h:168
 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:168
+#: command-list.h:169
 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:169
+#: command-list.h:170
 msgid "Common Git shell script setup code"
 msgstr "Mã cài đặt văn lệnh hệ vỏ Git chung"
 
-#: command-list.h:170
+#: command-list.h:171
 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:171
+#: command-list.h:172
 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:172
+#: command-list.h:173
 msgid "Show the working tree status"
 msgstr "Hiển thị trạng thái cây làm việc"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Remove unnecessary whitespace"
 msgstr "Xóa bỏ các khoảng trắng không cần thiết"
 
-#: command-list.h:174
+#: command-list.h:175
 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:175
+#: command-list.h:176
 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:176
+#: command-list.h:177
+msgid "Switch branches"
+msgstr "Các nhánh chuyển"
+
+#: command-list.h:178
 msgid "Read, modify and delete symbolic refs"
 msgstr "Đọc, sửa và xóa tham chiếu mềm"
 
-#: command-list.h:177
+#: command-list.h:179
 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:178
+#: command-list.h:180
 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:179
+#: command-list.h:181
 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:180
+#: command-list.h:182
 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:181
+#: command-list.h:183
 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:182
+#: command-list.h:184
 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:183
+#: command-list.h:185
 msgid "Send archive back to git-archive"
 msgstr "Gửi trở lại kho lưu đến git-archive"
 
-#: command-list.h:184
+#: command-list.h:186
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Gửi trở lại các đối tượng đã đóng gói cho git-fetch-pack"
 
-#: command-list.h:185
+#: command-list.h:187
 msgid "Show a Git logical variable"
 msgstr "Hiển thị một biến Git luận lý"
 
-#: command-list.h:186
+#: command-list.h:188
 msgid "Check the GPG signature of commits"
 msgstr "Kiểm tra ký lần chuyển giao dùng GPG"
 
-#: command-list.h:187
+#: command-list.h:189
 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:188
+#: command-list.h:190
 msgid "Check the GPG signature of tags"
 msgstr "Kiểm tra chữ ký GPG của các thẻ"
 
-#: command-list.h:189
+#: command-list.h:191
 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:190
+#: command-list.h:192
 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:191
+#: command-list.h:193
 msgid "Manage multiple working trees"
 msgstr "Quản lý nhiều cây làm việc"
 
-#: command-list.h:192
+#: command-list.h:194
 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:193
+#: command-list.h:195
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
-#: command-list.h:194
+#: command-list.h:196
 msgid "Git command-line interface and conventions"
 msgstr "Giao diện dòng lệnh Git và quy ước"
 
-#: command-list.h:195
+#: command-list.h:197
 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:196
+#: command-list.h:198
 msgid "Git for CVS users"
 msgstr "Git dành cho những người dùng CVS"
 
-#: command-list.h:197
+#: command-list.h:199
 msgid "Tweaking diff output"
 msgstr "Chỉnh kết xuất diff"
 
-#: command-list.h:198
+#: command-list.h:200
 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:199
+#: command-list.h:201
 msgid "A Git Glossary"
 msgstr "Thuật ngữ chuyên môn Git"
 
-#: command-list.h:200
+#: command-list.h:202
 msgid "Hooks used by Git"
 msgstr "Các móc được sử dụng bởi Git"
 
-#: command-list.h:201
+#: command-list.h:203
 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:202
+#: command-list.h:204
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: command-list.h:203
+#: command-list.h:205
 msgid "Git namespaces"
 msgstr "Không gian tên Git"
 
-#: command-list.h:204
+#: command-list.h:206
 msgid "Git Repository Layout"
 msgstr "Bố cục kho Git"
 
-#: command-list.h:205
+#: command-list.h:207
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: command-list.h:206
+#: command-list.h:208
 msgid "A tutorial introduction to Git: part two"
 msgstr "Hướng dẫn cách dùng Git: phần hai"
 
-#: command-list.h:207
+#: command-list.h:209
 msgid "A tutorial introduction to Git"
 msgstr "Hướng dẫn cách dùng Git"
 
-#: command-list.h:208
+#: command-list.h:210
 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"
 
@@ -21885,12 +22371,21 @@ msgstr ""
 msgid "See git-${cmd}(1) for details."
 msgstr "Xem git-${cmd}(1) để biết thêm chi tiết."
 
-#: git-rebase--preserve-merges.sh:136
+#: git-rebase--preserve-merges.sh:109
+msgid "Applied autostash."
+msgstr "Đã áp dụng autostash."
+
+#: git-rebase--preserve-merges.sh:112
+#, sh-format
+msgid "Cannot store $stash_sha1"
+msgstr "Không thể lưu $stash_sha1"
+
+#: git-rebase--preserve-merges.sh:191
 #, sh-format
 msgid "Rebasing ($new_count/$total)"
 msgstr "Đang rebase ($new_count/$total)"
 
-#: git-rebase--preserve-merges.sh:152
+#: git-rebase--preserve-merges.sh:207
 msgid ""
 "\n"
 "Commands:\n"
@@ -21933,7 +22428,7 @@ msgstr ""
 "Những dòng này có thể đảo ngược thứ tự; chúng chạy từ trên đỉnh xuống dưới "
 "đáy.\n"
 
-#: git-rebase--preserve-merges.sh:215
+#: git-rebase--preserve-merges.sh:270
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -21952,82 +22447,82 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:240
+#: git-rebase--preserve-merges.sh:295
 #, sh-format
 msgid "$sha1: not a commit that can be picked"
 msgstr "$sha1: không phải là lần chuyển giao mà có thể lấy ra được"
 
-#: git-rebase--preserve-merges.sh:279
+#: git-rebase--preserve-merges.sh:334
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Tên lần chuyển giao không hợp lệ: $sha1"
 
-#: git-rebase--preserve-merges.sh:309
+#: git-rebase--preserve-merges.sh:364
 msgid "Cannot write current commit's replacement sha1"
 msgstr "Không thể ghi lại sha1 thay thế của lần chuyển giao"
 
-#: git-rebase--preserve-merges.sh:360
+#: git-rebase--preserve-merges.sh:415
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--preserve-merges.sh:362
+#: git-rebase--preserve-merges.sh:417
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Không thể chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--preserve-merges.sh:371
+#: git-rebase--preserve-merges.sh:426
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Không thể di chuyển HEAD đến $first_parent"
 
-#: git-rebase--preserve-merges.sh:376
+#: git-rebase--preserve-merges.sh:431
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Từ chối squash lần hòa trộn: $sha1"
 
-#: git-rebase--preserve-merges.sh:394
+#: git-rebase--preserve-merges.sh:449
 #, sh-format
 msgid "Error redoing merge $sha1"
 msgstr "Gặp lỗi khi hoàn lại bước hòa trộn $sha1"
 
-#: git-rebase--preserve-merges.sh:403
+#: git-rebase--preserve-merges.sh:458
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Không thể lấy ra $sha1"
 
-#: git-rebase--preserve-merges.sh:412
+#: git-rebase--preserve-merges.sh:467
 #, sh-format
 msgid "This is the commit message #${n}:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ #${n}:"
 
-#: git-rebase--preserve-merges.sh:417
+#: git-rebase--preserve-merges.sh:472
 #, sh-format
 msgid "The commit message #${n} will be skipped:"
 msgstr "Chú thích cho lần chuyển giao thứ #${n} sẽ bị bỏ qua:"
 
-#: git-rebase--preserve-merges.sh:428
+#: git-rebase--preserve-merges.sh:483
 #, sh-format
 msgid "This is a combination of $count commit."
 msgid_plural "This is a combination of $count commits."
 msgstr[0] "Đây là tổ hợp của $count lần chuyển giao."
 
-#: git-rebase--preserve-merges.sh:437
+#: git-rebase--preserve-merges.sh:492
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Không thể $fixup_msg"
 
-#: git-rebase--preserve-merges.sh:440
+#: git-rebase--preserve-merges.sh:495
 msgid "This is a combination of 2 commits."
 msgstr "Đây là tổ hợp của 2 lần chuyển giao."
 
-#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
-#: git-rebase--preserve-merges.sh:527
+#: git-rebase--preserve-merges.sh:536 git-rebase--preserve-merges.sh:579
+#: git-rebase--preserve-merges.sh:582
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Không thể áp dụng $sha1… $rest"
 
-#: git-rebase--preserve-merges.sh:556
+#: git-rebase--preserve-merges.sh:611
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -22043,31 +22538,31 @@ msgstr ""
 "này\n"
 "trước khi bạn có thể làm việc lại với lần chuyển giao."
 
-#: git-rebase--preserve-merges.sh:571
+#: git-rebase--preserve-merges.sh:626
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Bị dừng tại $sha1_abbrev… $rest"
 
-#: git-rebase--preserve-merges.sh:586
+#: git-rebase--preserve-merges.sh:641
 #, sh-format
 msgid "Cannot '$squash_style' without a previous commit"
 msgstr "Không “$squash_style” thể mà không có lần chuyển giao kế trước"
 
-#: git-rebase--preserve-merges.sh:628
+#: git-rebase--preserve-merges.sh:683
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Thực thi: $rest"
 
-#: git-rebase--preserve-merges.sh:636
+#: git-rebase--preserve-merges.sh:691
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Thực thi gặp lỗi: $rest"
 
-#: git-rebase--preserve-merges.sh:638
+#: git-rebase--preserve-merges.sh:693
 msgid "and made changes to the index and/or the working tree"
 msgstr "và tạo các thay đổi bảng mục lục và/hay cây làm việc"
 
-#: git-rebase--preserve-merges.sh:640
+#: git-rebase--preserve-merges.sh:695
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -22078,7 +22573,7 @@ msgstr ""
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--preserve-merges.sh:653
+#: git-rebase--preserve-merges.sh:708
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -22093,25 +22588,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--preserve-merges.sh:664
+#: git-rebase--preserve-merges.sh:719
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Lệnh chưa biết: $command $sha1 $rest"
 
-#: git-rebase--preserve-merges.sh:665
+#: git-rebase--preserve-merges.sh:720
 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”."
 
-#: git-rebase--preserve-merges.sh:700
+#: git-rebase--preserve-merges.sh:755
 #, sh-format
 msgid "Successfully rebased and updated $head_name."
 msgstr "Cài tổ và cập nhật $head_name một cách thành công."
 
-#: git-rebase--preserve-merges.sh:757
+#: git-rebase--preserve-merges.sh:812
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: git-rebase--preserve-merges.sh:762
+#: git-rebase--preserve-merges.sh:817
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -22142,11 +22637,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--preserve-merges.sh:779
+#: git-rebase--preserve-merges.sh:834
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Lỗi khi cố tìm định danh của tác giả để tu bổ lần chuyển giao"
 
-#: git-rebase--preserve-merges.sh:784
+#: git-rebase--preserve-merges.sh:839
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -22155,39 +22650,39 @@ msgstr ""
 "Vui lòng chuyển giao chúng và sau đó chạy lệnh “git rebase --continue” lần "
 "nữa."
 
-#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
+#: git-rebase--preserve-merges.sh:844 git-rebase--preserve-merges.sh:848
 msgid "Could not commit staged changes."
 msgstr "Không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+#: git-rebase--preserve-merges.sh:879 git-rebase--preserve-merges.sh:965
 msgid "Could not execute editor"
 msgstr "Không thể thực thi trình biên soạn"
 
-#: git-rebase--preserve-merges.sh:845
+#: git-rebase--preserve-merges.sh:900
 #, sh-format
 msgid "Could not checkout $switch_to"
 msgstr "Không thể checkout $switch_to"
 
-#: git-rebase--preserve-merges.sh:852
+#: git-rebase--preserve-merges.sh:907
 msgid "No HEAD?"
 msgstr "Không HEAD?"
 
-#: git-rebase--preserve-merges.sh:853
+#: git-rebase--preserve-merges.sh:908
 #, sh-format
 msgid "Could not create temporary $state_dir"
 msgstr "Không thể tạo thư mục tạm thời $state_dir"
 
-#: git-rebase--preserve-merges.sh:856
+#: git-rebase--preserve-merges.sh:911
 msgid "Could not mark as interactive"
 msgstr "Không thể đánh dấu là tương tác"
 
-#: git-rebase--preserve-merges.sh:888
+#: git-rebase--preserve-merges.sh:943
 #, sh-format
 msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
 msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Cải tổ $shortrevisions vào $shortonto (các lệnh $todocount)"
 
-#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
+#: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
 msgid "Could not init rewritten commits"
 msgstr "Không thể khởi tạo các lần chuyển giao ghi lại"
 
@@ -22258,126 +22753,128 @@ 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"
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:196
+#: git-add--interactive.perl:210
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%12s %12s %s"
 
-#: git-add--interactive.perl:197
+#: git-add--interactive.perl:211
 msgid "staged"
 msgstr "đã đưa lên bệ phóng"
 
-#: git-add--interactive.perl:197
+#: git-add--interactive.perl:211
 msgid "unstaged"
 msgstr "chưa đưa lên bệ phóng"
 
-#: git-add--interactive.perl:253 git-add--interactive.perl:278
+#: git-add--interactive.perl:267 git-add--interactive.perl:292
 msgid "binary"
 msgstr "nhị phân"
 
-#: git-add--interactive.perl:262 git-add--interactive.perl:316
+#: git-add--interactive.perl:276 git-add--interactive.perl:330
 msgid "nothing"
 msgstr "không có gì"
 
-#: git-add--interactive.perl:298 git-add--interactive.perl:313
+#: git-add--interactive.perl:312 git-add--interactive.perl:327
 msgid "unchanged"
 msgstr "không thay đổi"
 
-#: git-add--interactive.perl:609
+#: git-add--interactive.perl:623
 #, perl-format
 msgid "added %d path\n"
 msgid_plural "added %d paths\n"
 msgstr[0] "đã thêm %d đường dẫn\n"
 
-#: git-add--interactive.perl:612
+#: git-add--interactive.perl:626
 #, perl-format
 msgid "updated %d path\n"
 msgid_plural "updated %d paths\n"
 msgstr[0] "đã cập nhật %d đường dẫn\n"
 
-#: git-add--interactive.perl:615
+#: git-add--interactive.perl:629
 #, perl-format
 msgid "reverted %d path\n"
 msgid_plural "reverted %d paths\n"
 msgstr[0] "đã hoàn nguyên %d đường dẫn\n"
 
-#: git-add--interactive.perl:618
+#: git-add--interactive.perl:632
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d đường dẫn đã touch (chạm)\n"
 
-#: git-add--interactive.perl:627
+#: git-add--interactive.perl:641
 msgid "Update"
 msgstr "Cập nhật"
 
-#: git-add--interactive.perl:639
+#: git-add--interactive.perl:653
 msgid "Revert"
 msgstr "Hoàn nguyên"
 
-#: git-add--interactive.perl:662
+#: git-add--interactive.perl:676
 #, perl-format
 msgid "note: %s is untracked now.\n"
 msgstr "chú ý: %s giờ đã bỏ theo dõi.\n"
 
-#: git-add--interactive.perl:673
+#: git-add--interactive.perl:687
 msgid "Add untracked"
 msgstr "Thêm các cái chưa được theo dõi"
 
-#: git-add--interactive.perl:679
+#: git-add--interactive.perl:693
 msgid "No untracked files.\n"
 msgstr "Không có tập tin nào chưa được theo dõi.\n"
 
-#: git-add--interactive.perl:1033
+#: git-add--interactive.perl:1051
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1036
+#: git-add--interactive.perl:1054
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để tạm cất."
 
-#: git-add--interactive.perl:1039
+#: git-add--interactive.perl:1057
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để bỏ chuyển lên bệ phóng."
 
-#: git-add--interactive.perl:1042 git-add--interactive.perl:1051
+#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
+#: git-add--interactive.perl:1075
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để áp dụng."
 
-#: git-add--interactive.perl:1045 git-add--interactive.perl:1048
+#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
+#: git-add--interactive.perl:1072
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
-"Nếu miếng vá được áp dụng sạch sẽ, hunk đã sửa sẽ ngay lập tức\n"
+"Nếu miếng vá được áp dụng sạch sẽ, khúc đã sửa sẽ ngay lập tức\n"
 "được đánh dấu để loại bỏ."
 
-#: git-add--interactive.perl:1085
+#: git-add--interactive.perl:1109
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
-msgstr "gặp lỗi khi tập tin sửa hunk để ghi: %s"
+msgstr "gặp lỗi khi tập tin sửa khúc để ghi: %s"
 
-#: git-add--interactive.perl:1086
+#: git-add--interactive.perl:1110
 msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr "Chế độ sửa hunk bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
+msgstr "Chế độ sửa khúc bằng tay -- xem ở đáy để có hướng dẫn sử dụng nhanh.\n"
 
-#: git-add--interactive.perl:1092
+#: git-add--interactive.perl:1116
 #, perl-format
 msgid ""
 "---\n"
@@ -22391,20 +22888,20 @@ msgstr ""
 "Những dòng bắt đầu bằng %s sẽ bị loại bỏ.\n"
 
 #. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1100
+#: git-add--interactive.perl:1124
 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"
 "aborted and the hunk is left unchanged.\n"
 msgstr ""
 "Nếu miếng vá không được áp dụng sạch sẽ, bạn sẽ có một cơ hội\n"
-"để sửa lần nữa. Nếu mọi dòng của hunk bị xóa bỏ, thế thì những\n"
-"sửa dổi sẽ bị loại bỏ, và hunk vẫn giữ nguyên.\n"
+"để 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"
 
-#: git-add--interactive.perl:1114
+#: git-add--interactive.perl:1138
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
-msgstr "gặp lỗi khi mở tập tin hunk để đọc: %s"
+msgstr "gặp lỗi khi mở tập tin khúc để đọc: %s"
 
 #. TRANSLATORS: do not translate [y/n]
 #. The program will only accept that input
@@ -22412,14 +22909,14 @@ msgstr "gặp lỗi khi mở tập tin hunk để đọc: %s"
 #. Consider translating (saying "no" discards!) as
 #. (saying "n" for "no" discards!) if the translation
 #. of the word "no" does not start with n.
-#: git-add--interactive.perl:1213
+#: git-add--interactive.perl:1237
 msgid ""
 "Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
 msgstr ""
 "Hunk đã sửa của bạn không được áp dụng. Sửa lại lần nữa (nói \"n\" để loại "
 "bỏ!) [y/n]? "
 
-#: git-add--interactive.perl:1222
+#: git-add--interactive.perl:1246
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -22427,14 +22924,14 @@ msgid ""
 "a - stage this hunk and all later hunks in the file\n"
 "d - do not stage this hunk or any of the later hunks in the file"
 msgstr ""
-"y - đưa lên bệ phóng hunk này\n"
-"n - đừng đưa lên bệ phóng hunk này\n"
-"q - thoát; đừng đưa lên bệ phóng hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - đưa lên bệ phóng hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng đưa lên bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong tập "
+"y - đưa lên bệ phóng khúc này\n"
+"n - đừng đưa lên bệ phóng khúc này\n"
+"q - thoát; đừng đưa lên bệ phóng khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - đưa lên bệ phóng khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng đưa lên bệ phóng khúc này cũng như bất kỳ cái nào còn lại trong tập "
 "tin"
 
-#: git-add--interactive.perl:1228
+#: git-add--interactive.perl:1252
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -22442,13 +22939,13 @@ msgid ""
 "a - stash this hunk and all later hunks in the file\n"
 "d - do not stash this hunk or any of the later hunks in the file"
 msgstr ""
-"y - tạm cất hunk này\n"
-"n - đừng tạm cất hunk này\n"
-"q - thoát; đừng tạm cất hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - tạm cất hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng tạm cất hunk này cũng như bất kỳ cái nào còn lại trong tập tin"
+"y - tạm cất khúc này\n"
+"n - đừng tạm cất khúc này\n"
+"q - thoát; đừng tạm cất khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - tạm cất khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng tạm cất khúc này cũng như bất kỳ cái nào còn lại trong tập tin"
 
-#: git-add--interactive.perl:1234
+#: git-add--interactive.perl:1258
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -22456,15 +22953,15 @@ msgid ""
 "a - unstage this hunk and all later hunks in the file\n"
 "d - do not unstage this hunk or any of the later hunks in the file"
 msgstr ""
-"y - đưa ra khỏi bệ phóng hunk này\n"
-"n - đừng đưa ra khỏi bệ phóng hunk này\n"
-"q - thoát; đừng đưa ra khỏi bệ phóng hunk này cũng như bất kỳ cái nào còn "
+"y - đưa ra khỏi bệ phóng khúc này\n"
+"n - đừng đưa ra khỏi bệ phóng khúc này\n"
+"q - thoát; đừng đưa ra khỏi bệ phóng khúc này cũng như bất kỳ cái nào còn "
 "lại\n"
-"a - đưa ra khỏi bệ phóng hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng đưa ra khỏi bệ phóng hunk này cũng như bất kỳ cái nào còn lại trong "
+"a - đưa ra khỏi bệ phóng khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng đưa ra khỏi bệ phóng khúc này cũng như bất kỳ cái nào còn lại trong "
 "tập tin"
 
-#: git-add--interactive.perl:1240
+#: git-add--interactive.perl:1264
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -22472,13 +22969,13 @@ msgid ""
 "a - apply this hunk and all later hunks in the file\n"
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
-"y - áp dụng hunk này vào mục lục\n"
-"n - đừng áp dụng hunk này vào mục lục\n"
-"q - thoát; đừng áp dụng hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+"y - áp dụng khúc này vào mục lục\n"
+"n - đừng áp dụng khúc này vào mục lục\n"
+"q - thoát; đừng áp dụng khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -22486,13 +22983,13 @@ msgid ""
 "a - discard this hunk and all later hunks in the file\n"
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
-"y - loại bỏ hunk này khỏi cây làm việc\n"
-"n - đừng loại bỏ hunk khỏi cây làm việc\n"
-"q - thoát; đừng loại bỏ hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+"y - loại bỏ khúc này khỏi cây làm việc\n"
+"n - đừng loại bỏ khúc khỏi cây làm việc\n"
+"q - thoát; đừng loại bỏ khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - loại bỏ khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng loại bỏ khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1276
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -22500,13 +22997,13 @@ msgid ""
 "a - discard this hunk and all later hunks in the file\n"
 "d - do not discard this hunk or any of the later hunks in the file"
 msgstr ""
-"y - loại bỏ hunk này khỏi mục lục và cây làm việc\n"
-"n - đừng loại bỏ hunk khỏi mục lục và cây làm việc\n"
-"q - thoát; đừng loại bỏ hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - loại bỏ hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng loại bỏ hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+"y - loại bỏ khúc này khỏi mục lục và cây làm việc\n"
+"n - đừng loại bỏ khúc khỏi mục lục và cây làm việc\n"
+"q - thoát; đừng loại bỏ khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - loại bỏ khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng loại bỏ khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1282
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -22514,13 +23011,27 @@ msgid ""
 "a - apply this hunk and all later hunks in the file\n"
 "d - do not apply this hunk or any of the later hunks in the file"
 msgstr ""
-"y - áp dụng hunk này vào mục lục và cây làm việc\n"
-"n - đừng áp dụng hunk vào mục lục và cây làm việc\n"
-"q - thoát; đừng áp dụng hunk này cũng như bất kỳ cái nào còn lại\n"
-"a - áp dụng hunk này và tất cả các hunk sau này trong tập tin\n"
-"d - đừng áp dụng hunk này cũng như bất kỳ cái nào sau này trong tập tin"
+"y - áp dụng khúc này vào mục lục và cây làm việc\n"
+"n - đừng áp dụng khúc vào mục lục và cây làm việc\n"
+"q - thoát; đừng áp dụng khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
+
+#: git-add--interactive.perl:1294
+msgid ""
+"y - apply this hunk to worktree\n"
+"n - do not apply this hunk to worktree\n"
+"q - quit; do not apply this hunk or any of the remaining ones\n"
+"a - apply this hunk and all later hunks in the file\n"
+"d - do not apply this hunk or any of the later hunks in the file"
+msgstr ""
+"y - áp dụng khúc này vào cây làm việc\n"
+"n - đừng áp dụng khúc vào cây làm việc\n"
+"q - thoát; đừng áp dụng khúc này cũng như bất kỳ cái nào còn lại\n"
+"a - áp dụng khúc này và tất cả các khúc sau này trong tập tin\n"
+"d - đừng áp dụng khúc này cũng như bất kỳ cái nào sau này trong tập tin"
 
-#: git-add--interactive.perl:1273
+#: git-add--interactive.perl:1309
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -22532,219 +23043,234 @@ msgid ""
 "e - manually edit the current hunk\n"
 "? - print help\n"
 msgstr ""
-"g - chọn một hunk muốn tới\n"
-"/ - tìm một hunk khớp với biểu thức chính quy đưa ra\n"
-"j - để lại hunk này là chưa quyết định, xem hunk chưa quyết định kế\n"
-"J - để lại hunk này là chưa quyết định, xem hunk kế\n"
-"k - để lại hunk này là chưa quyết định, xem hunk chưa quyết định kế trước\n"
-"K - để lại hunk này là chưa quyết định, xem hunk kế trước\n"
-"s - chia hunk hiện tại thành các hunk nhỏ hơn\n"
-"e - sửa bằng tay hunk hiện hành\n"
+"g - chọn một khúc muốn tới\n"
+"/ - tìm một khúc khớp với biểu thức chính quy đưa ra\n"
+"j - để lại khúc này là chưa quyết định, xem khúc chưa quyết định kế\n"
+"J - để lại khúc này là chưa quyết định, xem khúc kế\n"
+"k - để lại khúc này là chưa quyết định, xem khúc chưa quyết định kế trước\n"
+"K - để lại khúc này là chưa quyết định, xem khúc kế trước\n"
+"s - chia khúc hiện tại thành các khúc nhỏ hơn\n"
+"e - sửa bằng tay khúc hiện hành\n"
 "? - in trợ giúp\n"
 
-#: git-add--interactive.perl:1304
+#: git-add--interactive.perl:1340
 msgid "The selected hunks do not apply to the index!\n"
-msgstr "Các hunk đã chọn không được áp dụng vào bảng mục lục!\n"
+msgstr "Các khúc đã chọn không được áp dụng vào bảng mục lục!\n"
 
-#: git-add--interactive.perl:1305
+#: git-add--interactive.perl:1341
 msgid "Apply them to the worktree anyway? "
 msgstr "Vẫn áp dụng chúng cho cây làm việc? "
 
-#: git-add--interactive.perl:1308
+#: git-add--interactive.perl:1344
 msgid "Nothing was applied.\n"
 msgstr "Đã không áp dụng gì cả.\n"
 
-#: git-add--interactive.perl:1319
+#: git-add--interactive.perl:1355
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "bỏ qua những thứ chưa hòa trộn: %s\n"
 
-#: git-add--interactive.perl:1328
+#: git-add--interactive.perl:1364
 msgid "Only binary files changed.\n"
 msgstr "Chỉ có các tập tin nhị phân là thay đổi.\n"
 
-#: git-add--interactive.perl:1330
+#: git-add--interactive.perl:1366
 msgid "No changes.\n"
 msgstr "Không có thay đổi nào.\n"
 
-#: git-add--interactive.perl:1338
+#: git-add--interactive.perl:1374
 msgid "Patch update"
 msgstr "Cập nhật miếng vá"
 
-#: git-add--interactive.perl:1390
+#: git-add--interactive.perl:1426
 #, perl-format
 msgid "Stage mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1391
+#: git-add--interactive.perl:1427
 #, perl-format
 msgid "Stage deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1392
+#: git-add--interactive.perl:1428
 #, perl-format
 msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Đưa lên bệ phóng hunk này [y,n,q,a,d%s,?]? "
+msgstr "Đưa lên bệ phóng khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1395
+#: git-add--interactive.perl:1431
 #, perl-format
 msgid "Stash mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ tạm cất đi [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1396
+#: git-add--interactive.perl:1432
 #, perl-format
 msgid "Stash deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa tạm cất [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1397
+#: git-add--interactive.perl:1433
 #, perl-format
 msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "Tạm cất hunk này [y,n,q,a,d%s,?]? "
+msgstr "Tạm cất khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1400
+#: git-add--interactive.perl:1436
 #, perl-format
 msgid "Unstage mode change [y,n,q,a,d%s,?]? "
 msgstr "Thay đổi chế độ bỏ ra khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1401
+#: git-add--interactive.perl:1437
 #, perl-format
 msgid "Unstage deletion [y,n,q,a,d%s,?]? "
 msgstr "Xóa bỏ việc bỏ ra khỏi bệ phóng [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1402
+#: git-add--interactive.perl:1438
 #, perl-format
 msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Bỏ ra khỏi bệ phóng hunk này [y,n,q,a,d%s,?]? "
+msgstr "Bỏ ra khỏi bệ phóng khúc này [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1405
+#: git-add--interactive.perl:1441
 #, perl-format
 msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1406
+#: git-add--interactive.perl:1442
 #, perl-format
 msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1407
+#: git-add--interactive.perl:1443
 #, perl-format
 msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr "Áo dụng hunk này vào mục lục [y,n,q,a,d%s,?]? "
+msgstr "Áo dụng khúc này vào mục lục [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1410
+#: git-add--interactive.perl:1446 git-add--interactive.perl:1461
 #, perl-format
 msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ các thay đổi chế độ từ cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1411
+#: git-add--interactive.perl:1447 git-add--interactive.perl:1462
 #, perl-format
 msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1412
+#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "Loại bỏ hunk này khỏi cây làm việc [y,n,q,a,d%s,?]? "
+msgstr "Loại bỏ khúc này khỏi cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1415
+#: git-add--interactive.perl:1451
 #, perl-format
 msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ thay đổi chế độ từ mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1416
+#: git-add--interactive.perl:1452
 #, perl-format
 msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Loại bỏ việc xóa khỏi mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1417
+#: git-add--interactive.perl:1453
 #, perl-format
 msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Loại bỏ hunk này khỏi mục lục và cây làm việc [y,n,q,a,d%s,?]? "
+msgstr "Loại bỏ khúc này khỏi mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1420
+#: git-add--interactive.perl:1456
 #, perl-format
 msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng thay đổi chế độ cho mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1421
+#: git-add--interactive.perl:1457
 #, perl-format
 msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
 msgstr "Áp dụng việc xóa vào mục lục và cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1422
+#: git-add--interactive.perl:1458
 #, perl-format
 msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Áp dụng hunk này vào mục lục và cây làm việc [y,n,q,a,d%s,?]? "
+msgstr "Áp dụng khúc này vào mục lục và cây làm việc [y,n,q,a,d%s,?]? "
+
+#: git-add--interactive.perl:1466
+#, perl-format
+msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
+msgstr "Áp dụng thay đổi chế độ cho cây làm việc [y,n,q,a,d%s,?]? "
+
+#: git-add--interactive.perl:1467
+#, perl-format
+msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
+msgstr "Áp dụng việc xóa cho cây làm việc [y,n,q,a,d%s,?]? "
+
+#: git-add--interactive.perl:1468
+#, perl-format
+msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
+msgstr "Áp dụng khúc này vào cây làm việc [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1522
+#: git-add--interactive.perl:1568
 msgid "No other hunks to goto\n"
-msgstr "Không còn hunk nào để mà nhảy đến\n"
+msgstr "Không còn khúc nào để mà nhảy đến\n"
 
-#: git-add--interactive.perl:1529
+#: git-add--interactive.perl:1575
 msgid "go to which hunk (<ret> to see more)? "
-msgstr "nhảy đến hunk nào (<ret> để xem thêm)? "
+msgstr "nhảy đến khúc nào (<ret> để xem thêm)? "
 
-#: git-add--interactive.perl:1531
+#: git-add--interactive.perl:1577
 msgid "go to which hunk? "
-msgstr "nhảy đến hunk nào? "
+msgstr "nhảy đến khúc nào? "
 
-#: git-add--interactive.perl:1540
+#: git-add--interactive.perl:1586
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Số không hợp lệ: “%s”\n"
 
-#: git-add--interactive.perl:1545
+#: git-add--interactive.perl:1591
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
-msgstr[0] "Rất tiếc, chỉ có sẵn %d hunk..\n"
+msgstr[0] "Rất tiếc, chỉ có sẵn %d khúc.\n"
 
-#: git-add--interactive.perl:1571
+#: git-add--interactive.perl:1617
 msgid "No other hunks to search\n"
-msgstr "Không còn hunk nào để mà tìm kiếm\n"
+msgstr "Không còn khúc nào để mà tìm kiếm\n"
 
-#: git-add--interactive.perl:1575
+#: git-add--interactive.perl:1621
 msgid "search for regex? "
-msgstr "tìm kiếm cho regex? "
+msgstr "tìm kiếm cho biểu thức chính quy? "
 
-#: git-add--interactive.perl:1588
+#: git-add--interactive.perl:1634
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Định dạng tìm kiếm của biểu thức chính quy không đúng %s: %s\n"
 
-#: git-add--interactive.perl:1598
+#: git-add--interactive.perl:1644
 msgid "No hunk matches the given pattern\n"
-msgstr "Không thấy hunk nào khớp mẫu đã cho\n"
+msgstr "Không thấy khúc nào khớp mẫu đã cho\n"
 
-#: git-add--interactive.perl:1610 git-add--interactive.perl:1632
+#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
 msgid "No previous hunk\n"
-msgstr "Không có hunk kế trước\n"
+msgstr "Không có khúc kế trước\n"
 
-#: git-add--interactive.perl:1619 git-add--interactive.perl:1638
+#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
 msgid "No next hunk\n"
-msgstr "Không có hunk kế tiếp\n"
+msgstr "Không có khúc kế tiếp\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1690
 msgid "Sorry, cannot split this hunk\n"
-msgstr "Rất tiếc, không thể chia nhỏ hunk này\n"
+msgstr "Rất tiếc, không thể chia nhỏ khúc này\n"
 
-#: git-add--interactive.perl:1650
+#: git-add--interactive.perl:1696
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
-msgstr[0] "Chi nhỏ thành %d hunks.\n"
+msgstr[0] "Chi nhỏ thành %d khúc.\n"
 
-#: git-add--interactive.perl:1660
+#: git-add--interactive.perl:1706
 msgid "Sorry, cannot edit this hunk\n"
-msgstr "Rất tiếc, không thể sửa hunk này\n"
+msgstr "Rất tiếc, không thể sửa khúc này\n"
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1752
 msgid "Review diff"
 msgstr "Xem xét lại diff"
 
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1725
+#: git-add--interactive.perl:1771
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -22759,23 +23285,24 @@ msgstr ""
 "đặt lên bệ phóng\n"
 "revert        - hoàn nguyên tập hợp các thay đổi đã đặt lên bệ phóng trở lại "
 "phiên bản HEAD\n"
-"patch         - cậy các hunk và cập nhật có lựa chọn\n"
+"patch         - cậy các khúc và cập nhật có lựa chọn\n"
 "diff\t      - xem khác biệt giữa HEAD và mục lục\n"
 "add untracked - thêm nội dung các các tập tin chưa theo dõi và tập hợp các "
 "thay đổi đã đặt lên bệ phóng\n"
 
-#: git-add--interactive.perl:1742 git-add--interactive.perl:1747
-#: git-add--interactive.perl:1750 git-add--interactive.perl:1757
-#: git-add--interactive.perl:1761 git-add--interactive.perl:1767
+#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
+#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
+#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
+#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
 msgid "missing --"
 msgstr "thiếu --"
 
-#: git-add--interactive.perl:1763
+#: git-add--interactive.perl:1819
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "không hiểu chế độ --patch: %s"
 
-#: git-add--interactive.perl:1769 git-add--interactive.perl:1775
+#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "đối số không hợp lệ %s, cần --"
@@ -22788,30 +23315,30 @@ msgstr "múi giờ nội bộ khác biệt với GMT bởi khoảng thời gian
 msgid "local time offset greater than or equal to 24 hours\n"
 msgstr "khoảng bù thời gian nội bộ lớn hơn hoặc bằng 24 giờ\n"
 
-#: git-send-email.perl:219 git-send-email.perl:225
+#: git-send-email.perl:223 git-send-email.perl:229
 msgid "the editor exited uncleanly, aborting everything"
 msgstr "trình soạn thảo thoát không sạch sẽ, bãi bỏ mọi thứ"
 
-#: git-send-email.perl:302
+#: git-send-email.perl:310
 #, perl-format
 msgid ""
 "'%s' contains an intermediate version of the email you were composing.\n"
 msgstr "“%s” có chưa một phiên bản trung gian của thư bạn đã soạn.\n"
 
-#: git-send-email.perl:307
+#: git-send-email.perl:315
 #, perl-format
 msgid "'%s.final' contains the composed email.\n"
 msgstr "“%s.final” chứa thư điện tử đã soạn thảo.\n"
 
-#: git-send-email.perl:326
+#: git-send-email.perl:408
 msgid "--dump-aliases incompatible with other options\n"
 msgstr "--dump-aliases xung khắc với các tùy chọn khác\n"
 
-#: git-send-email.perl:395 git-send-email.perl:656
+#: git-send-email.perl:481 git-send-email.perl:683
 msgid "Cannot run git format-patch from outside a repository\n"
 msgstr "Không thể chạy git format-patch ở ngoài một kho chứa\n"
 
-#: git-send-email.perl:398
+#: git-send-email.perl:484
 msgid ""
 "`batch-size` and `relogin` must be specified together (via command-line or "
 "configuration option)\n"
@@ -22819,37 +23346,37 @@ msgstr ""
 "“batch-size” và “relogin” phải được chỉ định cùng với nhau (thông qua dòng "
 "lệnh hoặc tùy chọn cấu hình)\n"
 
-#: git-send-email.perl:470
+#: git-send-email.perl:497
 #, perl-format
 msgid "Unknown --suppress-cc field: '%s'\n"
 msgstr "Không hiểu trường --suppress-cc: “%s”\n"
 
-#: git-send-email.perl:501
+#: git-send-email.perl:528
 #, perl-format
 msgid "Unknown --confirm setting: '%s'\n"
 msgstr "Không hiểu cài đặt --confirm: “%s”\n"
 
-#: git-send-email.perl:529
+#: git-send-email.perl:556
 #, perl-format
 msgid "warning: sendmail alias with quotes is not supported: %s\n"
 msgstr "cảnh báo: bí danh sendmail với dấu trích dẫn không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:531
+#: git-send-email.perl:558
 #, perl-format
 msgid "warning: `:include:` not supported: %s\n"
 msgstr "cảnh báo: “:include:“ không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:533
+#: git-send-email.perl:560
 #, perl-format
 msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
 msgstr "cảnh báo: chuyển hướng “/file“ hay “|pipe“ không được hỗ trợ: %s\n"
 
-#: git-send-email.perl:538
+#: git-send-email.perl:565
 #, perl-format
 msgid "warning: sendmail line is not recognized: %s\n"
 msgstr "cảnh báo: dòng sendmail không nhận ra được: %s\n"
 
-#: git-send-email.perl:622
+#: git-send-email.perl:649
 #, perl-format
 msgid ""
 "File '%s' exists but it could also be the range of commits\n"
@@ -22864,12 +23391,12 @@ msgstr ""
 "    * Nói \"./%s\" nếu ý bạn là một tập tin; hoặc\n"
 "    * Đưa ra tùy chọn --format-patch nếu ý bạn là chuẩn bị.\n"
 
-#: git-send-email.perl:643
+#: git-send-email.perl:670
 #, perl-format
 msgid "Failed to opendir %s: %s"
 msgstr "Gặp lỗi khi mở thư mục “%s”: %s"
 
-#: git-send-email.perl:667
+#: git-send-email.perl:694
 #, perl-format
 msgid ""
 "fatal: %s: %s\n"
@@ -22878,7 +23405,7 @@ msgstr ""
 "nghiêm trọng: %s: %s\n"
 "cảnh báo: không có miếng vá nào được gửi đi\n"
 
-#: git-send-email.perl:678
+#: git-send-email.perl:705
 msgid ""
 "\n"
 "No patch files specified!\n"
@@ -22888,17 +23415,17 @@ msgstr ""
 "Chưa chỉ định các tập tin miếng vá!\n"
 "\n"
 
-#: git-send-email.perl:691
+#: git-send-email.perl:718
 #, perl-format
 msgid "No subject line in %s?"
 msgstr "Không có dòng chủ đề trong %s?"
 
-#: git-send-email.perl:701
+#: git-send-email.perl:728
 #, perl-format
 msgid "Failed to open for writing %s: %s"
 msgstr "Gặp lỗi khi mở “%s” để ghi: %s"
 
-#: git-send-email.perl:712
+#: git-send-email.perl:739
 msgid ""
 "Lines beginning in \"GIT:\" will be removed.\n"
 "Consider including an overall diffstat or table of contents\n"
@@ -22912,27 +23439,27 @@ msgstr ""
 "\n"
 "Xóa nội dung phần thân nếu bạn không muốn gửi tóm tắt.\n"
 
-#: git-send-email.perl:736
+#: git-send-email.perl:763
 #, perl-format
 msgid "Failed to open %s: %s"
 msgstr "Gặp lỗi khi mở “%s”: %s"
 
-#: git-send-email.perl:753
+#: git-send-email.perl:780
 #, perl-format
 msgid "Failed to open %s.final: %s"
 msgstr "Gặp lỗi khi mở %s.final: %s"
 
-#: git-send-email.perl:796
+#: git-send-email.perl:823
 msgid "Summary email is empty, skipping it\n"
 msgstr "Thư tổng thể là trống rỗng, nên bỏ qua nó\n"
 
 #. TRANSLATORS: please keep [y/N] as is.
-#: git-send-email.perl:831
+#: git-send-email.perl:858
 #, perl-format
 msgid "Are you sure you want to use <%s> [y/N]? "
 msgstr "Bạn có chắc muốn dùng <%s> [y/N]? "
 
-#: git-send-email.perl:886
+#: git-send-email.perl:913
 msgid ""
 "The following files are 8bit, but do not declare a Content-Transfer-"
 "Encoding.\n"
@@ -22940,11 +23467,11 @@ msgstr ""
 "Các trường sau đây là 8bit, nhưng không khai báo một Content-Transfer-"
 "Encoding.\n"
 
-#: git-send-email.perl:891
+#: git-send-email.perl:918
 msgid "Which 8bit encoding should I declare [UTF-8]? "
 msgstr "Bảng mã 8bit nào tôi nên khai báo [UTF-8]? "
 
-#: git-send-email.perl:899
+#: git-send-email.perl:926
 #, perl-format
 msgid ""
 "Refusing to send because the patch\n"
@@ -22957,20 +23484,20 @@ msgstr ""
 "có chủ đề ở dạng mẫu “*** SUBJECT HERE ***”. Dùng --force nếu bạn thực sự "
 "muốn gửi.\n"
 
-#: git-send-email.perl:918
+#: git-send-email.perl:945
 msgid "To whom should the emails be sent (if anyone)?"
 msgstr "Tới người mà thư được gửi (nếu có)?"
 
-#: git-send-email.perl:936
+#: git-send-email.perl:963
 #, perl-format
 msgid "fatal: alias '%s' expands to itself\n"
 msgstr "nghiêm trọng: bí danh “%s” được khai triển thành chính nó\n"
 
-#: git-send-email.perl:948
+#: git-send-email.perl:975
 msgid "Message-ID to be used as In-Reply-To for the first email (if any)? "
 msgstr "Message-ID được dùng như là In-Reply-To cho thư đầu tiên (nếu có)? "
 
-#: git-send-email.perl:1006 git-send-email.perl:1014
+#: git-send-email.perl:1033 git-send-email.perl:1041
 #, perl-format
 msgid "error: unable to extract a valid address from: %s\n"
 msgstr "lỗi: không thể rút trích một địa chỉ hợp lệ từ: %s\n"
@@ -22978,16 +23505,16 @@ msgstr "lỗi: không thể rút trích một địa chỉ hợp lệ từ: %s\n
 #. TRANSLATORS: Make sure to include [q] [d] [e] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1018
+#: git-send-email.perl:1045
 msgid "What to do with this address? ([q]uit|[d]rop|[e]dit): "
 msgstr "Làm gì với địa chỉ này? (thoát[q]|xóa[d]|sửa[e]): "
 
-#: git-send-email.perl:1335
+#: git-send-email.perl:1362
 #, perl-format
 msgid "CA path \"%s\" does not exist"
 msgstr "Đường dẫn CA “%s” không tồn tại"
 
-#: git-send-email.perl:1418
+#: git-send-email.perl:1445
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"
@@ -23014,134 +23541,228 @@ msgstr ""
 #. TRANSLATORS: Make sure to include [y] [n] [e] [q] [a] in your
 #. translation. The program will only accept English input
 #. at this point.
-#: git-send-email.perl:1433
+#: git-send-email.perl:1460
 msgid "Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): "
 msgstr "Gửi thư này chứ? ([y]có|[n]không|[e]sửa|[q]thoát|[a]tất): "
 
-#: git-send-email.perl:1436
+#: git-send-email.perl:1463
 msgid "Send this email reply required"
 msgstr "Gửi thư này trả lời yêu cầu"
 
-#: git-send-email.perl:1464
+#: git-send-email.perl:1491
 msgid "The required SMTP server is not properly defined."
 msgstr "Máy phục vụ SMTP chưa được định nghĩa một cách thích hợp."
 
-#: git-send-email.perl:1511
+#: git-send-email.perl:1538
 #, perl-format
 msgid "Server does not support STARTTLS! %s"
 msgstr "Máy chủ không hỗ trợ STARTTLS! %s"
 
-#: git-send-email.perl:1516 git-send-email.perl:1520
+#: git-send-email.perl:1543 git-send-email.perl:1547
 #, perl-format
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS gặp lỗi! %s"
 
-#: git-send-email.perl:1529
+#: git-send-email.perl:1556
 msgid "Unable to initialize SMTP properly. Check config and use --smtp-debug."
 msgstr ""
 "Không thể khởi tạo SMTP một cách đúng đắn. Kiểm tra cấu hình và dùng --smtp-"
 "debug."
 
-#: git-send-email.perl:1547
+#: git-send-email.perl:1574
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "Gặp lỗi khi gửi %s\n"
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Thử gửi %s\n"
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1577
 #, perl-format
 msgid "Sent %s\n"
 msgstr "Gửi %s\n"
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1579
 msgid "Dry-OK. Log says:\n"
 msgstr "Dry-OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1552
+#: git-send-email.perl:1579
 msgid "OK. Log says:\n"
 msgstr "OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1564
+#: git-send-email.perl:1591
 msgid "Result: "
 msgstr "Kết quả: "
 
-#: git-send-email.perl:1567
+#: git-send-email.perl:1594
 msgid "Result: OK\n"
 msgstr "Kết quả: Tốt\n"
 
-#: git-send-email.perl:1585
+#: git-send-email.perl:1612
 #, perl-format
 msgid "can't open file %s"
 msgstr "không thể mở tập tin “%s”"
 
-#: git-send-email.perl:1632 git-send-email.perl:1652
+#: git-send-email.perl:1659 git-send-email.perl:1679
 #, perl-format
 msgid "(mbox) Adding cc: %s from line '%s'\n"
 msgstr "(mbox) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1638
+#: git-send-email.perl:1665
 #, perl-format
 msgid "(mbox) Adding to: %s from line '%s'\n"
 msgstr "(mbox) Đang thêm to: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1691
+#: git-send-email.perl:1718
 #, perl-format
 msgid "(non-mbox) Adding cc: %s from line '%s'\n"
 msgstr "(non-mbox) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1726
+#: git-send-email.perl:1753
 #, perl-format
 msgid "(body) Adding cc: %s from line '%s'\n"
 msgstr "(body) Thêm cc: %s từ dòng “%s”\n"
 
-#: git-send-email.perl:1837
+#: git-send-email.perl:1864
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Không thể thực thi “%s”"
 
-#: git-send-email.perl:1844
+#: git-send-email.perl:1871
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Đang thêm %s: %s từ: “%s”\n"
 
-#: git-send-email.perl:1848
+#: git-send-email.perl:1875
 #, perl-format
 msgid "(%s) failed to close pipe to '%s'"
 msgstr "(%s) gặp lỗi khi đóng đường ống đến “%s”"
 
-#: git-send-email.perl:1878
+#: git-send-email.perl:1905
 msgid "cannot send message as 7bit"
 msgstr "không thể lấy gửi thư dạng 7 bít"
 
-#: git-send-email.perl:1886
+#: git-send-email.perl:1913
 msgid "invalid transfer encoding"
 msgstr "bảng mã truyền không hợp lệ"
 
-#: git-send-email.perl:1927 git-send-email.perl:1979 git-send-email.perl:1989
+#: git-send-email.perl:1954 git-send-email.perl:2006 git-send-email.perl:2016
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: git-send-email.perl:1930
+#: git-send-email.perl:1957
 #, perl-format
 msgid "%s: patch contains a line longer than 998 characters"
 msgstr "%s: miếng vá có chứa dòng dài hơn 998 ký tự"
 
-#: git-send-email.perl:1947
+#: git-send-email.perl:1974
 #, 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:1951
+#: git-send-email.perl:1978
 #, 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): "
 
+#~ msgid ""
+#~ "Fetch normally indicates which branches had a forced update, but that "
+#~ "check has been disabled."
+#~ msgstr ""
+#~ "Lấy về bình thường cho biết các các nhánh nào buộc phải cập nhật, nhưng "
+#~ "việc kiểm tra đã bị vô hiệu hóa."
+
+#~ msgid ""
+#~ "or run 'git config fetch.showForcedUpdates false' to avoid this check.\n"
+#~ msgstr ""
+#~ "hoặc chạy 'git config fetch.showForcedUpdates false' để tránh kiểm tra "
+#~ "này.\n"
+
+#~ msgid ""
+#~ "log.mailmap is not set; its implicit value will change in an\n"
+#~ "upcoming release. To squelch this message and preserve current\n"
+#~ "behaviour, set the log.mailmap configuration value to false.\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behaviour now, set the\n"
+#~ "log.mailmap configuration value to true.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'log.mailmap' for further "
+#~ "information."
+#~ msgstr ""
+#~ "log.mailmap không được đặt; giá trị ngầm của nó sẽ thay đổi trong một\n"
+#~ "phát hành sắp tới. Để chấm dứt thông báo này và duy trì hành xử\n"
+#~ "hiện tại, đặt giá trị cấu hình log.mailmap thành false.\n"
+#~ "\n"
+#~ "Để làm chấm dứt thông báo này và áp cách hành xử mới, hãy đặt\n"
+#~ "giá trị cấu hình log.mailmap true.\n"
+#~ "\n"
+#~ "Xem 'git help config ' và tìm kiếm ' log.mailmap ' để biết thêm thông tin."
+
+#~ msgid "Server supports multi_ack_detailed"
+#~ msgstr "Máy chủ hỗ trợ multi_ack_detailed"
+
+#~ msgid "Server supports no-done"
+#~ msgstr "Máy chủ hỗ trợ no-done"
+
+#~ msgid "Server supports multi_ack"
+#~ msgstr "Máy chủ hỗ trợ multi_ack"
+
+#~ msgid "Server supports side-band-64k"
+#~ msgstr "Máy chủ hỗ trợ side-band-64k"
+
+#~ msgid "Server supports side-band"
+#~ msgstr "Máy chủ hỗ trợ side-band"
+
+#~ msgid "Server supports allow-tip-sha1-in-want"
+#~ msgstr "Máy chủ hỗ trợ allow-tip-sha1-in-want"
+
+#~ msgid "Server supports allow-reachable-sha1-in-want"
+#~ msgstr "Máy chủ hỗ trợ allow-reachable-sha1-in-want"
+
+#~ msgid "Server supports ofs-delta"
+#~ msgstr "Máy chủ hỗ trợ ofs-delta"
+
+#~ msgid "(HEAD detached at %s)"
+#~ msgstr "(HEAD được tách rời tại %s)"
+
+#~ msgid "(HEAD detached from %s)"
+#~ msgstr "(HEAD được tách rời từ %s)"
+
+#~ msgid "Checking out files"
+#~ msgstr "Đang lấy ra các tập tin"
+
+#~ msgid "cannot be interactive without stdin connected to a terminal."
+#~ msgstr ""
+#~ "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối."
+
+#~ msgid "failed to open '%s'"
+#~ msgstr "gặp lỗi khi mở “%s”"
+
+#~ msgid "failed to stat %s\n"
+#~ msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
+
+#~ msgid ""
+#~ "If you wish to skip this commit, use:\n"
+#~ "\n"
+#~ "    git reset\n"
+#~ "\n"
+#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n"
+#~ "the remaining commits.\n"
+#~ msgstr ""
+#~ "Nếu bạn muốn bỏ qua lần chuyển giao này thì dùng:\n"
+#~ "\n"
+#~ "    git reset\n"
+#~ "\n"
+#~ "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n"
+#~ "những lần chuyển giao còn lại.\n"
+
+#~ msgid "unrecognized verb: %s"
+#~ msgstr "verb không được thừa nhận: %s"
+
 #~ msgid "hash version %X does not match version %X"
 #~ msgstr "phiên bản băm “%X” không có phiên bản khớp %X"
 
@@ -23248,10 +23869,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgstr ""
 #~ "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…"
 
-#, fuzzy
-#~ msgid "--reschedule-failed-exec requires an interactive rebase"
-#~ msgstr "%s cần một cải tổ kiểu tương tác"
-
 #~ msgid "ignoring unknown color-moved-ws mode '%s'"
 #~ msgstr "bỏ qua chế độ color-moved-ws chưa biết “%s”"
 
@@ -23324,12 +23941,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "cannot remove a locked working tree"
 #~ msgstr "không thể gỡ bỏ một cây-làm-việc bị khóa"
 
-#~ msgid "Applied autostash."
-#~ msgstr "Đã áp dụng autostash."
-
-#~ msgid "Cannot store $stash_sha1"
-#~ msgstr "Không thể lưu $stash_sha1"
-
 #~ msgid ""
 #~ "\n"
 #~ "\tHowever, if you remove everything, the rebase will be aborted.\n"