Merge branch 'jn/mailmap-update'
[gitweb.git] / po / vi.po
index dbc028bca75a36f1aff0f050df5783c9ee010143..bc79319b679eaa6f95b826c33e0276819fa7664f 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git v2.18.0.round3\n"
+"Project-Id-Version: git v2.119.0_round2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2018-06-16 22:06+0800\n"
-"PO-Revision-Date: 2018-06-17 07:06+0700\n"
+"POT-Creation-Date: 2018-09-04 08:50+0800\n"
+"PO-Revision-Date: 2018-09-07 13:38+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:92
+#: advice.c:97
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sgợi ý: %.*s%s\n"
 
-#: advice.c:137
+#: advice.c:150
 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:139
+#: advice.c:152
 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:141
+#: advice.c:154
 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:143
+#: advice.c:156
 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:145
+#: advice.c:158
 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:147
+#: advice.c:160
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr ""
 "Nó là 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:155
+#: advice.c:168
 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,23 +68,23 @@ 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:163
+#: advice.c:176
 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:168 builtin/merge.c:1250
+#: advice.c:181 builtin/merge.c:1286
 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:170
+#: advice.c:183
 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:171
+#: advice.c:184
 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:177
+#: advice.c:190
 #, c-format
 msgid ""
 "Note: checking out '%s'.\n"
@@ -113,95 +113,95 @@ msgstr ""
 "  git checkout -b <tên-nhánh-mới>\n"
 "\n"
 
-#: apply.c:58
+#: apply.c:59
 #, 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:74
+#: apply.c:75
 #, 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:122
+#: apply.c:125
 msgid "--reject and --3way cannot be used together."
 msgstr "--reject và --3way không thể dùng cùng nhau."
 
-#: apply.c:124
+#: apply.c:127
 msgid "--cached and --3way cannot be used together."
 msgstr "--cached và --3way không thể dùng cùng nhau."
 
-#: apply.c:127
+#: apply.c:130
 msgid "--3way outside a repository"
 msgstr "--3way ở ngoài một kho chứa"
 
-#: apply.c:138
+#: apply.c:141
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: apply.c:141
+#: apply.c:144
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: apply.c:821
+#: apply.c:826
 #, 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:830
+#: apply.c:835
 #, 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:904
+#: apply.c:909
 #, 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:942
+#: apply.c:947
 #, 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:948
+#: apply.c:953
 #, 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:949
+#: apply.c:954
 #, 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:954
+#: apply.c:959
 #, 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:983
+#: apply.c:988
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "chế độ không hợp lệ trên dòng %d: %s"
 
-#: apply.c:1301
+#: apply.c:1306
 #, c-format
 msgid "inconsistent header lines %d and %d"
 msgstr "phần đầu mâu thuẫn dòng %d và %d"
 
-#: apply.c:1473
+#: apply.c:1478
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "chi tiết: dòng không cần: %.*s"
 
-#: apply.c:1542
+#: apply.c:1547
 #, 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:1562
+#: apply.c:1567
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -213,81 +213,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:1575
+#: apply.c:1580
 #, 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:1763
+#: apply.c:1768
 msgid "new file depends on old contents"
 msgstr "tập tin mới phụ thuộc vào nội dung cũ"
 
-#: apply.c:1765
+#: apply.c:1770
 msgid "deleted file still has contents"
 msgstr "tập tin đã xóa vẫn còn nội dung"
 
-#: apply.c:1799
+#: apply.c:1804
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "miếng vá hỏng tại dòng %d"
 
-#: apply.c:1836
+#: apply.c:1841
 #, 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:1838
+#: apply.c:1843
 #, 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:1841
+#: apply.c:1846
 #, 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:1988
+#: apply.c:1993
 #, 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:2025
+#: apply.c:2030
 #, 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:2185
+#: apply.c:2190
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "vá chỉ với “rác” tại dòng %d"
 
-#: apply.c:2271
+#: apply.c:2276
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: apply.c:2275
+#: apply.c:2280
 #, c-format
 msgid "unable to open or read %s"
 msgstr "không thể mở hay đọc %s"
 
-#: apply.c:2934
+#: apply.c:2939
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "sai khởi đầu dòng: “%c”"
 
-#: apply.c:3055
+#: apply.c:3060
 #, 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:3067
+#: apply.c:3072
 #, 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:3073
+#: apply.c:3078
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -296,566 +296,620 @@ msgstr ""
 "trong khi đang tìm kiếm cho:\n"
 "%.*s"
 
-#: apply.c:3095
+#: apply.c:3100
 #, 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:3103
+#: apply.c:3108
 #, 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 "
 "“%s”"
 
-#: apply.c:3149
+#: apply.c:3154
 #, 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:3159
+#: apply.c:3164
 #, 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:3167
+#: apply.c:3172
 #, 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:3185
+#: apply.c:3190
 #, 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:3198
+#: apply.c:3203
 #, 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:3204
+#: apply.c:3209
 #, 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:3225
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "gặp lỗi khi vá: %s:%ld"
 
-#: apply.c:3347
+#: apply.c:3352
 #, c-format
 msgid "cannot checkout %s"
 msgstr "không thể lấy ra %s"
 
-#: apply.c:3396 apply.c:3407 apply.c:3453 setup.c:278
+#: apply.c:3404 apply.c:3415 apply.c:3461 setup.c:278
 #, c-format
 msgid "failed to read %s"
 msgstr "gặp lỗi khi đọc %s"
 
-#: apply.c:3404
+#: apply.c:3412
 #, 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:3433 apply.c:3673
+#: apply.c:3441 apply.c:3681
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "đường dẫn %s đã bị xóa hoặc đổi tên"
 
-#: apply.c:3516 apply.c:3687
+#: apply.c:3524 apply.c:3696
 #, 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:3525 apply.c:3695
+#: apply.c:3533 apply.c:3704
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s: không khớp trong mục lục"
 
-#: apply.c:3560
+#: apply.c:3568
 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:3563
+#: apply.c:3571
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Đang trở lại hòa trộn “3-đường”…\n"
 
-#: apply.c:3579 apply.c:3583
+#: apply.c:3587 apply.c:3591
 #, 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:3595
+#: apply.c:3603
 #, 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:3609
+#: apply.c:3617
 #, 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:3614
+#: apply.c:3622
 #, 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:3640
+#: apply.c:3648
 msgid "removal patch leaves file contents"
 msgstr "loại bỏ miếng vá để lại nội dung tập tin"
 
-#: apply.c:3712
+#: apply.c:3721
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: sai kiểu"
 
-#: apply.c:3714
+#: apply.c:3723
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s có kiểu %o, cần %o"
 
-#: apply.c:3864 apply.c:3866
+#: apply.c:3874 apply.c:3876
 #, c-format
 msgid "invalid path '%s'"
 msgstr "đường dẫn không hợp lệ “%s”"
 
-#: apply.c:3922
+#: apply.c:3932
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: apply.c:3925
+#: apply.c:3935
 #, 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:3945
+#: apply.c:3955
 #, 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:3950
+#: apply.c:3960
 #, 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:3970
+#: apply.c:3980
 #, 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:3974
+#: apply.c:3984
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: apply.c:3989
+#: apply.c:3999
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s…"
 
-#: apply.c:4080
+#: apply.c:4091
 #, 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:4087
+#: apply.c:4098
 #, 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:4090
+#: apply.c:4101
 #, 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:4095 builtin/checkout.c:235 builtin/reset.c:140
+#: apply.c:4106 builtin/checkout.c:237 builtin/reset.c:140
 #, 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:4099
+#: apply.c:4110
 #, 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:4109
+#: apply.c:4120
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "không thểghi mục lục tạm vào %s"
 
-#: apply.c:4247
+#: apply.c:4258
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: apply.c:4282
+#: apply.c:4292
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "miếng vá sai hỏng cho mô-đun-con %s"
 
-#: apply.c:4288
+#: apply.c:4298
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy thống kề về tập tin %s mới hơn đã được tạo"
 
-#: apply.c:4296
+#: apply.c:4306
 #, 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:4302 apply.c:4446
+#: apply.c:4312 apply.c:4457
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ đệm cho %s"
 
-#: apply.c:4343
+#: apply.c:4355
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "gặp lỗi khi ghi vào “%s”"
 
-#: apply.c:4347
+#: apply.c:4359
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin “%s”"
 
-#: apply.c:4417
+#: apply.c:4429
 #, 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:4515
+#: apply.c:4527
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng vá %s một cách sạch sẽ."
 
-#: apply.c:4523
+#: apply.c:4535
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
-#: apply.c:4526
+#: apply.c:4538
 #, 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:4537
+#: apply.c:4549
 #, 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:4545 builtin/fetch.c:786 builtin/fetch.c:1036
+#: apply.c:4557 builtin/fetch.c:780 builtin/fetch.c:1048
 #, c-format
 msgid "cannot open %s"
 msgstr "không mở được “%s”"
 
-#: apply.c:4559
+#: apply.c:4571
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: apply.c:4563
+#: apply.c:4575
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "đoạn dữ liệu #%d bị từ chối."
 
-#: apply.c:4673
+#: apply.c:4685
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "bỏ qua đường dẫn “%s”."
 
-#: apply.c:4681
+#: apply.c:4693
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: apply.c:4700
+#: apply.c:4712
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: apply.c:4837
+#: apply.c:4849
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "không thể mở miếng vá “%s”: %s"
 
-#: apply.c:4864
+#: apply.c:4876
 #, 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:4870 apply.c:4885
+#: apply.c:4882 apply.c:4897
 #, 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:4878
+#: apply.c:4890
 #, 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:4894 builtin/add.c:538 builtin/mv.c:300 builtin/rm.c:389
+#: apply.c:4906 builtin/add.c:539 builtin/mv.c:300 builtin/rm.c:389
 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:4921 apply.c:4924 builtin/am.c:2254 builtin/am.c:2257
-#: builtin/clone.c:120 builtin/fetch.c:126 builtin/pull.c:198
-#: builtin/submodule--helper.c:405 builtin/submodule--helper.c:1210
-#: builtin/submodule--helper.c:1213 builtin/submodule--helper.c:1584
-#: builtin/submodule--helper.c:1587 builtin/submodule--helper.c:1807
-#: git-add--interactive.perl:197
+#: apply.c:4933 apply.c:4936 builtin/am.c:2254 builtin/am.c:2257
+#: builtin/clone.c:121 builtin/fetch.c:115 builtin/merge.c:260
+#: builtin/pull.c:198 builtin/submodule--helper.c:406
+#: builtin/submodule--helper.c:1355 builtin/submodule--helper.c:1358
+#: builtin/submodule--helper.c:1729 builtin/submodule--helper.c:1732
+#: builtin/submodule--helper.c:1952 git-add--interactive.perl:197
 msgid "path"
 msgstr "đường-dẫn"
 
-#: apply.c:4922
+#: apply.c:4934
 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:4925
+#: apply.c:4937
 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:4927 builtin/am.c:2263
+#: apply.c:4939 builtin/am.c:2263
 msgid "num"
 msgstr "số"
 
-#: apply.c:4928
+#: apply.c:4940
 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:4931
+#: apply.c:4943
 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:4933
+#: apply.c:4945
 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:4937
+#: apply.c:4949
 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:4939
+#: apply.c:4951
 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:4941
+#: apply.c:4953
 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:4943
+#: apply.c:4955
 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:4945
+#: apply.c:4957
+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:4959
 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:4947
+#: apply.c:4961
 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:4950
+#: apply.c:4964
 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:4952
+#: apply.c:4966
 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:4954
+#: apply.c:4968
 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:4957 builtin/checkout-index.c:168 builtin/ls-files.c:515
+#: apply.c:4971 builtin/checkout-index.c:168 builtin/ls-files.c:516
 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:4959
+#: apply.c:4973
 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:4960 builtin/am.c:2242 builtin/interpret-trailers.c:95
+#: apply.c:4974 builtin/am.c:2242 builtin/interpret-trailers.c:95
 #: builtin/interpret-trailers.c:97 builtin/interpret-trailers.c:99
-#: builtin/pack-objects.c:3177
+#: builtin/pack-objects.c:3202
 msgid "action"
 msgstr "hành động"
 
-#: apply.c:4961
+#: apply.c:4975
 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:4964 apply.c:4967
+#: apply.c:4978 apply.c:4981
 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:4970
+#: apply.c:4984
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: apply.c:4972
+#: apply.c:4986
 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:4974
+#: apply.c:4988
 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:4976
+#: apply.c:4990
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: apply.c:4977 builtin/add.c:290 builtin/check-ignore.c:21
-#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:666
-#: builtin/log.c:1901 builtin/mv.c:122 builtin/read-tree.c:124
+#: apply.c:4991 builtin/add.c:290 builtin/check-ignore.c:21
+#: builtin/commit.c:1301 builtin/count-objects.c:98 builtin/fsck.c:671
+#: builtin/log.c:1914 builtin/mv.c:122 builtin/read-tree.c:124
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: apply.c:4979
+#: apply.c:4993
 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:4982
+#: apply.c:4996
 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:4984 builtin/am.c:2251
+#: apply.c:4998 builtin/am.c:2251
 msgid "root"
 msgstr "gốc"
 
-#: apply.c:4985
+#: apply.c:4999
 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:13
+#: archive.c:14
 msgid "git archive [<options>] <tree-ish> [<path>...]"
 msgstr "git archive [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>…]"
 
-#: archive.c:14
+#: archive.c:15
 msgid "git archive --list"
 msgstr "git archive --list"
 
-#: archive.c:15
+#: archive.c:16
 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>…]"
 
-#: archive.c:16
+#: archive.c:17
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <kho> [--exec <lệnh>] --list"
 
-#: archive.c:351 builtin/add.c:176 builtin/add.c:514 builtin/rm.c:298
+#: archive.c:363 builtin/add.c:176 builtin/add.c:515 builtin/rm.c:298
 #, c-format
 msgid "pathspec '%s' did not match any files"
 msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào"
 
-#: archive.c:434
+#: archive.c:446
 msgid "fmt"
 msgstr "định_dạng"
 
-#: archive.c:434
+#: archive.c:446
 msgid "archive format"
 msgstr "định dạng lưu trữ"
 
-#: archive.c:435 builtin/log.c:1462
+#: archive.c:447 builtin/log.c:1473
 msgid "prefix"
 msgstr "tiền_tố"
 
-#: archive.c:436
+#: archive.c:448
 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:437 builtin/blame.c:813 builtin/blame.c:814 builtin/config.c:127
-#: builtin/fast-export.c:1007 builtin/fast-export.c:1009 builtin/grep.c:869
-#: builtin/hash-object.c:103 builtin/ls-files.c:551 builtin/ls-files.c:554
-#: builtin/notes.c:405 builtin/notes.c:568 builtin/read-tree.c:119
+#: archive.c:449 builtin/blame.c:816 builtin/blame.c:817 builtin/config.c:126
+#: builtin/fast-export.c:1013 builtin/fast-export.c:1015 builtin/grep.c:873
+#: builtin/hash-object.c:104 builtin/ls-files.c:552 builtin/ls-files.c:555
+#: builtin/notes.c:407 builtin/notes.c:570 builtin/read-tree.c:119
 #: parse-options.h:165
 msgid "file"
 msgstr "tập_tin"
 
-#: archive.c:438 builtin/archive.c:89
+#: archive.c:450 builtin/archive.c:89
 msgid "write the archive to this file"
 msgstr "ghi kho lưu vào tập tin này"
 
-#: archive.c:440
+#: archive.c:452
 msgid "read .gitattributes in working directory"
 msgstr "đọc .gitattributes trong thư mục làm việc"
 
-#: archive.c:441
+#: archive.c:453
 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:442
+#: archive.c:454
 msgid "store only"
 msgstr "chỉ lưu (không nén)"
 
-#: archive.c:443
+#: archive.c:455
 msgid "compress faster"
 msgstr "nén nhanh hơn"
 
-#: archive.c:451
+#: archive.c:463
 msgid "compress better"
 msgstr "nén nhỏ hơn"
 
-#: archive.c:454
+#: archive.c:466
 msgid "list supported archive formats"
 msgstr "liệt kê các kiểu nén được hỗ trợ"
 
-#: archive.c:456 builtin/archive.c:90 builtin/clone.c:110 builtin/clone.c:113
-#: builtin/submodule--helper.c:1222 builtin/submodule--helper.c:1593
+#: archive.c:468 builtin/archive.c:90 builtin/clone.c:111 builtin/clone.c:114
+#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1738
 msgid "repo"
 msgstr "kho"
 
-#: archive.c:457 builtin/archive.c:91
+#: archive.c:469 builtin/archive.c:91
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "nhận kho nén từ kho chứa <kho> trên máy chủ"
 
-#: archive.c:458 builtin/archive.c:92 builtin/notes.c:489
+#: archive.c:470 builtin/archive.c:92 builtin/difftool.c:714
+#: builtin/notes.c:491
 msgid "command"
 msgstr "lệnh"
 
-#: archive.c:459 builtin/archive.c:93
+#: archive.c:471 builtin/archive.c:93
 msgid "path to the remote git-upload-archive command"
 msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
-#: archive.c:466
+#: archive.c:478
 msgid "Unexpected option --remote"
 msgstr "Gặp tùy chọn --remote không cần"
 
-#: archive.c:468
+#: archive.c:480
 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:470
+#: archive.c:482
 msgid "Unexpected option --output"
 msgstr "Gặp tùy chọn không cần --output"
 
-#: archive.c:492
+#: archive.c:504
 #, c-format
 msgid "Unknown archive format '%s'"
 msgstr "Không hiểu định dạng “%s”"
 
-#: archive.c:499
+#: archive.c:511
 #, c-format
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Tham số không được hỗ trợ cho định dạng “%s”: -%d"
 
+#: archive-tar.c:125 archive-zip.c:344
+#, c-format
+msgid "cannot stream blob %s"
+msgstr "không thể stream blob “%s”"
+
+#: archive-tar.c:260 archive-zip.c:361
+#, c-format
+msgid "unsupported file mode: 0%o (SHA1: %s)"
+msgstr "chế độ tập tin lục không được hỗ trợ: 0%o (SHA1: %s)"
+
+#: archive-tar.c:287 archive-zip.c:352
+#, c-format
+msgid "cannot read %s"
+msgstr "không thể đọc %s"
+
+#: archive-tar.c:458
+#, c-format
+msgid "unable to start '%s' filter"
+msgstr "không thể bắt đầu bộ lọc “%s”"
+
+#: archive-tar.c:461
+msgid "unable to redirect descriptor"
+msgstr "không thể chuyển hướng mô tả"
+
+#: archive-tar.c:468
+#, c-format
+msgid "'%s' filter reported error"
+msgstr "bộ lọc “%s” đã báo cáo lỗi"
+
+#: archive-zip.c:313
+#, c-format
+msgid "path is not valid UTF-8: %s"
+msgstr "đường dẫn không hợp lệ UTF-8: %s"
+
+#: archive-zip.c:317
+#, c-format
+msgid "path too long (%d chars, SHA1: %s): %s"
+msgstr "đường dẫn quá dài (%d ký tự, SHA1: %s): %s"
+
+#: archive-zip.c:470 builtin/pack-objects.c:216 builtin/pack-objects.c:219
+#, c-format
+msgid "deflate error (%d)"
+msgstr "lỗi giải nén (%d)"
+
+#: archive-zip.c:605
+#, c-format
+msgid "timestamp too large for this system: %<PRIuMAX>"
+msgstr "dấu vết thời gian là quá lớn cho hệ thống này: %<PRIuMAX>"
+
 #: attr.c:218
 #, c-format
 msgid "%.*s is not a valid attribute name"
@@ -869,22 +923,22 @@ msgstr ""
 "Các mẫu dạng phủ định bị cấm dùng cho các thuộc tính của git\n"
 "Dùng “\\!” cho các chuỗi văn bản có dấu chấm than dẫn đầu."
 
-#: bisect.c:461
+#: bisect.c:467
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
 msgstr "nội dung được trích dẫn sai tập tin “%s”: %s"
 
-#: bisect.c:669
+#: bisect.c:675
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Chúng tôi không bisect thêm nữa!\n"
 
-#: bisect.c:723
+#: bisect.c:729
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "Không phải tên đối tượng commit %s hợp lệ"
 
-#: bisect.c:747
+#: bisect.c:753
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -893,7 +947,7 @@ msgstr ""
 "Hòa trộn trên %s là sai.\n"
 "Điều đó có nghĩa là lỗi đã được sửa chữa giữa %s và [%s].\n"
 
-#: bisect.c:752
+#: bisect.c:758
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -902,7 +956,7 @@ msgstr ""
 "Hòa trộn trên %s là mới.\n"
 "Gần như chắc chắn là có thay đổi giữa %s và [%s].\n"
 
-#: bisect.c:757
+#: bisect.c:763
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -911,7 +965,7 @@ msgstr ""
 "Hòa trộn trên %s là %s.\n"
 "Điều đó có nghĩa là lần chuyển giao “%s” đầu tiên là giữa %s và [%s].\n"
 
-#: bisect.c:765
+#: bisect.c:771
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -922,7 +976,7 @@ msgstr ""
 "git bisect không thể làm việc đúng đắn trong trường hợp này.\n"
 "Liệu có phải bạn nhầm lẫn các điểm %s và %s không?\n"
 
-#: bisect.c:778
+#: bisect.c:784
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -934,36 +988,36 @@ msgstr ""
 "%s.\n"
 "Chúng tôi vẫn cứ tiếp tục."
 
-#: bisect.c:811
+#: bisect.c:817
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bisecting: nền hòa trộn cần phải được kiểm tra\n"
 
-#: bisect.c:851
+#: bisect.c:857
 #, c-format
 msgid "a %s revision is needed"
 msgstr "cần một điểm xét duyệt %s"
 
-#: bisect.c:870 builtin/notes.c:175 builtin/tag.c:236
+#: bisect.c:876 builtin/notes.c:177 builtin/tag.c:237
 #, c-format
 msgid "could not create file '%s'"
 msgstr "không thể tạo tập tin “%s”"
 
-#: bisect.c:921
+#: bisect.c:927 builtin/merge.c:137
 #, c-format
 msgid "could not read file '%s'"
 msgstr "không thể đọc tập tin “%s”"
 
-#: bisect.c:951
+#: bisect.c:957
 msgid "reading bisect refs failed"
 msgstr "việc đọc tham chiếu bisect gặp lỗi"
 
-#: bisect.c:970
+#: bisect.c:976
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s là cả %s và %s\n"
 
-#: bisect.c:978
+#: bisect.c:984
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -972,7 +1026,7 @@ msgstr ""
 "không tìm thấy lần chuyển giao kiểm tra được nào.\n"
 "Có lẽ bạn bắt đầu với các tham số đường dẫn sai?\n"
 
-#: bisect.c:997
+#: bisect.c:1003
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -981,50 +1035,51 @@ msgstr[0] "(ước chừng %d bước)"
 #. TRANSLATORS: the last %s will be replaced with "(roughly %d
 #. steps)" translation.
 #.
-#: bisect.c:1003
+#: bisect.c:1009
 #, c-format
 msgid "Bisecting: %d revision left to test after this %s\n"
 msgid_plural "Bisecting: %d revisions left to test after this %s\n"
 msgstr[0] "Bisecting: còn %d điểm xét duyệt để kiểm sau %s này\n"
 
-#: blame.c:1756
+#: blame.c:1784
 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:1767
+#: blame.c:1798
 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:1787
+#: blame.c:1819
 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"
 
-#: blame.c:1796 bundle.c:160 ref-filter.c:2075 sequencer.c:1861
-#: sequencer.c:3632 builtin/commit.c:981 builtin/log.c:366 builtin/log.c:920
-#: builtin/log.c:1371 builtin/log.c:1702 builtin/log.c:1950 builtin/merge.c:372
+#: blame.c:1828 bundle.c:162 ref-filter.c:2154 sequencer.c:1874
+#: sequencer.c:3772 builtin/commit.c:994 builtin/log.c:372 builtin/log.c:926
+#: builtin/log.c:1381 builtin/log.c:1713 builtin/log.c:1963 builtin/merge.c:404
+#: builtin/pack-objects.c:3029 builtin/pack-objects.c:3044
 #: 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:1814
+#: blame.c:1846
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent cùng nhau yêu cầu vùng cùng với chuỗi cha-mẹ-đầu-"
 "tiên"
 
-#: blame.c:1825
+#: blame.c:1857
 #, c-format
 msgid "no such path %s in %s"
 msgstr "không có đường dẫn %s trong “%s”"
 
-#: blame.c:1836
+#: blame.c:1868
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "không thể đọc blob %s cho đường dẫn “%s”"
 
-#: branch.c:54
+#: branch.c:52
 #, c-format
 msgid ""
 "\n"
@@ -1037,90 +1092,90 @@ msgstr ""
 "thông tin theo dõi máy chủ bằng cách gọi lệnh\n"
 "\"git branch --set-upstream-to=%s%s%s\"."
 
-#: branch.c:68
+#: branch.c:66
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "Chưa cài đặt nhánh %s như là thượng nguồn của nó."
 
-#: branch.c:94
+#: branch.c:92
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi nhánh máy chủ “%s” từ “%s” bằng cách rebase."
 
-#: branch.c:95
+#: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh máy chủ “%s” từ “%s”."
 
-#: branch.c:99
+#: branch.c:97
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh nội bộ “%s” bằng cách rebase."
 
-#: branch.c:100
+#: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi nhánh nội bộ “%s”."
 
-#: branch.c:105
+#: branch.c:103
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi tham chiếu máy chủ “%s” bằng cách rebase."
 
-#: branch.c:106
+#: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi tham chiếu máy chủ “%s”."
 
-#: branch.c:110
+#: branch.c:108
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
 msgstr ""
 "Nhánh “%s” cài đặt để theo dõi tham chiếu nội bộ “%s” bằng cách rebase."
 
-#: branch.c:111
+#: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
 msgstr "Nhánh “%s” cài đặt để theo dõi tham chiếu nội bộ “%s”."
 
-#: branch.c:120
+#: branch.c:118
 msgid "Unable to write upstream branch configuration"
 msgstr "Không thể ghi cấu hình nhánh thượng nguồn"
 
-#: branch.c:157
+#: branch.c:155
 #, c-format
 msgid "Not tracking: ambiguous information for ref %s"
 msgstr "Không theo dõi: thông tin chưa rõ ràng cho tham chiếu %s"
 
-#: branch.c:190
+#: branch.c:188
 #, c-format
 msgid "'%s' is not a valid branch name."
 msgstr "“%s” không phải là một tên nhánh hợp lệ."
 
-#: branch.c:209
+#: branch.c:207
 #, c-format
 msgid "A branch named '%s' already exists."
 msgstr "Đã có nhánh mang tên “%s”."
 
-#: branch.c:214
+#: branch.c:212
 msgid "Cannot force update the current branch."
 msgstr "Không thể ép buộc cập nhật nhánh hiện hành."
 
-#: branch.c:234
+#: branch.c:232
 #, c-format
 msgid "Cannot setup tracking information; starting point '%s' is not a branch."
 msgstr ""
 "Không thể cài đặt thông tin theo dõi; điểm bắt đầu “%s” không phải là một "
 "nhánh."
 
-#: branch.c:236
+#: branch.c:234
 #, c-format
 msgid "the requested upstream branch '%s' does not exist"
 msgstr "nhánh thượng nguồn đã yêu cầu “%s” không tồn tại"
 
-#: branch.c:238
+#: branch.c:236
 msgid ""
 "\n"
 "If you are planning on basing your work on an upstream\n"
@@ -1140,98 +1195,98 @@ msgstr ""
 "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n"
 "\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push."
 
-#: branch.c:281
+#: branch.c:279
 #, c-format
 msgid "Not a valid object name: '%s'."
 msgstr "Không phải tên đối tượng hợp lệ: “%s”."
 
-#: branch.c:301
+#: branch.c:299
 #, c-format
 msgid "Ambiguous object name: '%s'."
 msgstr "Tên đối tượng chưa rõ ràng: “%s”."
 
-#: branch.c:306
+#: branch.c:304
 #, c-format
 msgid "Not a valid branch point: '%s'."
 msgstr "Nhánh không hợp lệ: “%s”."
 
-#: branch.c:360
+#: branch.c:358
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "“%s” đã được lấy ra tại “%s” rồi"
 
-#: branch.c:383
+#: branch.c:381
 #, c-format
 msgid "HEAD of working tree %s is not updated"
 msgstr "HEAD của cây làm việc %s chưa được cập nhật"
 
-#: bundle.c:34
+#: bundle.c:36
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "“%s” không giống như tập tin v2 bundle (định dạng dump của git)"
 
-#: bundle.c:62
+#: bundle.c:64
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
 msgstr "phần đầu không được thừa nhận: %s%s (%d)"
 
-#: bundle.c:88 sequencer.c:2081 sequencer.c:2558 builtin/commit.c:755
+#: bundle.c:90 sequencer.c:2092 sequencer.c:2578 builtin/commit.c:768
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở “%s”"
 
-#: bundle.c:139
+#: bundle.c:141
 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:190
+#: bundle.c:192
 #, 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:197
+#: bundle.c:199
 msgid "The bundle records a complete history."
 msgstr "Lệnh bundle ghi lại toàn bộ lịch sử."
 
-#: bundle.c:199
+#: bundle.c:201
 #, 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:258
+#: bundle.c:260
 msgid "Could not spawn pack-objects"
 msgstr "Không thể sản sinh đối tượng gói"
 
-#: bundle.c:269
+#: bundle.c:271
 msgid "pack-objects died"
 msgstr "đối tượng gói đã chết"
 
-#: bundle.c:311
+#: bundle.c:313
 msgid "rev-list died"
 msgstr "rev-list đã chết"
 
-#: bundle.c:360
+#: bundle.c:362
 #, 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:450 builtin/log.c:183 builtin/log.c:1607 builtin/shortlog.c:303
+#: bundle.c:453 builtin/log.c:187 builtin/log.c:1618 builtin/shortlog.c:304
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "đối số không được thừa nhận: %s"
 
-#: bundle.c:458
+#: bundle.c:461
 msgid "Refusing to create empty bundle."
 msgstr "Từ chối tạo một bó dữ liệu trống rỗng."
 
-#: bundle.c:470
+#: bundle.c:473
 #, c-format
 msgid "cannot create '%s'"
 msgstr "không thể tạo “%s”"
 
-#: bundle.c:498
+#: bundle.c:501
 msgid "index-pack died"
 msgstr "mục lục gói đã chết"
 
@@ -1240,19 +1295,19 @@ 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:43 sequencer.c:2364 builtin/am.c:421 builtin/am.c:465
-#: builtin/am.c:1436 builtin/am.c:2072 builtin/replace.c:376
+#: commit.c:48 sequencer.c:2384 builtin/am.c:422 builtin/am.c:466
+#: builtin/am.c:1438 builtin/am.c:2072 builtin/replace.c:376
 #: builtin/replace.c:448
 #, c-format
 msgid "could not parse %s"
 msgstr "không thể phân tích cú pháp %s"
 
-#: commit.c:45
+#: commit.c:50
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s không phải là một lần chuyển giao!"
 
-#: commit.c:182
+#: commit.c:191
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1272,7 +1327,7 @@ msgstr ""
 "Tắt lời nhắn này bằng cách chạy\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1540
+#: commit.c:1629
 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"
@@ -1282,185 +1337,392 @@ 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:669
+#: commit-graph.c:83
+#, c-format
+msgid "graph file %s is too small"
+msgstr "tập tin đồ thị %s quá nhỏ"
+
+#: commit-graph.c:90
+#, c-format
+msgid "graph signature %X does not match signature %X"
+msgstr "chữ ký đồ họa %X không khớp chữ ký %X"
+
+#: commit-graph.c:97
+#, c-format
+msgid "graph version %X does not match version %X"
+msgstr "phiên bản đồ họa %X không khớp phiên bản %X"
+
+#: commit-graph.c:104
+#, c-format
+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"
+
+#: commit-graph.c:128
+#, c-format
+msgid "improper chunk offset %08x%08x"
+msgstr "bù mảnh không đúng chỗ %08x%08x"
+
+#: commit-graph.c:164
+#, c-format
+msgid "chunk id %08x appears multiple times"
+msgstr "mã mảnh %08x xuất hiện nhiều lần"
+
+#: commit-graph.c:261
+#, 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:565 builtin/pack-objects.c:2568
+#, 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:730
+#, c-format
+msgid "error adding pack %s"
+msgstr "gặp lỗi thêm gói %s"
+
+#: commit-graph.c:732
+#, c-format
+msgid "error opening index for %s"
+msgstr "gặp lỗi khi mở mục lục cho “%s”"
+
+#: commit-graph.c:773
 #, 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:696
+#: commit-graph.c:800
 msgid "too many commits to write graph"
 msgstr "có quá nhiều lần chuyển giao để ghi đồ thị"
 
-#: commit-graph.c:707 builtin/init-db.c:516 builtin/init-db.c:521
+#: commit-graph.c:806
 #, c-format
-msgid "cannot mkdir %s"
-msgstr "không thể mkdir (tạo thư mục): %s"
+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:904
+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"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: config.c:187
+#: config.c:123
+#, c-format
+msgid ""
+"exceeded maximum include depth (%d) while including\n"
+"\t%s\n"
+"from\n"
+"\t%s\n"
+"This might be due to circular includes."
+msgstr ""
+"vượt quá độ sâu bao gồm tối đa (%d) trong khi bao gồm\n"
+"\t%s\n"
+"từ\n"
+"\t%s\n"
+"Nguyên nhân có thể là gồm quẩn vòng."
+
+#: config.c:139
+#, c-format
+msgid "could not expand include path '%s'"
+msgstr "không thể khai triển đường dẫn “%s”"
+
+#: config.c:150
+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
 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:788
+#: config.c:348
+#, 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
+#, 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:2206
+#, c-format
+msgid "invalid key: %s"
+msgstr "khóa không đúng: %s"
+
+#: config.c:384
+#, 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
+#, c-format
+msgid "bogus config parameter: %s"
+msgstr "tham số cấu hình không có thực: %s"
+
+#: config.c:467
+#, c-format
+msgid "bogus format in %s"
+msgstr "định dạng không có thực trong %s"
+
+#: config.c:793
 #, 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:792
+#: config.c:797
 #, 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:796
+#: config.c:801
 #, 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:800
+#: config.c:805
 #, 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:804
+#: config.c:809
 #, 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:808
+#: config.c:813
 #, c-format
 msgid "bad config line %d in %s"
 msgstr "cấu hình sai tại dòng %d trong %s"
 
-#: config.c:936
+#: config.c:952
 msgid "out of range"
 msgstr "nằm ngoài phạm vi"
 
-#: config.c:936
+#: config.c:952
 msgid "invalid unit"
 msgstr "đơn vị không hợp lệ"
 
-#: config.c:942
+#: config.c:958
 #, 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:947
+#: config.c:963
 #, 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:950
+#: config.c:966
 #, 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:953
+#: config.c:969
 #, 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:956
+#: config.c:972
 #, 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:959
+#: config.c:975
 #, 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:962
+#: config.c:978
 #, 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:1057
+#: config.c:1073
 #, 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:1066
+#: config.c:1082
 #, 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:1171 config.c:1182
+#: config.c:1173
+#, 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
 #, c-format
 msgid "bad zlib compression level %d"
 msgstr "mức nén zlib %d là sai"
 
-#: config.c:1307
+#: config.c:1290
+msgid "core.commentChar should only be one character"
+msgstr "core.commentChar chỉ được có một ký tự"
+
+#: config.c:1323
 #, 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:1473
+#: config.c:1403
+#, c-format
+msgid "malformed value for %s"
+msgstr "giá trị cho %s sai dạng"
+
+#: config.c:1429
+#, c-format
+msgid "malformed value for %s: %s"
+msgstr "giá trị cho %s sai dạng: %s"
+
+#: config.c:1430
+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:1489 builtin/pack-objects.c:3279
 #, c-format
 msgid "bad pack compression level %d"
 msgstr "mức nén gói %d không hợp lệ"
 
-#: config.c:1681
+#: config.c:1610
+#, 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:1613
+#, 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:1630
+#, 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:1660
+#, c-format
+msgid "failed to parse %s"
+msgstr "gặp lỗi khi phân tích cú pháp %s"
+
+#: config.c:1700
 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:2013
+#: config.c:2032
 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:2200
+#: config.c:2202
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s không hợp lệ: “%s”"
 
-#: config.c:2243
+#: config.c:2245
 #, 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:2269
+#: config.c:2271
 #, 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:2294
+#: config.c:2296
 #, 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:2296
+#: config.c:2298
 #, 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:2402
+#: config.c:2379
+#, c-format
+msgid "invalid section name '%s'"
+msgstr "tên của phần không hợp lệ “%s”"
+
+#: config.c:2411
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s có đa giá trị"
 
-#: config.c:2766 config.c:3019
+#: config.c:2440
+#, 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:2691 config.c:3015
+#, 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:2702
+#, c-format
+msgid "opening %s"
+msgstr "đang mở “%s”"
+
+#: config.c:2737 builtin/config.c:324
+#, c-format
+msgid "invalid pattern: %s"
+msgstr "mẫu không hợp lệ: %s"
+
+#: config.c:2762
+#, c-format
+msgid "invalid config file %s"
+msgstr "tập tin cấu hình “%s” không hợp lệ"
+
+#: config.c:2775 config.c:3028
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat trên %s gặp lỗi"
 
-#: config.c:2905
+#: config.c:2786
+#, c-format
+msgid "unable to mmap '%s'"
+msgstr "không thể mmap “%s”"
+
+#: config.c:2795 config.c:3033
+#, c-format
+msgid "chmod on %s failed"
+msgstr "chmod trên %s gặp lỗi"
+
+#: config.c:2880 config.c:3130
+#, c-format
+msgid "could not write config file %s"
+msgstr "không thể ghi tập tin cấu hình “%s”"
+
+#: config.c:2914
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "không thể đặt “%s” thành “%s”"
 
-#: config.c:2907 builtin/remote.c:779
+#: config.c:2916 builtin/remote.c:781
 #, c-format
 msgid "could not unset '%s'"
 msgstr "không thể thôi đặt “%s”"
 
+#: config.c:3006
+#, c-format
+msgid "invalid section name: %s"
+msgstr "tên của phần không hợp lệ: %s"
+
+#: config.c:3173
+#, c-format
+msgid "missing value for '%s'"
+msgstr "thiếu giá trị cho cho “%s”"
+
 #: connect.c:61
-msgid "The remote end hung up upon initial contact"
-msgstr "Máy chủ bị treo trên lần tiếp xúc đầu tiên"
+msgid "the remote end hung up upon initial contact"
+msgstr "máy chủ bị treo trên lần tiếp xúc đầu tiên"
 
 #: connect.c:63
 msgid ""
@@ -1474,56 +1736,209 @@ msgstr ""
 "Vui lòng chắc chắn là bạn có đủ thẩm quyền truy cập\n"
 "và kho chứa đã sẵn có."
 
-#: connected.c:66 builtin/fsck.c:201 builtin/prune.c:145
+#: connect.c:81
+#, c-format
+msgid "server doesn't support '%s'"
+msgstr "máy chủ không hỗ trợ “%s”"
+
+#: connect.c:103
+#, c-format
+msgid "server doesn't support feature '%s'"
+msgstr "máy chủ không hỗ trợ tính năng “%s”"
+
+#: connect.c:114
+msgid "expected flush after capabilities"
+msgstr "cần đẩy dữ liệu lên đĩa sau các capabilities"
+
+#: connect.c:233
+#, c-format
+msgid "ignoring capabilities after first line '%s'"
+msgstr "bỏ qua capabilities sau dòng đầu tiên “%s”"
+
+#: connect.c:252
+msgid "protocol error: unexpected capabilities^{}"
+msgstr "lỗi giao thức: không cần capabilities^{}"
+
+#: connect.c:273
+#, c-format
+msgid "protocol error: expected shallow sha-1, got '%s'"
+msgstr "lỗi giao thức: cần sha-1 shallow, nhưng lại nhận được “%s”"
+
+#: connect.c:275
+msgid "repository on the other end cannot be shallow"
+msgstr "kho đã ở điểm cuối khoác nên không thể được shallow"
+
+#: connect.c:310 fetch-pack.c:183 builtin/archive.c:63
+#, c-format
+msgid "remote error: %s"
+msgstr "lỗi máy chủ: %s"
+
+#: connect.c:316
+msgid "invalid packet"
+msgstr "gói không hợp lệ"
+
+#: connect.c:336
+#, c-format
+msgid "protocol error: unexpected '%s'"
+msgstr "lỗi giao thức: không cần “%s”"
+
+#: connect.c:444
+#, c-format
+msgid "invalid ls-refs response: %s"
+msgstr "trả về của ls-refs không hợp lệ: %s"
+
+#: connect.c:448
+msgid "expected flush after ref listing"
+msgstr "cần đẩy dữ liệu lên đĩa sau khi liệt kê tham chiếu"
+
+#: connect.c:547
+#, c-format
+msgid "protocol '%s' is not supported"
+msgstr "giao thức “%s” chưa được hỗ trợ"
+
+#: connect.c:598
+msgid "unable to set SO_KEEPALIVE on socket"
+msgstr "không thể đặt SO_KEEPALIVE trên ổ cắm"
+
+#: connect.c:638 connect.c:701
+#, c-format
+msgid "Looking up %s ... "
+msgstr "Đang tìm kiếm %s …"
+
+#: connect.c:642
+#, c-format
+msgid "unable to look up %s (port %s) (%s)"
+msgstr "không tìm được %s (cổng %s) (%s)"
+
+#. TRANSLATORS: this is the end of "Looking up %s ... "
+#: connect.c:646 connect.c:717
+#, c-format
+msgid ""
+"done.\n"
+"Connecting to %s (port %s) ... "
+msgstr ""
+"xong.\n"
+"Đang kết nối đến %s (cổng %s) … "
+
+#: connect.c:668 connect.c:745
+#, c-format
+msgid ""
+"unable to connect to %s:\n"
+"%s"
+msgstr ""
+"không thể kết nối đến %s:\n"
+"%s"
+
+#. TRANSLATORS: this is the end of "Connecting to %s (port %s) ... "
+#: connect.c:674 connect.c:751
+msgid "done."
+msgstr "hoàn tất."
+
+#: connect.c:705
+#, c-format
+msgid "unable to look up %s (%s)"
+msgstr "không thể tìm thấy %s (%s)"
+
+#: connect.c:711
+#, c-format
+msgid "unknown port %s"
+msgstr "không hiểu cổng %s"
+
+#: connect.c:848 connect.c:1174
+#, c-format
+msgid "strange hostname '%s' blocked"
+msgstr "đã khóa tên máy lạ “%s”"
+
+#: connect.c:850
+#, c-format
+msgid "strange port '%s' blocked"
+msgstr "đã khóa cổng lạ “%s”"
+
+#: connect.c:860
+#, c-format
+msgid "cannot start proxy %s"
+msgstr "không thể khởi chạy ủy nhiệm “%s”"
+
+#: connect.c:927
+msgid "no path specified; see 'git help pull' for valid url syntax"
+msgstr "chưa chỉ định đường dẫn; xem'git help pull” để biết cú pháp url hợp lệ"
+
+#: connect.c:1122
+msgid "ssh variant 'simple' does not support -4"
+msgstr "ssh biến thể “simple” không hỗ trợ -4"
+
+#: connect.c:1134
+msgid "ssh variant 'simple' does not support -6"
+msgstr "ssh biến thể “simple” không hỗ trợ -6"
+
+#: connect.c:1151
+msgid "ssh variant 'simple' does not support setting port"
+msgstr "ssh biến thể “simple” không hỗ trợ đặt cổng"
+
+#: connect.c:1262
+#, c-format
+msgid "strange pathname '%s' blocked"
+msgstr "đã khóa tên đường dẫn lạ “%s”"
+
+#: connect.c:1307
+msgid "unable to fork"
+msgstr "không thể rẽ nhánh tiến trình con"
+
+#: connected.c:68 builtin/fsck.c:203 builtin/prune.c:146
 msgid "Checking connectivity"
 msgstr "Đang kiểm tra kết nối"
 
-#: connected.c:78
+#: connected.c:80
 msgid "Could not run 'git rev-list'"
 msgstr "Không thể chạy “git rev-list”"
 
-#: connected.c:98
+#: connected.c:100
 msgid "failed write to rev-list"
 msgstr "gặp lỗi khi ghi vào rev-list"
 
-#: connected.c:105
+#: connected.c:107
 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"
 
-#: convert.c:206
+#: convert.c:194
+#, c-format
+msgid "illegal crlf_action %d"
+msgstr "crlf_action %d không hợp lệ"
+
+#: convert.c:207
 #, c-format
-msgid "CRLF would be replaced by LF in %s."
-msgstr "CRLF nên được thay bằng LF trong %s."
+msgid "CRLF would be replaced by LF in %s"
+msgstr "CRLF nên được thay bằng LF trong %s"
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
-"The file will have its original line endings in your working directory."
+"The file will have its original line endings in your working directory"
 msgstr ""
 "CRLF sẽ bị thay thế bằng LF trong %s.\n"
-"Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn."
+"Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn"
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF nên thay bằng CRLF trong %s"
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
-"The file will have its original line endings in your working directory."
+"The file will have its original line endings in your working directory"
 msgstr ""
 "LF sẽ bị thay thế bằng CRLF trong %s.\n"
-"Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn."
+"Tập tin sẽ có kiểu xuống dòng như bản gốc trong thư mục làm việc của bạn"
 
-#: convert.c:279
+#: convert.c:280
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM bị cấm trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:286
+#: convert.c:287
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
@@ -1532,12 +1947,12 @@ msgstr ""
 "Tập tin “%s” có chứa ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%s như là "
 "bảng mã cây làm việc."
 
-#: convert.c:304
+#: convert.c:305
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
 msgstr "BOM là bắt buộc trong “%s” nếu được mã hóa là %s"
 
-#: convert.c:306
+#: convert.c:307
 #, c-format
 msgid ""
 "The file '%s' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-"
@@ -1546,20 +1961,72 @@ msgstr ""
 "Tập tin “%s” còn thiếu ký hiệu thứ tự byte (BOM). Vui lòng dùng UTF-%sBE hay "
 "UTF-%sLE (còn phục thuộc vào thứ tự byte) như là bảng mã cây làm việc."
 
-#: convert.c:424
+#: convert.c:425 convert.c:496
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "gặp lỗi khi mã hóa “%s”  từ “%s” sang “%s”"
 
-#: convert.c:467
+#: convert.c:468
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "mã hóa “%s” từ %s thành %s và ngược trở lại không phải là cùng"
 
-#: convert.c:1225
+#: convert.c:674
+#, c-format
+msgid "cannot fork to run external filter '%s'"
+msgstr "không thể rẽ nhánh tiến trình để chạy bộ lọc bên ngoài “%s”"
+
+#: convert.c:694
+#, c-format
+msgid "cannot feed the input to external filter '%s'"
+msgstr "không thể cấp đầu vào cho bộ lọc bên ngoài “%s”"
+
+#: convert.c:701
+#, c-format
+msgid "external filter '%s' failed %d"
+msgstr "chạy bộ lọc bên ngoài “%s” gặp lỗi %d"
+
+#: convert.c:736 convert.c:739
+#, c-format
+msgid "read from external filter '%s' failed"
+msgstr "đọc từ bộ lọc bên ngoài “%s” gặp lỗi"
+
+#: convert.c:742 convert.c:796
+#, c-format
+msgid "external filter '%s' failed"
+msgstr "gặp lỗi khi chạy bộ lọc bên ngoài “%s”"
+
+#: convert.c:844
+msgid "unexpected filter type"
+msgstr "gặp kiểu bộ lọc thừa"
+
+#: convert.c:855
+msgid "path name too long for external filter"
+msgstr "tên đường dẫn quá dài cho bộ lọc bên ngoài"
+
+#: convert.c:929
+#, c-format
+msgid ""
+"external filter '%s' is not available anymore although not all paths have "
+"been filtered"
+msgstr ""
+"bộ lọc bên ngoài “%s” không sẵn sàng nữa mặc dù không phải tất cả các đường "
+"dẫn đã được lọc"
+
+#: convert.c:1228
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false là không phải bảng mã cây làm việc hợp lệ "
 
+#: convert.c:1402 convert.c:1436
+#, c-format
+msgid "%s: clean filter '%s' failed"
+msgstr "%s: gặp lỗi khi xóa bộ lọc “%s”"
+
+#: convert.c:1480
+#, c-format
+msgid "%s: smudge filter %s failed"
+msgstr "%s: smudge bộ lọc %s gặp lỗi"
+
 #: date.c:116
 msgid "in the future"
 msgstr "ở thời tương lai"
@@ -1624,39 +2091,52 @@ msgstr[0] "%<PRIuMAX> năm trước"
 msgid "failed to read orderfile '%s'"
 msgstr "gặp lỗi khi đọc tập-tin-thứ-tự “%s”"
 
-#: diffcore-rename.c:535
+#: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "Đang thực hiện dò tìm đổi tên không chính xác"
 
-#: diff.c:74
+#: diff.c:108
 #, c-format
 msgid "option '%s' requires a value"
 msgstr "tùy chọn “%s” yêu cầu một giá trị"
 
-#: diff.c:152
+#: diff.c:158
 #, c-format
 msgid "  Failed to parse dirstat cut-off percentage '%s'\n"
 msgstr "  Gặp lỗi khi phân tích dirstat cắt bỏ phần trăm “%s”\n"
 
-#: diff.c:157
+#: diff.c:163
 #, c-format
 msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Không hiểu đối số dirstat “%s”\n"
 
-#: diff.c:281
+#: diff.c:291
 msgid ""
-"color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
-"'plain'"
+"color moved setting must be one of 'no', 'default', 'blocks', 'zebra', "
+"'dimmed-zebra', 'plain'"
 msgstr ""
-"cài đặt màu đã di chuyển phải là một trong “no”, “default”, “zebra”, "
-"“dimmed_zebra”, “plain”"
+"cài đặt màu đã di chuyển phải là một trong “no”, “default”, “blocks”, "
+"“zebra”, “dimmed_zebra”, “plain”"
 
-#: diff.c:341
+#: diff.c:316
+#, c-format
+msgid "ignoring unknown color-moved-ws mode '%s'"
+msgstr "bỏ qua chế độ color-moved-ws chưa biết “%s”"
+
+#: diff.c:323
+msgid ""
+"color-moved-ws: allow-indentation-change cannot be combined with other white "
+"space modes"
+msgstr ""
+"color-moved-ws: allow-indentation-change không thể tổ hợp cùng với các chế "
+"độ khoảng trắng khác"
+
+#: diff.c:394
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Không hiểu giá trị cho biến cấu hình “diff.submodule”: “%s”"
 
-#: diff.c:401
+#: diff.c:454
 #, c-format
 msgid ""
 "Found errors in 'diff.dirstat' config variable:\n"
@@ -1665,24 +2145,24 @@ msgstr ""
 "Tìm thấy các lỗi trong biến cấu hình “diff.dirstat”:\n"
 "%s"
 
-#: diff.c:3823
+#: diff.c:4096
 #, 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:4153
+#: diff.c:4427
 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:4156
+#: diff.c:4430
 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:4244
+#: diff.c:4508
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow cần chính xác một đặc tả đường dẫn"
 
-#: diff.c:4410
+#: diff.c:4674
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -1691,22 +2171,22 @@ msgstr ""
 "Gặp lỗi khi phân tích đối số tùy chọn --dirstat/-X:\n"
 "%s"
 
-#: diff.c:4424
+#: diff.c:4688
 #, 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:5500
+#: diff.c:5766
 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:5503
+#: diff.c:5769
 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:5506
+#: diff.c:5772
 #, c-format
 msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
@@ -1714,25 +2194,40 @@ msgstr ""
 "bạn có lẽ muốn đặt biến %s của bạn thành ít nhất là %d và thử lại lệnh lần "
 "nữa."
 
-#: dir.c:1867
+#: dir.c:569
+#, c-format
+msgid "pathspec '%s' did not match any file(s) known to git"
+msgstr "đặc tả đường dẫn “%s” không khớp với bất kỳ tập tin nào mà git biết"
+
+#: dir.c:958
+#, c-format
+msgid "cannot use %s as an exclude file"
+msgstr "không thể dùng %s như là một tập tin loại trừ"
+
+#: dir.c:1873
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "không thể mở thư mục “%s”"
 
-#: dir.c:2109
+#: dir.c:2115
 msgid "failed to get kernel name and information"
 msgstr "gặp lỗi khi lấy tên và thông tin của nhân"
 
-#: dir.c:2233
-msgid "Untracked cache is disabled on this system or location."
-msgstr "Bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này."
+#: dir.c:2239
+msgid "untracked cache is disabled on this system or location"
+msgstr "bộ nhớ tạm không theo vết bị tắt trên hệ thống hay vị trí này."
 
-#: dir.c:3075 dir.c:3080
+#: dir.c:3037
+#, c-format
+msgid "index file corrupt in repo %s"
+msgstr "tập tin ghi bảng mục lục bị hỏng trong kho %s"
+
+#: dir.c:3082 dir.c:3087
 #, c-format
 msgid "could not create directories for %s"
 msgstr "không thể tạo thư mục cho %s"
 
-#: dir.c:3109
+#: dir.c:3116
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "không thể di cư thư mục git từ “%s” sang “%s”"
@@ -1742,219 +2237,273 @@ msgstr "không thể di cư thư mục git từ “%s” sang “%s”"
 msgid "hint: Waiting for your editor to close the file...%c"
 msgstr "gợi ý: Chờ trình biên soạn của bạn đóng tập tin…%c"
 
-#: entry.c:177
+#: entry.c:178
 msgid "Filtering content"
 msgstr "Nội dung lọc"
 
-#: entry.c:435
+#: entry.c:437
 #, c-format
 msgid "could not stat file '%s'"
 msgstr "không thể lấy thống kê tập tin “%s”"
 
+#: environment.c:150
+#, c-format
+msgid "bad git namespace path \"%s\""
+msgstr "đường dẫn không gian tên git \"%s\" sai"
+
+#: environment.c:332
+#, c-format
+msgid "could not set GIT_DIR to '%s'"
+msgstr "không thể đặt GIT_DIR thành “%s”"
+
+#: exec-cmd.c:361
+#, c-format
+msgid "too many args to run %s"
+msgstr "quá nhiều tham số để chạy %s"
+
 #: fetch-object.c:17
 msgid "Remote with no URL"
 msgstr "Máy chủ không có địa chỉ URL"
 
-#: fetch-pack.c:254
+#: fetch-pack.c:152
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: cần danh sách shallow"
 
-#: fetch-pack.c:266
+#: fetch-pack.c:164
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được một gói flush"
 
-#: fetch-pack.c:285 builtin/archive.c:63
-#, c-format
-msgid "remote error: %s"
-msgstr "lỗi máy chủ: %s"
-
-#: fetch-pack.c:286
+#: fetch-pack.c:184
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack: cần ACK/NAK, nhưng lại nhận được “%s”"
 
-#: fetch-pack.c:338
+#: fetch-pack.c:254
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc cần multi_ack_detailed"
 
-#: fetch-pack.c:429 fetch-pack.c:1310
+#: fetch-pack.c:342 fetch-pack.c:1257
 #, c-format
 msgid "invalid shallow line: %s"
 msgstr "dòng shallow không hợp lệ: %s"
 
-#: fetch-pack.c:435 fetch-pack.c:1316
+#: fetch-pack.c:348 fetch-pack.c:1263
 #, c-format
 msgid "invalid unshallow line: %s"
 msgstr "dòng unshallow không hợp lệ: %s"
 
-#: fetch-pack.c:437 fetch-pack.c:1318
+#: fetch-pack.c:350 fetch-pack.c:1265
 #, c-format
 msgid "object not found: %s"
 msgstr "Không tìm thấy đối tượng: %s"
 
-#: fetch-pack.c:440 fetch-pack.c:1321
+#: fetch-pack.c:353 fetch-pack.c:1268
 #, c-format
 msgid "error in object: %s"
 msgstr "lỗi trong đối tượng: %s"
 
-#: fetch-pack.c:442 fetch-pack.c:1323
+#: fetch-pack.c:355 fetch-pack.c:1270
 #, c-format
 msgid "no shallow found: %s"
 msgstr "không tìm shallow nào: %s"
 
-#: fetch-pack.c:445 fetch-pack.c:1326
+#: fetch-pack.c:358 fetch-pack.c:1273
 #, c-format
 msgid "expected shallow/unshallow, got %s"
 msgstr "cần shallow/unshallow, nhưng lại nhận được %s"
 
-#: fetch-pack.c:486
+#: fetch-pack.c:399
 #, c-format
 msgid "got %s %d %s"
 msgstr "nhận %s %d - %s"
 
-#: fetch-pack.c:500
+#: fetch-pack.c:416
 #, c-format
 msgid "invalid commit %s"
 msgstr "lần chuyển giao %s không hợp lệ"
 
-#: fetch-pack.c:533
+#: fetch-pack.c:447
 msgid "giving up"
 msgstr "chịu thua"
 
-#: fetch-pack.c:543 progress.c:229
+#: fetch-pack.c:459 progress.c:229
 msgid "done"
 msgstr "xong"
 
-#: fetch-pack.c:555
+#: fetch-pack.c:471
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "nhận %s (%d) %s"
 
-#: fetch-pack.c:601
+#: fetch-pack.c:517
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Đánh dấu %s là đã hoàn thành"
 
-#: fetch-pack.c:828
+#: fetch-pack.c:764
 #, c-format
 msgid "already have %s (%s)"
 msgstr "đã sẵn có %s (%s)"
 
-#: fetch-pack.c:869
+#: fetch-pack.c:803
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: không thể rẽ nhánh sideband demultiplexer"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:811
 msgid "protocol error: bad pack header"
 msgstr "lỗi giao thức: phần đầu gói bị sai"
 
-#: fetch-pack.c:944
+#: fetch-pack.c:879
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: không thể rẽ nhánh %s"
 
-#: fetch-pack.c:960
+#: fetch-pack.c:895
 #, c-format
 msgid "%s failed"
 msgstr "%s gặp lỗi"
 
-#: fetch-pack.c:962
+#: fetch-pack.c:897
 msgid "error in sideband demultiplexer"
 msgstr "có lỗi trong sideband demultiplexer"
 
-#: fetch-pack.c:989
+#: fetch-pack.c:926
 msgid "Server does not support shallow clients"
 msgstr "Máy chủ không hỗ trợ máy khách shallow"
 
-#: fetch-pack.c:993
+#: fetch-pack.c:930
 msgid "Server supports multi_ack_detailed"
 msgstr "Máy chủ hỗ trợ multi_ack_detailed"
 
-#: fetch-pack.c:996
+#: fetch-pack.c:933
 msgid "Server supports no-done"
 msgstr "Máy chủ hỗ trợ no-done"
 
-#: fetch-pack.c:1002
+#: fetch-pack.c:939
 msgid "Server supports multi_ack"
 msgstr "Máy chủ hỗ trợ multi_ack"
 
-#: fetch-pack.c:1006
+#: fetch-pack.c:943
 msgid "Server supports side-band-64k"
 msgstr "Máy chủ hỗ trợ side-band-64k"
 
-#: fetch-pack.c:1010
+#: fetch-pack.c:947
 msgid "Server supports side-band"
 msgstr "Máy chủ hỗ trợ side-band"
 
-#: fetch-pack.c:1014
+#: fetch-pack.c:951
 msgid "Server supports allow-tip-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-tip-sha1-in-want"
 
-#: fetch-pack.c:1018
+#: fetch-pack.c:955
 msgid "Server supports allow-reachable-sha1-in-want"
 msgstr "Máy chủ hỗ trợ allow-reachable-sha1-in-want"
 
-#: fetch-pack.c:1028
+#: fetch-pack.c:965
 msgid "Server supports ofs-delta"
 msgstr "Máy chủ hỗ trợ ofs-delta"
 
-#: fetch-pack.c:1034 fetch-pack.c:1204
+#: fetch-pack.c:971 fetch-pack.c:1150
 msgid "Server supports filter"
 msgstr "Máy chủ hỗ trợ bộ lọc"
 
-#: fetch-pack.c:1042
+#: fetch-pack.c:979
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Phiên bản máy chủ là %.*s"
 
-#: fetch-pack.c:1048
+#: fetch-pack.c:985
 msgid "Server does not support --shallow-since"
 msgstr "Máy chủ không hỗ trợ --shallow-since"
 
-#: fetch-pack.c:1052
+#: fetch-pack.c:989
 msgid "Server does not support --shallow-exclude"
 msgstr "Máy chủ không hỗ trợ --shallow-exclude"
 
-#: fetch-pack.c:1054
+#: fetch-pack.c:991
 msgid "Server does not support --deepen"
 msgstr "Máy chủ không hỗ trợ --deepen"
 
-#: fetch-pack.c:1065
+#: fetch-pack.c:1004
 msgid "no common commits"
 msgstr "không có lần chuyển giao chung nào"
 
-#: fetch-pack.c:1077 fetch-pack.c:1414
+#: fetch-pack.c:1016 fetch-pack.c:1393
 msgid "git fetch-pack: fetch failed."
 msgstr "git fetch-pack: fetch gặp lỗi."
 
-#: fetch-pack.c:1199
+#: fetch-pack.c:1145
 msgid "Server does not support shallow requests"
 msgstr "Máy chủ không hỗ trợ yêu cầu shallow"
 
-#: fetch-pack.c:1584
+#: fetch-pack.c:1191
+#, 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:1197
+#, c-format
+msgid "expected '%s', received '%s'"
+msgstr "cần “%s”, nhưng lại nhận “%s”"
+
+#: fetch-pack.c:1236
+#, c-format
+msgid "unexpected acknowledgment line: '%s'"
+msgstr "gặp dòng không được thừa nhận: “%s”"
+
+#: fetch-pack.c:1241
+#, 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:1278
+#, c-format
+msgid "error processing shallow info: %d"
+msgstr "lỗi xử lý thông tin shallow: %d"
+
+#: fetch-pack.c:1294
+#, c-format
+msgid "expected wanted-ref, got '%s'"
+msgstr "cần wanted-ref, nhưng lại nhận được “%s”"
+
+#: fetch-pack.c:1304
+#, c-format
+msgid "unexpected wanted-ref: '%s'"
+msgstr "không cần wanted-ref: “%s”"
+
+#: fetch-pack.c:1308
+#, c-format
+msgid "error processing wanted refs: %d"
+msgstr "lỗi khi xử lý wanted refs: %d"
+
+#: fetch-pack.c:1603
 msgid "no matching remote head"
 msgstr "không khớp phần đầu máy chủ"
 
-#: fetch-pack.c:1610
+#: fetch-pack.c:1621 builtin/clone.c:664
+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:1647
 #, 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:1613
+#: fetch-pack.c:1650
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr ""
 "Máy phục vụ không cho phép yêu cầu cho đối tượng không được báo trước %s"
 
-#: gpg-interface.c:185
+#: gpg-interface.c:253
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: gpg-interface.c:210
+#: gpg-interface.c:279
 msgid "could not create temporary file"
 msgstr "không thể tạo tập tin tạm thời"
 
-#: gpg-interface.c:213
+#: gpg-interface.c:282
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "gặp lỗi khi ghi chữ ký đính kèm vào “%s”"
@@ -1964,18 +2513,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:2020
+#: grep.c:2115
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "“%s”: không thể đọc %s"
 
-#: grep.c:2037 setup.c:164 builtin/clone.c:409 builtin/diff.c:81
+#: grep.c:2132 setup.c:164 builtin/clone.c:410 builtin/diff.c:81
 #: builtin/rm.c:134
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "gặp lỗi khi lấy thống kê về “%s”"
 
-#: grep.c:2048
+#: grep.c:2143
 #, c-format
 msgid "'%s': short read"
 msgstr "“%s”: đọc ngắn"
@@ -2054,7 +2603,7 @@ msgstr "không hỗ trợ liệt kê lệnh kiểu “%s”"
 msgid "The common Git guides are:"
 msgstr "Các chỉ dẫn chung về Git là:"
 
-#: help.c:467
+#: help.c:552
 #, c-format
 msgid ""
 "'%s' appears to be a git command, but we were not\n"
@@ -2063,31 +2612,31 @@ msgstr ""
 "“%s” trông như là một lệnh git, nhưng chúng tôi không\n"
 "thể thực thi nó. Có lẽ là lệnh git-%s đã bị hỏng?"
 
-#: help.c:526
+#: help.c:611
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Ối chà. Hệ thống của bạn báo rằng chẳng có lệnh Git nào cả."
 
-#: help.c:548
+#: help.c:633
 #, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
 msgstr "CẢNH BÁO: Bạn đã gọi lệnh Git có tên “%s”, mà nó lại không có sẵn."
 
-#: help.c:553
+#: help.c:638
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
 msgstr "Tiếp tục và coi rằng ý bạn là “%s”."
 
-#: help.c:558
+#: help.c:643
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
 msgstr "Tiếp tục trong %0.1f giây,và coi rằng ý bạn là “%s”."
 
-#: help.c:566
+#: help.c:651
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: “%s” không phải là một lệnh của git. Xem “git --help”."
 
-#: help.c:570
+#: help.c:655
 msgid ""
 "\n"
 "The most similar command is"
@@ -2098,16 +2647,16 @@ msgstr[0] ""
 "\n"
 "Những lệnh giống nhất là"
 
-#: help.c:585
+#: help.c:670
 msgid "git version [<options>]"
 msgstr "git version [<các-tùy-chọn>]"
 
-#: help.c:652
+#: help.c:738
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
-#: help.c:656
+#: help.c:742
 msgid ""
 "\n"
 "Did you mean this?"
@@ -2172,7 +2721,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:416 builtin/commit.c:587
+#: ident.c:416 builtin/commit.c:600
 #, c-format
 msgid "invalid date format: %s"
 msgstr "ngày tháng không hợp lệ: %s"
@@ -2209,123 +2758,123 @@ msgstr ""
 msgid "Unable to create '%s.lock': %s"
 msgstr "Không thể tạo “%s.lock”: %s"
 
-#: merge.c:71
+#: merge.c:40
 msgid "failed to read the cache"
 msgstr "gặp lỗi khi đọc bộ nhớ đệm"
 
-#: merge.c:136 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:378
-#: builtin/checkout.c:606 builtin/clone.c:761
+#: merge.c:105 builtin/am.c:1946 builtin/am.c:1980 builtin/checkout.c:380
+#: builtin/checkout.c:608 builtin/clone.c:763
 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"
 
-#: merge-recursive.c:298
+#: merge-recursive.c:303
 msgid "(bad commit)\n"
 msgstr "(commit sai)\n"
 
-#: merge-recursive.c:320
+#: merge-recursive.c:325
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "addinfo_cache gặp lỗi đối với đường dẫn “%s”; việc hòa trộn bị bãi bỏ."
 
-#: merge-recursive.c:328
+#: merge-recursive.c:333
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr ""
 "addinfo_cache gặp lỗi khi làm mới đối với đường dẫn “%s”; việc hòa trộn bị "
 "bãi bỏ."
 
-#: merge-recursive.c:410
+#: merge-recursive.c:415
 msgid "error building trees"
 msgstr "gặp lỗi khi xây dựng cây"
 
-#: merge-recursive.c:881
+#: merge-recursive.c:886
 #, 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:892
+#: merge-recursive.c:897
 #, 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:906 merge-recursive.c:925
+#: merge-recursive.c:911 merge-recursive.c:930
 msgid ": perhaps a D/F conflict?"
 msgstr ": có lẽ là một xung đột D/F?"
 
-#: merge-recursive.c:915
+#: merge-recursive.c:920
 #, 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:957 builtin/cat-file.c:37
+#: merge-recursive.c:962 builtin/cat-file.c:39
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "không thể đọc đối tượng %s “%s”"
 
-#: merge-recursive.c:959
+#: merge-recursive.c:964
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "mong đợi đối tượng blob cho %s “%s”"
 
-#: merge-recursive.c:983
+#: merge-recursive.c:988
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "gặp lỗi khi mở “%s”: %s"
 
-#: merge-recursive.c:994
+#: merge-recursive.c:999
 #, 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:999
+#: merge-recursive.c:1004
 #, 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:1186
+#: merge-recursive.c:1191
 #, 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:1193
+#: merge-recursive.c:1198
 #, 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:1200
+#: merge-recursive.c:1205
 #, 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:1208 merge-recursive.c:1220
+#: merge-recursive.c:1213 merge-recursive.c:1225
 #, 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:1211 merge-recursive.c:1223
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Chuyển-tiếp-nhanh mô-đun-con “%s”"
 
-#: merge-recursive.c:1245
+#: merge-recursive.c:1250
 #, 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:1249
+#: merge-recursive.c:1254
 #, 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:1250
+#: merge-recursive.c:1255
 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:1253
+#: merge-recursive.c:1258
 #, c-format
 msgid ""
 "If this is correct simply add it to the index for example\n"
@@ -2342,33 +2891,33 @@ msgstr ""
 "\n"
 "cái mà sẽ chấp nhận gợi ý này.\n"
 
-#: merge-recursive.c:1262
+#: merge-recursive.c:1267
 #, 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:1321
+#: merge-recursive.c:1326
 msgid "Failed to execute internal merge"
 msgstr "Gặp lỗi khi thực hiện trộn nội bộ"
 
-#: merge-recursive.c:1326
+#: merge-recursive.c:1331
 #, 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:1358
+#: merge-recursive.c:1363
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Tự-động-hòa-trộn %s"
 
-#: merge-recursive.c:1423
+#: merge-recursive.c:1434
 #, 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:1475
+#: merge-recursive.c:1501
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2377,7 +2926,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:1480
+#: merge-recursive.c:1506
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2386,7 +2935,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:1487
+#: merge-recursive.c:1513
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -2395,7 +2944,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:1492
+#: merge-recursive.c:1518
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -2404,33 +2953,33 @@ 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:1526
+#: merge-recursive.c:1552
 msgid "rename"
 msgstr "đổi tên"
 
-#: merge-recursive.c:1526
+#: merge-recursive.c:1552
 msgid "renamed"
 msgstr "đã đổi tên"
 
-#: merge-recursive.c:1580 merge-recursive.c:1736 merge-recursive.c:2368
-#: merge-recursive.c:3086
+#: merge-recursive.c:1606 merge-recursive.c:1762 merge-recursive.c:2394
+#: merge-recursive.c:3129
 #, 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:1594
+#: merge-recursive.c:1620
 #, 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:1599
+#: merge-recursive.c:1625
 #, 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:1625
+#: merge-recursive.c:1651
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -2439,29 +2988,29 @@ 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:1630
+#: merge-recursive.c:1656
 msgid " (left unresolved)"
 msgstr " (cần giải quyết)"
 
-#: merge-recursive.c:1694
+#: merge-recursive.c:1720
 #, 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:1733
+#: merge-recursive.c:1759
 #, c-format
 msgid "Renaming %s to %s and %s to %s instead"
 msgstr "Đang đổi tên %s thành %s thay vì %s thành %s"
 
-#: merge-recursive.c:1745
+#: merge-recursive.c:1771
 #, 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:1951
+#: merge-recursive.c:1977
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -2472,7 +3021,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:1983
+#: merge-recursive.c:2009
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -2481,7 +3030,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:1993
+#: merge-recursive.c:2019
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -2490,7 +3039,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:2085
+#: merge-recursive.c:2111
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -2499,7 +3048,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:2330
+#: merge-recursive.c:2356
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -2508,125 +3057,130 @@ 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:2736
+#: merge-recursive.c:2762
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
 msgstr ""
 "XUNG ĐỘT (đổi-tên/thêm): Đổi tên %s->%s trong %s. %s được thêm vào trong %s"
 
-#: merge-recursive.c:2751
+#: merge-recursive.c:2777
 #, c-format
 msgid "Adding merged %s"
 msgstr "Thêm hòa trộn %s"
 
-#: merge-recursive.c:2758 merge-recursive.c:3089
+#: merge-recursive.c:2784 merge-recursive.c:3132
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Thay vào đó thêm vào %s"
 
-#: merge-recursive.c:2914
+#: merge-recursive.c:2941
 #, c-format
 msgid "cannot read object %s"
 msgstr "không thể đọc đối tượng %s"
 
-#: merge-recursive.c:2917
+#: merge-recursive.c:2944
 #, 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:2986
+#: merge-recursive.c:3013
 msgid "modify"
 msgstr "sửa đổi"
 
-#: merge-recursive.c:2986
+#: merge-recursive.c:3013
 msgid "modified"
 msgstr "đã sửa"
 
-#: merge-recursive.c:2997
+#: merge-recursive.c:3024
 msgid "content"
 msgstr "nội dung"
 
-#: merge-recursive.c:3004
+#: merge-recursive.c:3031
 msgid "add/add"
 msgstr "thêm/thêm"
 
-#: merge-recursive.c:3046
+#: merge-recursive.c:3076
 #, 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:3055 git-submodule.sh:895
+#: merge-recursive.c:3098 git-submodule.sh:865
 msgid "submodule"
 msgstr "mô-đun-con"
 
-#: merge-recursive.c:3056
+#: merge-recursive.c:3099
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "XUNG ĐỘT (%s): Xung đột hòa trộn trong %s"
 
-#: merge-recursive.c:3178
+#: merge-recursive.c:3221
 #, c-format
 msgid "Removing %s"
 msgstr "Đang xóa %s"
 
-#: merge-recursive.c:3204
+#: merge-recursive.c:3247
 msgid "file/directory"
 msgstr "tập-tin/thư-mục"
 
-#: merge-recursive.c:3210
+#: merge-recursive.c:3253
 msgid "directory/file"
 msgstr "thư-mục/tập-tin"
 
-#: merge-recursive.c:3217
+#: merge-recursive.c:3260
 #, 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:3226
+#: merge-recursive.c:3269
 #, c-format
 msgid "Adding %s"
 msgstr "Thêm \"%s\""
 
-#: merge-recursive.c:3267
+#: merge-recursive.c:3303
 #, c-format
-msgid "Dirty index: cannot merge (dirty: %s)"
-msgstr "Bảng mục lục bẩn: không thể hòa trộn (bẩn: %s)"
+msgid ""
+"Your local changes to the following files would be overwritten by merge:\n"
+"  %s"
+msgstr ""
+"Các thay đổi nội bộ của bạn với các tập tin sau đây sẽ bị ghi đè bởi lệnh "
+"hòa trộn:\n"
+"  %s"
 
-#: merge-recursive.c:3271
+#: merge-recursive.c:3314
 msgid "Already up to date!"
 msgstr "Đã cập nhật rồi!"
 
-#: merge-recursive.c:3280
+#: merge-recursive.c:3323
 #, 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:3379
+#: merge-recursive.c:3422
 msgid "Merging:"
 msgstr "Đang trộn:"
 
-#: merge-recursive.c:3392
+#: merge-recursive.c:3435
 #, 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:3431
+#: merge-recursive.c:3474
 msgid "merge returned no commit"
 msgstr "hòa trộn không trả về lần chuyển giao nào"
 
-#: merge-recursive.c:3495
+#: merge-recursive.c:3540
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Không thể phân tích đối tượng “%s”"
 
-#: merge-recursive.c:3511 builtin/merge.c:659 builtin/merge.c:816
+#: merge-recursive.c:3556 builtin/merge.c:689 builtin/merge.c:846
 msgid "Unable to write index."
 msgstr "Không thể ghi bảng mục lục"
 
-#: notes-merge.c:272
+#: notes-merge.c:274
 #, c-format
 msgid ""
 "You have not concluded your previous notes merge (%s exists).\n"
@@ -2638,23 +3192,23 @@ msgstr ""
 "chuyển giao hay bãi bỏ lần hòa trộn trước đây và bắt đầu một hòa trộn ghi "
 "chú mới."
 
-#: notes-merge.c:279
+#: notes-merge.c:281
 #, c-format
 msgid "You have not concluded your notes merge (%s exists)."
 msgstr "Bạn chưa kết thúc việc hòa trộn ghi chú (%s vẫn tồn tại)."
 
-#: notes-utils.c:43
+#: notes-utils.c:45
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr ""
 "Không thể chuyển giao cây ghi chú chưa được khởi tạo hoặc không được tham "
 "chiếu"
 
-#: notes-utils.c:102
+#: notes-utils.c:104
 #, c-format
 msgid "Bad notes.rewriteMode value: '%s'"
 msgstr "Giá trị notes.rewriteMode sai: “%s”"
 
-#: notes-utils.c:112
+#: notes-utils.c:114
 #, c-format
 msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
 msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài refs/notes/)"
@@ -2663,36 +3217,56 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoài refs/notes/)"
 #. the environment variable, the second %s is
 #. its value.
 #.
-#: notes-utils.c:142
+#: notes-utils.c:144
 #, c-format
 msgid "Bad %s value: '%s'"
 msgstr "Giá trị %s sai: “%s”"
 
-#: object.c:242
+#: object.c:54
+#, c-format
+msgid "invalid object type \"%s\""
+msgstr "kiểu đối tượng \"%s\" không hợp lệ"
+
+#: object.c:173
+#, c-format
+msgid "object %s is a %s, not a %s"
+msgstr "đối tượng %s là một %s, không phải là một %s"
+
+#: object.c:233
+#, c-format
+msgid "object %s has unknown type id %d"
+msgstr "đối tượng %s có mã kiểu %d chưa biết"
+
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "không thể phân tích đối tượng: “%s”"
 
+#: object.c:266 object.c:277
+#, c-format
+msgid "sha1 mismatch %s"
+msgstr "sha1 không khớp %s"
+
 #: packfile.c:563
 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:1742
+#: packfile.c:1745
 #, 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:1746
+#: packfile.c:1749
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "vị trí tương đối vượt quá cuối của chỉ mục gói cho %s (mục lục bị cắt cụt à?)"
 
-#: parse-options.c:621
+#: parse-options.c:672
 msgid "..."
 msgstr "…"
 
-#: parse-options.c:640
+#: parse-options.c:691
 #, c-format
 msgid "usage: %s"
 msgstr "cách dùng: %s"
@@ -2700,17 +3274,17 @@ msgstr "cách dùng: %s"
 #. TRANSLATORS: the colon here should align with the
 #. one in "usage: %s" translation.
 #.
-#: parse-options.c:646
+#: parse-options.c:697
 #, c-format
 msgid "   or: %s"
 msgstr "     hoặc: %s"
 
-#: parse-options.c:649
+#: parse-options.c:700
 #, c-format
 msgid "    %s"
 msgstr "    %s"
 
-#: parse-options.c:688
+#: parse-options.c:739
 msgid "-NUM"
 msgstr "-SỐ"
 
@@ -2804,11 +3378,71 @@ msgstr "%s: số mầu nhiệm đặc tả đường dẫn chưa được hỗ t
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "đặc tả đường dẫn “%s” vượt ra ngoài liên kết mềm"
 
+#: pkt-line.c:104
+msgid "flush packet write failed"
+msgstr "gặp lỗi khi ghi vào tập tin gói lúc đẩy dữ liệu lên bộ nhớ"
+
+#: pkt-line.c:142 pkt-line.c:228
+msgid "protocol error: impossibly long line"
+msgstr "lỗi giao thức: không thể làm được dòng dài"
+
+#: pkt-line.c:158 pkt-line.c:160
+msgid "packet write with format failed"
+msgstr "gặp lỗi khi ghi gói có định dạng"
+
+#: pkt-line.c:192
+msgid "packet write failed - data exceeds max packet size"
+msgstr "gặp lỗi khi ghi gói - dữ liệu vượt quá cỡ vói tối đa"
+
+#: pkt-line.c:199 pkt-line.c:206
+msgid "packet write failed"
+msgstr "gặp lỗi khi ghi gói"
+
+#: pkt-line.c:291
+msgid "read error"
+msgstr "lỗi đọc"
+
+#: pkt-line.c:299
+msgid "the remote end hung up unexpectedly"
+msgstr "máy chủ bị treo bất ngờ"
+
+#: pkt-line.c:327
+#, c-format
+msgid "protocol error: bad line length character: %.4s"
+msgstr "lỗi giao thức: ký tự chiều dài dòng bị sai: %.4s"
+
+#: pkt-line.c:337 pkt-line.c:342
+#, c-format
+msgid "protocol error: bad line length %d"
+msgstr "lỗi giao thức: chiều dài dòng bị sai %d"
+
 #: pretty.c:962
 msgid "unable to parse --pretty format"
 msgstr "không thể phân tích định dạng --pretty"
 
-#: read-cache.c:1500
+#: range-diff.c:48
+msgid "could not start `log`"
+msgstr "không thể lấy thông tin thống kê về “log“"
+
+#: range-diff.c:51
+msgid "could not read `log` output"
+msgstr "không thể đọc kết xuất “log”"
+
+#: range-diff.c:66 sequencer.c:4540
+#, 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:196
+msgid "failed to generate diff"
+msgstr "gặp lỗi khi tạo khác biệt"
+
+#: range-diff.c:421 range-diff.c:423
+#, c-format
+msgid "could not parse log for '%s'"
+msgstr "không thể phân tích nhật ký cho “%s”"
+
+#: read-cache.c:1579
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -2817,7 +3451,7 @@ msgstr ""
 "index.version được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:1510
+#: read-cache.c:1589
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -2826,227 +3460,329 @@ msgstr ""
 "GIT_INDEX_VERSION được đặt, nhưng giá trị của nó lại không hợp lệ.\n"
 "Dùng phiên bản %i"
 
-#: read-cache.c:2404 sequencer.c:4338 wrapper.c:658 builtin/merge.c:1048
+#: read-cache.c:2580 sequencer.c:4503 wrapper.c:658 builtin/merge.c:1083
 #, c-format
 msgid "could not close '%s'"
 msgstr "không thể đóng “%s”"
 
-#: read-cache.c:2477 sequencer.c:2102 sequencer.c:3234
+#: read-cache.c:2653 sequencer.c:2113 sequencer.c:3374
 #, c-format
 msgid "could not stat '%s'"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: read-cache.c:2490
+#: read-cache.c:2666
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "không thể mở thư mục git: %s"
 
-#: read-cache.c:2502
+#: read-cache.c:2678
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "không thể bỏ liên kết (unlink): “%s”"
 
-#: refs.c:732 sequencer.c:4334 sequencer.c:4393 wrapper.c:225 wrapper.c:395
-#: builtin/am.c:779
+#: refs.c:192
+#, 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:579
+#, c-format
+msgid "ignoring dangling symref %s"
+msgstr "đang lờ đi tham chiếu mềm thừa %s"
+
+#: refs.c:581 ref-filter.c:2067
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "đang lờ đi tham chiếu hỏng %s"
+
+#: refs.c:685
+#, c-format
+msgid "could not open '%s' for writing: %s"
+msgstr "không thể mở “%s” để ghi: %s"
+
+#: refs.c:695 refs.c:746
+#, c-format
+msgid "could not read ref '%s'"
+msgstr "không thể đọc tham chiếu “%s”"
+
+#: refs.c:701
+#, c-format
+msgid "ref '%s' already exists"
+msgstr "tham chiếu “%s” đã có từ trước rồi"
+
+#: refs.c:706
+#, c-format
+msgid "unexpected object ID when writing '%s'"
+msgstr "không cần ID đối tượng khi ghi “%s”"
+
+#: refs.c:714 sequencer.c:385 sequencer.c:2366 sequencer.c:2492
+#: sequencer.c:2506 sequencer.c:2733 sequencer.c:4501 sequencer.c:4564
+#: wrapper.c:656
+#, c-format
+msgid "could not write to '%s'"
+msgstr "không thể ghi vào “%s”"
+
+#: refs.c:741 sequencer.c:4499 sequencer.c:4558 wrapper.c:225 wrapper.c:395
+#: builtin/am.c:780
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "không thể mở “%s” để ghi"
 
-#: refs.c:1880
+#: refs.c:748
+#, 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:879
+#, 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:885
+#, 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:943
+#, c-format
+msgid "log for %s is empty"
+msgstr "nhật ký cho %s trống rỗng"
+
+#: refs.c:1035
+#, 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:1111
+#, c-format
+msgid "update_ref failed for ref '%s': %s"
+msgstr "update_ref bị lỗi cho ref “%s”: %s"
+
+#: refs.c:1853
+#, 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:1885
 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:1981 refs.c:2011
+#, c-format
+msgid "'%s' exists; cannot create '%s'"
+msgstr "“%s” sẵn có; không thể tạo “%s”"
+
+#: refs.c:1987 refs.c:2022
+#, c-format
+msgid "cannot process '%s' and '%s' at the same time"
+msgstr "Không thể xử lý “%s” và “%s” cùng một lúc"
+
 #: refs/files-backend.c:1191
 #, c-format
 msgid "could not remove reference %s"
 msgstr "không thể gỡ bỏ tham chiếu: %s"
 
-#: refs/files-backend.c:1205 refs/packed-backend.c:1531
-#: refs/packed-backend.c:1541
+#: refs/files-backend.c:1205 refs/packed-backend.c:1532
+#: refs/packed-backend.c:1542
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "không thể xóa bỏ tham chiếu %s: %s"
 
-#: refs/files-backend.c:1208 refs/packed-backend.c:1544
+#: refs/files-backend.c:1208 refs/packed-backend.c:1545
 #, c-format
 msgid "could not delete references: %s"
 msgstr "không thể xóa bỏ tham chiếu: %s"
 
-#: ref-filter.c:35 wt-status.c:1850
+#: refspec.c:137
+#, c-format
+msgid "invalid refspec '%s'"
+msgstr "refspec không hợp lệ “%s”"
+
+#: ref-filter.c:38 wt-status.c:1850
 msgid "gone"
 msgstr "đã ra đi"
 
-#: ref-filter.c:36
+#: ref-filter.c:39
 #, c-format
 msgid "ahead %d"
 msgstr "phía trước %d"
 
-#: ref-filter.c:37
+#: ref-filter.c:40
 #, c-format
 msgid "behind %d"
 msgstr "đằng sau %d"
 
-#: ref-filter.c:38
+#: ref-filter.c:41
 #, c-format
 msgid "ahead %d, behind %d"
 msgstr "trước %d, sau %d"
 
-#: ref-filter.c:121
+#: ref-filter.c:137
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "cần định dạng: %%(color:<color>)"
 
-#: ref-filter.c:123
+#: ref-filter.c:139
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "không nhận ra màu: %%(màu:%s)"
 
-#: ref-filter.c:145
+#: ref-filter.c:161
 #, 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:149
+#: ref-filter.c:165
 #, 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:151
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "đối số không được thừa nhận %%(%s): %s"
 
-#: ref-filter.c:206
+#: ref-filter.c:222
+#, c-format
+msgid "%%(objecttype) does not take arguments"
+msgstr "%%(objecttype) không nhận các đối số"
+
+#: ref-filter.c:234
+#, c-format
+msgid "%%(objectsize) does not take arguments"
+msgstr "%%(objectsize) không nhận các đối số"
+
+#: ref-filter.c:246
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) không nhận các đối số"
 
-#: ref-filter.c:215
+#: ref-filter.c:255
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) không nhận các đối số"
 
-#: ref-filter.c:235
+#: ref-filter.c:275
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "không hiểu tham số %%(trailers): %s"
 
-#: ref-filter.c:264
+#: ref-filter.c:304
 #, 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:266
+#: ref-filter.c:306
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "đối số không được thừa nhận %%(contents): %s"
 
-#: ref-filter.c:281
+#: ref-filter.c:321
 #, 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:285
+#: ref-filter.c:325
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "đối số không được thừa nhận %%(objectname): %s"
 
-#: ref-filter.c:315
+#: ref-filter.c:355
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "cần định dạng: %%(align:<width>,<position>)"
 
-#: ref-filter.c:327
+#: ref-filter.c:367
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "vị trí không được thừa nhận:%s"
 
-#: ref-filter.c:334
+#: ref-filter.c:374
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "chiều rộng không được thừa nhận:%s"
 
-#: ref-filter.c:343
+#: ref-filter.c:383
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "đối số không được thừa nhận %%(align): %s"
 
-#: ref-filter.c:351
+#: ref-filter.c:391
 #, 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:369
+#: ref-filter.c:409
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "đối số không được thừa nhận %%(if): %s"
 
-#: ref-filter.c:464
+#: ref-filter.c:505
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "tên trường dị hình: %.*s"
 
-#: ref-filter.c:491
+#: ref-filter.c:532
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "không hiểu tên trường: %.*s"
 
-#: ref-filter.c:608
+#: ref-filter.c:656
 #, 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:671
+#: ref-filter.c:719
 #, 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:673
+#: ref-filter.c:721
 #, 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:675
+#: ref-filter.c:723
 #, 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:703
+#: ref-filter.c:751
 #, 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:705
+#: ref-filter.c:753
 #, 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:707
+#: ref-filter.c:755
 #, 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:722
+#: ref-filter.c:770
 #, 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:779
+#: ref-filter.c:827
 #, c-format
 msgid "malformed format string %s"
 msgstr "chuỗi định dạng dị hình %s"
 
-#: ref-filter.c:1387
+#: ref-filter.c:1416
 #, c-format
 msgid "(no branch, rebasing %s)"
 msgstr "(không nhánh, đang cải tổ %s)"
 
-#: ref-filter.c:1390
+#: ref-filter.c:1419
 #, c-format
 msgid "(no branch, rebasing detached HEAD %s)"
 msgstr "(không nhánh, đang cải tổ HEAD %s đã tách rời)"
 
-#: ref-filter.c:1393
+#: ref-filter.c:1422
 #, 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)"
@@ -3054,7 +3790,7 @@ msgstr "(không nhánh, di chuyển nửa bước được bắt đầu tại %s
 #. TRANSLATORS: make sure this matches "HEAD
 #. detached at " in wt-status.c
 #.
-#: ref-filter.c:1401
+#: ref-filter.c:1430
 #, c-format
 msgid "(HEAD detached at %s)"
 msgstr "(HEAD được tách rời tại %s)"
@@ -3062,148 +3798,143 @@ 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:1408
+#: ref-filter.c:1437
 #, c-format
 msgid "(HEAD detached from %s)"
 msgstr "(HEAD được tách rời từ %s)"
 
-#: ref-filter.c:1412
+#: ref-filter.c:1441
 msgid "(no branch)"
 msgstr "(không nhánh)"
 
-#: ref-filter.c:1442
+#: ref-filter.c:1475 ref-filter.c:1623
 #, c-format
 msgid "missing object %s for %s"
 msgstr "thiếu đối tượng %s cho %s"
 
-#: ref-filter.c:1445
+#: ref-filter.c:1483
 #, 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:1902
+#: ref-filter.c:1980
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "đối tượng dị hình tại “%s”"
 
-#: ref-filter.c:1984
+#: ref-filter.c:2062
 #, 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:1989
-#, c-format
-msgid "ignoring broken ref %s"
-msgstr "đang lờ đi tham chiếu hỏng %s"
-
-#: ref-filter.c:2261
+#: ref-filter.c:2340
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "định dạng: thiếu nguyên tử %%(end)"
 
-#: ref-filter.c:2365
+#: ref-filter.c:2444
 #, c-format
 msgid "malformed object name %s"
 msgstr "tên đối tượng dị hình %s"
 
-#: remote.c:605
+#: remote.c:606
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Không thể lấy về cả %s và %s cho %s"
 
-#: remote.c:609
+#: remote.c:610
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s thường theo dõi %s, không phải %s"
 
-#: remote.c:613
+#: remote.c:614
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s theo dõi cả %s và %s"
 
-#: remote.c:621
+#: remote.c:622
 msgid "Internal error"
 msgstr "Lỗi nội bộ"
 
-#: remote.c:1534 remote.c:1635
+#: remote.c:1536 remote.c:1637
 msgid "HEAD does not point to a branch"
 msgstr "HEAD không chỉ đến một nhánh nào cả"
 
-#: remote.c:1543
+#: remote.c:1545
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "không có nhánh nào như thế: “%s”"
 
-#: remote.c:1546
+#: remote.c:1548
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "không có thượng nguồn được cấu hình cho nhánh “%s”"
 
-#: remote.c:1552
+#: remote.c:1554
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr ""
 "nhánh thượng nguồn “%s” không được lưu lại như là một nhánh theo dõi máy chủ"
 
-#: remote.c:1567
+#: remote.c:1569
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr "đẩy lên đích “%s” trên máy chủ “%s” không có nhánh theo dõi nội bộ"
 
-#: remote.c:1579
+#: remote.c:1581
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "nhánh “%s” không có máy chủ để đẩy lên"
 
-#: remote.c:1589
+#: remote.c:1591
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "đẩy refspecs cho “%s” không bao gồm “%s”"
 
-#: remote.c:1602
+#: remote.c:1604
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "đẩy lên mà không có đích (push.default là “nothing”)"
 
-#: remote.c:1624
+#: remote.c:1626
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "không thể phân giải đẩy “đơn giản” đến một đích đơn"
 
-#: remote.c:1939
+#: remote.c:1951
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Nhánh của bạn dựa trên cơ sở là “%s”, nhưng trên thượng nguồn không còn.\n"
 
-#: remote.c:1943
+#: remote.c:1955
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "   (dùng \" git branch --unset-upstream\" để sửa)\n"
 
-#: remote.c:1946
+#: remote.c:1958
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Nhánh của bạn đã cập nhật với “%s”.\n"
 
-#: remote.c:1950
+#: remote.c:1962
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Nhánh của bạn và “%s” tham chiếu đến các lần chuyển giao khác nhau.\n"
 
-#: remote.c:1953
+#: remote.c:1965
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (dùng \"%s\" để biết thêm chi tiết)\n"
 
-#: remote.c:1957
+#: remote.c:1969
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn đứng trước “%s” %d lần chuyển giao.\n"
 
-#: remote.c:1963
+#: remote.c:1975
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (dùng \"git push\" để xuất bản các lần chuyển giao nội bộ của bạn)\n"
 
-#: remote.c:1966
+#: remote.c:1978
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural ""
@@ -3212,11 +3943,11 @@ msgstr[0] ""
 "Nhánh của bạn đứng đằng sau “%s” %d lần chuyển giao, và có thể được chuyển-"
 "tiếp-nhanh.\n"
 
-#: remote.c:1974
+#: remote.c:1986
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (dùng \"git pull\" để cập nhật nhánh nội bộ của bạn)\n"
 
-#: remote.c:1977
+#: remote.c:1989
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -3229,22 +3960,37 @@ msgstr[0] ""
 "và có %d và %d lần chuyển giao khác nhau cho từng cái,\n"
 "tương ứng với mỗi lần.\n"
 
-#: remote.c:1987
+#: remote.c:1999
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (dùng \"git pull\" để hòa trộn nhánh trên máy chủ vào trong nhánh của "
 "bạn)\n"
 
-#: revision.c:2289
+#: replace-object.c:20
+#, c-format
+msgid "bad replace ref name: %s"
+msgstr "tên tham chiếu thay thế bị sai: %s"
+
+#: replace-object.c:29
+#, c-format
+msgid "duplicate replace ref: %s"
+msgstr "tham chiếu thay thế bị trùng: %s"
+
+#: replace-object.c:72
+#, c-format
+msgid "replace depth too high for object %s"
+msgstr "độ sâu thay thế quá cao cho đối tượng %s"
+
+#: revision.c:2305
 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:2292
+#: revision.c:2308
 #, 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:2489
+#: revision.c:2505
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent xung khắc với --bisect"
 
@@ -3261,30 +4007,30 @@ msgstr ""
 "Móc “%s” bị bỏ qua bởi vì nó không thể đặt là thực thi được.\n"
 "Bạn có thể tắt cảnh báo này bằng “git config advice.ignoredHook false“."
 
-#: send-pack.c:141
+#: send-pack.c:142
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "gặp gói flush không cần trong khi đọc tình trạng giải nén gói trên máy chủ"
 
-#: send-pack.c:143
+#: send-pack.c:144
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "không thể phân tích tình trạng unpack máy chủ: %s"
 
-#: send-pack.c:145
+#: send-pack.c:146
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "máy chủ gặp lỗi unpack: %s"
 
-#: send-pack.c:308
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr "gặp lỗi khi ký chứng thực đẩy"
 
-#: send-pack.c:421
+#: send-pack.c:422
 msgid "the receiving end does not support --signed push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --signed"
 
-#: send-pack.c:423
+#: send-pack.c:424
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -3292,42 +4038,42 @@ msgstr ""
 "đừng gửi giấy chứng nhận đẩy trước khi kết thúc nhận không hỗ trợ đẩy --"
 "signed"
 
-#: send-pack.c:435
+#: send-pack.c:436
 msgid "the receiving end does not support --atomic push"
 msgstr "kết thúc nhận không hỗ trợ đẩy --atomic"
 
-#: send-pack.c:440
+#: send-pack.c:441
 msgid "the receiving end does not support push options"
 msgstr "kết thúc nhận không hỗ trợ các tùy chọn của lệnh push"
 
-#: sequencer.c:175
+#: sequencer.c:177
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "chế độ dọn dẹp ghi chú các lần chuyển giao không hợp lệ “%s”"
 
-#: sequencer.c:275
+#: sequencer.c:278
 #, c-format
 msgid "could not delete '%s'"
 msgstr "không thể xóa bỏ “%s”"
 
-#: sequencer.c:301
+#: sequencer.c:304
 msgid "revert"
 msgstr "hoàn nguyên"
 
-#: sequencer.c:303
+#: sequencer.c:306
 msgid "cherry-pick"
 msgstr "cherry-pick"
 
-#: sequencer.c:305
+#: sequencer.c:308
 msgid "rebase -i"
 msgstr "rebase -i"
 
-#: sequencer.c:307
+#: sequencer.c:310
 #, c-format
-msgid "Unknown action: %d"
-msgstr "Không nhận ra thao tác: %d"
+msgid "unknown action: %d"
+msgstr "không nhận ra thao tác: %d"
 
-#: sequencer.c:364
+#: sequencer.c:367
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -3335,7 +4081,7 @@ msgstr ""
 "sau khi giải quyết các xung đột, đánh dấu đường dẫn đã sửa\n"
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”"
 
-#: sequencer.c:367
+#: sequencer.c:370
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -3345,45 +4091,39 @@ msgstr ""
 "với lệnh “git add <đường_dẫn>” hoặc “git rm <đường_dẫn>”\n"
 "và chuyển giao kết quả bằng lệnh “git commit”"
 
-#: sequencer.c:380 sequencer.c:2468
+#: sequencer.c:383 sequencer.c:2488
 #, c-format
 msgid "could not lock '%s'"
 msgstr "không thể khóa “%s”"
 
-#: sequencer.c:382 sequencer.c:2346 sequencer.c:2472 sequencer.c:2486
-#: sequencer.c:2694 sequencer.c:4336 sequencer.c:4399 wrapper.c:656
-#, c-format
-msgid "could not write to '%s'"
-msgstr "không thể ghi vào “%s”"
-
-#: sequencer.c:387
+#: sequencer.c:390
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "không thể ghi eol vào “%s”"
 
-#: sequencer.c:392 sequencer.c:2351 sequencer.c:2474 sequencer.c:2488
-#: sequencer.c:2702
+#: sequencer.c:395 sequencer.c:2371 sequencer.c:2494 sequencer.c:2508
+#: sequencer.c:2741
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "gặp lỗi khi hoàn thành “%s”"
 
-#: sequencer.c:415 sequencer.c:804 sequencer.c:1493 sequencer.c:2371
-#: sequencer.c:2684 sequencer.c:2788 builtin/am.c:259 builtin/commit.c:727
-#: builtin/merge.c:1046
+#: sequencer.c:418 sequencer.c:816 sequencer.c:1505 sequencer.c:2391
+#: sequencer.c:2723 sequencer.c:2827 builtin/am.c:260 builtin/commit.c:740
+#: builtin/merge.c:1081
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc “%s”."
 
-#: sequencer.c:441
+#: sequencer.c:444
 #, 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:445
+#: sequencer.c:448
 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:474
+#: sequencer.c:477
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: chuyển-tiếp-nhanh"
@@ -3391,20 +4131,35 @@ msgstr "%s: chuyển-tiếp-nhanh"
 #. TRANSLATORS: %s will be "revert", "cherry-pick" or
 #. "rebase -i".
 #.
-#: sequencer.c:563
+#: sequencer.c:566
 #, 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:579
+#: sequencer.c:582
 msgid "unable to update cache tree"
 msgstr "không thể cập nhật cây bộ nhớ đệm"
 
-#: sequencer.c:592
+#: sequencer.c:595
 msgid "could not resolve HEAD commit"
 msgstr "không thể phân giải lần chuyển giao HEAD"
 
-#: sequencer.c:749
+#: sequencer.c:723 sequencer.c:740
+#, c-format
+msgid "could not parse '%s' (looking for '%s')"
+msgstr "không thể phân tích “%s” (đang tìm kiếm cho “%s”)"
+
+#: sequencer.c:731
+#, c-format
+msgid "bad quoting on %s value in '%s'"
+msgstr "sai trích dẫn trên %s giá trị trong “%s”"
+
+#: sequencer.c:747
+#, 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:761
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -3433,15 +4188,15 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:818
+#: sequencer.c:830
 msgid "writing root commit"
 msgstr "ghi chuyển giao gốc"
 
-#: sequencer.c:1043
+#: sequencer.c:1055
 msgid "'prepare-commit-msg' hook failed"
 msgstr "móc “prepare-commit-msg” bị lỗi"
 
-#: sequencer.c:1050
+#: sequencer.c:1062
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -3472,7 +4227,7 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1063
+#: sequencer.c:1075
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -3500,318 +4255,347 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1103
+#: sequencer.c:1115
 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:1105
+#: sequencer.c:1117
 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:1151
+#: sequencer.c:1163
 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:1153
+#: sequencer.c:1165
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: sequencer.c:1157
+#: sequencer.c:1169
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: sequencer.c:1178
+#: sequencer.c:1190
 msgid "could not parse HEAD"
 msgstr "không thể phân tích HEAD"
 
-#: sequencer.c:1180
+#: sequencer.c:1192
 #, 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:1184 builtin/commit.c:1528
+#: sequencer.c:1196 builtin/commit.c:1528
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: sequencer.c:1235 sequencer.c:1832
+#: sequencer.c:1247 sequencer.c:1845
 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:1245 builtin/am.c:1630 builtin/merge.c:645
+#: sequencer.c:1257 builtin/am.c:1632 builtin/merge.c:675
 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:1262 sequencer.c:1317
+#: sequencer.c:1274 sequencer.c:1329
 #, 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:1284 builtin/am.c:1650 builtin/commit.c:1631 builtin/merge.c:825
-#: builtin/merge.c:850
+#: sequencer.c:1296 builtin/am.c:1653 builtin/commit.c:1631 builtin/merge.c:855
+#: builtin/merge.c:880
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao"
 
-#: sequencer.c:1344
+#: sequencer.c:1356
 #, c-format
 msgid "could not parse commit %s"
 msgstr "không thể phân tích lần chuyển giao %s"
 
-#: sequencer.c:1349
+#: sequencer.c:1361
 #, 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:1500 sequencer.c:1525
+#: sequencer.c:1457 sequencer.c:1565
+#, c-format
+msgid "unknown command: %d"
+msgstr "không hiểu câu lệnh %d"
+
+#: sequencer.c:1512 sequencer.c:1537
 #, 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:1510 sequencer.c:4355
+#: sequencer.c:1522 sequencer.c:4520
 msgid "need a HEAD to fixup"
 msgstr "cần một HEAD để sửa"
 
-#: sequencer.c:1512 sequencer.c:2729
+#: sequencer.c:1524 sequencer.c:2768
 msgid "could not read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:1514
+#: sequencer.c:1526
 msgid "could not read HEAD's commit message"
 msgstr "không thể đọc phần chú thích (message) của HEAD"
 
-#: sequencer.c:1520
+#: sequencer.c:1532
 #, c-format
 msgid "cannot write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:1527 git-rebase--interactive.sh:457
+#: sequencer.c:1539 git-rebase--preserve-merges.sh:441
 msgid "This is the 1st commit message:"
 msgstr "Đây là chú thích cho lần chuyển giao thứ nhất:"
 
-#: sequencer.c:1535
+#: sequencer.c:1547
 #, 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:1542
+#: sequencer.c:1554
 #, 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:1548
+#: sequencer.c:1560
 #, 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:1553
-#, c-format
-msgid "unknown command: %d"
-msgstr "không hiểu câu lệnh %d"
-
-#: sequencer.c:1631
+#: sequencer.c:1643
 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:1638
+#: sequencer.c:1650
 msgid "cannot fixup root commit"
 msgstr "không thể sửa chữa lần chuyển giao gốc"
 
-#: sequencer.c:1657
+#: sequencer.c:1669
 #, 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:1665
+#: sequencer.c:1677
 #, 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:1669
+#: sequencer.c:1681
 #, c-format
 msgid "mainline was specified but commit %s is not a merge."
 msgstr ""
 "luồng chính đã được chỉ ra nhưng lần chuyển giao %s không phải là một lần "
 "hòa trộn."
 
-#: sequencer.c:1675
+#: sequencer.c:1687
 #, 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:1694
+#: sequencer.c:1706
 #, 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:1759
+#: sequencer.c:1771
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "không thể đổi tên “%s” thành “%s”"
 
-#: sequencer.c:1813
+#: sequencer.c:1826
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể hoàn nguyên %s… %s"
 
-#: sequencer.c:1814
+#: sequencer.c:1827
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể áp dụng miếng vá %s… %s"
 
-#: sequencer.c:1864
-msgid "empty commit set passed"
-msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
-
-#: sequencer.c:1874
+#: sequencer.c:1885
 #, 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:1881
+#: sequencer.c:1892
 #, 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:1961
+#: sequencer.c:1972
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s không nhận các đối số: “%s”"
 
-#: sequencer.c:1970
+#: sequencer.c:1981
 #, c-format
 msgid "missing arguments for %s"
 msgstr "thiếu đối số cho %s"
 
-#: sequencer.c:2029
+#: sequencer.c:2040
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "dòng không hợp lệ %d: %.*s"
 
-#: sequencer.c:2037
+#: sequencer.c:2048
 #, 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:2085 sequencer.c:4138 sequencer.c:4173
+#: sequencer.c:2096 sequencer.c:4277 sequencer.c:4333
 #, c-format
 msgid "could not read '%s'."
 msgstr "không thể đọc “%s”."
 
-#: sequencer.c:2108
+#: sequencer.c:2119
 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:2110
+#: sequencer.c:2121
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:2115
+#: sequencer.c:2126
 msgid "no commits parsed."
 msgstr "không có lần chuyển giao nào được phân tích."
 
-#: sequencer.c:2126
+#: sequencer.c:2137
 msgid "cannot cherry-pick during a revert."
 msgstr "không thể cherry-pick trong khi hoàn nguyên."
 
-#: sequencer.c:2128
+#: sequencer.c:2139
 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:2195
-#, c-format
-msgid "invalid key: %s"
-msgstr "khóa không đúng: %s"
-
-#: sequencer.c:2198
+#: sequencer.c:2209
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "giá trị cho %s không hợp lệ: %s"
 
-#: sequencer.c:2269
+#: sequencer.c:2285
 msgid "unusable squash-onto"
 msgstr "squash-onto không dùng được"
 
-#: sequencer.c:2285
+#: sequencer.c:2301
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "bảng tùy chọn dị hình: “%s”"
 
-#: sequencer.c:2323
+#: sequencer.c:2335 sequencer.c:3775
+msgid "empty commit set passed"
+msgstr "lần chuyển giao trống rỗng đặt là hợp quy cách"
+
+#: sequencer.c:2343
 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:2324
+#: sequencer.c:2344
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:2327
+#: sequencer.c:2347
 #, 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:2341
+#: sequencer.c:2361
 msgid "could not lock HEAD"
 msgstr "không thể khóa HEAD"
 
-#: sequencer.c:2396 sequencer.c:3403
+#: sequencer.c:2416 sequencer.c:3543
 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:2398
+#: sequencer.c:2418
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:2400 sequencer.c:2435
+#: sequencer.c:2420 sequencer.c:2455
 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:2421 builtin/grep.c:720
+#: sequencer.c:2441 builtin/grep.c:721
 #, c-format
 msgid "cannot open '%s'"
 msgstr "không mở được “%s”"
 
-#: sequencer.c:2423
+#: sequencer.c:2443
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "không thể đọc “%s”: %s"
 
-#: sequencer.c:2424
+#: sequencer.c:2444
 msgid "unexpected end of file"
 msgstr "gặp kết thúc tập tin đột xuất"
 
-#: sequencer.c:2430
+#: sequencer.c:2450
 #, 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:2441
+#: sequencer.c:2461
 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:2545 sequencer.c:3321
+#: sequencer.c:2565 sequencer.c:3461
 #, c-format
 msgid "could not update %s"
 msgstr "không thể cập nhật %s"
 
-#: sequencer.c:2583 sequencer.c:3301
+#: sequencer.c:2603 sequencer.c:3441
 msgid "cannot read HEAD"
 msgstr "không thể đọc HEAD"
 
-#: sequencer.c:2618 sequencer.c:2622 builtin/difftool.c:639
+#: sequencer.c:2618
+#, c-format
+msgid "unable to copy '%s' to '%s'"
+msgstr "không thể chép “%s” sang “%s”"
+
+#: sequencer.c:2626
+#, c-format
+msgid ""
+"You can amend the commit now, with\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"Once you are satisfied with your changes, run\n"
+"\n"
+"  git rebase --continue\n"
+msgstr ""
+"Bạn có thể tu bổ lần chuyển giao ngay bây giờ bằng:\n"
+"\n"
+"  git commit --amend %s\n"
+"\n"
+"Một khi đã hài lòng với những thay đổi của mình, thì chạy:\n"
+"\n"
+"  git rebase --continue\n"
+
+#: sequencer.c:2636
+#, c-format
+msgid "Could not apply %s... %.*s"
+msgstr "Không thể áp dụng %s… %.*s"
+
+#: sequencer.c:2643
+#, c-format
+msgid "Could not merge %.*s"
+msgstr "Không hòa trộn %.*s"
+
+#: sequencer.c:2654 sequencer.c:2658 builtin/difftool.c:640
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "không thể chép “%s” sang “%s”"
 
-#: sequencer.c:2641
+#: sequencer.c:2680 sequencer.c:3095
 msgid "could not read index"
 msgstr "không thể đọc bảng mục lục"
 
-#: sequencer.c:2646
+#: sequencer.c:2685
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -3826,11 +4610,11 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2652
+#: sequencer.c:2691
 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:2658
+#: sequencer.c:2697
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -3847,62 +4631,81 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:2771
+#: sequencer.c:2758
+#, c-format
+msgid "illegal label name: '%.*s'"
+msgstr "tên nhãn dị hình: “%.*s”"
+
+#: sequencer.c:2810
 msgid "writing fake root commit"
 msgstr "ghi lần chuyển giao gốc giả"
 
-#: sequencer.c:2776
+#: sequencer.c:2815
 msgid "writing squash-onto"
 msgstr "đang ghi squash-onto"
 
-#: sequencer.c:2811
+#: sequencer.c:2850
 #, c-format
 msgid "failed to find tree of %s"
 msgstr "gặp lỗi khi tìm cây của %s"
 
-#: sequencer.c:2829
+#: sequencer.c:2868
 msgid "could not write index"
 msgstr "không thể ghi bảng mục lục"
 
-#: sequencer.c:2861
+#: sequencer.c:2895
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "không thể phân giải “%s”"
+
+#: sequencer.c:2921
 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:2884
+#: sequencer.c:2943
 #, c-format
-msgid "could not resolve '%s'"
-msgstr "không thể phân giải “%s”"
+msgid "unable to parse '%.*s'"
+msgstr "không thể phân tích “%.*s”"
+
+#: sequencer.c:2952
+#, c-format
+msgid "nothing to merge: '%.*s'"
+msgstr "chẳng có gì để hòa trộn: “%.*s”"
+
+#: sequencer.c:2964
+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:2906
+#: sequencer.c:2979
 #, 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:2916 sequencer.c:2941
+#: sequencer.c:2989 sequencer.c:3015
 #, c-format
 msgid "could not write '%s'"
 msgstr "không thể ghi “%s”"
 
-#: sequencer.c:3005
+#: sequencer.c:3127
 #, 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:3021
+#: sequencer.c:3143
 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:3088
+#: sequencer.c:3211
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Đã áp dụng autostash.\n"
 
-#: sequencer.c:3100
+#: sequencer.c:3223
 #, c-format
 msgid "cannot store %s"
 msgstr "không thử lưu “%s”"
 
-#: sequencer.c:3103 git-rebase.sh:188
+#: sequencer.c:3226 git-rebase.sh:188
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -3914,7 +4717,7 @@ 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:3134
+#: sequencer.c:3257
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -3929,54 +4732,54 @@ msgstr ""
 "Không thể thực thi lệnh todo\n"
 "\n"
 "    %.*s\n"
-"Nó đã được lập lịch lại: Để sửa lệnh trước khi tiếp tục, vui lòng\n"
+"Nó đã được lên lịch lại: Để sửa lệnh trước khi tiếp tục, vui lòng\n"
 "sửa danh sách todo trước:\n"
 "\n"
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3202
+#: sequencer.c:3325
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "Dừng lại ở %s…  %.*s\n"
 
-#: sequencer.c:3264
+#: sequencer.c:3404
 #, c-format
 msgid "unknown command %d"
 msgstr "không hiểu câu lệnh %d"
 
-#: sequencer.c:3309
+#: sequencer.c:3449
 msgid "could not read orig-head"
 msgstr "không thể đọc orig-head"
 
-#: sequencer.c:3314 sequencer.c:4352
+#: sequencer.c:3454 sequencer.c:4517
 msgid "could not read 'onto'"
 msgstr "không thể đọc “onto”."
 
-#: sequencer.c:3328
+#: sequencer.c:3468
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "không thể cập nhật HEAD thành %s"
 
-#: sequencer.c:3414
+#: sequencer.c:3554
 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:3423
+#: sequencer.c:3563
 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:3425
+#: sequencer.c:3565
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "tập tin không hợp lệ: “%s”"
 
-#: sequencer.c:3427
+#: sequencer.c:3567
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "nội dung không hợp lệ: “%s”"
 
-#: sequencer.c:3430
+#: sequencer.c:3570
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -3986,54 +4789,54 @@ 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:3455 sequencer.c:3493
+#: sequencer.c:3595 sequencer.c:3633
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "không thể ghi tập tin: “%s”"
 
-#: sequencer.c:3508
+#: sequencer.c:3648
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: sequencer.c:3515
+#: sequencer.c:3655
 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:3612
+#: sequencer.c:3752
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: không thể cherry-pick một %s"
 
-#: sequencer.c:3616
+#: sequencer.c:3756
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: điểm xét duyệt sai"
 
-#: sequencer.c:3649
+#: sequencer.c:3791
 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:4098
+#: sequencer.c:4238
 msgid "make_script: unhandled options"
 msgstr "make_script: các tùy chọn được không xử lý"
 
-#: sequencer.c:4101
+#: sequencer.c:4241
 msgid "make_script: error preparing revisions"
 msgstr "make_script: lỗi chuẩn bị điểm hiệu chỉnh"
 
-#: sequencer.c:4142 sequencer.c:4177
+#: sequencer.c:4281 sequencer.c:4337
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "danh sách cần làm không dùng được: “%s”"
 
-#: sequencer.c:4236
+#: sequencer.c:4396
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr ""
 "không nhận ra cài đặt %s cho tùy chọn rebase.missingCommitsCheck. Nên bỏ qua."
 
-#: sequencer.c:4302
+#: sequencer.c:4466
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -4042,7 +4845,7 @@ msgstr ""
 "Cảnh báo: một số lần chuyển giao có lẽ đã bị xóa một cách tình cờ.\n"
 "Các lần chuyển giao bị xóa (từ mới đến cũ):\n"
 
-#: sequencer.c:4309
+#: sequencer.c:4473
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -4060,7 +4863,7 @@ msgstr ""
 "Cánh ứng xử có thể là: ignore, warn, error.\n"
 "\n"
 
-#: sequencer.c:4321
+#: sequencer.c:4486
 #, c-format
 msgid ""
 "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
@@ -4071,12 +4874,7 @@ 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:4375
-#, c-format
-msgid "could not parse commit '%s'"
-msgstr "không thể phân tích lần chuyển giao “%s”"
-
-#: sequencer.c:4490
+#: sequencer.c:4660
 msgid "the script was already rearranged."
 msgstr "văn lệnh đã sẵn được sắp đặt rồi."
 
@@ -4239,6 +5037,39 @@ msgstr "gặp lỗi khi rẽ nhánh tiến trình"
 msgid "setsid failed"
 msgstr "setsid gặp lỗi"
 
+#: sha1-file.c:381
+#, c-format
+msgid "object directory %s does not exist; check .git/objects/info/alternates"
+msgstr ""
+"thư mục đối tượng %s không tồn tại; kiểm tra .git/objects/info/alternates"
+
+#: sha1-file.c:432
+#, c-format
+msgid "unable to normalize alternate object path: %s"
+msgstr "không thể thường hóa đường dẫn đối tượng thay thế: “%s”"
+
+#: sha1-file.c:503
+#, c-format
+msgid "%s: ignoring alternate object stores, nesting too deep"
+msgstr "%s: đang bỏ qua kho đối tượng thay thế, lồng nhau quá sâu"
+
+#: sha1-file.c:510
+#, c-format
+msgid "unable to normalize object directory: %s"
+msgstr "không thể chuẩn hóa thư mục đối tượng: “%s”"
+
+#: sha1-file.c:565
+msgid "unable to fdopen alternates lockfile"
+msgstr "không thể fdopen tập tin khóa thay thế"
+
+#: sha1-file.c:583
+msgid "unable to read alternates file"
+msgstr "không thể đọc tập tin thay thế"
+
+#: sha1-file.c:590
+msgid "unable to move new alternates file into place"
+msgstr "không thể di chuyển tập tin thay thế vào chỗ"
+
 #: sha1-file.c:625
 #, c-format
 msgid "path '%s' does not exist"
@@ -4264,16 +5095,209 @@ 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-name.c:442
+#: sha1-file.c:781
+#, 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:806
+msgid "mmap failed"
+msgstr "mmap gặp lỗi"
+
+#: sha1-file.c:973
+#, c-format
+msgid "object file %s is empty"
+msgstr "tập tin đối tượng %s trống rỗng"
+
+#: sha1-file.c:1093 sha1-file.c:2206
+#, c-format
+msgid "corrupt loose object '%s'"
+msgstr "đối tượng mất hỏng “%s”"
+
+#: sha1-file.c:1095 sha1-file.c:2210
+#, 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:1137
+msgid "invalid object type"
+msgstr "kiểu đối tượng không hợp lệ"
+
+#: sha1-file.c:1219
+#, 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:1222
+#, c-format
+msgid "unable to unpack %s header"
+msgstr "không thể giải gói phần đầu %s"
+
+#: sha1-file.c:1228
+#, 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:1231
+#, 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:1422
+#, c-format
+msgid "failed to read object %s"
+msgstr "gặp lỗi khi đọc đối tượng “%s”"
+
+#: sha1-file.c:1426
+#, 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:1430
+#, 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:1434
+#, 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:1536
+#, c-format
+msgid "unable to write sha1 filename %s"
+msgstr "không thể ghi vào tên tập tin sha1 %s"
+
+#: sha1-file.c:1543
+#, c-format
+msgid "unable to set permission to '%s'"
+msgstr "không thể đặt quyền thành “%s”"
+
+#: sha1-file.c:1550
+msgid "file write error"
+msgstr "lỗi ghi tập tin"
+
+#: sha1-file.c:1569
+msgid "error when closing sha1 file"
+msgstr "gặp lỗi trong khi đóng tập tin sha1"
+
+#: sha1-file.c:1635
+#, 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:1637
+msgid "unable to create temporary file"
+msgstr "không thể tạo tập tin tạm thời"
+
+#: sha1-file.c:1661
+msgid "unable to write sha1 file"
+msgstr "không thể ghi vào tập tin sha1"
+
+#: sha1-file.c:1667
+#, 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:1671
+#, 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:1675
+#, 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:1685 builtin/pack-objects.c:899
+#, c-format
+msgid "failed utime() on %s"
+msgstr "gặp lỗi utime() trên “%s”"
+
+#: sha1-file.c:1760
+#, c-format
+msgid "cannot read sha1_file for %s"
+msgstr "không thể đọc sha1_file cho %s"
+
+#: sha1-file.c:1805
+msgid "corrupt commit"
+msgstr "lần chuyển giao sai hỏng"
+
+#: sha1-file.c:1813
+msgid "corrupt tag"
+msgstr "thẻ sai hỏng"
+
+#: sha1-file.c:1906
+#, c-format
+msgid "read error while indexing %s"
+msgstr "gặp lỗi đọc khi đánh mục lục %s"
+
+#: sha1-file.c:1909
+#, c-format
+msgid "short read while indexing %s"
+msgstr "không đọc ngắn khi đánh mục lục %s"
+
+#: sha1-file.c:1980 sha1-file.c:1989
+#, 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:1995
+#, c-format
+msgid "%s: unsupported file type"
+msgstr "%s: kiểu tập tin không được hỗ trợ"
+
+#: sha1-file.c:2019
+#, 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:2021
+#, 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:2048 builtin/index-pack.c:158
+#, c-format
+msgid "unable to open %s"
+msgstr "không thể mở %s"
+
+#: sha1-file.c:2217 sha1-file.c:2269
+#, c-format
+msgid "sha1 mismatch for %s (expected %s)"
+msgstr "sha1 không khớp cho %s (cần %s)"
+
+#: sha1-file.c:2241
+#, c-format
+msgid "unable to mmap %s"
+msgstr "không thể mmap %s"
+
+#: sha1-file.c:2246
+#, 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:2252
+#, 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:2263
+#, c-format
+msgid "unable to unpack contents of %s"
+msgstr "không thể giải gói nội dung của “%s”"
+
+#: sha1-name.c:444
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "tóm lược SHA1 %s chưa rõ ràng"
 
-#: sha1-name.c:453
+#: sha1-name.c:455
 msgid "The candidates are:"
 msgstr "Các ứng cử là:"
 
-#: sha1-name.c:695
+#: sha1-name.c:699
 msgid ""
 "Git normally never creates a ref that ends with 40 hex characters\n"
 "because it will be ignored when you just specify 40-hex. These refs\n"
@@ -4332,37 +5356,47 @@ msgstr "Trong mô-đun-con không có gì “%s”"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Đặc tả đường dẫn “%s” thì ở trong mô-đun-con “%.*s”"
 
-#: submodule.c:837
+#: submodule.c:839
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr ""
 "mục tin mô-đun-con “%s” (%s) là một %s, không phải là một lần chuyển giao"
 
-#: submodule.c:1069 builtin/branch.c:651 builtin/submodule--helper.c:1743
+#: submodule.c:1071 builtin/branch.c:670 builtin/submodule--helper.c:1888
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Gặp lỗi khi phân giải HEAD như là một tham chiếu hợp lệ."
 
-#: submodule.c:1375
+#: submodule.c:1377
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "không nhận ra “%s” là một kho git"
 
-#: submodule.c:1513
+#: submodule.c:1515
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "không thể lấy thống kê “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1526
+#: submodule.c:1528
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "không thể chạy “git status” trong mô-đun-con “%s”"
 
-#: submodule.c:1619
+#: submodule.c:1543
+#, c-format
+msgid "Could not unset core.worktree setting in submodule '%s'"
+msgstr "Không thể đặt core.worktree trong mô-đun-con “%s”"
+
+#: submodule.c:1633
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "mô-đun-con “%s” có mục lục còn bẩn"
 
-#: submodule.c:1718
+#: submodule.c:1685
+#, c-format
+msgid "Submodule '%s' could not be updated."
+msgstr "Mô-đun-con “%s” không thể được cập nhật."
+
+#: submodule.c:1734
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -4370,18 +5404,18 @@ msgstr ""
 "relocate_gitdir cho mô-đun-con “%s” với nhiều hơn một cây làm việc là chưa "
 "được hỗ trợ"
 
-#: submodule.c:1730 submodule.c:1786
+#: submodule.c:1746 submodule.c:1802
 #, 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:1734 builtin/submodule--helper.c:1261
-#: builtin/submodule--helper.c:1271
+#: submodule.c:1750 builtin/submodule--helper.c:1406
+#: builtin/submodule--helper.c:1416
 #, c-format
 msgid "could not create directory '%s'"
 msgstr "không thể tạo thư mục “%s”"
 
-#: submodule.c:1737
+#: submodule.c:1753
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -4392,30 +5426,30 @@ msgstr ""
 "“%s” sang\n"
 "“%s”\n"
 
-#: submodule.c:1821
+#: submodule.c:1837
 #, c-format
 msgid "could not recurse into submodule '%s'"
 msgstr "không thể đệ quy vào trong mô-đun-con “%s”"
 
-#: submodule.c:1865
+#: submodule.c:1881
 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:1904
+#: submodule.c:1920
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree trả về mã không như mong đợi %d"
 
-#: submodule-config.c:230
+#: submodule-config.c:231
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "đang lờ đi tên mô-đun-con mập mờ: %s"
 
-#: submodule-config.c:294
+#: submodule-config.c:295
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "không cho phép giá trị âm ở submodule.fetchJobs"
 
-#: submodule-config.c:467
+#: submodule-config.c:468
 #, c-format
 msgid "invalid value for %s"
 msgstr "giá trị cho %s không hợp lệ"
@@ -4431,7 +5465,7 @@ msgstr "chạy lệnh kéo theo “%s” gặp lỗi"
 msgid "unknown value '%s' for key '%s'"
 msgstr "không hiểu giá trị “%s” cho khóa “%s”"
 
-#: trailer.c:539 trailer.c:544 builtin/remote.c:293
+#: trailer.c:539 trailer.c:544 builtin/remote.c:294
 #, c-format
 msgid "more than one %s"
 msgstr "nhiều hơn một %s"
@@ -4450,7 +5484,7 @@ msgstr "không đọc được tập tin đầu vào “%s”"
 msgid "could not read from stdin"
 msgstr "không thể đọc từ đầu vào tiêu chuẩn"
 
-#: trailer.c:1008 builtin/am.c:46
+#: trailer.c:1008 builtin/am.c:47
 #, c-format
 msgid "could not stat %s"
 msgstr "không thể lấy thông tin thống kê về %s"
@@ -4479,16 +5513,39 @@ msgstr "không thể đổi tên tập tin tạm thời thành %s"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "Không thể đặt thượng nguồn của “%s” thành “%s” của “%s”\n"
 
+#: transport.c:142
+#, c-format
+msgid "could not read bundle '%s'"
+msgstr "không thể đọc bó “%s”"
+
 #: transport.c:208
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "vận chuyển: tùy chọn độ sâu “%s” không hợp lệ"
 
-#: transport.c:584
+#: transport.c:586
 msgid "could not parse transport.color.* config"
 msgstr "không thể phân tích cú pháp cấu hình transport.color.*"
 
-#: transport.c:996
+#: transport.c:659
+msgid "support for protocol v2 not implemented yet"
+msgstr "việc hỗ trợ giao thức v2 chưa được thực hiện"
+
+#: transport.c:785
+#, c-format
+msgid "unknown value for config '%s': %s"
+msgstr "không hiểu giá trị cho cho cấu hình “%s”: %s"
+
+#: transport.c:851
+#, c-format
+msgid "transport '%s' not allowed"
+msgstr "không cho phép phương thức vận chuyển “%s”"
+
+#: transport.c:903
+msgid "git-over-rsync is no longer supported"
+msgstr "git-over-rsync không còn được hỗ trợ nữa"
+
+#: transport.c:998
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -4497,7 +5554,7 @@ msgstr ""
 "Các đường dẫn mô-đun-con sau đây có chứa các thay đổi cái mà\n"
 "có thể được tìm thấy trên mọi máy phục vụ:\n"
 
-#: transport.c:1000
+#: transport.c:1002
 #, c-format
 msgid ""
 "\n"
@@ -4524,32 +5581,208 @@ msgstr ""
 "để đẩy chúng lên máy phục vụ.\n"
 "\n"
 
-#: transport.c:1008
+#: transport.c:1010
 msgid "Aborting."
 msgstr "Bãi bỏ."
 
-#: transport-helper.c:1087
+#: transport.c:1148
+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:1270 transport-helper.c:643
+msgid "operation not supported by protocol"
+msgstr "thao tác không được gia thức hỗ trợ"
+
+#: transport.c:1352
+#, 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"
+
+#: transport-helper.c:132
+#, c-format
+msgid "unable to find remote helper for '%s'"
+msgstr "không thể tìm thấy bộ hỗ trợ máy chủ cho “%s”"
+
+#: transport-helper.c:148 transport-helper.c:557
+msgid "can't dup helper output fd"
+msgstr "không thể nhân đôi fd dầu ra bộ hỗ trợ"
+
+#: transport-helper.c:199
+#, c-format
+msgid ""
+"unknown mandatory capability %s; this remote helper probably needs newer "
+"version of Git"
+msgstr ""
+"không hiểu capability bắt buộc %s; bộ hỗ trợ máy chủ này gần như chắc chắn "
+"là cần phiên bản Git mới hơn"
+
+#: transport-helper.c:205
+msgid "this remote helper should implement refspec capability"
+msgstr "bộ hỗ trợ máy chủ này cần phải thực thi capability đặc tả tham chiếu"
+
+#: transport-helper.c:272 transport-helper.c:412
+#, c-format
+msgid "%s unexpectedly said: '%s'"
+msgstr "%s said bất ngờ: “%s”"
+
+#: transport-helper.c:401
+#, c-format
+msgid "%s also locked %s"
+msgstr "%s cũng khóa %s"
+
+#: transport-helper.c:479
+msgid "couldn't run fast-import"
+msgstr "không thể chạy fast-import"
+
+#: transport-helper.c:502
+msgid "error while running fast-import"
+msgstr "gặp lỗi trong khi chạy fast-import"
+
+#: transport-helper.c:531 transport-helper.c:1091
+#, c-format
+msgid "could not read ref %s"
+msgstr "không thể đọc tham chiếu %s"
+
+#: transport-helper.c:576
+#, c-format
+msgid "unknown response to connect: %s"
+msgstr "không hiểu đáp ứng để kết nối: %s"
+
+#: transport-helper.c:598
+msgid "setting remote service path not supported by protocol"
+msgstr "giao thức này không hỗ trợ cài đặt đường dẫn dịch vụ máy chủ"
+
+#: transport-helper.c:600
+msgid "invalid remote service path"
+msgstr "đường dẫn dịch vụ máy chủ không hợp lệ"
+
+#: transport-helper.c:646
+#, c-format
+msgid "can't connect to subservice %s"
+msgstr "không thể kết nối đến dịch vụ phụ %s"
+
+#: transport-helper.c:713
+#, c-format
+msgid "expected ok/error, helper said '%s'"
+msgstr "cần ok/error, nhưng bộ hỗ trợ lại nói “%s”"
+
+#: transport-helper.c:766
+#, c-format
+msgid "helper reported unexpected status of %s"
+msgstr "bộ hỗ trợ báo cáo rằng không cần tình trạng của %s"
+
+#: transport-helper.c:827
+#, c-format
+msgid "helper %s does not support dry-run"
+msgstr "helper %s không hỗ trợ dry-run"
+
+#: transport-helper.c:830
+#, c-format
+msgid "helper %s does not support --signed"
+msgstr "helper %s không hỗ trợ --signed"
+
+#: transport-helper.c:833
+#, c-format
+msgid "helper %s does not support --signed=if-asked"
+msgstr "helper %s không hỗ trợ --signed=if-asked"
+
+#: transport-helper.c:840
+#, c-format
+msgid "helper %s does not support 'push-option'"
+msgstr "helper %s không hỗ trợ “push-option”"
+
+#: transport-helper.c:932
+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:937
+#, c-format
+msgid "helper %s does not support 'force'"
+msgstr "helper %s không hỗ trợ “force”"
+
+#: transport-helper.c:984
+msgid "couldn't run fast-export"
+msgstr "không thể chạy fast-export"
+
+#: transport-helper.c:989
+msgid "error while running fast-export"
+msgstr "gặp lỗi trong khi chạy fast-export"
+
+#: transport-helper.c:1014
+#, c-format
+msgid ""
+"No refs in common and none specified; doing nothing.\n"
+"Perhaps you should specify a branch such as 'master'.\n"
+msgstr ""
+"Không có các tham chiếu trong phần chung và chưa chỉ định; nên không làm gì "
+"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:1077
+#, 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:1230
+#, c-format
+msgid "read(%s) failed"
+msgstr "read(%s) gặp lỗi"
+
+#: transport-helper.c:1257
 #, c-format
-msgid "Could not read ref %s"
-msgstr "Không thể đọc tham chiếu %s"
+msgid "write(%s) failed"
+msgstr "write(%s) gặp lỗi"
 
-#: tree-walk.c:31
+#: transport-helper.c:1306
+#, c-format
+msgid "%s thread failed"
+msgstr "tuyến trình %s gặp lỗi"
+
+#: transport-helper.c:1310
+#, 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:1329 transport-helper.c:1333
+#, 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:1370
+#, c-format
+msgid "%s process failed to wait"
+msgstr "xử lý %s gặp lỗi khi đợi"
+
+#: transport-helper.c:1374
+#, c-format
+msgid "%s process failed"
+msgstr "xử lý %s gặp lỗi"
+
+#: transport-helper.c:1392 transport-helper.c:1401
+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"
+
+#: tree-walk.c:33
 msgid "too-short tree object"
 msgstr "đối tượng cây quá ngắn"
 
-#: tree-walk.c:37
+#: tree-walk.c:39
 msgid "malformed mode in tree entry"
 msgstr "chế độ dị hình trong đề mục cây"
 
-#: tree-walk.c:41
+#: tree-walk.c:43
 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:113
+#: tree-walk.c:115
 msgid "too-short tree file"
 msgstr "tập tin cây quá ngắn"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4560,7 +5793,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn "
 "chuyển nhánh."
 
-#: unpack-trees.c:113
+#: unpack-trees.c:114
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -4570,7 +5803,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:116
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4581,7 +5814,7 @@ msgstr ""
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn hòa "
 "trộn."
 
-#: unpack-trees.c:118
+#: unpack-trees.c:119
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -4591,7 +5824,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:121
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4601,7 +5834,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng chuyển giao các thay đổi hay tạm cất chúng đi trước khi bạn %s."
 
-#: unpack-trees.c:123
+#: unpack-trees.c:124
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -4611,7 +5844,7 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:129
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -4621,7 +5854,7 @@ msgstr ""
 "trong nó:\n"
 "%s"
 
-#: unpack-trees.c:132
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4631,7 +5864,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:134
+#: unpack-trees.c:135
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -4641,7 +5874,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:137
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4651,7 +5884,7 @@ msgstr ""
 "trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:140
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -4661,7 +5894,7 @@ msgstr ""
 "trộn:\n"
 "%%s"
 
-#: unpack-trees.c:142
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4670,7 +5903,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:145
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -4679,7 +5912,7 @@ msgstr ""
 "Các tập tin cây làm việc chưa được theo dõi sau đây sẽ bị gỡ bỏ bởi %s:\n"
 "%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:151
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4690,7 +5923,7 @@ msgstr ""
 "checkout:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn chuyển nhánh."
 
-#: unpack-trees.c:152
+#: unpack-trees.c:153
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -4701,7 +5934,7 @@ msgstr ""
 "checkout:\n"
 "%%s"
 
-#: unpack-trees.c:155
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4711,7 +5944,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn hòa trộn."
 
-#: unpack-trees.c:157
+#: unpack-trees.c:158
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -4721,7 +5954,7 @@ msgstr ""
 "hòa trộn:\n"
 "%%s"
 
-#: unpack-trees.c:160
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4731,7 +5964,7 @@ msgstr ""
 "%s:\n"
 "%%sVui lòng di chuyển hay gỡ bỏ chúng trước khi bạn %s."
 
-#: unpack-trees.c:162
+#: unpack-trees.c:163
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -4741,12 +5974,12 @@ msgstr ""
 "%s:\n"
 "%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:171
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Mục “%s” đè lên “%s”. Không thể buộc."
 
-#: unpack-trees.c:173
+#: unpack-trees.c:174
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -4755,7 +5988,7 @@ msgstr ""
 "Không thể cập nhật checkout rải rác: các mục tin sau đây chưa cập nhật:\n"
 "%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:176
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -4766,7 +5999,7 @@ msgstr ""
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:177
+#: unpack-trees.c:178
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -4777,7 +6010,7 @@ msgstr ""
 "nhật checkout rải rác:\n"
 "%s"
 
-#: unpack-trees.c:179
+#: unpack-trees.c:180
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -4786,12 +6019,12 @@ msgstr ""
 "Không thể cập nhật mô-đun-con:\n"
 "%s"
 
-#: unpack-trees.c:262
+#: unpack-trees.c:254
 #, c-format
 msgid "Aborting\n"
 msgstr "Bãi bỏ\n"
 
-#: unpack-trees.c:344
+#: unpack-trees.c:336
 msgid "Checking out files"
 msgstr "Đang lấy ra các tập tin"
 
@@ -4860,8 +6093,8 @@ msgstr "“%s” không chỉ ngược đến “%s”"
 msgid "could not open '%s' for reading and writing"
 msgstr "không thể mở “%s” để đọc và ghi"
 
-#: wrapper.c:227 wrapper.c:397 builtin/am.c:320 builtin/am.c:770
-#: builtin/am.c:862 builtin/merge.c:1043
+#: wrapper.c:227 wrapper.c:397 builtin/am.c:321 builtin/am.c:771
+#: builtin/am.c:863 builtin/merge.c:1078
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở “%s” để đọc"
@@ -5366,23 +6599,23 @@ msgid "ahead "
 msgstr "phía trước "
 
 #. TRANSLATORS: the action is e.g. "pull with rebase"
-#: wt-status.c:2366
+#: wt-status.c:2376
 #, 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:2372
+#: wt-status.c:2382
 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:2374
+#: wt-status.c:2384
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 "không thể %s: Mục lục của bạn có chứa các thay đổi chưa được chuyển giao."
 
-#: compat/precompose_utf8.c:58 builtin/clone.c:442
+#: compat/precompose_utf8.c:58 builtin/clone.c:443
 #, c-format
 msgid "failed to unlink '%s'"
 msgstr "gặp lỗi khi bỏ liên kết (unlink) “%s”"
@@ -5396,7 +6629,7 @@ msgstr "git add [<các-tùy-chọn>] [--]  <pathspec>…"
 msgid "unexpected diff status %c"
 msgstr "trạng thái lệnh diff không như mong đợi %c"
 
-#: builtin/add.c:88 builtin/commit.c:266
+#: builtin/add.c:88 builtin/commit.c:279
 msgid "updating files failed"
 msgstr "Cập nhật tập tin gặp lỗi"
 
@@ -5410,7 +6643,7 @@ msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Đưa ra khỏi bệ phóng các thay đổi sau khi làm tươi mới lại bảng mục lục:"
 
-#: builtin/add.c:233 builtin/rev-parse.c:892
+#: builtin/add.c:233 builtin/rev-parse.c:893
 msgid "Could not read the index"
 msgstr "Không thể đọc bảng mục lục"
 
@@ -5447,9 +6680,9 @@ msgstr ""
 "Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore "
 "của bạn:\n"
 
-#: builtin/add.c:289 builtin/clean.c:911 builtin/fetch.c:145 builtin/mv.c:123
-#: builtin/prune-packed.c:55 builtin/pull.c:212 builtin/push.c:557
-#: builtin/remote.c:1342 builtin/rm.c:240 builtin/send-pack.c:165
+#: builtin/add.c:289 builtin/clean.c:906 builtin/fetch.c:134 builtin/mv.c:123
+#: builtin/prune-packed.c:56 builtin/pull.c:212 builtin/push.c:557
+#: builtin/remote.c:1344 builtin/rm.c:240 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "chạy thử"
 
@@ -5457,7 +6690,7 @@ msgstr "chạy thử"
 msgid "interactive picking"
 msgstr "sửa bằng cách tương tác"
 
-#: builtin/add.c:293 builtin/checkout.c:1135 builtin/reset.c:302
+#: builtin/add.c:293 builtin/checkout.c:1144 builtin/reset.c:302
 msgid "select hunks interactively"
 msgstr "chọn “hunks” theo kiểu tương tác"
 
@@ -5505,19 +6738,15 @@ msgid "check if - even missing - files are ignored in dry run"
 msgstr ""
 "kiểm tra xem - thậm chí thiếu - tập tin bị bỏ qua trong quá trình chạy thử"
 
-#: builtin/add.c:307 builtin/update-index.c:974
-msgid "(+/-)x"
-msgstr "(+/-)x"
-
-#: builtin/add.c:307 builtin/update-index.c:975
+#: builtin/add.c:308 builtin/update-index.c:973
 msgid "override the executable bit of the listed files"
 msgstr "ghi đè lên bít thi hành của các tập tin được liệt kê"
 
-#: builtin/add.c:309
+#: builtin/add.c:310
 msgid "warn when adding an embedded repository"
 msgstr "cảnh báo khi thêm một kho nhúng"
 
-#: builtin/add.c:324
+#: builtin/add.c:325
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -5548,151 +6777,151 @@ msgstr ""
 "\n"
 "Xem \"git help submodule\" để biết thêm chi tiết."
 
-#: builtin/add.c:352
+#: builtin/add.c:353
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "thêm cần một kho git nhúng: %s"
 
-#: builtin/add.c:370
+#: builtin/add.c:371
 #, c-format
 msgid "Use -f if you really want to add them.\n"
 msgstr "Sử dụng tùy chọn -f nếu bạn thực sự muốn thêm chúng vào.\n"
 
-#: builtin/add.c:378
+#: builtin/add.c:379
 msgid "adding files failed"
 msgstr "thêm tập tin gặp lỗi"
 
-#: builtin/add.c:416
+#: builtin/add.c:417
 msgid "-A and -u are mutually incompatible"
 msgstr "-A và -u xung khắc nhau"
 
-#: builtin/add.c:423
+#: builtin/add.c:424
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr "Tùy chọn --ignore-missing chỉ có thể được dùng cùng với --dry-run"
 
-#: builtin/add.c:427
+#: builtin/add.c:428
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "--chmod tham số “%s” phải hoặc là -x hay +x"
 
-#: builtin/add.c:442
+#: builtin/add.c:443
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Không có gì được chỉ ra, không có gì được thêm vào.\n"
 
-#: builtin/add.c:443
+#: builtin/add.c:444
 #, c-format
 msgid "Maybe you wanted to say 'git add .'?\n"
 msgstr "Có lẽ ý bạn là “git add .” phải không?\n"
 
-#: builtin/add.c:448 builtin/check-ignore.c:177 builtin/checkout.c:280
-#: builtin/checkout.c:483 builtin/clean.c:958 builtin/commit.c:325
-#: builtin/diff-tree.c:114 builtin/mv.c:144 builtin/reset.c:241
-#: builtin/rm.c:270 builtin/submodule--helper.c:328
+#: builtin/add.c:449 builtin/check-ignore.c:177 builtin/checkout.c:282
+#: builtin/checkout.c:485 builtin/clean.c:953 builtin/commit.c:338
+#: builtin/diff-tree.c:115 builtin/grep.c:492 builtin/mv.c:144
+#: builtin/reset.c:241 builtin/rm.c:270 builtin/submodule--helper.c:329
 msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
-#: builtin/am.c:414
+#: builtin/am.c:415
 msgid "could not parse author script"
 msgstr "không thể phân tích cú pháp văn lệnh tác giả"
 
-#: builtin/am.c:498
+#: builtin/am.c:499
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "“%s” bị xóa bởi móc applypatch-msg"
 
-#: builtin/am.c:539
+#: builtin/am.c:540
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Dòng đầu vào dị hình: “%s”."
 
-#: builtin/am.c:576
+#: builtin/am.c:577
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Gặp lỗi khi sao chép ghi chú (note) từ “%s” tới “%s”"
 
-#: builtin/am.c:602
+#: builtin/am.c:603
 msgid "fseek failed"
 msgstr "fseek gặp lỗi"
 
-#: builtin/am.c:790
+#: builtin/am.c:791
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "không thể phân tích cú pháp “%s”"
 
-#: builtin/am.c:855
+#: builtin/am.c:856
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Chỉ có một sê-ri miếng vá StGIT được áp dụng một lúc"
 
-#: builtin/am.c:903
+#: builtin/am.c:904
 msgid "invalid timestamp"
 msgstr "dấu thời gian không hợp lệ"
 
-#: builtin/am.c:908 builtin/am.c:920
+#: builtin/am.c:909 builtin/am.c:921
 msgid "invalid Date line"
 msgstr "dòng Ngày tháng không hợp lệ"
 
-#: builtin/am.c:915
+#: builtin/am.c:916
 msgid "invalid timezone offset"
 msgstr "độ lệch múi giờ không hợp lệ"
 
-#: builtin/am.c:1008
+#: builtin/am.c:1009
 msgid "Patch format detection failed."
 msgstr "Dò tìm định dạng miếng vá gặp lỗi."
 
-#: builtin/am.c:1013 builtin/clone.c:407
+#: builtin/am.c:1014 builtin/clone.c:408
 #, c-format
 msgid "failed to create directory '%s'"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/am.c:1018
+#: builtin/am.c:1019
 msgid "Failed to split patches."
 msgstr "Gặp lỗi khi chia nhỏ các miếng vá."
 
-#: builtin/am.c:1148 builtin/commit.c:351
+#: builtin/am.c:1149 builtin/commit.c:364
 msgid "unable to write index file"
 msgstr "không thể ghi tập tin lưu mục lục"
 
-#: builtin/am.c:1162
+#: builtin/am.c:1163
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Khi bạn đã phân giải xong trục trặc này, hãy chạy \"%s --continue\"."
 
-#: builtin/am.c:1163
+#: builtin/am.c:1164
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 "Nếu bạn muốn bỏ qua miếng vá này, hãy chạy lệnh \"%s --skip\" để thay thế."
 
-#: builtin/am.c:1164
+#: builtin/am.c:1165
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr "Để phục hồi lại nhánh gốc và dừng vá, hãy chạy \"%s --abort\"."
 
-#: builtin/am.c:1271
+#: builtin/am.c:1272
 msgid "Patch is empty."
 msgstr "Miếng vá trống rỗng."
 
-#: builtin/am.c:1337
+#: builtin/am.c:1338
 #, c-format
 msgid "invalid ident line: %.*s"
 msgstr "dòng thụt lề không hợp lệ: %.*s"
 
-#: builtin/am.c:1359
+#: builtin/am.c:1360
 #, c-format
 msgid "unable to parse commit %s"
 msgstr "không thể phân tích lần chuyển giao “%s”"
 
-#: builtin/am.c:1554
+#: builtin/am.c:1556
 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:1556
+#: builtin/am.c:1558
 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:1575
+#: builtin/am.c:1577
 msgid ""
 "Did you hand edit your patch?\n"
 "It does not apply to blobs recorded in its index."
@@ -5700,29 +6929,29 @@ 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:1581
+#: builtin/am.c:1583
 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:1606
+#: builtin/am.c:1608
 msgid "Failed to merge in the changes."
 msgstr "Gặp lỗi khi trộn vào các thay đổi."
 
-#: builtin/am.c:1637
+#: builtin/am.c:1640
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
-#: builtin/am.c:1683 builtin/am.c:1687
+#: builtin/am.c:1686 builtin/am.c:1690
 #, 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:1703
+#: builtin/am.c:1706
 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:1708
+#: builtin/am.c:1711
 msgid "Commit Body is:"
 msgstr "Thân của lần chuyển giao là:"
 
@@ -5730,27 +6959,27 @@ 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:1718
+#: builtin/am.c:1721
 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:1768
+#: builtin/am.c:1771
 #, 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:1808 builtin/am.c:1879
+#: builtin/am.c:1811 builtin/am.c:1879
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Áp dụng: %.*s"
 
-#: builtin/am.c:1824
+#: builtin/am.c:1828
 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:1832
+#: builtin/am.c:1834
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Gặp lỗi khi vá tại %s %.*s"
@@ -5826,8 +7055,8 @@ msgstr "tùy chọn lịch sử -- không-toán-tử"
 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:2222 builtin/init-db.c:484 builtin/prune-packed.c:57
-#: builtin/repack.c:192
+#: builtin/am.c:2222 builtin/init-db.c:485 builtin/prune-packed.c:58
+#: builtin/repack.c:299
 msgid "be quiet"
 msgstr "im lặng"
 
@@ -5870,17 +7099,17 @@ msgstr "cắt mọi thứ trước dòng scissors"
 msgid "pass it through git-apply"
 msgstr "chuyển nó qua git-apply"
 
-#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:665
-#: builtin/fmt-merge-msg.c:668 builtin/grep.c:853 builtin/merge.c:208
-#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:201
-#: builtin/repack.c:205 builtin/repack.c:207 builtin/show-branch.c:631
-#: builtin/show-ref.c:169 builtin/tag.c:383 parse-options.h:144
+#: builtin/am.c:2260 builtin/commit.c:1332 builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:673 builtin/grep.c:857 builtin/merge.c:237
+#: builtin/pull.c:150 builtin/pull.c:208 builtin/repack.c:308
+#: builtin/repack.c:312 builtin/repack.c:314 builtin/show-branch.c:650
+#: builtin/show-ref.c:170 builtin/tag.c:384 parse-options.h:144
 #: parse-options.h:146 parse-options.h:258
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2266 builtin/branch.c:632 builtin/for-each-ref.c:38
-#: builtin/replace.c:543 builtin/tag.c:419 builtin/verify-tag.c:39
+#: builtin/am.c:2266 builtin/branch.c:651 builtin/for-each-ref.c:38
+#: builtin/replace.c:543 builtin/tag.c:420 builtin/verify-tag.c:39
 msgid "format"
 msgstr "định dạng"
 
@@ -5924,8 +7153,8 @@ msgstr "nói dối về ngày chuyển giao"
 msgid "use current timestamp for author date"
 msgstr "dùng dấu thời gian hiện tại cho ngày tác giả"
 
-#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:239
-#: builtin/pull.c:183 builtin/revert.c:112 builtin/tag.c:399
+#: builtin/am.c:2298 builtin/commit.c:1468 builtin/merge.c:271
+#: builtin/pull.c:183 builtin/revert.c:113 builtin/tag.c:400
 msgid "key-id"
 msgstr "mã-số-khóa"
 
@@ -6065,143 +7294,143 @@ msgstr "--write-terms cần hai tham số"
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state không nhận đối số"
 
-#: builtin/blame.c:29
+#: builtin/blame.c:31
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<các-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
 
-#: builtin/blame.c:34
+#: builtin/blame.c:36
 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:404
+#: builtin/blame.c:406
 #, c-format
 msgid "expecting a color: %s"
 msgstr "cần một màu: %s"
 
-#: builtin/blame.c:411
+#: builtin/blame.c:413
 msgid "must end with a color"
 msgstr "phải kết thúc bằng một màu"
 
-#: builtin/blame.c:697
+#: builtin/blame.c:700
 #, 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:715
+#: builtin/blame.c:718
 msgid "invalid value for blame.coloring"
 msgstr "màu không hợp lệ cho blame.coloring"
 
-#: builtin/blame.c:786
+#: builtin/blame.c:789
 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:787
+#: builtin/blame.c:790
 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:788
+#: builtin/blame.c:791
 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:789
+#: builtin/blame.c:792
 msgid "Show work cost statistics"
 msgstr "Hiển thị thống kê công sức làm việc"
 
-#: builtin/blame.c:790
+#: builtin/blame.c:793
 msgid "Force progress reporting"
 msgstr "Ép buộc báo cáo tiến triển công việc"
 
-#: builtin/blame.c:791
+#: builtin/blame.c:794
 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:792
+#: builtin/blame.c:795
 msgid "Show original filename (Default: auto)"
 msgstr "Hiển thị tên tập tin gốc (Mặc định: auto)"
 
-#: builtin/blame.c:793
+#: builtin/blame.c:796
 msgid "Show original linenumber (Default: off)"
 msgstr "Hiển thị số dòng gốc (Mặc định: off)"
 
-#: builtin/blame.c:794
+#: builtin/blame.c:797
 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:795
+#: builtin/blame.c:798
 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:796
+#: builtin/blame.c:799
 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:797
+#: builtin/blame.c:800
 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:798
+#: builtin/blame.c:801
 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:799
+#: builtin/blame.c:802
 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:800
+#: builtin/blame.c:803
 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:801
+#: builtin/blame.c:804
 msgid "Ignore whitespace differences"
 msgstr "Bỏ qua các khác biệt do khoảng trắng gây ra"
 
-#: builtin/blame.c:802
+#: builtin/blame.c:805
 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:803
+#: builtin/blame.c:806
 msgid "color lines by age"
 msgstr "các dòng màu theo tuổi"
 
-#: builtin/blame.c:810
+#: builtin/blame.c:813
 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:812
+#: builtin/blame.c:815
 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:813
+#: builtin/blame.c:816
 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:814
+#: builtin/blame.c:817
 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:815 builtin/blame.c:816
+#: builtin/blame.c:818 builtin/blame.c:819
 msgid "score"
 msgstr "điểm số"
 
-#: builtin/blame.c:815
+#: builtin/blame.c:818
 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:816
+#: builtin/blame.c:819
 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:817
+#: builtin/blame.c:820
 msgid "n,m"
 msgstr "n,m"
 
-#: builtin/blame.c:817
+#: builtin/blame.c:820
 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:866
+#: builtin/blame.c:869
 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"
@@ -6214,49 +7443,49 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:917
+#: builtin/blame.c:920
 msgid "4 years, 11 months ago"
 msgstr "4 năm, 11 tháng trước"
 
-#: builtin/blame.c:1003
+#: builtin/blame.c:1007
 #, 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:1049
+#: builtin/blame.c:1053
 msgid "Blaming lines"
 msgstr "Các dòng blame"
 
-#: builtin/branch.c:27
+#: builtin/branch.c:28
 msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
 msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--merged | --no-merged]"
 
-#: builtin/branch.c:28
+#: builtin/branch.c:29
 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>]"
 
-#: builtin/branch.c:29
+#: builtin/branch.c:30
 msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
 msgstr "git branch [<các-tùy-chọn>] [-r] (-d | -D) <tên-nhánh> …"
 
-#: builtin/branch.c:30
+#: builtin/branch.c:31
 msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
 msgstr "git branch [<các-tùy-chọn>] (-m | -M) [<nhánh-cũ>] <nhánh-mới>"
 
-#: builtin/branch.c:31
+#: builtin/branch.c:32
 msgid "git branch [<options>] (-c | -C) [<old-branch>] <new-branch>"
 msgstr "git branch [<các-tùy-chọn>] (-c | -C) [<nhánh-cũ>] <nhánh-mới>"
 
-#: builtin/branch.c:32
+#: builtin/branch.c:33
 msgid "git branch [<options>] [-r | -a] [--points-at]"
 msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--points-at]"
 
-#: builtin/branch.c:33
+#: builtin/branch.c:34
 msgid "git branch [<options>] [-r | -a] [--format]"
 msgstr "git branch [<các-tùy-chọn>] [-r | -a] [--format]"
 
-#: builtin/branch.c:146
+#: builtin/branch.c:151
 #, c-format
 msgid ""
 "deleting branch '%s' that has been merged to\n"
@@ -6265,7 +7494,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:150
+#: builtin/branch.c:155
 #, c-format
 msgid ""
 "not deleting branch '%s' that is not yet merged to\n"
@@ -6274,12 +7503,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:164
+#: builtin/branch.c:169
 #, 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:168
+#: builtin/branch.c:173
 #, c-format
 msgid ""
 "The branch '%s' is not fully merged.\n"
@@ -6288,112 +7517,112 @@ 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:181
+#: builtin/branch.c:186
 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:212
+#: builtin/branch.c:217
 msgid "cannot use -a with -d"
 msgstr "không thể dùng tùy chọn -a với -d"
 
-#: builtin/branch.c:218
+#: builtin/branch.c:223
 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:232
+#: builtin/branch.c:237
 #, 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:247
+#: builtin/branch.c:252
 #, 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:248
+#: builtin/branch.c:253
 #, c-format
 msgid "branch '%s' not found."
 msgstr "không tìm thấy nhánh “%s”."
 
-#: builtin/branch.c:263
+#: builtin/branch.c:268
 #, 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:264
+#: builtin/branch.c:269
 #, c-format
 msgid "Error deleting branch '%s'"
 msgstr "Gặp lỗi khi xóa bỏ nhánh “%s”"
 
-#: builtin/branch.c:271
+#: builtin/branch.c:276
 #, 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:272
+#: builtin/branch.c:277
 #, c-format
 msgid "Deleted branch %s (was %s).\n"
 msgstr "Nhánh “%s” đã bị xóa (từng là %s)\n"
 
-#: builtin/branch.c:416 builtin/tag.c:58
+#: builtin/branch.c:421 builtin/tag.c:59
 msgid "unable to parse format string"
 msgstr "không thể phân tích chuỗi định dạng"
 
-#: builtin/branch.c:453
+#: builtin/branch.c:458
 #, 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:457
+#: builtin/branch.c:462
 #, 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:474
+#: builtin/branch.c:479
 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:476
+#: builtin/branch.c:481
 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:487
+#: builtin/branch.c:492
 #, c-format
 msgid "Invalid branch name: '%s'"
 msgstr "Tên nhánh không hợp lệ: “%s”"
 
-#: builtin/branch.c:514
+#: builtin/branch.c:519
 msgid "Branch rename failed"
 msgstr "Gặp lỗi khi đổi tên nhánh"
 
-#: builtin/branch.c:516
+#: builtin/branch.c:521
 msgid "Branch copy failed"
 msgstr "Gặp lỗi khi sao chép nhánh"
 
-#: builtin/branch.c:520
+#: builtin/branch.c:525
 #, 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:523
+#: builtin/branch.c:528
 #, c-format
 msgid "Renamed a misnamed branch '%s' away"
 msgstr "Đã đổi tên nhánh khuyết danh “%s” đi"
 
-#: builtin/branch.c:529
+#: builtin/branch.c:534
 #, 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:538
+#: builtin/branch.c:543
 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:540
+#: builtin/branch.c:545
 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:556
+#: builtin/branch.c:561
 #, c-format
 msgid ""
 "Please edit the description for the branch\n"
@@ -6404,186 +7633,190 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được cắt bỏ.\n"
 
-#: builtin/branch.c:589
+#: builtin/branch.c:602
 msgid "Generic options"
 msgstr "Tùy chọn chung"
 
-#: builtin/branch.c:591
+#: builtin/branch.c:604
 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:592
+#: builtin/branch.c:605
 msgid "suppress informational messages"
 msgstr "không xuất các thông tin"
 
-#: builtin/branch.c:593
+#: builtin/branch.c:606
 msgid "set up tracking mode (see git-pull(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-pull(1))"
 
-#: builtin/branch.c:595
+#: builtin/branch.c:608
 msgid "do not use"
 msgstr "không dùng"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:610
 msgid "upstream"
 msgstr "thượng nguồn"
 
-#: builtin/branch.c:597
+#: builtin/branch.c:610
 msgid "change the upstream info"
 msgstr "thay đổi thông tin thượng nguồn"
 
-#: builtin/branch.c:598
+#: builtin/branch.c:611
 msgid "Unset the upstream info"
 msgstr "Bỏ đặt thông tin thượng nguồn"
 
-#: builtin/branch.c:599
+#: builtin/branch.c:612
 msgid "use colored output"
 msgstr "tô màu kết xuất"
 
-#: builtin/branch.c:600
+#: builtin/branch.c:613
 msgid "act on remote-tracking branches"
 msgstr "thao tác trên nhánh “remote-tracking”"
 
-#: builtin/branch.c:602 builtin/branch.c:604
+#: builtin/branch.c:615 builtin/branch.c:617
 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:603 builtin/branch.c:605
+#: builtin/branch.c:616 builtin/branch.c:618
 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:608
+#: builtin/branch.c:621
 msgid "Specific git-branch actions:"
 msgstr "Hành động git-branch:"
 
-#: builtin/branch.c:609
+#: builtin/branch.c:622
 msgid "list both remote-tracking and local branches"
 msgstr "liệt kê cả nhánh “remote-tracking” và nội bộ"
 
-#: builtin/branch.c:611
+#: builtin/branch.c:624
 msgid "delete fully merged branch"
 msgstr "xóa một toàn bộ nhánh đã hòa trộn"
 
-#: builtin/branch.c:612
+#: builtin/branch.c:625
 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:613
+#: builtin/branch.c:626
 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:614
+#: builtin/branch.c:627
 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:615
+#: builtin/branch.c:628
 msgid "copy a branch and its reflog"
 msgstr "sao chép một nhánh và reflog của nó"
 
-#: builtin/branch.c:616
+#: builtin/branch.c:629
 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:617
+#: builtin/branch.c:630
 msgid "list branch names"
 msgstr "liệt kê các tên nhánh"
 
-#: builtin/branch.c:618
+#: builtin/branch.c:631
 msgid "create the branch's reflog"
 msgstr "tạo reflog của nhánh"
 
-#: builtin/branch.c:620
+#: builtin/branch.c:634
+msgid "deprecated synonym for --create-reflog"
+msgstr "đồng nghĩa đã lạc hậu cho --create-reflog"
+
+#: builtin/branch.c:639
 msgid "edit the description for the branch"
 msgstr "sửa mô tả cho nhánh"
 
-#: builtin/branch.c:621
+#: builtin/branch.c:640
 msgid "force creation, move/rename, deletion"
 msgstr "buộc tạo, di chuyển/đổi tên, xóa"
 
-#: builtin/branch.c:622
+#: builtin/branch.c:641
 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:623
+#: builtin/branch.c:642
 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:624
+#: builtin/branch.c:643
 msgid "list branches in columns"
 msgstr "liệt kê các nhánh trong các cột"
 
-#: builtin/branch.c:625 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
-#: builtin/tag.c:412
+#: builtin/branch.c:644 builtin/for-each-ref.c:40 builtin/ls-remote.c:70
+#: builtin/tag.c:413
 msgid "key"
 msgstr "khóa"
 
-#: builtin/branch.c:626 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
-#: builtin/tag.c:413
+#: builtin/branch.c:645 builtin/for-each-ref.c:41 builtin/ls-remote.c:71
+#: builtin/tag.c:414
 msgid "field name to sort on"
 msgstr "tên trường cần sắp xếp"
 
-#: builtin/branch.c:628 builtin/for-each-ref.c:43 builtin/notes.c:408
-#: builtin/notes.c:411 builtin/notes.c:571 builtin/notes.c:574
-#: builtin/tag.c:415
+#: builtin/branch.c:647 builtin/for-each-ref.c:43 builtin/notes.c:410
+#: builtin/notes.c:413 builtin/notes.c:573 builtin/notes.c:576
+#: builtin/tag.c:416
 msgid "object"
 msgstr "đối tượng"
 
-#: builtin/branch.c:629
+#: builtin/branch.c:648
 msgid "print only branches of the object"
 msgstr "chỉ hiển thị các nhánh của đối tượng"
 
-#: builtin/branch.c:631 builtin/for-each-ref.c:49 builtin/tag.c:422
+#: builtin/branch.c:650 builtin/for-each-ref.c:49 builtin/tag.c:423
 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:632 builtin/for-each-ref.c:38 builtin/tag.c:420
+#: builtin/branch.c:651 builtin/for-each-ref.c:38 builtin/tag.c:421
 #: builtin/verify-tag.c:39
 msgid "format to use for the output"
 msgstr "định dạng sẽ dùng cho đầu ra"
 
-#: builtin/branch.c:655 builtin/clone.c:737
+#: builtin/branch.c:674 builtin/clone.c:739
 msgid "HEAD not found below refs/heads!"
 msgstr "không tìm thấy HEAD ở dưới refs/heads!"
 
-#: builtin/branch.c:678
+#: builtin/branch.c:697
 msgid "--column and --verbose are incompatible"
 msgstr "tùy chọn --column và --verbose xung khắc nhau"
 
-#: builtin/branch.c:693 builtin/branch.c:745 builtin/branch.c:754
+#: builtin/branch.c:717 builtin/branch.c:769 builtin/branch.c:778
 msgid "branch name required"
 msgstr "cần chỉ ra tên nhánh"
 
-#: builtin/branch.c:721
+#: builtin/branch.c:745
 msgid "Cannot give description to detached HEAD"
 msgstr "Không thể đưa ra mô tả HEAD đã tách rời"
 
-#: builtin/branch.c:726
+#: builtin/branch.c:750
 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:733
+#: builtin/branch.c:757
 #, 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:736
+#: builtin/branch.c:760
 #, c-format
 msgid "No branch named '%s'."
 msgstr "Không có nhánh nào có tên “%s”."
 
-#: builtin/branch.c:751
+#: builtin/branch.c:775
 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:760
+#: builtin/branch.c:784
 msgid "too many arguments for a rename operation"
 msgstr "quá nhiều tham số cho thao tác đổi tên"
 
-#: builtin/branch.c:765
+#: builtin/branch.c:789
 msgid "too many arguments to set new upstream"
 msgstr "quá nhiều tham số để đặt thượng nguồn mới"
 
-#: builtin/branch.c:769
+#: builtin/branch.c:793
 #, c-format
 msgid ""
 "could not set upstream of HEAD to %s when it does not point to any branch."
@@ -6591,36 +7824,36 @@ 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:772 builtin/branch.c:794 builtin/branch.c:810
+#: builtin/branch.c:796 builtin/branch.c:818 builtin/branch.c:834
 #, c-format
 msgid "no such branch '%s'"
 msgstr "không có nhánh nào như thế “%s”"
 
-#: builtin/branch.c:776
+#: builtin/branch.c:800
 #, c-format
 msgid "branch '%s' does not exist"
 msgstr "chưa có nhánh “%s”"
 
-#: builtin/branch.c:788
+#: builtin/branch.c:812
 msgid "too many arguments to unset upstream"
 msgstr "quá nhiều tham số để bỏ đặt thượng nguồn"
 
-#: builtin/branch.c:792
+#: builtin/branch.c:816
 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:798
+#: builtin/branch.c:822
 #, 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:813
+#: builtin/branch.c:837
 msgid "-a and -r options to 'git branch' do not make sense with a branch name"
 msgstr ""
 "hai tùy chọn -a và -r áp dụng cho lệnh “git branch” không hợp lý đối với tên "
 "nhánh"
 
-#: builtin/branch.c:816
+#: builtin/branch.c:840
 msgid ""
 "the '--set-upstream' option is no longer supported. Please use '--track' or "
 "'--set-upstream-to' instead."
@@ -6641,7 +7874,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:525
+#: builtin/cat-file.c:577
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -6649,7 +7882,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:526
+#: builtin/cat-file.c:578
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -6657,67 +7890,71 @@ msgstr ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
 
-#: builtin/cat-file.c:563
+#: builtin/cat-file.c:615
 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:564
+#: builtin/cat-file.c:616
 msgid "show object type"
 msgstr "hiển thị kiểu đối tượng"
 
-#: builtin/cat-file.c:565
+#: builtin/cat-file.c:617
 msgid "show object size"
 msgstr "hiển thị kích thước đối tượng"
 
-#: builtin/cat-file.c:567
+#: builtin/cat-file.c:619
 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:568
+#: builtin/cat-file.c:620
 msgid "pretty-print object's content"
 msgstr "in nội dung đối tượng dạng dễ đọc"
 
-#: builtin/cat-file.c:570
+#: builtin/cat-file.c:622
 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:572
+#: builtin/cat-file.c:624
 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:573 git-submodule.sh:894
+#: builtin/cat-file.c:625 git-submodule.sh:864
 msgid "blob"
 msgstr "blob"
 
-#: builtin/cat-file.c:574
+#: builtin/cat-file.c:626
 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:576
+#: builtin/cat-file.c:628
 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:577
+#: builtin/cat-file.c:629
 msgid "buffer --batch output"
 msgstr "đệm kết xuất --batch"
 
-#: builtin/cat-file.c:579
+#: builtin/cat-file.c:631
 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:582
+#: builtin/cat-file.c:634
 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:585
+#: builtin/cat-file.c:637
 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:587
+#: builtin/cat-file.c:639
 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:641
+msgid "do not order --batch-all-objects output"
+msgstr "đừng sắp xếp đầu ra --batch-all-objects"
+
 #: builtin/check-attr.c:12
 msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
 msgstr "git check-attr [-a | --all | <attr>…] [--] tên-đường-dẫn…"
@@ -6734,7 +7971,7 @@ msgstr "báo cáo tất cả các thuộc tính đặt trên tập tin"
 msgid "use .gitattributes only from the index"
 msgstr "chỉ dùng .gitattributes từ bảng mục lục"
 
-#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:100
+#: builtin/check-attr.c:22 builtin/check-ignore.c:24 builtin/hash-object.c:101
 msgid "read file names from stdin"
 msgstr "đọc tên tập tin từ đầu vào tiêu chuẩn"
 
@@ -6742,7 +7979,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:20 builtin/checkout.c:1113 builtin/gc.c:500
+#: builtin/check-ignore.c:20 builtin/checkout.c:1120 builtin/gc.c:503
+#: builtin/worktree.c:447
 msgid "suppress progress reporting"
 msgstr "chặn các báo cáo tiến trình hoạt động"
 
@@ -6833,9 +8071,9 @@ msgid "write the content to temporary files"
 msgstr "ghi nội dung vào tập tin tạm"
 
 #: builtin/checkout-index.c:173 builtin/column.c:31
-#: builtin/submodule--helper.c:1216 builtin/submodule--helper.c:1219
-#: builtin/submodule--helper.c:1227 builtin/submodule--helper.c:1591
-#: builtin/worktree.c:610
+#: builtin/submodule--helper.c:1361 builtin/submodule--helper.c:1364
+#: builtin/submodule--helper.c:1372 builtin/submodule--helper.c:1736
+#: builtin/worktree.c:620
 msgid "string"
 msgstr "chuỗi"
 
@@ -6847,114 +8085,114 @@ msgstr "khi tạo các tập tin, nối thêm <chuỗi>"
 msgid "copy out the files from named stage"
 msgstr "sao chép ra các tập tin từ bệ phóng có tên"
 
-#: builtin/checkout.c:27
+#: builtin/checkout.c:29
 msgid "git checkout [<options>] <branch>"
 msgstr "git checkout [<các-tùy-chọn>] <nhánh>"
 
-#: builtin/checkout.c:28
+#: builtin/checkout.c:30
 msgid "git checkout [<options>] [<branch>] -- <file>..."
 msgstr "git checkout [<các-tùy-chọn>] [<nhánh>] -- <tập-tin>…"
 
-#: builtin/checkout.c:136 builtin/checkout.c:169
+#: builtin/checkout.c:138 builtin/checkout.c:171
 #, 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:138 builtin/checkout.c:171
+#: builtin/checkout.c:140 builtin/checkout.c:173
 #, 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:154
+#: builtin/checkout.c:156
 #, 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:198
+#: builtin/checkout.c:200
 #, 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:215
+#: builtin/checkout.c:217
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "đường dẫn “%s”: không thể hòa trộn"
 
-#: builtin/checkout.c:231
+#: builtin/checkout.c:233
 #, 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:253 builtin/checkout.c:256 builtin/checkout.c:259
-#: builtin/checkout.c:262
+#: builtin/checkout.c:255 builtin/checkout.c:258 builtin/checkout.c:261
+#: builtin/checkout.c:264
 #, 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:265 builtin/checkout.c:268
+#: builtin/checkout.c:267 builtin/checkout.c:270
 #, c-format
 msgid "'%s' cannot be used with %s"
 msgstr "không được dùng “%s” với %s"
 
-#: builtin/checkout.c:271
+#: builtin/checkout.c:273
 #, 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:340 builtin/checkout.c:347
+#: builtin/checkout.c:342 builtin/checkout.c:349
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "đường dẫn “%s” không được hòa trộn"
 
-#: builtin/checkout.c:506
+#: builtin/checkout.c:508
 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:643
+#: builtin/checkout.c:645
 #, 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:684
+#: builtin/checkout.c:686
 msgid "HEAD is now at"
 msgstr "HEAD hiện giờ tại"
 
-#: builtin/checkout.c:688 builtin/clone.c:691
+#: builtin/checkout.c:690 builtin/clone.c:692
 msgid "unable to update HEAD"
 msgstr "không thể cập nhật HEAD"
 
-#: builtin/checkout.c:692
+#: builtin/checkout.c:694
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Đặt lại nhánh “%s”\n"
 
-#: builtin/checkout.c:695
+#: builtin/checkout.c:697
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Đã sẵn sàng trên “%s”\n"
 
-#: builtin/checkout.c:699
+#: builtin/checkout.c:701
 #, 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:701 builtin/checkout.c:1046
+#: builtin/checkout.c:703 builtin/checkout.c:1052
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Đã chuyển đến nhánh mới “%s”\n"
 
-#: builtin/checkout.c:703
+#: builtin/checkout.c:705
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Đã chuyển đến nhánh “%s”\n"
 
-#: builtin/checkout.c:754
+#: builtin/checkout.c:756
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " … và nhiều hơn %d.\n"
 
-#: builtin/checkout.c:760
+#: builtin/checkout.c:762
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -6973,7 +8211,7 @@ msgstr[0] ""
 "\n"
 "%s\n"
 
-#: builtin/checkout.c:779
+#: builtin/checkout.c:781
 #, c-format
 msgid ""
 "If you want to keep it by creating a new branch, this may be a good time\n"
@@ -6994,164 +8232,164 @@ msgstr[0] ""
 " git branch <tên_nhánh_mới> %s\n"
 "\n"
 
-#: builtin/checkout.c:811
+#: builtin/checkout.c:813
 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:815
+#: builtin/checkout.c:817
 msgid "Previous HEAD position was"
 msgstr "Vị trí trước kia của HEAD là"
 
-#: builtin/checkout.c:843 builtin/checkout.c:1041
+#: builtin/checkout.c:845 builtin/checkout.c:1047
 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:947
+#: builtin/checkout.c:952
 #, 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:987 builtin/worktree.c:240 builtin/worktree.c:389
+#: builtin/checkout.c:993 builtin/worktree.c:241 builtin/worktree.c:396
 #, c-format
 msgid "invalid reference: %s"
 msgstr "tham chiếu không hợp lệ: %s"
 
-#: builtin/checkout.c:1016
+#: builtin/checkout.c:1022
 #, 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:1055
+#: builtin/checkout.c:1061
 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:1058 builtin/checkout.c:1062
+#: builtin/checkout.c:1064 builtin/checkout.c:1068
 #, 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:1066 builtin/checkout.c:1069 builtin/checkout.c:1074
-#: builtin/checkout.c:1077
+#: builtin/checkout.c:1072 builtin/checkout.c:1075 builtin/checkout.c:1080
+#: builtin/checkout.c:1083
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không thể được dùng với “%s”"
 
-#: builtin/checkout.c:1082
+#: builtin/checkout.c:1088
 #, 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:1114 builtin/checkout.c:1116 builtin/clone.c:118
-#: builtin/remote.c:167 builtin/remote.c:169 builtin/worktree.c:433
-#: builtin/worktree.c:435
+#: builtin/checkout.c:1121 builtin/checkout.c:1123 builtin/clone.c:119
+#: builtin/remote.c:168 builtin/remote.c:170 builtin/worktree.c:440
+#: builtin/worktree.c:442
 msgid "branch"
 msgstr "nhánh"
 
-#: builtin/checkout.c:1115
+#: builtin/checkout.c:1122
 msgid "create and checkout a new branch"
 msgstr "tạo và checkout một nhánh mới"
 
-#: builtin/checkout.c:1117
+#: builtin/checkout.c:1124
 msgid "create/reset and checkout a branch"
 msgstr "tạo/đặt_lại và checkout một nhánh"
 
-#: builtin/checkout.c:1118
+#: builtin/checkout.c:1125
 msgid "create reflog for new branch"
 msgstr "tạo reflog cho nhánh mới"
 
-#: builtin/checkout.c:1119 builtin/worktree.c:437
+#: builtin/checkout.c:1126 builtin/worktree.c:444
 msgid "detach HEAD at named commit"
 msgstr "rời bỏ HEAD tại lần chuyển giao theo tên"
 
-#: builtin/checkout.c:1120
+#: builtin/checkout.c:1127
 msgid "set upstream info for new branch"
 msgstr "đặt thông tin thượng nguồn cho nhánh mới"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1129
 msgid "new-branch"
 msgstr "nhánh-mới"
 
-#: builtin/checkout.c:1122
+#: builtin/checkout.c:1129
 msgid "new unparented branch"
 msgstr "nhánh không cha mới"
 
-#: builtin/checkout.c:1123
+#: builtin/checkout.c:1131
 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:1125
+#: builtin/checkout.c:1134
 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:1127
+#: builtin/checkout.c:1136
 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:1129
+#: builtin/checkout.c:1138
 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:1131 builtin/merge.c:241
+#: builtin/checkout.c:1140 builtin/merge.c:273
 msgid "update ignored files (default)"
 msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
 
-#: builtin/checkout.c:1133 builtin/log.c:1499 parse-options.h:264
+#: builtin/checkout.c:1142 builtin/log.c:1510 parse-options.h:264
 msgid "style"
 msgstr "kiểu"
 
-#: builtin/checkout.c:1134
+#: builtin/checkout.c:1143
 msgid "conflict style (merge or diff3)"
 msgstr "xung đột kiểu (hòa trộn hoặc diff3)"
 
-#: builtin/checkout.c:1137
+#: builtin/checkout.c:1146
 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:1139
+#: builtin/checkout.c:1148
 msgid "second guess 'git checkout <no-such-branch>'"
 msgstr "gợi ý thứ hai \"git checkout <không-nhánh-nào-như-vậy>\""
 
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1150
 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:1145 builtin/clone.c:85 builtin/fetch.c:149
-#: builtin/merge.c:238 builtin/pull.c:128 builtin/push.c:572
+#: builtin/checkout.c:1154 builtin/clone.c:86 builtin/fetch.c:138
+#: builtin/merge.c:270 builtin/pull.c:128 builtin/push.c:572
 #: 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:1175
+#: builtin/checkout.c:1184
 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:1192
+#: builtin/checkout.c:1201
 msgid "--track needs a branch name"
 msgstr "--track cần tên một nhánh"
 
-#: builtin/checkout.c:1197
-msgid "Missing branch name; try -b"
-msgstr "Thiếu tên nhánh; hãy thử -b"
+#: builtin/checkout.c:1206
+msgid "missing branch name; try -b"
+msgstr "thiếu tên nhánh; hãy thử -b"
 
-#: builtin/checkout.c:1233
+#: builtin/checkout.c:1243
 msgid "invalid path specification"
 msgstr "đường dẫn đã cho không hợp lệ"
 
-#: builtin/checkout.c:1240
+#: builtin/checkout.c:1250
 #, 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:1244
+#: builtin/checkout.c:1254
 #, 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:1248
+#: builtin/checkout.c:1258
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -7159,38 +8397,68 @@ msgstr ""
 "git checkout: --ours/--theirs, --force và --merge là xung khắc với nhau khi\n"
 "checkout bảng mục lục (index)."
 
-#: builtin/clean.c:26
+#: builtin/checkout.c:1278
+#, c-format
+msgid ""
+"'%s' matched more than one remote tracking branch.\n"
+"We found %d remotes with a reference that matched. So we fell back\n"
+"on trying to resolve the argument as a path, but failed there too!\n"
+"\n"
+"If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
+"you can do so by fully qualifying the name with the --track option:\n"
+"\n"
+"    git checkout --track origin/<name>\n"
+"\n"
+"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
+"one remote, e.g. the 'origin' remote, consider setting\n"
+"checkout.defaultRemote=origin in your config."
+msgstr ""
+"“%s” khớp hơn một nhánh máy chủ được theo dõi.\n"
+"Chúng tôi tìm thấy %d máy chủ với một tham chiếu khớp. Do đó chúng tôi cố "
+"để\n"
+"phân giải tham số như là một đường dẫn, nhưng cũng gặp lỗi!\n"
+"\n"
+"Nếu ý bạn là lấy ra nhánh máy chủ được theo dõi, ví dụ “origin”,\n"
+"bạn có thể làm như vậy bằng cách chỉ định đầy đủ tên với tùy chọn --track:\n"
+"\n"
+"    git checkout --track origin/<tên>\n"
+"\n"
+"Nếu bạn muốn luôn lấy ra từ một <tên> một náy chủ ưa thích\n"
+"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/clean.c:27
 msgid ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
 msgstr ""
 "git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <đường-dẫn>…"
 
-#: builtin/clean.c:30
+#: builtin/clean.c:31
 #, c-format
 msgid "Removing %s\n"
 msgstr "Đang gỡ bỏ %s\n"
 
-#: builtin/clean.c:31
+#: builtin/clean.c:32
 #, c-format
 msgid "Would remove %s\n"
 msgstr "Có thể gỡ bỏ %s\n"
 
-#: builtin/clean.c:32
+#: builtin/clean.c:33
 #, c-format
 msgid "Skipping repository %s\n"
 msgstr "Đang bỏ qua kho chứa %s\n"
 
-#: builtin/clean.c:33
+#: builtin/clean.c:34
 #, c-format
 msgid "Would skip repository %s\n"
 msgstr "Nên bỏ qua kho chứa %s\n"
 
-#: builtin/clean.c:34
+#: builtin/clean.c:35
 #, c-format
 msgid "failed to remove %s"
 msgstr "gặp lỗi khi gỡ bỏ %s"
 
-#: builtin/clean.c:302 git-add--interactive.perl:579
+#: builtin/clean.c:297 git-add--interactive.perl:579
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -7203,7 +8471,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:306 git-add--interactive.perl:588
+#: builtin/clean.c:301 git-add--interactive.perl:588
 #, c-format
 msgid ""
 "Prompt help:\n"
@@ -7224,38 +8492,38 @@ msgstr ""
 "*          - chọn tất\n"
 "           - (để trống) kết thúc việc chọn\n"
 
-#: builtin/clean.c:522 git-add--interactive.perl:554
+#: builtin/clean.c:517 git-add--interactive.perl:554
 #: git-add--interactive.perl:559
 #, c-format, perl-format
 msgid "Huh (%s)?\n"
 msgstr "Hả (%s)?\n"
 
-#: builtin/clean.c:664
+#: builtin/clean.c:659
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Mẫu để lọc các tập tin đầu vào cần lờ đi>> "
 
-#: builtin/clean.c:701
+#: builtin/clean.c:696
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "CẢNH BÁO: Không tìm thấy các mục được khớp bởi: %s"
 
-#: builtin/clean.c:722
+#: builtin/clean.c:717
 msgid "Select items to delete"
 msgstr "Chọn mục muốn xóa"
 
 #. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:763
+#: builtin/clean.c:758
 #, c-format
 msgid "Remove %s [y/N]? "
 msgstr "Xóa bỏ “%s” [y/N]? "
 
-#: builtin/clean.c:788 git-add--interactive.perl:1717
+#: builtin/clean.c:783 git-add--interactive.perl:1717
 #, c-format
 msgid "Bye.\n"
 msgstr "Tạm biệt.\n"
 
-#: builtin/clean.c:796
+#: builtin/clean.c:791
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -7273,63 +8541,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:823 git-add--interactive.perl:1793
+#: builtin/clean.c:818 git-add--interactive.perl:1793
 msgid "*** Commands ***"
 msgstr "*** Lệnh ***"
 
-#: builtin/clean.c:824 git-add--interactive.perl:1790
+#: builtin/clean.c:819 git-add--interactive.perl:1790
 msgid "What now"
 msgstr "Giờ thì sao"
 
-#: builtin/clean.c:832
+#: builtin/clean.c:827
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Có muốn gỡ bỏ (các) mục sau đây không:"
 
-#: builtin/clean.c:848
+#: builtin/clean.c:843
 msgid "No more files to clean, exiting."
 msgstr "Không còn tập-tin nào để dọn dẹp, đang thoát ra."
 
-#: builtin/clean.c:910
+#: builtin/clean.c:905
 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:912
+#: builtin/clean.c:907
 msgid "force"
 msgstr "ép buộc"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:908
 msgid "interactive cleaning"
 msgstr "dọn bằng kiểu tương tác"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:910
 msgid "remove whole directories"
 msgstr "gỡ bỏ toàn bộ thư mục"
 
-#: builtin/clean.c:916 builtin/describe.c:533 builtin/describe.c:535
-#: builtin/grep.c:871 builtin/log.c:157 builtin/log.c:159
-#: builtin/ls-files.c:548 builtin/name-rev.c:397 builtin/name-rev.c:399
-#: builtin/show-ref.c:176
+#: builtin/clean.c:911 builtin/describe.c:545 builtin/describe.c:547
+#: builtin/grep.c:875 builtin/log.c:161 builtin/log.c:163
+#: builtin/ls-files.c:549 builtin/name-rev.c:415 builtin/name-rev.c:417
+#: builtin/show-ref.c:177
 msgid "pattern"
 msgstr "mẫu"
 
-#: builtin/clean.c:917
+#: builtin/clean.c:912
 msgid "add <pattern> to ignore rules"
 msgstr "thêm <mẫu> vào trong qui tắc bỏ qua"
 
-#: builtin/clean.c:918
+#: builtin/clean.c:913
 msgid "remove ignored files, too"
 msgstr "đồng thời gỡ bỏ cả các tập tin bị bỏ qua"
 
-#: builtin/clean.c:920
+#: builtin/clean.c:915
 msgid "remove only ignored files"
 msgstr "chỉ gỡ bỏ những tập tin bị bỏ qua"
 
-#: builtin/clean.c:938
+#: builtin/clean.c:933
 msgid "-x and -X cannot be used together"
 msgstr "-x và -X không thể dùng cùng nhau"
 
-#: builtin/clean.c:942
+#: builtin/clean.c:937
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -7337,7 +8605,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:945
+#: builtin/clean.c:940
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -7345,148 +8613,148 @@ 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:42
+#: builtin/clone.c:43
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<các-tùy-chọn>] [--] <kho> [<t.mục>]"
 
-#: builtin/clone.c:87
+#: builtin/clone.c:88
 msgid "don't create a checkout"
 msgstr "không tạo một checkout"
 
-#: builtin/clone.c:88 builtin/clone.c:90 builtin/init-db.c:479
+#: builtin/clone.c:89 builtin/clone.c:91 builtin/init-db.c:480
 msgid "create a bare repository"
 msgstr "tạo kho thuần"
 
-#: builtin/clone.c:92
+#: builtin/clone.c:93
 msgid "create a mirror repository (implies bare)"
 msgstr "tạo kho bản sao (ý là kho thuần)"
 
-#: builtin/clone.c:94
+#: builtin/clone.c:95
 msgid "to clone from a local repository"
 msgstr "để nhân bản từ kho nội bộ"
 
-#: builtin/clone.c:96
+#: builtin/clone.c:97
 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:98
+#: builtin/clone.c:99
 msgid "setup as shared repository"
 msgstr "cài đặt đây là kho chia sẻ"
 
-#: builtin/clone.c:100 builtin/clone.c:104
+#: builtin/clone.c:101 builtin/clone.c:105
 msgid "pathspec"
 msgstr "đặc-tả-đường-dẫn"
 
-#: builtin/clone.c:100 builtin/clone.c:104
+#: builtin/clone.c:101 builtin/clone.c:105
 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:108
 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:476
+#: builtin/clone.c:109 builtin/init-db.c:477
 msgid "template-directory"
 msgstr "thư-mục-mẫu"
 
-#: builtin/clone.c:109 builtin/init-db.c:477
+#: builtin/clone.c:110 builtin/init-db.c:478
 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:1223
-#: builtin/submodule--helper.c:1594
+#: builtin/clone.c:112 builtin/clone.c:114 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:1739
 msgid "reference repository"
 msgstr "kho tham chiếu"
 
-#: builtin/clone.c:115 builtin/submodule--helper.c:1225
-#: builtin/submodule--helper.c:1596
+#: builtin/clone.c:116 builtin/submodule--helper.c:1370
+#: builtin/submodule--helper.c:1741
 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:44
-#: builtin/pack-objects.c:3166 builtin/repack.c:213
+#: builtin/clone.c:117 builtin/column.c:27 builtin/merge-file.c:44
+#: builtin/pack-objects.c:3191 builtin/repack.c:320
 msgid "name"
 msgstr "tên"
 
-#: builtin/clone.c:117
+#: builtin/clone.c:118
 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:120
 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:122
 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:150 builtin/grep.c:813
+#: builtin/clone.c:123 builtin/fetch.c:139 builtin/grep.c:814
 #: builtin/pull.c:216
 msgid "depth"
 msgstr "độ-sâu"
 
-#: builtin/clone.c:123
+#: builtin/clone.c:124
 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:152 builtin/pack-objects.c:3157
+#: builtin/clone.c:125 builtin/fetch.c:141 builtin/pack-objects.c:3182
 #: parse-options.h:154
 msgid "time"
 msgstr "thời-gian"
 
-#: builtin/clone.c:125
+#: builtin/clone.c:126
 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:154
+#: builtin/clone.c:127 builtin/fetch.c:143 builtin/fetch.c:166
 msgid "revision"
 msgstr "điểm xét duyệt"
 
-#: builtin/clone.c:127 builtin/fetch.c:155
+#: builtin/clone.c:128 builtin/fetch.c:144
 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:130
 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:132
 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:134
 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:485
+#: builtin/clone.c:135 builtin/init-db.c:486
 msgid "gitdir"
 msgstr "gitdir"
 
-#: builtin/clone.c:135 builtin/init-db.c:486
+#: builtin/clone.c:136 builtin/init-db.c:487
 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:137
 msgid "key=value"
 msgstr "khóa=giá_trị"
 
-#: builtin/clone.c:137
+#: builtin/clone.c:138
 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:138 builtin/fetch.c:173 builtin/pull.c:229
+#: builtin/clone.c:139 builtin/fetch.c:162 builtin/pull.c:229
 #: builtin/push.c:583
 msgid "use IPv4 addresses only"
 msgstr "chỉ dùng địa chỉ IPv4"
 
-#: builtin/clone.c:140 builtin/fetch.c:175 builtin/pull.c:232
+#: builtin/clone.c:141 builtin/fetch.c:164 builtin/pull.c:232
 #: builtin/push.c:585
 msgid "use IPv6 addresses only"
 msgstr "chỉ dùng địa chỉ IPv6"
 
-#: builtin/clone.c:278
+#: builtin/clone.c:279
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -7494,42 +8762,42 @@ msgstr ""
 "Không đoán được thư mục tên là gì.\n"
 "Vui lòng chỉ định tên một thư mục trên dòng lệnh"
 
-#: builtin/clone.c:331
+#: builtin/clone.c:332
 #, 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:403
+#: builtin/clone.c:404
 #, c-format
 msgid "failed to open '%s'"
 msgstr "gặp lỗi khi mở “%s”"
 
-#: builtin/clone.c:411
+#: builtin/clone.c:412
 #, 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:425
+#: builtin/clone.c:426
 #, c-format
 msgid "failed to stat %s\n"
 msgstr "gặp lỗi khi lấy thông tin thống kê về %s\n"
 
-#: builtin/clone.c:447
+#: builtin/clone.c:448
 #, 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:451
+#: builtin/clone.c:452
 #, 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:477
+#: builtin/clone.c:478
 #, c-format
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: builtin/clone.c:491
+#: builtin/clone.c:492
 msgid ""
 "Clone succeeded, but checkout failed.\n"
 "You can inspect what was checked out with 'git status'\n"
@@ -7539,99 +8807,95 @@ msgstr ""
 "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git status”\n"
 "và thử lấy ra với lệnh “git checkout -f HEAD”\n"
 
-#: builtin/clone.c:568
+#: builtin/clone.c:569
 #, 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:663
-msgid "remote did not send all necessary objects"
-msgstr "máy chủ đã không gửi tất cả các đối tượng cần thiết"
-
-#: builtin/clone.c:679
+#: builtin/clone.c:680
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: builtin/clone.c:728
+#: builtin/clone.c:730
 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:758
+#: builtin/clone.c:760
 msgid "unable to checkout working tree"
 msgstr "không thể lấy ra (checkout) cây làm việc"
 
-#: builtin/clone.c:803
+#: builtin/clone.c:805
 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:866
+#: builtin/clone.c:868
 msgid "cannot repack to clean up"
 msgstr "không thể đóng gói để dọn dẹp"
 
-#: builtin/clone.c:868
+#: builtin/clone.c:870
 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:907 builtin/receive-pack.c:1947
+#: builtin/clone.c:910 builtin/receive-pack.c:1935
 msgid "Too many arguments."
 msgstr "Có quá nhiều đối số."
 
-#: builtin/clone.c:911
+#: builtin/clone.c:914
 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:924
+#: builtin/clone.c:927
 #, 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:927
+#: builtin/clone.c:930
 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:940
+#: builtin/clone.c:943
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "kho chứa “%s” chưa tồn tại"
 
-#: builtin/clone.c:946 builtin/fetch.c:1460
+#: builtin/clone.c:949 builtin/fetch.c:1512
 #, 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:956
+#: builtin/clone.c:959
 #, 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:966
+#: builtin/clone.c:969
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "cây làm việc “%s” đã sẵn tồn tại rồi."
 
-#: builtin/clone.c:981 builtin/clone.c:1002 builtin/difftool.c:270
-#: builtin/worktree.c:246 builtin/worktree.c:276
+#: builtin/clone.c:984 builtin/clone.c:1005 builtin/difftool.c:271
+#: builtin/worktree.c:247 builtin/worktree.c:277
 #, 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:986
+#: builtin/clone.c:989
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "không thể tạo cây thư mục làm việc dir “%s”"
 
-#: builtin/clone.c:1006
+#: builtin/clone.c:1009
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Đang nhân bản thành kho chứa bare “%s”…\n"
 
-#: builtin/clone.c:1008
+#: builtin/clone.c:1011
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Đang nhân bản thành “%s”…\n"
 
-#: builtin/clone.c:1032
+#: builtin/clone.c:1035
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -7639,41 +8903,41 @@ msgstr ""
 "nhân bản --recursive không tương thích với cả hai --reference và --reference-"
 "if-able"
 
-#: builtin/clone.c:1093
+#: builtin/clone.c:1096
 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:1095
+#: builtin/clone.c:1098
 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:1097
+#: builtin/clone.c:1100
 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:1099
+#: builtin/clone.c:1102
 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:1102
+#: builtin/clone.c:1105
 msgid "source repository is shallow, ignoring --local"
 msgstr "kho nguồn là nông, nên bỏ qua --local"
 
-#: builtin/clone.c:1107
+#: builtin/clone.c:1110
 msgid "--local is ignored"
 msgstr "--local bị lờ đi"
 
-#: builtin/clone.c:1169 builtin/clone.c:1177
+#: builtin/clone.c:1180 builtin/clone.c:1188
 #, 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:1180
+#: builtin/clone.c:1191
 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."
 
@@ -7709,15 +8973,15 @@ msgstr "Chèn thêm khoảng trắng giữa các cột"
 msgid "--command must be the first argument"
 msgstr "--command phải là đối số đầu tiên"
 
-#: builtin/commit.c:37
+#: builtin/commit.c:38
 msgid "git commit [<options>] [--] <pathspec>..."
 msgstr "git commit [<các-tùy-chọn>] [--] <pathspec>…"
 
-#: builtin/commit.c:42
+#: builtin/commit.c:43
 msgid "git status [<options>] [--] <pathspec>..."
 msgstr "git status [<các-tùy-chọn>] [--] <pathspec>…"
 
-#: builtin/commit.c:47
+#: builtin/commit.c:48
 msgid ""
 "You asked to amend the most recent commit, but doing so would make\n"
 "it empty. You can repeat your command with --allow-empty, or you can\n"
@@ -7730,7 +8994,7 @@ msgstr ""
 "hoặc là bạn gỡ bỏ các lần chuyển giao một cách hoàn toàn bằng lệnh:\n"
 "\"git reset HEAD^\".\n"
 
-#: builtin/commit.c:52
+#: builtin/commit.c:53
 msgid ""
 "The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
 "If you wish to commit it anyway, use:\n"
@@ -7745,11 +9009,11 @@ msgstr ""
 "    git commit --allow-empty\n"
 "\n"
 
-#: builtin/commit.c:59
+#: builtin/commit.c:60
 msgid "Otherwise, please use 'git reset'\n"
 msgstr "Nếu không được thì dùng lệnh \"git reset\"\n"
 
-#: builtin/commit.c:62
+#: builtin/commit.c:63
 msgid ""
 "If you wish to skip this commit, use:\n"
 "\n"
@@ -7765,63 +9029,63 @@ msgstr ""
 "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n"
 "những lần chuyển giao còn lại.\n"
 
-#: builtin/commit.c:293
+#: builtin/commit.c:306
 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:334
+#: builtin/commit.c:347
 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:340
+#: builtin/commit.c:353
 msgid "interactive add failed"
 msgstr "gặp lỗi khi thêm bằng cách tương"
 
-#: builtin/commit.c:353
+#: builtin/commit.c:366
 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:355
+#: builtin/commit.c:368
 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:380 builtin/commit.c:403 builtin/commit.c:449
+#: builtin/commit.c:393 builtin/commit.c:416 builtin/commit.c:462
 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:432
+#: builtin/commit.c:445
 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:434
+#: builtin/commit.c:447
 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:442
+#: builtin/commit.c:455
 msgid "cannot read the index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:461
+#: builtin/commit.c:474
 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:558
+#: builtin/commit.c:571
 #, 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:560
+#: builtin/commit.c:573
 #, 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:579
+#: builtin/commit.c:592
 msgid "malformed --author parameter"
 msgstr "đối số cho --author bị dị hình"
 
-#: builtin/commit.c:631
+#: builtin/commit.c:644
 msgid ""
 "unable to select a comment character that is not used\n"
 "in the current commit message"
@@ -7829,38 +9093,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:668 builtin/commit.c:701 builtin/commit.c:1029
+#: builtin/commit.c:681 builtin/commit.c:714 builtin/commit.c:1042
 #, 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:680 builtin/shortlog.c:316
+#: builtin/commit.c:693 builtin/shortlog.c:317
 #, 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:682
+#: builtin/commit.c:695
 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:686
+#: builtin/commit.c:699
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký “%s”"
 
-#: builtin/commit.c:715 builtin/commit.c:723
+#: builtin/commit.c:728 builtin/commit.c:736
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:720
+#: builtin/commit.c:733
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:774
+#: builtin/commit.c:787
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu chuyển giao"
 
-#: builtin/commit.c:792
+#: builtin/commit.c:805
 #, c-format
 msgid ""
 "\n"
@@ -7875,7 +9139,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:797
+#: builtin/commit.c:810
 #, c-format
 msgid ""
 "\n"
@@ -7890,7 +9154,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:823
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7901,7 +9165,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:818
+#: builtin/commit.c:831
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -7913,108 +9177,108 @@ 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:835
+#: builtin/commit.c:848
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sTác giả:           %.*s <%.*s>"
 
-#: builtin/commit.c:843
+#: builtin/commit.c:856
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sNgày tháng:        %s"
 
-#: builtin/commit.c:850
+#: builtin/commit.c:863
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sNgười chuyển giao: %.*s <%.*s>"
 
-#: builtin/commit.c:867
+#: builtin/commit.c:880
 msgid "Cannot read index"
 msgstr "Không đọc được bảng mục lục"
 
-#: builtin/commit.c:933
+#: builtin/commit.c:946
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:947 builtin/tag.c:257
+#: builtin/commit.c:960 builtin/tag.c:258
 #, 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:991
+#: builtin/commit.c:1004
 #, 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:1005
+#: builtin/commit.c:1018
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Chế độ bỏ qua không hợp lệ “%s”"
 
-#: builtin/commit.c:1019 builtin/commit.c:1269
+#: builtin/commit.c:1032 builtin/commit.c:1269
 #, 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:1057
+#: builtin/commit.c:1070
 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:1090
+#: builtin/commit.c:1103
 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:1099
+#: builtin/commit.c:1112
 msgid "You have nothing to amend."
 msgstr "Không có gì để mà “tu bổ” cả."
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1115
 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:1104
+#: builtin/commit.c:1117
 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:1107
+#: builtin/commit.c:1120
 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:1117
+#: builtin/commit.c:1130
 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 tùy chọn -c/-C/-F/--fixup"
 
-#: builtin/commit.c:1119
+#: builtin/commit.c:1132
 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:1127
+#: builtin/commit.c:1140
 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:1144
+#: builtin/commit.c:1157
 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:1146
+#: builtin/commit.c:1159
 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:1160 builtin/tag.c:543
+#: builtin/commit.c:1173 builtin/tag.c:544
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1165
+#: builtin/commit.c:1178
 msgid "Paths with -a does not make sense."
 msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
 
@@ -8039,7 +9303,7 @@ msgid "version"
 msgstr "phiên bản"
 
 #: builtin/commit.c:1311 builtin/commit.c:1486 builtin/push.c:558
-#: builtin/worktree.c:581
+#: builtin/worktree.c:591
 msgid "machine-readable output"
 msgstr "kết xuất dạng máy-có-thể-đọc"
 
@@ -8052,7 +9316,7 @@ msgid "terminate entries with NUL"
 msgstr "chấm dứt các mục bằng NUL"
 
 #: builtin/commit.c:1319 builtin/commit.c:1323 builtin/commit.c:1494
-#: builtin/fast-export.c:1001 builtin/fast-export.c:1004 builtin/tag.c:397
+#: builtin/fast-export.c:1007 builtin/fast-export.c:1010 builtin/tag.c:398
 msgid "mode"
 msgstr "chế độ"
 
@@ -8111,7 +9375,7 @@ msgstr "hiển thị sự khác biệt trong mẫu tin nhắn chuyển giao"
 msgid "Commit message options"
 msgstr "Các tùy chọn ghi chú commit"
 
-#: builtin/commit.c:1454 builtin/tag.c:394
+#: builtin/commit.c:1454 builtin/merge.c:261 builtin/tag.c:395
 msgid "read message from file"
 msgstr "đọc chú thích từ tập tin"
 
@@ -8123,7 +9387,7 @@ msgstr "tác giả"
 msgid "override author for commit"
 msgstr "ghi đè tác giả cho commit"
 
-#: builtin/commit.c:1456 builtin/gc.c:501
+#: builtin/commit.c:1456 builtin/gc.c:504
 msgid "date"
 msgstr "ngày tháng"
 
@@ -8131,8 +9395,8 @@ msgstr "ngày tháng"
 msgid "override date for commit"
 msgstr "ghi đè ngày tháng cho lần chuyển giao"
 
-#: builtin/commit.c:1457 builtin/merge.c:228 builtin/notes.c:402
-#: builtin/notes.c:565 builtin/tag.c:392
+#: builtin/commit.c:1457 builtin/merge.c:257 builtin/notes.c:404
+#: builtin/notes.c:567 builtin/tag.c:393
 msgid "message"
 msgstr "chú thích"
 
@@ -8169,8 +9433,8 @@ 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:1463 builtin/log.c:1446 builtin/merge.c:242
-#: builtin/pull.c:154 builtin/revert.c:105
+#: builtin/commit.c:1463 builtin/log.c:1457 builtin/merge.c:274
+#: builtin/pull.c:154 builtin/revert.c:106
 msgid "add Signed-off-by:"
 msgstr "(nên dùng) thêm dòng Signed-off-by:"
 
@@ -8186,7 +9450,7 @@ msgstr "ép buộc sửa lần commit"
 msgid "default"
 msgstr "mặc định"
 
-#: builtin/commit.c:1466 builtin/tag.c:398
+#: builtin/commit.c:1466 builtin/tag.c:399
 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"
 
@@ -8194,8 +9458,8 @@ msgstr "làm thế nào để cắt bỏ khoảng trắng và #ghichú từ mẩ
 msgid "include status in commit message template"
 msgstr "bao gồm các trạng thái trong mẫu ghi chú chuyển giao"
 
-#: builtin/commit.c:1469 builtin/merge.c:240 builtin/pull.c:184
-#: builtin/revert.c:113
+#: builtin/commit.c:1469 builtin/merge.c:272 builtin/pull.c:184
+#: builtin/revert.c:114
 msgid "GPG sign commit"
 msgstr "ký lần chuyển giao dùng GPG"
 
@@ -8275,60 +9539,70 @@ msgstr ""
 
 #: builtin/commit.c:1650
 msgid ""
-"Repository has been updated, but unable to write\n"
+"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."
 msgstr ""
-"Kho chứa đã được cập nhật, nhưng không thể ghi vào\n"
+"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."
 
-#: builtin/commit-graph.c:9
+#: builtin/commit-graph.c:10
 msgid "git commit-graph [--object-dir <objdir>]"
 msgstr "git commit-graph [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:10 builtin/commit-graph.c:16
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:23
 msgid "git commit-graph read [--object-dir <objdir>]"
 msgstr "git commit-graph read [--object-dir <objdir>]"
 
-#: builtin/commit-graph.c:11 builtin/commit-graph.c:21
+#: 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:28
 msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
-"stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
+"stdin-packs|--stdin-commits]"
 msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--stdin-packs|--"
-"stdin-commits]"
+"git commit-graph write [--object-dir <objdir>] [--append] [--reachable|--"
+"stdin-packs|--stdin-commits]"
 
-#: builtin/commit-graph.c:39 builtin/commit-graph.c:92
-#: builtin/commit-graph.c:147 builtin/fetch.c:161 builtin/log.c:1466
+#: builtin/commit-graph.c:48 builtin/commit-graph.c:77
+#: builtin/commit-graph.c:131 builtin/commit-graph.c:184 builtin/fetch.c:150
+#: builtin/log.c:1477
 msgid "dir"
 msgstr "tmục"
 
-#: builtin/commit-graph.c:40 builtin/commit-graph.c:93
-#: builtin/commit-graph.c:148
+#: builtin/commit-graph.c:49 builtin/commit-graph.c:78
+#: builtin/commit-graph.c:132 builtin/commit-graph.c:185
 msgid "The object directory to store the graph"
 msgstr "Thư mục đối tượng để lưu đồ thị"
 
-#: builtin/commit-graph.c:95
+#: builtin/commit-graph.c:134
+msgid "start walk at all refs"
+msgstr "bắt đầu di chuyển tại mọi tham chiếu"
+
+#: builtin/commit-graph.c:136
 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:97
+#: builtin/commit-graph.c:138
 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:99
+#: builtin/commit-graph.c:140
 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"
 
-#: builtin/commit-graph.c:108
-msgid "cannot use both --stdin-commits and --stdin-packs"
-msgstr "không thể sử dụng cả hai --stdin-commits và --stdin-packs"
+#: builtin/commit-graph.c:149
+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:10
 msgid "git config [<options>]"
@@ -8339,162 +9613,198 @@ msgstr "git config [<các-tùy-chọn>]"
 msgid "unrecognized --type argument, %s"
 msgstr "đối số không được thừa nhận --type, %s"
 
-#: builtin/config.c:123
+#: builtin/config.c:113
+msgid "only one type at a time"
+msgstr "chỉ một kiểu một lần"
+
+#: builtin/config.c:122
 msgid "Config file location"
 msgstr "Vị trí tập tin cấu hình"
 
-#: builtin/config.c:124
+#: builtin/config.c:123
 msgid "use global config file"
 msgstr "dùng tập tin cấu hình toàn cục"
 
-#: builtin/config.c:125
+#: builtin/config.c:124
 msgid "use system config file"
 msgstr "sử dụng tập tin cấu hình hệ thống"
 
-#: builtin/config.c:126
+#: builtin/config.c:125
 msgid "use repository config file"
 msgstr "dùng tập tin cấu hình của kho"
 
-#: builtin/config.c:127
+#: builtin/config.c:126
 msgid "use given config file"
 msgstr "sử dụng tập tin cấu hình đã cho"
 
-#: builtin/config.c:128
+#: builtin/config.c:127
 msgid "blob-id"
 msgstr "blob-id"
 
-#: builtin/config.c:128
+#: builtin/config.c:127
 msgid "read config from given blob object"
 msgstr "đọc cấu hình từ đối tượng blob đã cho"
 
-#: builtin/config.c:129
+#: builtin/config.c:128
 msgid "Action"
 msgstr "Hành động"
 
-#: builtin/config.c:130
+#: builtin/config.c:129
 msgid "get value: name [value-regex]"
 msgstr "lấy giá-trị: tên [value-regex]"
 
-#: builtin/config.c:131
+#: builtin/config.c:130
 msgid "get all values: key [value-regex]"
 msgstr "lấy tất cả giá-trị: khóa [value-regex]"
 
-#: builtin/config.c:132
+#: builtin/config.c:131
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "lấy giá trị cho regexp: name-regex [value-regex]"
 
-#: builtin/config.c:133
+#: builtin/config.c:132
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "lấy đặc tả giá trị cho URL: phần[.biến] URL"
 
-#: builtin/config.c:134
+#: builtin/config.c:133
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "thay thế tất cả các biến khớp mẫu: tên giá-trị [value_regex]"
 
-#: builtin/config.c:135
+#: builtin/config.c:134
 msgid "add a new variable: name value"
 msgstr "thêm biến mới: tên giá-trị"
 
-#: builtin/config.c:136
+#: builtin/config.c:135
 msgid "remove a variable: name [value-regex]"
 msgstr "gỡ bỏ biến: tên [value-regex]"
 
-#: builtin/config.c:137
+#: builtin/config.c:136
 msgid "remove all matches: name [value-regex]"
 msgstr "gỡ bỏ mọi cái khớp: tên [value-regex]"
 
-#: builtin/config.c:138
+#: builtin/config.c:137
 msgid "rename section: old-name new-name"
 msgstr "đổi tên phần: tên-cũ tên-mới"
 
-#: builtin/config.c:139
+#: builtin/config.c:138
 msgid "remove a section: name"
 msgstr "gỡ bỏ phần: tên"
 
-#: builtin/config.c:140
+#: builtin/config.c:139
 msgid "list all"
 msgstr "liệt kê tất"
 
-#: builtin/config.c:141
+#: builtin/config.c:140
 msgid "open an editor"
 msgstr "mở một trình biên soạn"
 
-#: builtin/config.c:142
+#: builtin/config.c:141
 msgid "find the color configured: slot [default]"
 msgstr "tìm cấu hình màu sắc: slot [mặc định]"
 
-#: builtin/config.c:143
+#: builtin/config.c:142
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "tìm các cài đặt về màu sắc: slot [stdout-là-tty]"
 
-#: builtin/config.c:144
+#: builtin/config.c:143
 msgid "Type"
 msgstr "Kiểu"
 
-#: builtin/config.c:145
+#: builtin/config.c:144
 msgid "value is given this type"
 msgstr "giá trị được đưa kiểu này"
 
-#: builtin/config.c:146
+#: builtin/config.c:145
 msgid "value is \"true\" or \"false\""
 msgstr "giá trị là \"true\" hoặc \"false\""
 
-#: builtin/config.c:147
+#: builtin/config.c:146
 msgid "value is decimal number"
 msgstr "giá trị ở dạng số thập phân"
 
-#: builtin/config.c:148
+#: builtin/config.c:147
 msgid "value is --bool or --int"
 msgstr "giá trị là --bool hoặc --int"
 
-#: builtin/config.c:149
+#: builtin/config.c:148
 msgid "value is a path (file or directory name)"
 msgstr "giá trị là đường dẫn (tên tập tin hay thư mục)"
 
-#: builtin/config.c:150
+#: builtin/config.c:149
 msgid "value is an expiry date"
 msgstr "giá trị là một ngày hết hạn"
 
-#: builtin/config.c:151
+#: builtin/config.c:150
 msgid "Other"
 msgstr "Khác"
 
-#: builtin/config.c:152
+#: builtin/config.c:151
 msgid "terminate values with NUL byte"
 msgstr "chấm dứt giá trị với byte NUL"
 
-#: builtin/config.c:153
+#: builtin/config.c:152
 msgid "show variable names only"
 msgstr "chỉ hiển thị các tên biến"
 
-#: builtin/config.c:154
+#: builtin/config.c:153
 msgid "respect include directives on lookup"
 msgstr "tôn trọng kể cà các hướng trong tìm kiếm"
 
-#: builtin/config.c:155
+#: builtin/config.c:154
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "hiển thị nguyên gốc của cấu hình (tập tin, đầu vào tiêu chuẩn, blob, dòng "
 "lệnh)"
 
-#: builtin/config.c:156
+#: builtin/config.c:155
 msgid "value"
 msgstr "giá trị"
 
-#: builtin/config.c:156
+#: builtin/config.c:155
 msgid "with --get, use default value when missing entry"
 msgstr "với --get, dùng giá trị mặc định khi thiếu mục tin"
 
-#: builtin/config.c:332
+#: builtin/config.c:168
+#, c-format
+msgid "wrong number of arguments, should be %d"
+msgstr "sai số lượng tham số, phải là %d"
+
+#: builtin/config.c:170
+#, c-format
+msgid "wrong number of arguments, should be from %d to %d"
+msgstr "sai số lượng tham số, phải từ %d đến %d"
+
+#: builtin/config.c:304
+#, c-format
+msgid "invalid key pattern: %s"
+msgstr "mẫu khóa không hợp lệ: %s"
+
+#: builtin/config.c:340
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "gặp lỗi khi định dạng giá trị cấu hình mặc định: %s"
 
-#: builtin/config.c:431
+#: builtin/config.c:397
+#, c-format
+msgid "cannot parse color '%s'"
+msgstr "không thể phân tích màu “%s”"
+
+#: builtin/config.c:439
 msgid "unable to parse default color value"
 msgstr "không thể phân tích giá trị màu mặc định"
 
-#: builtin/config.c:575
+#: builtin/config.c:492 builtin/config.c:724
+msgid "not in a git directory"
+msgstr "không trong thư mục git"
+
+#: builtin/config.c:495
+msgid "writing to stdin is not supported"
+msgstr "việc ghi ra đầu ra tiêu chuẩn là không được hỗ trợ"
+
+#: builtin/config.c:498
+msgid "writing config blobs is not supported"
+msgstr "không hỗ trợ ghi cấu hình các blob"
+
+#: builtin/config.c:583
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -8509,20 +9819,69 @@ msgstr ""
 "#\tname = %s\n"
 "#\temail = %s\n"
 
-#: builtin/config.c:603
+#: builtin/config.c:606
+msgid "only one config file at a time"
+msgstr "chỉ một tập tin cấu hình một lần"
+
+#: builtin/config.c:611
 msgid "--local can only be used inside a git repository"
 msgstr "--local chỉ có thể được dùng bên trong một kho git"
 
-#: builtin/config.c:606
+#: builtin/config.c:614
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob chỉ có thể được dùng bên trong một kho git"
 
-#: builtin/config.c:735
+#: builtin/config.c:633
+msgid "$HOME not set"
+msgstr "Chưa đặt biến môi trường HOME"
+
+#: builtin/config.c:670
+msgid "--get-color and variable type are incoherent"
+msgstr "--get-color và kiểu biến là không mạch lạc"
+
+#: builtin/config.c:675
+msgid "only one action at a time"
+msgstr "chỉ một thao tác mỗi lần"
+
+#: builtin/config.c:688
+msgid "--name-only is only applicable to --list or --get-regexp"
+msgstr "--name-only chỉ được áp dụng cho --list hoặc --get-regexp"
+
+#: builtin/config.c:694
+msgid ""
+"--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
+"list"
+msgstr ""
+"--show-origin chỉ được áp dụng cho --get, --get-all, --get-regexp, hoặc --"
+"list"
+
+#: builtin/config.c:700
+msgid "--default is only applicable to --get"
+msgstr "--default chỉ được áp dụng cho --get"
+
+#: builtin/config.c:713
+#, c-format
+msgid "unable to read config file '%s'"
+msgstr "không thể đọc tập tin cấu hình “%s”"
+
+#: builtin/config.c:716
+msgid "error processing config file(s)"
+msgstr "gặp lỗi khi xử lý các tập tin cấu hình"
+
+#: builtin/config.c:726
+msgid "editing stdin is not supported"
+msgstr "sửa chữa đầu ra tiêu chuẩn là không được hỗ trợ"
+
+#: builtin/config.c:728
+msgid "editing blobs is not supported"
+msgstr "việc sửa chữa các blob là không được hỗ trợ"
+
+#: builtin/config.c:742
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "không thể tạo tập tin cấu hình “%s”"
 
-#: builtin/config.c:748
+#: builtin/config.c:755
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -8531,6 +9890,11 @@ msgstr ""
 "không thể ghi đè nhiều giá trị với một giá trị đơn\n"
 "      Dùng một biểu thức chính quy, --add hay --replace-all để thay đổi %s."
 
+#: builtin/config.c:829 builtin/config.c:840
+#, c-format
+msgid "no such section: %s"
+msgstr "không có đoạn: %s"
+
 #: builtin/count-objects.c:90
 msgid "git count-objects [-v] [-H | --human-readable]"
 msgstr "git count-objects [-v] [-H | --human-readable]"
@@ -8539,57 +9903,57 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "hiển thị kích cỡ theo định dạng dành cho người đọc"
 
-#: builtin/describe.c:22
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<các-tùy-chọn>] <commit-ish>*"
 
-#: builtin/describe.c:23
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<các-tùy-chọn>] --dirty"
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "head"
 msgstr "phía trước "
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "lightweight"
 msgstr "hạng nhẹ"
 
-#: builtin/describe.c:57
+#: builtin/describe.c:62
 msgid "annotated"
 msgstr "có diễn giải"
 
-#: builtin/describe.c:267
+#: builtin/describe.c:272
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "thẻ đã được ghi chú %s không sẵn để dùng"
 
-#: builtin/describe.c:271
+#: builtin/describe.c:276
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "thẻ được chú giải %s không có tên nhúng"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:278
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "thẻ “%s” đã thực sự ở đây “%s” rồi"
 
-#: builtin/describe.c:317
+#: builtin/describe.c:322
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "không có thẻ nào khớp chính xác với “%s”"
 
-#: builtin/describe.c:319
+#: builtin/describe.c:324
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr "Không có tham chiếu hay thẻ khớp đúng, đang tìm kiếm mô tả\n"
 
-#: builtin/describe.c:366
+#: builtin/describe.c:378
 #, c-format
 msgid "finished search at %s\n"
 msgstr "việc tìm kiếm đã kết thúc tại %s\n"
 
-#: builtin/describe.c:392
+#: builtin/describe.c:404
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -8598,7 +9962,7 @@ msgstr ""
 "Không có thẻ được chú giải nào được mô tả là “%s”.\n"
 "Tuy nhiên, ở đây có những thẻ không được chú giải: hãy thử --tags."
 
-#: builtin/describe.c:396
+#: builtin/describe.c:408
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -8607,12 +9971,12 @@ msgstr ""
 "Không có thẻ có thể mô tả “%s”.\n"
 "Hãy thử --always, hoặc tạo một số thẻ."
 
-#: builtin/describe.c:426
+#: builtin/describe.c:438
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "đã xuyên %lu qua lần chuyển giao\n"
 
-#: builtin/describe.c:429
+#: builtin/describe.c:441
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -8621,90 +9985,90 @@ msgstr ""
 "tìm thấy nhiều hơn %i thẻ; đã liệt kê %i cái gần\n"
 "đây nhất bỏ đi tìm kiếm tại %s\n"
 
-#: builtin/describe.c:497
+#: builtin/describe.c:509
 #, c-format
 msgid "describe %s\n"
 msgstr "mô tả %s\n"
 
-#: builtin/describe.c:500 builtin/log.c:502
+#: builtin/describe.c:512 builtin/log.c:508
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "Không phải tên đối tượng %s hợp lệ"
 
-#: builtin/describe.c:508
+#: builtin/describe.c:520
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s không phải là một lần commit cũng không phải blob"
 
-#: builtin/describe.c:522
+#: builtin/describe.c:534
 msgid "find the tag that comes after the commit"
 msgstr "tìm các thẻ mà nó đến trước lần chuyển giao"
 
-#: builtin/describe.c:523
+#: builtin/describe.c:535
 msgid "debug search strategy on stderr"
 msgstr "chiến lược tìm kiếm gỡ lỗi trên đầu ra lỗi chuẩn stderr"
 
-#: builtin/describe.c:524
+#: builtin/describe.c:536
 msgid "use any ref"
 msgstr "dùng ref bất kỳ"
 
-#: builtin/describe.c:525
+#: builtin/describe.c:537
 msgid "use any tag, even unannotated"
 msgstr "dùng thẻ bất kỳ, cả khi “unannotated”"
 
-#: builtin/describe.c:526
+#: builtin/describe.c:538
 msgid "always use long format"
 msgstr "luôn dùng định dạng dài"
 
-#: builtin/describe.c:527
+#: builtin/describe.c:539
 msgid "only follow first parent"
 msgstr "chỉ theo cha mẹ đầu tiên"
 
-#: builtin/describe.c:530
+#: builtin/describe.c:542
 msgid "only output exact matches"
 msgstr "chỉ xuất những gì khớp chính xác"
 
-#: builtin/describe.c:532
+#: builtin/describe.c:544
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "coi như <n> thẻ gần đây nhất (mặc định: 10)"
 
-#: builtin/describe.c:534
+#: builtin/describe.c:546
 msgid "only consider tags matching <pattern>"
 msgstr "chỉ cân nhắc đến những thẻ khớp với <mẫu>"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:548
 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:538 builtin/name-rev.c:406
+#: builtin/describe.c:550 builtin/name-rev.c:424
 msgid "show abbreviated commit object as fallback"
 msgstr "hiển thị đối tượng chuyển giao vắn tắt như là fallback"
 
-#: builtin/describe.c:539 builtin/describe.c:542
+#: builtin/describe.c:551 builtin/describe.c:554
 msgid "mark"
 msgstr "dấu"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:552
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "thêm <dấu> trên cây thư mục làm việc bẩn (mặc định \"-dirty\")"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:555
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr "thêm <dấu> trên cây thư mục làm việc bị hỏng (mặc định \"-broken\")"
 
-#: builtin/describe.c:561
+#: builtin/describe.c:573
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long là xung khắc với tùy chọn --abbrev=0"
 
-#: builtin/describe.c:590
+#: builtin/describe.c:602
 msgid "No names found, cannot describe anything."
 msgstr "Không tìm thấy các tên, không thể mô tả gì cả."
 
-#: builtin/describe.c:640
+#: builtin/describe.c:652
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty là xung khắc với các tùy chọn commit-ish"
 
-#: builtin/describe.c:642
+#: builtin/describe.c:654
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken là xung khắc với commit-ishes"
 
@@ -8718,52 +10082,52 @@ msgstr "“%s”: không phải tập tin bình thường hay liên kết mềm"
 msgid "invalid option: %s"
 msgstr "tùy chọn không hợp lệ: %s"
 
-#: builtin/diff.c:356
+#: builtin/diff.c:363
 msgid "Not a git repository"
 msgstr "Không phải là kho git"
 
-#: builtin/diff.c:399
+#: builtin/diff.c:407
 #, c-format
 msgid "invalid object '%s' given."
 msgstr "đối tượng đã cho “%s” không hợp lệ."
 
-#: builtin/diff.c:408
+#: builtin/diff.c:416
 #, c-format
 msgid "more than two blobs given: '%s'"
 msgstr "đã cho nhiều hơn hai đối tượng blob: “%s”"
 
-#: builtin/diff.c:413
+#: builtin/diff.c:421
 #, c-format
 msgid "unhandled object '%s' given."
 msgstr "đã cho đối tượng không thể nắm giữ “%s”."
 
-#: builtin/difftool.c:29
+#: 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>…]"
 
-#: builtin/difftool.c:259
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "gặp lỗi: %d"
 
-#: builtin/difftool.c:301
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "không thể đọc liên kết mềm %s"
 
-#: builtin/difftool.c:303
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "không đọc được tập tin liên kết mềm %s"
 
-#: builtin/difftool.c:311
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "Không thể đọc đối tượng %s cho liên kết mềm %s"
 
-#: builtin/difftool.c:412
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -8771,53 +10135,53 @@ msgstr ""
 "các định dạng diff tổ hợp(“-c” và “--cc”) chưa được hỗ trợ trong\n"
 "chế độ diff thư mục(“-d” và “--dir-diff”)."
 
-#: builtin/difftool.c:632
+#: builtin/difftool.c:633
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "cả hai tập tin đã bị sửa: “%s” và “%s”."
 
-#: builtin/difftool.c:634
+#: builtin/difftool.c:635
 msgid "working tree file has been left."
 msgstr "cây làm việc ở bên trái."
 
-#: builtin/difftool.c:645
+#: builtin/difftool.c:646
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "các tập tin tạm đã sẵn có trong “%s”."
 
-#: builtin/difftool.c:646
+#: builtin/difftool.c:647
 msgid "you may want to cleanup or recover these."
 msgstr "bạn có lẽ muốn dọn dẹp hay "
 
-#: builtin/difftool.c:695
+#: builtin/difftool.c:696
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "dùng “diff.guitool“ thay vì dùng “diff.tool“"
 
-#: builtin/difftool.c:697
+#: builtin/difftool.c:698
 msgid "perform a full-directory diff"
 msgstr "thực hiện một diff toàn thư mục"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:700
 msgid "do not prompt before launching a diff tool"
 msgstr "đừng nhắc khi khởi chạy công cụ diff"
 
-#: builtin/difftool.c:704
+#: builtin/difftool.c:705
 msgid "use symlinks in dir-diff mode"
 msgstr "dùng liên kết mềm trong diff-thư-mục"
 
-#: builtin/difftool.c:705
-msgid "<tool>"
-msgstr "<công_cụ>"
-
 #: builtin/difftool.c:706
+msgid "tool"
+msgstr "công cụ"
+
+#: builtin/difftool.c:707
 msgid "use the specified diff tool"
 msgstr "dùng công cụ diff đã cho"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:709
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "in ra danh sách các công cụ dif cái mà có thẻ dùng với “--tool“"
 
-#: builtin/difftool.c:711
+#: builtin/difftool.c:712
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -8825,165 +10189,161 @@ msgstr ""
 "làm cho “git-difftool” thoát khi gọi công cụ diff trả về mã không phải số "
 "không"
 
-#: builtin/difftool.c:713
-msgid "<command>"
-msgstr "<lệnh>"
-
-#: builtin/difftool.c:714
+#: builtin/difftool.c:715
 msgid "specify a custom command for viewing diffs"
 msgstr "chỉ định một lệnh tùy ý để xem diff"
 
-#: builtin/difftool.c:738
+#: builtin/difftool.c:739
 msgid "no <tool> given for --tool=<tool>"
 msgstr "chưa đưa ra <công_cụ> cho --tool=<công_cụ>"
 
-#: builtin/difftool.c:745
+#: builtin/difftool.c:746
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "chưa đưa ra <lệnh> cho --extcmd=<lệnh>"
 
-#: builtin/fast-export.c:27
+#: builtin/fast-export.c:29
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [rev-list-opts]"
 
-#: builtin/fast-export.c:1000
+#: builtin/fast-export.c:1006
 msgid "show progress after <n> objects"
 msgstr "hiển thị tiến triển sau <n> đối tượng"
 
-#: builtin/fast-export.c:1002
+#: builtin/fast-export.c:1008
 msgid "select handling of signed tags"
 msgstr "chọn điều khiển của thẻ đã ký"
 
-#: builtin/fast-export.c:1005
+#: builtin/fast-export.c:1011
 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:1008
+#: builtin/fast-export.c:1014
 msgid "Dump marks to this file"
 msgstr "Đổ các đánh dấu này vào tập-tin"
 
-#: builtin/fast-export.c:1010
+#: builtin/fast-export.c:1016
 msgid "Import marks from this file"
 msgstr "nhập vào đánh dấu từ tập tin này"
 
-#: builtin/fast-export.c:1012
+#: builtin/fast-export.c:1018
 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:1014
+#: builtin/fast-export.c:1020
 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:1016
+#: builtin/fast-export.c:1022
 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:1017
+#: builtin/fast-export.c:1023
 msgid "Skip output of blob data"
 msgstr "Bỏ qua kết xuất của dữ liệu blob"
 
-#: builtin/fast-export.c:1018
+#: builtin/fast-export.c:1024
 msgid "refspec"
 msgstr "refspec"
 
-#: builtin/fast-export.c:1019
+#: builtin/fast-export.c:1025
 msgid "Apply refspec to exported refs"
 msgstr "Áp dụng refspec cho refs đã xuất"
 
-#: builtin/fast-export.c:1020
+#: builtin/fast-export.c:1026
 msgid "anonymize output"
 msgstr "kết xuất anonymize"
 
-#: builtin/fetch.c:26
+#: builtin/fetch.c:27
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<các-tùy-chọn>] [<kho-chứa> [<refspec>…]]"
 
-#: builtin/fetch.c:27
+#: builtin/fetch.c:28
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<các-tùy-chọn>] [<nhóm>"
 
-#: builtin/fetch.c:28
+#: builtin/fetch.c:29
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<các-tùy-chọn>] [(<kho> | <nhóm>)…]"
 
-#: builtin/fetch.c:29
+#: builtin/fetch.c:30
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<các-tùy-chọn>]"
 
-#: builtin/fetch.c:123 builtin/pull.c:193
+#: builtin/fetch.c:112 builtin/pull.c:193
 msgid "fetch from all remotes"
 msgstr "lấy về từ tất cả các máy chủ"
 
-#: builtin/fetch.c:125 builtin/pull.c:196
+#: builtin/fetch.c:114 builtin/pull.c:196
 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:127 builtin/pull.c:199
+#: builtin/fetch.c:116 builtin/pull.c:199
 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:128 builtin/pull.c:201
+#: builtin/fetch.c:117 builtin/pull.c:201
 msgid "force overwrite of local branch"
 msgstr "ép buộc ghi đè lên nhánh nội bộ"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:119
 msgid "fetch from multiple remotes"
 msgstr "lấy từ nhiều máy chủ cùng lúc"
 
-#: builtin/fetch.c:132 builtin/pull.c:203
+#: builtin/fetch.c:121 builtin/pull.c:203
 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:134
+#: builtin/fetch.c:123
 msgid "do not fetch all tags (--no-tags)"
 msgstr "không lấy tất cả các thẻ (--no-tags)"
 
-#: builtin/fetch.c:136
+#: builtin/fetch.c:125
 msgid "number of submodules fetched in parallel"
 msgstr "số lượng mô-đun-con được lấy đồng thời"
 
-#: builtin/fetch.c:138 builtin/pull.c:206
+#: builtin/fetch.c:127 builtin/pull.c:206
 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:140
+#: builtin/fetch.c:129
 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:141 builtin/fetch.c:164 builtin/pull.c:131
+#: builtin/fetch.c:130 builtin/fetch.c:153 builtin/pull.c:131
 msgid "on-demand"
 msgstr "khi-cần"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:131
 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:146 builtin/pull.c:214
+#: builtin/fetch.c:135 builtin/pull.c:214
 msgid "keep downloaded pack"
 msgstr "giữ lại gói đã tải về"
 
-#: builtin/fetch.c:148
+#: builtin/fetch.c:137
 msgid "allow updating of HEAD ref"
 msgstr "cho phép cập nhật th.chiếu HEAD"
 
-#: builtin/fetch.c:151 builtin/fetch.c:157 builtin/pull.c:217
+#: builtin/fetch.c:140 builtin/fetch.c:146 builtin/pull.c:217
 msgid "deepen history of shallow clone"
 msgstr "làm sâu hơn lịch sử của bản sao"
 
-#: builtin/fetch.c:153
+#: builtin/fetch.c:142
 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:159 builtin/pull.c:220
+#: builtin/fetch.c:148 builtin/pull.c:220
 msgid "convert to a complete repository"
 msgstr "chuyển đổi hoàn toàn sang kho git"
 
-#: builtin/fetch.c:162
+#: builtin/fetch.c:151
 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:165
+#: builtin/fetch.c:154
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -8991,99 +10351,104 @@ 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:169 builtin/pull.c:223
+#: builtin/fetch.c:158 builtin/pull.c:223
 msgid "accept refs that update .git/shallow"
 msgstr "chấp nhận tham chiếu cập nhật .git/shallow"
 
-#: builtin/fetch.c:170 builtin/pull.c:225
+#: builtin/fetch.c:159 builtin/pull.c:225
 msgid "refmap"
 msgstr "refmap"
 
-#: builtin/fetch.c:171 builtin/pull.c:226
+#: builtin/fetch.c:160 builtin/pull.c:226
 msgid "specify fetch refmap"
 msgstr "chỉ ra refmap cần lấy về"
 
-#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:172
 msgid "server-specific"
 msgstr "đặc-tả-máy-phục-vụ"
 
-#: builtin/fetch.c:172 builtin/ls-remote.c:77 builtin/push.c:582
+#: builtin/fetch.c:161 builtin/ls-remote.c:77 builtin/push.c:582
 #: builtin/send-pack.c:173
 msgid "option to transmit"
 msgstr "tùy chọn để chuyển giao"
 
-#: builtin/fetch.c:442
+#: builtin/fetch.c:167
+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:418
 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:560
+#: builtin/fetch.c:552
 #, 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:653
+#: builtin/fetch.c:645
 #, c-format
 msgid "object %s not found"
 msgstr "Không tìm thấy đối tượng %s"
 
-#: builtin/fetch.c:657
+#: builtin/fetch.c:649
 msgid "[up to date]"
 msgstr "[đã cập nhật]"
 
-#: builtin/fetch.c:670 builtin/fetch.c:750
+#: builtin/fetch.c:662 builtin/fetch.c:744
 msgid "[rejected]"
 msgstr "[Bị từ chối]"
 
-#: builtin/fetch.c:671
+#: builtin/fetch.c:663
 msgid "can't fetch in current branch"
 msgstr "không thể fetch (lấy) về nhánh hiện hành"
 
-#: builtin/fetch.c:680
+#: builtin/fetch.c:672
 msgid "[tag update]"
 msgstr "[cập nhật thẻ]"
 
-#: builtin/fetch.c:681 builtin/fetch.c:714 builtin/fetch.c:730
-#: builtin/fetch.c:745
+#: builtin/fetch.c:673 builtin/fetch.c:708 builtin/fetch.c:724
+#: builtin/fetch.c:739
 msgid "unable to update local ref"
 msgstr "không thể cập nhật tham chiếu nội bộ"
 
-#: builtin/fetch.c:700
+#: builtin/fetch.c:694
 msgid "[new tag]"
 msgstr "[thẻ mới]"
 
-#: builtin/fetch.c:703
+#: builtin/fetch.c:697
 msgid "[new branch]"
 msgstr "[nhánh mới]"
 
-#: builtin/fetch.c:706
+#: builtin/fetch.c:700
 msgid "[new ref]"
 msgstr "[ref (tham chiếu) mới]"
 
-#: builtin/fetch.c:745
+#: builtin/fetch.c:739
 msgid "forced update"
 msgstr "cưỡng bức cập nhật"
 
-#: builtin/fetch.c:750
+#: builtin/fetch.c:744
 msgid "non-fast-forward"
 msgstr "không-phải-chuyển-tiếp-nhanh"
 
-#: builtin/fetch.c:795
+#: builtin/fetch.c:790
 #, 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:815
+#: builtin/fetch.c:811
 #, 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:903 builtin/fetch.c:999
+#: builtin/fetch.c:900 builtin/fetch.c:1011
 #, c-format
 msgid "From %.*s\n"
 msgstr "Từ %.*s\n"
 
-#: builtin/fetch.c:914
+#: builtin/fetch.c:911
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -9092,59 +10457,59 @@ 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:969
+#: builtin/fetch.c:981
 #, 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:970
+#: builtin/fetch.c:982
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s đã trở thành không đầu (không được quản lý))"
 
-#: builtin/fetch.c:1002
+#: builtin/fetch.c:1014
 msgid "[deleted]"
 msgstr "[đã xóa]"
 
-#: builtin/fetch.c:1003 builtin/remote.c:1033
+#: builtin/fetch.c:1015 builtin/remote.c:1035
 msgid "(none)"
 msgstr "(không)"
 
-#: builtin/fetch.c:1026
+#: builtin/fetch.c:1038
 #, 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:1045
+#: builtin/fetch.c:1057
 #, 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:1048
+#: builtin/fetch.c:1060
 #, 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:1287
+#: builtin/fetch.c:1339
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Đang lấy “%s” về\n"
 
-#: builtin/fetch.c:1289 builtin/remote.c:98
+#: builtin/fetch.c:1341 builtin/remote.c:99
 #, c-format
 msgid "Could not fetch %s"
 msgstr "không thể “%s” về"
 
-#: builtin/fetch.c:1335 builtin/fetch.c:1503
+#: builtin/fetch.c:1387 builtin/fetch.c:1555
 msgid ""
 "--filter can only be used with the remote configured in core.partialClone"
 msgstr ""
 "--filter chỉ có thể được dùng với máy chủ được cấu hình bằng core."
 "partialClone"
 
-#: builtin/fetch.c:1358
+#: builtin/fetch.c:1410
 msgid ""
 "No remote repository specified.  Please, specify either a URL or a\n"
 "remote name from which new revisions should be fetched."
@@ -9152,67 +10517,67 @@ 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:1395
+#: builtin/fetch.c:1447
 msgid "You need to specify a tag name."
 msgstr "Bạn phải định rõ tên thẻ."
 
-#: builtin/fetch.c:1444
+#: builtin/fetch.c:1496
 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:1446
+#: builtin/fetch.c:1498
 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:1451
+#: builtin/fetch.c:1503
 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:1453
+#: builtin/fetch.c:1505
 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:1469
+#: builtin/fetch.c:1521
 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:1471
+#: builtin/fetch.c:1523
 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:1480
+#: builtin/fetch.c:1532
 #, 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:1487
+#: builtin/fetch.c:1539
 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/fmt-merge-msg.c:15
+#: builtin/fmt-merge-msg.c:17
 msgid ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
 msgstr ""
 "git fmt-merge-msg [-m <chú_thích>] [--log[=<n>] | --no-log] [--file <tập-"
 "tin>]"
 
-#: builtin/fmt-merge-msg.c:666
+#: builtin/fmt-merge-msg.c:671
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "gắn nhật ký với ít nhất <n> mục từ lệnh “shortlog”"
 
-#: builtin/fmt-merge-msg.c:669
+#: builtin/fmt-merge-msg.c:674
 msgid "alias for --log (deprecated)"
 msgstr "bí danh cho --log (không được dùng)"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:677
 msgid "text"
 msgstr "văn bản"
 
-#: builtin/fmt-merge-msg.c:673
+#: builtin/fmt-merge-msg.c:678
 msgid "use <text> as start of message"
 msgstr "dùng <văn bản thường> để bắt đầu ghi chú"
 
-#: builtin/fmt-merge-msg.c:674
+#: builtin/fmt-merge-msg.c:679
 msgid "file to read from"
 msgstr "tập tin để đọc dữ liệu từ đó"
 
@@ -9254,7 +10619,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:421
+#: builtin/for-each-ref.c:39 builtin/tag.c:422
 msgid "respect format colors"
 msgstr "các màu định dạng lưu tâm"
 
@@ -9278,81 +10643,81 @@ msgstr "chỉ hiển thị những tham chiếu mà nó chứa lần chuyển gi
 msgid "print only refs which don't contain the commit"
 msgstr "chỉ hiển thị những tham chiếu mà nó không chứa lần chuyển giao"
 
-#: builtin/fsck.c:569
+#: builtin/fsck.c:574
 msgid "Checking object directories"
 msgstr "Đang kiểm tra các thư mục đối tượng"
 
-#: builtin/fsck.c:661
+#: builtin/fsck.c:666
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<các-tùy-chọn>] [<đối-tượng>…]"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:672
 msgid "show unreachable objects"
 msgstr "hiển thị các đối tượng không thể đọc được"
 
-#: builtin/fsck.c:668
+#: builtin/fsck.c:673
 msgid "show dangling objects"
 msgstr "hiển thị các đối tượng không được quản lý"
 
-#: builtin/fsck.c:669
+#: builtin/fsck.c:674
 msgid "report tags"
 msgstr "báo cáo các thẻ"
 
-#: builtin/fsck.c:670
+#: builtin/fsck.c:675
 msgid "report root nodes"
 msgstr "báo cáo node gốc"
 
-#: builtin/fsck.c:671
+#: builtin/fsck.c:676
 msgid "make index objects head nodes"
 msgstr "tạo “index objects head nodes”"
 
-#: builtin/fsck.c:672
+#: builtin/fsck.c:677
 msgid "make reflogs head nodes (default)"
 msgstr "tạo “reflogs head nodes” (mặc định)"
 
-#: builtin/fsck.c:673
+#: builtin/fsck.c:678
 msgid "also consider packs and alternate objects"
 msgstr "cũng cân nhắc đến các đối tượng gói và thay thế"
 
-#: builtin/fsck.c:674
+#: builtin/fsck.c:679
 msgid "check only connectivity"
 msgstr "chỉ kiểm tra kết nối"
 
-#: builtin/fsck.c:675
+#: builtin/fsck.c:680
 msgid "enable more strict checking"
 msgstr "cho phép kiểm tra hạn chế hơn"
 
-#: builtin/fsck.c:677
+#: builtin/fsck.c:682
 msgid "write dangling objects in .git/lost-found"
 msgstr "ghi các đối tượng không được quản lý trong .git/lost-found"
 
-#: builtin/fsck.c:678 builtin/prune.c:109
+#: builtin/fsck.c:683 builtin/prune.c:110
 msgid "show progress"
 msgstr "hiển thị quá trình"
 
-#: builtin/fsck.c:679
+#: builtin/fsck.c:684
 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:745
+#: builtin/fsck.c:750
 msgid "Checking objects"
 msgstr "Đang kiểm tra các đối tượng"
 
-#: builtin/gc.c:33
+#: builtin/gc.c:34
 msgid "git gc [<options>]"
 msgstr "git gc [<các-tùy-chọn>]"
 
-#: builtin/gc.c:88
+#: builtin/gc.c:90
 #, c-format
 msgid "Failed to fstat %s: %s"
 msgstr "Gặp lỗi khi lấy thông tin thống kê về tập tin %s: %s"
 
-#: builtin/gc.c:452
+#: builtin/gc.c:455
 #, c-format
 msgid "Can't stat %s"
 msgstr "không thể lấy thông tin thống kê về “%s”"
 
-#: builtin/gc.c:461
+#: builtin/gc.c:464
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -9367,54 +10732,54 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:502
+#: builtin/gc.c:505
 msgid "prune unreferenced objects"
 msgstr "xóa bỏ các đối tượng không được tham chiếu"
 
-#: builtin/gc.c:504
+#: builtin/gc.c:507
 msgid "be more thorough (increased runtime)"
 msgstr "cẩn thận hơn nữa (tăng thời gian chạy)"
 
-#: builtin/gc.c:505
+#: builtin/gc.c:508
 msgid "enable auto-gc mode"
 msgstr "bật chế độ auto-gc"
 
-#: builtin/gc.c:508
+#: builtin/gc.c:511
 msgid "force running gc even if there may be another gc running"
 msgstr "buộc gc chạy ngay cả khi có tiến trình gc khác đang chạy"
 
-#: builtin/gc.c:511
+#: builtin/gc.c:514
 msgid "repack all other packs except the largest pack"
 msgstr "đóng gói lại tất cả các gói khác ngoại trừ gói lớn nhất"
 
-#: builtin/gc.c:528
+#: builtin/gc.c:531
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "gặp lỗi khi phân tích giá trị gc.logexpiry %s"
 
-#: builtin/gc.c:539
+#: builtin/gc.c:542
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "gặp lỗi khi phân tích giá trị prune %s"
 
-#: builtin/gc.c:559
+#: builtin/gc.c:562
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Tự động đóng gói kho chứa trên nền hệ thống để tối ưu hóa hiệu suất làm "
 "việc.\n"
 
-#: builtin/gc.c:561
+#: builtin/gc.c:564
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Tự động đóng gói kho chứa để tối ưu hóa hiệu suất làm việc.\n"
 
-#: builtin/gc.c:562
+#: builtin/gc.c:565
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Xem \"git help gc\" để có hướng dẫn cụ thể về cách dọn dẹp kho git.\n"
 
-#: builtin/gc.c:598
+#: builtin/gc.c:601
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -9422,7 +10787,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:645
+#: builtin/gc.c:652
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
@@ -9447,7 +10812,8 @@ msgstr "số tuyến đã cho không hợp lệ (%d) cho %s"
 #. variable for tweaking threads, currently
 #. grep.threads
 #.
-#: builtin/grep.c:293 builtin/index-pack.c:1535 builtin/index-pack.c:1727
+#: builtin/grep.c:293 builtin/index-pack.c:1536 builtin/index-pack.c:1728
+#: builtin/pack-objects.c:2636
 #, c-format
 msgid "no threads support, ignoring %s"
 msgstr "không hỗ trợ đa tuyến, bỏ qua %s"
@@ -9462,231 +10828,239 @@ msgstr "không thể đọc cây (%s)"
 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:703
+#: builtin/grep.c:704
 #, 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:790
+#: builtin/grep.c:791
 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:792
+#: builtin/grep.c:793
 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:794
+#: builtin/grep.c:795
 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:796
+#: builtin/grep.c:797
 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:798
+#: builtin/grep.c:799
 msgid "recursively search in each submodule"
 msgstr "tìm kiếm đệ quy trong từng mô-đun-con"
 
-#: builtin/grep.c:801
+#: builtin/grep.c:802
 msgid "show non-matching lines"
 msgstr "hiển thị những dòng không khớp với mẫu"
 
-#: builtin/grep.c:803
+#: builtin/grep.c:804
 msgid "case insensitive matching"
 msgstr "phân biệt HOA/thường"
 
-#: builtin/grep.c:805
+#: builtin/grep.c:806
 msgid "match patterns only at word boundaries"
 msgstr "chỉ khớp mẫu tại đường ranh giới từ"
 
-#: builtin/grep.c:807
+#: builtin/grep.c:808
 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:809
+#: builtin/grep.c:810
 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:812
+#: builtin/grep.c:813
 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:814
+#: builtin/grep.c:815
 msgid "descend at most <depth> levels"
 msgstr "hạ xuống ít nhất là mức <sâu>"
 
-#: builtin/grep.c:818
+#: builtin/grep.c:819
 msgid "use extended POSIX regular expressions"
 msgstr "dùng biểu thức chính qui POSIX có mở rộng"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:822
 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:824
+#: builtin/grep.c:825
 msgid "interpret patterns as fixed strings"
 msgstr "diễn dịch các mẫu như là chuỗi cố định"
 
-#: builtin/grep.c:827
+#: builtin/grep.c:828
 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:830
+#: builtin/grep.c:831
 msgid "show line numbers"
 msgstr "hiển thị số của dòng"
 
-#: builtin/grep.c:831
+#: builtin/grep.c:832
+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:833
 msgid "don't show filenames"
 msgstr "không hiển thị tên tập tin"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:834
 msgid "show filenames"
 msgstr "hiển thị các tên tập tin"
 
-#: builtin/grep.c:834
+#: builtin/grep.c:836
 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:836
+#: builtin/grep.c:838
 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:838
+#: builtin/grep.c:840
 msgid "synonym for --files-with-matches"
 msgstr "đồng nghĩa với --files-with-matches"
 
-#: builtin/grep.c:841
+#: builtin/grep.c:843
 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:843
+#: builtin/grep.c:845
 msgid "print NUL after filenames"
 msgstr "thêm NUL vào sau tên tập tin"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:848
+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:850
 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:847
+#: builtin/grep.c:851
 msgid "highlight matches"
 msgstr "tô sáng phần khớp mẫu"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:853
 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:851
+#: builtin/grep.c:855
 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:854
+#: builtin/grep.c:858
 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:857
+#: builtin/grep.c:861
 msgid "show <n> context lines before matches"
 msgstr "hiển thị <n> dòng nội dung trước khớp"
 
-#: builtin/grep.c:859
+#: builtin/grep.c:863
 msgid "show <n> context lines after matches"
 msgstr "hiển thị <n> dòng nội dung sau khớp"
 
-#: builtin/grep.c:861
+#: builtin/grep.c:865
 msgid "use <n> worker threads"
 msgstr "dùng <n> tuyến trình làm việc"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:866
 msgid "shortcut for -C NUM"
 msgstr "dạng viết tắt của -C SỐ"
 
-#: builtin/grep.c:865
+#: builtin/grep.c:869
 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:867
+#: builtin/grep.c:871
 msgid "show the surrounding function"
 msgstr "hiển thị hàm bao quanh"
 
-#: builtin/grep.c:870
+#: builtin/grep.c:874
 msgid "read patterns from file"
 msgstr "đọc mẫu từ tập-tin"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:876
 msgid "match <pattern>"
 msgstr "match <mẫu>"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:878
 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:886
+#: builtin/grep.c:890
 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:888
+#: builtin/grep.c:892
 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:890
+#: builtin/grep.c:894
 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:894
+#: builtin/grep.c:898
 msgid "pager"
 msgstr "dàn trang"
 
-#: builtin/grep.c:894
+#: builtin/grep.c:898
 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:898
+#: builtin/grep.c:902
 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:962
-msgid "no pattern given."
-msgstr "chưa chỉ ra mẫu."
+#: builtin/grep.c:966
+msgid "no pattern given"
+msgstr "chưa chỉ ra mẫu"
 
-#: builtin/grep.c:994
+#: builtin/grep.c:1002
 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:1001
+#: builtin/grep.c:1009
 #, 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:1036 builtin/index-pack.c:1531
+#: builtin/grep.c:1044 builtin/index-pack.c:1532 builtin/pack-objects.c:2632
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "số tuyến chỉ ra không hợp lệ (%d)"
 
-#: builtin/grep.c:1041
+#: builtin/grep.c:1049 builtin/pack-objects.c:3286
 msgid "no threads support, ignoring --threads"
 msgstr "không hỗ trợ đa tuyến, bỏ qua --threads"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:1073
 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:1088
-msgid "option not supported with --recurse-submodules."
-msgstr "tùy chọn không được hỗ trợ với --recurse-submodules."
+#: builtin/grep.c:1096
+msgid "option not supported with --recurse-submodules"
+msgstr "tùy chọn không được hỗ trợ với --recurse-submodules"
 
-#: builtin/grep.c:1094
-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:1100
-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:1102
+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:1108
-msgid "both --cached and trees are given."
-msgstr "cả hai --cached và các cây phải được chỉ ra."
+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:1116
+msgid "both --cached and trees are given"
+msgstr "cả hai --cached và các cây phải được chỉ ra"
 
-#: builtin/hash-object.c:83
+#: builtin/hash-object.c:84
 msgid ""
 "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
 "[--] <file>..."
@@ -9694,95 +11068,99 @@ msgstr ""
 "git hash-object [-t <kiểu>] [-w] [--path=<tập-tin> | --no-filters] [--stdin] "
 "[--] <tập-tin>…"
 
-#: builtin/hash-object.c:84
+#: builtin/hash-object.c:85
 msgid "git hash-object  --stdin-paths"
 msgstr "git hash-object  --stdin-paths"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "type"
 msgstr "kiểu"
 
-#: builtin/hash-object.c:96
+#: builtin/hash-object.c:97
 msgid "object type"
 msgstr "kiểu đối tượng"
 
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
 msgid "write the object into the object database"
 msgstr "ghi đối tượng vào dữ liệu đối tượng"
 
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
 msgid "read the object from stdin"
 msgstr "đọc đối tượng từ đầu vào tiêu chuẩn stdin"
 
-#: builtin/hash-object.c:101
+#: builtin/hash-object.c:102
 msgid "store file as is without filters"
 msgstr "lưu các tập tin mà nó không có các bộ lọc"
 
-#: builtin/hash-object.c:102
+#: builtin/hash-object.c:103
 msgid ""
 "just hash any random garbage to create corrupt objects for debugging Git"
 msgstr "chỉ cần băm rác ngẫu nhiên để tạo một đối tượng hỏng để mà gỡ lỗi Git"
 
-#: builtin/hash-object.c:103
+#: builtin/hash-object.c:104
 msgid "process file as it were from this path"
 msgstr "xử lý tập tin như là nó đang ở thư mục này"
 
-#: builtin/help.c:45
+#: builtin/help.c:46
 msgid "print all available commands"
 msgstr "hiển thị danh sách các câu lệnh người dùng có thể sử dụng"
 
-#: builtin/help.c:46
+#: builtin/help.c:47
 msgid "exclude guides"
 msgstr "hướng dẫn loại trừ"
 
-#: builtin/help.c:47
+#: builtin/help.c:48
 msgid "print list of useful guides"
 msgstr "hiển thị danh sách các hướng dẫn hữu dụng"
 
-#: builtin/help.c:48
+#: builtin/help.c:49
+msgid "print all configuration variable names"
+msgstr "in ra tất cả các tên biến cấu hình"
+
+#: builtin/help.c:51
 msgid "show man page"
 msgstr "hiển thị trang man"
 
-#: builtin/help.c:49
+#: builtin/help.c:52
 msgid "show manual in web browser"
 msgstr "hiển thị hướng dẫn sử dụng trong trình duyệt web"
 
-#: builtin/help.c:51
+#: builtin/help.c:54
 msgid "show info page"
 msgstr "hiện trang info"
 
-#: builtin/help.c:53
+#: builtin/help.c:56
 msgid "print command description"
 msgstr "hiển thị mô tả lệnh"
 
-#: builtin/help.c:58
+#: builtin/help.c:61
 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
 msgstr "git help [--all] [--guides] [--man | --web | --info] [<lệnh>]"
 
-#: builtin/help.c:70
+#: builtin/help.c:73
 #, c-format
 msgid "unrecognized help format '%s'"
 msgstr "không nhận ra định dạng trợ giúp “%s”"
 
-#: builtin/help.c:97
+#: builtin/help.c:100
 msgid "Failed to start emacsclient."
 msgstr "Gặp lỗi khi khởi chạy emacsclient."
 
-#: builtin/help.c:110
+#: builtin/help.c:113
 msgid "Failed to parse emacsclient version."
 msgstr "Gặp lỗi khi phân tích phiên bản emacsclient."
 
-#: builtin/help.c:118
+#: builtin/help.c:121
 #, c-format
 msgid "emacsclient version '%d' too old (< 22)."
 msgstr "phiên bản của emacsclient “%d” quá cũ (< 22)."
 
-#: builtin/help.c:136 builtin/help.c:158 builtin/help.c:168 builtin/help.c:176
+#: builtin/help.c:139 builtin/help.c:161 builtin/help.c:171 builtin/help.c:179
 #, c-format
 msgid "failed to exec '%s'"
 msgstr "gặp lỗi khi thực thi “%s”"
 
-#: builtin/help.c:214
+#: builtin/help.c:217
 #, c-format
 msgid ""
 "'%s': path for unsupported man viewer.\n"
@@ -9791,7 +11169,7 @@ msgstr ""
 "“%s”: đường dẫn không hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.cmd” để thay thế."
 
-#: builtin/help.c:226
+#: builtin/help.c:229
 #, c-format
 msgid ""
 "'%s': cmd for supported man viewer.\n"
@@ -9800,33 +11178,32 @@ msgstr ""
 "“%s”: cmd (lệnh) hỗ trợ bộ trình chiếu man.\n"
 "Hãy cân nhắc đến việc sử dụng “man.<tool>.path” để thay thế."
 
-#: builtin/help.c:343
+#: builtin/help.c:346
 #, c-format
 msgid "'%s': unknown man viewer."
 msgstr "“%s”: không rõ chương trình xem man."
 
-#: builtin/help.c:360
+#: builtin/help.c:363
 msgid "no man viewer handled the request"
 msgstr "không có trình xem trợ giúp dạng manpage tiếp hợp với yêu cầu"
 
-#: builtin/help.c:368
+#: builtin/help.c:371
 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:415
+#: builtin/help.c:418
 #, c-format
 msgid "'%s' is aliased to '%s'"
 msgstr "“%s” được đặt bí danh thành “%s”"
 
-#: builtin/help.c:442 builtin/help.c:459
+#: builtin/help.c:445 builtin/help.c:475
 #, c-format
 msgid "usage: %s%s"
 msgstr "cách dùng: %s%s"
 
-#: builtin/index-pack.c:158
-#, c-format
-msgid "unable to open %s"
-msgstr "không thể mở %s"
+#: builtin/help.c:459
+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:208
 #, c-format
@@ -9861,11 +11238,11 @@ msgstr "lỗi đọc ở đầu vào"
 msgid "used more bytes than were available"
 msgstr "sử dụng nhiều hơn số lượng byte mà nó sẵn có"
 
-#: builtin/index-pack.c:303
+#: builtin/index-pack.c:303 builtin/pack-objects.c:590
 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:306 builtin/unpack-objects.c:93
+#: builtin/index-pack.c:306 builtin/unpack-objects.c:94
 msgid "pack exceeds maximum allowed size"
 msgstr "gói đã vượt quá cỡ tối đa được phép"
 
@@ -9931,8 +11308,8 @@ msgstr "sự mâu thuẫn xả nén nghiêm trọng"
 msgid "SHA1 COLLISION FOUND WITH %s !"
 msgstr "SỰ VA CHẠM SHA1 ĐàXẢY RA VỚI %s!"
 
-#: builtin/index-pack.c:754 builtin/pack-objects.c:198
-#: builtin/pack-objects.c:292
+#: builtin/index-pack.c:754 builtin/pack-objects.c:143
+#: builtin/pack-objects.c:203 builtin/pack-objects.c:297
 #, c-format
 msgid "unable to read %s"
 msgstr "không thể đọc %s"
@@ -9952,165 +11329,165 @@ msgstr "không thể đọc đối tượng đã tồn tại %s"
 msgid "invalid blob object %s"
 msgstr "đối tượng blob không hợp lệ %s"
 
-#: builtin/index-pack.c:842 builtin/index-pack.c:860
+#: builtin/index-pack.c:842 builtin/index-pack.c:861
 msgid "fsck error in packed object"
 msgstr "lỗi fsck trong đối tượng đóng gói"
 
-#: builtin/index-pack.c:857
+#: builtin/index-pack.c:858
 #, c-format
 msgid "invalid %s"
 msgstr "%s không hợp lệ"
 
-#: builtin/index-pack.c:862
+#: builtin/index-pack.c:863
 #, 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:934 builtin/index-pack.c:965
+#: builtin/index-pack.c:935 builtin/index-pack.c:966
 msgid "failed to apply delta"
 msgstr "gặp lỗi khi áp dụng delta"
 
-#: builtin/index-pack.c:1135
+#: builtin/index-pack.c:1136
 msgid "Receiving objects"
 msgstr "Đang nhận về các đối tượng"
 
-#: builtin/index-pack.c:1135
+#: builtin/index-pack.c:1136
 msgid "Indexing objects"
 msgstr "Các đối tượng bảng mục lục"
 
-#: builtin/index-pack.c:1169
+#: builtin/index-pack.c:1170
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "gói bị sai hỏng (SHA1 không khớp)"
 
-#: builtin/index-pack.c:1174
+#: builtin/index-pack.c:1175
 msgid "cannot fstat packfile"
 msgstr "không thể lấy thông tin thống kê packfile"
 
-#: builtin/index-pack.c:1177
+#: builtin/index-pack.c:1178
 msgid "pack has junk at the end"
 msgstr "pack có phần thừa ở cuối"
 
-#: builtin/index-pack.c:1189
+#: builtin/index-pack.c:1190
 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:1212
+#: builtin/index-pack.c:1213
 msgid "Resolving deltas"
 msgstr "Đang phân giải các delta"
 
-#: builtin/index-pack.c:1223
+#: builtin/index-pack.c:1224 builtin/pack-objects.c:2407
 #, c-format
 msgid "unable to create thread: %s"
 msgstr "không thể tạo tuyến: %s"
 
-#: builtin/index-pack.c:1265
+#: builtin/index-pack.c:1266
 msgid "confusion beyond insanity"
 msgstr "lộn xộn hơn cả điên rồ"
 
-#: builtin/index-pack.c:1271
+#: builtin/index-pack.c:1272
 #, 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:1283
+#: builtin/index-pack.c:1284
 #, 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:1287
+#: builtin/index-pack.c:1288
 #, 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:1311
+#: builtin/index-pack.c:1312
 #, 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:1388
+#: builtin/index-pack.c:1389
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "đối tượng nội bộ %s bị hỏng"
 
-#: builtin/index-pack.c:1402
+#: builtin/index-pack.c:1403
 #, 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:1427
+#: builtin/index-pack.c:1428
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "không thể ghi %s tập tin “%s”"
 
-#: builtin/index-pack.c:1435
+#: builtin/index-pack.c:1436
 #, 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:1459
+#: builtin/index-pack.c:1460
 msgid "error while closing pack file"
 msgstr "gặp lỗi trong khi đóng tập tin gói"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1474
 msgid "cannot store pack file"
 msgstr "không thể lưu tập tin gói"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1482
 msgid "cannot store index file"
 msgstr "không thể lưu trữ tập tin ghi mục lục"
 
-#: builtin/index-pack.c:1525
+#: builtin/index-pack.c:1526 builtin/pack-objects.c:2645
 #, c-format
 msgid "bad pack.indexversion=%<PRIu32>"
 msgstr "sai pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1594
+#: builtin/index-pack.c:1595
 #, 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:1596
+#: builtin/index-pack.c:1597
 #, 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:1644
+#: builtin/index-pack.c:1645
 #, 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:1651
+#: builtin/index-pack.c:1652
 #, 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:1688
+#: builtin/index-pack.c:1689
 msgid "Cannot come back to cwd"
 msgstr "Không thể quay lại cwd"
 
-#: builtin/index-pack.c:1739 builtin/index-pack.c:1742
-#: builtin/index-pack.c:1758 builtin/index-pack.c:1762
+#: builtin/index-pack.c:1740 builtin/index-pack.c:1743
+#: builtin/index-pack.c:1759 builtin/index-pack.c:1763
 #, c-format
 msgid "bad %s"
 msgstr "%s sai"
 
-#: builtin/index-pack.c:1778
+#: builtin/index-pack.c:1779
 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:1780
+#: builtin/index-pack.c:1781
 msgid "--stdin requires a git repository"
 msgstr "--stdin cần một kho git"
 
-#: builtin/index-pack.c:1786
+#: builtin/index-pack.c:1787
 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:1836 builtin/unpack-objects.c:578
+#: builtin/index-pack.c:1837 builtin/unpack-objects.c:580
 msgid "fsck error in pack objects"
 msgstr "lỗi fsck trong các đối tượng gói"
 
@@ -10129,72 +11506,72 @@ msgstr "không thể lấy thông tin thống kê về mẫu “%s”"
 msgid "cannot opendir '%s'"
 msgstr "không thể opendir() “%s”"
 
-#: builtin/init-db.c:77
+#: builtin/init-db.c:78
 #, c-format
 msgid "cannot readlink '%s'"
 msgstr "không thể readlink “%s”"
 
-#: builtin/init-db.c:79
+#: builtin/init-db.c:80
 #, c-format
 msgid "cannot symlink '%s' '%s'"
 msgstr "không thể tạo liên kết mềm (symlink) “%s” “%s”"
 
-#: builtin/init-db.c:85
+#: builtin/init-db.c:86
 #, c-format
 msgid "cannot copy '%s' to '%s'"
 msgstr "không thể sao chép “%s” sang “%s”"
 
-#: builtin/init-db.c:89
+#: builtin/init-db.c:90
 #, c-format
 msgid "ignoring template %s"
 msgstr "đang lờ đi mẫu “%s”"
 
-#: builtin/init-db.c:120
+#: builtin/init-db.c:121
 #, c-format
 msgid "templates not found in %s"
 msgstr "các mẫu không được tìm thấy trong %s"
 
-#: builtin/init-db.c:135
+#: builtin/init-db.c:136
 #, c-format
 msgid "not copying templates from '%s': %s"
 msgstr "không sao chép các mẫu từ “%s”: %s"
 
-#: builtin/init-db.c:328
+#: builtin/init-db.c:329
 #, c-format
 msgid "unable to handle file type %d"
 msgstr "không thể xử lý (handle) tập tin kiểu %d"
 
-#: builtin/init-db.c:331
+#: builtin/init-db.c:332
 #, c-format
 msgid "unable to move %s to %s"
 msgstr "không di chuyển được %s vào %s"
 
-#: builtin/init-db.c:348 builtin/init-db.c:351
+#: builtin/init-db.c:349 builtin/init-db.c:352
 #, c-format
 msgid "%s already exists"
 msgstr "%s đã có từ trước rồi"
 
-#: builtin/init-db.c:404
+#: builtin/init-db.c:405
 #, c-format
 msgid "Reinitialized existing shared Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git chia sẻ sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:405
+#: builtin/init-db.c:406
 #, c-format
 msgid "Reinitialized existing Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:409
+#: builtin/init-db.c:410
 #, c-format
 msgid "Initialized empty shared Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git chia sẻ trống rỗng sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:410
+#: builtin/init-db.c:411
 #, c-format
 msgid "Initialized empty Git repository in %s%s\n"
 msgstr "Đã khởi tạo lại kho Git trống rỗng sẵn có trong %s%s\n"
 
-#: builtin/init-db.c:458
+#: builtin/init-db.c:459
 msgid ""
 "git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
 "shared[=<permissions>]] [<directory>]"
@@ -10202,20 +11579,25 @@ msgstr ""
 "git init [-q | --quiet] [--bare] [--template=<thư-mục-tạm>] [--shared[=<các-"
 "quyền>]] [thư-mục]"
 
-#: builtin/init-db.c:481
+#: builtin/init-db.c:482
 msgid "permissions"
 msgstr "các quyền"
 
-#: builtin/init-db.c:482
+#: builtin/init-db.c:483
 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:525
+#: builtin/init-db.c:517 builtin/init-db.c:522
+#, c-format
+msgid "cannot mkdir %s"
+msgstr "không thể mkdir (tạo thư mục): %s"
+
+#: builtin/init-db.c:526
 #, c-format
 msgid "cannot chdir to %s"
 msgstr "không thể chdir (chuyển đổi thư mục) sang %s"
 
-#: builtin/init-db.c:546
+#: builtin/init-db.c:547
 #, c-format
 msgid ""
 "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
@@ -10224,7 +11606,7 @@ 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:574
+#: builtin/init-db.c:575
 #, c-format
 msgid "Cannot access work tree '%s'"
 msgstr "không thể truy cập cây (tree) làm việc “%s”"
@@ -10289,120 +11671,120 @@ msgstr "--trailer cùng với --only-input không hợp lý"
 msgid "no input file given for in-place editing"
 msgstr "không đưa ra tập tin đầu vào để sửa tại-chỗ"
 
-#: builtin/log.c:48
+#: builtin/log.c:51
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<các-tùy-chọn>] [<vùng-xem-xét>] [[--] <đường-dẫn>…]"
 
-#: builtin/log.c:49
+#: builtin/log.c:52
 msgid "git show [<options>] <object>..."
 msgstr "git show [<các-tùy-chọn>] <đối-tượng>…"
 
-#: builtin/log.c:93
+#: builtin/log.c:96
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "tùy chọn--decorate không hợp lệ: %s"
 
-#: builtin/log.c:153
+#: builtin/log.c:157
 msgid "suppress diff output"
 msgstr "chặn mọi kết xuất từ diff"
 
-#: builtin/log.c:154
+#: builtin/log.c:158
 msgid "show source"
 msgstr "hiển thị mã nguồn"
 
-#: builtin/log.c:155
+#: builtin/log.c:159
 msgid "Use mail map file"
 msgstr "Sử dụng tập tin ánh xạ thư"
 
-#: builtin/log.c:157
+#: builtin/log.c:161
 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:159
+#: builtin/log.c:163
 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:160
+#: builtin/log.c:164
 msgid "decorate options"
 msgstr "các tùy chọn trang trí"
 
-#: builtin/log.c:163
+#: builtin/log.c:167
 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:259
+#: builtin/log.c:265
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Kết xuất cuối cùng: %d %s\n"
 
-#: builtin/log.c:510
+#: builtin/log.c:516
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: sai tập tin"
 
-#: builtin/log.c:525 builtin/log.c:619
+#: builtin/log.c:531 builtin/log.c:625
 #, c-format
 msgid "Could not read object %s"
 msgstr "Không thể đọc đối tượng %s"
 
-#: builtin/log.c:643
+#: builtin/log.c:649
 #, c-format
 msgid "Unknown type: %d"
 msgstr "Không nhận ra kiểu: %d"
 
-#: builtin/log.c:764
+#: builtin/log.c:770
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:865
+#: builtin/log.c:871
 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:881
+#: builtin/log.c:887
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:898
+#: builtin/log.c:904
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:908
+#: builtin/log.c:914
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:1014
+#: builtin/log.c:1020
 msgid "Cover letter needs email format"
 msgstr "“Cover letter” cần cho định dạng thư"
 
-#: builtin/log.c:1095
+#: builtin/log.c:1101
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:1122
+#: builtin/log.c:1128
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<các-tùy-chọn>] [<kể-từ> | <vùng-xem-xét>]"
 
-#: builtin/log.c:1172
+#: builtin/log.c:1178
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1279 builtin/log.c:1932 builtin/log.c:1934 builtin/log.c:1946
+#: builtin/log.c:1285 builtin/log.c:1945 builtin/log.c:1947 builtin/log.c:1959
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao %s"
 
-#: builtin/log.c:1289 builtin/notes.c:887 builtin/tag.c:523
+#: builtin/log.c:1295 builtin/notes.c:889 builtin/tag.c:524
 #, 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:1294
+#: builtin/log.c:1300
 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:1298
+#: builtin/log.c:1304
 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"
@@ -10413,227 +11795,227 @@ 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:1318
+#: builtin/log.c:1324
 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:1329
+#: builtin/log.c:1335
 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:1333
+#: builtin/log.c:1339
 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:1382
+#: builtin/log.c:1392
 msgid "cannot get patch id"
 msgstr "không thể lấy mã miếng vá"
 
-#: builtin/log.c:1441
+#: builtin/log.c:1452
 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:1444
+#: builtin/log.c:1455
 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:1448
+#: builtin/log.c:1459
 msgid "print patches to standard out"
 msgstr "hiển thị miếng vá ra đầu ra chuẩn"
 
-#: builtin/log.c:1450
+#: builtin/log.c:1461
 msgid "generate a cover letter"
 msgstr "tạo bì thư"
 
-#: builtin/log.c:1452
+#: builtin/log.c:1463
 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:1453
+#: builtin/log.c:1464
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1454
+#: builtin/log.c:1465
 msgid "use <sfx> instead of '.patch'"
 msgstr "sử dụng <sfx> thay cho “.patch”"
 
-#: builtin/log.c:1456
+#: builtin/log.c:1467
 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:1458
+#: builtin/log.c:1469
 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:1460
+#: builtin/log.c:1471
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "Dùng [RFC VÁ] thay cho [VÁ]"
 
-#: builtin/log.c:1463
+#: builtin/log.c:1474
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "Dùng [<tiền-tố>] thay cho [VÁ]"
 
-#: builtin/log.c:1466
+#: builtin/log.c:1477
 msgid "store resulting files in <dir>"
 msgstr "lưu các tập tin kết quả trong <t.mục>"
 
-#: builtin/log.c:1469
+#: builtin/log.c:1480
 msgid "don't strip/add [PATCH]"
 msgstr "không strip/add [VÁ]"
 
-#: builtin/log.c:1472
+#: builtin/log.c:1483
 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:1474
+#: builtin/log.c:1485
 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:1476
+#: builtin/log.c:1487
 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:1478
+#: builtin/log.c:1489
 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:1480
+#: builtin/log.c:1491
 msgid "Messaging"
 msgstr "Lời nhắn"
 
-#: builtin/log.c:1481
+#: builtin/log.c:1492
 msgid "header"
 msgstr "đầu đề thư"
 
-#: builtin/log.c:1482
+#: builtin/log.c:1493
 msgid "add email header"
 msgstr "thêm đầu đề thư"
 
-#: builtin/log.c:1483 builtin/log.c:1485
+#: builtin/log.c:1494 builtin/log.c:1496
 msgid "email"
 msgstr "thư điện tử"
 
-#: builtin/log.c:1483
+#: builtin/log.c:1494
 msgid "add To: header"
 msgstr "thêm To: đầu đề thư"
 
-#: builtin/log.c:1485
+#: builtin/log.c:1496
 msgid "add Cc: header"
 msgstr "thêm Cc: đầu đề thư"
 
-#: builtin/log.c:1487
+#: builtin/log.c:1498
 msgid "ident"
 msgstr "thụt lề"
 
-#: builtin/log.c:1488
+#: builtin/log.c:1499
 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:1490
+#: builtin/log.c:1501
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1491
+#: builtin/log.c:1502
 msgid "make first mail a reply to <message-id>"
 msgstr "dùng thư đầu tiên để trả lời <message-id>"
 
-#: builtin/log.c:1492 builtin/log.c:1495
+#: builtin/log.c:1503 builtin/log.c:1506
 msgid "boundary"
 msgstr "ranh giới"
 
-#: builtin/log.c:1493
+#: builtin/log.c:1504
 msgid "attach the patch"
 msgstr "đính kèm miếng vá"
 
-#: builtin/log.c:1496
+#: builtin/log.c:1507
 msgid "inline the patch"
 msgstr "dùng miếng vá làm nội dung"
 
-#: builtin/log.c:1500
+#: builtin/log.c:1511
 msgid "enable message threading, styles: shallow, deep"
 msgstr "cho phép luồng lời nhắn, kiểu: “shallow”, “deep”"
 
-#: builtin/log.c:1502
+#: builtin/log.c:1513
 msgid "signature"
 msgstr "chữ ký"
 
-#: builtin/log.c:1503
+#: builtin/log.c:1514
 msgid "add a signature"
 msgstr "thêm chữ ký"
 
-#: builtin/log.c:1504
+#: builtin/log.c:1515
 msgid "base-commit"
 msgstr "lần_chuyển_giao_nền"
 
-#: builtin/log.c:1505
+#: builtin/log.c:1516
 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:1507
+#: builtin/log.c:1518
 msgid "add a signature from a file"
 msgstr "thêm chữ ký từ một tập tin"
 
-#: builtin/log.c:1508
+#: builtin/log.c:1519
 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:1510
+#: builtin/log.c:1521
 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:1585
+#: builtin/log.c:1596
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "dòng thụt lề không hợp lệ: %s"
 
-#: builtin/log.c:1600
-msgid "-n and -k are mutually exclusive."
-msgstr "-n và  -k loại từ lẫn nhau."
+#: builtin/log.c:1611
+msgid "-n and -k are mutually exclusive"
+msgstr "-n và  -k loại từ lẫn nhau"
 
-#: builtin/log.c:1602
-msgid "--subject-prefix/--rfc and -k are mutually exclusive."
-msgstr "--subject-prefix/--rfc và -k xung khắc nhau."
+#: builtin/log.c:1613
+msgid "--subject-prefix/--rfc and -k are mutually exclusive"
+msgstr "--subject-prefix/--rfc và -k xung khắc nhau"
 
-#: builtin/log.c:1610
+#: builtin/log.c:1621
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1612
+#: builtin/log.c:1623
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1614
+#: builtin/log.c:1625
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1646
+#: builtin/log.c:1657
 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:1648
+#: builtin/log.c:1659
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục “%s”"
 
-#: builtin/log.c:1741
+#: builtin/log.c:1752
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "không thể đọc tập tin chữ ký “%s”"
 
-#: builtin/log.c:1773
+#: builtin/log.c:1785
 msgid "Generating patches"
 msgstr "Đang tạo các miếng vá"
 
-#: builtin/log.c:1817
+#: builtin/log.c:1829
 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:1867
+#: builtin/log.c:1880
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<thượng-nguồn> [<đầu> [<giới-hạn>]]]"
 
-#: builtin/log.c:1921
+#: builtin/log.c:1934
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -10641,110 +12023,110 @@ msgstr ""
 "Không tìm thấy nhánh mạng được theo dõi, hãy chỉ định <thượng-nguồn> một "
 "cách thủ công.\n"
 
-#: builtin/ls-files.c:468
+#: builtin/ls-files.c:469
 msgid "git ls-files [<options>] [<file>...]"
 msgstr "git ls-files [<các-tùy-chọn>] [<tập-tin>…]"
 
-#: builtin/ls-files.c:517
+#: builtin/ls-files.c:518
 msgid "identify the file status with tags"
 msgstr "nhận dạng các trạng thái tập tin với thẻ"
 
-#: builtin/ls-files.c:519
+#: builtin/ls-files.c:520
 msgid "use lowercase letters for 'assume unchanged' files"
 msgstr ""
 "dùng chữ cái viết thường cho các tập tin “assume unchanged” (giả định không "
 "thay đổi)"
 
-#: builtin/ls-files.c:521
+#: builtin/ls-files.c:522
 msgid "use lowercase letters for 'fsmonitor clean' files"
 msgstr "dùng chữ cái viết thường cho các tập tin “fsmonitor clean”"
 
-#: builtin/ls-files.c:523
+#: builtin/ls-files.c:524
 msgid "show cached files in the output (default)"
 msgstr "hiển thị các tập tin được nhớ tạm vào đầu ra (mặc định)"
 
-#: builtin/ls-files.c:525
+#: builtin/ls-files.c:526
 msgid "show deleted files in the output"
 msgstr "hiển thị các tập tin đã xóa trong kết xuất"
 
-#: builtin/ls-files.c:527
+#: builtin/ls-files.c:528
 msgid "show modified files in the output"
 msgstr "hiển thị các tập tin đã bị sửa đổi ra kết xuất"
 
-#: builtin/ls-files.c:529
+#: builtin/ls-files.c:530
 msgid "show other files in the output"
 msgstr "hiển thị các tập tin khác trong kết xuất"
 
-#: builtin/ls-files.c:531
+#: builtin/ls-files.c:532
 msgid "show ignored files in the output"
 msgstr "hiển thị các tập tin bị bỏ qua trong kết xuất"
 
-#: builtin/ls-files.c:534
+#: builtin/ls-files.c:535
 msgid "show staged contents' object name in the output"
 msgstr "hiển thị tên đối tượng của nội dung được đặt lên bệ phóng ra kết xuất"
 
-#: builtin/ls-files.c:536
+#: builtin/ls-files.c:537
 msgid "show files on the filesystem that need to be removed"
 msgstr "hiển thị các tập tin trên hệ thống tập tin mà nó cần được gỡ bỏ"
 
-#: builtin/ls-files.c:538
+#: builtin/ls-files.c:539
 msgid "show 'other' directories' names only"
 msgstr "chỉ hiển thị tên của các thư mục “khác”"
 
-#: builtin/ls-files.c:540
+#: builtin/ls-files.c:541
 msgid "show line endings of files"
 msgstr "hiển thị kết thúc dòng của các tập tin"
 
-#: builtin/ls-files.c:542
+#: builtin/ls-files.c:543
 msgid "don't show empty directories"
 msgstr "không hiển thị thư mục rỗng"
 
-#: builtin/ls-files.c:545
+#: builtin/ls-files.c:546
 msgid "show unmerged files in the output"
 msgstr "hiển thị các tập tin chưa hòa trộn trong kết xuất"
 
-#: builtin/ls-files.c:547
+#: builtin/ls-files.c:548
 msgid "show resolve-undo information"
 msgstr "hiển thị thông tin resolve-undo"
 
-#: builtin/ls-files.c:549
+#: builtin/ls-files.c:550
 msgid "skip files matching pattern"
 msgstr "bỏ qua những tập tin khớp với một mẫu"
 
-#: builtin/ls-files.c:552
+#: builtin/ls-files.c:553
 msgid "exclude patterns are read from <file>"
 msgstr "mẫu loại trừ được đọc từ <tập tin>"
 
-#: builtin/ls-files.c:555
+#: builtin/ls-files.c:556
 msgid "read additional per-directory exclude patterns in <file>"
 msgstr "đọc thêm các mẫu ngoại trừ mỗi thư mục trong <tập tin>"
 
-#: builtin/ls-files.c:557
+#: builtin/ls-files.c:558
 msgid "add the standard git exclusions"
 msgstr "thêm loại trừ tiêu chuẩn kiểu git"
 
-#: builtin/ls-files.c:560
+#: builtin/ls-files.c:561
 msgid "make the output relative to the project top directory"
 msgstr "làm cho kết xuất liên quan đến thư mục ở mức cao nhất (gốc) của dự án"
 
-#: builtin/ls-files.c:563
+#: builtin/ls-files.c:564
 msgid "recurse through submodules"
 msgstr "đệ quy xuyên qua mô-đun con"
 
-#: builtin/ls-files.c:565
+#: builtin/ls-files.c:566
 msgid "if any <file> is not in the index, treat this as an error"
 msgstr "nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi"
 
-#: builtin/ls-files.c:566
+#: builtin/ls-files.c:567
 msgid "tree-ish"
 msgstr "tree-ish"
 
-#: builtin/ls-files.c:567
+#: builtin/ls-files.c:568
 msgid "pretend that paths removed since <tree-ish> are still present"
 msgstr ""
 "giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện"
 
-#: builtin/ls-files.c:569
+#: builtin/ls-files.c:570
 msgid "show debugging data"
 msgstr "hiển thị dữ liệu gỡ lỗi"
 
@@ -10794,39 +12176,39 @@ msgstr "thoát với mã là 2 nếu không tìm thấy tham chiếu nào khớp
 msgid "show underlying ref in addition to the object pointed by it"
 msgstr "hiển thị tham chiếu nằm dưới để thêm vào đối tượng được chỉ bởi nó"
 
-#: builtin/ls-tree.c:29
+#: 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>…]"
 
-#: builtin/ls-tree.c:127
+#: builtin/ls-tree.c:128
 msgid "only show trees"
 msgstr "chỉ hiển thị các tree"
 
-#: builtin/ls-tree.c:129
+#: builtin/ls-tree.c:130
 msgid "recurse into subtrees"
 msgstr "đệ quy vào các thư mục con"
 
-#: builtin/ls-tree.c:131
+#: builtin/ls-tree.c:132
 msgid "show trees when recursing"
 msgstr "hiển thị cây khi đệ quy"
 
-#: builtin/ls-tree.c:134
+#: builtin/ls-tree.c:135
 msgid "terminate entries with NUL byte"
 msgstr "chấm dứt mục tin với byte NUL"
 
-#: builtin/ls-tree.c:135
+#: builtin/ls-tree.c:136
 msgid "include object size"
 msgstr "gồm cả kích thước đối tượng"
 
-#: builtin/ls-tree.c:137 builtin/ls-tree.c:139
+#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
 msgid "list only filenames"
 msgstr "chỉ liệt kê tên tập tin"
 
-#: builtin/ls-tree.c:142
+#: builtin/ls-tree.c:143
 msgid "use full path names"
 msgstr "dùng tên đường dẫn đầy đủ"
 
-#: builtin/ls-tree.c:144
+#: builtin/ls-tree.c:145
 msgid "list entire tree; not just current directory (implies --full-name)"
 msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
 
@@ -10851,168 +12233,168 @@ msgstr "git merge --continue"
 msgid "switch `m' requires a value"
 msgstr "switch “m” yêu cầu một giá trị"
 
-#: builtin/merge.c:147
+#: builtin/merge.c:176
 #, 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:148
+#: builtin/merge.c:177
 #, c-format
 msgid "Available strategies are:"
 msgstr "Các chiến lược sẵn sàng là:"
 
-#: builtin/merge.c:153
+#: builtin/merge.c:182
 #, 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:203 builtin/pull.c:142
+#: builtin/merge.c:232 builtin/pull.c:142
 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:206 builtin/pull.c:145
+#: builtin/merge.c:235 builtin/pull.c:145
 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:207 builtin/pull.c:148
+#: builtin/merge.c:236 builtin/pull.c:148
 msgid "(synonym to --stat)"
 msgstr "(đồng nghĩa với --stat)"
 
-#: builtin/merge.c:209 builtin/pull.c:151
+#: builtin/merge.c:238 builtin/pull.c:151
 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:212 builtin/pull.c:157
+#: builtin/merge.c:241 builtin/pull.c:157
 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:214 builtin/pull.c:160
+#: builtin/merge.c:243 builtin/pull.c:160
 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:216 builtin/pull.c:163
+#: builtin/merge.c:245 builtin/pull.c:163
 msgid "edit message before committing"
 msgstr "sửa chú thích trước khi chuyển giao"
 
-#: builtin/merge.c:217
+#: builtin/merge.c:246
 msgid "allow fast-forward (default)"
 msgstr "cho phép chuyển-tiếp-nhanh (mặc định)"
 
-#: builtin/merge.c:219 builtin/pull.c:169
+#: builtin/merge.c:248 builtin/pull.c:169
 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:223 builtin/pull.c:172
+#: builtin/merge.c:252 builtin/pull.c:172
 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:224 builtin/notes.c:777 builtin/pull.c:176
-#: builtin/revert.c:109
+#: builtin/merge.c:253 builtin/notes.c:779 builtin/pull.c:176
+#: builtin/revert.c:110
 msgid "strategy"
 msgstr "chiến lược"
 
-#: builtin/merge.c:225 builtin/pull.c:177
+#: builtin/merge.c:254 builtin/pull.c:177
 msgid "merge strategy to use"
 msgstr "chiến lược hòa trộn sẽ dùng"
 
-#: builtin/merge.c:226 builtin/pull.c:180
+#: builtin/merge.c:255 builtin/pull.c:180
 msgid "option=value"
 msgstr "tùy_chọn=giá_trị"
 
-#: builtin/merge.c:227 builtin/pull.c:181
+#: builtin/merge.c:256 builtin/pull.c:181
 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:229
+#: builtin/merge.c:258
 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:233
+#: builtin/merge.c:265
 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:235
+#: builtin/merge.c:267
 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:237 builtin/pull.c:188
+#: builtin/merge.c:269 builtin/pull.c:188
 msgid "allow merging unrelated histories"
 msgstr "cho phép hòa trộn lịch sử không liên quan"
 
-#: builtin/merge.c:243
+#: builtin/merge.c:275
 msgid "verify commit-msg hook"
 msgstr "thẩm tra móc (hook) commit-msg"
 
-#: builtin/merge.c:268
+#: builtin/merge.c:300
 msgid "could not run stash."
 msgstr "không thể chạy stash."
 
-#: builtin/merge.c:273
+#: builtin/merge.c:305
 msgid "stash failed"
 msgstr "lệnh tạm cất gặp lỗi"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:310
 #, 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:300 builtin/merge.c:317
+#: builtin/merge.c:332 builtin/merge.c:349
 msgid "read-tree failed"
 msgstr "read-tree gặp lỗi"
 
-#: builtin/merge.c:347
+#: builtin/merge.c:379
 msgid " (nothing to squash)"
 msgstr " (không có gì để squash)"
 
-#: builtin/merge.c:358
+#: builtin/merge.c:390
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Squash commit -- không cập nhật HEAD\n"
 
-#: builtin/merge.c:408
+#: builtin/merge.c:440
 #, 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:458
+#: builtin/merge.c:491
 #, 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:548
+#: builtin/merge.c:578
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Chuỗi branch.%s.mergeoptions sai: %s"
 
-#: builtin/merge.c:669
+#: builtin/merge.c:699
 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:683
+#: builtin/merge.c:713
 #, 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:698
+#: builtin/merge.c:728
 #, c-format
 msgid "unable to write %s"
 msgstr "không thể ghi %s"
 
-#: builtin/merge.c:749
+#: builtin/merge.c:779
 #, c-format
 msgid "Could not read from '%s'"
 msgstr "Không thể đọc từ “%s”"
 
-#: builtin/merge.c:758
+#: builtin/merge.c:788
 #, 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:764
+#: builtin/merge.c:794
 #, c-format
 msgid ""
 "Please enter a commit message to explain why this merge is necessary,\n"
@@ -11030,71 +12412,71 @@ msgstr ""
 "rỗng\n"
 "sẽ hủy bỏ lần chuyển giao.\n"
 
-#: builtin/merge.c:800
+#: builtin/merge.c:830
 msgid "Empty commit message."
 msgstr "Chú thích của lần commit (chuyển giao) bị trống rỗng."
 
-#: builtin/merge.c:819
+#: builtin/merge.c:849
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Tuyệt vời.\n"
 
-#: builtin/merge.c:872
+#: builtin/merge.c:902
 #, 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:911
+#: builtin/merge.c:941
 msgid "No current branch."
 msgstr "không phải nhánh hiện hành"
 
-#: builtin/merge.c:913
+#: builtin/merge.c:943
 msgid "No remote for the current branch."
 msgstr "Không có máy chủ cho nhánh hiện hành."
 
-#: builtin/merge.c:915
+#: builtin/merge.c:945
 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:920
+#: builtin/merge.c:950
 #, 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:973
+#: builtin/merge.c:1007
 #, 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:1075
+#: builtin/merge.c:1110
 #, 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:1109
+#: builtin/merge.c:1144
 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:1211
+#: builtin/merge.c:1247
 msgid "--abort expects no arguments"
 msgstr "--abort không nhận các đối số"
 
-#: builtin/merge.c:1215
+#: builtin/merge.c:1251
 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:1227
+#: builtin/merge.c:1263
 msgid "--continue expects no arguments"
 msgstr "--continue không nhận đối số"
 
-#: builtin/merge.c:1231
+#: builtin/merge.c:1267
 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:1247
+#: builtin/merge.c:1283
 msgid ""
 "You have not concluded your merge (MERGE_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -11102,7 +12484,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:1254
+#: builtin/merge.c:1290
 msgid ""
 "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
 "Please, commit your changes before you merge."
@@ -11110,158 +12492,158 @@ 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:1257
+#: builtin/merge.c:1293
 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:1266
+#: builtin/merge.c:1302
 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:1274
+#: builtin/merge.c:1310
 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:1291
+#: builtin/merge.c:1327
 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:1293
+#: builtin/merge.c:1329
 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:1298
+#: builtin/merge.c:1334
 #, 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:1300
+#: builtin/merge.c:1336
 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:1334
+#: builtin/merge.c:1370
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Lần chuyển giao %s có một chữ ký GPG không đáng tin, được cho là bởi %s."
 
-#: builtin/merge.c:1337
+#: builtin/merge.c:1373
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Lần chuyển giao %s có một chữ ký GPG sai, được cho là bởi %s."
 
-#: builtin/merge.c:1340
+#: builtin/merge.c:1376
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Lần chuyển giao %s không có chữ ký GPG."
 
-#: builtin/merge.c:1343
+#: builtin/merge.c:1379
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Lần chuyển giao %s có một chữ ký GPG tốt bởi %s\n"
 
-#: builtin/merge.c:1402
+#: builtin/merge.c:1438
 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:1411
+#: builtin/merge.c:1447
 msgid "Already up to date."
 msgstr "Đã cập nhật rồi."
 
-#: builtin/merge.c:1421
+#: builtin/merge.c:1457
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Đang cập nhật %s..%s\n"
 
-#: builtin/merge.c:1462
+#: builtin/merge.c:1498
 #, 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:1469
+#: builtin/merge.c:1505
 #, c-format
 msgid "Nope.\n"
 msgstr "Không.\n"
 
-#: builtin/merge.c:1494
+#: builtin/merge.c:1530
 msgid "Already up to date. Yeeah!"
 msgstr "Đã cập nhật rồi. Yeeah!"
 
-#: builtin/merge.c:1500
+#: builtin/merge.c:1536
 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:1523 builtin/merge.c:1602
+#: builtin/merge.c:1559 builtin/merge.c:1638
 #, 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:1527
+#: builtin/merge.c:1563
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Đang thử chiến lược hòa trộn %s…\n"
 
-#: builtin/merge.c:1593
+#: builtin/merge.c:1629
 #, 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:1595
+#: builtin/merge.c:1631
 #, 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:1604
+#: builtin/merge.c:1640
 #, 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:1616
+#: builtin/merge.c:1652
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
 "Hòa trộn tự động đã trở nên tốt; bị dừng trước khi việc chuyển giao được yêu "
 "cầu\n"
 
-#: builtin/merge-base.c:30
+#: builtin/merge-base.c:31
 msgid "git merge-base [-a | --all] <commit> <commit>..."
 msgstr "git merge-base [-a | --all] <lần_chuyển_giao> <lần_chuyển_giao>…"
 
-#: builtin/merge-base.c:31
+#: builtin/merge-base.c:32
 msgid "git merge-base [-a | --all] --octopus <commit>..."
 msgstr "git merge-base [-a | --all] --octopus <lần_chuyển_giao>…"
 
-#: builtin/merge-base.c:32
+#: builtin/merge-base.c:33
 msgid "git merge-base --independent <commit>..."
 msgstr "git merge-base --independent <lần_chuyển_giao>…"
 
-#: builtin/merge-base.c:33
+#: builtin/merge-base.c:34
 msgid "git merge-base --is-ancestor <commit> <commit>"
 msgstr "git merge-base --is-ancestor <commit> <lần_chuyển_giao>"
 
-#: builtin/merge-base.c:34
+#: builtin/merge-base.c:35
 msgid "git merge-base --fork-point <ref> [<commit>]"
 msgstr "git merge-base --fork-point <tham-chiếu> [<lần_chuyển_giao>]"
 
-#: builtin/merge-base.c:220
+#: builtin/merge-base.c:221
 msgid "output all common ancestors"
 msgstr "xuất ra tất cả các ông bà, tổ tiên chung"
 
-#: builtin/merge-base.c:222
+#: builtin/merge-base.c:223
 msgid "find ancestors for a single n-way merge"
 msgstr "tìm tổ tiên của hòa trộn n-way đơn"
 
-#: builtin/merge-base.c:224
+#: builtin/merge-base.c:225
 msgid "list revs not reachable from others"
 msgstr "liệt kê các “rev” mà nó không thể đọc được từ cái khác"
 
-#: builtin/merge-base.c:226
+#: builtin/merge-base.c:227
 msgid "is the first one ancestor of the other?"
 msgstr "là cha mẹ đầu tiên của cái khác?"
 
-#: builtin/merge-base.c:228
+#: builtin/merge-base.c:229
 msgid "find where <commit> forked from reflog of <ref>"
 msgstr "tìm xem <commit> được rẽ nhánh ở đâu từ reflog của <th.chiếu>"
 
@@ -11335,19 +12717,19 @@ msgstr "không thể phân giải tham chiếu %s"
 msgid "Merging %s with %s\n"
 msgstr "Đang hòa trộn %s với %s\n"
 
-#: builtin/mktree.c:65
+#: builtin/mktree.c:66
 msgid "git mktree [-z] [--missing] [--batch]"
 msgstr "git mktree [-z] [--missing] [--batch]"
 
-#: builtin/mktree.c:153
+#: builtin/mktree.c:154
 msgid "input is NUL terminated"
 msgstr "đầu vào được chấm dứt bởi NUL"
 
-#: builtin/mktree.c:154 builtin/write-tree.c:25
+#: builtin/mktree.c:155 builtin/write-tree.c:25
 msgid "allow missing objects"
 msgstr "cho phép thiếu đối tượng"
 
-#: builtin/mktree.c:155
+#: builtin/mktree.c:156
 msgid "allow creation of more than one tree"
 msgstr "cho phép tạo nhiều hơn một cây"
 
@@ -11360,7 +12742,7 @@ msgstr "git mv [<các-tùy-chọn>] <nguồn>… <đích>"
 msgid "Directory %s is in index and no submodule?"
 msgstr "Thư mục “%s” có ở trong chỉ mục mà không có mô-đun con?"
 
-#: builtin/mv.c:84 builtin/rm.c:288
+#: builtin/mv.c:84
 msgid "Please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
@@ -11439,61 +12821,61 @@ 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:276 builtin/remote.c:715 builtin/repack.c:409
+#: builtin/mv.c:276 builtin/remote.c:716 builtin/repack.c:494
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "gặp lỗi khi đổi tên “%s”"
 
-#: builtin/name-rev.c:338
+#: builtin/name-rev.c:355
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<các-tùy-chọn>] <commit>…"
 
-#: builtin/name-rev.c:339
+#: builtin/name-rev.c:356
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<các-tùy-chọn>] --all"
 
-#: builtin/name-rev.c:340
+#: builtin/name-rev.c:357
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<các-tùy-chọn>] --stdin"
 
-#: builtin/name-rev.c:395
+#: builtin/name-rev.c:413
 msgid "print only names (no SHA-1)"
 msgstr "chỉ hiển thị tên (không SHA-1)"
 
-#: builtin/name-rev.c:396
+#: builtin/name-rev.c:414
 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:398
+#: builtin/name-rev.c:416
 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:400
+#: builtin/name-rev.c:418
 msgid "ignore refs matching <pattern>"
 msgstr "bỏ qua các tham chiếu khớp với <mẫu>"
 
-#: builtin/name-rev.c:402
+#: builtin/name-rev.c:420
 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:403
+#: builtin/name-rev.c:421
 msgid "read from stdin"
 msgstr "đọc từ đầu vào tiêu chuẩn"
 
-#: builtin/name-rev.c:404
+#: builtin/name-rev.c:422
 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:410
+#: builtin/name-rev.c:428
 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ộ)"
 
-#: builtin/notes.c:26
+#: builtin/notes.c:28
 msgid "git notes [--ref <notes-ref>] [list [<object>]]"
 msgstr "git notes [--ref <notes-ref>] [list [<đối-tượng>]]"
 
-#: builtin/notes.c:27
+#: builtin/notes.c:29
 msgid ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
 "| (-c | -C) <object>] [<object>]"
@@ -11501,11 +12883,11 @@ msgstr ""
 "git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <lời-nhắn> | -F "
 "<tập-tin> | (-c | -C) <đối-tượng>] [<đối-tượng>]"
 
-#: builtin/notes.c:28
+#: builtin/notes.c:30
 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
 msgstr "git notes [--ref <notes-ref>] copy [-f] <từ-đối-tượng> <đến-đối-tượng>"
 
-#: builtin/notes.c:29
+#: builtin/notes.c:31
 msgid ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
 "(-c | -C) <object>] [<object>]"
@@ -11513,157 +12895,157 @@ msgstr ""
 "git notes [--ref <notes-ref>] append [--allow-empty] [-m <lời-nhắn> | -F "
 "<tập-tin> | (-c | -C) <đối-tượng>] [<đối-tượng>]"
 
-#: builtin/notes.c:30
+#: builtin/notes.c:32
 msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
 msgstr "git notes [--ref <notes-ref>] edit [--allow-empty] [<đối-tượng>]"
 
-#: builtin/notes.c:31
+#: builtin/notes.c:33
 msgid "git notes [--ref <notes-ref>] show [<object>]"
 msgstr "git notes [--ref <notes-ref>] show [<đối-tượng>]"
 
-#: builtin/notes.c:32
+#: builtin/notes.c:34
 msgid ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
 msgstr ""
 "git notes [--ref <notes-ref>] merge [-v | -q] [-s <chiến-lược> ] <notes-ref>"
 
-#: builtin/notes.c:33
+#: builtin/notes.c:35
 msgid "git notes merge --commit [-v | -q]"
 msgstr "git notes merge --commit [-v | -q]"
 
-#: builtin/notes.c:34
+#: builtin/notes.c:36
 msgid "git notes merge --abort [-v | -q]"
 msgstr "git notes merge --abort [-v | -q]"
 
-#: builtin/notes.c:35
+#: builtin/notes.c:37
 msgid "git notes [--ref <notes-ref>] remove [<object>...]"
 msgstr "git notes [--ref <notes-ref>] remove [<đối-tượng>…]"
 
-#: builtin/notes.c:36
+#: builtin/notes.c:38
 msgid "git notes [--ref <notes-ref>] prune [-n] [-v]"
 msgstr "git notes [--ref <notes-ref>] prune [-n] [-v]"
 
-#: builtin/notes.c:37
+#: builtin/notes.c:39
 msgid "git notes [--ref <notes-ref>] get-ref"
 msgstr "git notes [--ref <notes-ref>] get-ref"
 
-#: builtin/notes.c:42
+#: builtin/notes.c:44
 msgid "git notes [list [<object>]]"
 msgstr "git notes [list [<đối tượng>]]"
 
-#: builtin/notes.c:47
+#: builtin/notes.c:49
 msgid "git notes add [<options>] [<object>]"
 msgstr "git notes add [<các-tùy-chọn>] [<đối-tượng>]"
 
-#: builtin/notes.c:52
+#: 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>"
 
-#: builtin/notes.c:53
+#: builtin/notes.c:55
 msgid "git notes copy --stdin [<from-object> <to-object>]..."
 msgstr "git notes copy --stdin [<từ-đối-tượng> <đến-đối-tượng>]…"
 
-#: builtin/notes.c:58
+#: builtin/notes.c:60
 msgid "git notes append [<options>] [<object>]"
 msgstr "git notes append [<các-tùy-chọn>] [<đối-tượng>]"
 
-#: builtin/notes.c:63
+#: builtin/notes.c:65
 msgid "git notes edit [<object>]"
 msgstr "git notes edit [<đối tượng>]"
 
-#: builtin/notes.c:68
+#: builtin/notes.c:70
 msgid "git notes show [<object>]"
 msgstr "git notes show [<đối tượng>]"
 
-#: builtin/notes.c:73
+#: builtin/notes.c:75
 msgid "git notes merge [<options>] <notes-ref>"
 msgstr "git notes merge [<các-tùy-chọn>] <notes-ref>"
 
-#: builtin/notes.c:74
+#: builtin/notes.c:76
 msgid "git notes merge --commit [<options>]"
 msgstr "git notes merge --commit [<các-tùy-chọn>]"
 
-#: builtin/notes.c:75
+#: builtin/notes.c:77
 msgid "git notes merge --abort [<options>]"
 msgstr "git notes merge --abort [<các-tùy-chọn>]"
 
-#: builtin/notes.c:80
+#: builtin/notes.c:82
 msgid "git notes remove [<object>]"
 msgstr "git notes remove [<đối tượng>]"
 
-#: builtin/notes.c:85
+#: builtin/notes.c:87
 msgid "git notes prune [<options>]"
 msgstr "git notes prune [<các-tùy-chọn>]"
 
-#: builtin/notes.c:90
+#: builtin/notes.c:92
 msgid "git notes get-ref"
 msgstr "git notes get-ref"
 
-#: builtin/notes.c:95
+#: builtin/notes.c:97
 msgid "Write/edit the notes for the following object:"
 msgstr "Ghi hay sửa ghi chú cho đối tượng sau đây:"
 
-#: builtin/notes.c:148
+#: builtin/notes.c:150
 #, c-format
 msgid "unable to start 'show' for object '%s'"
 msgstr "không thể khởi chạy “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:152
+#: builtin/notes.c:154
 msgid "could not read 'show' output"
 msgstr "không thể đọc kết xuất “show”"
 
-#: builtin/notes.c:160
+#: builtin/notes.c:162
 #, c-format
 msgid "failed to finish 'show' for object '%s'"
 msgstr "gặp lỗi khi hoàn thành “show” cho đối tượng “%s”"
 
-#: builtin/notes.c:195
+#: builtin/notes.c:197
 msgid "please supply the note contents using either -m or -F option"
 msgstr ""
 "xin hãy áp dụng nội dung của ghi chú sử dụng hoặc là tùy chọn -m hoặc là -F"
 
-#: builtin/notes.c:204
+#: builtin/notes.c:206
 msgid "unable to write note object"
 msgstr "không thể ghi đối tượng ghi chú (note)"
 
-#: builtin/notes.c:206
+#: builtin/notes.c:208
 #, c-format
 msgid "the note contents have been left in %s"
 msgstr "nội dung ghi chú còn lại %s"
 
-#: builtin/notes.c:234 builtin/tag.c:507
+#: builtin/notes.c:236 builtin/tag.c:508
 #, c-format
 msgid "cannot read '%s'"
 msgstr "không thể đọc “%s”"
 
-#: builtin/notes.c:236 builtin/tag.c:510
+#: builtin/notes.c:238 builtin/tag.c:511
 #, c-format
 msgid "could not open or read '%s'"
 msgstr "không thể mở hay đọc “%s”"
 
-#: builtin/notes.c:255 builtin/notes.c:306 builtin/notes.c:308
-#: builtin/notes.c:376 builtin/notes.c:431 builtin/notes.c:517
-#: builtin/notes.c:522 builtin/notes.c:600 builtin/notes.c:662
+#: builtin/notes.c:257 builtin/notes.c:308 builtin/notes.c:310
+#: builtin/notes.c:378 builtin/notes.c:433 builtin/notes.c:519
+#: builtin/notes.c:524 builtin/notes.c:602 builtin/notes.c:664
 #, 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/notes.c:258
+#: builtin/notes.c:260
 #, c-format
 msgid "failed to read object '%s'."
 msgstr "gặp lỗi khi đọc đối tượng “%s”."
 
-#: builtin/notes.c:262
+#: builtin/notes.c:264
 #, c-format
 msgid "cannot read note data from non-blob object '%s'."
 msgstr "không thể đọc dữ liệu ghi chú từ đối tượng không-blob “%s”."
 
-#: builtin/notes.c:302
+#: builtin/notes.c:304
 #, c-format
 msgid "malformed input line: '%s'."
 msgstr "dòng đầu vào dị hình: “%s”."
 
-#: builtin/notes.c:317
+#: builtin/notes.c:319
 #, c-format
 msgid "failed to copy notes from '%s' to '%s'"
 msgstr "gặp lỗi khi sao chép ghi chú (note) từ “%s” sang “%s”"
@@ -11671,47 +13053,47 @@ msgstr "gặp lỗi khi sao chép ghi chú (note) từ “%s” sang “%s”"
 #. TRANSLATORS: the first %s will be replaced by a git
 #. notes command: 'add', 'merge', 'remove', etc.
 #.
-#: builtin/notes.c:349
+#: builtin/notes.c:351
 #, c-format
 msgid "refusing to %s notes in %s (outside of refs/notes/)"
 msgstr "từ chối %s ghi chú trong %s (nằm ngoài refs/notes/)"
 
-#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:500
-#: builtin/notes.c:512 builtin/notes.c:588 builtin/notes.c:655
-#: builtin/notes.c:805 builtin/notes.c:952 builtin/notes.c:973
+#: builtin/notes.c:371 builtin/notes.c:426 builtin/notes.c:502
+#: builtin/notes.c:514 builtin/notes.c:590 builtin/notes.c:657
+#: builtin/notes.c:807 builtin/notes.c:954 builtin/notes.c:975
 msgid "too many parameters"
 msgstr "quá nhiều đối số"
 
-#: builtin/notes.c:382 builtin/notes.c:668
+#: builtin/notes.c:384 builtin/notes.c:670
 #, c-format
 msgid "no note found for object %s."
 msgstr "không tìm thấy ghi chú cho đối tượng %s."
 
-#: builtin/notes.c:403 builtin/notes.c:566
+#: builtin/notes.c:405 builtin/notes.c:568
 msgid "note contents as a string"
 msgstr "nội dung ghi chú (note) nằm trong một chuỗi"
 
-#: builtin/notes.c:406 builtin/notes.c:569
+#: builtin/notes.c:408 builtin/notes.c:571
 msgid "note contents in a file"
 msgstr "nội dung ghi chú (note) nằm trong một tập tin"
 
-#: builtin/notes.c:409 builtin/notes.c:572
+#: builtin/notes.c:411 builtin/notes.c:574
 msgid "reuse and edit specified note object"
 msgstr "dùng lại nhưng có sửa chữa đối tượng note đã chỉ ra"
 
-#: builtin/notes.c:412 builtin/notes.c:575
+#: builtin/notes.c:414 builtin/notes.c:577
 msgid "reuse specified note object"
 msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
 
-#: builtin/notes.c:415 builtin/notes.c:578
+#: builtin/notes.c:417 builtin/notes.c:580
 msgid "allow storing empty note"
 msgstr "cho lưu trữ ghi chú trống rỗng"
 
-#: builtin/notes.c:416 builtin/notes.c:487
+#: builtin/notes.c:418 builtin/notes.c:489
 msgid "replace existing notes"
 msgstr "thay thế ghi chú trước"
 
-#: builtin/notes.c:441
+#: builtin/notes.c:443
 #, c-format
 msgid ""
 "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -11720,29 +13102,29 @@ msgstr ""
 "Không thể thêm các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối tượng "
 "%s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:456 builtin/notes.c:535
+#: builtin/notes.c:458 builtin/notes.c:537
 #, c-format
 msgid "Overwriting existing notes for object %s\n"
 msgstr "Đang ghi đè lên ghi chú cũ cho đối tượng %s\n"
 
-#: builtin/notes.c:467 builtin/notes.c:627 builtin/notes.c:892
+#: builtin/notes.c:469 builtin/notes.c:629 builtin/notes.c:894
 #, c-format
 msgid "Removing note for object %s\n"
 msgstr "Đang gỡ bỏ ghi chú (note) cho đối tượng %s\n"
 
-#: builtin/notes.c:488
+#: builtin/notes.c:490
 msgid "read objects from stdin"
 msgstr "đọc các đối tượng từ đầu vào tiêu chuẩn"
 
-#: builtin/notes.c:490
+#: builtin/notes.c:492
 msgid "load rewriting config for <command> (implies --stdin)"
 msgstr "tải cấu hình chép lại cho <lệnh> (ngầm định là --stdin)"
 
-#: builtin/notes.c:508
+#: builtin/notes.c:510
 msgid "too few parameters"
 msgstr "quá ít đối số"
 
-#: builtin/notes.c:529
+#: builtin/notes.c:531
 #, c-format
 msgid ""
 "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -11751,12 +13133,12 @@ msgstr ""
 "Không thể sao chép các ghi chú. Đã tìm thấy các ghi chú đã có sẵn cho đối "
 "tượng %s. Sử dụng tùy chọn “-f” để ghi đè lên các ghi chú cũ"
 
-#: builtin/notes.c:541
+#: builtin/notes.c:543
 #, c-format
 msgid "missing notes on source object %s. Cannot copy."
 msgstr "thiếu ghi chú trên đối tượng nguồn %s. Không thể sao chép."
 
-#: builtin/notes.c:593
+#: builtin/notes.c:595
 #, c-format
 msgid ""
 "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -11765,52 +13147,52 @@ msgstr ""
 "Các tùy chọn -m/-F/-c/-C đã cổ không còn dùng nữa cho lệnh con “edit”.\n"
 "Xin hãy sử dụng lệnh sau để thay thế: “git notes add -f -m/-F/-c/-C”.\n"
 
-#: builtin/notes.c:688
+#: builtin/notes.c:690
 msgid "failed to delete ref NOTES_MERGE_PARTIAL"
 msgstr "gặp lỗi khi xóa tham chiếu NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:690
+#: builtin/notes.c:692
 msgid "failed to delete ref NOTES_MERGE_REF"
 msgstr "gặp lỗi khi xóa tham chiếu NOTES_MERGE_REF"
 
-#: builtin/notes.c:692
+#: builtin/notes.c:694
 msgid "failed to remove 'git notes merge' worktree"
 msgstr "gặp lỗi khi gỡ bỏ cây làm việc “git notes merge”"
 
-#: builtin/notes.c:712
+#: builtin/notes.c:714
 msgid "failed to read ref NOTES_MERGE_PARTIAL"
 msgstr "gặp lỗi khi đọc tham chiếu NOTES_MERGE_PARTIAL"
 
-#: builtin/notes.c:714
+#: builtin/notes.c:716
 msgid "could not find commit from NOTES_MERGE_PARTIAL."
 msgstr "không thể tìm thấy lần chuyển giao từ NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:716
+#: builtin/notes.c:718
 msgid "could not parse commit from NOTES_MERGE_PARTIAL."
 msgstr "không thể phân tích cú pháp lần chuyển giao từ NOTES_MERGE_PARTIAL."
 
-#: builtin/notes.c:729
+#: builtin/notes.c:731
 msgid "failed to resolve NOTES_MERGE_REF"
 msgstr "gặp lỗi khi phân giải NOTES_MERGE_REF"
 
-#: builtin/notes.c:732
+#: builtin/notes.c:734
 msgid "failed to finalize notes merge"
 msgstr "gặp lỗi khi hoàn thành hòa trộn ghi chú"
 
-#: builtin/notes.c:758
+#: builtin/notes.c:760
 #, c-format
 msgid "unknown notes merge strategy %s"
 msgstr "không hiểu chiến lược hòa trộn ghi chú %s"
 
-#: builtin/notes.c:774
+#: builtin/notes.c:776
 msgid "General options"
 msgstr "Tùy chọn chung"
 
-#: builtin/notes.c:776
+#: builtin/notes.c:778
 msgid "Merge options"
 msgstr "Tùy chọn về hòa trộn"
 
-#: builtin/notes.c:778
+#: builtin/notes.c:780
 msgid ""
 "resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
 "cat_sort_uniq)"
@@ -11818,48 +13200,48 @@ msgstr ""
 "phân giải các xung đột “notes” sử dụng chiến lược đã đưa ra (manual/ours/"
 "theirs/union/cat_sort_uniq)"
 
-#: builtin/notes.c:780
+#: builtin/notes.c:782
 msgid "Committing unmerged notes"
 msgstr "Chuyển giao các note chưa được hòa trộn"
 
-#: builtin/notes.c:782
+#: builtin/notes.c:784
 msgid "finalize notes merge by committing unmerged notes"
 msgstr ""
 "các note cuối cùng được hòa trộn bởi các note chưa hòa trộn của lần chuyển "
 "giao"
 
-#: builtin/notes.c:784
+#: builtin/notes.c:786
 msgid "Aborting notes merge resolution"
 msgstr "Hủy bỏ phân giải ghi chú (note) hòa trộn"
 
-#: builtin/notes.c:786
+#: builtin/notes.c:788
 msgid "abort notes merge"
 msgstr "bỏ qua hòa trộn các ghi chú (note)"
 
-#: builtin/notes.c:797
+#: builtin/notes.c:799
 msgid "cannot mix --commit, --abort or -s/--strategy"
 msgstr "không thể trộn lẫn --commit, --abort hay -s/--strategy"
 
-#: builtin/notes.c:802
+#: builtin/notes.c:804
 msgid "must specify a notes ref to merge"
 msgstr "bạn phải chỉ định tham chiếu ghi chú để hòa trộn"
 
-#: builtin/notes.c:826
+#: builtin/notes.c:828
 #, c-format
 msgid "unknown -s/--strategy: %s"
 msgstr "không hiểu -s/--strategy: %s"
 
-#: builtin/notes.c:863
+#: builtin/notes.c:865
 #, c-format
 msgid "a notes merge into %s is already in-progress at %s"
 msgstr "một ghi chú hòa trộn vào %s đã sẵn trong quá trình xử lý tại %s"
 
-#: builtin/notes.c:866
+#: builtin/notes.c:868
 #, c-format
 msgid "failed to store link to current notes ref (%s)"
 msgstr "gặp lỗi khi lưu liên kết đến tham chiếu ghi chú hiện tại (%s)"
 
-#: builtin/notes.c:868
+#: builtin/notes.c:870
 #, c-format
 msgid ""
 "Automatic notes merge failed. Fix conflicts in %s and commit the result with "
@@ -11870,36 +13252,36 @@ msgstr ""
 "chuyển giao kết quả bằng “git notes merge --commit”, hoặc bãi bỏ việc hòa "
 "trộn bằng “git notes merge --abort”.\n"
 
-#: builtin/notes.c:890
+#: builtin/notes.c:892
 #, c-format
 msgid "Object %s has no note\n"
 msgstr "Đối tượng %s không có ghi chú (note)\n"
 
-#: builtin/notes.c:902
+#: builtin/notes.c:904
 msgid "attempt to remove non-existent note is not an error"
 msgstr "cố gắng gỡ bỏ một note chưa từng tồn tại không phải là một lỗi"
 
-#: builtin/notes.c:905
+#: builtin/notes.c:907
 msgid "read object names from the standard input"
 msgstr "đọc tên đối tượng từ thiết bị nhập chuẩn"
 
-#: builtin/notes.c:943 builtin/prune.c:107 builtin/worktree.c:151
+#: builtin/notes.c:945 builtin/prune.c:108 builtin/worktree.c:152
 msgid "do not remove, show only"
 msgstr "không gỡ bỏ, chỉ hiển thị"
 
-#: builtin/notes.c:944
+#: builtin/notes.c:946
 msgid "report pruned notes"
 msgstr "báo cáo các đối tượng đã prune"
 
-#: builtin/notes.c:986
+#: builtin/notes.c:988
 msgid "notes-ref"
 msgstr "notes-ref"
 
-#: builtin/notes.c:987
+#: builtin/notes.c:989
 msgid "use notes from <notes-ref>"
 msgstr "dùng “notes” từ <notes-ref>"
 
-#: builtin/notes.c:1022
+#: builtin/notes.c:1024
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "không hiểu câu lệnh con: %s"
@@ -11918,218 +13300,371 @@ msgstr ""
 "git pack-objects [các-tùy-chọn…] <base-name> [< <danh-sách-ref> | < <danh-"
 "sách-đối-tượng>]"
 
-#: builtin/pack-objects.c:211 builtin/pack-objects.c:214
+#: builtin/pack-objects.c:414
 #, c-format
-msgid "deflate error (%d)"
-msgstr "lỗi giải nén (%d)"
+msgid "bad packed object CRC for %s"
+msgstr "CRC của đối tượng gói sai với %s"
+
+#: builtin/pack-objects.c:425
+#, c-format
+msgid "corrupt packed object for %s"
+msgstr "đối tượng đã đóng gói sai hỏng cho %s"
+
+#: builtin/pack-objects.c:556
+#, c-format
+msgid "recursive delta detected for object %s"
+msgstr "dò thấy delta đệ quy cho đối tượng %s"
+
+#: builtin/pack-objects.c:756
+#, c-format
+msgid "ordered %u objects, expected %<PRIu32>"
+msgstr "đã sắp xếp %u đối tượng, cần %<PRIu32>"
+
+#: builtin/pack-objects.c:769
+#, c-format
+msgid "packfile is invalid: %s"
+msgstr "tập tin gói không hợp lệ: %s"
+
+#: builtin/pack-objects.c:773
+#, 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:810
+#: builtin/pack-objects.c:777
+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:788
+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:816
 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:823
+#: builtin/pack-objects.c:829
 msgid "Writing objects"
 msgstr "Đang ghi lại các đối tượng"
 
-#: builtin/pack-objects.c:1106
+#: builtin/pack-objects.c:891 builtin/update-index.c:88
+#, 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:944
+#, c-format
+msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
+msgstr "đã ghi %<PRIu32> đối tượng trong khi cần %<PRIu32>"
+
+#: builtin/pack-objects.c:1112
 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:1765
+#: builtin/pack-objects.c:1489
+#, 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:1498
+#, 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:1771
 msgid "Counting objects"
 msgstr "Đang đếm các đối tượng"
 
-#: builtin/pack-objects.c:1895
+#: builtin/pack-objects.c:1913
 #, 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:1910
+#: builtin/pack-objects.c:1928
 #, 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:2564
+#: builtin/pack-objects.c:1995 builtin/pack-objects.c:2011
+#: builtin/pack-objects.c:2021
+#, c-format
+msgid "object %s cannot be read"
+msgstr "không thể đọc đối tượng %s"
+
+#: builtin/pack-objects.c:1998 builtin/pack-objects.c:2025
+#, c-format
+msgid "object %s inconsistent object length (%lu vs %lu)"
+msgstr "đối tượng %s mâu thuẫn chiều dài đối tượng (%lu so với %lu)"
+
+#: builtin/pack-objects.c:2035
+msgid "suboptimal pack - out of memory"
+msgstr "suboptimal pack - hết bộ nhớ"
+
+#: builtin/pack-objects.c:2366
+#, 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:2502
+#, 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:2586
 msgid "Compressing objects"
 msgstr "Đang nén các đối tượng"
 
-#: builtin/pack-objects.c:2735
+#: builtin/pack-objects.c:2592
+msgid "inconsistency with delta count"
+msgstr "mâu thuẫn với số lượng delta"
+
+#: builtin/pack-objects.c:2671
+#, c-format
+msgid ""
+"expected edge object ID, got garbage:\n"
+" %s"
+msgstr ""
+"cần ID đối tượng cạnh, nhận được rác:\n"
+" %s"
+
+#: builtin/pack-objects.c:2677
+#, c-format
+msgid ""
+"expected object ID, got garbage:\n"
+" %s"
+msgstr ""
+"cần ID đối tượng, nhận được rác:\n"
+" %s"
+
+#: builtin/pack-objects.c:2757
 msgid "invalid value for --missing"
 msgstr "giá trị cho --missing không hợp lệ"
 
-#: builtin/pack-objects.c:3067
+#: builtin/pack-objects.c:2816 builtin/pack-objects.c:2924
+msgid "cannot open pack index"
+msgstr "không thể mở mục lục của gói"
+
+#: builtin/pack-objects.c:2847
+#, 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:2932
+msgid "unable to force loose object"
+msgstr "không thể buộc mất đối tượng"
+
+#: builtin/pack-objects.c:3019
+#, c-format
+msgid "not a rev '%s'"
+msgstr "không phải một rev “%s”"
+
+#: builtin/pack-objects.c:3022
+#, c-format
+msgid "bad revision '%s'"
+msgstr "điểm xem xét sai “%s”"
+
+#: builtin/pack-objects.c:3042
+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:3092
 #, 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:3071
+#: builtin/pack-objects.c:3096
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai “%s”"
 
-#: builtin/pack-objects.c:3102
+#: builtin/pack-objects.c:3127
 msgid "do not show progress meter"
 msgstr "không hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:3104
+#: builtin/pack-objects.c:3129
 msgid "show progress meter"
 msgstr "hiển thị bộ đo tiến trình"
 
-#: builtin/pack-objects.c:3106
+#: builtin/pack-objects.c:3131
 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:3109
+#: builtin/pack-objects.c:3134
 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:3110
-msgid "version[,offset]"
-msgstr "phiên bản[,offset]"
+#: builtin/pack-objects.c:3135
+msgid "<version>[,<offset>]"
+msgstr "<phiên bản>[,offset]"
 
-#: builtin/pack-objects.c:3111
+#: builtin/pack-objects.c:3136
 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:3114
+#: builtin/pack-objects.c:3139
 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:3116
+#: builtin/pack-objects.c:3141
 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:3118
+#: builtin/pack-objects.c:3143
 msgid "ignore packed objects"
 msgstr "bỏ qua các đối tượng đóng gói"
 
-#: builtin/pack-objects.c:3120
+#: builtin/pack-objects.c:3145
 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:3122
+#: builtin/pack-objects.c:3147
 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:3124
+#: builtin/pack-objects.c:3149
 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:3126
+#: builtin/pack-objects.c:3151
 msgid "reuse existing deltas"
 msgstr "dùng lại các delta sẵn có"
 
-#: builtin/pack-objects.c:3128
+#: builtin/pack-objects.c:3153
 msgid "reuse existing objects"
 msgstr "dùng lại các đối tượng sẵn có"
 
-#: builtin/pack-objects.c:3130
+#: builtin/pack-objects.c:3155
 msgid "use OFS_DELTA objects"
 msgstr "dùng các đối tượng OFS_DELTA"
 
-#: builtin/pack-objects.c:3132
+#: builtin/pack-objects.c:3157
 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:3134
+#: builtin/pack-objects.c:3159
 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:3136
+#: builtin/pack-objects.c:3161
 msgid "read revision arguments from standard input"
 msgstr " đọc tham số “revision” từ thiết bị nhập chuẩn"
 
-#: builtin/pack-objects.c:3138
+#: builtin/pack-objects.c:3163
 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:3141
+#: builtin/pack-objects.c:3166
 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:3144
+#: builtin/pack-objects.c:3169
 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:3147
+#: builtin/pack-objects.c:3172
 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:3150
+#: builtin/pack-objects.c:3175
 msgid "output pack to stdout"
 msgstr "xuất gói ra đầu ra tiêu chuẩn"
 
-#: builtin/pack-objects.c:3152
+#: builtin/pack-objects.c:3177
 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:3154
+#: builtin/pack-objects.c:3179
 msgid "keep unreachable objects"
 msgstr "giữ lại các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3156
+#: builtin/pack-objects.c:3181
 msgid "pack loose unreachable objects"
 msgstr "pack mất các đối tượng không thể đọc được"
 
-#: builtin/pack-objects.c:3158
+#: builtin/pack-objects.c:3183
 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:3161
+#: builtin/pack-objects.c:3186
 msgid "create thin packs"
 msgstr "tạo gói nhẹ"
 
-#: builtin/pack-objects.c:3163
+#: builtin/pack-objects.c:3188
 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:3165
+#: builtin/pack-objects.c:3190
 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:3167
+#: builtin/pack-objects.c:3192
 msgid "ignore this pack"
 msgstr "bỏ qua gói này"
 
-#: builtin/pack-objects.c:3169
+#: builtin/pack-objects.c:3194
 msgid "pack compression level"
 msgstr "mức nén gói"
 
-#: builtin/pack-objects.c:3171
+#: builtin/pack-objects.c:3196
 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:3173
+#: builtin/pack-objects.c:3198
 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:3175
+#: builtin/pack-objects.c:3200
 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:3178
+#: builtin/pack-objects.c:3203
 msgid "handling for missing objects"
 msgstr "xử lý cho thiếu đối tượng"
 
-#: builtin/pack-objects.c:3181
+#: builtin/pack-objects.c:3206
 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:3205
+#: builtin/pack-objects.c:3230
 #, 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:3210
+#: builtin/pack-objects.c:3235
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit là quá cao, ép dùng %d"
 
-#: builtin/pack-objects.c:3338
+#: builtin/pack-objects.c:3291
+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:3293
+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:3298
+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:3301
+msgid "--keep-unreachable and --unpack-unreachable are incompatible"
+msgstr "--keep-unreachable và --unpack-unreachable xung khắc nhau"
+
+#: builtin/pack-objects.c:3307
+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:3363
 msgid "Enumerating objects"
 msgstr "Đánh số các đối tượng"
 
+#: builtin/pack-objects.c:3382
+#, 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:7
 msgid "git pack-refs [<options>]"
 msgstr "git pack-refs [<các-tùy-chọn>]"
@@ -12142,31 +13677,31 @@ msgstr "đóng gói mọi thứ"
 msgid "prune loose refs (default)"
 msgstr "prune (cắt cụt) những tham chiếu bị mất (mặc định)"
 
-#: builtin/prune-packed.c:8
+#: builtin/prune-packed.c:9
 msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
 msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
 
-#: builtin/prune-packed.c:41
+#: builtin/prune-packed.c:42
 msgid "Removing duplicate objects"
 msgstr "Đang gỡ các đối tượng trùng lặp"
 
-#: builtin/prune.c:11
+#: builtin/prune.c:12
 msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
 msgstr "git prune [-n] [-v] [--progress] [--expire <thời-gian>] [--] [<head>…]"
 
-#: builtin/prune.c:108
+#: builtin/prune.c:109
 msgid "report pruned objects"
 msgstr "báo cáo các đối tượng đã prune"
 
-#: builtin/prune.c:111
+#: builtin/prune.c:112
 msgid "expire objects older than <time>"
 msgstr "các đối tượng hết hạn cũ hơn khoảng <thời gian>"
 
-#: builtin/prune.c:113
+#: builtin/prune.c:114
 msgid "limit traversal to objects outside promisor packfiles"
 msgstr "giới hạn giao đến các đối tượng nằm ngoài các tập tin gói hứa hẹn"
 
-#: builtin/prune.c:127
+#: builtin/prune.c:128
 msgid "cannot prune in a precious-objects repo"
 msgstr "không thể tỉa bớt trong một kho đối_tượng_vĩ_đại"
 
@@ -12191,7 +13726,7 @@ msgstr "Các tùy chọn liên quan đến hòa trộn"
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "các thay đổi hợp nhất bằng cải tổ thay vì hòa trộn"
 
-#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:121
+#: builtin/pull.c:166 builtin/rebase--helper.c:23 builtin/revert.c:122
 msgid "allow fast-forward"
 msgstr "cho phép chuyển-tiếp-nhanh"
 
@@ -12269,7 +13804,7 @@ msgstr "Xem git-pull(1) để biết thêm chi tiết."
 msgid "<remote>"
 msgstr "<máy chủ>"
 
-#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:523
+#: builtin/pull.c:438 builtin/pull.c:453 builtin/pull.c:458 git-rebase.sh:576
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<nhánh>"
@@ -12293,29 +13828,29 @@ 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:826
+#: builtin/pull.c:829
 msgid "ignoring --verify-signatures for rebase"
 msgstr "bỏ qua --verify-signatures khi rebase"
 
-#: builtin/pull.c:874
+#: builtin/pull.c:877
 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:882
+#: builtin/pull.c:885
 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:885
+#: builtin/pull.c:888
 msgid "pull with rebase"
 msgstr "pull với rebase"
 
-#: builtin/pull.c:886
+#: builtin/pull.c:889
 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:911
+#: builtin/pull.c:914
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -12326,7 +13861,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:916
+#: builtin/pull.c:919
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -12344,15 +13879,15 @@ msgstr ""
 "$ git reset --hard\n"
 "để khôi phục lại."
 
-#: builtin/pull.c:931
+#: builtin/pull.c:934
 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:935
+#: builtin/pull.c:938
 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:942
+#: builtin/pull.c:945
 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ộ"
@@ -12575,8 +14110,8 @@ msgid "force updates"
 msgstr "ép buộc cập nhật"
 
 #: builtin/push.c:561 builtin/send-pack.c:181
-msgid "refname>:<expect"
-msgstr "tên-tham-chiếu>:<cần"
+msgid "<refname>:<expect>"
+msgstr "<tên-tham-chiếu>:<cần>"
 
 #: builtin/push.c:562 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
@@ -12651,6 +14186,40 @@ msgstr "--all và --mirror xung khắc nhau"
 msgid "push options must not have new line characters"
 msgstr "các tùy chọn push phải không có ký tự dòng mới"
 
+#: builtin/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>"
+
+#: 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>"
+
+#: 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>"
+
+#: builtin/range-diff.c:26
+msgid "Percentage by which creation is weighted"
+msgstr "Tỷ lệ phần trăm cái tạo là weighted"
+
+#: builtin/range-diff.c:28
+msgid "use simple diff colors"
+msgstr "dùng màu diff đơn giản"
+
+#: builtin/range-diff.c:75 builtin/range-diff.c:79
+#, c-format
+msgid "no .. in range: '%s'"
+msgstr "không có .. trong vùng: “%s”"
+
+#: builtin/range-diff.c:89
+msgid "single arg format must be symmetric range"
+msgstr "định dạng đối số đơn phải là một vùng đối xứng"
+
+#: builtin/range-diff.c:104
+msgid "need two commit ranges"
+msgstr "cần hai vùng lần chuyển giao"
+
 #: builtin/read-tree.c:40
 msgid ""
 "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
@@ -12735,7 +14304,7 @@ msgstr "git rebase--helper [<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--helper.c:26 builtin/revert.c:123
+#: builtin/rebase--helper.c:26 builtin/revert.c:124
 msgid "allow commits with empty messages"
 msgstr "chấp nhận chuyển giao mà không ghi chú gì"
 
@@ -12787,11 +14356,11 @@ msgstr "chèn các lệnh thực thi trong danh sách cần làm"
 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/receive-pack.c:31
+#: builtin/receive-pack.c:32
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <thư-mục-git>"
 
-#: builtin/receive-pack.c:842
+#: builtin/receive-pack.c:830
 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"
@@ -12821,7 +14390,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:862
+#: builtin/receive-pack.c:850
 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"
@@ -12842,24 +14411,24 @@ 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:1935
+#: builtin/receive-pack.c:1923
 msgid "quiet"
 msgstr "im lặng"
 
-#: builtin/receive-pack.c:1949
+#: builtin/receive-pack.c:1937
 msgid "You must specify a directory."
 msgstr "Bạn phải chỉ định thư mục."
 
-#: builtin/reflog.c:532 builtin/reflog.c:537
+#: builtin/reflog.c:536 builtin/reflog.c:541
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "“%s” không phải là dấu thời gian hợp lệ"
 
-#: builtin/remote.c:14
+#: builtin/remote.c:15
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:15
+#: builtin/remote.c:16
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -12867,82 +14436,82 @@ msgstr ""
 "git remote add [-t <nhánh>] [-m <master>] [-f] [--tags|--no-tags] [--"
 "mirror=<fetch|push>] <tên> <url>"
 
-#: builtin/remote.c:16 builtin/remote.c:36
+#: builtin/remote.c:17 builtin/remote.c:37
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <tên-cũ> <tên-mới>"
 
-#: builtin/remote.c:17 builtin/remote.c:41
+#: builtin/remote.c:18 builtin/remote.c:42
 msgid "git remote remove <name>"
 msgstr "git remote remove <tên>"
 
-#: builtin/remote.c:18 builtin/remote.c:46
+#: builtin/remote.c:19 builtin/remote.c:47
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)"
 
-#: builtin/remote.c:19
+#: builtin/remote.c:20
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <tên>"
 
-#: builtin/remote.c:20
+#: builtin/remote.c:21
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <tên>"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<nhóm> | <máy-chủ>)…]"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <tên> <nhánh>…"
 
-#: builtin/remote.c:23 builtin/remote.c:72
+#: builtin/remote.c:24 builtin/remote.c:73
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote set-url [--push] [--all] <tên>"
 
-#: builtin/remote.c:24 builtin/remote.c:77
+#: builtin/remote.c:25 builtin/remote.c:78
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <tên> <url-mới> [<url-cũ>]"
 
-#: builtin/remote.c:25 builtin/remote.c:78
+#: builtin/remote.c:26 builtin/remote.c:79
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <tên> <url-mới>"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <tên> <url>"
 
-#: builtin/remote.c:31
+#: builtin/remote.c:32
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<các-tùy-chọn>] <tên> <url>"
 
-#: builtin/remote.c:51
+#: builtin/remote.c:52
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <tên> <nhánh>…"
 
-#: builtin/remote.c:52
+#: builtin/remote.c:53
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <tên> <nhánh>…"
 
-#: builtin/remote.c:57
+#: builtin/remote.c:58
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<các-tùy-chọn>] <tên>"
 
-#: builtin/remote.c:62
+#: builtin/remote.c:63
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<các-tùy-chọn>] <tên>"
 
-#: builtin/remote.c:67
+#: builtin/remote.c:68
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<các-tùy-chọn>] [<nhóm> | <máy-chủ>]…"
 
-#: builtin/remote.c:96
+#: builtin/remote.c:97
 #, c-format
 msgid "Updating %s"
 msgstr "Đang cập nhật %s"
 
-#: builtin/remote.c:128
+#: builtin/remote.c:129
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -12950,86 +14519,82 @@ msgstr ""
 "--mirror nguy hiểm và không dùng nữa; xin hãy\n"
 "\t sử dụng tùy chọn --mirror=fetch hoặc --mirror=push để thay thế"
 
-#: builtin/remote.c:145
+#: builtin/remote.c:146
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "không hiểu tham số máy bản sao (mirror): %s"
 
-#: builtin/remote.c:161
+#: builtin/remote.c:162
 msgid "fetch the remote branches"
 msgstr "lấy về các nhánh từ máy chủ"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "import all tags and associated objects when fetching"
 msgstr "nhập vào tất cả các đối tượng thẻ và thành phần liên quan khi lấy về"
 
-#: builtin/remote.c:166
+#: builtin/remote.c:167
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "hoặc không lấy về bất kỳ thẻ nào (--no-tags)"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "branch(es) to track"
 msgstr "các nhánh để theo dõi"
 
-#: builtin/remote.c:169
+#: builtin/remote.c:170
 msgid "master branch"
 msgstr "nhánh master"
 
-#: builtin/remote.c:170
-msgid "push|fetch"
-msgstr "push|fetch"
-
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr "đặt máy chủ (remote) như là một máy bản sao để push hay fetch từ đó"
 
-#: builtin/remote.c:183
+#: builtin/remote.c:184
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "đang chỉ định một nhánh master không hợp lý với tùy chọn --mirror"
 
-#: builtin/remote.c:185
+#: builtin/remote.c:186
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr "chỉ định những nhánh để theo dõi chỉ hợp lý với các “fetch mirror”"
 
-#: builtin/remote.c:192 builtin/remote.c:634
+#: builtin/remote.c:193 builtin/remote.c:635
 #, c-format
 msgid "remote %s already exists."
 msgstr "máy chủ %s đã tồn tại rồi."
 
-#: builtin/remote.c:196 builtin/remote.c:638
+#: builtin/remote.c:197 builtin/remote.c:639
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "“%s” không phải tên máy chủ hợp lệ"
 
-#: builtin/remote.c:236
+#: builtin/remote.c:237
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Không thể cài đặt nhánh master “%s”"
 
-#: builtin/remote.c:342
+#: builtin/remote.c:343
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "Không thể lấy ánh xạ (map) fetch cho đặc tả tham chiếu %s"
 
-#: builtin/remote.c:441 builtin/remote.c:449
+#: builtin/remote.c:442 builtin/remote.c:450
 msgid "(matching)"
 msgstr "(khớp)"
 
-#: builtin/remote.c:453
+#: builtin/remote.c:454
 msgid "(delete)"
 msgstr "(xóa)"
 
-#: builtin/remote.c:627 builtin/remote.c:762 builtin/remote.c:861
+#: builtin/remote.c:628 builtin/remote.c:764 builtin/remote.c:863
 #, c-format
 msgid "No such remote: %s"
 msgstr "Không có máy chủ nào như thế: %s"
 
-#: builtin/remote.c:644
+#: builtin/remote.c:645
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Không thể đổi tên phần của cấu hình từ “%s” thành “%s”"
 
-#: builtin/remote.c:664
+#: builtin/remote.c:665
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -13040,17 +14605,17 @@ msgstr ""
 "\t%s\n"
 "\tXin hãy cập nhật phần cấu hình một cách thủ công nếu thấy cần thiết."
 
-#: builtin/remote.c:700
+#: builtin/remote.c:701
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/remote.c:734
+#: builtin/remote.c:735
 #, c-format
 msgid "creating '%s' failed"
 msgstr "gặp lỗi khi tạo “%s”"
 
-#: builtin/remote.c:799
+#: builtin/remote.c:801
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -13062,119 +14627,119 @@ msgstr[0] ""
 "đi;\n"
 "để xóa đi, sử dụng:"
 
-#: builtin/remote.c:813
+#: builtin/remote.c:815
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Không thể gỡ bỏ phần cấu hình “%s”"
 
-#: builtin/remote.c:914
+#: builtin/remote.c:916
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " mới (lần lấy về tiếp theo sẽ lưu trong remotes/%s)"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:919
 msgid " tracked"
 msgstr " được theo dõi"
 
-#: builtin/remote.c:919
+#: builtin/remote.c:921
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " cũ rích (dùng “git remote prune” để gỡ bỏ)"
 
-#: builtin/remote.c:921
+#: builtin/remote.c:923
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:962
+#: builtin/remote.c:964
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "branch.%s.merge không hợp lệ; không thể cải tổ về phía > 1 nhánh"
 
-#: builtin/remote.c:971
+#: builtin/remote.c:973
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "thực hiện rebase một cách tương tác trên máy chủ %s"
 
-#: builtin/remote.c:973
+#: builtin/remote.c:975
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr ""
 "thực hiện cải tổ (với các hòa trộn) một cách tương tác lên trên máy chủ %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:978
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "thực hiện rebase trên máy chủ %s"
 
-#: builtin/remote.c:980
+#: builtin/remote.c:982
 #, c-format
 msgid " merges with remote %s"
 msgstr " hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:985
 #, c-format
 msgid "merges with remote %s"
 msgstr "hòa trộn với máy chủ %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:988
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    và với máy chủ %s\n"
 
-#: builtin/remote.c:1029
+#: builtin/remote.c:1031
 msgid "create"
 msgstr "tạo"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1034
 msgid "delete"
 msgstr "xóa"
 
-#: builtin/remote.c:1036
+#: builtin/remote.c:1038
 msgid "up to date"
 msgstr "đã cập nhật"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1041
 msgid "fast-forwardable"
 msgstr "có-thể-chuyển-tiếp-nhanh"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1044
 msgid "local out of date"
 msgstr "dữ liệu nội bộ đã cũ"
 
-#: builtin/remote.c:1049
+#: builtin/remote.c:1051
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s ép buộc thành %-*s (%s)"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1054
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s đẩy lên thành %-*s (%s)"
 
-#: builtin/remote.c:1056
+#: builtin/remote.c:1058
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s ép buộc thành %s"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1061
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s đẩy lên thành %s"
 
-#: builtin/remote.c:1127
+#: builtin/remote.c:1129
 msgid "do not query remotes"
 msgstr "không truy vấn các máy chủ"
 
-#: builtin/remote.c:1154
+#: builtin/remote.c:1156
 #, c-format
 msgid "* remote %s"
 msgstr "* máy chủ %s"
 
-#: builtin/remote.c:1155
+#: builtin/remote.c:1157
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL để lấy về: %s"
 
-#: builtin/remote.c:1156 builtin/remote.c:1172 builtin/remote.c:1311
+#: builtin/remote.c:1158 builtin/remote.c:1174 builtin/remote.c:1313
 msgid "(no URL)"
 msgstr "(không có URL)"
 
@@ -13182,190 +14747,190 @@ msgstr "(không có URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1170 builtin/remote.c:1172
+#: builtin/remote.c:1172 builtin/remote.c:1174
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL để đẩy lên: %s"
 
-#: builtin/remote.c:1174 builtin/remote.c:1176 builtin/remote.c:1178
+#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Nhánh HEAD: %s"
 
-#: builtin/remote.c:1174
+#: builtin/remote.c:1176
 msgid "(not queried)"
 msgstr "(không yêu cầu)"
 
-#: builtin/remote.c:1176
+#: builtin/remote.c:1178
 msgid "(unknown)"
 msgstr "(không hiểu)"
 
-#: builtin/remote.c:1180
+#: builtin/remote.c:1182
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
 msgstr "  nhánh HEAD (HEAD máy chủ chưa rõ ràng, có lẽ là một trong số sau):\n"
 
-#: builtin/remote.c:1192
+#: builtin/remote.c:1194
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Những nhánh trên máy chủ:%s"
 
-#: builtin/remote.c:1195 builtin/remote.c:1221
+#: builtin/remote.c:1197 builtin/remote.c:1223
 msgid " (status not queried)"
 msgstr " (trạng thái không được yêu cầu)"
 
-#: builtin/remote.c:1204
+#: builtin/remote.c:1206
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Những nhánh nội bộ đã được cấu hình cho lệnh “git pull”:"
 
-#: builtin/remote.c:1212
+#: builtin/remote.c:1214
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  refs nội bộ sẽ được phản chiếu bởi lệnh “git push”"
 
-#: builtin/remote.c:1218
+#: builtin/remote.c:1220
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Những tham chiếu nội bộ được cấu hình cho lệnh “git push”%s:"
 
-#: builtin/remote.c:1239
+#: builtin/remote.c:1241
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
 
-#: builtin/remote.c:1241
+#: builtin/remote.c:1243
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "xóa refs/remotes/<tên>/HEAD"
 
-#: builtin/remote.c:1256
+#: builtin/remote.c:1258
 msgid "Cannot determine remote HEAD"
 msgstr "Không thể xác định được HEAD máy chủ"
 
-#: builtin/remote.c:1258
+#: builtin/remote.c:1260
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr "Nhiều nhánh HEAD máy chủ. Hãy chọn rõ ràng một:"
 
-#: builtin/remote.c:1268
+#: builtin/remote.c:1270
 #, c-format
 msgid "Could not delete %s"
 msgstr "Không thể xóa bỏ %s"
 
-#: builtin/remote.c:1276
+#: builtin/remote.c:1278
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Không phải là tham chiếu hợp lệ: %s"
 
-#: builtin/remote.c:1278
+#: builtin/remote.c:1280
 #, c-format
 msgid "Could not setup %s"
 msgstr "Không thể cài đặt %s"
 
-#: builtin/remote.c:1296
+#: builtin/remote.c:1298
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s sẽ trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1297
+#: builtin/remote.c:1299
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s đã trở thành không đầu (không được quản lý)!"
 
-#: builtin/remote.c:1307
+#: builtin/remote.c:1309
 #, c-format
 msgid "Pruning %s"
 msgstr "Đang xén bớt %s"
 
-#: builtin/remote.c:1308
+#: builtin/remote.c:1310
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1324
+#: builtin/remote.c:1326
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [nên xén bớt] %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1329
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [đã bị xén] %s"
 
-#: builtin/remote.c:1372
+#: builtin/remote.c:1374
 msgid "prune remotes after fetching"
 msgstr "cắt máy chủ sau khi lấy về"
 
-#: builtin/remote.c:1435 builtin/remote.c:1489 builtin/remote.c:1557
+#: builtin/remote.c:1437 builtin/remote.c:1491 builtin/remote.c:1559
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Không có máy chủ nào có tên “%s”"
 
-#: builtin/remote.c:1451
+#: builtin/remote.c:1453
 msgid "add branch"
 msgstr "thêm nhánh"
 
-#: builtin/remote.c:1458
+#: builtin/remote.c:1460
 msgid "no remote specified"
 msgstr "chưa chỉ ra máy chủ nào"
 
-#: builtin/remote.c:1475
+#: builtin/remote.c:1477
 msgid "query push URLs rather than fetch URLs"
 msgstr "truy vấn đẩy URL thay vì lấy"
 
-#: builtin/remote.c:1477
+#: builtin/remote.c:1479
 msgid "return all URLs"
 msgstr "trả về mọi URL"
 
-#: builtin/remote.c:1505
+#: builtin/remote.c:1507
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "không có URL nào được cấu hình cho nhánh “%s”"
 
-#: builtin/remote.c:1531
+#: builtin/remote.c:1533
 msgid "manipulate push URLs"
 msgstr "đẩy các “URL” bằng tay"
 
-#: builtin/remote.c:1533
+#: builtin/remote.c:1535
 msgid "add URL"
 msgstr "thêm URL"
 
-#: builtin/remote.c:1535
+#: builtin/remote.c:1537
 msgid "delete URLs"
 msgstr "xóa URLs"
 
-#: builtin/remote.c:1542
+#: builtin/remote.c:1544
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete không hợp lý"
 
-#: builtin/remote.c:1581
+#: builtin/remote.c:1583
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Kiểu mẫu URL cũ không hợp lệ: %s"
 
-#: builtin/remote.c:1589
+#: builtin/remote.c:1591
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Không tìm thấy URL như vậy: %s"
 
-#: builtin/remote.c:1591
+#: builtin/remote.c:1593
 msgid "Will not delete all non-push URLs"
 msgstr "Sẽ không xóa những địa chỉ URL không-push"
 
-#: builtin/remote.c:1607
+#: builtin/remote.c:1609
 msgid "be verbose; must be placed before a subcommand"
 msgstr "chi tiết; phải được đặt trước một lệnh-con"
 
-#: builtin/remote.c:1638
+#: builtin/remote.c:1640
 #, c-format
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/repack.c:18
+#: builtin/repack.c:20
 msgid "git repack [<options>]"
 msgstr "git repack [<các-tùy-chọn>]"
 
-#: builtin/repack.c:23
+#: builtin/repack.c:25
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -13373,91 +14938,91 @@ 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:180
+#: builtin/repack.c:287
 msgid "pack everything in a single pack"
 msgstr "đóng gói mọi thứ trong một gói đơn"
 
-#: builtin/repack.c:182
+#: builtin/repack.c:289
 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:185
+#: builtin/repack.c:292
 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:187
+#: builtin/repack.c:294
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "chuyển --no-reuse-delta cho git-pack-objects"
 
-#: builtin/repack.c:189
+#: builtin/repack.c:296
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "chuyển --no-reuse-object cho git-pack-objects"
 
-#: builtin/repack.c:191
+#: builtin/repack.c:298
 msgid "do not run git-update-server-info"
 msgstr "không chạy git-update-server-info"
 
-#: builtin/repack.c:194
+#: builtin/repack.c:301
 msgid "pass --local to git-pack-objects"
 msgstr "chuyển --local cho git-pack-objects"
 
-#: builtin/repack.c:196
+#: builtin/repack.c:303
 msgid "write bitmap index"
 msgstr "ghi mục lục ánh xạ"
 
-#: builtin/repack.c:197
+#: builtin/repack.c:304
 msgid "approxidate"
 msgstr "ngày ước tính"
 
-#: builtin/repack.c:198
+#: builtin/repack.c:305
 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:200
+#: builtin/repack.c:307
 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:202
+#: builtin/repack.c:309
 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:203 builtin/repack.c:209
+#: builtin/repack.c:310 builtin/repack.c:316
 msgid "bytes"
 msgstr "byte"
 
-#: builtin/repack.c:204
+#: builtin/repack.c:311
 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:206
+#: builtin/repack.c:313
 msgid "limits the maximum delta depth"
 msgstr "giới hạn độ sâu tối đa của “delta”"
 
-#: builtin/repack.c:208
+#: builtin/repack.c:315
 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:210
+#: builtin/repack.c:317
 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:212
+#: builtin/repack.c:319
 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:214
+#: builtin/repack.c:321
 msgid "do not repack this pack"
 msgstr "đừng đóng gói lại gói này"
 
-#: builtin/repack.c:224
+#: builtin/repack.c:331
 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:228
+#: builtin/repack.c:335
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable và -A xung khắc nhau"
 
-#: builtin/repack.c:425 builtin/worktree.c:139
+#: builtin/repack.c:510 builtin/worktree.c:140
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "gặp lỗi khi gỡ bỏ “%s”"
@@ -13486,10 +15051,109 @@ msgstr "git replace -d <đối tượng>…"
 msgid "git replace [--format=<format>] [-l [<pattern>]]"
 msgstr "git replace [--format=<định_dạng>] [-l [<mẫu>]]"
 
-#: builtin/replace.c:371 builtin/replace.c:415 builtin/replace.c:445
+#: builtin/replace.c:57 builtin/replace.c:203 builtin/replace.c:206
+#, 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/replace.c:86
+#, c-format
+msgid ""
+"invalid replace format '%s'\n"
+"valid formats are 'short', 'medium' and 'long'"
+msgstr ""
+"định dạng thay thế không hợp lệ “%s”\n"
+"định dạng hợp lệ là “short”, “medium” và “long”"
+
+#: builtin/replace.c:121
+#, c-format
+msgid "replace ref '%s' not found"
+msgstr "không tìm thấy tham chiếu thay thế “%s”"
+
+#: builtin/replace.c:137
+#, c-format
+msgid "Deleted replace ref '%s'"
+msgstr "Đã xóa tham chiếu thay thế “%s”"
+
+#: builtin/replace.c:149
+#, c-format
+msgid "'%s' is not a valid ref name"
+msgstr "“%s” không phải tên tham chiếu hợp lệ"
+
+#: builtin/replace.c:154
+#, c-format
+msgid "replace ref '%s' already exists"
+msgstr "tham chiếu thay thế “%s” đã tồn tại rồi"
+
+#: builtin/replace.c:174
+#, c-format
+msgid ""
+"Objects must be of the same type.\n"
+"'%s' points to a replaced object of type '%s'\n"
+"while '%s' points to a replacement object of type '%s'."
+msgstr ""
+"Các đối tượng phải cùng kiểu.\n"
+"“%s” chỉ đến đối tượng thay thế của kiểu “%s”\n"
+"trong khi “%s” chỉ đến đối tượng tham chiếu của kiểu “%s”."
+
+#: builtin/replace.c:225
+#, c-format
+msgid "unable to open %s for writing"
+msgstr "không thể mở “%s” để ghi"
+
+#: builtin/replace.c:238
+msgid "cat-file reported failure"
+msgstr "cat-file đã báo cáo gặp lỗi nghiêm trọng"
+
+#: builtin/replace.c:254
+#, c-format
+msgid "unable to open %s for reading"
+msgstr "không thể mở “%s” để đọc"
+
+#: builtin/replace.c:268
+msgid "unable to spawn mktree"
+msgstr "không thể spawn mktree"
+
+#: builtin/replace.c:272
+msgid "unable to read from mktree"
+msgstr "không thể đọc từ mktree"
+
+#: builtin/replace.c:281
+msgid "mktree reported failure"
+msgstr "mktree đã báo cáo gặp lỗi nghiêm trọng"
+
+#: builtin/replace.c:285
+msgid "mktree did not return an object name"
+msgstr "mktree đã không trả về một tên đối tượng"
+
+#: builtin/replace.c:294
+#, c-format
+msgid "unable to fstat %s"
+msgstr "không thể fstat %s"
+
+#: builtin/replace.c:299
+msgid "unable to write object to database"
+msgstr "không thể ghi đối tượng vào cơ sở dữ liệu"
+
+#: builtin/replace.c:318 builtin/replace.c:371 builtin/replace.c:415
+#: builtin/replace.c:445
 #, c-format
-msgid "Not a valid object name: '%s'"
-msgstr "Không phải là tên đối tượng hợp lệ: “%s”"
+msgid "not a valid object name: '%s'"
+msgstr "không phải là tên đối tượng hợp lệ: “%s”"
+
+#: builtin/replace.c:322
+#, c-format
+msgid "unable to get object type for %s"
+msgstr "không thể lấy kiểu đối tượng cho %s"
+
+#: builtin/replace.c:338
+msgid "editing object file failed"
+msgstr "việc sửa tập tin đối tượng gặp lỗi"
+
+#: builtin/replace.c:347
+#, c-format
+msgid "new object is the same as the old one: '%s'"
+msgstr "đối tượng mới là giống với cái cũ: “%s”"
 
 #: builtin/replace.c:407
 #, c-format
@@ -13512,8 +15176,8 @@ msgstr ""
 
 #: builtin/replace.c:460
 #, c-format
-msgid "the original commit '%s' has a gpg signature."
-msgstr "lần chuyển giao gốc “%s” có chữ ký GPG."
+msgid "the original commit '%s' has a gpg signature"
+msgstr "lần chuyển giao gốc “%s” có chữ ký GPG"
 
 #: builtin/replace.c:461
 msgid "the signature will be removed in the replacement commit!"
@@ -13524,6 +15188,16 @@ msgstr "chữ ký sẽ được bỏ đi trong lần chuyển giao thay thế!"
 msgid "could not write replacement commit for: '%s'"
 msgstr "không thể ghi lần chuyển giao thay thế cho: “%s”"
 
+#: builtin/replace.c:479
+#, c-format
+msgid "graft for '%s' unnecessary"
+msgstr "graft cho “%s” không cần thiết"
+
+#: builtin/replace.c:482
+#, c-format
+msgid "new commit is the same as the old one: '%s'"
+msgstr "lần chuyển giao mới là giống với cái cũ: “%s”"
+
 #: builtin/replace.c:514
 #, c-format
 msgid ""
@@ -13565,6 +15239,42 @@ msgstr "đừng in đẹp các nội dung cho --edit"
 msgid "use this format"
 msgstr "dùng định dạng này"
 
+#: builtin/replace.c:556
+msgid "--format cannot be used when not listing"
+msgstr "--format không thể được dùng khi không liệt kê gì"
+
+#: builtin/replace.c:564
+msgid "-f only makes sense when writing a replacement"
+msgstr "-f chỉ hợp lý khi ghi một cái thay thế"
+
+#: builtin/replace.c:568
+msgid "--raw only makes sense with --edit"
+msgstr "--raw chỉ hợp lý với --edit"
+
+#: builtin/replace.c:574
+msgid "-d needs at least one argument"
+msgstr "-d cần ít nhất một tham số"
+
+#: builtin/replace.c:580
+msgid "bad number of arguments"
+msgstr "số đối số không đúng"
+
+#: builtin/replace.c:586
+msgid "-e needs exactly one argument"
+msgstr "-e cần chính các là một đối số"
+
+#: builtin/replace.c:592
+msgid "-g needs at least one argument"
+msgstr "-q cần ít nhất một tham số"
+
+#: builtin/replace.c:598
+msgid "--convert-graft-file takes no argument"
+msgstr "--convert-graft-file không nhận đối số"
+
+#: builtin/replace.c:604
+msgid "only one pattern can be given with -l"
+msgstr "chỉ một mẫu được chỉ ra với tùy chọn -l"
+
 #: builtin/rerere.c:13
 msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
 msgstr ""
@@ -13702,24 +15412,24 @@ 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:397
+#: builtin/rev-list.c:399
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "không thể tổ hợp --exclude-promisor-objects và --missing"
 
-#: builtin/rev-list.c:455
+#: builtin/rev-list.c:457
 msgid "object filtering requires --objects"
 msgstr "lọc đối tượng yêu cầu --objects"
 
-#: builtin/rev-list.c:458
+#: builtin/rev-list.c:460
 #, c-format
 msgid "invalid sparse value '%s'"
 msgstr "giá trị sparse không hợp lệ “%s”"
 
-#: builtin/rev-list.c:499
+#: builtin/rev-list.c:501
 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:502
+#: builtin/rev-list.c:504
 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"
 
@@ -13753,84 +15463,84 @@ msgstr ""
 "\n"
 "Chạy lệnh \"git rev-parse --parseopt -h\" để có thêm thông tin về cách dùng."
 
-#: builtin/revert.c:23
+#: builtin/revert.c:24
 msgid "git revert [<options>] <commit-ish>..."
 msgstr "git revert [<các-tùy-chọn>] <commit-ish>…"
 
-#: builtin/revert.c:24
+#: builtin/revert.c:25
 msgid "git revert <subcommand>"
 msgstr "git revert <lệnh-con>"
 
-#: builtin/revert.c:29
+#: builtin/revert.c:30
 msgid "git cherry-pick [<options>] <commit-ish>..."
 msgstr "git cherry-pick [<các-tùy-chọn>] <commit-ish>…"
 
-#: builtin/revert.c:30
+#: builtin/revert.c:31
 msgid "git cherry-pick <subcommand>"
 msgstr "git cherry-pick <lệnh-con>"
 
-#: builtin/revert.c:90
+#: builtin/revert.c:91
 #, c-format
 msgid "%s: %s cannot be used with %s"
 msgstr "%s: %s không thể được sử dụng với %s"
 
-#: builtin/revert.c:99
+#: builtin/revert.c:100
 msgid "end revert or cherry-pick sequence"
 msgstr "kết thúc cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:100
+#: builtin/revert.c:101
 msgid "resume revert or cherry-pick sequence"
 msgstr "phục hồi lại cherry-pick hay hoàn nguyên liên tiếp nhau"
 
-#: builtin/revert.c:101
+#: builtin/revert.c:102
 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:102
+#: builtin/revert.c:103
 msgid "don't automatically commit"
 msgstr "không chuyển giao một cách tự động."
 
-#: builtin/revert.c:103
+#: builtin/revert.c:104
 msgid "edit the commit message"
 msgstr "sửa lại chú thích cho lần chuyển giao"
 
-#: builtin/revert.c:106
+#: builtin/revert.c:107
 msgid "parent-number"
 msgstr "số-cha-mẹ"
 
-#: builtin/revert.c:107
+#: builtin/revert.c:108
 msgid "select mainline parent"
 msgstr "chọn cha mẹ luồng chính"
 
-#: builtin/revert.c:109
+#: builtin/revert.c:110
 msgid "merge strategy"
 msgstr "chiến lược hòa trộn"
 
-#: builtin/revert.c:110
+#: builtin/revert.c:111
 msgid "option"
 msgstr "tùy chọn"
 
-#: builtin/revert.c:111
+#: builtin/revert.c:112
 msgid "option for merge strategy"
 msgstr "tùy chọn cho chiến lược hòa trộn"
 
-#: builtin/revert.c:120
+#: builtin/revert.c:121
 msgid "append commit name"
 msgstr "nối thêm tên lần chuyển giao"
 
-#: builtin/revert.c:122
+#: builtin/revert.c:123
 msgid "preserve initially empty commits"
 msgstr "cấm khởi tạo lần chuyển giao trống rỗng"
 
-#: builtin/revert.c:124
+#: builtin/revert.c:125
 msgid "keep redundant, empty commits"
 msgstr "giữ lại các lần chuyển giao dư thừa, rỗng"
 
-#: builtin/revert.c:214
+#: builtin/revert.c:219
 msgid "revert failed"
 msgstr "hoàn nguyên gặp lỗi"
 
-#: builtin/revert.c:227
+#: builtin/revert.c:232
 msgid "cherry-pick failed"
 msgstr "cherry-pick gặp lỗi"
 
@@ -13895,6 +15605,11 @@ msgstr "cho phép gỡ bỏ đệ qui"
 msgid "exit with a zero status even if nothing matched"
 msgstr "thoát ra với trạng thái khác không thậm chí nếu không có gì khớp"
 
+#: builtin/rm.c:288
+msgid "please stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"hãy đưa các thay đổi của bạn vào .gitmodules hay tạm cất chúng đi để xử lý"
+
 #: builtin/rm.c:306
 #, c-format
 msgid "not removing '%s' recursively without -r"
@@ -13975,18 +15690,18 @@ msgid "Show the email address of each author"
 msgstr "Hiển thị thư điện tử cho từng tác giả"
 
 #: builtin/shortlog.c:271
-msgid "w[,i1[,i2]]"
-msgstr "w[,i1[,i2]]"
+msgid "<w>[,<i1>[,<i2>]]"
+msgstr "<w>[,<i1>[,<i2>]]"
 
 #: builtin/shortlog.c:272
 msgid "Linewrap output"
 msgstr "Ngắt dòng khi quá dài"
 
-#: builtin/shortlog.c:298
+#: builtin/shortlog.c:299
 msgid "too many arguments given outside repository"
 msgstr "quá nhiều tham số đưa ra ngoài kho chứa"
 
-#: builtin/show-branch.c:12
+#: builtin/show-branch.c:13
 msgid ""
 "git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
 "\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
@@ -13998,128 +15713,128 @@ msgstr ""
 "\t\t[--more=<n> | --list | --independent | --merge-base]\n"
 "\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)…]"
 
-#: builtin/show-branch.c:16
+#: builtin/show-branch.c:17
 msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
 msgstr "git show-branch (-g | --reflog)[=<n>[,<nền>]] [--list] [<ref>]"
 
-#: builtin/show-branch.c:376
+#: builtin/show-branch.c:395
 #, c-format
 msgid "ignoring %s; cannot handle more than %d ref"
 msgid_plural "ignoring %s; cannot handle more than %d refs"
 msgstr[0] "đang bỏ qua %s; không thể xử lý nhiều hơn %d tham chiếu"
 
-#: builtin/show-branch.c:530
+#: builtin/show-branch.c:549
 #, 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:626
+#: 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:628
+#: builtin/show-branch.c:647
 msgid "show remote-tracking branches"
 msgstr "hiển thị các nhánh remote-tracking"
 
-#: builtin/show-branch.c:630
+#: 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:632
+#: 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:634
+#: builtin/show-branch.c:653
 msgid "synonym to more=-1"
 msgstr "đồng nghĩa với more=-1"
 
-#: builtin/show-branch.c:635
+#: builtin/show-branch.c:654
 msgid "suppress naming strings"
 msgstr "chặn các chuỗi đặt tên"
 
-#: builtin/show-branch.c:637
+#: builtin/show-branch.c:656
 msgid "include the current branch"
 msgstr "bao gồm nhánh hiện hành"
 
-#: builtin/show-branch.c:639
+#: 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:641
+#: 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:643
+#: 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:645
+#: 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:648
+#: 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:650
+#: 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:652
+#: 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:655
+#: builtin/show-branch.c:674
 msgid "<n>[,<base>]"
 msgstr "<n>[,<cơ_sở>]"
 
-#: builtin/show-branch.c:656
+#: 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:690
+#: 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:714
+#: 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:717
+#: 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:720
+#: 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:724
+#: 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:808
+#: builtin/show-branch.c:829
 #, 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:812
+#: builtin/show-branch.c:833
 #, 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:815
+#: builtin/show-branch.c:836
 #, c-format
 msgid "cannot find commit %s (%s)"
 msgstr "không thể tìm thấy lần chuyển giao %s (%s)"
 
-#: builtin/show-ref.c:10
+#: builtin/show-ref.c:11
 msgid ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
@@ -14127,41 +15842,41 @@ msgstr ""
 "git show-ref [-q | --quiet] [--verify] [--head] [-d|--dereference] [-s|--"
 "hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<mẫu>…] "
 
-#: builtin/show-ref.c:11
+#: builtin/show-ref.c:12
 msgid "git show-ref --exclude-existing[=<pattern>]"
 msgstr "git show-ref --exclude-existing[=<mẫu>]"
 
-#: builtin/show-ref.c:159
+#: builtin/show-ref.c:160
 msgid "only show tags (can be combined with heads)"
 msgstr "chỉ hiển thị thẻ (có thể tổ hợp cùng với đầu)"
 
-#: builtin/show-ref.c:160
+#: builtin/show-ref.c:161
 msgid "only show heads (can be combined with tags)"
 msgstr "chỉ hiển thị đầu (có thể tổ hợp cùng với thẻ)"
 
-#: builtin/show-ref.c:161
+#: builtin/show-ref.c:162
 msgid "stricter reference checking, requires exact ref path"
 msgstr ""
 "việc kiểm tra tham chiếu chính xác, đòi hỏi chính xác đường dẫn tham chiếu"
 
-#: builtin/show-ref.c:164 builtin/show-ref.c:166
+#: builtin/show-ref.c:165 builtin/show-ref.c:167
 msgid "show the HEAD reference, even if it would be filtered out"
 msgstr "hiển thị tham chiếu HEAD, ngay cả khi nó đã được lọc ra"
 
-#: builtin/show-ref.c:168
+#: builtin/show-ref.c:169
 msgid "dereference tags into object IDs"
 msgstr "bãi bỏ tham chiếu các thẻ thành ra các ID đối tượng"
 
-#: builtin/show-ref.c:170
+#: builtin/show-ref.c:171
 msgid "only show SHA1 hash using <n> digits"
 msgstr "chỉ hiển thị mã băm SHA1 sử dụng <n> chữ số"
 
-#: builtin/show-ref.c:174
+#: builtin/show-ref.c:175
 msgid "do not print results to stdout (useful with --verify)"
 msgstr ""
 "không hiển thị kết quả ra đầu ra chuẩn (stdout) (chỉ hữu dụng với --verify)"
 
-#: builtin/show-ref.c:176
+#: builtin/show-ref.c:177
 msgid "show refs from stdin that aren't in local repository"
 msgstr ""
 "hiển thị các tham chiếu từ đầu vào tiêu chuẩn (stdin) cái mà không ở kho nội "
@@ -14183,12 +15898,12 @@ msgstr "giữ và xóa bỏ mọi dòng bắt đầu bằng ký tự ghi chú"
 msgid "prepend comment character and space to each line"
 msgstr "treo trước ký tự ghi chú và ký tự khoảng trắng cho từng dòng"
 
-#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1688
+#: builtin/submodule--helper.c:37 builtin/submodule--helper.c:1833
 #, c-format
 msgid "No such ref: %s"
 msgstr "Không có tham chiếu nào như thế: %s"
 
-#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1697
+#: builtin/submodule--helper.c:44 builtin/submodule--helper.c:1842
 #, 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"
@@ -14197,25 +15912,63 @@ msgstr "Cần tên tham chiếu dạng đầy đủ, nhưng lại nhận đượ
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "submodule--helper print-default-remote takes không nhận tham số"
 
-#: builtin/submodule--helper.c:98
+#: builtin/submodule--helper.c:99
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "không thể cắt bỏ một thành phần ra khỏi “%s” url"
 
-#: builtin/submodule--helper.c:406 builtin/submodule--helper.c:1211
+#: builtin/submodule--helper.c:407 builtin/submodule--helper.c:1356
 msgid "alternative anchor for relative paths"
 msgstr "điểm neo thay thế cho các đường dẫn tương đối"
 
-#: builtin/submodule--helper.c:411
+#: builtin/submodule--helper.c:412
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=</đường/dẫn>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:462 builtin/submodule--helper.c:485
+#: builtin/submodule--helper.c:469 builtin/submodule--helper.c:606
+#: builtin/submodule--helper.c:629
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con “%s” trong .gitmodules"
 
-#: builtin/submodule--helper.c:500
+#: builtin/submodule--helper.c:521
+#, c-format
+msgid "Entering '%s'\n"
+msgstr "Đang vào “%s”\n"
+
+#: builtin/submodule--helper.c:524
+#, c-format
+msgid ""
+"run_command returned non-zero status for %s\n"
+"."
+msgstr ""
+"run_command trả về trạng thái khác không cho %s\n"
+"."
+
+#: builtin/submodule--helper.c:545
+#, c-format
+msgid ""
+"run_command returned non-zero status while recursing in the nested "
+"submodules of %s\n"
+"."
+msgstr ""
+"run_command trả về trạng thái khác không trong khi đệ quy trong các mô-đun-"
+"con lồng nhau của %s\n"
+"."
+
+#: builtin/submodule--helper.c:561
+msgid "Suppress output of entering each submodule command"
+msgstr "Chặn kết xuất của từng lệnh mô-đun-con"
+
+#: builtin/submodule--helper.c:563 builtin/submodule--helper.c:1040
+msgid "Recurse into nested submodules"
+msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
+
+#: builtin/submodule--helper.c:568
+msgid "git submodule--helper foreach [--quiet] [--recursive] <command>"
+msgstr "git submodule--helper foreach [--quiet] [--recursive] <lệnh>"
+
+#: builtin/submodule--helper.c:644
 #, c-format
 msgid ""
 "could not lookup configuration '%s'. Assuming this repository is its own "
@@ -14224,56 +15977,56 @@ msgstr ""
 "không thể tìm thấy cấu hình “%s”. Coi rằng kho này là thượng nguồn có quyền "
 "sở hữu chính nó."
 
-#: builtin/submodule--helper.c:511
+#: builtin/submodule--helper.c:655
 #, 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:515
+#: builtin/submodule--helper.c:659
 #, 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:525
+#: builtin/submodule--helper.c:669
 #, 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:532
+#: builtin/submodule--helper.c:676
 #, 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:554
+#: builtin/submodule--helper.c:698
 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:559
+#: builtin/submodule--helper.c:703
 msgid "git submodule--helper init [<path>]"
 msgstr "git submodule--helper init [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:631 builtin/submodule--helper.c:757
+#: builtin/submodule--helper.c:775 builtin/submodule--helper.c:901
 #, 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:670
+#: builtin/submodule--helper.c:814
 #, 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:697 builtin/submodule--helper.c:866
+#: builtin/submodule--helper.c:841 builtin/submodule--helper.c:1010
 #, 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:721 builtin/submodule--helper.c:1031
+#: builtin/submodule--helper.c:865 builtin/submodule--helper.c:1176
 msgid "Suppress submodule status output"
 msgstr "Chặn két xuất tình trạng mô-đun-con"
 
-#: builtin/submodule--helper.c:722
+#: builtin/submodule--helper.c:866
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
@@ -14281,52 +16034,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:723
+#: builtin/submodule--helper.c:867
 msgid "recurse into nested submodules"
 msgstr "đệ quy vào trong mô-đun-con lồng nhau"
 
-#: builtin/submodule--helper.c:728
+#: builtin/submodule--helper.c:872
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr ""
 "git submodule status [--quiet] [--cached] [--recursive] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:752
+#: builtin/submodule--helper.c:896
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name </đường/dẫn>"
 
-#: builtin/submodule--helper.c:816
+#: builtin/submodule--helper.c:960
 #, 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:822
+#: builtin/submodule--helper.c:966
 #, 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:836
+#: builtin/submodule--helper.c:980
 #, 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:847
+#: builtin/submodule--helper.c:991
 #, 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:895
+#: builtin/submodule--helper.c:1038
 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:897
-msgid "Recurse into nested submodules"
-msgstr "Đệ quy vào trong các mô-đun-con lồng nhau"
-
-#: builtin/submodule--helper.c:902
+#: builtin/submodule--helper.c:1045
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [</đường/dẫn>]"
 
-#: builtin/submodule--helper.c:956
+#: builtin/submodule--helper.c:1099
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -14335,7 +16084,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:968
+#: builtin/submodule--helper.c:1111
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -14344,80 +16093,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:976
+#: builtin/submodule--helper.c:1119
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Đã xóa thư mục “%s”\n"
 
-#: builtin/submodule--helper.c:978
+#: builtin/submodule--helper.c:1121
 #, 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:987
+#: builtin/submodule--helper.c:1132
 #, 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:1003
+#: builtin/submodule--helper.c:1148
 #, 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:1032
+#: builtin/submodule--helper.c:1177
 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:1033
+#: builtin/submodule--helper.c:1178
 msgid "Unregister all submodules"
 msgstr "Bỏ đăng ký tất cả các trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1038
+#: builtin/submodule--helper.c:1183
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--]  [</đường/dẫn>…]]"
 
-#: builtin/submodule--helper.c:1052
+#: builtin/submodule--helper.c:1197
 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:1145 builtin/submodule--helper.c:1148
+#: builtin/submodule--helper.c:1290 builtin/submodule--helper.c:1293
 #, 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:1184
+#: builtin/submodule--helper.c:1329
 #, 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:1191
+#: builtin/submodule--helper.c:1336
 #, 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:1214
+#: builtin/submodule--helper.c:1359
 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:1217
+#: builtin/submodule--helper.c:1362
 msgid "name of the new submodule"
 msgstr "tên của mô-đun-con mới"
 
-#: builtin/submodule--helper.c:1220
+#: builtin/submodule--helper.c:1365
 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:1228
+#: builtin/submodule--helper.c:1373
 msgid "depth for shallow clones"
 msgstr "chiều sâu lịch sử khi tạo bản sao"
 
-#: builtin/submodule--helper.c:1231 builtin/submodule--helper.c:1606
+#: builtin/submodule--helper.c:1376 builtin/submodule--helper.c:1751
 msgid "force cloning progress"
 msgstr "ép buộc tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1236
+#: builtin/submodule--helper.c:1381
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
 "<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
@@ -14425,84 +16174,84 @@ msgstr ""
 "git submodule--helper clone [--prefix=</đường/dẫn>] [--quiet] [--reference "
 "<kho>] [--name <tên>] [--depth <sâu>] [--url <url>] [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1267
+#: builtin/submodule--helper.c:1412
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Nhân bản “%s” vào đường dẫn mô-đun-con “%s” gặp lỗi"
 
-#: builtin/submodule--helper.c:1281
+#: builtin/submodule--helper.c:1426
 #, 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:1347
+#: builtin/submodule--helper.c:1492
 #, 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:1351
+#: builtin/submodule--helper.c:1496
 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:1380
+#: builtin/submodule--helper.c:1525
 #, 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:1409
+#: builtin/submodule--helper.c:1554
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Bỏ qua mô-đun-con “%s”"
 
-#: builtin/submodule--helper.c:1544
+#: builtin/submodule--helper.c:1689
 #, 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:1555
+#: builtin/submodule--helper.c:1700
 #, 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:1585 builtin/submodule--helper.c:1808
+#: builtin/submodule--helper.c:1730 builtin/submodule--helper.c:1953
 msgid "path into the working tree"
 msgstr "đường dẫn đến cây làm việc"
 
-#: builtin/submodule--helper.c:1588
+#: builtin/submodule--helper.c:1733
 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:1592
+#: builtin/submodule--helper.c:1737
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout hoặc không làm gì cả"
 
-#: builtin/submodule--helper.c:1598
+#: builtin/submodule--helper.c:1743
 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:1601
+#: builtin/submodule--helper.c:1746
 msgid "parallel jobs"
 msgstr "công việc đồng thời"
 
-#: builtin/submodule--helper.c:1603
+#: builtin/submodule--helper.c:1748
 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:1604
+#: builtin/submodule--helper.c:1749
 msgid "don't print cloning progress"
 msgstr "đừng in tiến trình nhân bản"
 
-#: builtin/submodule--helper.c:1611
+#: builtin/submodule--helper.c:1756
 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:1624
+#: builtin/submodule--helper.c:1769
 msgid "bad value for update parameter"
 msgstr "giá trị cho  tham số cập nhật bị sai"
 
-#: builtin/submodule--helper.c:1692
+#: builtin/submodule--helper.c:1837
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -14511,20 +16260,20 @@ 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:1809
+#: builtin/submodule--helper.c:1954
 msgid "recurse into submodules"
 msgstr "đệ quy vào trong mô-đun-con"
 
-#: builtin/submodule--helper.c:1815
+#: builtin/submodule--helper.c:1960
 msgid "git submodule--helper embed-git-dir [<path>...]"
 msgstr "git submodule--helper embed-git-dir [</đường/dẫn>…]"
 
-#: builtin/submodule--helper.c:1901
+#: builtin/submodule--helper.c:2071
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s không hỗ trợ --super-prefix"
 
-#: builtin/submodule--helper.c:1907
+#: builtin/submodule--helper.c:2077
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "“%s” không phải là lệnh con submodule--helper hợp lệ"
@@ -14549,15 +16298,15 @@ msgstr "xóa tham chiếu mềm"
 msgid "shorten ref output"
 msgstr "làm ngắn kết xuất ref (tham chiếu)"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
 msgid "reason"
 msgstr "lý do"
 
-#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:363
 msgid "reason of the update"
 msgstr "lý do cập nhật"
 
-#: builtin/tag.c:24
+#: builtin/tag.c:25
 msgid ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
 "[<head>]"
@@ -14565,11 +16314,11 @@ msgstr ""
 "git tag [-a | -s | -u <key-id>] [-f] [-m <msg>|-F <tập-tin>] <tên-thẻ> "
 "[<head>]"
 
-#: builtin/tag.c:25
+#: builtin/tag.c:26
 msgid "git tag -d <tagname>..."
 msgstr "git tag -d <tên-thẻ>…"
 
-#: builtin/tag.c:26
+#: builtin/tag.c:27
 msgid ""
 "git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
 "points-at <object>]\n"
@@ -14579,21 +16328,21 @@ msgstr ""
 "<lần_chuyển_giao>] [--points-at <đối-tượng>]\n"
 "\t\t[--format=<định_dạng>] [--[no-]merged [<lần_chuyển_giao>]] [<mẫu>…]"
 
-#: builtin/tag.c:28
+#: builtin/tag.c:29
 msgid "git tag -v [--format=<format>] <tagname>..."
 msgstr "git tag -v [--format=<định_dạng>]  <tên-thẻ>…"
 
-#: builtin/tag.c:86
+#: builtin/tag.c:87
 #, c-format
 msgid "tag '%s' not found."
 msgstr "không tìm thấy tìm thấy thẻ “%s”."
 
-#: builtin/tag.c:102
+#: builtin/tag.c:103
 #, c-format
 msgid "Deleted tag '%s' (was %s)\n"
 msgstr "Thẻ đã bị xóa “%s” (từng là %s)\n"
 
-#: builtin/tag.c:132
+#: builtin/tag.c:133
 #, c-format
 msgid ""
 "\n"
@@ -14606,7 +16355,7 @@ msgstr ""
 "  %s\n"
 "Những dòng được bắt đầu bằng “%c” sẽ được bỏ qua.\n"
 
-#: builtin/tag.c:136
+#: builtin/tag.c:137
 #, c-format
 msgid ""
 "\n"
@@ -14621,152 +16370,152 @@ 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:190
+#: builtin/tag.c:191
 msgid "unable to sign the tag"
 msgstr "không thể ký thẻ"
 
-#: builtin/tag.c:192
+#: builtin/tag.c:193
 msgid "unable to write tag file"
 msgstr "không thể ghi vào tập tin lưu thẻ"
 
-#: builtin/tag.c:217
+#: builtin/tag.c:218
 msgid "bad object type."
 msgstr "kiểu đối tượng sai."
 
-#: builtin/tag.c:266
+#: builtin/tag.c:267
 msgid "no tag message?"
 msgstr "không có chú thích gì cho cho thẻ à?"
 
-#: builtin/tag.c:273
+#: builtin/tag.c:274
 #, 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:382
+#: builtin/tag.c:383
 msgid "list tag names"
 msgstr "chỉ liệt kê tên các thẻ"
 
-#: builtin/tag.c:384
+#: builtin/tag.c:385
 msgid "print <n> lines of each tag message"
 msgstr "hiển thị <n> dòng cho mỗi ghi chú"
 
-#: builtin/tag.c:386
+#: builtin/tag.c:387
 msgid "delete tags"
 msgstr "xóa thẻ"
 
-#: builtin/tag.c:387
+#: builtin/tag.c:388
 msgid "verify tags"
 msgstr "thẩm tra thẻ"
 
-#: builtin/tag.c:389
+#: builtin/tag.c:390
 msgid "Tag creation options"
 msgstr "Tùy chọn tạo thẻ"
 
-#: builtin/tag.c:391
+#: builtin/tag.c:392
 msgid "annotated tag, needs a message"
 msgstr "để chú giải cho thẻ, cần một lời ghi chú"
 
-#: builtin/tag.c:393
+#: builtin/tag.c:394
 msgid "tag message"
 msgstr "phần chú thích cho thẻ"
 
-#: builtin/tag.c:395
+#: builtin/tag.c:396
 msgid "force edit of tag message"
 msgstr "ép buộc sửa thẻ lần commit"
 
-#: builtin/tag.c:396
+#: builtin/tag.c:397
 msgid "annotated and GPG-signed tag"
 msgstr "thẻ chú giải và ký kiểu GPG"
 
-#: builtin/tag.c:400
+#: builtin/tag.c:401
 msgid "use another key to sign the tag"
 msgstr "dùng kháo khác để ký thẻ"
 
-#: builtin/tag.c:401
+#: builtin/tag.c:402
 msgid "replace the tag if exists"
 msgstr "thay thế nếu thẻ đó đã có trước"
 
-#: builtin/tag.c:402 builtin/update-ref.c:368
+#: builtin/tag.c:403 builtin/update-ref.c:369
 msgid "create a reflog"
 msgstr "tạo một reflog"
 
-#: builtin/tag.c:404
+#: builtin/tag.c:405
 msgid "Tag listing options"
 msgstr "Các tùy chọn liệt kê thẻ"
 
-#: builtin/tag.c:405
+#: builtin/tag.c:406
 msgid "show tag list in columns"
 msgstr "hiển thị danh sách thẻ trong các cột"
 
-#: builtin/tag.c:406 builtin/tag.c:408
+#: builtin/tag.c:407 builtin/tag.c:409
 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:407 builtin/tag.c:409
+#: builtin/tag.c:408 builtin/tag.c:410
 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:410
+#: builtin/tag.c:411
 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:411
+#: builtin/tag.c:412
 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:416
+#: builtin/tag.c:417
 msgid "print only tags of the object"
 msgstr "chỉ hiển thị các thẻ của đối tượng"
 
-#: builtin/tag.c:460
+#: builtin/tag.c:461
 msgid "--column and -n are incompatible"
 msgstr "--column và -n xung khắc nhau"
 
-#: builtin/tag.c:482
+#: builtin/tag.c:483
 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:484
+#: builtin/tag.c:485
 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:486
+#: builtin/tag.c:487
 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:488
+#: builtin/tag.c:489
 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:490
+#: builtin/tag.c:491
 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:501
+#: builtin/tag.c:502
 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:520
+#: builtin/tag.c:521
 msgid "too many params"
 msgstr "quá nhiều đối số"
 
-#: builtin/tag.c:526
+#: builtin/tag.c:527
 #, c-format
 msgid "'%s' is not a valid tag name."
 msgstr "“%s” không phải thẻ hợp lệ."
 
-#: builtin/tag.c:531
+#: builtin/tag.c:532
 #, c-format
 msgid "tag '%s' already exists"
 msgstr "Thẻ “%s” đã tồn tại rồi"
 
-#: builtin/tag.c:562
+#: builtin/tag.c:563
 #, c-format
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Đã cập nhật thẻ “%s” (trước là %s)\n"
 
-#: builtin/unpack-objects.c:498
+#: builtin/unpack-objects.c:500
 msgid "Unpacking objects"
 msgstr "Đang giải nén các đối tượng"
 
@@ -14775,11 +16524,6 @@ msgstr "Đang giải nén các đối tượng"
 msgid "failed to create directory %s"
 msgstr "tạo thư mục \"%s\" gặp lỗi"
 
-#: builtin/update-index.c:88
-#, c-format
-msgid "failed to stat %s"
-msgstr "gặp lỗi khi lấy thông tin thống kê về %s"
-
 #: builtin/update-index.c:98
 #, c-format
 msgid "failed to create file %s"
@@ -14830,147 +16574,147 @@ msgstr "thông tin thống kê thư mục không thay đổi sau khi xóa thư m
 msgid " OK"
 msgstr " Đồng ý"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:588
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<các-tùy-chọn>] [--] [<tập-tin>…]"
 
-#: builtin/update-index.c:946
+#: builtin/update-index.c:944
 msgid "continue refresh even when index needs update"
 msgstr "tiếp tục làm mới ngay cả khi bảng mục lục cần được cập nhật"
 
-#: builtin/update-index.c:949
+#: builtin/update-index.c:947
 msgid "refresh: ignore submodules"
 msgstr "refresh: lờ đi mô-đun-con"
 
-#: builtin/update-index.c:952
+#: builtin/update-index.c:950
 msgid "do not ignore new files"
 msgstr "không bỏ qua các tập tin mới tạo"
 
-#: builtin/update-index.c:954
+#: builtin/update-index.c:952
 msgid "let files replace directories and vice-versa"
 msgstr "để các tập tin thay thế các thư mục và “vice-versa”"
 
-#: builtin/update-index.c:956
+#: builtin/update-index.c:954
 msgid "notice files missing from worktree"
 msgstr "thông báo các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:958
+#: builtin/update-index.c:956
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "làm tươi mới thậm chí khi bảng mục lục chứa các mục tin chưa được hòa trộn"
 
-#: builtin/update-index.c:961
+#: builtin/update-index.c:959
 msgid "refresh stat information"
 msgstr "lấy lại thông tin thống kê"
 
-#: builtin/update-index.c:965
+#: builtin/update-index.c:963
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "giống --refresh, nhưng bỏ qua các cài đặt “assume-unchanged”"
 
-#: builtin/update-index.c:969
+#: builtin/update-index.c:967
 msgid "<mode>,<object>,<path>"
 msgstr "<chế_độ>,<đối_tượng>,<đường_dẫn>"
 
-#: builtin/update-index.c:970
+#: builtin/update-index.c:968
 msgid "add the specified entry to the index"
 msgstr "thêm các tập tin đã chỉ ra vào bảng mục lục"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:977
 msgid "mark files as \"not changing\""
 msgstr "Đánh dấu các tập tin là \"không thay đổi\""
 
-#: builtin/update-index.c:982
+#: builtin/update-index.c:980
 msgid "clear assumed-unchanged bit"
 msgstr "xóa bít assumed-unchanged (giả định là không thay đổi)"
 
-#: builtin/update-index.c:985
+#: builtin/update-index.c:983
 msgid "mark files as \"index-only\""
 msgstr "đánh dấu các tập tin là “chỉ-đọc”"
 
-#: builtin/update-index.c:988
+#: builtin/update-index.c:986
 msgid "clear skip-worktree bit"
 msgstr "xóa bít skip-worktree"
 
-#: builtin/update-index.c:991
+#: builtin/update-index.c:989
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "chỉ thêm vào bảng mục lục; không thêm nội dung vào cơ sở dữ liệu đối tượng"
 
-#: builtin/update-index.c:993
+#: builtin/update-index.c:991
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "gỡ bỏ các đường dẫn được đặt tên thậm chí cả khi nó hiện diện trong thư mục "
 "làm việc"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:993
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "với tùy chọn --stdin: các dòng đầu vào được chấm dứt bởi ký tự null"
 
-#: builtin/update-index.c:997
+#: builtin/update-index.c:995
 msgid "read list of paths to be updated from standard input"
 msgstr "đọc danh sách đường dẫn cần cập nhật từ đầu vào tiêu chuẩn"
 
-#: builtin/update-index.c:1001
+#: builtin/update-index.c:999
 msgid "add entries from standard input to the index"
 msgstr "không thể đọc các mục từ đầu vào tiêu chuẩn vào bảng mục lục"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1003
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "phục hồi các trạng thái #2 và #3 cho các đường dẫn được liệt kê"
 
-#: builtin/update-index.c:1009
+#: builtin/update-index.c:1007
 msgid "only update entries that differ from HEAD"
 msgstr "chỉ cập nhật các mục tin mà nó khác biệt so với HEAD"
 
-#: builtin/update-index.c:1013
+#: builtin/update-index.c:1011
 msgid "ignore files missing from worktree"
 msgstr "bỏ qua các tập-tin thiếu trong thư-mục làm việc"
 
-#: builtin/update-index.c:1016
+#: builtin/update-index.c:1014
 msgid "report actions to standard output"
 msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn"
 
-#: builtin/update-index.c:1018
+#: builtin/update-index.c:1016
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(cho “porcelains”) quên các xung đột chưa được giải quyết đã ghi"
 
-#: builtin/update-index.c:1022
+#: builtin/update-index.c:1020
 msgid "write index in this format"
 msgstr "ghi mục lục ở định dạng này"
 
-#: builtin/update-index.c:1024
+#: builtin/update-index.c:1022
 msgid "enable or disable split index"
 msgstr "bật/tắt chia cắt bảng mục lục"
 
-#: builtin/update-index.c:1026
+#: builtin/update-index.c:1024
 msgid "enable/disable untracked cache"
 msgstr "bật/tắt bộ đệm không theo vết"
 
-#: builtin/update-index.c:1028
+#: builtin/update-index.c:1026
 msgid "test if the filesystem supports untracked cache"
 msgstr "kiểm tra xem hệ thống tập tin có hỗ trợ đệm không theo dõi hay không"
 
-#: builtin/update-index.c:1030
+#: builtin/update-index.c:1028
 msgid "enable untracked cache without testing the filesystem"
 msgstr "bật bộ đệm không theo vết mà không kiểm tra hệ thống tập tin"
 
-#: builtin/update-index.c:1032
+#: builtin/update-index.c:1030
 msgid "write out the index even if is not flagged as changed"
 msgstr "ghi ra mục lục ngay cả khi không được đánh cờ là có thay đổi"
 
-#: builtin/update-index.c:1034
+#: builtin/update-index.c:1032
 msgid "enable or disable file system monitor"
 msgstr "bật/tắt theo dõi hệ thống tập tin"
 
-#: builtin/update-index.c:1036
+#: builtin/update-index.c:1034
 msgid "mark files as fsmonitor valid"
 msgstr "đánh dấu các tập tin là hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1037
 msgid "clear fsmonitor valid bit"
 msgstr "xóa bít hợp lệ fsmonitor"
 
-#: builtin/update-index.c:1138
+#: builtin/update-index.c:1136
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -14978,7 +16722,7 @@ msgstr ""
 "core.splitIndex được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật chia tách mục lục"
 
-#: builtin/update-index.c:1147
+#: builtin/update-index.c:1145
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -14986,7 +16730,7 @@ msgstr ""
 "core.splitIndex được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn tắt chia tách mục lục"
 
-#: builtin/update-index.c:1158
+#: builtin/update-index.c:1156
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -14994,11 +16738,11 @@ msgstr ""
 "core.untrackedCache được đặt là đúng; xóa bỏ hay thay đổi nó, nếu bạn thực "
 "sự muốn tắt bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1162
+#: builtin/update-index.c:1160
 msgid "Untracked cache disabled"
 msgstr "Nhớ đệm không theo vết bị tắt"
 
-#: builtin/update-index.c:1170
+#: builtin/update-index.c:1168
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -15006,29 +16750,29 @@ msgstr ""
 "core.untrackedCache được đặt là sai; xóa bỏ hay thay đổi nó, nếu bạn thực sự "
 "muốn bật bộ đệm chưa theo dõi"
 
-#: builtin/update-index.c:1174
+#: builtin/update-index.c:1172
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Nhớ đệm không theo vết được bật cho “%s”"
 
-#: builtin/update-index.c:1182
+#: builtin/update-index.c:1180
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor chưa được đặt; đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1186
+#: builtin/update-index.c:1184
 msgid "fsmonitor enabled"
 msgstr "fsmonitor được bật"
 
-#: builtin/update-index.c:1189
+#: builtin/update-index.c:1187
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
 "core.fsmonitor đã được đặt; bỏ đặt nó nếu bạn thực sự muốn bật theo dõi hệ "
 "thống tập tin"
 
-#: builtin/update-index.c:1193
+#: builtin/update-index.c:1191
 msgid "fsmonitor disabled"
 msgstr "fsmonitor bị tắt"
 
@@ -15044,19 +16788,19 @@ msgstr "git update-ref [<các-tùy-chọn>]    <refname> <biến-mới> [<biến
 msgid "git update-ref [<options>] --stdin [-z]"
 msgstr "git update-ref [<các-tùy-chọn>] --stdin [-z]"
 
-#: builtin/update-ref.c:363
+#: builtin/update-ref.c:364
 msgid "delete the reference"
 msgstr "xóa tham chiếu"
 
-#: builtin/update-ref.c:365
+#: builtin/update-ref.c:366
 msgid "update <refname> not the one it points to"
 msgstr "cập nhật <tên-tham-chiếu> không phải cái nó chỉ tới"
 
-#: builtin/update-ref.c:366
+#: builtin/update-ref.c:367
 msgid "stdin has NUL-terminated arguments"
 msgstr "đầu vào tiêu chuẩn có các đối số được chấm dứt bởi NUL"
 
-#: builtin/update-ref.c:367
+#: builtin/update-ref.c:368
 msgid "read updates from stdin"
 msgstr "đọc cập nhật từ đầu vào tiêu chuẩn"
 
@@ -15084,15 +16828,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:18
+#: builtin/verify-commit.c:20
 msgid "git verify-commit [-v | --verbose] <commit>..."
 msgstr "git verify-commit [-v | --verbose] <lần_chuyển_giao>…"
 
-#: builtin/verify-commit.c:73
+#: builtin/verify-commit.c:76
 msgid "print commit contents"
 msgstr "hiển thị nội dung của lần chuyển giao"
 
-#: builtin/verify-commit.c:74 builtin/verify-tag.c:38
+#: builtin/verify-commit.c:77 builtin/verify-tag.c:38
 msgid "print raw gpg status output"
 msgstr "in kết xuất trạng thái gpg dạng thô"
 
@@ -15144,213 +16888,213 @@ msgstr "git worktree remove [<các-tùy-chọn>] <worktree>"
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock </đường/dẫn>"
 
-#: builtin/worktree.c:58
+#: builtin/worktree.c:59
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Gỡ bỏ cây làm việc/%s: không phải là thư mục hợp lệ"
 
-#: builtin/worktree.c:64
+#: builtin/worktree.c:65
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Gỡ bỏ cây làm việc/%s: không có tập tin gitdir"
 
-#: builtin/worktree.c:69 builtin/worktree.c:78
+#: builtin/worktree.c:70 builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "Gỡ bỏ cây làm việc/%s: không thể đọc tập tin gitdir (%s)"
 
-#: builtin/worktree.c:88
+#: builtin/worktree.c:89
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
 "%<PRIuMAX>)"
 msgstr "Gỡ bỏ cây làm việc/%s: đọc ngắn (cần %<PRIuMAX> byte, đọc %<PRIuMAX>)"
 
-#: builtin/worktree.c:96
+#: builtin/worktree.c:97
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Gỡ bỏ cây làm việc/%s: tập tin gitdir không hợp lệ"
 
-#: builtin/worktree.c:105
+#: builtin/worktree.c:106
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "Gỡ bỏ cây làm việc/%s: tập tin gitdir chỉ đến vị trí không tồn tại"
 
-#: builtin/worktree.c:152
+#: builtin/worktree.c:153
 msgid "report pruned working trees"
 msgstr "báo cáo các cây làm việc đã prune"
 
-#: builtin/worktree.c:154
+#: builtin/worktree.c:155
 msgid "expire working trees older than <time>"
 msgstr "các cây làm việc hết hạn cũ hơn khoảng <thời gian>"
 
-#: builtin/worktree.c:229
+#: builtin/worktree.c:230
 #, c-format
 msgid "'%s' already exists"
 msgstr "“%s” đã có từ trước rồi"
 
-#: builtin/worktree.c:260
+#: builtin/worktree.c:261
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "không thể tạo thư mục của “%s”"
 
-#: builtin/worktree.c:373 builtin/worktree.c:379
+#: builtin/worktree.c:380 builtin/worktree.c:386
 #, 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:375
+#: builtin/worktree.c:382
 #, 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:384
+#: builtin/worktree.c:391
 #, 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:390
+#: builtin/worktree.c:397
 #, 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:431
+#: builtin/worktree.c:438
 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:434
+#: builtin/worktree.c:441
 msgid "create a new branch"
 msgstr "tạo nhánh mới"
 
-#: builtin/worktree.c:436
+#: builtin/worktree.c:443
 msgid "create or reset a branch"
 msgstr "tạo hay đặt lại một nhánh"
 
-#: builtin/worktree.c:438
+#: builtin/worktree.c:445
 msgid "populate the new working tree"
 msgstr "di chuyển cây làm việc mới"
 
-#: builtin/worktree.c:439
+#: builtin/worktree.c:446
 msgid "keep the new working tree locked"
 msgstr "giữ cây làm việc mới bị khóa"
 
-#: builtin/worktree.c:441
+#: builtin/worktree.c:449
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
 
-#: builtin/worktree.c:444
+#: builtin/worktree.c:452
 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:452
+#: builtin/worktree.c:460
 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:511
+#: builtin/worktree.c:521
 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:611
+#: builtin/worktree.c:621
 msgid "reason for locking"
 msgstr "lý do khóa"
 
-#: builtin/worktree.c:623 builtin/worktree.c:656 builtin/worktree.c:710
-#: builtin/worktree.c:850
+#: builtin/worktree.c:633 builtin/worktree.c:666 builtin/worktree.c:720
+#: builtin/worktree.c:860
 #, 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:625 builtin/worktree.c:658
+#: builtin/worktree.c:635 builtin/worktree.c:668
 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:630
+#: builtin/worktree.c:640
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "“%s” đã được khóa rồi, lý do: %s"
 
-#: builtin/worktree.c:632
+#: builtin/worktree.c:642
 #, c-format
 msgid "'%s' is already locked"
 msgstr "“%s” đã được khóa rồi"
 
-#: builtin/worktree.c:660
+#: builtin/worktree.c:670
 #, c-format
 msgid "'%s' is not locked"
 msgstr "“%s” chưa bị khóa"
 
-#: builtin/worktree.c:685
+#: builtin/worktree.c:695
 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:712 builtin/worktree.c:852
+#: builtin/worktree.c:722 builtin/worktree.c:862
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "“%s” là cây làm việc chính"
 
-#: builtin/worktree.c:717
+#: builtin/worktree.c:727
 #, 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:723
+#: builtin/worktree.c:733
 #, c-format
 msgid "target '%s' already exists"
 msgstr "đích “%s” đã tồn tại rồi"
 
-#: builtin/worktree.c:730
+#: builtin/worktree.c:740
 #, c-format
 msgid "cannot move a locked working tree, lock reason: %s"
 msgstr "không thể di chuyển một cây-làm-việc bị khóa, khóa vì: %s"
 
-#: builtin/worktree.c:732
+#: builtin/worktree.c:742
 msgid "cannot move a locked working tree"
 msgstr "không thể di chuyển một cây-làm-việc bị khóa"
 
-#: builtin/worktree.c:735
+#: builtin/worktree.c:745
 #, 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:740
+#: builtin/worktree.c:750
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "gặp lỗi khi chuyển “%s” sang “%s”"
 
-#: builtin/worktree.c:788
+#: builtin/worktree.c:798
 #, 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:792
+#: builtin/worktree.c:802
 #, 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:797
+#: builtin/worktree.c:807
 #, 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:808 builtin/worktree.c:822
+#: builtin/worktree.c:818 builtin/worktree.c:832
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "gặp lỗi khi xóa “%s”"
 
-#: builtin/worktree.c:834
+#: builtin/worktree.c:844
 msgid "force removing even if the worktree is dirty"
 msgstr "ép buộc di chuyển thậm chí cả khi cây làm việc đang bẩn"
 
-#: builtin/worktree.c:856
+#: builtin/worktree.c:866
 #, c-format
 msgid "cannot remove a locked working tree, lock reason: %s"
 msgstr "không thể gỡ bỏ một cây-làm-việc bị khóa, khóa vì: %s"
 
-#: builtin/worktree.c:858
+#: builtin/worktree.c:868
 msgid "cannot remove a locked working tree"
 msgstr "không thể gỡ bỏ một cây-làm-việc bị khóa"
 
-#: builtin/worktree.c:861
+#: builtin/worktree.c:871
 #, 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"
@@ -15367,7 +17111,7 @@ msgstr "<tiền tố>/"
 msgid "write tree object for a subdirectory <prefix>"
 msgstr "ghi đối tượng cây (tree) cho <tiền tố> thư mục con"
 
-#: builtin/write-tree.c:31
+#: builtin/write-tree.c:30
 msgid "only useful for debugging"
 msgstr "chỉ hữu ích khi cần gỡ lỗi"
 
@@ -15453,12 +17197,12 @@ msgstr ""
 msgid "unknown option: %s\n"
 msgstr "không hiểu tùy chọn: %s\n"
 
-#: git.c:765
+#: git.c:770
 #, 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:777
+#: git.c:782
 #, c-format
 msgid "failed to run command '%s': %s\n"
 msgstr "gặp lỗi khi chạy lệnh “%s”: %s\n"
@@ -15913,254 +17657,258 @@ msgid "Applies a quilt patchset onto the current branch"
 msgstr "Ấp dụng một bộ miếng vá quilt vào trong nhánh hiện hành"
 
 #: command-list.h:144
+msgid "Compare two commit ranges (e.g. two versions of a branch)"
+msgstr "So sánh hai vùng chuyển giao (vd: hai phiên bản của một nhánh)"
+
+#: command-list.h:145
 msgid "Reads tree information into the index"
 msgstr "Đọc thông tin cây vào trong mục lục"
 
-#: command-list.h:145
+#: command-list.h:146
 msgid "Reapply commits on top of another base tip"
 msgstr "Thu hoạch các lần chuyển giao trên đỉnh của đầu mút cơ sở khác"
 
-#: command-list.h:146
+#: command-list.h:147
 msgid "Receive what is pushed into the repository"
 msgstr "Nhận cái mà được đẩy vào trong kho"
 
-#: command-list.h:147
+#: command-list.h:148
 msgid "Manage reflog information"
 msgstr "Quản lý thông tin reflog"
 
-#: command-list.h:148
+#: command-list.h:149
 msgid "Manage set of tracked repositories"
 msgstr "Quản lý tập hợp các kho chứa đã được theo dõi"
 
-#: command-list.h:149
+#: command-list.h:150
 msgid "Pack unpacked objects in a repository"
 msgstr "Đóng gói các đối tượng chưa đóng gói ở một kho chứa"
 
-#: command-list.h:150
+#: command-list.h:151
 msgid "Create, list, delete refs to replace objects"
 msgstr "Tạo, liệt kê, xóa các tham chiếu để thay thế các đối tượng"
 
-#: command-list.h:151
+#: command-list.h:152
 msgid "Generates a summary of pending changes"
 msgstr "Tạo ra một tóm tắt các thay đổi còn treo"
 
-#: command-list.h:152
+#: command-list.h:153
 msgid "Reuse recorded resolution of conflicted merges"
 msgstr "Dùng lại các giải pháp đã ghi lại của các hòa trộn bị xung đột"
 
-#: command-list.h:153
+#: command-list.h:154
 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:154
+#: command-list.h:155
 msgid "Revert some existing commits"
 msgstr "Hoàn lại một số lần chuyển giao sẵn có"
 
-#: command-list.h:155
+#: command-list.h:156
 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:156
+#: command-list.h:157
 msgid "Pick out and massage parameters"
 msgstr "Cậy ra và xử lý các tham số"
 
-#: command-list.h:157
+#: command-list.h:158
 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:158
+#: command-list.h:159
 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:159
+#: command-list.h:160
 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:160
+#: command-list.h:161
 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:161
+#: command-list.h:162
 msgid "Summarize 'git log' output"
 msgstr "Kết xuất “git log” dạng tóm tắt"
 
-#: command-list.h:162
+#: command-list.h:163
 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:163
+#: command-list.h:164
 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:164
+#: command-list.h:165
 msgid "Show packed archive index"
 msgstr "Hiển thị các muc lục kho nén đã đóng gói"
 
-#: command-list.h:165
+#: command-list.h:166
 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:166
+#: command-list.h:167
 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:167
+#: command-list.h:168
 msgid "Common Git shell script setup code"
 msgstr "Mã cài đặt văn lệnh hệ vỏ Git chung"
 
-#: command-list.h:168
+#: command-list.h:169
 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:169
+#: command-list.h:170
 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:170
+#: command-list.h:171
 msgid "Show the working tree status"
 msgstr "Hiển thị trạng thái cây làm việc"
 
-#: command-list.h:171
+#: command-list.h:172
 msgid "Remove unnecessary whitespace"
 msgstr "Xóa bỏ các khoảng trắng không cần thiết"
 
-#: command-list.h:172
+#: command-list.h:173
 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:173
+#: command-list.h:174
 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:174
+#: command-list.h:175
 msgid "Read, modify and delete symbolic refs"
 msgstr "Đọc, sửa và xóa tham chiếu mềm"
 
-#: command-list.h:175
+#: command-list.h:176
 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:176
+#: command-list.h:177
 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:177
+#: command-list.h:178
 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:178
+#: command-list.h:179
 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:179
+#: command-list.h:180
 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:180
+#: command-list.h:181
 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:181
+#: command-list.h:182
 msgid "Send archive back to git-archive"
 msgstr "Gửi trở lại kho lưu đến git-archive"
 
-#: command-list.h:182
+#: command-list.h:183
 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:183
+#: command-list.h:184
 msgid "Show a Git logical variable"
 msgstr "Hiển thị một biến Git luận lý"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Check the GPG signature of commits"
 msgstr "Kiểm tra ký lần chuyển giao dùng GPG"
 
-#: command-list.h:185
+#: command-list.h:186
 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:186
+#: command-list.h:187
 msgid "Check the GPG signature of tags"
 msgstr "Kiểm tra chữ ký GPG của các thẻ"
 
-#: command-list.h:187
+#: command-list.h:188
 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:188
+#: command-list.h:189
 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:189
+#: command-list.h:190
 msgid "Manage multiple working trees"
 msgstr "Quản lý nhiều cây làm việc"
 
-#: command-list.h:190
+#: command-list.h:191
 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:191
+#: command-list.h:192
 msgid "Defining attributes per path"
 msgstr "Định nghĩa các thuộc tính cho mỗi đường dẫn"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Git command-line interface and conventions"
 msgstr "Giao diện dòng lệnh Git và quy ước"
 
-#: command-list.h:193
+#: command-list.h:194
 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:194
+#: command-list.h:195
 msgid "Git for CVS users"
 msgstr "Git dành cho những người dùng CVS"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Tweaking diff output"
 msgstr "Chỉnh kết xuất diff"
 
-#: command-list.h:196
+#: command-list.h:197
 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:197
+#: command-list.h:198
 msgid "A Git Glossary"
 msgstr "Thuật ngữ chuyên môn Git"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Hooks used by Git"
 msgstr "Các móc được sử dụng bởi Git"
 
-#: command-list.h:199
+#: command-list.h:200
 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:200
+#: command-list.h:201
 msgid "Defining submodule properties"
 msgstr "Định nghĩa thuộc tính mô-đun-con"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "Git namespaces"
 msgstr "không gian tên Git"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Git Repository Layout"
 msgstr "Bố cục kho Git"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifying revisions and ranges for Git"
 msgstr "Chỉ định điểm xét duyệt và vùng cho Git"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "A tutorial introduction to Git: part two"
 msgstr "Hướng dẫn cách dùng Git: phần hai"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "A tutorial introduction to Git"
 msgstr "Hướng dẫn cách dùng Git"
 
-#: command-list.h:206
+#: command-list.h:207
 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."
 
@@ -16408,7 +18156,7 @@ msgstr ""
 "Để bãi bỏ và quay trở lại trạng thái trước \"git rebase\", chạy \"git rebase "
 "--abort\"."
 
-#: git-rebase.sh:173 git-rebase.sh:442
+#: git-rebase.sh:173 git-rebase.sh:454
 #, sh-format
 msgid "Could not move back to $head_name"
 msgstr "Không thể quay trở lại $head_name"
@@ -16422,30 +18170,30 @@ msgstr "Đã áp dụng autostash."
 msgid "Cannot store $stash_sha1"
 msgstr "Không thể lưu $stash_sha1"
 
-#: git-rebase.sh:229
+#: git-rebase.sh:236
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Móc (hook) pre-rebase từ chối rebase."
 
-#: git-rebase.sh:234
+#: git-rebase.sh:241
 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."
 
-#: git-rebase.sh:403
+#: git-rebase.sh:415
 msgid "No rebase in progress?"
 msgstr "Không có tiến trình rebase nào phải không?"
 
-#: git-rebase.sh:414
+#: git-rebase.sh:426
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Hành động “--edit-todo” chỉ có thể dùng trong quá trình “rebase” (sửa lịch "
 "sử) tương tác."
 
-#: git-rebase.sh:421
+#: git-rebase.sh:433
 msgid "Cannot read HEAD"
 msgstr "Không thể đọc HEAD"
 
-#: git-rebase.sh:424
+#: git-rebase.sh:436
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -16453,7 +18201,7 @@ msgstr ""
 "Bạn phải sửa tất cả các lần hòa trộn xung đột và sau\n"
 "đó đánh dấu chúng là cần xử lý sử dụng lệnh git add"
 
-#: git-rebase.sh:468
+#: git-rebase.sh:480
 #, sh-format
 msgid ""
 "It seems that there is already a $state_dir_base directory, and\n"
@@ -16474,78 +18222,90 @@ 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."
 
-#: git-rebase.sh:509
+#: git-rebase.sh:545
 msgid "error: cannot combine '--signoff' with '--preserve-merges'"
 msgstr "lỗi: không thể kết hợp “--signoff” với “--preserve-merges”"
 
-#: git-rebase.sh:537
+#: git-rebase.sh:556
+msgid "error: cannot combine '--preserve_merges' with '--rebase-merges'"
+msgstr "lỗi: không thể kết hợp “--preserve_merges” với “--rebase-merges”"
+
+#: git-rebase.sh:562
+msgid "error: cannot combine '--rebase_merges' with '--strategy-option'"
+msgstr "lỗi: không thể kết hợp “--rebase_merges” với “--strategy-option”"
+
+#: git-rebase.sh:564
+msgid "error: cannot combine '--rebase_merges' with '--strategy'"
+msgstr "lỗi: không thể kết hợp “--rebase_merges” với “--strategy”"
+
+#: git-rebase.sh:590
 #, sh-format
 msgid "invalid upstream '$upstream_name'"
 msgstr "thượng nguồn không hợp lệ “$upstream_name”"
 
-#: git-rebase.sh:561
+#: git-rebase.sh:614
 #, sh-format
 msgid "$onto_name: there are more than one merge bases"
 msgstr "$onto_name: ở đây có nhiều hơn một nền móng hòa trộn"
 
-#: git-rebase.sh:564 git-rebase.sh:568
+#: git-rebase.sh:617 git-rebase.sh:621
 #, sh-format
 msgid "$onto_name: there is no merge base"
 msgstr "$onto_name: ở đây không có nền móng hòa trộn nào"
 
-#: git-rebase.sh:573
+#: git-rebase.sh:626
 #, sh-format
 msgid "Does not point to a valid commit: $onto_name"
 msgstr "Không chỉ đến một lần chuyển giao không hợp lệ: $onto_name"
 
-#: git-rebase.sh:599
+#: git-rebase.sh:652
 #, sh-format
 msgid "fatal: no such branch/commit '$branch_name'"
 msgstr "nghiêm trọng: không có nhánh như thế: “$branch_name”"
 
-#: git-rebase.sh:632
+#: git-rebase.sh:685
 msgid "Cannot autostash"
 msgstr "Không thể autostash"
 
-#: git-rebase.sh:637
+#: git-rebase.sh:690
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
 msgstr "Đã tạo autostash: $stash_abbrev"
 
-#: git-rebase.sh:641
+#: git-rebase.sh:694
 msgid "Please commit or stash them."
 msgstr "Xin hãy chuyển giao hoặc tạm cất (stash) chúng."
 
-#: git-rebase.sh:664
+#: git-rebase.sh:717
 #, sh-format
 msgid "HEAD is up to date."
 msgstr "HEAD đã cập nhật."
 
-#: git-rebase.sh:666
+#: git-rebase.sh:719
 #, sh-format
 msgid "Current branch $branch_name is up to date."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi."
 
-#: git-rebase.sh:674
+#: git-rebase.sh:727
 #, sh-format
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
 
-#: git-rebase.sh:676
+#: git-rebase.sh:729
 #, sh-format
 msgid "Current branch $branch_name is up to date, rebase forced."
 msgstr "Nhánh hiện tại $branch_name đã được cập nhật rồi, lệnh rebase ép buộc."
 
-#: git-rebase.sh:688
+#: git-rebase.sh:741
 #, sh-format
 msgid "Changes from $mb to $onto:"
 msgstr "Thay đổi từ $mb thành $onto:"
 
-#: git-rebase.sh:697
+#: git-rebase.sh:750
 msgid "First, rewinding head to replay your work on top of it..."
 msgstr "Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó…"
 
-#: git-rebase.sh:707
+#: git-rebase.sh:760
 #, sh-format
 msgid "Fast-forwarded $branch_name to $onto_name."
 msgstr "Chuyển-tiếp-nhanh $branch_name thành $onto_name."
@@ -16786,29 +18546,19 @@ msgstr "Gặp lỗi khi thêm mô-đun-con “$sm_path”"
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký với hệ thống mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:354
-#, sh-format
-msgid "Entering '$displaypath'"
-msgstr "Đang vào “$displaypath”"
-
-#: git-submodule.sh:374
-#, sh-format
-msgid "Stopping at '$displaypath'; script returned non-zero status."
-msgstr "Dừng lại tại “$displaypath”; script trả về trạng thái khác không."
-
-#: git-submodule.sh:600
+#: git-submodule.sh:565
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Không tìm thấy điểm xét duyệt hiện hành trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:610
+#: git-submodule.sh:575
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:615
+#: git-submodule.sh:580
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -16817,12 +18567,12 @@ msgstr ""
 "Không thể tìm thấy điểm xét duyệt hiện hành ${remote_name}/${branch} trong "
 "đường dẫn mô-đun-con “$sm_path”"
 
-#: git-submodule.sh:633
+#: git-submodule.sh:603
 #, sh-format
 msgid "Unable to fetch in submodule path '$displaypath'"
 msgstr "Không thể lấy về trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:639
+#: git-submodule.sh:609
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -16831,74 +18581,74 @@ msgstr ""
 "Đã lấy về từ đường dẫn mô-đun con “$displaypath”, nhưng nó không chứa $sha1. "
 "Lấy về theo định hướng của lần chuyển giao đó gặp lỗi."
 
-#: git-submodule.sh:646
+#: git-submodule.sh:616
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể lấy ra “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:647
+#: git-submodule.sh:617
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: đã checkout “$sha1”"
 
-#: git-submodule.sh:651
+#: git-submodule.sh:621
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Không thể cải tổ “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:652
+#: git-submodule.sh:622
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được rebase vào trong “$sha1”"
 
-#: git-submodule.sh:657
+#: git-submodule.sh:627
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Không thể hòa trộn (merge) “$sha1” trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:658
+#: git-submodule.sh:628
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: được hòa trộn vào “$sha1”"
 
-#: git-submodule.sh:663
+#: git-submodule.sh:633
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Thực hiện không thành công lệnh “$command $sha1” trong đường dẫn mô-đun-con "
 "“$displaypath”"
 
-#: git-submodule.sh:664
+#: git-submodule.sh:634
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Đường dẫn mô-đun-con “$displaypath”: “$command $sha1”"
 
-#: git-submodule.sh:695
+#: git-submodule.sh:665
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con “$displaypath”"
 
-#: git-submodule.sh:791
+#: git-submodule.sh:761
 msgid "The --cached option cannot be used with the --files option"
 msgstr "Tùy chọn --cached không thể dùng cùng với tùy chọn --files"
 
-#: git-submodule.sh:843
+#: git-submodule.sh:813
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "chế độ không như mong chờ $mod_dst"
 
-#: git-submodule.sh:863
+#: git-submodule.sh:833
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_src"
 
-#: git-submodule.sh:866
+#: git-submodule.sh:836
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $display_name không chứa lần chuyển giao $sha1_dst"
 
-#: git-submodule.sh:869
+#: git-submodule.sh:839
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -16910,12 +18660,7 @@ msgstr ""
 msgid "See git-${cmd}(1) for details."
 msgstr "Xem git-${cmd}(1) để biết thêm chi tiết."
 
-#: git-rebase--interactive.sh:142
-#, sh-format
-msgid "Rebasing ($new_count/$total)"
-msgstr "Đang rebase ($new_count/$total)"
-
-#: git-rebase--interactive.sh:158
+#: git-rebase--interactive.sh:43
 msgid ""
 "\n"
 "Commands:\n"
@@ -16958,7 +18703,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--interactive.sh:179
+#: git-rebase--interactive.sh:64 git-rebase--preserve-merges.sh:173
 msgid ""
 "\n"
 "Do not remove any line. Use 'drop' explicitly to remove a commit.\n"
@@ -16967,7 +18712,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"
 
-#: git-rebase--interactive.sh:183
+#: git-rebase--interactive.sh:68 git-rebase--preserve-merges.sh:177
 msgid ""
 "\n"
 "If you remove a line here THAT COMMIT WILL BE LOST.\n"
@@ -16975,7 +18720,122 @@ msgstr ""
 "\n"
 "Nếu bạn xóa bỏ một dòng ở đây thì LẦN CHUYỂN GIAO ĐÓ SẼ MẤT.\n"
 
-#: git-rebase--interactive.sh:221
+#: git-rebase--interactive.sh:108 git-rebase--preserve-merges.sh:724
+msgid "could not detach HEAD"
+msgstr "không thể tách rời HEAD"
+
+#: git-rebase--interactive.sh:147 git-rebase--preserve-merges.sh:816
+msgid ""
+"\n"
+"You are editing the todo file of an ongoing interactive rebase.\n"
+"To continue rebase after editing, run:\n"
+"    git rebase --continue\n"
+"\n"
+msgstr ""
+"\n"
+"Bạn đang sửa tập tin todo của một lần cải tổ tương tác đang thực hiện.\n"
+"Để tiếp tục cải tổ sau khi sửa, chạy:\n"
+"    git rebase --continue\n"
+"\n"
+
+#: git-rebase--interactive.sh:155 git-rebase--interactive.sh:241
+#: git-rebase--preserve-merges.sh:824 git-rebase--preserve-merges.sh:910
+msgid "Could not execute editor"
+msgstr "Không thể thực thi trình biên soạn"
+
+#: git-rebase--interactive.sh:176 git-rebase--preserve-merges.sh:845
+#, sh-format
+msgid "Could not checkout $switch_to"
+msgstr "Không thể checkout $switch_to"
+
+#: git-rebase--interactive.sh:183 git-rebase--preserve-merges.sh:852
+msgid "No HEAD?"
+msgstr "Không HEAD?"
+
+#: git-rebase--interactive.sh:184 git-rebase--preserve-merges.sh:853
+#, sh-format
+msgid "Could not create temporary $state_dir"
+msgstr "Không thể tạo thư mục tạm thời $state_dir"
+
+#: git-rebase--interactive.sh:187 git-rebase--preserve-merges.sh:856
+msgid "Could not mark as interactive"
+msgstr "Không thể đánh dấu là tương tác"
+
+#: git-rebase--interactive.sh:219 git-rebase--preserve-merges.sh:888
+#, sh-format
+msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
+msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
+msgstr[0] "Cải tổ $shortrevisions vào $shortonto (các lệnh $todocount)"
+
+#: git-rebase--interactive.sh:224
+msgid ""
+"\n"
+"\tHowever, if you remove everything, the rebase will be aborted.\n"
+"\n"
+"\t"
+msgstr ""
+"\n"
+"\tTuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
+"\n"
+"\t"
+
+#: git-rebase--interactive.sh:231 git-rebase--preserve-merges.sh:900
+msgid "Note that empty commits are commented out"
+msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
+
+#: git-rebase--interactive.sh:280
+msgid "Could not generate todo list"
+msgstr "Không thể tạo danh sách cần làm"
+
+#: git-rebase--preserve-merges.sh:136
+#, sh-format
+msgid "Rebasing ($new_count/$total)"
+msgstr "Đang rebase ($new_count/$total)"
+
+#: git-rebase--preserve-merges.sh:152
+msgid ""
+"\n"
+"Commands:\n"
+"p, pick <commit> = use commit\n"
+"r, reword <commit> = use commit, but edit the commit message\n"
+"e, edit <commit> = use commit, but stop for amending\n"
+"s, squash <commit> = use commit, but meld into previous commit\n"
+"f, fixup <commit> = like \"squash\", but discard this commit's log message\n"
+"x, exec <commit> = run command (the rest of the line) using shell\n"
+"d, drop <commit> = remove commit\n"
+"l, label <label> = label current HEAD with a name\n"
+"t, reset <label> = reset HEAD to a label\n"
+"m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n"
+".       create a merge commit using the original merge commit's\n"
+".       message (or the oneline, if no original merge commit was\n"
+".       specified). Use -c <commit> to reword the commit message.\n"
+"\n"
+"These lines can be re-ordered; they are executed from top to bottom.\n"
+msgstr ""
+"\n"
+"Các lệnh:\n"
+"p, pick <commit> = dùng lần chuyển giao\n"
+"r, reword <commit> = dùng lần chuyển giao, nhưng sửa lại phần chú thích\n"
+"e, edit <commit> = dùng lần chuyển giao, nhưng dừng lại để tu bổ (amend)\n"
+"s, squash <commit> = dùng lần chuyển giao, nhưng meld vào lần chuyển giao kế "
+"trước\n"
+"f, fixup <commit> = giống như \"squash\", nhưng loại bỏ chú thích của lần "
+"chuyển giao này\n"
+"x, exec <commit> = chạy lệnh (phần còn lại của dòng) dùng hệ vỏ\n"
+"d, drop <commit> = xóa lần chuyển giao\n"
+"l, label <label> = đánh nhãn HEAD hiện tại bằng một tên\n"
+"t, reset <label> = đặt lại HEAD thành một nhãn\n"
+"m, merge [-C <commit> | -c <commit>] <nhãn> [# <một_dòng>]\n"
+".       tạo một lần chuyển giao hòa trộn sử dụng chú thích của lần chuyển\n"
+".       giao hòa trộn gốc (hoặc một_dòng, nếu không chỉ định lần chuyển giao "
+"hòa\n"
+".       trộn gốc). Dùng -c <commit> để reword chú thích của lần chuyển "
+"giao.\n"
+"\n"
+"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
 #, sh-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -16994,82 +18854,82 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:246
+#: git-rebase--preserve-merges.sh:240
 #, 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--interactive.sh:285
+#: git-rebase--preserve-merges.sh:279
 #, sh-format
 msgid "Invalid commit name: $sha1"
 msgstr "Tên lần chuyển giao không hợp lệ: $sha1"
 
-#: git-rebase--interactive.sh:325
+#: git-rebase--preserve-merges.sh:309
 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--interactive.sh:376
+#: git-rebase--preserve-merges.sh:360
 #, sh-format
 msgid "Fast-forward to $sha1"
 msgstr "Chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--interactive.sh:378
+#: git-rebase--preserve-merges.sh:362
 #, sh-format
 msgid "Cannot fast-forward to $sha1"
 msgstr "Không thể chuyển-tiếp-nhanh đến $sha1"
 
-#: git-rebase--interactive.sh:387
+#: git-rebase--preserve-merges.sh:371
 #, sh-format
 msgid "Cannot move HEAD to $first_parent"
 msgstr "Không thể di chuyển HEAD đến $first_parent"
 
-#: git-rebase--interactive.sh:392
+#: git-rebase--preserve-merges.sh:376
 #, sh-format
 msgid "Refusing to squash a merge: $sha1"
 msgstr "Từ chối squash lần hòa trộn: $sha1"
 
-#: git-rebase--interactive.sh:410
+#: git-rebase--preserve-merges.sh:394
 #, 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--interactive.sh:419
+#: git-rebase--preserve-merges.sh:403
 #, sh-format
 msgid "Could not pick $sha1"
 msgstr "Không thể lấy ra $sha1"
 
-#: git-rebase--interactive.sh:428
+#: git-rebase--preserve-merges.sh:412
 #, 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--interactive.sh:433
+#: git-rebase--preserve-merges.sh:417
 #, 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--interactive.sh:444
+#: git-rebase--preserve-merges.sh:428
 #, 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--interactive.sh:453
+#: git-rebase--preserve-merges.sh:437
 #, sh-format
 msgid "Cannot write $fixup_msg"
 msgstr "Không thể $fixup_msg"
 
-#: git-rebase--interactive.sh:456
+#: git-rebase--preserve-merges.sh:440
 msgid "This is a combination of 2 commits."
 msgstr "Đây là tổ hợp của 2 lần chuyển giao."
 
-#: git-rebase--interactive.sh:497 git-rebase--interactive.sh:540
-#: git-rebase--interactive.sh:543
+#: git-rebase--preserve-merges.sh:481 git-rebase--preserve-merges.sh:524
+#: git-rebase--preserve-merges.sh:527
 #, sh-format
 msgid "Could not apply $sha1... $rest"
 msgstr "Không thể áp dụng $sha1… $rest"
 
-#: git-rebase--interactive.sh:572
+#: git-rebase--preserve-merges.sh:556
 #, sh-format
 msgid ""
 "Could not amend commit after successfully picking $sha1... $rest\n"
@@ -17085,31 +18945,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--interactive.sh:587
+#: git-rebase--preserve-merges.sh:571
 #, sh-format
 msgid "Stopped at $sha1_abbrev... $rest"
 msgstr "Bị dừng tại $sha1_abbrev… $rest"
 
-#: git-rebase--interactive.sh:602
+#: git-rebase--preserve-merges.sh:586
 #, 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--interactive.sh:644
+#: git-rebase--preserve-merges.sh:628
 #, sh-format
 msgid "Executing: $rest"
 msgstr "Thực thi: $rest"
 
-#: git-rebase--interactive.sh:652
+#: git-rebase--preserve-merges.sh:636
 #, sh-format
 msgid "Execution failed: $rest"
 msgstr "Thực thi gặp lỗi: $rest"
 
-#: git-rebase--interactive.sh:654
+#: git-rebase--preserve-merges.sh:638
 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--interactive.sh:656
+#: git-rebase--preserve-merges.sh:640
 msgid ""
 "You can fix the problem, and then run\n"
 "\n"
@@ -17120,7 +18980,7 @@ msgstr ""
 "\tgit rebase --continue"
 
 #. TRANSLATORS: after these lines is a command to be issued by the user
-#: git-rebase--interactive.sh:669
+#: git-rebase--preserve-merges.sh:653
 #, sh-format
 msgid ""
 "Execution succeeded: $rest\n"
@@ -17135,29 +18995,25 @@ msgstr ""
 "\n"
 "\tgit rebase --continue"
 
-#: git-rebase--interactive.sh:680
+#: git-rebase--preserve-merges.sh:664
 #, sh-format
 msgid "Unknown command: $command $sha1 $rest"
 msgstr "Lệnh chưa biết: $command $sha1 $rest"
 
-#: git-rebase--interactive.sh:681
+#: git-rebase--preserve-merges.sh:665
 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--interactive.sh:716
+#: git-rebase--preserve-merges.sh:700
 #, 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--interactive.sh:740
-msgid "could not detach HEAD"
-msgstr "không thể tách rời HEAD"
-
-#: git-rebase--interactive.sh:778
+#: git-rebase--preserve-merges.sh:757
 msgid "Could not remove CHERRY_PICK_HEAD"
 msgstr "Không thể xóa bỏ CHERRY_PICK_HEAD"
 
-#: git-rebase--interactive.sh:783
+#: git-rebase--preserve-merges.sh:762
 #, sh-format
 msgid ""
 "You have staged changes in your working tree.\n"
@@ -17188,11 +19044,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: git-rebase--interactive.sh:800
+#: git-rebase--preserve-merges.sh:779
 msgid "Error trying to find the author identity to amend commit"
 msgstr "Lỗi khi cố tìm định danh của tác giả để tu bổ lần chuyển giao"
 
-#: git-rebase--interactive.sh:805
+#: git-rebase--preserve-merges.sh:784
 msgid ""
 "You have uncommitted changes in your working tree. Please commit them\n"
 "first and then run 'git rebase --continue' again."
@@ -17201,73 +19057,21 @@ msgstr ""
 "Vui lòng chuyển giao chúng và sau đó chạy lệnh “git rebase --continue” lần "
 "nữa."
 
-#: git-rebase--interactive.sh:810 git-rebase--interactive.sh:814
+#: git-rebase--preserve-merges.sh:789 git-rebase--preserve-merges.sh:793
 msgid "Could not commit staged changes."
 msgstr "Không thể chuyển giao các thay đổi đã đưa lên bệ phóng."
 
-#: git-rebase--interactive.sh:843
-msgid ""
-"\n"
-"You are editing the todo file of an ongoing interactive rebase.\n"
-"To continue rebase after editing, run:\n"
-"    git rebase --continue\n"
-"\n"
-msgstr ""
-"\n"
-"Bạn đang sửa tập tin todo của một lần cải tổ tương tác đang thực hiện.\n"
-"Để tiếp tục cải tổ sau khi sửa, chạy:\n"
-"    git rebase --continue\n"
-"\n"
-
-#: git-rebase--interactive.sh:851 git-rebase--interactive.sh:937
-msgid "Could not execute editor"
-msgstr "Không thể thực thi trình biên soạn"
-
-#: git-rebase--interactive.sh:872
-#, sh-format
-msgid "Could not checkout $switch_to"
-msgstr "Không thể checkout $switch_to"
-
-#: git-rebase--interactive.sh:879
-msgid "No HEAD?"
-msgstr "Không HEAD?"
-
-#: git-rebase--interactive.sh:880
-#, sh-format
-msgid "Could not create temporary $state_dir"
-msgstr "Không thể tạo thư mục tạm thời $state_dir"
-
-#: git-rebase--interactive.sh:883
-msgid "Could not mark as interactive"
-msgstr "Không thể đánh dấu là tương tác"
-
-#: git-rebase--interactive.sh:915
-#, sh-format
-msgid "Rebase $shortrevisions onto $shortonto ($todocount command)"
-msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
-msgstr[0] "Cải tổ $shortrevisions vào $shortonto (các lệnh $todocount)"
-
-#: git-rebase--interactive.sh:920
+#: git-rebase--preserve-merges.sh:893
 msgid ""
 "\n"
-"\tHowever, if you remove everything, the rebase will be aborted.\n"
+"However, if you remove everything, the rebase will be aborted.\n"
 "\n"
-"\t"
 msgstr ""
 "\n"
-"\tTuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
+"Tuy nhiên, nếu bạn xóa bỏ mọi thứ, việc cải tổ sẽ bị bãi bỏ.\n"
 "\n"
-"\t"
 
-#: git-rebase--interactive.sh:927
-msgid "Note that empty commits are commented out"
-msgstr "Chú ý rằng lần chuyển giao trống rỗng là ghi chú"
-
-#: git-rebase--interactive.sh:980
-msgid "Could not generate todo list"
-msgstr "Không thể tạo danh sách cần làm"
-
-#: git-rebase--interactive.sh:1001 git-rebase--interactive.sh:1006
+#: git-rebase--preserve-merges.sh:942 git-rebase--preserve-merges.sh:947
 msgid "Could not init rewritten commits"
 msgstr "Không thể khởi tạo các lần chuyển giao ghi lại"
 
@@ -18116,112 +19920,136 @@ msgstr "Máy chủ không hỗ trợ STARTTLS! %s"
 msgid "STARTTLS failed! %s"
 msgstr "STARTTLS gặp lỗi! %s"
 
-#: git-send-email.perl:1512
+#: git-send-email.perl:1511
 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:1530
+#: git-send-email.perl:1529
 #, perl-format
 msgid "Failed to send %s\n"
 msgstr "Gặp lỗi khi gửi %s\n"
 
-#: git-send-email.perl:1533
+#: git-send-email.perl:1532
 #, perl-format
 msgid "Dry-Sent %s\n"
 msgstr "Thử gửi %s\n"
 
-#: git-send-email.perl:1533
+#: git-send-email.perl:1532
 #, perl-format
 msgid "Sent %s\n"
 msgstr "Gửi %s\n"
 
-#: git-send-email.perl:1535
+#: git-send-email.perl:1534
 msgid "Dry-OK. Log says:\n"
 msgstr "Dry-OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1535
+#: git-send-email.perl:1534
 msgid "OK. Log says:\n"
 msgstr "OK. Nhật ký nói rằng:\n"
 
-#: git-send-email.perl:1547
+#: git-send-email.perl:1546
 msgid "Result: "
 msgstr "Kết quả: "
 
-#: git-send-email.perl:1550
+#: git-send-email.perl:1549
 msgid "Result: OK\n"
 msgstr "Kết quả: Tốt\n"
 
-#: git-send-email.perl:1568
+#: git-send-email.perl:1567
 #, perl-format
 msgid "can't open file %s"
 msgstr "không thể mở tập tin “%s”"
 
-#: git-send-email.perl:1615 git-send-email.perl:1635
+#: git-send-email.perl:1614 git-send-email.perl:1634
 #, 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:1621
+#: git-send-email.perl:1620
 #, 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:1674
+#: git-send-email.perl:1673
 #, 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:1699
+#: git-send-email.perl:1698
 #, 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:1817
+#: git-send-email.perl:1809
 #, perl-format
 msgid "(%s) Could not execute '%s'"
 msgstr "(%s) Không thể thực thi “%s”"
 
-#: git-send-email.perl:1824
+#: git-send-email.perl:1816
 #, perl-format
 msgid "(%s) Adding %s: %s from: '%s'\n"
 msgstr "(%s) Đang thêm %s: %s từ: “%s”\n"
 
-#: git-send-email.perl:1828
+#: git-send-email.perl:1820
 #, 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:1855
+#: git-send-email.perl:1850
 msgid "cannot send message as 7bit"
 msgstr "không thể lấy gửi thư dạng 7 bít"
 
-#: git-send-email.perl:1863
+#: git-send-email.perl:1858
 msgid "invalid transfer encoding"
 msgstr "bảng mã truyền không hợp lệ"
 
-#: git-send-email.perl:1901 git-send-email.perl:1952 git-send-email.perl:1962
+#: git-send-email.perl:1899 git-send-email.perl:1951 git-send-email.perl:1961
 #, perl-format
 msgid "unable to open %s: %s\n"
 msgstr "không thể mở %s: %s\n"
 
-#: git-send-email.perl:1904
+#: git-send-email.perl:1902
 #, 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:1920
+#: git-send-email.perl:1919
 #, 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:1924
+#: git-send-email.perl:1923
 #, 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 "could not parse '%s' (looking for '%s'"
+#~ msgstr "không thể phân tích “%s” (tìm kiếm cho “%s”"
+
+#~ msgid "push|fetch"
+#~ msgstr "push|fetch"
+
+#~ msgid "Dirty index: cannot merge (dirty: %s)"
+#~ msgstr "Bảng mục lục bẩn: không thể hòa trộn (bẩn: %s)"
+
+#~ msgid "(+/-)x"
+#~ msgstr "(+/-)x"
+
+#~ msgid "<command>"
+#~ msgstr "<lệnh>"
+
+#~ msgid "w[,i1[,i2]]"
+#~ msgstr "w[,i1[,i2]]"
+
+#~ msgid "Entering '$displaypath'"
+#~ msgstr "Đang vào “$displaypath”"
+
+#~ msgid "Stopping at '$displaypath'; script returned non-zero status."
+#~ msgstr "Dừng lại tại “$displaypath”; script trả về trạng thái khác không."
+
 #~ msgid "Everyday Git With 20 Commands Or So"
 #~ msgstr "Mỗi ngày học 20 lệnh Git hay hơn"
 
@@ -18278,9 +20106,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ "chuỗi rỗng làm đặc tả đường dẫn không hợp lệ ở lần phát hành kế tiếp. Vui "
 #~ "lòng dùng . để thay thế nếu ý bạn là khớp mọi đường dẫn"
 
-#~ msgid "unable to open '%s' for writing"
-#~ msgstr "không thể mở “%s” để ghi"
-
 #~ msgid "could not truncate '%s'"
 #~ msgstr "không thể cắt cụt “%s”"
 
@@ -18305,9 +20130,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "show ignored files"
 #~ msgstr "hiển thị các tập tin ẩn"
 
-#~ msgid "%s is not a valid '%s' object"
-#~ msgstr "%s không phải là một đối tượng “%s” hợp lệ"
-
 #~ msgid "Don't know how to fetch from %s"
 #~ msgstr "Không biết làm cách nào để lấy về từ %s"
 
@@ -18434,9 +20256,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "tag: tagging "
 #~ msgstr "thẻ: đang đánh thẻ"
 
-#~ msgid "object of unknown type"
-#~ msgstr "đối tượng của kiểu chưa biết"
-
 #~ msgid "commit object"
 #~ msgstr "đối tượng lần chuyển giao"
 
@@ -18489,12 +20308,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "git merge [<options>] <msg> HEAD <commit>"
 #~ msgstr "git merge [<các-tùy-chọn>] <tin-nhắn> HEAD <commit>"
 
-#~ msgid "cannot open file '%s'"
-#~ msgstr "không thể mở tập tin “%s”"
-
-#~ msgid "could not close file %s"
-#~ msgstr "không thể đóng tập tin %s"
-
 #~ msgid "tag name too long: %.*s..."
 #~ msgstr "tên thẻ quá dài: %.*s…"
 
@@ -18553,9 +20366,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "Could not open %s"
 #~ msgstr "Không thể mở %s"
 
-#~ msgid "Could not read %s."
-#~ msgstr "Không thể đọc %s."
-
 #~ msgid "Could not format %s."
 #~ msgstr "Không thể định dạng “%s”."
 
@@ -18754,9 +20564,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "removing '%s' failed"
 #~ msgstr "gặp lỗi khi xóa bỏ “%s”"
 
-#~ msgid "program error"
-#~ msgstr "lỗi chương trình"
-
 #~ msgid "Please call 'bisect_state' with at least one argument."
 #~ msgstr "Hãy gọi lệnhl “bisect_state” với ít nhất một đối số."
 
@@ -18829,9 +20636,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "improper format entered align:%s"
 #~ msgstr "định dạng không đúng chỗ căn chỉnh:%s"
 
-#~ msgid "Could not set core.worktree in %s"
-#~ msgstr "Không thể đặt “core.worktree” trong “%s”."
-
 #~ msgid ""
 #~ "push.default is unset; its implicit value has changed in\n"
 #~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
@@ -18896,12 +20700,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "branch '%s' does not point at a commit"
 #~ msgstr "nhánh “%s” không chỉ đến một lần chuyển giao nào cả"
 
-#~ msgid "object '%s' does not point to a commit"
-#~ msgstr "đối tượng “%s” không chỉ đến một lần chuyển giao nào cả"
-
-#~ msgid "some refs could not be read"
-#~ msgstr "một số tham chiếu đã không thể đọc được"
-
 #~ msgid "print only merged branches"
 #~ msgstr "chỉ hiển thị các nhánh đã hòa trộn"
 
@@ -18920,9 +20718,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "insanely long template path %s"
 #~ msgstr "đường dẫn mẫu “%s” dài một cách điên rồ"
 
-#~ msgid "insane git directory %s"
-#~ msgstr "thư mục git điên rồ %s"
-
 #~ msgid "unsupported sort specification '%s'"
 #~ msgstr "không hỗ trợ đặc tả sắp xếp “%s”"
 
@@ -18932,9 +20727,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "switch 'points-at' requires an object"
 #~ msgstr "chuyển đến “points-at” yêu cần một đối tượng"
 
-#~ msgid "sort tags"
-#~ msgstr "sắp xếp các thẻ"
-
 #~ msgid "--sort and -n are incompatible"
 #~ msgstr "--sort và -n xung khắc nhau"
 
@@ -19242,25 +21034,12 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>... ]"
 #~ msgstr "git shortlog [-n] [-s] [-e] [-w] [rev-opts] [--] [<commit-id>… ]"
 
-#~ msgid "See 'git help <command>' for more information on a specific command."
-#~ msgstr ""
-#~ "Chạy lệnh “git help <tên-lệnh>” để có thêm thông tin về lệnh được chỉ ra."
-
 #~ msgid "use any ref in .git/refs"
 #~ msgstr "sử dụng bất kỳ ref nào trong .git/refs"
 
 #~ msgid "use any tag in .git/refs/tags"
 #~ msgstr "sử dụng bất kỳ thẻ nào trong .git/refs/tags"
 
-#~ msgid "bad object %s"
-#~ msgstr "đối tượng sai %s"
-
-#~ msgid "bogus committer info %s"
-#~ msgstr "thông tin người chuyển giao không có thực %s"
-
-#~ msgid "can't fdopen 'show' output fd"
-#~ msgstr "không thể fdopen “show” (lệnh hiển thị) mô tả tập tin (fd) kết xuất"
-
 #~ msgid "failed to close pipe to 'show' for object '%s'"
 #~ msgstr "gặp lỗi khi đóng đường ống cho lệnh “show” cho đối tượng “%s”"
 
@@ -19321,9 +21100,6 @@ msgstr "Bạn có thực sự muốn gửi %s? [y|N](có/KHÔNG): "
 #~ msgid "diff_setup_done failed"
 #~ msgstr "diff_setup_done gặp lỗi"
 
-#~ msgid "-d option is no longer supported.  Do not use."
-#~ msgstr "Tùy chọn -d không còn được hỗ trợ nữa. Xin đừng sử dụng."
-
 #~ msgid "%s: has been deleted/renamed"
 #~ msgstr "%s: đã được xóa/thay-tên"